even more spring cleaning

This commit is contained in:
Boblet 2024-04-22 16:15:49 +02:00
parent 0edf9a42fa
commit 3ab501682d
124 changed files with 326 additions and 31716 deletions

View File

@ -1,19 +1,22 @@
## Added
* Bismuth bronze and arsenic bronze
* Kind of self-explanatory
* Can be made into anvils, allows for an alternative that doesn't involve 10 entire ingots of bismuth for a single anvil
* New meteorite ores
* All previous meteorite ores have been removed (each took up an entire block ID...) which have been replaced with a single block that uses metadata
* There's now only five variants with the contents chosen to be especially useful in earlygame: iron, copper, aluminium, rare earth and cobalt
* Each ore smelts into 16 items, except for cobalt which yields only 4 ingots
* All meteorite ores are now equally likely to spawn
* The new ores can only be smelted, shredding or other processing is not possible
## Changed
* Arsenic is now made from only 16 oils scrap (instead of 256) in an ore acidizer using high-performance solvent (instead of chemical plant using sulfuric acid)
* Meteorite and starmetal anvils have been replaced with desh and saturnite ones
* Increased the nuke flash' intensity, having 100% occupancy at the peak instead of 80%
* NTM now has integration for GTNH's fork of NEI, listing all valid crafting machines on the side of the recipe page
* The Souyz' recipe is now available in the standard template folder
* Removed some unused crap
* UV lamps (2 IDs)
* AMS (9 IDs)
* Rotary engine (1 ID)
* FWatz (8 IDs)
* Meteorite ores (10 IDs)
* The loot pool for meteorite treasure blocks has been updated
* Treasures are no longer senselessly progression breaking, radioactive or plain stupid (whole-ass machines inside meteorites)
* The treasure now consists of mainly some rarer earlygame ingots, circuits, some gear, a small selection of armor mods and alexandrite (rare)
## Fixed
* Limited assembler input to up to 10 attempts per ingredient, fixing a rare issue where the assembler freezes the server when pulling items
* Fixed fallout effects not loading chunks
* Fixed RBMK steam channel recycling recipe
* Rewrote the transfer part of the power system *again*
* The current system is a hybrid of the previous transfer code and the old system
* While a little bit slower than the previous transfer code, it is still much faster than the old system
* This should fix issues caused by order (as order is now entirely irrelevant, just like with the old system) as well as issues caused by buffers wasting transfer capacity doing nothing
* Fixed DFC receivers not outputting power

View File

@ -11,6 +11,14 @@ public class BlockEnums {
BAUXITE
}
public static enum EnumMeteorType {
IRON,
COPPER,
ALUMINIUM,
RAREEARTH,
COBALT
}
public static enum EnumBiomeType {
DESERT,
WOODLAND

View File

@ -87,16 +87,7 @@ public class ModBlocks {
public static Block ore_nether_cobalt;
public static Block ore_nether_schrabidium;
public static Block ore_meteor_uranium;
public static Block ore_meteor_thorium;
public static Block ore_meteor_titanium;
public static Block ore_meteor_sulfur;
public static Block ore_meteor_copper;
public static Block ore_meteor_tungsten;
public static Block ore_meteor_aluminium;
public static Block ore_meteor_lead;
public static Block ore_meteor_lithium;
public static Block ore_meteor_starmetal;
public static Block ore_meteor;
public static Block stone_gneiss;
public static Block ore_gneiss_iron;
@ -309,8 +300,6 @@ public class ModBlocks {
public static Block lamp_tritium_blue_off;
public static Block lamp_tritium_blue_on;
public static Block lamp_uv_off;
public static Block lamp_uv_on;
public static Block lamp_demon;
public static Block lantern;
@ -527,9 +516,6 @@ public class ModBlocks {
public static Block geysir_vapor;
public static Block geysir_nether;
public static Block observer_off;
public static Block observer_on;
public static Block flame_war;
public static Block float_bomb;
public static Block therm_endo;
@ -907,6 +893,8 @@ public class ModBlocks {
public static Block iter;
public static Block plasma_heater;
public static Block icf;
public static Block watz;
public static Block watz_pump;
@ -915,23 +903,10 @@ public class ModBlocks {
public static Block watz_cooler;
public static Block watz_end;
public static Block watz_conductor;
public static Block fwatz_conductor;
public static Block fwatz_cooler;
public static Block fwatz_tank;
public static Block fwatz_scaffold;
public static Block fwatz_hatch;
public static Block fwatz_computer;
public static Block fwatz_core;
public static Block fwatz_plasma;
public static Block balefire;
public static Block fire_digamma;
public static Block digamma_matter;
public static Block ams_base;
public static Block ams_emitter;
public static Block ams_limiter;
public static Block dfc_emitter;
public static Block dfc_injector;
@ -1040,8 +1015,6 @@ public class ModBlocks {
public static Block machine_turbofan;
public static Block machine_turbinegas;
public static Block machine_selenium;
public static Block press_preheater;
public static Block machine_press;
public static Block machine_epress;
@ -1098,7 +1071,6 @@ public class ModBlocks {
public static Block turret_howard_damaged;
public static Block turret_maxwell;
public static Block turret_fritz;
//public static Block turret_brandon;
public static Block turret_arty;
public static Block turret_himars;
public static Block turret_sentry;
@ -1212,7 +1184,7 @@ public class ModBlocks {
}
@Override
public Material setImmovableMobility() {
public Material setImmovableMobility() { //override access modifier
return super.setImmovableMobility();
}
@ -1231,12 +1203,6 @@ public class ModBlocks {
public static Block volcano_core;
public static Block volcano_rad_core;
public static Block dummy_block_ams_limiter;
public static Block dummy_port_ams_limiter;
public static Block dummy_block_ams_emitter;
public static Block dummy_port_ams_emitter;
public static Block dummy_block_ams_base;
public static Block dummy_port_ams_base;
public static Block dummy_block_vault;
public static Block dummy_block_blast;
public static Block dummy_block_uf6;
@ -1300,16 +1266,7 @@ public class ModBlocks {
ore_nether_cobalt = new BlockOre(Material.rock).setBlockName("ore_nether_cobalt").setCreativeTab(MainRegistry.blockTab).setHardness(0.4F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_nether_cobalt");
ore_nether_schrabidium = new BlockGeneric(Material.rock).setBlockName("ore_nether_schrabidium").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":ore_nether_schrabidium");
ore_meteor_uranium = new BlockOre(Material.rock).setBlockName("ore_meteor_uranium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_meteor_uranium");
ore_meteor_thorium = new BlockOre(Material.rock).setBlockName("ore_meteor_thorium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_meteor_thorium");
ore_meteor_titanium = new BlockOre(Material.rock).setBlockName("ore_meteor_titanium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_meteor_titanium");
ore_meteor_sulfur = new BlockOre(Material.rock).setBlockName("ore_meteor_sulfur").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_meteor_sulfur");
ore_meteor_copper = new BlockOre(Material.rock).setBlockName("ore_meteor_copper").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_meteor_copper");
ore_meteor_tungsten = new BlockOre(Material.rock).setBlockName("ore_meteor_tungsten").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_meteor_tungsten");
ore_meteor_aluminium = new BlockOre(Material.rock).setBlockName("ore_meteor_aluminium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_meteor_aluminium");
ore_meteor_lead = new BlockOre(Material.rock).setBlockName("ore_meteor_lead").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_meteor_lead");
ore_meteor_lithium = new BlockOre(Material.rock).setBlockName("ore_meteor_lithium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_meteor_lithium");
ore_meteor_starmetal = new BlockOre(Material.rock).setBlockName("ore_meteor_starmetal").setCreativeTab(MainRegistry.blockTab).setHardness(10.0F).setResistance(100.0F).setBlockTextureName(RefStrings.MODID + ":ore_meteor_starmetal");
ore_meteor = new BlockMeteorOre().setBlockName("ore_meteor").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F);
stone_gneiss = new BlockGeneric(Material.rock).setBlockName("stone_gneiss").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":stone_gneiss_var");
ore_gneiss_iron = new BlockOre(Material.rock).setBlockName("ore_gneiss_iron").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_iron");
@ -1527,8 +1484,6 @@ public class ModBlocks {
lamp_tritium_blue_off = new TritiumLamp(Material.redstoneLight, false).setBlockName("lamp_tritium_blue_off").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.blockTab).setHardness(3.0F).setBlockTextureName(RefStrings.MODID + ":lamp_tritium_blue_off");
lamp_tritium_blue_on = new TritiumLamp(Material.redstoneLight, true).setBlockName("lamp_tritium_blue_on").setStepSound(Block.soundTypeGlass).setHardness(3.0F).setBlockTextureName(RefStrings.MODID + ":lamp_tritium_blue_on");
lamp_uv_off = new UVLamp(false).setBlockName("lamp_uv_off").setCreativeTab(MainRegistry.blockTab);
lamp_uv_on = new UVLamp(true).setBlockName("lamp_uv_on").setCreativeTab(null);
lamp_demon = new DemonLamp().setBlockName("lamp_demon").setStepSound(Block.soundTypeMetal).setCreativeTab(MainRegistry.blockTab).setLightLevel(1F).setHardness(3.0F).setBlockTextureName(RefStrings.MODID + ":lamp_demon");
lantern = new BlockLantern().setBlockName("lantern").setStepSound(Block.soundTypeMetal).setCreativeTab(MainRegistry.blockTab).setLightLevel(1F).setHardness(3.0F).setBlockTextureName(RefStrings.MODID + ":block_steel");
lantern_behemoth = new BlockLanternBehemoth().setBlockName("lantern_behemoth").setStepSound(Block.soundTypeMetal).setCreativeTab(null).setHardness(3.0F).setBlockTextureName(RefStrings.MODID + ":block_rust");
@ -1603,7 +1558,7 @@ public class ModBlocks {
block_meteor_cobble = new BlockOre(Material.rock).noFortune().setBlockName("block_meteor_cobble").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(360.0F).setBlockTextureName(RefStrings.MODID + ":meteor_cobble");
block_meteor_broken = new BlockOre(Material.rock).noFortune().setBlockName("block_meteor_broken").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(360.0F).setBlockTextureName(RefStrings.MODID + ":meteor_crushed");
block_meteor_molten = new BlockOre(Material.rock, true).noFortune().setBlockName("block_meteor_molten").setLightLevel(0.75F).setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(360.0F).setBlockTextureName(RefStrings.MODID + ":meteor_cobble_molten");
block_meteor_treasure = new BlockOre(Material.rock).noFortune().setBlockName("block_meteor_treasure").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(360.0F).setBlockTextureName(RefStrings.MODID + ":meteor_treasure");
block_meteor_treasure = new BlockMeteoriteTreasure(Material.rock).setBlockName("block_meteor_treasure").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(360.0F).setBlockTextureName(RefStrings.MODID + ":meteor_treasure");
meteor_polished = new BlockGeneric(Material.rock).setBlockName("meteor_polished").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(360.0F).setBlockTextureName(RefStrings.MODID + ":meteor_polished");
meteor_brick = new BlockGeneric(Material.rock).setBlockName("meteor_brick").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(360.0F).setBlockTextureName(RefStrings.MODID + ":meteor_brick");
meteor_brick_mossy = new BlockGeneric(Material.rock).setBlockName("meteor_brick_mossy").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(360.0F).setBlockTextureName(RefStrings.MODID + ":meteor_brick_mossy");
@ -1742,9 +1697,6 @@ public class ModBlocks {
geysir_vapor = new BlockGeysir(Material.rock).setBlockName("geysir_vapor").setStepSound(Block.soundTypeStone).setHardness(5.0F);
geysir_nether = new BlockGeysir(Material.rock).setBlockName("geysir_nether").setLightLevel(1.0F).setStepSound(Block.soundTypeStone).setHardness(2.0F);
observer_off = new BlockObserver(Material.iron, false).setBlockName("observer_off").setStepSound(Block.soundTypeStone).setHardness(2.0F);
observer_on = new BlockObserver(Material.iron, true).setBlockName("observer_on").setStepSound(Block.soundTypeStone).setHardness(2.0F);
nuke_gadget = new NukeGadget(Material.iron).setBlockName("nuke_gadget").setCreativeTab(MainRegistry.nukeTab).setHardness(5.0F).setResistance(200.0F).setBlockTextureName(RefStrings.MODID + ":theGadget");
nuke_boy = new NukeBoy(Material.iron).setBlockName("nuke_boy").setCreativeTab(MainRegistry.nukeTab).setHardness(5.0F).setResistance(200.0F).setBlockTextureName(RefStrings.MODID + ":lilBoy");
nuke_man = new NukeMan(Material.iron).setBlockName("nuke_man").setCreativeTab(MainRegistry.nukeTab).setHardness(5.0F).setResistance(200.0F).setBlockTextureName(RefStrings.MODID + ":fatMan");
@ -1758,7 +1710,6 @@ public class ModBlocks {
nuke_fstbmb = new NukeBalefire(Material.iron).setBlockName("nuke_fstbmb").setCreativeTab(MainRegistry.nukeTab).setHardness(5.0F).setResistance(200.0F).setBlockTextureName(RefStrings.MODID + ":nuke_fstbmb");
bomb_multi = new BombMulti(Material.iron).setBlockName("bomb_multi").setCreativeTab(MainRegistry.nukeTab).setResistance(200.0F).setBlockTextureName(RefStrings.MODID + ":bomb_multi1");
//bomb_multi_large = new BombMultiLarge(Material.iron).setBlockName("bomb_multi_large").setCreativeTab(MainRegistry.tabNuke).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":bomb_multi_large");
flame_war = new BombFlameWar(Material.iron).setBlockName("flame_war").setCreativeTab(MainRegistry.nukeTab).setHardness(5.0F).setResistance(200.0F).setBlockTextureName(RefStrings.MODID + ":flame_war");
float_bomb = new BombFloat(Material.iron).setBlockName("float_bomb").setCreativeTab(MainRegistry.nukeTab).setHardness(5.0F).setResistance(200.0F);
@ -2055,6 +2006,8 @@ public class ModBlocks {
plasma = new BlockPlasma(Material.iron).setBlockName("plasma").setHardness(5.0F).setResistance(6000.0F).setLightLevel(1.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":plasma");
iter = new MachineITER().setBlockName("iter").setHardness(5.0F).setResistance(60.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":iter");
plasma_heater = new MachinePlasmaHeater().setBlockName("plasma_heater").setHardness(5.0F).setResistance(60.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":plasma_heater");
icf = new MachineICF().setBlockName("icf").setHardness(5.0F).setResistance(60.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel");
watz_element = new BlockPillar(Material.iron, RefStrings.MODID + ":watz_element_top").setBlockName("watz_element").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":watz_element_side");
watz_control = new BlockPillar(Material.iron, RefStrings.MODID + ":watz_control_top").setBlockName("watz_control").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":watz_control_side");
@ -2063,24 +2016,11 @@ public class ModBlocks {
watz_conductor = new BlockCableConnect(Material.iron).setBlockName("watz_conductor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":watz_conductor_top");
watz = new Watz().setBlockName("watz").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel");
watz_pump = new WatzPump().setBlockName("watz_pump").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel");
fwatz_conductor = new BlockPillar(Material.iron, RefStrings.MODID + ":block_combine_steel").setBlockName("fwatz_conductor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fwatz_conductor_side");
fwatz_cooler = new BlockPillar(Material.iron, RefStrings.MODID + ":fwatz_cooler_top").setBlockName("fwatz_cooler").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fwatz_cooler");
fwatz_tank = new BlockNTMGlass(0, RefStrings.MODID + ":fwatz_tank", Material.iron).setBlockName("fwatz_tank").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab);
fwatz_scaffold = new BlockGeneric(Material.iron).setBlockName("fwatz_scaffold").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fwatz_scaffold");
fwatz_hatch = new FWatzHatch(Material.iron).setBlockName("fwatz_hatch").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fwatz_computer");
fwatz_computer = new BlockGeneric(Material.iron).setBlockName("fwatz_computer").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fwatz_computer");
fwatz_core = new FWatzCore(Material.iron).setBlockName("fwatz_core").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fwatz_core");
fwatz_plasma = new BlockPlasma(Material.iron).setBlockName("fwatz_plasma").setHardness(5.0F).setResistance(6000.0F).setLightLevel(1.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fwatz_plasma");
balefire = new Balefire().setBlockName("balefire").setHardness(0.0F).setLightLevel(1.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":balefire");
fire_digamma = new DigammaFlame().setBlockName("fire_digamma").setHardness(0.0F).setResistance(150F).setLightLevel(1.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":fire_digamma");
digamma_matter = new DigammaMatter().setBlockName("digamma_matter").setBlockUnbreakable().setResistance(18000000).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":digamma_matter");
ams_base = new BlockAMSBase(Material.iron).setBlockName("ams_base").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":ams_base");
ams_emitter = new BlockAMSEmitter(Material.iron).setBlockName("ams_emitter").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":ams_emitter");
ams_limiter = new BlockAMSLimiter(Material.iron).setBlockName("ams_limiter").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":ams_limiter");
machine_converter_he_rf = new BlockConverterHeRf(Material.iron).setBlockName("machine_converter_he_rf").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_converter_he_rf");
machine_converter_rf_he = new BlockConverterRfHe(Material.iron).setBlockName("machine_converter_rf_he").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_converter_rf_he");
@ -2262,7 +2202,6 @@ public class ModBlocks {
machine_press = new MachinePress(Material.iron).setBlockName("machine_press").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_press");
machine_epress = new MachineEPress(Material.iron).setBlockName("machine_epress").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_epress");
machine_conveyor_press = new MachineConveyorPress(Material.iron).setBlockName("machine_conveyor_press").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel");
machine_selenium = new MachineSeleniumEngine(Material.iron).setBlockName("machine_selenium").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_selenium");
reactor_research = new ReactorResearch(Material.iron).setBlockName("machine_reactor_small").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_reactor_small");
reactor_zirnox = new ReactorZirnox(Material.iron).setBlockName("machine_zirnox").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel");
zirnox_destroyed = new ZirnoxDestroyed(Material.iron).setBlockName("zirnox_destroyed").setHardness(100.0F).setResistance(800.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel");
@ -2396,12 +2335,6 @@ public class ModBlocks {
Fluid liquidConcrete = new GenericFluid("concrete_liquid").setViscosity(2000);
concrete_liquid = new GenericFiniteFluid(liquidConcrete, Material.rock, "concrete_liquid", "concrete_liquid_flowing").setQuantaPerBlock(4).setBlockName("concrete_liquid").setResistance(500F);
dummy_block_ams_limiter = new DummyBlockAMSLimiter(Material.iron).setBlockName("dummy_block_ams_limiter").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_copper");
dummy_port_ams_limiter = new DummyBlockAMSLimiter(Material.iron).setBlockName("dummy_port_ams_limiter").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_copper");
dummy_block_ams_emitter = new DummyBlockAMSEmitter(Material.iron).setBlockName("dummy_block_ams_emitter").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_copper");
dummy_port_ams_emitter = new DummyBlockAMSEmitter(Material.iron).setBlockName("dummy_port_ams_emitter").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_copper");
dummy_block_ams_base = new DummyBlockAMSBase(Material.iron).setBlockName("dummy_block_ams_base").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_copper");
dummy_port_ams_base = new DummyBlockAMSBase(Material.iron).setBlockName("dummy_port_ams_base").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_copper");
dummy_block_vault = new DummyBlockVault(Material.iron).setBlockName("dummy_block_vault").setHardness(10.0F).setResistance(10000.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel");
dummy_block_blast = new DummyBlockBlast(Material.iron).setBlockName("dummy_block_blast").setHardness(10.0F).setResistance(10000.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel");
dummy_block_uf6 = new DummyBlockMachine(Material.iron, machine_uf6_tank, false).setBlockName("dummy_block_uf6").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_titanium");
@ -2487,16 +2420,7 @@ public class ModBlocks {
GameRegistry.registerBlock(ore_nether_schrabidium, ItemBlockLore.class, ore_nether_schrabidium.getUnlocalizedName());
//Meteor Ores
GameRegistry.registerBlock(ore_meteor_uranium, ore_meteor_uranium.getUnlocalizedName());
GameRegistry.registerBlock(ore_meteor_thorium, ore_meteor_thorium.getUnlocalizedName());
GameRegistry.registerBlock(ore_meteor_titanium, ore_meteor_titanium.getUnlocalizedName());
GameRegistry.registerBlock(ore_meteor_sulfur, ore_meteor_sulfur.getUnlocalizedName());
GameRegistry.registerBlock(ore_meteor_copper, ore_meteor_copper.getUnlocalizedName());
GameRegistry.registerBlock(ore_meteor_tungsten, ore_meteor_tungsten.getUnlocalizedName());
GameRegistry.registerBlock(ore_meteor_aluminium, ore_meteor_aluminium.getUnlocalizedName());
GameRegistry.registerBlock(ore_meteor_lead, ore_meteor_lead.getUnlocalizedName());
GameRegistry.registerBlock(ore_meteor_lithium, ore_meteor_lithium.getUnlocalizedName());
GameRegistry.registerBlock(ore_meteor_starmetal, ore_meteor_starmetal.getUnlocalizedName());
register(ore_meteor);
//Gneiss Ores
GameRegistry.registerBlock(ore_gneiss_iron, ore_gneiss_iron.getUnlocalizedName());
@ -2698,8 +2622,6 @@ public class ModBlocks {
GameRegistry.registerBlock(lamp_tritium_green_on, lamp_tritium_green_on.getUnlocalizedName());
GameRegistry.registerBlock(lamp_tritium_blue_off, lamp_tritium_blue_off.getUnlocalizedName());
GameRegistry.registerBlock(lamp_tritium_blue_on, lamp_tritium_blue_on.getUnlocalizedName());
GameRegistry.registerBlock(lamp_uv_off, lamp_uv_off.getUnlocalizedName());
GameRegistry.registerBlock(lamp_uv_on, lamp_uv_on.getUnlocalizedName());
GameRegistry.registerBlock(lamp_demon, lamp_demon.getUnlocalizedName());
GameRegistry.registerBlock(lantern, lantern.getUnlocalizedName());
GameRegistry.registerBlock(lantern_behemoth, lantern_behemoth.getUnlocalizedName());
@ -3124,7 +3046,6 @@ public class ModBlocks {
GameRegistry.registerBlock(machine_rtg_furnace_on, machine_rtg_furnace_on.getUnlocalizedName());
register(machine_wood_burner);
register(machine_diesel);
register(machine_selenium);
register(machine_combustion_engine);
GameRegistry.registerBlock(machine_generator, machine_generator.getUnlocalizedName());
GameRegistry.registerBlock(machine_controller, machine_controller.getUnlocalizedName());
@ -3416,6 +3337,8 @@ public class ModBlocks {
GameRegistry.registerBlock(plasma, ItemBlockLore.class, plasma.getUnlocalizedName());
GameRegistry.registerBlock(iter, iter.getUnlocalizedName());
GameRegistry.registerBlock(plasma_heater, plasma_heater.getUnlocalizedName());
GameRegistry.registerBlock(icf, icf.getUnlocalizedName());
GameRegistry.registerBlock(watz_element, watz_element.getUnlocalizedName());
GameRegistry.registerBlock(watz_control, watz_control.getUnlocalizedName());
@ -3424,15 +3347,6 @@ public class ModBlocks {
GameRegistry.registerBlock(watz_conductor, watz_conductor.getUnlocalizedName());
GameRegistry.registerBlock(watz, watz.getUnlocalizedName());
GameRegistry.registerBlock(watz_pump, watz_pump.getUnlocalizedName());
GameRegistry.registerBlock(fwatz_conductor, fwatz_conductor.getUnlocalizedName());
GameRegistry.registerBlock(fwatz_scaffold, fwatz_scaffold.getUnlocalizedName());
GameRegistry.registerBlock(fwatz_hatch, fwatz_hatch.getUnlocalizedName());
GameRegistry.registerBlock(fwatz_computer, fwatz_computer.getUnlocalizedName());
GameRegistry.registerBlock(fwatz_core, fwatz_core.getUnlocalizedName());
GameRegistry.registerBlock(fwatz_cooler, fwatz_cooler.getUnlocalizedName());
GameRegistry.registerBlock(fwatz_tank, fwatz_tank.getUnlocalizedName());
GameRegistry.registerBlock(fwatz_plasma, fwatz_plasma.getUnlocalizedName());
//E
GameRegistry.registerBlock(balefire, balefire.getUnlocalizedName());
@ -3441,11 +3355,6 @@ public class ModBlocks {
register(volcano_core);
register(volcano_rad_core);
//AMS
GameRegistry.registerBlock(ams_base, ams_base.getUnlocalizedName());
GameRegistry.registerBlock(ams_emitter, ams_emitter.getUnlocalizedName());
GameRegistry.registerBlock(ams_limiter, ams_limiter.getUnlocalizedName());
//Dark Fusion Core
GameRegistry.registerBlock(dfc_emitter, dfc_emitter.getUnlocalizedName());
GameRegistry.registerBlock(dfc_injector, dfc_injector.getUnlocalizedName());
@ -3523,12 +3432,6 @@ public class ModBlocks {
//GameRegistry.registerBlock(concrete_liquid, concrete_liquid.getUnlocalizedName());
//Multiblock Dummy Blocks
GameRegistry.registerBlock(dummy_block_ams_limiter, dummy_block_ams_limiter.getUnlocalizedName());
GameRegistry.registerBlock(dummy_port_ams_limiter, dummy_port_ams_limiter.getUnlocalizedName());
GameRegistry.registerBlock(dummy_block_ams_emitter, dummy_block_ams_emitter.getUnlocalizedName());
GameRegistry.registerBlock(dummy_port_ams_emitter, dummy_port_ams_emitter.getUnlocalizedName());
GameRegistry.registerBlock(dummy_block_ams_base, dummy_block_ams_base.getUnlocalizedName());
GameRegistry.registerBlock(dummy_port_ams_base, dummy_port_ams_base.getUnlocalizedName());
GameRegistry.registerBlock(dummy_block_vault, dummy_block_vault.getUnlocalizedName());
GameRegistry.registerBlock(dummy_block_blast, dummy_block_blast.getUnlocalizedName());
GameRegistry.registerBlock(dummy_block_uf6, dummy_block_uf6.getUnlocalizedName());

View File

@ -126,7 +126,6 @@ public class BlockCrate extends BlockFalling {
BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_nuke_furnace_off), 7);
BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_wood_burner), 10);
BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_diesel), 8);
BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_selenium), 7);
BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_rtg_grey), 4);
BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.red_pylon), 9);
BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_battery), 8);

View File

@ -0,0 +1,13 @@
package com.hbm.blocks.generic;
import com.hbm.blocks.BlockEnumMulti;
import com.hbm.blocks.BlockEnums;
import net.minecraft.block.material.Material;
public class BlockMeteorOre extends BlockEnumMulti {
public BlockMeteorOre() {
super(Material.rock, BlockEnums.EnumMeteorType.class, true, true);
}
}

View File

@ -0,0 +1,33 @@
package com.hbm.blocks.generic;
import java.util.ArrayList;
import com.hbm.itempool.ItemPool;
import com.hbm.itempool.ItemPoolsSingle;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.item.ItemStack;
import net.minecraft.util.WeightedRandomChestContent;
import net.minecraft.world.World;
public class BlockMeteoriteTreasure extends Block {
public BlockMeteoriteTreasure(Material mat) {
super(mat);
}
@Override
public ArrayList<ItemStack> getDrops(World world, int x, int y, int z, int metadata, int fortune) {
ArrayList<ItemStack> ret = new ArrayList<ItemStack>();
int count = 1 + world.rand.nextInt(3);
WeightedRandomChestContent[] pool = ItemPool.getPool(ItemPoolsSingle.POOL_METEORITE_TREASURE);
for(int i = 0; i < count; i++) {
ret.add(ItemPool.getStack(pool, world.rand));
}
return ret;
}
}

View File

@ -50,7 +50,7 @@ public class BlockOre extends Block {
if(this == ModBlocks.ore_niter) {
return ModItems.niter;
}
if(this == ModBlocks.ore_sulfur || this == ModBlocks.ore_nether_sulfur || this == ModBlocks.ore_meteor_sulfur) {
if(this == ModBlocks.ore_sulfur || this == ModBlocks.ore_nether_sulfur) {
return ModItems.sulfur;
}
if(this == ModBlocks.waste_trinitite || this == ModBlocks.waste_trinitite_red) {
@ -77,80 +77,6 @@ public class BlockOre extends Block {
if(this == ModBlocks.block_meteor_broken) {
return ModItems.fragment_meteorite;
}
if(this == ModBlocks.block_meteor_treasure) {
switch(rand.nextInt(36)) {
case 0:
return ModItems.coil_advanced_alloy;
case 1:
return ModItems.plate_advanced_alloy;
case 2:
return ModItems.powder_desh_mix;
case 3:
return ModItems.ingot_desh;
case 4:
return ModItems.battery_advanced;
case 5:
return ModItems.battery_lithium_cell;
case 6:
return ModItems.battery_advanced_cell;
case 7:
return ModItems.nugget_schrabidium;
case 8:
return ModItems.ingot_plutonium;
case 9:
return ModItems.ingot_thorium_fuel;
case 10:
return ModItems.ingot_u233;
case 11:
return ModItems.turbine_tungsten;
case 12:
return ModItems.ingot_dura_steel;
case 13:
return ModItems.ingot_polymer;
case 14:
return ModItems.ingot_tungsten;
case 15:
return ModItems.ingot_combine_steel;
case 16:
return ModItems.ingot_lanthanium;
case 17:
return ModItems.ingot_actinium;
case 18:
return Item.getItemFromBlock(ModBlocks.block_meteor);
case 19:
return Item.getItemFromBlock(ModBlocks.fusion_heater);
case 20:
return ModItems.circuit_red_copper;
case 21:
return Item.getItemFromBlock(ModBlocks.watz_element);
case 22:
return Item.getItemFromBlock(ModBlocks.ore_rare);
case 23:
return Item.getItemFromBlock(ModBlocks.fusion_conductor);
case 24:
return Item.getItemFromBlock(ModBlocks.pwr_fuel);
case 25:
return Item.getItemFromBlock(ModBlocks.machine_diesel);
case 26:
return Item.getItemFromBlock(ModBlocks.machine_rtg_grey);
case 27:
return ModItems.pellet_rtg;
case 28:
return ModItems.pellet_rtg_weak;
case 29:
return ModItems.rtg_unit;
case 30:
return ModItems.gun_spark_ammo;
case 31: case 32:
return ModItems.ammo_nuke;
case 33:
return ModItems.gun_defabricator_ammo;
case 34:
return ModItems.gun_osipr_ammo2;
case 35:
return ModItems.glitch;
}
}
if(this == ModBlocks.ore_rare || this == ModBlocks.ore_gneiss_rare) {
return ModItems.chunk_ore;
}
@ -184,7 +110,7 @@ public class BlockOre extends Block {
if(this == ModBlocks.ore_niter) {
return 2 + rand.nextInt(3);
}
if(this == ModBlocks.ore_sulfur || this == ModBlocks.ore_nether_sulfur || this == ModBlocks.ore_meteor_sulfur) {
if(this == ModBlocks.ore_sulfur || this == ModBlocks.ore_nether_sulfur) {
return 2 + rand.nextInt(3);
}
if(this == ModBlocks.block_meteor_broken) {

View File

@ -1,108 +0,0 @@
package com.hbm.blocks.machine;
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.TileEntityAMSBase;
import com.hbm.tileentity.machine.TileEntityDummy;
import cpw.mods.fml.common.network.internal.FMLNetworkHandler;
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
public class BlockAMSBase extends BlockContainer implements IMultiblock {
public BlockAMSBase(Material p_i45386_1_) {
super(p_i45386_1_);
}
@Override
public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) {
return new TileEntityAMSBase();
}
@Override
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) {
if(world.isRemote)
{
return true;
} else if(!player.isSneaking())
{
TileEntityAMSBase entity = (TileEntityAMSBase) world.getTileEntity(x, y, z);
if(entity != null)
{
FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, x, y, z);
}
return true;
} else {
return false;
}
}
@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) {
if(MultiblockHandler.checkSpace(world, x, y, z, MultiblockHandler.AMSBaseDimension)) {
MultiblockHandler.fillUp(world, x, y, z, MultiblockHandler.AMSBaseDimension, ModBlocks.dummy_block_ams_base);
DummyBlockAMSBase.safeBreak = true;
world.setBlock(x + 1, y, z, ModBlocks.dummy_port_ams_base);
TileEntity te = world.getTileEntity(x + 1, y, z);
if(te instanceof TileEntityDummy) {
TileEntityDummy dummy = (TileEntityDummy)te;
dummy.targetX = x;
dummy.targetY = y;
dummy.targetZ = z;
}
world.setBlock(x, y, z - 1, ModBlocks.dummy_port_ams_base);
TileEntity te2 = world.getTileEntity(x, y, z - 1);
if(te instanceof TileEntityDummy) {
TileEntityDummy dummy = (TileEntityDummy)te2;
dummy.targetX = x;
dummy.targetY = y;
dummy.targetZ = z;
}
world.setBlock(x - 1, y, z, ModBlocks.dummy_port_ams_base);
TileEntity te3 = world.getTileEntity(x - 1, y, z);
if(te3 instanceof TileEntityDummy) {
TileEntityDummy dummy = (TileEntityDummy)te3;
dummy.targetX = x;
dummy.targetY = y;
dummy.targetZ = z;
}
world.setBlock(x, y, z + 1, ModBlocks.dummy_port_ams_base);
TileEntity te4 = world.getTileEntity(x, y , z + 1);
if(te4 instanceof TileEntityDummy) {
TileEntityDummy dummy = (TileEntityDummy)te4;
dummy.targetX = x;
dummy.targetY = y;
dummy.targetZ = z;
}
DummyBlockAMSBase.safeBreak = false;
} else
world.func_147480_a(x, y, z, true);
}
}

View File

@ -1,116 +0,0 @@
package com.hbm.blocks.machine;
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.TileEntityAMSEmitter;
import com.hbm.tileentity.machine.TileEntityDummy;
import cpw.mods.fml.common.network.internal.FMLNetworkHandler;
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
public class BlockAMSEmitter extends BlockContainer implements IMultiblock {
public BlockAMSEmitter(Material p_i45386_1_) {
super(p_i45386_1_);
}
@Override
public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) {
return new TileEntityAMSEmitter();
}
@Override
public int getRenderType(){
return -1;
}
@Override
public boolean isOpaqueCube() {
return false;
}
@Override
public boolean renderAsNormalBlock() {
return false;
}
@Override
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) {
if(world.isRemote)
{
return true;
} else if(!player.isSneaking())
{
TileEntityAMSEmitter entity = (TileEntityAMSEmitter) world.getTileEntity(x, y, z);
if(entity != null)
{
FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, x, y, z);
}
return true;
} else {
return false;
}
}
@Override
public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) {
if(MultiblockHandler.checkSpace(world, x, y, z, MultiblockHandler.AMSEmitterDimension)) {
MultiblockHandler.fillUp(world, x, y, z, MultiblockHandler.AMSEmitterDimension, ModBlocks.dummy_block_ams_emitter);
DummyBlockAMSEmitter.safeBreak = true;
world.setBlock(x, y + 5, z, ModBlocks.dummy_port_ams_emitter);
TileEntity te = world.getTileEntity(x, y + 5, z);
if(te instanceof TileEntityDummy) {
TileEntityDummy dummy = (TileEntityDummy)te;
dummy.targetX = x;
dummy.targetY = y;
dummy.targetZ = z;
}
world.setBlock(x, y + 5, z - 1, ModBlocks.dummy_port_ams_emitter);
TileEntity te2 = world.getTileEntity(x, y + 5, z - 1);
if(te instanceof TileEntityDummy) {
TileEntityDummy dummy = (TileEntityDummy)te2;
dummy.targetX = x;
dummy.targetY = y;
dummy.targetZ = z;
}
world.setBlock(x + 1, y + 5, z, ModBlocks.dummy_port_ams_emitter);
TileEntity te3 = world.getTileEntity(x + 1, y + 5, z);
if(te3 instanceof TileEntityDummy) {
TileEntityDummy dummy = (TileEntityDummy)te3;
dummy.targetX = x;
dummy.targetY = y;
dummy.targetZ = z;
}
world.setBlock(x - 1, y + 5, z, ModBlocks.dummy_port_ams_emitter);
TileEntity te4 = world.getTileEntity(x - 1, y + 5, z);
if(te4 instanceof TileEntityDummy) {
TileEntityDummy dummy = (TileEntityDummy)te4;
dummy.targetX = x;
dummy.targetY = y;
dummy.targetZ = z;
}
world.setBlock(x, y + 5, z + 1, ModBlocks.dummy_port_ams_emitter);
TileEntity te5 = world.getTileEntity(x, y + 5, z + 1);
if(te5 instanceof TileEntityDummy) {
TileEntityDummy dummy = (TileEntityDummy)te5;
dummy.targetX = x;
dummy.targetY = y;
dummy.targetZ = z;
}
DummyBlockAMSEmitter.safeBreak = false;
} else
world.func_147480_a(x, y, z, true);
}
}

View File

@ -1,186 +0,0 @@
package com.hbm.blocks.machine;
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.TileEntityAMSLimiter;
import com.hbm.tileentity.machine.TileEntityDummy;
import cpw.mods.fml.common.network.internal.FMLNetworkHandler;
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.MathHelper;
import net.minecraft.world.World;
public class BlockAMSLimiter extends BlockContainer implements IMultiblock {
public BlockAMSLimiter(Material p_i45386_1_) {
super(p_i45386_1_);
}
@Override
public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) {
return new TileEntityAMSLimiter();
}
@Override
public int getRenderType(){
return -1;
}
@Override
public boolean isOpaqueCube() {
return false;
}
@Override
public boolean renderAsNormalBlock() {
return false;
}
@Override
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) {
if(world.isRemote)
{
return true;
} else if(!player.isSneaking())
{
TileEntityAMSLimiter entity = (TileEntityAMSLimiter) world.getTileEntity(x, y, z);
if(entity != null)
{
FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, x, y, z);
}
return true;
} else {
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.AMSLimiterDimensionEast)) {
MultiblockHandler.fillUp(world, x, y, z, MultiblockHandler.AMSLimiterDimensionEast, ModBlocks.dummy_block_ams_limiter);
//
DummyBlockAMSLimiter.safeBreak = true;
world.setBlock(x + 2, y, z, ModBlocks.dummy_port_ams_limiter);
TileEntity te = world.getTileEntity(x + 2, y, z);
if(te instanceof TileEntityDummy) {
TileEntityDummy dummy = (TileEntityDummy)te;
dummy.targetX = x;
dummy.targetY = y;
dummy.targetZ = z;
}
world.setBlock(x - 2, y, z, ModBlocks.dummy_port_ams_limiter);
TileEntity te2 = world.getTileEntity(x - 2, y, z);
if(te2 instanceof TileEntityDummy) {
TileEntityDummy dummy = (TileEntityDummy)te2;
dummy.targetX = x;
dummy.targetY = y;
dummy.targetZ = z;
}
DummyBlockAMSLimiter.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.AMSLimiterDimensionSouth)) {
MultiblockHandler.fillUp(world, x, y, z, MultiblockHandler.AMSLimiterDimensionSouth, ModBlocks.dummy_block_ams_limiter);
//
DummyBlockAMSLimiter.safeBreak = true;
world.setBlock(x, y, z + 2, ModBlocks.dummy_port_ams_limiter);
TileEntity te = world.getTileEntity(x, y, z + 2);
if(te instanceof TileEntityDummy) {
TileEntityDummy dummy = (TileEntityDummy)te;
dummy.targetX = x;
dummy.targetY = y;
dummy.targetZ = z;
}
world.setBlock(x, y, z - 2, ModBlocks.dummy_port_ams_limiter);
TileEntity te2 = world.getTileEntity(x, y, z - 2);
if(te2 instanceof TileEntityDummy) {
TileEntityDummy dummy = (TileEntityDummy)te2;
dummy.targetX = x;
dummy.targetY = y;
dummy.targetZ = z;
}
DummyBlockAMSLimiter.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.AMSLimiterDimensionWest)) {
MultiblockHandler.fillUp(world, x, y, z, MultiblockHandler.AMSLimiterDimensionWest, ModBlocks.dummy_block_ams_limiter);
//
DummyBlockAMSLimiter.safeBreak = true;
world.setBlock(x + 2, y, z, ModBlocks.dummy_port_ams_limiter);
TileEntity te = world.getTileEntity(x + 2, y, z);
if(te instanceof TileEntityDummy) {
TileEntityDummy dummy = (TileEntityDummy)te;
dummy.targetX = x;
dummy.targetY = y;
dummy.targetZ = z;
}
world.setBlock(x - 2, y, z, ModBlocks.dummy_port_ams_limiter);
TileEntity te2 = world.getTileEntity(x - 2, y, z);
if(te2 instanceof TileEntityDummy) {
TileEntityDummy dummy = (TileEntityDummy)te2;
dummy.targetX = x;
dummy.targetY = y;
dummy.targetZ = z;
}
DummyBlockAMSLimiter.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.AMSLimiterDimensionNorth)) {
MultiblockHandler.fillUp(world, x, y, z, MultiblockHandler.AMSLimiterDimensionNorth, ModBlocks.dummy_block_ams_limiter);
//
DummyBlockAMSLimiter.safeBreak = true;
world.setBlock(x, y, z + 2, ModBlocks.dummy_port_ams_limiter);
TileEntity te = world.getTileEntity(x, y, z + 2);
if(te instanceof TileEntityDummy) {
TileEntityDummy dummy = (TileEntityDummy)te;
dummy.targetX = x;
dummy.targetY = y;
dummy.targetZ = z;
}
world.setBlock(x, y, z - 2, ModBlocks.dummy_port_ams_limiter);
TileEntity te2 = world.getTileEntity(x, y, z - 2);
if(te2 instanceof TileEntityDummy) {
TileEntityDummy dummy = (TileEntityDummy)te2;
dummy.targetX = x;
dummy.targetY = y;
dummy.targetZ = z;
}
DummyBlockAMSLimiter.safeBreak = false;
//
} else
world.func_147480_a(x, y, z, true);
}
}
}

View File

@ -8,5 +8,4 @@ public class BlockHadronPlating extends Block {
public BlockHadronPlating(Material mat) {
super(mat);
}
}

View File

@ -1,83 +0,0 @@
package com.hbm.blocks.machine;
import java.util.Random;
import com.hbm.blocks.ModBlocks;
import com.hbm.lib.RefStrings;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.Block;
import net.minecraft.block.BlockPistonBase;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
public class BlockObserver extends Block {
private boolean isActive;
@SideOnly(Side.CLIENT)
private IIcon iconFront;
@SideOnly(Side.CLIENT)
private IIcon iconBack;
public BlockObserver(Material mat, boolean isActive) {
super(mat);
this.isActive = isActive;
}
@Override
@SideOnly(Side.CLIENT)
public void registerBlockIcons(IIconRegister iconRegister) {
this.iconBack = iconRegister.registerIcon(RefStrings.MODID + (this.isActive ? ":observer_back_on" : ":observer_back_off"));
this.iconFront = iconRegister.registerIcon(RefStrings.MODID + ":observer_front");
this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":observer_side");
}
@Override
@SideOnly(Side.CLIENT)
public IIcon getIcon(int side, int metadata) {
ForgeDirection dir = ForgeDirection.getOrientation(metadata);
ForgeDirection opp = dir.getOpposite();
return side == dir.ordinal() ? iconFront : side == opp.ordinal() ? iconBack : blockIcon;
}
@Override
public Item getItemDropped(int meta, Random rand, int luck) {
return Item.getItemFromBlock(ModBlocks.observer_off);
}
@Override
public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack stack) {
int l = BlockPistonBase.determineOrientation(world, x, y, z, player);
world.setBlockMetadataWithNotify(x, y, z, l, 2);
if(this.isActive)
world.scheduleBlockUpdate(x, y, z, this, 2);
}
@Override
public void onNeighborBlockChange(World world, int x, int y, int z, Block block) {
if(!this.isActive) {
}
}
@Override
public boolean canProvidePower() {
return this.isActive;
}
@Override
public int isProvidingWeakPower(IBlockAccess world, int x, int y, int z, int side) {
return this.isActive ? 15 : 0;
}
}

View File

@ -1,105 +0,0 @@
package com.hbm.blocks.machine;
import java.util.Random;
import com.hbm.blocks.ModBlocks;
import com.hbm.interfaces.IDummy;
import com.hbm.main.MainRegistry;
import com.hbm.tileentity.machine.TileEntityAMSBase;
import com.hbm.tileentity.machine.TileEntityDummy;
import cpw.mods.fml.common.network.internal.FMLNetworkHandler;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.Block;
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
public class DummyBlockAMSBase extends BlockContainer implements IDummy {
public static boolean safeBreak = false;
public DummyBlockAMSBase(Material p_i45386_1_) {
super(p_i45386_1_);
}
@Override
public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) {
return new TileEntityDummy();
}
@Override
public void breakBlock(World world, int x, int y, int z, Block block, int i)
{
if(!safeBreak) {
TileEntity te = world.getTileEntity(x, y, z);
if(te != null && te instanceof TileEntityDummy) {
int a = ((TileEntityDummy)te).targetX;
int b = ((TileEntityDummy)te).targetY;
int c = ((TileEntityDummy)te).targetZ;
//world.getBlock(a, b, c).breakBlock(world, a, b, c, block, i);
if(!world.isRemote)
world.func_147480_a(a, b, c, true);
}
}
world.removeTileEntity(x, y, z);
}
@Override
public int getRenderType() {
return -1;
}
@Override
public boolean isOpaqueCube() {
return false;
}
@Override
public boolean renderAsNormalBlock() {
return false;
}
@Override
public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_)
{
return null;
}
@Override
@SideOnly(Side.CLIENT)
public Item getItem(World world, int x, int y, int z)
{
return Item.getItemFromBlock(ModBlocks.ams_base);
}
@Override
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) {
if(world.isRemote)
{
return true;
} else if(!player.isSneaking())
{
TileEntity te = world.getTileEntity(x, y, z);
if(te != null && te instanceof TileEntityDummy) {
int a = ((TileEntityDummy)te).targetX;
int b = ((TileEntityDummy)te).targetY;
int c = ((TileEntityDummy)te).targetZ;
TileEntityAMSBase entity = (TileEntityAMSBase) world.getTileEntity(a, b, c);
if(entity != null)
{
FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, a, b, c);
}
}
return true;
} else {
return false;
}
}
}

View File

@ -1,105 +0,0 @@
package com.hbm.blocks.machine;
import java.util.Random;
import com.hbm.blocks.ModBlocks;
import com.hbm.interfaces.IDummy;
import com.hbm.main.MainRegistry;
import com.hbm.tileentity.machine.TileEntityAMSEmitter;
import com.hbm.tileentity.machine.TileEntityDummy;
import cpw.mods.fml.common.network.internal.FMLNetworkHandler;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.Block;
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
public class DummyBlockAMSEmitter extends BlockContainer implements IDummy {
public static boolean safeBreak = false;
public DummyBlockAMSEmitter(Material p_i45386_1_) {
super(p_i45386_1_);
}
@Override
public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) {
return new TileEntityDummy();
}
@Override
public void breakBlock(World world, int x, int y, int z, Block block, int i)
{
if(!safeBreak) {
TileEntity te = world.getTileEntity(x, y, z);
if(te != null && te instanceof TileEntityDummy) {
int a = ((TileEntityDummy)te).targetX;
int b = ((TileEntityDummy)te).targetY;
int c = ((TileEntityDummy)te).targetZ;
//world.getBlock(a, b, c).breakBlock(world, a, b, c, block, i);
if(!world.isRemote)
world.func_147480_a(a, b, c, true);
}
}
world.removeTileEntity(x, y, z);
}
@Override
public int getRenderType() {
return -1;
}
@Override
public boolean isOpaqueCube() {
return false;
}
@Override
public boolean renderAsNormalBlock() {
return false;
}
@Override
public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_)
{
return null;
}
@Override
@SideOnly(Side.CLIENT)
public Item getItem(World world, int x, int y, int z)
{
return Item.getItemFromBlock(ModBlocks.ams_emitter);
}
@Override
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) {
if(world.isRemote)
{
return true;
} else if(!player.isSneaking())
{
TileEntity te = world.getTileEntity(x, y, z);
if(te != null && te instanceof TileEntityDummy) {
int a = ((TileEntityDummy)te).targetX;
int b = ((TileEntityDummy)te).targetY;
int c = ((TileEntityDummy)te).targetZ;
TileEntityAMSEmitter entity = (TileEntityAMSEmitter) world.getTileEntity(a, b, c);
if(entity != null)
{
FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, a, b, c);
}
}
return true;
} else {
return false;
}
}
}

View File

@ -1,105 +0,0 @@
package com.hbm.blocks.machine;
import java.util.Random;
import com.hbm.blocks.ModBlocks;
import com.hbm.interfaces.IDummy;
import com.hbm.main.MainRegistry;
import com.hbm.tileentity.machine.TileEntityAMSLimiter;
import com.hbm.tileentity.machine.TileEntityDummy;
import cpw.mods.fml.common.network.internal.FMLNetworkHandler;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.Block;
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
public class DummyBlockAMSLimiter extends BlockContainer implements IDummy {
public static boolean safeBreak = false;
public DummyBlockAMSLimiter(Material p_i45386_1_) {
super(p_i45386_1_);
}
@Override
public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) {
return new TileEntityDummy();
}
@Override
public void breakBlock(World world, int x, int y, int z, Block block, int i)
{
if(!safeBreak) {
TileEntity te = world.getTileEntity(x, y, z);
if(te != null && te instanceof TileEntityDummy) {
int a = ((TileEntityDummy)te).targetX;
int b = ((TileEntityDummy)te).targetY;
int c = ((TileEntityDummy)te).targetZ;
//world.getBlock(a, b, c).breakBlock(world, a, b, c, block, i);
if(!world.isRemote)
world.func_147480_a(a, b, c, true);
}
}
world.removeTileEntity(x, y, z);
}
@Override
public int getRenderType() {
return -1;
}
@Override
public boolean isOpaqueCube() {
return false;
}
@Override
public boolean renderAsNormalBlock() {
return false;
}
@Override
public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_)
{
return null;
}
@Override
@SideOnly(Side.CLIENT)
public Item getItem(World world, int x, int y, int z)
{
return Item.getItemFromBlock(ModBlocks.ams_limiter);
}
@Override
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) {
if(world.isRemote)
{
return true;
} else if(!player.isSneaking())
{
TileEntity te = world.getTileEntity(x, y, z);
if(te != null && te instanceof TileEntityDummy) {
int a = ((TileEntityDummy)te).targetX;
int b = ((TileEntityDummy)te).targetY;
int c = ((TileEntityDummy)te).targetZ;
TileEntityAMSLimiter entity = (TileEntityAMSLimiter) world.getTileEntity(a, b, c);
if(entity != null)
{
FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, a, b, c);
}
}
return true;
} else {
return false;
}
}
}

View File

@ -1,21 +0,0 @@
package com.hbm.blocks.machine;
import com.hbm.tileentity.machine.TileEntityFWatzCore;
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
public class FWatzCore extends BlockContainer {
public FWatzCore(Material p_i45386_1_) {
super(p_i45386_1_);
}
@Override
public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) {
return new TileEntityFWatzCore();
}
}

View File

@ -1,167 +0,0 @@
package com.hbm.blocks.machine;
import java.util.Random;
import com.hbm.inventory.fluid.FluidType;
import com.hbm.inventory.fluid.Fluids;
import com.hbm.lib.RefStrings;
import com.hbm.main.MainRegistry;
import com.hbm.tileentity.machine.TileEntityFWatzCore;
import api.hbm.energymk2.IEnergyConnectorBlock;
import api.hbm.fluid.IFluidConnectorBlock;
import cpw.mods.fml.common.network.internal.FMLNetworkHandler;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ChatComponentText;
import net.minecraft.util.IIcon;
import net.minecraft.util.MathHelper;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
public class FWatzHatch extends Block implements IEnergyConnectorBlock, IFluidConnectorBlock {
@SideOnly(Side.CLIENT)
private IIcon iconFront;
private IIcon iconTop;
public FWatzHatch(Material p_i45394_1_) {
super(p_i45394_1_);
}
@Override
@SideOnly(Side.CLIENT)
public void registerBlockIcons(IIconRegister iconRegister) {
this.iconFront = iconRegister.registerIcon(RefStrings.MODID + ":fwatz_hatch");
this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":fwatz_scaffold");
this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":fwatz_scaffold");
}
@Override
@SideOnly(Side.CLIENT)
public IIcon getIcon(int side, int metadata) {
return side == 1 ? this.iconTop : (side == 0 ? this.iconTop : (metadata == 0 && side == 3 ? this.iconFront : (side == metadata ? this.iconFront : this.blockIcon)));
}
@Override
public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_)
{
return Item.getItemFromBlock(this);
}
@Override
public void onBlockAdded(World world, int x, int y, int z) {
super.onBlockAdded(world, x, y, z);
//this.setDefaultDirection(world, x, y, z);
}
@Override
public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) {
int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3;
if(i == 0)
{
world.setBlockMetadataWithNotify(x, y, z, 2, 2);
}
if(i == 1)
{
world.setBlockMetadataWithNotify(x, y, z, 5, 2);
}
if(i == 2)
{
world.setBlockMetadataWithNotify(x, y, z, 3, 2);
}
if(i == 3)
{
world.setBlockMetadataWithNotify(x, y, z, 4, 2);
}
}
//this is fucking atrocious
@Override
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) {
if(world.isRemote)
{
return true;
} else if(!player.isSneaking())
{
if(world.getBlockMetadata(x, y, z) == 2)
{
if(world.getTileEntity(x, y + 11, z + 9) instanceof TileEntityFWatzCore)
{
if(((TileEntityFWatzCore)world.getTileEntity(x, y + 11, z + 9)).isStructureValid(world))
{
FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, x, y + 11, z + 9);
} else {
player.addChatMessage(new ChatComponentText("[Fusionary Watz Plant] Error: Reactor Structure not valid!"));
}
} else {
player.addChatMessage(new ChatComponentText("[Fusionary Watz Plant] Error: Reactor Core not found!"));
}
}
if(world.getBlockMetadata(x, y, z) == 3)
{
if(world.getTileEntity(x, y + 11, z - 9) instanceof TileEntityFWatzCore)
{
if(((TileEntityFWatzCore)world.getTileEntity(x, y + 11, z - 9)).isStructureValid(world))
{
FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, x, y + 11, z - 9);
} else {
player.addChatMessage(new ChatComponentText("[Fusionary Watz Plant] Error: Reactor Structure not valid!"));
}
} else {
player.addChatMessage(new ChatComponentText("[Fusionary Watz Plant] Error: Reactor Core not found!"));
}
}
if(world.getBlockMetadata(x, y, z) == 4)
{
if(world.getTileEntity(x + 9, y + 11, z) instanceof TileEntityFWatzCore)
{
if(((TileEntityFWatzCore)world.getTileEntity(x + 9, y + 11, z)).isStructureValid(world))
{
FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, x + 9, y + 11, z);
} else {
player.addChatMessage(new ChatComponentText("[Fusionary Watz Plant] Error: Reactor Structure not valid!"));
}
} else {
player.addChatMessage(new ChatComponentText("[Fusionary Watz Plant] Error: Reactor Core not found!"));
}
}
if(world.getBlockMetadata(x, y, z) == 5)
{
if(world.getTileEntity(x - 9, y + 11, z) instanceof TileEntityFWatzCore)
{
if(((TileEntityFWatzCore)world.getTileEntity(x - 9, y + 11, z)).isStructureValid(world))
{
FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, x - 9, y + 11, z);
} else {
player.addChatMessage(new ChatComponentText("[Fusionary Watz Plant] Error: Reactor Structure not valid!"));
}
} else {
player.addChatMessage(new ChatComponentText("[Fusionary Watz Plant] Error: Reactor Core not found!"));
}
}
return true;
} else {
return false;
}
}
@Override
public boolean canConnect(FluidType type, IBlockAccess world, int x, int y, int z, ForgeDirection dir) {
return type == Fluids.AMAT || type == Fluids.ASCHRAB;
}
@Override
public boolean canConnect(IBlockAccess world, int x, int y, int z, ForgeDirection dir) {
return true;
}
}

View File

@ -0,0 +1,31 @@
package com.hbm.blocks.machine;
import com.hbm.blocks.BlockDummyable;
import com.hbm.tileentity.machine.TileEntityICF;
import net.minecraft.block.material.Material;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
public class MachineICF extends BlockDummyable {
public MachineICF() {
super(Material.iron);
}
@Override
public TileEntity createNewTileEntity(World world, int meta) {
if(meta >= 12) return new TileEntityICF();
return null;
}
@Override
public int[] getDimensions() {
return new int[] {5, 0, 1, 1, 8, 8};
}
@Override
public int getOffset() {
return 1;
}
}

View File

@ -1,126 +0,0 @@
package com.hbm.blocks.machine;
import java.util.Random;
import com.hbm.main.MainRegistry;
import com.hbm.tileentity.machine.TileEntityMachineSeleniumEngine;
import cpw.mods.fml.common.network.internal.FMLNetworkHandler;
import net.minecraft.block.Block;
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.MathHelper;
import net.minecraft.world.World;
public class MachineSeleniumEngine extends BlockContainer {
private final Random field_149933_a = new Random();
private static boolean keepInventory;
public MachineSeleniumEngine(Material p_i45386_1_) {
super(p_i45386_1_);
}
@Override
public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) {
return new TileEntityMachineSeleniumEngine();
}
@Override
public int getRenderType() {
return -1;
}
@Override
public boolean isOpaqueCube() {
return false;
}
@Override
public boolean renderAsNormalBlock() {
return false;
}
@Override
public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) {
int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3;
if(i == 0) {
world.setBlockMetadataWithNotify(x, y, z, 2, 2);
}
if(i == 1) {
world.setBlockMetadataWithNotify(x, y, z, 5, 2);
}
if(i == 2) {
world.setBlockMetadataWithNotify(x, y, z, 3, 2);
}
if(i == 3) {
world.setBlockMetadataWithNotify(x, y, z, 4, 2);
}
}
@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) {
TileEntityMachineSeleniumEngine tileentityfurnace = (TileEntityMachineSeleniumEngine) p_149749_1_.getTileEntity(p_149749_2_, p_149749_3_, p_149749_4_);
if(tileentityfurnace != null) {
for(int i1 = 0; i1 < tileentityfurnace.getSizeInventory(); ++i1) {
ItemStack itemstack = tileentityfurnace.getStackInSlot(i1);
if(itemstack != null) {
float f = this.field_149933_a.nextFloat() * 0.8F + 0.1F;
float f1 = this.field_149933_a.nextFloat() * 0.8F + 0.1F;
float f2 = this.field_149933_a.nextFloat() * 0.8F + 0.1F;
while(itemstack.stackSize > 0) {
int j1 = this.field_149933_a.nextInt(21) + 10;
if(j1 > itemstack.stackSize) {
j1 = itemstack.stackSize;
}
itemstack.stackSize -= j1;
EntityItem entityitem = new EntityItem(p_149749_1_, p_149749_2_ + f, p_149749_3_ + f1, p_149749_4_ + f2, new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage()));
if(itemstack.hasTagCompound()) {
entityitem.getEntityItem().setTagCompound((NBTTagCompound) itemstack.getTagCompound().copy());
}
float f3 = 0.05F;
entityitem.motionX = (float) this.field_149933_a.nextGaussian() * f3;
entityitem.motionY = (float) this.field_149933_a.nextGaussian() * f3 + 0.2F;
entityitem.motionZ = (float) this.field_149933_a.nextGaussian() * f3;
p_149749_1_.spawnEntityInWorld(entityitem);
}
}
}
p_149749_1_.func_147453_f(p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_);
}
}
super.breakBlock(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_, p_149749_6_);
}
@Override
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) {
if(world.isRemote) {
return true;
} else if(!player.isSneaking()) {
TileEntityMachineSeleniumEngine entity = (TileEntityMachineSeleniumEngine) world.getTileEntity(x, y, z);
if(entity != null) {
FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, x, y, z);
}
return true;
} else {
return false;
}
}
}

View File

@ -1,37 +0,0 @@
package com.hbm.blocks.machine;
import com.hbm.blocks.BlockDummyable;
import com.hbm.lib.RefStrings;
import com.hbm.tileentity.machine.TileEntityUVLamp;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
public class UVLamp extends BlockDummyable {
public UVLamp(boolean isOn) {
super(Material.iron);
this.setStepSound(Block.soundTypeMetal);
this.setHardness(3.0F);
this.setBlockTextureName(RefStrings.MODID + ":block_steel");
if(isOn) this.setLightLevel(5F/15F);
}
@Override
public TileEntity createNewTileEntity(World world, int meta) {
return new TileEntityUVLamp();
}
@Override
public int[] getDimensions() {
return new int[] {1, 0, 0, 0, 0, 0};
}
@Override
public int getOffset() {
return 0;
}
}

View File

@ -1,10 +1,12 @@
package com.hbm.crafting;
import com.hbm.blocks.ModBlocks;
import com.hbm.blocks.BlockEnums.EnumMeteorType;
import com.hbm.blocks.generic.BlockNTMFlower.EnumFlowerType;
import com.hbm.inventory.OreDictManager.DictFrame;
import com.hbm.items.ModItems;
import com.hbm.items.ItemEnums.EnumBriquetteType;
import com.hbm.items.ItemEnums.EnumChunkType;
import com.hbm.items.ItemEnums.EnumCokeType;
import com.hbm.items.ItemEnums.EnumPlantType;
import com.hbm.items.special.ItemHot;
@ -38,18 +40,15 @@ public class SmeltingRecipes {
GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_beryllium), new ItemStack(ModItems.ingot_beryllium), 2.0F);
GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_schrabidium), new ItemStack(ModItems.ingot_schrabidium), 128.0F);
GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_nether_schrabidium), new ItemStack(ModItems.ingot_schrabidium), 256.0F);
GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_meteor_uranium), new ItemStack(ModItems.ingot_uranium, 2), 12.0F);
GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_meteor_thorium), new ItemStack(ModItems.ingot_th232, 2), 6.0F);
GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_meteor_titanium), new ItemStack(ModItems.ingot_titanium, 3), 6.0F);
GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_meteor_copper), new ItemStack(ModItems.ingot_copper, 3), 5.0F);
GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_meteor_tungsten), new ItemStack(ModItems.ingot_tungsten, 3), 12.0F);
GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_meteor_aluminium), new ItemStack(ModItems.ingot_aluminium, 3), 5.0F);
GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_meteor_lead), new ItemStack(ModItems.ingot_lead, 3), 6.0F);
GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_meteor_lithium), new ItemStack(ModItems.lithium), 20.0F);
GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_meteor_starmetal), new ItemStack(ModItems.ingot_starmetal), 50.0F);
GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_cobalt), new ItemStack(ModItems.ingot_cobalt), 2.0F);
GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_nether_cobalt), new ItemStack(ModItems.ingot_cobalt), 2.0F);
GameRegistry.addSmelting(DictFrame.fromOne(ModBlocks.ore_meteor, EnumMeteorType.IRON), new ItemStack(Items.iron_ingot, 16), 10.0F);
GameRegistry.addSmelting(DictFrame.fromOne(ModBlocks.ore_meteor, EnumMeteorType.COPPER), new ItemStack(ModItems.ingot_copper, 16), 10.0F);
GameRegistry.addSmelting(DictFrame.fromOne(ModBlocks.ore_meteor, EnumMeteorType.ALUMINIUM), new ItemStack(ModItems.ingot_aluminium, 16), 10.0F);
GameRegistry.addSmelting(DictFrame.fromOne(ModBlocks.ore_meteor, EnumMeteorType.RAREEARTH), DictFrame.fromOne(ModItems.chunk_ore, EnumChunkType.RARE, 16), 10.0F);
GameRegistry.addSmelting(DictFrame.fromOne(ModBlocks.ore_meteor, EnumMeteorType.COBALT), new ItemStack(ModItems.ingot_cobalt, 4), 10.0F);
GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_gneiss_iron), new ItemStack(Items.iron_ingot), 5.0F);
GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_gneiss_gold), new ItemStack(Items.gold_ingot), 5.0F);
GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_gneiss_uranium), new ItemStack(ModItems.ingot_uranium), 12.0F);

View File

@ -87,7 +87,6 @@ public class EntityMappings {
addEntity(EntityGrenadeZOMG.class, "entity_grenade_zomg", 500);
addEntity(EntityGrenadeASchrab.class, "entity_grenade_aschrab", 500);
addEntity(EntityFalloutRain.class, "entity_fallout", 1000);
addEntity(EntityDischarge.class, "entity_emp_discharge", 500);
addEntity(EntityEMPBlast.class, "entity_emp_blast", 1000);
addEntity(EntityFire.class, "entity_fire", 1000);
addEntity(EntityPlasmaBeam.class, "entity_immolator_beam", 1000);

View File

@ -176,7 +176,6 @@ public class EntityFBI extends EntityMob implements IRangedAttackMob {
canDestroy.add(ModBlocks.crate_iron);
canDestroy.add(ModBlocks.crate_steel);
canDestroy.add(ModBlocks.machine_diesel);
canDestroy.add(ModBlocks.machine_selenium);
canDestroy.add(ModBlocks.machine_rtg_grey);
canDestroy.add(ModBlocks.machine_minirtg);
canDestroy.add(ModBlocks.machine_powerrtg);

View File

@ -1,595 +0,0 @@
package com.hbm.entity.projectile;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.util.List;
import com.hbm.entity.effect.EntityEMPBlast;
import com.hbm.explosion.ExplosionNukeGeneric;
import com.hbm.lib.ModDamageSource;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.enchantment.EnchantmentHelper;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.IProjectile;
import net.minecraft.entity.monster.EntityEnderman;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.network.play.server.S2BPacketChangeGameState;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.DamageSource;
import net.minecraft.util.MathHelper;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.util.Vec3;
import net.minecraft.world.World;
public class EntityDischarge extends Entity implements IProjectile
{
private int field_145791_d = -1;
private int field_145792_e = -1;
private int field_145789_f = -1;
public double gravity = 0.0D;
private Block field_145790_g;
private int inData;
private boolean inGround;
/** 1 if the player can pick up the arrow */
public int canBePickedUp;
/** Seems to be some sort of timer for animating an arrow. */
public int arrowShake;
/** The owner of this arrow. */
public Entity shootingEntity;
private int ticksInGround;
private int ticksInAir;
private double damage = 2.0D;
/** The amount of knockback an arrow applies when it hits a mob. */
private int knockbackStrength;
public EntityDischarge(World p_i1753_1_)
{
super(p_i1753_1_);
this.renderDistanceWeight = 10.0D;
this.setSize(1.5F, 1.5F);
}
public EntityDischarge(World p_i1754_1_, double p_i1754_2_, double p_i1754_4_, double p_i1754_6_)
{
super(p_i1754_1_);
this.renderDistanceWeight = 10.0D;
this.setSize(1.5F, 1.5F);
this.setPosition(p_i1754_2_, p_i1754_4_, p_i1754_6_);
this.yOffset = 0.0F;
}
public EntityDischarge(World p_i1755_1_, EntityLivingBase p_i1755_2_, EntityLivingBase p_i1755_3_, float p_i1755_4_, float p_i1755_5_)
{
super(p_i1755_1_);
this.renderDistanceWeight = 10.0D;
this.shootingEntity = p_i1755_2_;
if (p_i1755_2_ instanceof EntityPlayer)
{
this.canBePickedUp = 1;
}
this.posY = p_i1755_2_.posY + p_i1755_2_.getEyeHeight() - 0.10000000149011612D;
double d0 = p_i1755_3_.posX - p_i1755_2_.posX;
double d1 = p_i1755_3_.boundingBox.minY + p_i1755_3_.height / 3.0F - this.posY;
double d2 = p_i1755_3_.posZ - p_i1755_2_.posZ;
double d3 = MathHelper.sqrt_double(d0 * d0 + d2 * d2);
if (d3 >= 1.0E-7D)
{
float f2 = (float)(Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F;
float f3 = (float)(-(Math.atan2(d1, d3) * 180.0D / Math.PI));
double d4 = d0 / d3;
double d5 = d2 / d3;
this.setLocationAndAngles(p_i1755_2_.posX + d4, this.posY, p_i1755_2_.posZ + d5, f2, f3);
this.yOffset = 0.0F;
float f4 = (float)d3 * 0.2F;
this.setThrowableHeading(d0, d1 + f4, d2, p_i1755_4_, p_i1755_5_);
}
}
public EntityDischarge(World p_i1756_1_, EntityLivingBase p_i1756_2_, float p_i1756_3_)
{
super(p_i1756_1_);
this.renderDistanceWeight = 10.0D;
this.shootingEntity = p_i1756_2_;
if (p_i1756_2_ instanceof EntityPlayer)
{
this.canBePickedUp = 1;
}
this.setSize(1.5F, 1.5F);
this.setLocationAndAngles(p_i1756_2_.posX, p_i1756_2_.posY + p_i1756_2_.getEyeHeight(), p_i1756_2_.posZ, p_i1756_2_.rotationYaw, p_i1756_2_.rotationPitch);
this.posX -= MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F;
this.posY -= 0.10000000149011612D;
this.posZ -= MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F;
this.setPosition(this.posX, this.posY, this.posZ);
this.yOffset = 0.0F;
this.motionX = -MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI);
this.motionZ = MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI);
this.motionY = (-MathHelper.sin(this.rotationPitch / 180.0F * (float)Math.PI));
this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, p_i1756_3_ * 1.5F, 1.0F);
}
public EntityDischarge(World world, int x, int y, int z, double mx, double my, double mz, double grav) {
super(world);
this.posX = x + 0.5F;
this.posY = y + 0.5F;
this.posZ = z + 0.5F;
this.motionX = mx;
this.motionY = my;
this.motionZ = mz;
this.gravity = grav;
}
@Override
protected void entityInit()
{
this.dataWatcher.addObject(16, Byte.valueOf((byte)0));
}
/**
* Similar to setArrowHeading, it's point the throwable entity to a x, y, z direction.
*/
@Override
public void setThrowableHeading(double p_70186_1_, double p_70186_3_, double p_70186_5_, float p_70186_7_, float p_70186_8_)
{
float f2 = MathHelper.sqrt_double(p_70186_1_ * p_70186_1_ + p_70186_3_ * p_70186_3_ + p_70186_5_ * p_70186_5_);
p_70186_1_ /= f2;
p_70186_3_ /= f2;
p_70186_5_ /= f2;
p_70186_1_ += this.rand.nextGaussian() * (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * p_70186_8_;
p_70186_3_ += this.rand.nextGaussian() * (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * p_70186_8_;
p_70186_5_ += this.rand.nextGaussian() * (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * p_70186_8_;
p_70186_1_ *= p_70186_7_;
p_70186_3_ *= p_70186_7_;
p_70186_5_ *= p_70186_7_;
this.motionX = p_70186_1_;
this.motionY = p_70186_3_;
this.motionZ = p_70186_5_;
float f3 = MathHelper.sqrt_double(p_70186_1_ * p_70186_1_ + p_70186_5_ * p_70186_5_);
this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(p_70186_1_, p_70186_5_) * 180.0D / Math.PI);
this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(p_70186_3_, f3) * 180.0D / Math.PI);
this.ticksInGround = 0;
}
/**
* Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX,
* posY, posZ, yaw, pitch
*/
@Override
@SideOnly(Side.CLIENT)
public void setPositionAndRotation2(double p_70056_1_, double p_70056_3_, double p_70056_5_, float p_70056_7_, float p_70056_8_, int p_70056_9_)
{
this.setPosition(p_70056_1_, p_70056_3_, p_70056_5_);
this.setRotation(p_70056_7_, p_70056_8_);
}
/**
* Sets the velocity to the args. Args: x, y, z
*/
@Override
@SideOnly(Side.CLIENT)
public void setVelocity(double p_70016_1_, double p_70016_3_, double p_70016_5_)
{
this.motionX = p_70016_1_;
this.motionY = p_70016_3_;
this.motionZ = p_70016_5_;
if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F)
{
float f = MathHelper.sqrt_double(p_70016_1_ * p_70016_1_ + p_70016_5_ * p_70016_5_);
this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(p_70016_1_, p_70016_5_) * 180.0D / Math.PI);
this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(p_70016_3_, f) * 180.0D / Math.PI);
this.prevRotationPitch = this.rotationPitch;
this.prevRotationYaw = this.rotationYaw;
this.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch);
this.ticksInGround = 0;
}
}
/**
* Called to update the entity's position/logic.
*/
//@Override
@Override
public void onUpdate()
{
super.onUpdate();
if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F)
{
MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ);
this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI);
//this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f) * 180.0D / Math.PI);
}
Block block = this.worldObj.getBlock(this.field_145791_d, this.field_145792_e, this.field_145789_f);
if (block.getMaterial() != Material.air)
{
block.setBlockBoundsBasedOnState(this.worldObj, this.field_145791_d, this.field_145792_e, this.field_145789_f);
AxisAlignedBB axisalignedbb = block.getCollisionBoundingBoxFromPool(this.worldObj, this.field_145791_d, this.field_145792_e, this.field_145789_f);
if (axisalignedbb != null && axisalignedbb.isVecInside(Vec3.createVectorHelper(this.posX, this.posY, this.posZ)))
{
this.inGround = true;
}
}
if (this.arrowShake > 0)
{
--this.arrowShake;
}
if (this.inGround)
{
this.setDead();
EntityEMPBlast cloud = new EntityEMPBlast(this.worldObj, 10);
cloud.posX = this.posX;
cloud.posY = this.posY + 0.5F;
cloud.posZ = this.posZ;
if (!this.worldObj.isRemote) {
this.worldObj.spawnEntityInWorld(cloud);
}
ExplosionNukeGeneric.empBlast(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 10);
}
else
{
++this.ticksInAir;
Vec3 vec31 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ);
Vec3 vec3 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ);
MovingObjectPosition movingobjectposition = this.worldObj.func_147447_a(vec31, vec3, false, true, false);
vec31 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ);
vec3 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ);
if (movingobjectposition != null)
{
vec3 = Vec3.createVectorHelper(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord);
}
Entity entity = null;
List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ).expand(1.0D, 1.0D, 1.0D));
double d0 = 0.0D;
int i;
float f1;
for (i = 0; i < list.size(); ++i)
{
Entity entity1 = (Entity)list.get(i);
if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5))
{
f1 = 0.3F;
AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand(f1, f1, f1);
MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec31, vec3);
if (movingobjectposition1 != null)
{
double d1 = vec31.distanceTo(movingobjectposition1.hitVec);
if (d1 < d0 || d0 == 0.0D)
{
entity = entity1;
d0 = d1;
}
}
}
}
if (entity != null)
{
movingobjectposition = new MovingObjectPosition(entity);
}
if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer)
{
EntityPlayer entityplayer = (EntityPlayer)movingobjectposition.entityHit;
if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer)this.shootingEntity).canAttackPlayer(entityplayer))
{
movingobjectposition = null;
}
}
float f2;
float f4;
if (movingobjectposition != null)
{
if (movingobjectposition.entityHit != null)
{
f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ);
int k = MathHelper.ceiling_double_int(f2 * this.damage);
if (this.getIsCritical())
{
k += this.rand.nextInt(k / 2 + 2);
}
DamageSource damagesource = null;
if (this.shootingEntity == null)
{
damagesource = DamageSource.generic;
}
else
{
damagesource = ModDamageSource.causeDischargeDamage(this, this);
}
if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman))
{
movingobjectposition.entityHit.setFire(5);
}
if (movingobjectposition.entityHit.attackEntityFrom(damagesource, k))
{
if (movingobjectposition.entityHit instanceof EntityLivingBase)
{
EntityLivingBase entitylivingbase = (EntityLivingBase)movingobjectposition.entityHit;
if (this.knockbackStrength > 0)
{
f4 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ);
if (f4 > 0.0F)
{
movingobjectposition.entityHit.addVelocity(this.motionX * this.knockbackStrength * 0.6000000238418579D / f4, 0.1D, this.motionZ * this.knockbackStrength * 0.6000000238418579D / f4);
}
}
if (this.shootingEntity != null && this.shootingEntity instanceof EntityLivingBase)
{
EnchantmentHelper.func_151384_a(entitylivingbase, this.shootingEntity);
EnchantmentHelper.func_151385_b((EntityLivingBase)this.shootingEntity, entitylivingbase);
}
if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP)
{
((EntityPlayerMP)this.shootingEntity).playerNetServerHandler.sendPacket(new S2BPacketChangeGameState(6, 0.0F));
}
}
if (!(movingobjectposition.entityHit instanceof EntityEnderman))
{
if (!this.worldObj.isRemote && movingobjectposition.entityHit instanceof EntityLivingBase)
{
movingobjectposition.entityHit.attackEntityFrom(damagesource, 24 + rand.nextInt(11));
}
}
}
}
else
{
this.field_145791_d = movingobjectposition.blockX;
this.field_145792_e = movingobjectposition.blockY;
this.field_145789_f = movingobjectposition.blockZ;
this.field_145790_g = this.worldObj.getBlock(this.field_145791_d, this.field_145792_e, this.field_145789_f);
this.inData = this.worldObj.getBlockMetadata(this.field_145791_d, this.field_145792_e, this.field_145789_f);
this.motionX = ((float)(movingobjectposition.hitVec.xCoord - this.posX));
this.motionY = ((float)(movingobjectposition.hitVec.yCoord - this.posY));
this.motionZ = ((float)(movingobjectposition.hitVec.zCoord - this.posZ));
f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ);
this.posX -= this.motionX / f2 * 0.05000000074505806D;
this.posY -= this.motionY / f2 * 0.05000000074505806D;
this.posZ -= this.motionZ / f2 * 0.05000000074505806D;
this.inGround = true;
this.arrowShake = 7;
this.setIsCritical(false);
if (this.field_145790_g.getMaterial() != Material.air)
{
this.field_145790_g.onEntityCollidedWithBlock(this.worldObj, this.field_145791_d, this.field_145792_e, this.field_145789_f, this);
}
}
}
this.posX += this.motionX;
this.posY += this.motionY;
this.posZ += this.motionZ;
f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ);
this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI);
float f3 = 0.99F;
f1 = 0.05F;
if (this.isInWater())
{
for (int l = 0; l < 4; ++l)
{
f4 = 0.25F;
this.worldObj.spawnParticle("bubble", this.posX - this.motionX * f4, this.posY - this.motionY * f4, this.posZ - this.motionZ * f4, this.motionX, this.motionY, this.motionZ);
}
f3 = 0.8F;
}
if (this.isWet())
{
this.extinguish();
}
this.motionX *= f3;
this.motionY *= f3;
this.motionZ *= f3;
this.motionY -= gravity;
this.setPosition(this.posX, this.posY, this.posZ);
this.func_145775_I();
}
if (this.ticksExisted > 250) {
EntityEMPBlast cloud = new EntityEMPBlast(this.worldObj, 10);
cloud.posX = this.posX;
cloud.posY = this.posY + 0.5F;
cloud.posZ = this.posZ;
if (!this.worldObj.isRemote) {
this.worldObj.spawnEntityInWorld(cloud);
}
ExplosionNukeGeneric.empBlast(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 10);
this.setDead();
}
}
/**
* (abstract) Protected helper method to write subclass entity data to NBT.
*/
@Override
public void writeEntityToNBT(NBTTagCompound p_70014_1_)
{
p_70014_1_.setShort("xTile", (short)this.field_145791_d);
p_70014_1_.setShort("yTile", (short)this.field_145792_e);
p_70014_1_.setShort("zTile", (short)this.field_145789_f);
p_70014_1_.setShort("life", (short)this.ticksInGround);
p_70014_1_.setByte("inTile", (byte)Block.getIdFromBlock(this.field_145790_g));
p_70014_1_.setByte("inData", (byte)this.inData);
p_70014_1_.setByte("shake", (byte)this.arrowShake);
p_70014_1_.setByte("inGround", (byte)(this.inGround ? 1 : 0));
p_70014_1_.setByte("pickup", (byte)this.canBePickedUp);
p_70014_1_.setDouble("damage", this.damage);
}
/**
* (abstract) Protected helper method to read subclass entity data from NBT.
*/
@Override
public void readEntityFromNBT(NBTTagCompound p_70037_1_)
{
this.field_145791_d = p_70037_1_.getShort("xTile");
this.field_145792_e = p_70037_1_.getShort("yTile");
this.field_145789_f = p_70037_1_.getShort("zTile");
this.ticksInGround = p_70037_1_.getShort("life");
this.field_145790_g = Block.getBlockById(p_70037_1_.getByte("inTile") & 255);
this.inData = p_70037_1_.getByte("inData") & 255;
this.arrowShake = p_70037_1_.getByte("shake") & 255;
this.inGround = p_70037_1_.getByte("inGround") == 1;
if (p_70037_1_.hasKey("damage", 99))
{
this.damage = p_70037_1_.getDouble("damage");
}
if (p_70037_1_.hasKey("pickup", 99))
{
this.canBePickedUp = p_70037_1_.getByte("pickup");
}
else if (p_70037_1_.hasKey("player", 99))
{
this.canBePickedUp = p_70037_1_.getBoolean("player") ? 1 : 0;
}
}
/**
* Called by a player entity when they collide with an entity
*/
@Override
public void onCollideWithPlayer(EntityPlayer p_70100_1_)
{
if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0)
{
boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && p_70100_1_.capabilities.isCreativeMode;
if (flag)
{
p_70100_1_.onItemPickup(this, 1);
this.setDead();
}
}
}
/**
* returns if this entity triggers Block.onEntityWalking on the blocks they walk on. used for spiders and wolves to
* prevent them from trampling crops
*/
@Override
protected boolean canTriggerWalking()
{
return false;
}
@Override
@SideOnly(Side.CLIENT)
public float getShadowSize()
{
return 0.0F;
}
public void setDamage(double p_70239_1_)
{
this.damage = p_70239_1_;
}
public double getDamage()
{
return this.damage;
}
/**
* Sets the amount of knockback the arrow applies when it hits a mob.
*/
public void setKnockbackStrength(int p_70240_1_)
{
this.knockbackStrength = p_70240_1_;
}
/**
* If returns false, the item will not inflict any damage against entities.
*/
@Override
public boolean canAttackWithItem()
{
return false;
}
/**
* Whether the arrow has a stream of critical hit particles flying behind it.
*/
public void setIsCritical(boolean p_70243_1_)
{
byte b0 = this.dataWatcher.getWatchableObjectByte(16);
if (p_70243_1_)
{
this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 | 1)));
}
else
{
this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 & -2)));
}
}
/**
* Whether the arrow has a stream of critical hit particles flying behind it.
*/
public boolean getIsCritical()
{
byte b0 = this.dataWatcher.getWatchableObjectByte(16);
return (b0 & 1) != 0;
}
@Override
@SideOnly(Side.CLIENT)
public int getBrightnessForRender(float p_70070_1_)
{
return 15728880;
}
@Override
public float getBrightness(float p_70013_1_)
{
return 1.0F;
}
}

View File

@ -441,7 +441,7 @@ public class ExplosionNukeGeneric {
if(random.nextInt(5) <= 1)
world.setBlock(x, y, z, ModBlocks.block_electrical_scrap);
}
if((b == ModBlocks.fusion_conductor || b == ModBlocks.fwatz_conductor || b == ModBlocks.fusion_motor || b == ModBlocks.fusion_heater || b == ModBlocks.fwatz_computer) && random.nextInt(10) == 0)
if((b == ModBlocks.fusion_conductor || b == ModBlocks.fusion_motor || b == ModBlocks.fusion_heater) && random.nextInt(10) == 0)
world.setBlock(x, y, z, ModBlocks.block_electrical_scrap);
}
}

View File

@ -2,13 +2,13 @@ package com.hbm.handler.imc;
import net.minecraft.item.ItemStack;
import java.util.ArrayList;
public interface ICompatNHNEI {
/**First item on the list is the icon for the recipe in the NEI GUI, the rest are displayed on the sidebar
* as other items that can be used for the same purpose**/
ItemStack[] getMachinesForRecipe();
String getRecipeID();
/**
* First item on the list is the icon for the recipe in the NEI GUI, the
* rest are displayed on the sidebar as other items that can be used for the
* same purpose
**/
public ItemStack[] getMachinesForRecipe();
public String getRecipeID();
}

View File

@ -4,7 +4,6 @@ import java.awt.Rectangle;
import java.util.ArrayList;
import java.util.List;
import com.hbm.blocks.ModBlocks;
import com.hbm.handler.imc.ICompatNHNEI;
import com.hbm.inventory.RecipesCommon.AStack;
import com.hbm.inventory.RecipesCommon.ComparableStack;

View File

@ -5,7 +5,6 @@ import java.util.Arrays;
import java.util.List;
import java.util.Map;
import com.hbm.blocks.ModBlocks;
import com.hbm.handler.imc.ICompatNHNEI;
import com.hbm.inventory.recipes.MachineRecipes;
import com.hbm.items.ModItems;

View File

@ -10,7 +10,6 @@ import java.util.LinkedList;
import java.util.List;
import java.util.Map.Entry;
import com.hbm.blocks.ModBlocks;
import com.hbm.handler.imc.ICompatNHNEI;
import com.hbm.lib.RefStrings;
import com.hbm.util.InventoryUtil;

View File

@ -26,6 +26,7 @@ import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
@SuppressWarnings("unused") //shut the fuck up
public class HazardRegistry {
//CO60 5a β 030.00Rad/s Spicy

View File

@ -328,11 +328,11 @@ public class OreDictManager {
/*
* RADIOACTIVE
*/
U .rad(HazardRegistry.u) .nugget(nugget_uranium) .billet(billet_uranium) .ingot(ingot_uranium) .dust(powder_uranium) .block(block_uranium) .ore(ore_uranium, ore_uranium_scorched, ore_gneiss_uranium, ore_gneiss_uranium_scorched, ore_nether_uranium, ore_nether_uranium_scorched, ore_meteor_uranium, ore_sellafield_uranium_scorched) .oreNether(ore_nether_uranium, ore_nether_uranium_scorched);
U .rad(HazardRegistry.u) .nugget(nugget_uranium) .billet(billet_uranium) .ingot(ingot_uranium) .dust(powder_uranium) .block(block_uranium) .ore(ore_uranium, ore_uranium_scorched, ore_gneiss_uranium, ore_gneiss_uranium_scorched, ore_nether_uranium, ore_nether_uranium_scorched, ore_sellafield_uranium_scorched) .oreNether(ore_nether_uranium, ore_nether_uranium_scorched);
U233 .rad(HazardRegistry.u233) .nugget(nugget_u233) .billet(billet_u233) .ingot(ingot_u233) .block(block_u233);
U235 .rad(HazardRegistry.u235) .nugget(nugget_u235) .billet(billet_u235) .ingot(ingot_u235) .block(block_u235);
U238 .rad(HazardRegistry.u238) .nugget(nugget_u238) .billet(billet_u238) .ingot(ingot_u238) .block(block_u238);
TH232 .rad(HazardRegistry.th232) .nugget(nugget_th232) .billet(billet_th232) .ingot(ingot_th232) .dust(powder_thorium) .block(block_thorium) .ore(ore_thorium, ore_meteor_thorium);
TH232 .rad(HazardRegistry.th232) .nugget(nugget_th232) .billet(billet_th232) .ingot(ingot_th232) .dust(powder_thorium) .block(block_thorium) .ore(ore_thorium);
PU .rad(HazardRegistry.pu) .nugget(nugget_plutonium) .billet(billet_plutonium) .ingot(ingot_plutonium) .dust(powder_plutonium) .block(block_plutonium) .ore(ore_nether_plutonium) .oreNether(ore_nether_plutonium);
PURG .rad(HazardRegistry.purg) .nugget(nugget_pu_mix) .billet(billet_pu_mix) .ingot(ingot_pu_mix) .block(block_pu_mix);
PU238 .rad(HazardRegistry.pu238) .hot(3F) .nugget(nugget_pu238) .billet(billet_pu238) .ingot(ingot_pu238) .block(block_pu238);
@ -360,18 +360,18 @@ public class OreDictManager {
/*
* STABLE
*/
TI .ingot(ingot_titanium) .dust(powder_titanium) .plate(plate_titanium) .block(block_titanium) .ore(ore_titanium, ore_meteor_titanium);
CU .ingot(ingot_copper) .dust(powder_copper) .plate(plate_copper) .block(block_copper) .ore(ore_copper, ore_gneiss_copper, ore_meteor_copper);
TI .ingot(ingot_titanium) .dust(powder_titanium) .plate(plate_titanium) .block(block_titanium) .ore(ore_titanium);
CU .ingot(ingot_copper) .dust(powder_copper) .plate(plate_copper) .block(block_copper) .ore(ore_copper, ore_gneiss_copper);
MINGRADE .ingot(ingot_red_copper) .dust(powder_red_copper) .block(block_red_copper);
ALLOY .ingot(ingot_advanced_alloy) .dust(powder_advanced_alloy) .plate(plate_advanced_alloy) .block(block_advanced_alloy);
W .ingot(ingot_tungsten) .dust(powder_tungsten) .block(block_tungsten) .ore(ore_tungsten, ore_nether_tungsten, ore_meteor_tungsten) .oreNether(ore_nether_tungsten);
AL .ingot(ingot_aluminium) .dust(powder_aluminium) .plate(plate_aluminium) .block(block_aluminium) .ore(ore_aluminium, ore_meteor_aluminium);
W .ingot(ingot_tungsten) .dust(powder_tungsten) .block(block_tungsten) .ore(ore_tungsten, ore_nether_tungsten) .oreNether(ore_nether_tungsten);
AL .ingot(ingot_aluminium) .dust(powder_aluminium) .plate(plate_aluminium) .block(block_aluminium) .ore(ore_aluminium);
STEEL .ingot(ingot_steel) .dustSmall(powder_steel_tiny) .dust(powder_steel) .plate(plate_steel) .block(block_steel);
TCALLOY .ingot(ingot_tcalloy) .dust(powder_tcalloy) .block(block_tcalloy);
CDALLOY .ingot(ingot_cdalloy) .block(block_cdalloy);
BBRONZE .ingot(ingot_bismuth_bronze);
ABRONZE .ingot(ingot_arsenic_bronze);
PB .nugget(nugget_lead) .ingot(ingot_lead) .dust(powder_lead) .plate(plate_lead) .block(block_lead) .ore(ore_lead, ore_meteor_lead);
PB .nugget(nugget_lead) .ingot(ingot_lead) .dust(powder_lead) .plate(plate_lead) .block(block_lead) .ore(ore_lead);
BI .nugget(nugget_bismuth) .billet(billet_bismuth) .ingot(ingot_bismuth) .dust(powder_bismuth) .block(block_bismuth);
AS .nugget(nugget_arsenic) .ingot(ingot_arsenic);
CA .ingot(ingot_calcium) .dust(powder_calcium);
@ -394,7 +394,7 @@ public class OreDictManager {
MAGTUNG .ingot(ingot_magnetized_tungsten) .dust(powder_magnetized_tungsten) .block(block_magnetized_tungsten);
CMB .ingot(ingot_combine_steel) .dust(powder_combine_steel) .plate(plate_combine_steel) .block(block_combine_steel);
DESH .nugget(nugget_desh) .ingot(ingot_desh) .dust(powder_desh) .block(block_desh);
STAR .ingot(ingot_starmetal) .block(block_starmetal) .ore(ore_meteor_starmetal);
STAR .ingot(ingot_starmetal) .block(block_starmetal);
BIGMT .ingot(ingot_saturnite) .plate(plate_saturnite);
FERRO .ingot(ingot_ferrouranium);
EUPH .nugget(nugget_euphemium) .ingot(ingot_euphemium) .dust(powder_euphemium) .block(block_euphemium);
@ -406,7 +406,7 @@ public class OreDictManager {
/*
* DUST AND GEM ORES
*/
S .dust(sulfur) .block(block_sulfur) .ore(ore_sulfur, ore_nether_sulfur, DictFrame.fromOne(ore_basalt, EnumBasaltOreType.SULFUR), ore_meteor_sulfur, DictFrame.fromOne(stone_resource, EnumStoneType.SULFUR)) .oreNether(ore_nether_sulfur);
S .dust(sulfur) .block(block_sulfur) .ore(ore_sulfur, ore_nether_sulfur, DictFrame.fromOne(ore_basalt, EnumBasaltOreType.SULFUR), DictFrame.fromOne(stone_resource, EnumStoneType.SULFUR)) .oreNether(ore_nether_sulfur);
KNO .dust(niter) .block(block_niter) .ore(ore_niter);
F .dust(fluorite) .block(block_fluorite) .ore(ore_fluorite, DictFrame.fromOne(ore_basalt, EnumBasaltOreType.FLUORITE));
LIGNITE .gem(lignite) .dust(powder_lignite) .ore(ore_lignite);
@ -426,7 +426,7 @@ public class OreDictManager {
/*
* HAZARDS, MISC
*/
LI .hydro(1F) .ingot(lithium) .dustSmall(powder_lithium_tiny) .dust(powder_lithium) .block(block_lithium) .ore(ore_gneiss_lithium, ore_meteor_lithium);
LI .hydro(1F) .ingot(lithium) .dustSmall(powder_lithium_tiny) .dust(powder_lithium) .block(block_lithium) .ore(ore_gneiss_lithium);
NA .hydro(1F) .dust(powder_sodium);
/*

View File

@ -1,154 +0,0 @@
package com.hbm.inventory.container;
import com.hbm.tileentity.machine.TileEntityAMSBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.Container;
import net.minecraft.inventory.ICrafting;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
public class ContainerAMSBase extends Container {
private TileEntityAMSBase amsBase;
private int heat;
private int warning;
private int mode;
public ContainerAMSBase(InventoryPlayer invPlayer, TileEntityAMSBase tedf) {
amsBase = tedf;
//Cool 1 In
this.addSlotToContainer(new Slot(tedf, 0, 8, 18));
//Cool 1 Out
this.addSlotToContainer(new Slot(tedf, 1, 8, 54));
//Cool 2 In
this.addSlotToContainer(new Slot(tedf, 2, 152, 18));
//Cool 2 Out
this.addSlotToContainer(new Slot(tedf, 3, 152, 54));
//Fuel 1 In
this.addSlotToContainer(new Slot(tedf, 4, 8, 72));
//Fuel 1 Out
this.addSlotToContainer(new Slot(tedf, 5, 8, 108));
//Fuel 2 In
this.addSlotToContainer(new Slot(tedf, 6, 152, 72));
//Fuel 2 Out
this.addSlotToContainer(new Slot(tedf, 7, 152, 108));
//Moderator
this.addSlotToContainer(new Slot(tedf, 8, 80, 45));
this.addSlotToContainer(new Slot(tedf, 9, 62, 63));
this.addSlotToContainer(new Slot(tedf, 10, 98, 63));
this.addSlotToContainer(new Slot(tedf, 11, 80, 81));
//Core
this.addSlotToContainer(new Slot(tedf, 12, 80, 63));
//Sat Chips
this.addSlotToContainer(new Slot(tedf, 13, 62, 108));
this.addSlotToContainer(new Slot(tedf, 14, 62 + 18, 108));
this.addSlotToContainer(new Slot(tedf, 15, 62 + 36, 108));
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 + 56));
}
}
for(int i = 0; i < 9; i++)
{
this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142 + 56));
}
}
@Override
public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int par2)
{
ItemStack var3 = null;
Slot var4 = (Slot) this.inventorySlots.get(par2);
if (var4 != null && var4.getHasStack())
{
ItemStack var5 = var4.getStack();
var3 = var5.copy();
if (par2 <= 3) {
if (!this.mergeItemStack(var5, 4, this.inventorySlots.size(), true))
{
return null;
}
}
else
return null;
if (var5.stackSize == 0)
{
var4.putStack((ItemStack) null);
}
else
{
var4.onSlotChanged();
}
}
return var3;
}
@Override
public boolean canInteractWith(EntityPlayer player) {
return amsBase.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.heat != this.amsBase.heat)
{
par1.sendProgressBarUpdate(this, 0, this.amsBase.heat);
}
if(this.warning != this.amsBase.warning)
{
par1.sendProgressBarUpdate(this, 2, this.amsBase.warning);
}
if(this.mode != this.amsBase.mode)
{
par1.sendProgressBarUpdate(this, 4, this.amsBase.mode);
}
}
this.heat = this.amsBase.heat;
this.warning = this.amsBase.warning;
this.mode = this.amsBase.mode;
}
@Override
public void updateProgressBar(int i, int j) {
if(i == 0)
{
amsBase.heat = j;
}
if(i == 1)
{
amsBase.efficiency = j;
}
if(i == 2)
{
amsBase.warning = j;
}
if(i == 3)
{
amsBase.field = j;
}
if(i == 4)
{
amsBase.mode = j;
}
}
}

View File

@ -1,116 +0,0 @@
package com.hbm.inventory.container;
import com.hbm.tileentity.machine.TileEntityAMSEmitter;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.Container;
import net.minecraft.inventory.ICrafting;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
public class ContainerAMSEmitter extends Container {
private TileEntityAMSEmitter amsEmitter;
private int heat;
private int warning;
public ContainerAMSEmitter(InventoryPlayer invPlayer, TileEntityAMSEmitter tedf) {
amsEmitter = tedf;
//Fluid In
this.addSlotToContainer(new Slot(tedf, 0, 44, 17));
//Fluid Out
this.addSlotToContainer(new Slot(tedf, 1, 44, 53));
//Focus
this.addSlotToContainer(new Slot(tedf, 2, 80, 53));
//Battery
this.addSlotToContainer(new Slot(tedf, 3, 116, 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 < 9; i++)
{
this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142));
}
}
@Override
public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int par2)
{
ItemStack var3 = null;
Slot var4 = (Slot) this.inventorySlots.get(par2);
if (var4 != null && var4.getHasStack())
{
ItemStack var5 = var4.getStack();
var3 = var5.copy();
if (par2 <= 3) {
if (!this.mergeItemStack(var5, 4, this.inventorySlots.size(), true))
{
return null;
}
}
else
return null;
if (var5.stackSize == 0)
{
var4.putStack((ItemStack) null);
}
else
{
var4.onSlotChanged();
}
}
return var3;
}
@Override
public boolean canInteractWith(EntityPlayer player) {
return amsEmitter.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.heat != this.amsEmitter.heat)
{
par1.sendProgressBarUpdate(this, 0, this.amsEmitter.heat);
}
if(this.warning != this.amsEmitter.warning)
{
par1.sendProgressBarUpdate(this, 2, this.amsEmitter.warning);
}
}
this.heat = this.amsEmitter.heat;
this.warning = this.amsEmitter.warning;
}
@Override
public void updateProgressBar(int i, int j) {
if(i == 0)
{
amsEmitter.heat = j;
}
if(i == 2)
{
amsEmitter.warning = j;
}
}
}

View File

@ -1,127 +0,0 @@
package com.hbm.inventory.container;
import com.hbm.tileentity.machine.TileEntityAMSLimiter;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.Container;
import net.minecraft.inventory.ICrafting;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
public class ContainerAMSLimiter extends Container {
private TileEntityAMSLimiter amsLmiter;
private int heat;
private int warning;
private int mode;
public ContainerAMSLimiter(InventoryPlayer invPlayer, TileEntityAMSLimiter tedf) {
amsLmiter = tedf;
//Fluid In
this.addSlotToContainer(new Slot(tedf, 0, 44, 17));
//Fluid Out
this.addSlotToContainer(new Slot(tedf, 1, 44, 53));
//Focus
this.addSlotToContainer(new Slot(tedf, 2, 80, 53));
//Battery
this.addSlotToContainer(new Slot(tedf, 3, 116, 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 < 9; i++)
{
this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142));
}
}
@Override
public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int par2)
{
ItemStack var3 = null;
Slot var4 = (Slot) this.inventorySlots.get(par2);
if (var4 != null && var4.getHasStack())
{
ItemStack var5 = var4.getStack();
var3 = var5.copy();
if (par2 <= 3) {
if (!this.mergeItemStack(var5, 4, this.inventorySlots.size(), true))
{
return null;
}
}
else
return null;
if (var5.stackSize == 0)
{
var4.putStack((ItemStack) null);
}
else
{
var4.onSlotChanged();
}
}
return var3;
}
@Override
public boolean canInteractWith(EntityPlayer player) {
return amsLmiter.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.heat != this.amsLmiter.heat)
{
par1.sendProgressBarUpdate(this, 0, this.amsLmiter.heat);
}
if(this.warning != this.amsLmiter.warning)
{
par1.sendProgressBarUpdate(this, 2, this.amsLmiter.warning);
}
if(this.mode != this.amsLmiter.mode)
{
par1.sendProgressBarUpdate(this, 3, this.amsLmiter.mode);
}
}
this.heat = this.amsLmiter.heat;
this.warning = this.amsLmiter.warning;
this.mode = this.amsLmiter.mode;
}
@Override
public void updateProgressBar(int i, int j) {
if(i == 0)
{
amsLmiter.heat = j;
}
if(i == 2)
{
amsLmiter.warning = j;
}
if(i == 3)
{
amsLmiter.mode = j;
}
}
}

View File

@ -1,119 +0,0 @@
package com.hbm.inventory.container;
import com.hbm.tileentity.machine.TileEntityFWatzCore;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.Container;
import net.minecraft.inventory.ICrafting;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
public class ContainerFWatzCore extends Container {
private TileEntityFWatzCore diFurnace;
private boolean isRunning;
public ContainerFWatzCore(InventoryPlayer invPlayer, TileEntityFWatzCore tedf) {
diFurnace = tedf;
this.addSlotToContainer(new Slot(tedf, 0, 26, 108));
this.addSlotToContainer(new Slot(tedf, 1, 62, 90));
this.addSlotToContainer(new Slot(tedf, 2, 98, 90));
//Inputs
this.addSlotToContainer(new Slot(tedf, 3, 134, 108 - 18));
this.addSlotToContainer(new Slot(tedf, 4, 152, 108 - 18));
//Outputs
this.addSlotToContainer(new Slot(tedf, 5, 134, 108));
this.addSlotToContainer(new Slot(tedf, 6, 152, 108));
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 + 56));
}
}
for(int i = 0; i < 9; i++)
{
this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142 + 56));
}
}
@Override
public void addCraftingToCrafters(ICrafting crafting) {
super.addCraftingToCrafters(crafting);
crafting.sendProgressBarUpdate(this, 1, isRunning ? 1 : 0);
}
@Override
public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int par2)
{
ItemStack var3 = null;
Slot var4 = (Slot) this.inventorySlots.get(par2);
if (var4 != null && var4.getHasStack())
{
ItemStack var5 = var4.getStack();
var3 = var5.copy();
if (par2 <= 6) {
if (!this.mergeItemStack(var5, 7, this.inventorySlots.size(), true))
{
return null;
}
} else {
return null;
}
if (var5.stackSize == 0)
{
var4.putStack((ItemStack) null);
}
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.isRunning != this.diFurnace.isRunning())
{
par1.sendProgressBarUpdate(this, 1, this.diFurnace.isRunning() ? 1 : 0);
}
}
this.isRunning = this.diFurnace.isRunning();
}
@Override
public void updateProgressBar(int i, int j) {
if(i == 1)
{
if(j == 0)
{
diFurnace.emptyPlasma();
} else {
diFurnace.fillPlasma();
}
}
}
}

View File

@ -1,93 +0,0 @@
package com.hbm.inventory.container;
import com.hbm.inventory.SlotTakeOnly;
import com.hbm.tileentity.machine.TileEntityMachineSeleniumEngine;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.Container;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
public class ContainerMachineSelenium extends Container {
private TileEntityMachineSeleniumEngine seleniumEngine;
public ContainerMachineSelenium(InventoryPlayer invPlayer, TileEntityMachineSeleniumEngine tedf) {
seleniumEngine = tedf;
//Pistons
this.addSlotToContainer(new Slot(tedf, 0, 8, 18));
this.addSlotToContainer(new Slot(tedf, 1, 26, 18));
this.addSlotToContainer(new Slot(tedf, 2, 44, 18));
this.addSlotToContainer(new Slot(tedf, 3, 8, 36));
this.addSlotToContainer(new Slot(tedf, 4, 26, 36));
this.addSlotToContainer(new Slot(tedf, 5, 44, 36));
this.addSlotToContainer(new Slot(tedf, 6, 8, 54));
this.addSlotToContainer(new Slot(tedf, 7, 26, 54));
this.addSlotToContainer(new Slot(tedf, 8, 44, 54));
//Fluid IO
this.addSlotToContainer(new Slot(tedf, 9, 80, 18));
this.addSlotToContainer(new SlotTakeOnly(tedf, 10, 80, 54));
//Fluid IDs
this.addSlotToContainer(new Slot(tedf, 11, 152, 18));
this.addSlotToContainer(new SlotTakeOnly(tedf, 12, 152, 54));
//Battery
this.addSlotToContainer(new Slot(tedf, 13, 116, 90));
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 + 56));
}
}
for(int i = 0; i < 9; i++)
{
this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142 + 56));
}
}
@Override
public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int par2)
{
ItemStack var3 = null;
Slot var4 = (Slot) this.inventorySlots.get(par2);
if (var4 != null && var4.getHasStack())
{
ItemStack var5 = var4.getStack();
var3 = var5.copy();
if (par2 <= 13) {
if (!this.mergeItemStack(var5, 14, this.inventorySlots.size(), true))
{
return null;
}
} else {
return null;
}
if (var5.stackSize == 0)
{
var4.putStack((ItemStack) null);
}
else
{
var4.onSlotChanged();
}
}
return var3;
}
@Override
public boolean canInteractWith(EntityPlayer player) {
return seleniumEngine.isUseableByPlayer(player);
}
}

View File

@ -1,99 +0,0 @@
package com.hbm.inventory.gui;
import org.lwjgl.opengl.GL11;
import com.hbm.inventory.container.ContainerAMSBase;
import com.hbm.lib.RefStrings;
import com.hbm.tileentity.machine.TileEntityAMSBase;
import net.minecraft.client.Minecraft;
import net.minecraft.client.resources.I18n;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.util.ResourceLocation;
public class GUIAMSBase extends GuiInfoContainer {
private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gui_ams_base.png");
private TileEntityAMSBase base;
public GUIAMSBase(InventoryPlayer invPlayer, TileEntityAMSBase tedf) {
super(new ContainerAMSBase(invPlayer, tedf));
base = tedf;
this.xSize = 176;
this.ySize = 222;
}
@Override
public void drawScreen(int mouseX, int mouseY, float f) {
super.drawScreen(mouseX, mouseY, f);
base.tanks[0].renderTankInfo(this, mouseX, mouseY, guiLeft + 26, guiTop + 70 - 52, 16, 52);
base.tanks[1].renderTankInfo(this, mouseX, mouseY, guiLeft + 134, guiTop + 70 - 52, 16, 52);
base.tanks[2].renderTankInfo(this, mouseX, mouseY, guiLeft + 26, guiTop + 124 - 52, 16, 52);
base.tanks[3].renderTankInfo(this, mouseX, mouseY, guiLeft + 134, guiTop + 124 - 52, 16, 52);
this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 116, guiTop + 124 - 104, 7, 104, base.power, TileEntityAMSBase.maxPower);
this.drawCustomInfo(this, mouseX, mouseY, guiLeft + 44, guiTop + 124 - 106, 7, 106, new String[] { "Restriction Field:", base.field + "%" });
this.drawCustomInfo(this, mouseX, mouseY, guiLeft + 53, guiTop + 124 - 106, 7, 106, new String[] { "Efficiency:", base.efficiency + "%" });
this.drawCustomInfo(this, mouseX, mouseY, guiLeft + 125, guiTop + 124 - 106, 7, 106, new String[] { "Heat:", base.heat + "/" + TileEntityAMSBase.maxHeat });
if(!base.hasResonators()) {
String[] text = new String[] { "Error: Three satellite ID-chips linked",
"to xenium resonators are required",
"for this machine to work!" };
this.drawCustomInfoStat(mouseX, mouseY, guiLeft - 16, guiTop + 36, 16, 16, guiLeft - 8, guiTop + 36 + 16, text);
}
}
@Override
protected void drawGuiContainerForegroundLayer( int i, int j) {
String name = this.base.hasCustomInventoryName() ? this.base.getInventoryName() : I18n.format(this.base.getInventoryName());
this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752);
this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752);
}
@Override
protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) {
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
Minecraft.getMinecraft().getTextureManager().bindTexture(texture);
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize);
int i = (int)base.getPowerScaled(106);
drawTexturedModalRect(guiLeft + 116, guiTop + 124 - i, 206, 106 - i, 7, i);
int j = base.getFieldScaled(106);
drawTexturedModalRect(guiLeft + 44, guiTop + 124 - j, 192, 106 - j, 7, j);
int k = base.getEfficiencyScaled(106);
drawTexturedModalRect(guiLeft + 53, guiTop + 124 - k, 199, 106 - k, 7, k);
int l = base.getHeatScaled(106);
drawTexturedModalRect(guiLeft + 125, guiTop + 124 - l, 213, 106 - l, 7, l);
int m = base.mode;
if(m > 0)
drawTexturedModalRect(guiLeft + 80, guiTop + 108, 176, 32 + 16 * m, 16, 16);
int n = base.warning;
if(n > 0)
drawTexturedModalRect(guiLeft + 80, guiTop + 18, 176, 32 + 16 * n, 16, 16);
if(base.color > -1) {
GL11.glColor3ub((byte)((base.color & 0xFF0000) >> 16), (byte)((base.color & 0x00FF00) >> 8), (byte)((base.color & 0x0000FF) >> 0));
drawTexturedModalRect(guiLeft + 61, guiTop + 44, 176, 160, 54, 54);
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
drawTexturedModalRect(guiLeft + 61, guiTop + 44, 176, 106, 54, 54);
}
if(!base.hasResonators())
this.drawInfoPanel(guiLeft - 16, guiTop + 36, 16, 16, 6);
base.tanks[0].renderTank(guiLeft + 26, guiTop + 70, this.zLevel, 16, 52);
base.tanks[1].renderTank(guiLeft + 134, guiTop + 70, this.zLevel, 16, 52);
base.tanks[2].renderTank(guiLeft + 26, guiTop + 124, this.zLevel, 16, 52);
base.tanks[3].renderTank(guiLeft + 134, guiTop + 124, this.zLevel, 16, 52);
}
}

View File

@ -1,65 +0,0 @@
package com.hbm.inventory.gui;
import org.lwjgl.opengl.GL11;
import com.hbm.inventory.container.ContainerAMSEmitter;
import com.hbm.lib.RefStrings;
import com.hbm.tileentity.machine.TileEntityAMSEmitter;
import net.minecraft.client.Minecraft;
import net.minecraft.client.resources.I18n;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.util.ResourceLocation;
public class GUIAMSEmitter extends GuiInfoContainer {
private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gui_ams_emitter.png");
private TileEntityAMSEmitter emitter;
public GUIAMSEmitter(InventoryPlayer invPlayer, TileEntityAMSEmitter tedf) {
super(new ContainerAMSEmitter(invPlayer, tedf));
emitter = tedf;
this.xSize = 176;
this.ySize = 166;
}
@Override
public void drawScreen(int mouseX, int mouseY, float f) {
super.drawScreen(mouseX, mouseY, f);
emitter.tank.renderTankInfo(this, mouseX, mouseY, guiLeft + 26, guiTop + 69 - 52, 16, 52);
this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 134, guiTop + 69 - 52, 16, 52, emitter.power, emitter.maxPower);
this.drawCustomInfo(this, mouseX, mouseY, guiLeft + 152, guiTop + 69 - 52, 16, 52, new String[] { "Power:", emitter.efficiency + "%" });
this.drawCustomInfo(this, mouseX, mouseY, guiLeft + 8, guiTop + 69 - 52, 16, 52, new String[] { "Heat:", emitter.heat + "/" + emitter.maxHeat });
}
@Override
protected void drawGuiContainerForegroundLayer( int i, int j) {
String name = this.emitter.hasCustomInventoryName() ? this.emitter.getInventoryName() : I18n.format(this.emitter.getInventoryName());
this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752);
this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752);
}
@Override
protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) {
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
Minecraft.getMinecraft().getTextureManager().bindTexture(texture);
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize);
int i = (int) emitter.getPowerScaled(52);
drawTexturedModalRect(guiLeft + 134, guiTop + 69 - i, 192, 52 - i, 16, i);
int j = emitter.getEfficiencyScaled(52);
drawTexturedModalRect(guiLeft + 152, guiTop + 69 - j, 208, 52 - j, 16, j);
int k = emitter.getHeatScaled(52);
drawTexturedModalRect(guiLeft + 8, guiTop + 69 - k, 176, 52 - k, 16, k);
int m = emitter.warning;
if(m > 0)
drawTexturedModalRect(guiLeft + 80, guiTop + 17, 176, 36 + 16 * m, 16, 16);
emitter.tank.renderTank(guiLeft + 26, guiTop + 69, this.zLevel, 16, 52);
}
}

View File

@ -1,70 +0,0 @@
package com.hbm.inventory.gui;
import org.lwjgl.opengl.GL11;
import com.hbm.inventory.container.ContainerAMSLimiter;
import com.hbm.lib.RefStrings;
import com.hbm.tileentity.machine.TileEntityAMSLimiter;
import net.minecraft.client.Minecraft;
import net.minecraft.client.resources.I18n;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.util.ResourceLocation;
public class GUIAMSLimiter extends GuiInfoContainer {
private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gui_ams_limiter.png");
private TileEntityAMSLimiter limiter;
public GUIAMSLimiter(InventoryPlayer invPlayer, TileEntityAMSLimiter tedf) {
super(new ContainerAMSLimiter(invPlayer, tedf));
limiter = tedf;
this.xSize = 176;
this.ySize = 166;
}
@Override
public void drawScreen(int mouseX, int mouseY, float f) {
super.drawScreen(mouseX, mouseY, f);
limiter.tank.renderTankInfo(this, mouseX, mouseY, guiLeft + 26, guiTop + 69 - 52, 16, 52);
this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 134, guiTop + 69 - 52, 16, 52, limiter.power, limiter.maxPower);
this.drawCustomInfo(this, mouseX, mouseY, guiLeft + 152, guiTop + 69 - 52, 16, 52, new String[] { "Efficiency:", limiter.efficiency + "%" });
this.drawCustomInfo(this, mouseX, mouseY, guiLeft + 8, guiTop + 69 - 52, 16, 52, new String[] { "Heat:", limiter.heat + "/" + limiter.maxHeat });
}
@Override
protected void drawGuiContainerForegroundLayer( int i, int j) {
String name = this.limiter.hasCustomInventoryName() ? this.limiter.getInventoryName() : I18n.format(this.limiter.getInventoryName());
this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752);
this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752);
}
@Override
protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) {
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
Minecraft.getMinecraft().getTextureManager().bindTexture(texture);
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize);
int i = (int) limiter.getPowerScaled(52);
drawTexturedModalRect(guiLeft + 134, guiTop + 69 - i, 192, 52 - i, 16, i);
int j = limiter.getEfficiencyScaled(52);
drawTexturedModalRect(guiLeft + 152, guiTop + 69 - j, 208, 52 - j, 16, j);
int k = limiter.getHeatScaled(52);
drawTexturedModalRect(guiLeft + 8, guiTop + 69 - k, 176, 52 - k, 16, k);
int l = limiter.mode;
if(l > 0)
drawTexturedModalRect(guiLeft + 98, guiTop + 17, 176, 84 + 16 * l, 16, 16);
int m = limiter.warning;
if(m > 0)
drawTexturedModalRect(guiLeft + 80, guiTop + 17, 176, 36 + 16 * m, 16, 16);
limiter.tank.renderTank(guiLeft + 26, guiTop + 69, this.zLevel, 16, 52);
}
}

View File

@ -1,64 +0,0 @@
package com.hbm.inventory.gui;
import org.lwjgl.opengl.GL11;
import com.hbm.inventory.container.ContainerFWatzCore;
import com.hbm.lib.RefStrings;
import com.hbm.tileentity.machine.TileEntityFWatzCore;
import net.minecraft.client.Minecraft;
import net.minecraft.client.resources.I18n;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.util.ResourceLocation;
public class GUIFWatzCore extends GuiInfoContainer {
private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gui_fwatz_multiblock.png");
private TileEntityFWatzCore diFurnace;
public GUIFWatzCore(InventoryPlayer invPlayer, TileEntityFWatzCore tedf) {
super(new ContainerFWatzCore(invPlayer, tedf));
diFurnace = tedf;
this.xSize = 176;
this.ySize = 222;
}
@Override
public void drawScreen(int mouseX, int mouseY, float f) {
super.drawScreen(mouseX, mouseY, f);
diFurnace.tanks[0].renderTankInfo(this, mouseX, mouseY, guiLeft + 8, guiTop + 88 - 70, 16, 70);
diFurnace.tanks[1].renderTankInfo(this, mouseX, mouseY, guiLeft + 134, guiTop + 88 - 70, 16, 70);
diFurnace.tanks[2].renderTankInfo(this, mouseX, mouseY, guiLeft + 152, guiTop + 88 - 70, 16, 70);
this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 26, guiTop + 106 - 88, 16, 88, diFurnace.power, diFurnace.maxPower);
}
@Override
protected void drawGuiContainerForegroundLayer(int i, int j) {
String name = this.diFurnace.hasCustomInventoryName() ? this.diFurnace.getInventoryName() : I18n.format(this.diFurnace.getInventoryName());
this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752);
this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752);
}
@Override
protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) {
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
Minecraft.getMinecraft().getTextureManager().bindTexture(texture);
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize);
int k = (int)diFurnace.getPowerScaled(88);
drawTexturedModalRect(guiLeft + 26, guiTop + 106 - k, 192, 88 - k, 16, k);
if(diFurnace.isRunning())
drawTexturedModalRect(guiLeft + 64, guiTop + 29, 176, 88, 48, 48);
int m = diFurnace.getSingularityType();
drawTexturedModalRect(guiLeft + 98, guiTop + 109, 240, 4 * m, 16, 4);
diFurnace.tanks[0].renderTank(guiLeft + 8, guiTop + 88, this.zLevel, 16, 70);
diFurnace.tanks[1].renderTank(guiLeft + 134, guiTop + 88, this.zLevel, 16, 70);
diFurnace.tanks[2].renderTank(guiLeft + 152, guiTop + 88, this.zLevel, 16, 70);
}
}

View File

@ -1,76 +0,0 @@
package com.hbm.inventory.gui;
import org.lwjgl.opengl.GL11;
import com.hbm.inventory.container.ContainerMachineSelenium;
import com.hbm.lib.RefStrings;
import com.hbm.tileentity.machine.TileEntityMachineSeleniumEngine;
import net.minecraft.client.Minecraft;
import net.minecraft.client.resources.I18n;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.util.ResourceLocation;
public class GUIMachineSelenium extends GuiInfoContainer {
private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gui_selenium.png");
private TileEntityMachineSeleniumEngine selenium;
public GUIMachineSelenium(InventoryPlayer invPlayer, TileEntityMachineSeleniumEngine tedf) {
super(new ContainerMachineSelenium(invPlayer, tedf));
selenium = tedf;
this.xSize = 176;
this.ySize = 222;
}
@Override
public void drawScreen(int mouseX, int mouseY, float f) {
super.drawScreen(mouseX, mouseY, f);
selenium.tank.renderTankInfo(this, mouseX, mouseY, guiLeft + 116, guiTop + 18, 16, 52);
this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 8, guiTop + 108, 160, 16, selenium.power, selenium.powerCap);
String[] text1 = new String[] { "Fuel consumption rate:",
" 1 mB/t",
" 20 mB/s",
"(Consumption rate per piston)" };
this.drawCustomInfoStat(mouseX, mouseY, guiLeft - 16, guiTop + 36 + 16, 16, 16, guiLeft - 8, guiTop + 36 + 16, text1);
if(selenium.pistonCount < 3) {
String[] text2 = new String[] { "Error: At least three pistons are",
"required to operate this radial engine!" };
this.drawCustomInfoStat(mouseX, mouseY, guiLeft - 16, guiTop + 36 + 32, 16, 16, guiLeft - 8, guiTop + 36 + 16 + 32, text2);
}
}
@Override
protected void drawGuiContainerForegroundLayer(int i, int j) {
String name = this.selenium.hasCustomInventoryName() ? this.selenium.getInventoryName() : I18n.format(this.selenium.getInventoryName());
this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752);
this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752);
}
@Override
protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) {
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
Minecraft.getMinecraft().getTextureManager().bindTexture(texture);
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize);
if(selenium.pistonCount > 0)
{
int k = selenium.pistonCount;
drawTexturedModalRect(guiLeft + 26, guiTop + 81, 176, 52 + 16 * k - 16, 16, 16);
}
if(selenium.pistonCount < 3)
this.drawInfoPanel(guiLeft - 16, guiTop + 36 + 32, 16, 16, 6);
this.drawInfoPanel(guiLeft - 16, guiTop + 36, 16, 16, 2);
this.drawInfoPanel(guiLeft - 16, guiTop + 36 + 16, 16, 16, 3);
selenium.tank.renderTank(guiLeft + 80 + 36, guiTop + 70, this.zLevel, 16, 52);
}
}

View File

@ -113,9 +113,9 @@ public class AssemblerRecipes extends SerializableRecipe {
makeRecipe(new ComparableStack(ModItems.sat_foeq, 1), new AStack[] {new OreDictStack(STEEL.plate(), 8), new OreDictStack(TI.plate(), 12), new ComparableStack(ModItems.plate_desh, 8), new OreDictStack(TI.shell(), 3), new ComparableStack(ModItems.fluid_barrel_full, 1, Fluids.HYDROGEN.getID()), new ComparableStack(ModItems.photo_panel, 16), new ComparableStack(ModItems.thruster_nuclear, 1), new ComparableStack(ModItems.ingot_uranium_fuel, 6), new ComparableStack(ModItems.circuit_targeting_tier5, 6), new ComparableStack(ModItems.magnetron, 3), new ComparableStack(ModItems.battery_lithium_cell_6, 1), },1200);
makeRecipe(new ComparableStack(ModItems.sat_miner, 1), new AStack[] {new OreDictStack(BIGMT.plate(), 24), new ComparableStack(ModItems.plate_desh, 8), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.drill_titanium, 2), new ComparableStack(ModItems.circuit_targeting_tier4, 2), new ComparableStack(ModItems.fluid_barrel_full, 1, Fluids.KEROSENE.getID()), new ComparableStack(ModItems.thruster_small, 1), new ComparableStack(ModItems.photo_panel, 12), new ComparableStack(ModItems.centrifuge_element, 4), new ComparableStack(ModItems.magnetron, 3), new OreDictStack(RUBBER.ingot(), 12), new ComparableStack(ModItems.battery_lithium_cell_6, 1), },600);
makeRecipe(new ComparableStack(ModItems.sat_lunar_miner, 1), new AStack[] {new ComparableStack(ModItems.ingot_meteorite, 4), new ComparableStack(ModItems.plate_desh, 4), new ComparableStack(ModItems.motor_desh, 2), new ComparableStack(ModItems.drill_titanium, 2), new ComparableStack(ModItems.circuit_targeting_tier4, 2), new ComparableStack(ModItems.fluid_barrel_full, 1, Fluids.KEROSENE.getID()), new ComparableStack(ModItems.thruster_small, 1), new ComparableStack(ModItems.photo_panel, 12), new ComparableStack(ModItems.magnetron, 3), new OreDictStack(RUBBER.ingot(), 12), new ComparableStack(ModItems.battery_lithium_cell_6, 1), },600);
makeRecipe(new ComparableStack(ModItems.chopper_head, 1), new AStack[] {new ComparableStack(ModBlocks.reinforced_glass, 2), new ComparableStack(ModBlocks.fwatz_computer, 1), new OreDictStack(CMB.ingot(), 22), new ComparableStack(ModItems.wire_magnetized_tungsten, 4), },300);
makeRecipe(new ComparableStack(ModItems.chopper_head, 1), new AStack[] {new ComparableStack(ModBlocks.reinforced_glass, 2), new ComparableStack(ModItems.circuit_gold, 3), new OreDictStack(CMB.ingot(), 22), new ComparableStack(ModItems.wire_magnetized_tungsten, 4), },300);
makeRecipe(new ComparableStack(ModItems.chopper_gun, 1), new AStack[] {new OreDictStack(CMB.plate(), 4), new OreDictStack(CMB.ingot(), 2), new ComparableStack(ModItems.wire_tungsten, 6), new ComparableStack(ModItems.coil_magnetized_tungsten, 1), new ComparableStack(ModItems.motor, 1), },150);
makeRecipe(new ComparableStack(ModItems.chopper_torso, 1), new AStack[] {new OreDictStack(CMB.ingot(), 26), new ComparableStack(ModBlocks.fwatz_computer, 1), new ComparableStack(ModItems.wire_magnetized_tungsten, 4), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.chopper_blades, 2), },350);
makeRecipe(new ComparableStack(ModItems.chopper_torso, 1), new AStack[] {new OreDictStack(CMB.ingot(), 26), new ComparableStack(ModItems.circuit_gold, 3), new ComparableStack(ModItems.wire_magnetized_tungsten, 4), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.chopper_blades, 2), },350);
makeRecipe(new ComparableStack(ModItems.chopper_tail, 1), new AStack[] {new OreDictStack(CMB.plate(), 8), new OreDictStack(CMB.ingot(), 5), new ComparableStack(ModItems.wire_magnetized_tungsten, 4), new ComparableStack(ModItems.motor, 1), new ComparableStack(ModItems.chopper_blades, 2), },200);
makeRecipe(new ComparableStack(ModItems.chopper_wing, 1), new AStack[] {new OreDictStack(CMB.plate(), 6), new OreDictStack(CMB.ingot(), 3), new ComparableStack(ModItems.wire_magnetized_tungsten, 2), },150);
makeRecipe(new ComparableStack(ModItems.chopper_blades, 1), new AStack[] {new OreDictStack(CMB.plate(), 8), new OreDictStack(STEEL.plate(), 2), new OreDictStack(CMB.ingot(), 2), },200);
@ -194,10 +194,6 @@ public class AssemblerRecipes extends SerializableRecipe {
makeRecipe(new ComparableStack(ModBlocks.watz_element, 3), new AStack[] {new OreDictStack(STEEL.plateCast(), 2), new OreDictStack(ZR.ingot(), 2), new OreDictStack(BIGMT.ingot(), 2), new OreDictStack(ANY_HARDPLASTIC.ingot(), 4)},200);
makeRecipe(new ComparableStack(ModBlocks.watz_cooler, 3), new AStack[] {new OreDictStack(STEEL.plateCast(), 2), new OreDictStack(CU.plateCast(), 4), new OreDictStack(RUBBER.ingot(), 2), }, 200);
makeRecipe(new ComparableStack(ModBlocks.watz_end, 3), new AStack[] {new OreDictStack(ANY_RESISTANTALLOY.plateWelded()), new OreDictStack(B.ingot(), 3), new OreDictStack(STEEL.plateWelded(), 2), }, 100);
makeRecipe(new ComparableStack(ModBlocks.fwatz_hatch, 1), new AStack[] {new OreDictStack(W.ingot(), 6), new OreDictStack(CMB.plate(), 4), },250);
makeRecipe(new ComparableStack(ModBlocks.fwatz_conductor, 1), new AStack[] {new OreDictStack(CMB.plate(), 2), new ComparableStack(ModItems.coil_magnetized_tungsten, 5), },250);
makeRecipe(new ComparableStack(ModBlocks.fwatz_computer, 1), new AStack[] {new ComparableStack(ModBlocks.block_meteor, 1), new ComparableStack(ModItems.wire_magnetized_tungsten, 16), new OreDictStack(DIAMOND.dust(), 6), new OreDictStack(MAGTUNG.dust(), 6), new OreDictStack(DESH.dust(), 4), },300);
makeRecipe(new ComparableStack(ModBlocks.fwatz_core, 1), new AStack[] {new ComparableStack(ModBlocks.block_meteor, 1), new ComparableStack(ModItems.wire_magnetized_tungsten, 24), new OreDictStack(DIAMOND.dust(), 8), new OreDictStack(MAGTUNG.dust(), 12), new OreDictStack(DESH.dust(), 8), new ComparableStack(ModItems.upgrade_power_3, 1), new ComparableStack(ModItems.upgrade_speed_3, 1), new OreDictStack(KEY_CIRCUIT_BISMUTH, 8)},450);
makeRecipe(new ComparableStack(ModBlocks.nuke_gadget, 1), new AStack[] {new ComparableStack(ModItems.sphere_steel, 1), new ComparableStack(ModItems.fins_flat, 2), new ComparableStack(ModItems.pedestal_steel, 1), new ComparableStack(ModItems.circuit_targeting_tier3, 1), new ComparableStack(ModItems.wire_gold, 6), new OreDictStack("dyeGray", 6), },300);
makeRecipe(new ComparableStack(ModBlocks.nuke_boy, 1), new AStack[] {new OreDictStack(STEEL.shell(), 2), new ComparableStack(ModItems.fins_small_steel, 1), new ComparableStack(ModItems.circuit_targeting_tier2, 1), new ComparableStack(ModItems.wire_aluminium, 6), new OreDictStack("dyeBlue", 4), },300);
makeRecipe(new ComparableStack(ModBlocks.nuke_man, 1), new AStack[] {new ComparableStack(ModItems.sphere_steel, 1), new OreDictStack(STEEL.shell(), 2), new ComparableStack(ModItems.fins_big_steel, 1), new ComparableStack(ModItems.circuit_targeting_tier2, 2), new ComparableStack(ModItems.wire_copper, 6), new OreDictStack("dyeYellow", 6), },300);
@ -249,7 +245,7 @@ public class AssemblerRecipes extends SerializableRecipe {
makeRecipe(new ComparableStack(ModItems.solinium_core, 1), new AStack[] {new OreDictStack(SA327.nugget(), 9), new OreDictStack(EUPH.nugget(), 1), },400);
makeRecipe(new ComparableStack(ModItems.solinium_propellant, 1), new AStack[] {new OreDictStack(ANY_HIGHEXPLOSIVE.ingot(), 3), new OreDictStack(OreDictManager.getReflector(), 2), new ComparableStack(ModItems.plate_polymer, 6), new ComparableStack(ModItems.wire_tungsten, 6), new ComparableStack(ModItems.biomass_compressed, 4), },350);
makeRecipe(new ComparableStack(ModItems.schrabidium_hammer, 1), new AStack[] {new OreDictStack(SA326.block(), 35), new ComparableStack(ModItems.billet_yharonite, 128), new ComparableStack(Items.nether_star, 3), new ComparableStack(ModItems.fragment_meteorite, 512), },1000);
makeRecipe(new ComparableStack(ModItems.component_emitter, 1), new AStack[] {new OreDictStack(STEEL.shell(), 3), new OreDictStack(AL.shell(), 2), new OreDictStack(STEEL.plate(), 32), new OreDictStack(PB.plate(), 24), new ComparableStack(ModItems.plate_desh, 24), new ComparableStack(ModItems.pipes_steel, 8), new ComparableStack(ModItems.circuit_gold, 12), new ComparableStack(ModItems.circuit_schrabidium, 8), new OreDictStack(STAR.ingot(), 26), new ComparableStack(ModItems.powder_magic, 48), new ComparableStack(ModBlocks.fwatz_computer, 2), new ComparableStack(ModItems.crystal_xen, 1), },2500);
makeRecipe(new ComparableStack(ModItems.component_emitter, 1), new AStack[] {new OreDictStack(STEEL.shell(), 3), new OreDictStack(AL.shell(), 2), new OreDictStack(STEEL.plate(), 32), new OreDictStack(PB.plate(), 24), new ComparableStack(ModItems.plate_desh, 24), new ComparableStack(ModItems.pipes_steel, 8), new ComparableStack(ModItems.circuit_gold, 12), new ComparableStack(ModItems.circuit_schrabidium, 8), new OreDictStack(STAR.ingot(), 26), new ComparableStack(ModItems.powder_magic, 48), new ComparableStack(ModItems.crystal_xen, 1), },2500);
makeRecipe(new ComparableStack(ModBlocks.machine_radar, 1), new AStack[] {new OreDictStack(STEEL.plate528(), 8), new OreDictStack(ANY_PLASTIC.ingot(), 8), new OreDictStack(ANY_RUBBER.ingot(), 8), new ComparableStack(ModItems.magnetron, 3), new ComparableStack(ModItems.motor, 1), new ComparableStack(ModItems.circuit_gold, 1), new ComparableStack(ModItems.coil_copper, 12), new ComparableStack(ModItems.crt_display, 4), },300);
makeRecipe(new ComparableStack(ModBlocks.machine_radar_large, 1), new AStack[] {new OreDictStack(STEEL.plateWelded(), 6), new OreDictStack(ANY_RESISTANTALLOY.ingot(), 4), new OreDictStack(ANY_PLASTIC.ingot(), 16), new OreDictStack(ANY_RUBBER.ingot(), 16), new ComparableStack(ModItems.magnetron, 12), new ComparableStack(ModItems.motor_desh, 1), new ComparableStack(ModItems.circuit_gold, 2), new ComparableStack(ModItems.coil_copper, 32), new ComparableStack(ModItems.crt_display, 4), },600);
makeRecipe(new ComparableStack(ModBlocks.machine_forcefield, 1), new AStack[] {new OreDictStack(ALLOY.plate528(), 8), new ComparableStack(ModItems.plate_desh, 4), new ComparableStack(ModItems.coil_gold_torus, 6), new ComparableStack(ModItems.coil_magnetized_tungsten, 12), new ComparableStack(ModItems.motor, 1), new ComparableStack(ModItems.upgrade_radius, 1), new ComparableStack(ModItems.upgrade_health, 1), new ComparableStack(ModItems.circuit_targeting_tier5, 1), new ComparableStack(ModBlocks.machine_transformer, 1), },1000);
@ -299,7 +295,7 @@ public class AssemblerRecipes extends SerializableRecipe {
makeRecipe(new ComparableStack(ModItems.mp_warhead_15_nuclear, 1), new AStack[] {new ComparableStack(ModItems.seg_15, 1), new OreDictStack(STEEL.plate(), 24), new OreDictStack(TI.plate(), 12), new OreDictStack(PU239.ingot(), 3), new ComparableStack(ModBlocks.det_charge, 6), new ComparableStack(ModItems.circuit_targeting_tier4, 1), },500);
makeRecipe(new ComparableStack(ModItems.mp_warhead_15_n2, 1), new AStack[] {new ComparableStack(ModItems.seg_15, 1), new OreDictStack(STEEL.plate(), 8), new OreDictStack(TI.plate(), 20), new ComparableStack(ModBlocks.det_charge, 24), new ComparableStack(Blocks.redstone_block, 12), new OreDictStack(MAGTUNG.dust(), 6), new ComparableStack(ModItems.circuit_targeting_tier4, 1), },400);
makeRecipe(new ComparableStack(ModItems.mp_warhead_15_balefire, 1), new AStack[] {new ComparableStack(ModItems.seg_15, 1), new OreDictStack(OreDictManager.getReflector(), 16), new ComparableStack(ModItems.powder_magic, 6), new ComparableStack(ModItems.egg_balefire_shard, 4), new OreDictStack(ANY_HIGHEXPLOSIVE.ingot(), 8), new ComparableStack(ModItems.circuit_targeting_tier4, 1), }, 60, ModItems.journal_bj);
makeRecipe(new ComparableStack(ModItems.missile_soyuz, 1), new AStack[] {new ComparableStack(ModItems.rocket_fuel, 40), new ComparableStack(ModBlocks.det_cord, 20), new ComparableStack(ModItems.thruster_medium, 12), new ComparableStack(ModItems.thruster_small, 12), new ComparableStack(ModItems.tank_steel, 10), new ComparableStack(ModItems.circuit_targeting_tier4, 2), new ComparableStack(ModItems.circuit_targeting_tier3, 8), new OreDictStack(RUBBER.ingot(), 64), new ComparableStack(ModItems.fins_small_steel, 4), new OreDictStack(TI.shell(), 32), new OreDictStack(STEEL.shell(), 18), new OreDictStack(FIBER.ingot(), 64), },600, ModItems.journal_bj);
makeRecipe(new ComparableStack(ModItems.missile_soyuz, 1), new AStack[] {new ComparableStack(ModItems.rocket_fuel, 40), new ComparableStack(ModBlocks.det_cord, 20), new ComparableStack(ModItems.thruster_medium, 12), new ComparableStack(ModItems.thruster_small, 12), new ComparableStack(ModItems.tank_steel, 10), new ComparableStack(ModItems.circuit_targeting_tier4, 2), new ComparableStack(ModItems.circuit_targeting_tier3, 8), new OreDictStack(RUBBER.ingot(), 64), new ComparableStack(ModItems.fins_small_steel, 4), new OreDictStack(TI.shell(), 32), new OreDictStack(STEEL.shell(), 18), new OreDictStack(FIBER.ingot(), 64), },600);
makeRecipe(new ComparableStack(ModItems.missile_soyuz_lander, 1), new AStack[] {new ComparableStack(ModItems.rocket_fuel, 10), new ComparableStack(ModItems.thruster_small, 3), new ComparableStack(ModItems.tank_steel, 2), new ComparableStack(ModItems.circuit_targeting_tier3, 4), new OreDictStack(ANY_RUBBER.ingot(), 32), new OreDictStack(AL.shell(), 2), new ComparableStack(ModItems.sphere_steel, 1), new OreDictStack(FIBER.ingot(), 12), },600, ModItems.journal_bj);
makeRecipe(new ComparableStack(ModItems.fusion_shield_tungsten, 1), new AStack[] {new OreDictStack(W.block(), 32), new OreDictStack(OreDictManager.getReflector(), 96)}, 600);
makeRecipe(new ComparableStack(ModItems.fusion_shield_desh, 1), new AStack[] {new OreDictStack(DESH.block(), 16), new OreDictStack(CO.block(), 16), new OreDictStack(BIGMT.plate(), 96)}, 600);

View File

@ -422,12 +422,6 @@ public class CentrifugeRecipes extends SerializableRecipe {
new ItemStack(ModItems.gem_sodalite, 1),
new ItemStack(Blocks.gravel, 1) });
recipes.put(new ComparableStack(ModBlocks.ore_meteor_starmetal), new ItemStack[] {
new ItemStack(ModItems.powder_dura_steel, 3),
new ItemStack(ModItems.powder_astatine, 1),
new ItemStack(ModItems.powder_cobalt, 2),
new ItemStack(Blocks.gravel, 1) });
recipes.put(new ComparableStack(ModBlocks.block_euphemium_cluster), new ItemStack[] {
new ItemStack(ModItems.nugget_euphemium, 7),
new ItemStack(ModItems.powder_schrabidium, 4),

View File

@ -2,6 +2,7 @@ package com.hbm.itempool;
import static com.hbm.lib.HbmChestContents.weighted;
import com.hbm.blocks.ModBlocks;
import com.hbm.items.ModItems;
import com.hbm.items.ItemAmmoEnums.AmmoFatman;
@ -15,6 +16,7 @@ public class ItemPoolsSingle {
public static final String POOL_VAULT_STANDARD = "POOL_VAULT_STANDARD";
public static final String POOL_VAULT_REINFORCED = "POOL_VAULT_REINFORCED";
public static final String POOL_VAULT_UNBREAKABLE = "POOL_VAULT_UNBREAKABLE";
public static final String POOL_METEORITE_TREASURE = "POOL_METEORITE_TREASURE";
public static void init() {
@ -114,5 +116,28 @@ public class ItemPoolsSingle {
weighted(ModItems.powder_nitan_mix, 0, 16, 32, 1)
};
}};
new ItemPool(POOL_METEORITE_TREASURE) {{
this.pool = new WeightedRandomChestContent[] {
weighted(ModItems.cobalt_pickaxe, 0, 1, 1, 10),
weighted(ModItems.ingot_zirconium, 0, 1, 16, 10),
weighted(ModItems.ingot_niobium, 0, 1, 16, 10),
weighted(ModItems.ingot_cobalt, 0, 1, 16, 10),
weighted(ModItems.ingot_boron, 0, 1, 16, 10),
weighted(ModItems.ingot_starmetal, 0, 1, 1, 5),
weighted(ModItems.crystal_gold, 0, 1, 4, 10),
weighted(ModItems.circuit_copper, 0, 4, 8, 10),
weighted(ModItems.circuit_red_copper, 0, 2, 4, 10),
weighted(ModItems.definitelyfood, 0, 16, 32, 25),
weighted(ModBlocks.crate_can, 0, 1, 3, 10),
weighted(ModItems.pill_herbal, 0, 1, 2, 10),
weighted(ModItems.serum, 0, 1, 1, 5),
weighted(ModItems.heart_piece, 0, 1, 1, 5),
weighted(ModItems.scrumpy, 0, 1, 1, 5),
weighted(ModItems.launch_code_piece, 0, 1, 1, 5),
weighted(ModItems.egg_glyphid, 0, 1, 1, 5),
weighted(ModItems.gem_alexandrite, 0, 1, 1, 1),
};
}};
}
}

View File

@ -3080,7 +3080,6 @@ public class ModItems {
shimmer_axe_head = new Item().setUnlocalizedName("shimmer_axe_head").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":shimmer_axe_head");
shimmer_handle = new Item().setUnlocalizedName("shimmer_handle").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":shimmer_handle");
//telepad = new Item().setUnlocalizedName("telepad").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":telepad");
entanglement_kit = new ItemCustomLore().setUnlocalizedName("entanglement_kit").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":entanglement_kit");
circuit_raw = new Item().setUnlocalizedName("circuit_raw").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":circuit_raw");
@ -3124,7 +3123,6 @@ public class ModItems {
assembly_schrabidium = new Item().setUnlocalizedName("assembly_schrabidium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":assembly_schrabidium");
assembly_nightmare = new Item().setUnlocalizedName("assembly_nightmare").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":assembly_nightmare");
assembly_desh = new Item().setUnlocalizedName("assembly_desh").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":assembly_desh");
//assembly_pip = new Item().setUnlocalizedName("assembly_pip").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":assembly_pip");
assembly_nopip = new Item().setUnlocalizedName("assembly_nopip").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":assembly_nopip");
assembly_smg = new Item().setUnlocalizedName("assembly_smg").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":assembly_smg");
assembly_556 = new Item().setUnlocalizedName("assembly_556").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":assembly_556");

View File

@ -59,8 +59,7 @@ public class ItemBlockLore extends ItemBlockBase {
if(this.field_150939_a == ModBlocks.gravel_diamond)
return EnumRarity.rare;
if(this.field_150939_a == ModBlocks.block_euphemium || this.field_150939_a == ModBlocks.block_euphemium_cluster ||
this.field_150939_a == ModBlocks.plasma || this.field_150939_a == ModBlocks.fwatz_plasma)
if(this.field_150939_a == ModBlocks.block_euphemium || this.field_150939_a == ModBlocks.block_euphemium_cluster || this.field_150939_a == ModBlocks.plasma)
return EnumRarity.epic;
return EnumRarity.common;

View File

@ -217,7 +217,6 @@ public class ItemStarterKit extends Item {
player.inventory.addItemStackToInventory(new ItemStack(ModItems.screwdriver, 1));
player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_excavator, 1));
player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_diesel, 2));
player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_selenium, 1));
player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.red_cable, 64));
player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.red_wire_coated, 16));
player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.red_pylon, 8));

View File

@ -1,111 +1,7 @@
package com.hbm.items.tool;
import java.util.List;
import java.util.Random;
import com.hbm.world.machine.FWatz;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.ChatComponentText;
import net.minecraft.world.World;
public class ItemWandS extends Item {
@Override
public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool)
{
list.add("DEPRECATED");
if(itemstack.stackTagCompound != null)
{
switch(itemstack.stackTagCompound.getInteger("building"))
{
case 0:
list.add("Structure: Nuclear Reactor");
break;
case 1:
list.add("Structure: Watz Power Plant");
break;
case 2:
list.add("Structure: Fusionary Watz Plant");
break;
}
}
}
@Override
public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int p_77648_7_, float p_77648_8_, float p_77648_9_, float p_77648_10_)
{
if(stack.stackTagCompound == null)
{
stack.stackTagCompound = new NBTTagCompound();
stack.stackTagCompound.setInteger("building", 0);
}
boolean up = player.rotationPitch <= 0.5F;
if(!world.isRemote)
{
Random rand = new Random();
switch(stack.stackTagCompound.getInteger("building"))
{
case 0:
break;
case 1:
break;
case 2:
new FWatz().generateHull(world, rand, x, up ? y : y - 18, z);
break;
}
}
return true;
}
@Override
public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) {
if(player.isSneaking())
{
if(stack.stackTagCompound == null)
{
stack.stackTagCompound = new NBTTagCompound();
stack.stackTagCompound.setInteger("building", 0);
if(world.isRemote)
player.addChatMessage(new ChatComponentText("Set Structure: Nuclear Reactor"));
} else {
int i = stack.stackTagCompound.getInteger("building");
i++;
stack.stackTagCompound.setInteger("building", i);
if(i >= 3) {
stack.stackTagCompound.setInteger("building", 0);
}
if(world.isRemote)
{
switch(i)
{
case 0:
player.addChatMessage(new ChatComponentText("Set Structure: Nuclear Reactor"));
break;
case 1:
player.addChatMessage(new ChatComponentText("Set Structure: Watz Power Plant"));
break;
case 2:
player.addChatMessage(new ChatComponentText("Set Structure: Fusionary Watz Plant"));
break;
default:
player.addChatMessage(new ChatComponentText("Set Structure: Nuclear Reactor"));
break;
}
}
}
}
return stack;
}
}

View File

@ -1,152 +0,0 @@
package com.hbm.items.weapon;
import java.util.List;
import java.util.Random;
import com.google.common.collect.Multimap;
import com.hbm.entity.effect.EntityEMPBlast;
import com.hbm.entity.projectile.EntityDischarge;
import com.hbm.explosion.ExplosionNukeGeneric;
import com.hbm.items.ModItems;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.enchantment.EnchantmentHelper;
import net.minecraft.entity.SharedMonsterAttributes;
import net.minecraft.entity.ai.attributes.AttributeModifier;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.EnumAction;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.entity.player.ArrowLooseEvent;
import net.minecraftforge.event.entity.player.ArrowNockEvent;
public class GunEMPRay extends Item {
Random rand = new Random();
public GunEMPRay() {
this.maxStackSize = 1;
}
@Override
public EnumAction getItemUseAction(ItemStack par1ItemStack) {
return EnumAction.bow;
}
@Override
public int getMaxItemUseDuration(ItemStack p_77626_1_) {
return 72000;
}
@Override
public ItemStack onItemRightClick(ItemStack p_77659_1_, World p_77659_2_, EntityPlayer p_77659_3_) {
new ArrowNockEvent(p_77659_3_, p_77659_1_);
p_77659_3_.setItemInUse(p_77659_1_, this.getMaxItemUseDuration(p_77659_1_));
return p_77659_1_;
}
/**
* called when the player releases the use item button. Args: itemstack,
* world, entityplayer, itemInUseCount
*/
@Override
public void onPlayerStoppedUsing(ItemStack p_77615_1_, World p_77615_2_, EntityPlayer p_77615_3_, int p_77615_4_) {
int j = this.getMaxItemUseDuration(p_77615_1_) - p_77615_4_;
ArrowLooseEvent event = new ArrowLooseEvent(p_77615_3_, p_77615_1_, j);
MinecraftForge.EVENT_BUS.post(event);
if (event.isCanceled()) {
return;
}
j = event.charge;
boolean flag = p_77615_3_.capabilities.isCreativeMode
|| EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, p_77615_1_) > 0;
if (!p_77615_3_.isSneaking()) {
if (flag || p_77615_3_.inventory.hasItem(ModItems.gun_emp_ammo)) {
float f = j / 20.0F;
f = (f * f + f * 2.0F) / 3.0F;
if (j < 25.0D) {
return;
}
if (j > 25.0F) {
f = 25.0F;
}
EntityDischarge entityarrow = new EntityDischarge(p_77615_2_, p_77615_3_, 1.0F);
entityarrow.setIsCritical(true);
p_77615_1_.damageItem(1, p_77615_3_);
// p_77615_2_.playSoundAtEntity(p_77615_3_, "tile.piston.out",
// 1.0F, 0.5F);
p_77615_2_.playSoundAtEntity(p_77615_3_, "hbm:weapon.fatmanShoot", 1.0F, 1F);
if (!flag) {
p_77615_3_.inventory.consumeInventoryItem(ModItems.gun_emp_ammo);
}
if (!p_77615_2_.isRemote) {
p_77615_2_.spawnEntityInWorld(entityarrow);
}
}
} else {
if (flag || p_77615_3_.inventory.hasItem(ModItems.gun_emp_ammo)) {
if (j < 25.0D) {
return;
}
if (!flag) {
p_77615_3_.inventory.consumeInventoryItem(ModItems.gun_emp_ammo);
}
EntityEMPBlast cloud = new EntityEMPBlast(p_77615_3_.worldObj, 25);
cloud.posX = p_77615_3_.posX;
cloud.posY = p_77615_3_.posY + 1.0F;
cloud.posZ = p_77615_3_.posZ;
if (!p_77615_2_.isRemote) {
p_77615_2_.spawnEntityInWorld(cloud);
}
ExplosionNukeGeneric.empBlast(p_77615_3_.worldObj, (int)p_77615_3_.posX, (int)p_77615_3_.posY, (int)p_77615_3_.posZ, 25);
}
}
}
@Override
public ItemStack onEaten(ItemStack p_77654_1_, World p_77654_2_, EntityPlayer p_77654_3_) {
return p_77654_1_;
}
@Override
public int getItemEnchantability() {
return 0;
}
@Override
public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) {
list.add("Hold right mouse button");
list.add("to shoot ball lightning,");
list.add("sneak to create EMP wave!");
list.add("");
list.add("Ammo: Energy Cell");
list.add("Damage: 25 - 35");
}
@Override
public Multimap getItemAttributeModifiers() {
Multimap multimap = super.getItemAttributeModifiers();
multimap.put(SharedMonsterAttributes.attackDamage.getAttributeUnlocalizedName(),
new AttributeModifier(field_111210_e, "Weapon modifier", 4, 0));
return multimap;
}
}

View File

@ -17,10 +17,9 @@ import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import net.minecraft.world.World;
@Deprecated
public abstract class GunFrame extends Item implements IGunHUDProvider, IClickReceiver {
private List<IStatusBarProvider> statusBars = new ArrayList();
@Override
public void onUpdate(ItemStack stack, World world, Entity entity, int slot, boolean isCurrentItem) {
@ -36,7 +35,6 @@ public abstract class GunFrame extends Item implements IGunHUDProvider, IClickRe
}
public void updatePlayerClient(ItemStack stack, World world, EntityPlayer player, int slot, boolean isCurrentItem) { }
public void updatePlayerServer(ItemStack stack, World world, EntityPlayer player, int slot, boolean isCurrentItem) { }
@Override

View File

@ -163,10 +163,6 @@ public class Library {
if((tileentity != null && (tileentity instanceof IFluidAcceptor ||
tileentity instanceof IFluidSource)) ||
world.getBlock(x, y, z) == ModBlocks.fusion_hatch ||
world.getBlock(x, y, z) == ModBlocks.fwatz_hatch ||
world.getBlock(x, y, z) == ModBlocks.dummy_port_ams_limiter ||
world.getBlock(x, y, z) == ModBlocks.dummy_port_ams_emitter ||
world.getBlock(x, y, z) == ModBlocks.dummy_port_ams_base ||
world.getBlock(x, y, z) == ModBlocks.dummy_port_compact_launcher ||
world.getBlock(x, y, z) == ModBlocks.dummy_port_launch_table ||
world.getBlock(x, y, z) == ModBlocks.rbmk_loader) {

View File

@ -1,12 +1,6 @@
package com.hbm.lib;
import com.hbm.entity.projectile.EntityBullet;
import com.hbm.entity.projectile.EntityDischarge;
import com.hbm.entity.projectile.EntityFire;
import com.hbm.entity.projectile.EntityLN2;
import com.hbm.entity.projectile.EntityLaserBeam;
import com.hbm.entity.projectile.EntityMinerBeam;
import com.hbm.entity.projectile.EntityPlasmaBeam;
import com.hbm.entity.projectile.*;
import net.minecraft.entity.Entity;
import net.minecraft.util.DamageSource;
@ -101,10 +95,6 @@ public class ModDamageSource extends DamageSource {
return (new EntityDamageSourceIndirect(s_euthanized, ent, hit)).setDamageBypassesArmor();
}
public static DamageSource causeDischargeDamage(EntityDischarge ent, Entity hit) {
return (new EntityDamageSourceIndirect(s_emp, ent, hit)).setDamageBypassesArmor();
}
public static DamageSource causeFireDamage(EntityFire ent, Entity hit) {
return (new EntityDamageSourceIndirect(s_flamethrower, ent, hit)).setFireDamage().setDamageBypassesArmor();
}

View File

@ -258,7 +258,6 @@ public class ClientProxy extends ServerProxy {
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineRadarNT.class, new RenderRadar());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineRadarLarge.class, new RenderRadarLarge());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineRadarScreen.class, new RenderRadarScreen());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineSeleniumEngine.class, new RenderSelenium());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityReactorResearch.class, new RenderSmallReactor());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTesla.class, new RenderTesla());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityBarrel.class, new RenderFluidBarrel());
@ -322,10 +321,6 @@ public class ClientProxy extends ServerProxy {
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityFoundryBasin.class, new RenderFoundry());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityFoundryMold.class, new RenderFoundry());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineStrandCaster.class, new RenderStrandCaster());
//AMS
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityAMSBase.class, new RenderAMSBase());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityAMSEmitter.class, new RenderAMSEmitter());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityAMSLimiter.class, new RenderAMSLimiter());
//ZIRNOX
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityReactorZirnox.class, new RenderZirnox());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityZirnoxDestroyed.class, new RenderZirnoxDestroyed());
@ -381,6 +376,7 @@ public class ClientProxy extends ServerProxy {
//ITER
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityITER.class, new RenderITER());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachinePlasmaHeater.class, new RenderPlasmaHeater());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityICF.class, new RenderICF());
//Watz
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityWatz.class, new RenderWatz());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityWatzPump.class, new RenderWatzPump());
@ -827,7 +823,6 @@ public class ClientProxy extends ServerProxy {
RenderingRegistry.registerEntityRenderingHandler(EntityOilSpillFX.class, new SpillRenderer(ModItems.nuclear_waste));
RenderingRegistry.registerEntityRenderingHandler(EntityGasFX.class, new GasRenderer(ModItems.nuclear_waste));
RenderingRegistry.registerEntityRenderingHandler(EntityCombineBall.class, new RenderSnowball(ModItems.energy_ball));
RenderingRegistry.registerEntityRenderingHandler(EntityDischarge.class, new ElectricityRenderer(ModItems.discharge));
RenderingRegistry.registerEntityRenderingHandler(EntityEMPBlast.class, new RenderEMPBlast());
RenderingRegistry.registerEntityRenderingHandler(EntityTSmokeFX.class, new TSmokeRenderer(ModItems.nuclear_waste));
}

View File

@ -385,9 +385,6 @@ public class CraftingManager {
addRecipeAuto(new ItemStack(ModItems.mechanism_special, 1), new Object[] { "PCI", "ISS", "PCI", 'P', ModItems.plate_desh, 'C', ModItems.coil_advanced_alloy, 'I', STAR.ingot(), 'S', ModItems.circuit_targeting_tier3 });
addRecipeAuto(new ItemStack(ModBlocks.watz_pump, 1), new Object[] { "MPM", "PCP", "PSP", 'M', ModItems.motor_desh, 'P', ANY_RESISTANTALLOY.plateCast(), 'C', KEY_CIRCUIT_BISMUTH, 'S', ModItems.pipes_steel });
addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.fwatz_cooler), 1), new Object[] { "IPI", "IPI", "IPI", 'I', TI.ingot(), 'P', TI.plate() });
addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.fwatz_tank), 1), new Object[] { "CGC", "GGG", "CGC", 'C', CMB.plate(), 'G', KEY_ANYPANE });
addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.fwatz_scaffold), 1), new Object[] { "IPI", "P P", "IPI", 'I', W.ingot(), 'P', getReflector() });
addRecipeAuto(new ItemStack(ModBlocks.reinforced_stone, 4), new Object[] { "FBF", "BFB", "FBF", 'F', Blocks.cobblestone, 'B', Blocks.stone });
addRecipeAuto(new ItemStack(ModBlocks.brick_light, 4), new Object[] { "FBF", "BFB", "FBF", 'F', Blocks.fence, 'B', Blocks.brick_block });
@ -691,8 +688,8 @@ public class CraftingManager {
addRecipeAuto(new ItemStack(ModItems.sat_coord), new Object[] { "SII", "SCA", "SPP", 'I', STEEL.ingot(), 'S', STAR.ingot(), 'P', ModItems.plate_polymer, 'C', ModItems.sat_chip, 'A', ModItems.circuit_red_copper });
addRecipeAuto(new ItemStack(ModBlocks.machine_transformer), new Object[] { "SDS", "MCM", "MCM", 'S', IRON.ingot(), 'D', MINGRADE.ingot(), 'M',ModItems.coil_advanced_alloy, 'C', ModItems.circuit_copper });
addRecipeAuto(new ItemStack(ModBlocks.machine_transformer_20), new Object[] { "SDS", "MCM", "MCM", 'S', IRON.ingot(), 'D', MINGRADE.ingot(), 'M', ModItems.coil_copper, 'C', ModItems.circuit_copper });
addRecipeAuto(new ItemStack(ModBlocks.machine_transformer_dnt), new Object[] { "SDS", "MCM", "MCM", 'S', STAR.ingot(), 'D', DESH.ingot(), 'M', ModBlocks.fwatz_conductor, 'C', ModItems.circuit_targeting_tier6 });
addRecipeAuto(new ItemStack(ModBlocks.machine_transformer_dnt_20), new Object[] { "SDS", "MCM", "MCM", 'S', STAR.ingot(), 'D', DESH.ingot(), 'M', ModBlocks.fusion_conductor, 'C', ModItems.circuit_targeting_tier6 });
addRecipeAuto(new ItemStack(ModBlocks.machine_transformer_dnt), new Object[] { "SDS", "MCM", "MCM", 'S', STAR.ingot(), 'D', DESH.ingot(), 'M', MAGTUNG.wireDense(), 'C', ModItems.circuit_targeting_tier6 });
addRecipeAuto(new ItemStack(ModBlocks.machine_transformer_dnt_20), new Object[] { "SDS", "MCM", "MCM", 'S', STAR.ingot(), 'D', DESH.ingot(), 'M', ALLOY.wireDense(), 'C', ModItems.circuit_targeting_tier6 });
addRecipeAuto(new ItemStack(ModBlocks.radiobox), new Object[] { "PLP", "PSP", "PLP", 'P', STEEL.plate(), 'S', ModItems.ring_starmetal, 'C', ModItems.fusion_core, 'L', getReflector() });
addRecipeAuto(new ItemStack(ModBlocks.radiorec), new Object[] { " W", "PCP", "PIP", 'W', ModItems.wire_copper, 'P', STEEL.plate(), 'C', ModItems.circuit_red_copper, 'I', ANY_PLASTIC.ingot() });
addRecipeAuto(new ItemStack(ModItems.jackt), new Object[] { "S S", "LIL", "LIL", 'S', STEEL.plate(), 'L', Items.leather, 'I', ANY_RUBBER.ingot() });
@ -839,7 +836,6 @@ public class CraftingManager {
addRecipeAuto(new ItemStack(ModBlocks.hadron_coil_gold, 1), new Object[] { "WG", "GW", 'W', ALLOY.wireDense(), 'G', GOLD.wireDense() });
addRecipeAuto(new ItemStack(ModBlocks.hadron_coil_neodymium, 1), new Object[] { "G", "C", "G", 'G', ND.dust(), 'C', ModBlocks.hadron_coil_gold });
addRecipeAuto(new ItemStack(ModBlocks.hadron_coil_neodymium, 1), new Object[] { "WG", "GW", 'W', ND.wireDense(), 'G', GOLD.wireDense() });
addRecipeAuto(new ItemStack(ModBlocks.hadron_coil_magtung, 1), new Object[] { "WWW", "WCW", "WWW", 'W', ModItems.wire_magnetized_tungsten, 'C', ModBlocks.fwatz_conductor });
addRecipeAuto(new ItemStack(ModBlocks.hadron_coil_magtung, 1), new Object[] { "WW", "WW", 'W', MAGTUNG.wireDense() });
addRecipeAuto(new ItemStack(ModBlocks.hadron_coil_schrabidium, 1), new Object[] { "WWW", "WCW", "WWW", 'W', ModItems.wire_schrabidium, 'C', ModBlocks.hadron_coil_magtung });
addRecipeAuto(new ItemStack(ModBlocks.hadron_coil_schrabidium, 1), new Object[] { "WS", "SW", 'W', MAGTUNG.wireDense(), 'S', SA326.wireDense() });

View File

@ -1297,15 +1297,42 @@ public class MainRegistry {
ignoreMappings.add("hbm:tile.anvil_meteorite");
ignoreMappings.add("hbm:tile.anvil_starmetal");
ignoreMappings.add("hbm:tile.anvil_bismuth");
ignoreMappings.add("hbm:tile.lamp_uv_off");
ignoreMappings.add("hbm:tile.lamp_uv_on");
ignoreMappings.add("hbm:tile.ams_base");
ignoreMappings.add("hbm:tile.ams_emitter");
ignoreMappings.add("hbm:tile.ams_limiter");
ignoreMappings.add("hbm:tile.dummy_block_ams_limiter");
ignoreMappings.add("hbm:tile.dummy_port_ams_limiter");
ignoreMappings.add("hbm:tile.dummy_block_ams_emitter");
ignoreMappings.add("hbm:tile.dummy_port_ams_emitter");
ignoreMappings.add("hbm:tile.dummy_block_ams_base");
ignoreMappings.add("hbm:tile.dummy_port_ams_base");
ignoreMappings.add("hbm:tile.machine_selenium");
ignoreMappings.add("hbm:tile.fwatz_conductor");
ignoreMappings.add("hbm:tile.fwatz_cooler");
ignoreMappings.add("hbm:tile.fwatz_tank");
ignoreMappings.add("hbm:tile.fwatz_scaffold");
ignoreMappings.add("hbm:tile.fwatz_hatch");
ignoreMappings.add("hbm:tile.fwatz_computer");
ignoreMappings.add("hbm:tile.fwatz_core");
ignoreMappings.add("hbm:tile.fwatz_plasma");
ignoreMappings.add("hbm:tile.ore_meteor_uranium");
ignoreMappings.add("hbm:tile.ore_meteor_thorium");
ignoreMappings.add("hbm:tile.ore_meteor_titanium");
ignoreMappings.add("hbm:tile.ore_meteor_sulfur");
ignoreMappings.add("hbm:tile.ore_meteor_copper");
ignoreMappings.add("hbm:tile.ore_meteor_tungsten");
ignoreMappings.add("hbm:tile.ore_meteor_aluminium");
ignoreMappings.add("hbm:tile.ore_meteor_lead");
ignoreMappings.add("hbm:tile.ore_meteor_lithium");
ignoreMappings.add("hbm:tile.ore_meteor_starmetal");
/// REMAP ///
remapItems.put("hbm:item.gadget_explosive8", ModItems.early_explosive_lenses);
remapItems.put("hbm:item.man_explosive8", ModItems.explosive_lenses);
remapItems.put("hbm:item.briquette_lignite", ModItems.briquette);
remapItems.put("hbm:item.antiknock", ModItems.fuel_additive);
remapItems.put("hbm:tile.anvil_meteorite", Item.getItemFromBlock(ModBlocks.anvil_desh));
remapItems.put("hbm:tile.anvil_starmetal", Item.getItemFromBlock(ModBlocks.anvil_saturnite));
remapItems.put("hbm:tile.anvil_bismuth", Item.getItemFromBlock(ModBlocks.anvil_bismuth_bronze));
for(MissingMapping mapping : event.get()) {

View File

@ -51,16 +51,10 @@ public class NEIConfig implements IConfigureNEI {
API.hideItem(new ItemStack(ModItems.burnt_bark));
API.hideItem(new ItemStack(ModItems.ams_core_thingy));
}
API.hideItem(new ItemStack(ModBlocks.dummy_block_ams_base));
API.hideItem(new ItemStack(ModBlocks.dummy_block_ams_emitter));
API.hideItem(new ItemStack(ModBlocks.dummy_block_ams_limiter));
API.hideItem(new ItemStack(ModBlocks.dummy_block_vault));
API.hideItem(new ItemStack(ModBlocks.dummy_block_blast));
API.hideItem(new ItemStack(ModBlocks.dummy_block_uf6));
API.hideItem(new ItemStack(ModBlocks.dummy_block_puf6));
API.hideItem(new ItemStack(ModBlocks.dummy_port_ams_base));
API.hideItem(new ItemStack(ModBlocks.dummy_port_ams_emitter));
API.hideItem(new ItemStack(ModBlocks.dummy_port_ams_limiter));
API.hideItem(new ItemStack(ModBlocks.dummy_port_compact_launcher));
API.hideItem(new ItemStack(ModBlocks.dummy_port_launch_table));
API.hideItem(new ItemStack(ModBlocks.dummy_plate_compact_launcher));

View File

@ -125,11 +125,6 @@ public class ResourceManager {
//IGen
public static final IModelCustom igen = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/igen.obj"));
//Selenium Engine
public static final IModelCustom selenium_body = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/selenium_engine_body.obj"));
public static final IModelCustom selenium_rotor = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/selenium_engine_rotor.obj"));
public static final IModelCustom selenium_piston = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/selenium_engine_piston.obj"));
//Combustion Engine
public static final IModelCustom dieselgen = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/dieselgen.obj"));
public static final IModelCustom combustion_engine = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/combustion_engine.obj")).asVBO();
@ -178,8 +173,6 @@ public class ResourceManager {
public static final IModelCustom autosaw = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/autosaw.obj"));
//Mining Drill
public static final IModelCustom drill_body = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/drill_main.obj"));
public static final IModelCustom drill_bolt = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/drill_bolt.obj"));
public static final IModelCustom mining_drill = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/mining_drill.obj")).asVBO();
//Laser Miner
@ -203,13 +196,6 @@ public class ResourceManager {
//Deuterium Tower
public static final IModelCustom deuterium_tower = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/machine_deuterium_tower.obj"));
//Anti Mass Spectrometer
public static final IModelCustom ams_base = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/ams_base.obj"));
public static final IModelCustom ams_emitter = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/ams_emitter.obj"));
public static final IModelCustom ams_emitter_destroyed = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/ams_emitter_destroyed.obj"));
public static final IModelCustom ams_limiter = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/ams_limiter.obj"));
public static final IModelCustom ams_limiter_destroyed = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/ams_limiter_destroyed.obj"));
//Dark Matter Core
public static final IModelCustom dfc_emitter = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/core_emitter.obj"));
public static final IModelCustom dfc_receiver = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/core_receiver.obj"));
@ -241,21 +227,24 @@ public class ResourceManager {
public static final IModelCustom breeder = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/reactors/breeder.obj"));
//ITER
public static final IModelCustom iter = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/reactors/iter.obj"));
public static final IModelCustom iter = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/reactors/iter.obj")).asVBO();
//ICF
public static final IModelCustom icf = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/reactors/icf.obj")).asVBO();
//Watz
public static final IModelCustom watz = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/reactors/watz.obj"));
public static final IModelCustom watz_pump = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/watz_pump.obj"));
public static final IModelCustom watz = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/reactors/watz.obj")).asVBO();
public static final IModelCustom watz_pump = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/watz_pump.obj")).asVBO();
//FENSU
public static final IModelCustom fensu = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/fensu.obj"));
public static final IModelCustom fensu = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/fensu.obj")).asVBO();
//Radar
public static final IModelCustom radar_body = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/radar_base.obj"));
public static final IModelCustom radar_head = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/radar_head.obj"));
public static final IModelCustom radar = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/radar.obj"));
public static final IModelCustom radar_large = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/radar_large.obj"));
public static final IModelCustom radar_screen = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/radar_screen.obj"));
public static final IModelCustom radar_body = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/radar_base.obj"), false).asVBO();
public static final IModelCustom radar_head = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/radar_head.obj"), false).asVBO();
public static final IModelCustom radar = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/radar.obj"), false).asVBO();
public static final IModelCustom radar_large = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/radar_large.obj"), false).asVBO();
public static final IModelCustom radar_screen = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/radar_screen.obj"), false).asVBO();
//Forcefield
public static final IModelCustom forcefield_top = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/forcefield_top.obj"));
@ -276,13 +265,6 @@ public class ResourceManager {
public static final IModelCustom bomb_multi = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/BombGeneric.obj"));
public static final IModelCustom fstbmb = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/bombs/fstbmb.obj"));
public static final IModelCustom dud = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/BalefireCrashed.obj"));
//Cel-Prime
public static final IModelCustom cp_tower = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/cel_prime_tower.obj"));
public static final IModelCustom cp_terminal = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/cel_prime_terminal.obj"));
public static final IModelCustom cp_battery = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/cel_prime_battery.obj"));
public static final IModelCustom cp_tanks = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/cel_prime_tanks.obj"));
public static final IModelCustom cp_port = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/cel_prime_port.obj"));
//Satellites
public static final IModelCustom sat_base = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/sat_base.obj"));
@ -396,7 +378,7 @@ public class ResourceManager {
//Electrolyser
public static final IModelCustom electrolyser = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/electrolyser.obj"));
//Belt
//Charging Station
public static final IModelCustom charger = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/blocks/charger.obj"));
//DecoContainer (File Cabinet for now)
@ -539,11 +521,6 @@ public class ResourceManager {
public static final ResourceLocation igen_arm = new ResourceLocation(RefStrings.MODID, "textures/models/machines/igen_arm.png");
public static final ResourceLocation igen_pistons = new ResourceLocation(RefStrings.MODID, "textures/models/machines/igen_pistons.png");
//Selenium Engine
public static final ResourceLocation selenium_body_tex = new ResourceLocation(RefStrings.MODID, "textures/models/selenium_engine_body.png");
public static final ResourceLocation selenium_piston_tex = new ResourceLocation(RefStrings.MODID, "textures/models/selenium_engine_piston.png");
public static final ResourceLocation selenium_rotor_tex = new ResourceLocation(RefStrings.MODID, "textures/models/selenium_engine_rotor.png");
//Combustion Engine
public static final ResourceLocation dieselgen_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/dieselgen.png");
public static final ResourceLocation combustion_engine_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/combustion_engine.png");
@ -629,12 +606,6 @@ public class ResourceManager {
//Waste Drum
public static final ResourceLocation waste_drum_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/drum_gray.png");
//Anti Mass Spectrometer
public static final ResourceLocation ams_base_tex = new ResourceLocation(RefStrings.MODID, "textures/models/ams_base.png");
public static final ResourceLocation ams_emitter_tex = new ResourceLocation(RefStrings.MODID, "textures/models/ams_emitter.png");
public static final ResourceLocation ams_limiter_tex = new ResourceLocation(RefStrings.MODID, "textures/models/ams_limiter.png");
public static final ResourceLocation ams_destroyed_tex = new ResourceLocation(RefStrings.MODID, "textures/models/ams_destroyed.png");
//Dark Matter Core
public static final ResourceLocation dfc_emitter_tex = new ResourceLocation(RefStrings.MODID, "textures/models/core_emitter.png");
public static final ResourceLocation dfc_receiver_tex = new ResourceLocation(RefStrings.MODID, "textures/models/core_receiver.png");
@ -671,6 +642,9 @@ public class ResourceManager {
public static final ResourceLocation iter_torus_chlorophyte = new ResourceLocation(RefStrings.MODID, "textures/models/iter/torus_chlorophyte.png");
public static final ResourceLocation iter_torus_vaporwave = new ResourceLocation(RefStrings.MODID, "textures/models/iter/torus_vaporwave.png");
//ICF
public static final ResourceLocation icf_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/icf.png");
//Watz
public static final ResourceLocation watz_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/watz.png");
public static final ResourceLocation watz_pump_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/watz_pump.png");

View File

@ -5,13 +5,9 @@ import com.hbm.items.weapon.ItemCustomMissilePart.PartSize;
import com.hbm.tileentity.TileEntityMachineBase;
import com.hbm.tileentity.bomb.TileEntityCompactLauncher;
import com.hbm.tileentity.bomb.TileEntityLaunchTable;
import com.hbm.tileentity.machine.TileEntityAMSBase;
import com.hbm.tileentity.machine.TileEntityAMSEmitter;
import com.hbm.tileentity.machine.TileEntityAMSLimiter;
import com.hbm.tileentity.machine.TileEntityMachineArcFurnace;
import com.hbm.tileentity.machine.TileEntityMachineBoiler;
import com.hbm.tileentity.machine.TileEntityMachineBoilerElectric;
import com.hbm.tileentity.machine.TileEntityMachineSeleniumEngine;
import cpw.mods.fml.common.network.simpleimpl.IMessage;
import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
@ -71,41 +67,6 @@ public class AuxGaugePacket implements IMessage {
public IMessage onMessage(AuxGaugePacket m, MessageContext ctx) {
try {
TileEntity te = Minecraft.getMinecraft().theWorld.getTileEntity(m.x, m.y, m.z);
if (te instanceof TileEntityAMSLimiter) {
TileEntityAMSLimiter limiter = (TileEntityAMSLimiter)te;
if(m.id == 0)
limiter.locked = m.value == 1;
else if(m.id == 1)
limiter.efficiency = m.value;
}
if (te instanceof TileEntityAMSEmitter) {
TileEntityAMSEmitter emitter = (TileEntityAMSEmitter)te;
if(m.id == 0)
emitter.locked = m.value == 1;
else if(m.id == 1)
emitter.efficiency = m.value;
}
if (te instanceof TileEntityAMSBase) {
TileEntityAMSBase base = (TileEntityAMSBase)te;
if(m.id == 0)
base.locked = m.value == 1;
else if(m.id == 1)
base.color = m.value;
else if(m.id == 2)
base.efficiency = m.value;
else if(m.id == 3)
base.field = m.value;
}
if (te instanceof TileEntityMachineSeleniumEngine) {
TileEntityMachineSeleniumEngine selenium = (TileEntityMachineSeleniumEngine)te;
if(m.id == 0)
selenium.pistonCount = m.value;
if(m.id == 1)
selenium.powerCap = m.value;
}
if (te instanceof TileEntityMachineBoiler) {
TileEntityMachineBoiler boiler = (TileEntityMachineBoiler)te;

View File

@ -1,79 +0,0 @@
package com.hbm.render.entity.effect;
import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL12;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.entity.Render;
import net.minecraft.client.renderer.texture.TextureMap;
import net.minecraft.entity.Entity;
import net.minecraft.item.Item;
import net.minecraft.util.IIcon;
import net.minecraft.util.ResourceLocation;
public class ElectricityRenderer extends Render {
private Item field_94151_a;
public ElectricityRenderer(Item p_i1259_1_, int p_i1259_2_) {
this.field_94151_a = p_i1259_1_;
}
public ElectricityRenderer(Item p_i1260_1_) {
this(p_i1260_1_, 0);
}
/**
* Actually renders the given argument. This is a synthetic bridge method,
* always casting down its argument and then handing it off to a worker
* function which does the actual work. In all probabilty, the class Render
* is generic (Render<T extends Entity) and this method has signature public
* void func_76986_a(T entity, double d, double d1, double d2, float f,
* float f1). But JAD is pre 1.5 so doesn't do that.
*/
@Override
public void doRender(Entity p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) {
IIcon iicon = field_94151_a.getIconFromDamage(0);
if (iicon != null) {
GL11.glPushMatrix();
GL11.glTranslatef((float) p_76986_2_, (float) p_76986_4_, (float) p_76986_6_);
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
GL11.glScalef(0.5F, 0.5F, 0.5F);
GL11.glScalef(7.5F, 7.5F, 7.5F);
this.bindEntityTexture(p_76986_1_);
Tessellator tessellator = Tessellator.instance;
this.func_77026_a(tessellator, iicon);
GL11.glDisable(GL12.GL_RESCALE_NORMAL);
GL11.glPopMatrix();
}
}
/**
* Returns the location of an entity's texture. Doesn't seem to be called
* unless you call Render.bindEntityTexture.
*/
@Override
protected ResourceLocation getEntityTexture(Entity p_110775_1_) {
return TextureMap.locationItemsTexture;
}
private void func_77026_a(Tessellator p_77026_1_, IIcon p_77026_2_) {
float f = p_77026_2_.getMinU();
float f1 = p_77026_2_.getMaxU();
float f2 = p_77026_2_.getMinV();
float f3 = p_77026_2_.getMaxV();
float f4 = 1.0F;
float f5 = 0.5F;
float f6 = 0.25F;
GL11.glRotatef(180.0F - this.renderManager.playerViewY, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(-this.renderManager.playerViewX, 1.0F, 0.0F, 0.0F);
p_77026_1_.startDrawingQuads();
p_77026_1_.setNormal(0.0F, 1.0F, 0.0F);
p_77026_1_.addVertexWithUV(0.0F - f5, 0.0F - f6, 0.0D, f, f3);
p_77026_1_.addVertexWithUV(f4 - f5, 0.0F - f6, 0.0D, f1, f3);
p_77026_1_.addVertexWithUV(f4 - f5, f4 - f6, 0.0D, f1, f2);
p_77026_1_.addVertexWithUV(0.0F - f5, f4 - f6, 0.0D, f, f2);
p_77026_1_.draw();
}
}

View File

@ -138,24 +138,6 @@ public class ItemRenderLibrary {
GL11.glShadeModel(GL11.GL_FLAT);
}});
renderers.put(Item.getItemFromBlock(ModBlocks.machine_selenium), new ItemRenderBase() {
public void renderInventory() {
GL11.glTranslated(0, -4, 0);
GL11.glScaled(4, 4, 4);
}
public void renderCommon() {
GL11.glScaled(2, 2, 2);
GL11.glDisable(GL11.GL_CULL_FACE);
bindTexture(ResourceManager.selenium_body_tex); ResourceManager.selenium_body.renderAll();
GL11.glTranslated(0.0D, 1.0D, 0.0D);
bindTexture(ResourceManager.selenium_rotor_tex); ResourceManager.selenium_rotor.renderAll();
bindTexture(ResourceManager.selenium_piston_tex);
for(int i = 0; i < 7; i++) {
ResourceManager.selenium_piston.renderAll(); GL11.glRotatef(360F/7F, 0, 0, 1);
}
GL11.glEnable(GL11.GL_CULL_FACE);
}});
renderers.put(Item.getItemFromBlock(ModBlocks.reactor_research), new ItemRenderBase() {
public void renderInventory() {
GL11.glTranslated(0, -4, 0);

View File

@ -1,134 +0,0 @@
package com.hbm.render.tileentity;
import org.lwjgl.opengl.GL11;
import com.hbm.main.ResourceManager;
import com.hbm.tileentity.machine.TileEntityAMSBase;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.tileentity.TileEntity;
public class RenderAMSBase extends TileEntitySpecialRenderer {
public RenderAMSBase() { }
@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);
bindTexture(ResourceManager.ams_base_tex);
ResourceManager.ams_base.renderAll();
GL11.glPopMatrix();
TileEntityAMSBase base = (TileEntityAMSBase)tileEntity;
if(base.color > -1)
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 + 5.5, z + 0.5D);
//GL11.glEnable(GL11.GL_LIGHTING);
GL11.glDisable(GL11.GL_LIGHTING);
GL11.glEnable(GL11.GL_CULL_FACE);
GL11.glRotatef(180, 0F, 1F, 0F);
int rot = (int) ((System.nanoTime()/100000000)%360) * 3;
TileEntityAMSBase base = (TileEntityAMSBase)tileEntity;
double maxSize = 5;
double minSize = 0.5;
double scale = minSize;
scale += ((((double)base.tanks[2].getFill()) / ((double)base.tanks[2].getMaxFill())) + (((double)base.tanks[3].getFill()) / ((double)base.tanks[3].getMaxFill()))) * ((maxSize - minSize) / 2);
GL11.glScaled(scale, scale, scale);
//bindTexture(new ResourceLocation(RefStrings.MODID, "textures/models/EMPBlast.png"));
GL11.glDisable(GL11.GL_TEXTURE_2D);
GL11.glRotatef(rot, 0F, 1F, 0F);
GL11.glScalef(1.1F, 1.1F, 1.1F);
GL11.glColor3ub((byte)(0x20), (byte)(0x20), (byte)(0x40));
ResourceManager.sphere_iuv.renderAll();
GL11.glScalef(1/1.1F, 1/1.1F, 1/1.1F);
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
GL11.glEnable(GL11.GL_TEXTURE_2D);
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glDisable(GL11.GL_CULL_FACE);
GL11.glPopMatrix();
renderTileEntityAt3(tileEntity, x, y, z, f);
}
public void renderTileEntityAt3(TileEntity tileEntity, double x, double y, double z, float f)
{
GL11.glPushMatrix();
GL11.glTranslated(x + 0.5D, y + 5.5, z + 0.5D);
//GL11.glEnable(GL11.GL_LIGHTING);
GL11.glDisable(GL11.GL_LIGHTING);
GL11.glEnable(GL11.GL_CULL_FACE);
GL11.glRotatef(180, 0F, 1F, 0F);
TileEntityAMSBase base = (TileEntityAMSBase)tileEntity;
double maxSize = 5;
double minSize = 0.5;
double scale = minSize;
scale += ((((double)base.tanks[2].getFill()) / ((double)base.tanks[2].getMaxFill())) + (((double)base.tanks[3].getFill()) / ((double)base.tanks[3].getMaxFill()))) * ((maxSize - minSize) / 2);
GL11.glScaled(scale, scale, scale);
GL11.glColor3ub((byte)((base.color & 0xFF0000) >> 16), (byte)((base.color & 0x00FF00) >> 8), (byte)((base.color & 0x0000FF) >> 0));
GL11.glDisable(GL11.GL_TEXTURE_2D);
int rot = (int) ((System.nanoTime()/100000000)%360) * 3;
GL11.glRotatef(rot, 0F, 1F, 0F);
GL11.glScalef(0.5F, 0.5F, 0.5F);
ResourceManager.sphere_ruv.renderAll();
GL11.glScalef(1/0.5F, 1/0.5F, 1/0.5F);
GL11.glEnable(GL11.GL_BLEND);
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE);
GL11.glRotatef(-rot * 2, 0F, 1F, 0F);
GL11.glScalef(0.6F, 0.6F, 0.6F);
ResourceManager.sphere_ruv.renderAll();
GL11.glScalef(1/0.6F, 1/0.6F, 1/0.6F);
GL11.glRotatef(rot * 2, 0F, 1F, 0F);
GL11.glScalef(0.7F, 0.7F, 0.7F);
ResourceManager.sphere_ruv.renderAll();
GL11.glScalef(1/0.7F, 1/0.7F, 1/0.7F);
GL11.glRotatef(-rot * 2, 0F, 1F, 0F);
GL11.glScalef(0.8F, 0.8F, 0.8F);
ResourceManager.sphere_ruv.renderAll();
GL11.glScalef(1/0.8F, 1/0.8F, 1/0.8F);
GL11.glRotatef(rot * 2, 0F, 1F, 0F);
GL11.glScalef(0.9F, 0.9F, 0.9F);
ResourceManager.sphere_ruv.renderAll();
GL11.glScalef(1/0.9F, 1/0.9F, 1/0.9F);
GL11.glRotatef(-rot * 2, 0F, 1F, 0F);
ResourceManager.sphere_ruv.renderAll();
GL11.glDisable(GL11.GL_BLEND);
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glEnable(GL11.GL_TEXTURE_2D);
GL11.glDisable(GL11.GL_CULL_FACE);
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
GL11.glPopMatrix();
}
}

View File

@ -1,145 +0,0 @@
package com.hbm.render.tileentity;
import java.util.Random;
import org.lwjgl.opengl.GL11;
import com.hbm.main.ResourceManager;
import com.hbm.tileentity.machine.TileEntityAMSBase;
import com.hbm.tileentity.machine.TileEntityAMSEmitter;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.tileentity.TileEntity;
public class RenderAMSEmitter extends TileEntitySpecialRenderer {
public RenderAMSEmitter() { }
Random rand = new Random();
@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);
if(((TileEntityAMSEmitter)tileEntity).locked)
bindTexture(ResourceManager.ams_destroyed_tex);
else
bindTexture(ResourceManager.ams_emitter_tex);
if(((TileEntityAMSEmitter)tileEntity).locked)
ResourceManager.ams_emitter_destroyed.renderAll();
else
ResourceManager.ams_emitter.renderAll();
GL11.glPopMatrix();
renderTileEntityAt2(tileEntity, x, y, z, f);
}
public void renderTileEntityAt2(TileEntity tileEntity, double x, double y, double z, float f)
{
float radius = 0.04F;
int distance = 1;
int layers = 3;
Tessellator tessellator = Tessellator.instance;
GL11.glPushMatrix();
GL11.glDisable(GL11.GL_TEXTURE_2D);
GL11.glDisable(GL11.GL_CULL_FACE);
GL11.glEnable(GL11.GL_BLEND);
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE);
GL11.glTranslatef((float) x + 0.5F, (float) y - 7, (float) z + 0.5F);
TileEntityAMSEmitter emitter = (TileEntityAMSEmitter)tileEntity;
if(emitter.getWorldObj().getTileEntity(emitter.xCoord, emitter.yCoord - 9, emitter.zCoord) instanceof TileEntityAMSBase && !emitter.locked || true) {
if(emitter.efficiency > 0 || true) {
double lastPosX = 0;
double lastPosZ = 0;
for(int i = 7; i > 0; i -= distance) {
double posX = rand.nextDouble() - 0.5;
double posZ = rand.nextDouble() - 0.5;
for(int j = 1; j <= layers; j++) {
tessellator.startDrawingQuads();
tessellator.setColorRGBA_F(1, 0.5F, 0, 1f);
tessellator.addVertex(lastPosX + (radius * j), i, lastPosZ + (radius * j));
tessellator.addVertex(lastPosX + (radius * j), i, lastPosZ - (radius * j));
tessellator.addVertex(posX + (radius * j), i - distance, posZ - (radius * j));
tessellator.addVertex(posX + (radius * j), i - distance, posZ + (radius * j));
tessellator.draw();
tessellator.startDrawingQuads();
tessellator.setColorRGBA_F(1, 0.5F, 0, 1f);
tessellator.addVertex(lastPosX - (radius * j), i, lastPosZ + (radius * j));
tessellator.addVertex(lastPosX - (radius * j), i, lastPosZ - (radius * j));
tessellator.addVertex(posX - (radius * j), i - distance, posZ - (radius * j));
tessellator.addVertex(posX - (radius * j), i - distance, posZ + (radius * j));
tessellator.draw();
tessellator.startDrawingQuads();
tessellator.setColorRGBA_F(1, 0.5F, 0, 1f);
tessellator.addVertex(lastPosX + (radius * j), i, lastPosZ + (radius * j));
tessellator.addVertex(lastPosX - (radius * j), i, lastPosZ + (radius * j));
tessellator.addVertex(posX - (radius * j), i - distance, posZ + (radius * j));
tessellator.addVertex(posX + (radius * j), i - distance, posZ + (radius * j));
tessellator.draw();
tessellator.startDrawingQuads();
tessellator.setColorRGBA_F(1, 0.5F, 0, 1f);
tessellator.addVertex(lastPosX + (radius * j), i, lastPosZ - (radius * j));
tessellator.addVertex(lastPosX - (radius * j), i, lastPosZ - (radius * j));
tessellator.addVertex(posX - (radius * j), i - distance, posZ - (radius * j));
tessellator.addVertex(posX + (radius * j), i - distance, posZ - (radius * j));
tessellator.draw();
}
lastPosX = posX;
lastPosZ = posZ;
}
}
for(int j = 1; j <= 2; j++) {
tessellator.startDrawingQuads();
tessellator.setColorRGBA_F(1, 1, 0, 1f);
tessellator.addVertex(0 + (radius * j), 7, 0 + (radius * j));
tessellator.addVertex(0 + (radius * j), 7, 0 - (radius * j));
tessellator.addVertex(0 + (radius * j), 0, 0 - (radius * j));
tessellator.addVertex(0 + (radius * j), 0, 0 + (radius * j));
tessellator.draw();
tessellator.startDrawingQuads();
tessellator.setColorRGBA_F(1, 1, 0, 1f);
tessellator.addVertex(0 - (radius * j), 7, 0 + (radius * j));
tessellator.addVertex(0 - (radius * j), 7, 0 - (radius * j));
tessellator.addVertex(0 - (radius * j), 0, 0 - (radius * j));
tessellator.addVertex(0 - (radius * j), 0, 0 + (radius * j));
tessellator.draw();
tessellator.startDrawingQuads();
tessellator.setColorRGBA_F(1, 1, 0, 1f);
tessellator.addVertex(0 + (radius * j), 7, 0 + (radius * j));
tessellator.addVertex(0 - (radius * j), 7, 0 + (radius * j));
tessellator.addVertex(0 - (radius * j), 0, 0 + (radius * j));
tessellator.addVertex(0 + (radius * j), 0, 0 + (radius * j));
tessellator.draw();
tessellator.startDrawingQuads();
tessellator.setColorRGBA_F(1, 1, 0, 1f);
tessellator.addVertex(0 + (radius * j), 7, 0 - (radius * j));
tessellator.addVertex(0 - (radius * j), 7, 0 - (radius * j));
tessellator.addVertex(0 - (radius * j), 0, 0 - (radius * j));
tessellator.addVertex(0 + (radius * j), 0, 0 - (radius * j));
tessellator.draw();
}
}
GL11.glDisable(GL11.GL_BLEND);
GL11.glEnable(GL11.GL_TEXTURE_2D);
GL11.glPopMatrix();
}
}

View File

@ -1,297 +0,0 @@
package com.hbm.render.tileentity;
import org.lwjgl.opengl.GL11;
import com.hbm.main.ResourceManager;
import com.hbm.tileentity.machine.TileEntityAMSBase;
import com.hbm.tileentity.machine.TileEntityAMSLimiter;
import net.minecraft.client.renderer.RenderHelper;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.tileentity.TileEntity;
public class RenderAMSLimiter extends TileEntitySpecialRenderer {
public RenderAMSLimiter() { }
@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);
GL11.glRotatef(-90, 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;
}
if(((TileEntityAMSLimiter)tileEntity).locked)
bindTexture(ResourceManager.ams_destroyed_tex);
else
bindTexture(ResourceManager.ams_limiter_tex);
if(((TileEntityAMSLimiter)tileEntity).locked)
ResourceManager.ams_limiter_destroyed.renderAll();
else
ResourceManager.ams_limiter.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, z + 0.5D);
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glDisable(GL11.GL_CULL_FACE);
GL11.glRotatef(180, 0F, 1F, 0F);
GL11.glRotatef(-90, 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.universal);
TileEntityAMSLimiter limiter = (TileEntityAMSLimiter)tileEntity;
int meta = tileEntity.getBlockMetadata();
boolean flag = false;
double maxSize = 5;
double minSize = 0.5;
if(meta == 2 && tileEntity.getWorldObj().getTileEntity(tileEntity.xCoord, tileEntity.yCoord, tileEntity.zCoord - 6) instanceof TileEntityAMSBase && !limiter.locked) {
flag = true;
TileEntityAMSBase base = (TileEntityAMSBase)tileEntity.getWorldObj().getTileEntity(tileEntity.xCoord, tileEntity.yCoord, tileEntity.zCoord - 6);
maxSize += ((((double)base.tanks[2].getFill()) / ((double)base.tanks[2].getMaxFill())) + (((double)base.tanks[3].getFill()) / ((double)base.tanks[3].getMaxFill()))) * ((maxSize - minSize) / 2);
}
if(meta == 3 && tileEntity.getWorldObj().getTileEntity(tileEntity.xCoord, tileEntity.yCoord, tileEntity.zCoord + 6) instanceof TileEntityAMSBase && !limiter.locked) {
flag = true;
TileEntityAMSBase base = (TileEntityAMSBase)tileEntity.getWorldObj().getTileEntity(tileEntity.xCoord, tileEntity.yCoord, tileEntity.zCoord + 6);
maxSize += ((((double)base.tanks[2].getFill()) / ((double)base.tanks[2].getMaxFill())) + (((double)base.tanks[3].getFill()) / ((double)base.tanks[3].getMaxFill()))) * ((maxSize - minSize) / 2);
}
if(meta == 4 && tileEntity.getWorldObj().getTileEntity(tileEntity.xCoord - 6, tileEntity.yCoord, tileEntity.zCoord) instanceof TileEntityAMSBase && !limiter.locked) {
flag = true;
TileEntityAMSBase base = (TileEntityAMSBase)tileEntity.getWorldObj().getTileEntity(tileEntity.xCoord - 6, tileEntity.yCoord, tileEntity.zCoord);
maxSize += ((((double)base.tanks[2].getFill()) / ((double)base.tanks[2].getMaxFill())) + (((double)base.tanks[3].getFill()) / ((double)base.tanks[3].getMaxFill()))) * ((maxSize - minSize) / 2);
}
if(meta == 5 && tileEntity.getWorldObj().getTileEntity(tileEntity.xCoord + 6, tileEntity.yCoord, tileEntity.zCoord) instanceof TileEntityAMSBase && !limiter.locked) {
flag = true;
TileEntityAMSBase base = (TileEntityAMSBase)tileEntity.getWorldObj().getTileEntity(tileEntity.xCoord + 6, tileEntity.yCoord, tileEntity.zCoord);
maxSize += ((((double)base.tanks[2].getFill()) / ((double)base.tanks[2].getMaxFill())) + (((double)base.tanks[3].getFill()) / ((double)base.tanks[3].getMaxFill()))) * ((maxSize - minSize) / 2);
}
if(flag) {
GL11.glRotatef(-90, 0F, 1F, 0F);
double posX = 0;
double posY = 0;
double posZ = 0;
double length = 4;
double radius = 0.12;
GL11.glTranslated(2.5, 5.5, 0);
RenderHelper.disableStandardItemLighting();
GL11.glDisable(GL11.GL_TEXTURE_2D);
GL11.glShadeModel(GL11.GL_SMOOTH);
GL11.glEnable(GL11.GL_BLEND);
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE);
GL11.glDisable(GL11.GL_ALPHA_TEST);
GL11.glDisable(GL11.GL_CULL_FACE);
GL11.glDepthMask(false);
Tessellator tessellator = Tessellator.instance;
tessellator.startDrawingQuads();
tessellator.setColorRGBA_F(0.408F - 0.175F, 0.686F - 0.175F, 0.686F - 0.175F, 0f);
tessellator.addVertex(posX + length, posY - radius, posZ - radius);
tessellator.addVertex(posX + length, posY - radius, posZ + radius);
tessellator.setColorRGBA_F(0.408F - 0.175F, 0.686F - 0.175F, 0.686F - 0.175F, 1);
tessellator.addVertex(posX, posY - radius, posZ + radius);
tessellator.addVertex(posX, posY - radius, posZ - radius);
tessellator.draw();
tessellator.startDrawingQuads();
tessellator.setColorRGBA_F(0.408F - 0.175F, 0.686F - 0.175F, 0.686F - 0.175F, 0f);
tessellator.addVertex(posX + length, posY + radius, posZ + radius);
tessellator.addVertex(posX + length, posY + radius, posZ - radius);
tessellator.setColorRGBA_F(0.408F - 0.175F, 0.686F - 0.175F, 0.686F - 0.175F, 1);
tessellator.addVertex(posX, posY + radius, posZ - radius);
tessellator.addVertex(posX, posY + radius, posZ + radius);
tessellator.draw();
tessellator.startDrawingQuads();
tessellator.setColorRGBA_F(0.408F - 0.175F, 0.686F - 0.175F, 0.686F - 0.175F, 0f);
tessellator.addVertex(posX + length, posY - radius, posZ - radius);
tessellator.addVertex(posX + length, posY + radius, posZ - radius);
tessellator.setColorRGBA_F(0.408F - 0.175F, 0.686F - 0.175F, 0.686F - 0.175F, 1);
tessellator.addVertex(posX, posY + radius, posZ - radius);
tessellator.addVertex(posX, posY - radius, posZ - radius);
tessellator.draw();
tessellator.startDrawingQuads();
tessellator.setColorRGBA_F(0.408F - 0.175F, 0.686F - 0.175F, 0.686F - 0.175F, 0f);
tessellator.addVertex(posX + length, posY - radius, posZ + radius);
tessellator.addVertex(posX + length, posY + radius, posZ + radius);
tessellator.setColorRGBA_F(0.408F - 0.175F, 0.686F - 0.175F, 0.686F - 0.175F, 1);
tessellator.addVertex(posX, posY + radius, posZ + radius);
tessellator.addVertex(posX, posY - radius, posZ + radius);
tessellator.draw();
if(limiter.efficiency > 0) {
radius *= 2;
RenderHelper.disableStandardItemLighting();
GL11.glDisable(GL11.GL_TEXTURE_2D);
GL11.glShadeModel(GL11.GL_SMOOTH);
GL11.glEnable(GL11.GL_BLEND);
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE);
GL11.glDisable(GL11.GL_ALPHA_TEST);
GL11.glDisable(GL11.GL_CULL_FACE);
GL11.glDepthMask(false);
tessellator.startDrawingQuads();
//tessellator.setColorRGBA_F(0.494F, 0.8F, 0.796F, 0f);
//tessellator.setColorRGBA_F(0, 0.627F, 0.627F, 0f);
//tessellator.setColorRGBA_F(0, 0.765F, 0.765F, 0f);
tessellator.setColorRGBA_F(0.408F - 0.175F, 0.686F - 0.175F, 0.686F - 0.175F, 0f);
tessellator.addVertex(posX + length, posY - radius, posZ - radius);
tessellator.addVertex(posX + length, posY - radius, posZ + radius);
tessellator.setColorRGBA_F(0.408F - 0.175F, 0.686F - 0.175F, 0.686F - 0.175F, 1);
tessellator.addVertex(posX, posY - radius, posZ + radius);
tessellator.addVertex(posX, posY - radius, posZ - radius);
tessellator.draw();
tessellator.startDrawingQuads();
tessellator.setColorRGBA_F(0.408F - 0.175F, 0.686F - 0.175F, 0.686F - 0.175F, 0f);
tessellator.addVertex(posX + length, posY + radius, posZ + radius);
tessellator.addVertex(posX + length, posY + radius, posZ - radius);
tessellator.setColorRGBA_F(0.408F - 0.175F, 0.686F - 0.175F, 0.686F - 0.175F, 1);
tessellator.addVertex(posX, posY + radius, posZ - radius);
tessellator.addVertex(posX, posY + radius, posZ + radius);
tessellator.draw();
tessellator.startDrawingQuads();
tessellator.setColorRGBA_F(0.408F - 0.175F, 0.686F - 0.175F, 0.686F - 0.175F, 0f);
tessellator.addVertex(posX + length, posY - radius, posZ - radius);
tessellator.addVertex(posX + length, posY + radius, posZ - radius);
tessellator.setColorRGBA_F(0.408F - 0.175F, 0.686F - 0.175F, 0.686F - 0.175F, 1);
tessellator.addVertex(posX, posY + radius, posZ - radius);
tessellator.addVertex(posX, posY - radius, posZ - radius);
tessellator.draw();
tessellator.startDrawingQuads();
tessellator.setColorRGBA_F(0.408F - 0.175F, 0.686F - 0.175F, 0.686F - 0.175F, 0f);
tessellator.addVertex(posX + length, posY - radius, posZ + radius);
tessellator.addVertex(posX + length, posY + radius, posZ + radius);
tessellator.setColorRGBA_F(0.408F - 0.175F, 0.686F - 0.175F, 0.686F - 0.175F, 1);
tessellator.addVertex(posX, posY + radius, posZ + radius);
tessellator.addVertex(posX, posY - radius, posZ + radius);
tessellator.draw();
/*double iRadiusB = 0.3;
double oRadiusB = 2;
double iRadiusS = iRadiusB * 0.75;
double oRadiusS = oRadiusB * 0.60;
double bLength = rad;
int rot = (int) ((System.nanoTime()/100000000)%360) * 3;
GL11.glRotatef(rot, 1F, 0F, 0F);
tessellator.startDrawingQuads();
tessellator.setColorRGBA_F(0, 0, 1F, 0f);
tessellator.addVertex(posX + bLength, posY - oRadiusB, posZ - oRadiusS);
tessellator.addVertex(posX + bLength, posY - oRadiusB, posZ + oRadiusS);
tessellator.setColorRGBA_F(0, 0, 1F, 1f);
tessellator.addVertex(posX, posY - iRadiusB, posZ + iRadiusS);
tessellator.addVertex(posX, posY - iRadiusB, posZ - iRadiusS);
tessellator.draw();
tessellator.startDrawingQuads();
tessellator.setColorRGBA_F(0, 0, 1F, 0f);
tessellator.addVertex(posX + bLength, posY + oRadiusB, posZ - oRadiusS);
tessellator.addVertex(posX + bLength, posY + oRadiusB, posZ + oRadiusS);
tessellator.setColorRGBA_F(0, 0, 1F, 1f);
tessellator.addVertex(posX, posY + iRadiusB, posZ + iRadiusS);
tessellator.addVertex(posX, posY + iRadiusB, posZ - iRadiusS);
tessellator.draw();
tessellator.startDrawingQuads();
tessellator.setColorRGBA_F(0, 0, 1F, 0f);
tessellator.addVertex(posX + bLength, posY - oRadiusS, posZ - oRadiusB);
tessellator.addVertex(posX + bLength, posY + oRadiusS, posZ - oRadiusB);
tessellator.setColorRGBA_F(0, 0, 1F, 1f);
tessellator.addVertex(posX, posY + iRadiusS, posZ - iRadiusB);
tessellator.addVertex(posX, posY - iRadiusS, posZ - iRadiusB);
tessellator.draw();
tessellator.startDrawingQuads();
tessellator.setColorRGBA_F(0, 0, 1F, 0f);
tessellator.addVertex(posX + bLength, posY - oRadiusS, posZ + oRadiusB);
tessellator.addVertex(posX + bLength, posY + oRadiusS, posZ + oRadiusB);
tessellator.setColorRGBA_F(0, 0, 1F, 1f);
tessellator.addVertex(posX, posY + iRadiusS, posZ + iRadiusB);
tessellator.addVertex(posX, posY - iRadiusS, posZ + iRadiusB);
tessellator.draw();
iRadiusB *= 0.60;
oRadiusB *= 0.60;
iRadiusS = iRadiusB * 0.75;
oRadiusS = oRadiusB * 0.60;
bLength = 2.5;
GL11.glRotatef(-2 * rot, 1F, 0F, 0F);
tessellator.startDrawingQuads();
tessellator.setColorRGBA_F(0.25F, 0.25F, 1F, 1f);
tessellator.addVertex(posX + bLength, posY - oRadiusB, posZ - oRadiusS);
tessellator.addVertex(posX + bLength, posY - oRadiusB, posZ + oRadiusS);
tessellator.addVertex(posX, posY - iRadiusB, posZ + iRadiusS);
tessellator.addVertex(posX, posY - iRadiusB, posZ - iRadiusS);
tessellator.draw();
tessellator.startDrawingQuads();
tessellator.setColorRGBA_F(0.25F, 0.25F, 1F, 1f);
tessellator.addVertex(posX + bLength, posY + oRadiusB, posZ - oRadiusS);
tessellator.addVertex(posX + bLength, posY + oRadiusB, posZ + oRadiusS);
tessellator.addVertex(posX, posY + iRadiusB, posZ + iRadiusS);
tessellator.addVertex(posX, posY + iRadiusB, posZ - iRadiusS);
tessellator.draw();
tessellator.startDrawingQuads();
tessellator.setColorRGBA_F(0.25F, 0.25F, 1F, 1f);
tessellator.addVertex(posX + bLength, posY - oRadiusS, posZ - oRadiusB);
tessellator.addVertex(posX + bLength, posY + oRadiusS, posZ - oRadiusB);
tessellator.addVertex(posX, posY + iRadiusS, posZ - iRadiusB);
tessellator.addVertex(posX, posY - iRadiusS, posZ - iRadiusB);
tessellator.draw();
tessellator.startDrawingQuads();
tessellator.setColorRGBA_F(0.25F, 0.25F, 1F, 1f);
tessellator.addVertex(posX + bLength, posY - oRadiusS, posZ + oRadiusB);
tessellator.addVertex(posX + bLength, posY + oRadiusS, posZ + oRadiusB);
tessellator.addVertex(posX, posY + iRadiusS, posZ + iRadiusB);
tessellator.addVertex(posX, posY - iRadiusS, posZ + iRadiusB);
tessellator.draw();*/
}
GL11.glDisable(GL11.GL_BLEND);
GL11.glEnable(GL11.GL_ALPHA_TEST);
GL11.glShadeModel(GL11.GL_FLAT);
RenderHelper.enableStandardItemLighting();
GL11.glDepthMask(true);
GL11.glEnable(GL11.GL_CULL_FACE);
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
GL11.glEnable(GL11.GL_TEXTURE_2D);
}
GL11.glPopMatrix();
}
}

View File

@ -0,0 +1,37 @@
package com.hbm.render.tileentity;
import org.lwjgl.opengl.GL11;
import com.hbm.blocks.BlockDummyable;
import com.hbm.main.ResourceManager;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.tileentity.TileEntity;
public class RenderICF extends TileEntitySpecialRenderer {
@Override
public void renderTileEntityAt(TileEntity te, double x, double y, double z, float f) {
GL11.glPushMatrix();
GL11.glTranslatef((float) x + 0.5F, (float) y, (float) z + 0.5F);
GL11.glEnable(GL11.GL_CULL_FACE);
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glShadeModel(GL11.GL_SMOOTH);
switch(te.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.icf_tex);
ResourceManager.icf.renderAll();
GL11.glShadeModel(GL11.GL_FLAT);
GL11.glPopMatrix();
}
}

View File

@ -14,27 +14,26 @@ public class RenderPlasmaHeater extends TileEntitySpecialRenderer {
public void renderTileEntityAt(TileEntity te, double x, double y, double z, float f) {
GL11.glPushMatrix();
GL11.glTranslatef((float)x + 0.5F, (float)y, (float)z + 0.5F);
GL11.glTranslatef((float) x + 0.5F, (float) y, (float) z + 0.5F);
GL11.glEnable(GL11.GL_CULL_FACE);
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glShadeModel(GL11.GL_SMOOTH);
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glShadeModel(GL11.GL_SMOOTH);
switch(te.getBlockMetadata() - BlockDummyable.offset) {
case 2: GL11.glRotatef(0, 0F, 1F, 0F); break;
case 4: GL11.glRotatef(90, 0F, 1F, 0F); break;
case 3: GL11.glRotatef(180, 0F, 1F, 0F); break;
case 5: GL11.glRotatef(270, 0F, 1F, 0F); break;
}
GL11.glTranslatef(0, 0, 18);
bindTexture(ResourceManager.iter_microwave);
ResourceManager.iter.renderPart("Microwave");
GL11.glShadeModel(GL11.GL_FLAT);
GL11.glTranslatef(0, 0, 18);
bindTexture(ResourceManager.iter_microwave);
ResourceManager.iter.renderPart("Microwave");
GL11.glShadeModel(GL11.GL_FLAT);
GL11.glPopMatrix();
}
}

View File

@ -1,55 +0,0 @@
package com.hbm.render.tileentity;
import org.lwjgl.opengl.GL11;
import com.hbm.main.ResourceManager;
import com.hbm.tileentity.machine.TileEntityMachineSeleniumEngine;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.tileentity.TileEntity;
public class RenderSelenium extends TileEntitySpecialRenderer {
@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);
GL11.glRotatef(-90, 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.selenium_body_tex);
ResourceManager.selenium_body.renderAll();
GL11.glTranslated(0.0D, 1.0D, 0.0D);
int count = ((TileEntityMachineSeleniumEngine)tileEntity).pistonCount;
float rot = 360F / count;
bindTexture(ResourceManager.selenium_piston_tex);
for(int i = 0; i < count; i++) {
ResourceManager.selenium_piston.renderAll();
GL11.glRotatef(rot, 0, 0, 1);
}
bindTexture(ResourceManager.selenium_rotor_tex);
ResourceManager.selenium_rotor.renderAll();
GL11.glPopMatrix();
}
}

View File

@ -81,7 +81,6 @@ public class TileMappings {
put(TileEntityMachineSchrabidiumTransmutator.class, "tileentity_schrabidium_transmutator");
put(TileEntityMachineDiesel.class, "tileentity_diesel_generator");
put(TileEntityMachineShredder.class, "tileentity_machine_shredder");
put(TileEntityFWatzCore.class, "tileentity_fwatz_multiblock");
put(TileEntityMachineTeleporter.class, "tileentity_teleblock");
put(TileEntityHatch.class, "tileentity_seal_lid");
put(TileEntityMachineIGenerator.class, "tileentity_igenerator");
@ -103,9 +102,6 @@ public class TileMappings {
put(TileEntityCrateDesh.class, "tileentity_crate_desh");
put(TileEntityMassStorage.class, "tileentity_mass_storage");
put(TileEntityMachinePress.class, "tileentity_press");
put(TileEntityAMSBase.class, "tileentity_ams_base");
put(TileEntityAMSEmitter.class, "tileentity_ams_emitter");
put(TileEntityAMSLimiter.class, "tileentity_ams_limiter");
put(TileEntityMachineSiren.class, "tileentity_siren");
put(TileEntityMachineSPP.class, "tileentity_spp");
put(TileEntityMachineRadGen.class, "tileentity_radgen");
@ -114,7 +110,6 @@ public class TileMappings {
put(TileEntityMachineRadarLarge.class, "tileentity_radar_large");
put(TileEntityMachineRadarScreen.class, "tileentity_radar_screen");
put(TileEntityBroadcaster.class, "tileentity_pink_cloud_broadcaster");
put(TileEntityMachineSeleniumEngine.class, "tileentity_selenium_engine");
put(TileEntityMachineSatLinker.class, "tileentity_satlinker");
put(TileEntityReactorResearch.class, "tileentity_small_reactor");
put(TileEntityVaultDoor.class, "tileentity_vault_door");
@ -165,6 +160,7 @@ public class TileMappings {
put(TileEntityMicrowave.class, "tileentity_microwave");
put(TileEntityMachineMiniRTG.class, "tileentity_mini_rtg");
put(TileEntityITER.class, "tileentity_iter");
put(TileEntityICF.class, "tileentity_icf");
put(TileEntityMachinePlasmaHeater.class, "tileentity_plasma_heater");
put(TileEntityMachineFENSU.class, "tileentity_fensu");
put(TileEntityTrappedBrick.class, "tileentity_trapped_brick");
@ -298,7 +294,6 @@ public class TileMappings {
put(TileEntityMachineFunnel.class, "tileentity_funnel");
put(TileEntityDiFurnaceRTG.class, "tileentity_rtg_difurnace");
put(TileEntityMachineRadiolysis.class, "tileentity_radiolysis");
put(TileEntityUVLamp.class, "tileentity_uv_lamp");
put(TileEntityMachineAutosaw.class, "tileentity_autosaw");
put(TileEntityCondenser.class, "tileentity_condenser");

View File

@ -1,548 +0,0 @@
package com.hbm.tileentity.machine;
import java.util.Random;
import com.hbm.interfaces.IFluidAcceptor;
import com.hbm.interfaces.IFluidContainer;
import com.hbm.inventory.container.ContainerAMSBase;
import com.hbm.inventory.fluid.FluidType;
import com.hbm.inventory.fluid.Fluids;
import com.hbm.inventory.fluid.tank.FluidTank;
import com.hbm.inventory.gui.GUIAMSBase;
import com.hbm.items.ISatChip;
import com.hbm.items.ModItems;
import com.hbm.items.machine.ItemCatalyst;
import com.hbm.items.special.ItemAMSCore;
import com.hbm.packet.AuxElectricityPacket;
import com.hbm.packet.AuxGaugePacket;
import com.hbm.packet.PacketDispatcher;
import com.hbm.saveddata.SatelliteSavedData;
import com.hbm.saveddata.satellites.SatelliteResonator;
import com.hbm.tileentity.IGUIProvider;
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.gui.GuiScreen;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Container;
import net.minecraft.inventory.ISidedInventory;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.world.World;
public class TileEntityAMSBase extends TileEntity implements ISidedInventory, IFluidContainer, IFluidAcceptor, IGUIProvider {
private ItemStack slots[];
public long power = 0;
public static final long maxPower = 1000000000000000L;
public int field = 0;
public static final int maxField = 100;
public int efficiency = 0;
public static final int maxEfficiency = 100;
public int heat = 0;
public static final int maxHeat = 5000;
public int age = 0;
public int warning = 0;
public int mode = 0;
public boolean locked = false;
public FluidTank[] tanks;
public int color = -1;
Random rand = new Random();
private static final int[] slots_top = new int[] { 0 };
private static final int[] slots_bottom = new int[] { 0 };
private static final int[] slots_side = new int[] { 0 };
private String customName;
public TileEntityAMSBase() {
slots = new ItemStack[16];
tanks = new FluidTank[4];
tanks[0] = new FluidTank(Fluids.COOLANT, 8000, 0);
tanks[1] = new FluidTank(Fluids.CRYOGEL, 8000, 1);
tanks[2] = new FluidTank(Fluids.DEUTERIUM, 8000, 2);
tanks[3] = new FluidTank(Fluids.TRITIUM, 8000, 3);
}
@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.amsBase";
}
@Override
public boolean hasCustomInventoryName() {
return this.customName != null && this.customName.length() > 0;
}
public void setCustomName(String name) {
this.customName = name;
}
@Override
public int getInventoryStackLimit() {
return 64;
}
@Override
public boolean isUseableByPlayer(EntityPlayer player) {
if(worldObj.getTileEntity(xCoord, yCoord, zCoord) != this)
{
return false;
}else{
return player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <=128;
}
}
@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);
power = nbt.getLong("power");
tanks[0].readFromNBT(nbt, "coolant1");
tanks[1].readFromNBT(nbt, "coolant2");
tanks[2].readFromNBT(nbt, "fuel1");
tanks[3].readFromNBT(nbt, "fuel2");
field = nbt.getInteger("field");
efficiency = nbt.getInteger("efficiency");
heat = nbt.getInteger("heat");
locked = nbt.getBoolean("locked");
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);
tanks[0].writeToNBT(nbt, "coolant1");
tanks[1].writeToNBT(nbt, "coolant2");
tanks[2].writeToNBT(nbt, "fuel1");
tanks[3].writeToNBT(nbt, "fuel2");
nbt.setInteger("field", field);
nbt.setInteger("efficiency", efficiency);
nbt.setInteger("heat", heat);
nbt.setBoolean("locked", locked);
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;
}
@Override
public void updateEntity() {
if (!worldObj.isRemote) {
for(int i = 0; i < tanks.length; i++)
tanks[i].setFill(tanks[i].getMaxFill());
if(!locked) {
age++;
if(age >= 20)
{
age = 0;
}
tanks[0].setType(0, 1, slots);
tanks[1].setType(2, 3, slots);
tanks[2].setType(4, 5, slots);
tanks[3].setType(6, 7, slots);
for(int i = 0; i < 4; i++)
tanks[i].updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId);
int f1 = 0, f2 = 0, f3 = 0, f4 = 0;
int booster = 0;
if(worldObj.getTileEntity(xCoord + 6, yCoord, zCoord) instanceof TileEntityAMSLimiter) {
TileEntityAMSLimiter te = (TileEntityAMSLimiter)worldObj.getTileEntity(xCoord + 6, yCoord, zCoord);
if(!te.locked && worldObj.getBlockMetadata(xCoord + 6, yCoord, zCoord) == 4) {
f1 = te.efficiency;
if(te.mode == 2)
booster++;
}
}
if(worldObj.getTileEntity(xCoord - 6, yCoord, zCoord) instanceof TileEntityAMSLimiter) {
TileEntityAMSLimiter te = (TileEntityAMSLimiter)worldObj.getTileEntity(xCoord - 6, yCoord, zCoord);
if(!te.locked && worldObj.getBlockMetadata(xCoord - 6, yCoord, zCoord) == 5) {
f2 = te.efficiency;
if(te.mode == 2)
booster++;
}
}
if(worldObj.getTileEntity(xCoord, yCoord, zCoord + 6) instanceof TileEntityAMSLimiter) {
TileEntityAMSLimiter te = (TileEntityAMSLimiter)worldObj.getTileEntity(xCoord, yCoord, zCoord + 6);
if(!te.locked && worldObj.getBlockMetadata(xCoord, yCoord, zCoord + 6) == 2) {
f3 = te.efficiency;
if(te.mode == 2)
booster++;
}
}
if(worldObj.getTileEntity(xCoord, yCoord, zCoord - 6) instanceof TileEntityAMSLimiter) {
TileEntityAMSLimiter te = (TileEntityAMSLimiter)worldObj.getTileEntity(xCoord, yCoord, zCoord - 6);
if(!te.locked && worldObj.getBlockMetadata(xCoord, yCoord, zCoord - 6) == 3) {
f4 = te.efficiency;
if(te.mode == 2)
booster++;
}
}
this.field = Math.round(calcField(f1, f2, f3, f4));
mode = 0;
if(field > 0)
mode = 1;
if(booster > 0)
mode = 2;
if(worldObj.getTileEntity(xCoord, yCoord + 9, zCoord) instanceof TileEntityAMSEmitter) {
TileEntityAMSEmitter te = (TileEntityAMSEmitter)worldObj.getTileEntity(xCoord, yCoord + 9, zCoord);
this.efficiency = te.efficiency;
}
this.color = -1;
float heatMod = 1;
float fuelMod = 1;
int heatBase = 0;
int fuelBase = 0;
if(slots[8] != null && slots[9] != null && slots[10] != null && slots[11] != null && slots[12] != null &&
slots[8].getItem() instanceof ItemCatalyst && slots[9].getItem() instanceof ItemCatalyst &&
slots[10].getItem() instanceof ItemCatalyst && slots[11].getItem() instanceof ItemCatalyst &&
slots[12].getItem() instanceof ItemAMSCore && hasResonators() && efficiency > 0) {
int a = ((ItemCatalyst)slots[8].getItem()).getColor();
int b = ((ItemCatalyst)slots[9].getItem()).getColor();
int c = ((ItemCatalyst)slots[10].getItem()).getColor();
int d = ((ItemCatalyst)slots[11].getItem()).getColor();
int e = this.calcAvgHex(a, b);
int f = this.calcAvgHex(c, d);
int g = this.calcAvgHex(e, f);
this.color = g;
for(int i = 8; i < 12; i++) {
heatMod *= ItemCatalyst.getHeatMod(slots[i]);
fuelMod *= ItemCatalyst.getFuelMod(slots[i]);
}
heatBase = ItemAMSCore.getHeatBase(slots[12]);
fuelBase = ItemAMSCore.getFuelBase(slots[12]);
heatBase *= Math.pow(1.25F, booster);
heatBase *= (100 - field);
if(this.getFuelPower(tanks[2].getTankType()) > 0 && this.getFuelPower(tanks[3].getTankType()) > 0 &&
tanks[2].getFill() > 0 && tanks[3].getFill() > 0) {
//power += (powerBase * powerMod * gauss(1, (heat - (maxHeat / 2)) / maxHeat)) / 1000 * getFuelPower(tanks[2].getTankType()) * getFuelPower(tanks[3].getTankType());
heat += (heatBase * heatMod) / (float)(this.field / 100F);
tanks[2].setFill((int)(tanks[2].getFill() - fuelBase * fuelMod));
tanks[3].setFill((int)(tanks[3].getFill() - fuelBase * fuelMod));
if(tanks[2].getFill() <= 0)
tanks[2].setFill(0);
if(tanks[3].getFill() <= 0)
tanks[3].setFill(0);
if(heat > maxHeat) {
heat = maxHeat;
}
}
}
if(power > maxPower)
power = maxPower;
if(heat > 0 && tanks[0].getFill() > 0 && tanks[1].getFill() > 0) {
heat -= (this.getCoolingStrength(tanks[0].getTankType()) * this.getCoolingStrength(tanks[1].getTankType()));
tanks[0].setFill(tanks[0].getFill() - 10);
tanks[1].setFill(tanks[1].getFill() - 10);
if(tanks[0].getFill() < 0)
tanks[0].setFill(0);
if(tanks[1].getFill() < 0)
tanks[1].setFill(0);
if(heat < 0)
heat = 0;
}
} else {
field = 0;
efficiency = 0;
power = 0;
warning = 3;
}
PacketDispatcher.wrapper.sendToAllAround(new AuxElectricityPacket(xCoord, yCoord, zCoord, power), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 150));
PacketDispatcher.wrapper.sendToAllAround(new AuxGaugePacket(xCoord, yCoord, zCoord, locked ? 1 : 0, 0), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 150));
PacketDispatcher.wrapper.sendToAllAround(new AuxGaugePacket(xCoord, yCoord, zCoord, color, 1), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 150));
PacketDispatcher.wrapper.sendToAllAround(new AuxGaugePacket(xCoord, yCoord, zCoord, efficiency, 2), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 150));
PacketDispatcher.wrapper.sendToAllAround(new AuxGaugePacket(xCoord, yCoord, zCoord, field, 3), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 150));
}
}
private int getCoolingStrength(FluidType type) {
if(type == Fluids.WATER) return 5;
if(type == Fluids.OIL) return 15;
if(type == Fluids.COOLANT) return this.heat / 250;
if(type == Fluids.CRYOGEL) return this.heat > heat/2 ? 25 : 5;
return 0;
}
private int getFuelPower(FluidType type) {
if(type == Fluids.DEUTERIUM) return 50;
if(type == Fluids.TRITIUM) return 75;
return 0;
}
private float calcField(int a, int b, int c, int d) {
return (float)(a + b + c + d) * (a * 25 + b * 25 + c * 25 + d * 25) / 40000;
}
private int calcAvgHex(int h1, int h2) {
int r1 = ((h1 & 0xFF0000) >> 16);
int g1 = ((h1 & 0x00FF00) >> 8);
int b1 = ((h1 & 0x0000FF) >> 0);
int r2 = ((h2 & 0xFF0000) >> 16);
int g2 = ((h2 & 0x00FF00) >> 8);
int b2 = ((h2 & 0x0000FF) >> 0);
int r = (((r1 + r2) / 2) << 16);
int g = (((g1 + g2) / 2) << 8);
int b = (((b1 + b2) / 2) << 0);
return r | g | b;
}
public long getPowerScaled(long i) {
return (power * i) / maxPower;
}
public int getEfficiencyScaled(int i) {
return (efficiency * i) / maxEfficiency;
}
public int getFieldScaled(int i) {
return (field * i) / maxField;
}
public int getHeatScaled(int i) {
return (heat * i) / maxHeat;
}
public boolean hasResonators() {
if(slots[13] != null && slots[14] != null && slots[15] != null &&
slots[13].getItem() == ModItems.sat_chip && slots[14].getItem() == ModItems.sat_chip && slots[15].getItem() == ModItems.sat_chip) {
SatelliteSavedData data = (SatelliteSavedData)worldObj.perWorldStorage.loadData(SatelliteSavedData.class, "satellites");
if(data == null) {
worldObj.perWorldStorage.setData("satellites", new SatelliteSavedData());
data = (SatelliteSavedData)worldObj.perWorldStorage.loadData(SatelliteSavedData.class, "satellites");
}
data.markDirty();
int i1 = ISatChip.getFreqS(slots[13]);
int i2 = ISatChip.getFreqS(slots[14]);
int i3 = ISatChip.getFreqS(slots[15]);
if(data.getSatFromFreq(i1) != null && data.getSatFromFreq(i2) != null && data.getSatFromFreq(i3) != null &&
data.getSatFromFreq(i1) instanceof SatelliteResonator && data.getSatFromFreq(i2) instanceof SatelliteResonator && data.getSatFromFreq(i3) instanceof SatelliteResonator &&
i1 != i2 && i1 != i3 && i2 != i3)
return true;
}
return true;
}
@Override
public int getMaxFluidFill(FluidType type) {
if(type.name().equals(tanks[0].getTankType().name()))
return tanks[0].getMaxFill();
else if(type.name().equals(tanks[1].getTankType().name()))
return tanks[1].getMaxFill();
else if(type.name().equals(tanks[2].getTankType().name()))
return tanks[2].getMaxFill();
else if(type.name().equals(tanks[3].getTankType().name()))
return tanks[3].getMaxFill();
else
return 0;
}
@Override
public void setFluidFill(int i, FluidType type) {
if(type.name().equals(tanks[0].getTankType().name()))
tanks[0].setFill(i);
else if(type.name().equals(tanks[1].getTankType().name()))
tanks[1].setFill(i);
else if(type.name().equals(tanks[2].getTankType().name()))
tanks[2].setFill(i);
else if(type.name().equals(tanks[3].getTankType().name()))
tanks[3].setFill(i);
}
@Override
public int getFluidFill(FluidType type) {
if(type.name().equals(tanks[0].getTankType().name()))
return tanks[0].getFill();
else if(type.name().equals(tanks[1].getTankType().name()))
return tanks[1].getFill();
else if(type.name().equals(tanks[2].getTankType().name()))
return tanks[2].getFill();
else if(type.name().equals(tanks[3].getTankType().name()))
return tanks[3].getFill();
else
return 0;
}
@Override
public void setFillForSync(int fill, int index) {
if(index < 4 && tanks[index] != null)
tanks[index].setFill(fill);
}
@Override
public void setTypeForSync(FluidType type, int index) {
if(index < 4 && tanks[index] != null)
tanks[index].setTankType(type);
}
@Override
public AxisAlignedBB getRenderBoundingBox() {
return TileEntity.INFINITE_EXTENT_AABB;
}
@Override
@SideOnly(Side.CLIENT)
public double getMaxRenderDistanceSquared()
{
return 65536.0D;
}
@Override
public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) {
return new ContainerAMSBase(player.inventory, this);
}
@Override
@SideOnly(Side.CLIENT)
public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) {
return new GUIAMSBase(player.inventory, this);
}
}

View File

@ -1,425 +0,0 @@
package com.hbm.tileentity.machine;
import java.util.Random;
import com.hbm.explosion.ExplosionLarge;
import com.hbm.interfaces.IFluidAcceptor;
import com.hbm.interfaces.IFluidContainer;
import com.hbm.inventory.container.ContainerAMSEmitter;
import com.hbm.inventory.fluid.FluidType;
import com.hbm.inventory.fluid.Fluids;
import com.hbm.inventory.fluid.tank.FluidTank;
import com.hbm.inventory.gui.GUIAMSEmitter;
import com.hbm.items.ModItems;
import com.hbm.lib.Library;
import com.hbm.packet.AuxElectricityPacket;
import com.hbm.packet.AuxGaugePacket;
import com.hbm.packet.PacketDispatcher;
import com.hbm.tileentity.IGUIProvider;
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.gui.GuiScreen;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Container;
import net.minecraft.inventory.ISidedInventory;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.world.World;
public class TileEntityAMSEmitter extends TileEntity implements ISidedInventory, IFluidContainer, IFluidAcceptor, IGUIProvider {
private ItemStack slots[];
public long power = 0;
public static final long maxPower = 100000000;
public int efficiency = 0;
public static final int maxEfficiency = 100;
public int heat = 0;
public static final int maxHeat = 2500;
public int age = 0;
public int warning = 0;
public boolean locked = false;
public FluidTank tank;
Random rand = new Random();
private static final int[] slots_top = new int[] { 0 };
private static final int[] slots_bottom = new int[] { 0 };
private static final int[] slots_side = new int[] { 0 };
private String customName;
public TileEntityAMSEmitter() {
slots = new ItemStack[4];
tank = new FluidTank(Fluids.COOLANT, 16000, 0);
}
@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.amsEmitter";
}
@Override
public boolean hasCustomInventoryName() {
return this.customName != null && this.customName.length() > 0;
}
public void setCustomName(String name) {
this.customName = name;
}
@Override
public int getInventoryStackLimit() {
return 64;
}
@Override
public boolean isUseableByPlayer(EntityPlayer player) {
if(worldObj.getTileEntity(xCoord, yCoord, zCoord) != this)
{
return false;
}else{
return player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <=128;
}
}
@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);
power = nbt.getLong("power");
tank.readFromNBT(nbt, "coolant");
efficiency = nbt.getInteger("efficiency");
heat = nbt.getInteger("heat");
locked = nbt.getBoolean("locked");
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);
tank.writeToNBT(nbt, "coolant");
nbt.setInteger("efficiency", efficiency);
nbt.setInteger("heat", heat);
nbt.setBoolean("locked", locked);
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;
}
@Override
public void updateEntity() {
if (!worldObj.isRemote) {
if(!locked) {
tank.setType(0, 1, slots);
tank.updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId);
if(power > 0) {
//" - (maxHeat / 2)" offsets center to 50% instead of 0%
efficiency = Math.round(calcEffect(power, heat - (maxHeat / 2)) * 100);
power -= Math.ceil(power * 0.025);
warning = 0;
} else {
efficiency = 0;
warning = 1;
}
if(tank.getTankType() == Fluids.CRYOGEL) {
if(tank.getFill() >= 15) {
if(heat > 0)
tank.setFill(tank.getFill() - 15);
if(heat <= maxHeat / 2)
if(efficiency > 0)
heat += efficiency;
else
for(int i = 0; i < 10; i++)
if(heat > 0)
heat--;
for(int i = 0; i < 10; i++)
if(heat > maxHeat / 2)
heat--;
} else {
heat += efficiency;
}
} else if(tank.getTankType() == Fluids.COOLANT) {
if(tank.getFill() >= 15) {
if(heat > 0)
tank.setFill(tank.getFill() - 15);
if(heat <= maxHeat / 4)
if(efficiency > 0)
heat += efficiency;
else
for(int i = 0; i < 5; i++)
if(heat > 0)
heat--;
for(int i = 0; i < 5; i++)
if(heat > maxHeat / 4)
heat--;
} else {
heat += efficiency;
}
} else if(tank.getTankType() == Fluids.WATER) {
if(tank.getFill() >= 45) {
if(heat > 0)
tank.setFill(tank.getFill() - 45);
if(heat <= maxHeat * 0.85)
if(efficiency > 0)
heat += efficiency;
else
for(int i = 0; i < 2; i++)
if(heat > 0)
heat--;
for(int i = 0; i < 2; i++)
if(heat > maxHeat * 0.85)
heat--;
} else {
heat += efficiency;
}
} else {
heat += efficiency;
warning = 2;
}
if(slots[2] != null) {
if(slots[2].getItem() != ModItems.ams_muzzle) {
this.efficiency = 0;
this.warning = 2;
}
} else {
this.efficiency = 0;
this.warning = 2;
}
if(tank.getFill() <= 5 || heat > maxHeat * 0.9)
warning = 2;
if(heat > maxHeat) {
heat = maxHeat;
locked = true;
ExplosionLarge.spawnBurst(worldObj, xCoord + 0.5, yCoord, zCoord + 0.5, 36, 3);
ExplosionLarge.spawnBurst(worldObj, xCoord + 0.5, yCoord, zCoord + 0.5, 36, 2.5);
ExplosionLarge.spawnBurst(worldObj, xCoord + 0.5, yCoord, zCoord + 0.5, 36, 2);
ExplosionLarge.spawnBurst(worldObj, xCoord + 0.5, yCoord, zCoord + 0.5, 36, 1.5);
ExplosionLarge.spawnBurst(worldObj, xCoord + 0.5, yCoord, zCoord + 0.5, 36, 1);
this.worldObj.playSoundEffect(xCoord, yCoord, zCoord, "hbm:entity.oldExplosion", 10.0F, 1);
this.worldObj.playSoundEffect(xCoord, yCoord, zCoord, "hbm:block.shutdown", 10.0F, 1.0F);
}
power = Library.chargeTEFromItems(slots, 3, power, maxPower);
} else {
//fire particles n stuff
ExplosionLarge.spawnBurst(worldObj, xCoord + 0.5, yCoord - 0.5, zCoord + 0.5, rand.nextInt(10), 1);
efficiency = 0;
power = 0;
warning = 3;
}
tank.setTankType(Fluids.CRYOGEL);
tank.setFill(tank.getMaxFill());
PacketDispatcher.wrapper.sendToAllAround(new AuxElectricityPacket(xCoord, yCoord, zCoord, power), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50));
PacketDispatcher.wrapper.sendToAllAround(new AuxGaugePacket(xCoord, yCoord, zCoord, locked ? 1 : 0, 0), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 250));
PacketDispatcher.wrapper.sendToAllAround(new AuxGaugePacket(xCoord, yCoord, zCoord, efficiency, 1), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 250));
}
}
private float gauss(float a, float x) {
//Greater values -> less difference of temperate impact
double amplifier = 0.10;
return (float) ( (1/Math.sqrt(a * Math.PI)) * Math.pow(Math.E, -1 * Math.pow(x, 2)/amplifier) );
}
private float calcEffect(float a, float x) {
return (float) (gauss( 1 / a, x / maxHeat) * Math.sqrt(Math.PI * 2) / (Math.sqrt(2) * Math.sqrt(maxPower)));
}
public long getPowerScaled(long i) {
return (power * i) / maxPower;
}
public int getEfficiencyScaled(int i) {
return (efficiency * i) / maxEfficiency;
}
public int getHeatScaled(int i) {
return (heat * i) / maxHeat;
}
@Override
public void setFluidFill(int i, FluidType type) {
if(type.name().equals(tank.getTankType().name()))
tank.setFill(i);
}
@Override
public int getFluidFill(FluidType type) {
if(type.name().equals(tank.getTankType().name()))
return tank.getFill();
else
return 0;
}
@Override
public int getMaxFluidFill(FluidType type) {
if(type.name().equals(tank.getTankType().name()))
return tank.getMaxFill();
else
return 0;
}
@Override
public void setFillForSync(int fill, int index) {
tank.setFill(fill);
}
@Override
public void setTypeForSync(FluidType type, int index) {
tank.setTankType(type);
}
@Override
public AxisAlignedBB getRenderBoundingBox() {
return TileEntity.INFINITE_EXTENT_AABB;
}
@Override
@SideOnly(Side.CLIENT)
public double getMaxRenderDistanceSquared()
{
return 65536.0D;
}
@Override
public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) {
return new ContainerAMSEmitter(player.inventory, this);
}
@Override
@SideOnly(Side.CLIENT)
public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) {
return new GUIAMSEmitter(player.inventory, this);
}
}

View File

@ -1,435 +0,0 @@
package com.hbm.tileentity.machine;
import java.util.Random;
import com.hbm.explosion.ExplosionLarge;
import com.hbm.interfaces.IFluidAcceptor;
import com.hbm.interfaces.IFluidContainer;
import com.hbm.inventory.container.ContainerAMSLimiter;
import com.hbm.inventory.fluid.FluidType;
import com.hbm.inventory.fluid.Fluids;
import com.hbm.inventory.fluid.tank.FluidTank;
import com.hbm.inventory.gui.GUIAMSLimiter;
import com.hbm.items.ModItems;
import com.hbm.lib.Library;
import com.hbm.packet.AuxElectricityPacket;
import com.hbm.packet.AuxGaugePacket;
import com.hbm.packet.PacketDispatcher;
import com.hbm.tileentity.IGUIProvider;
import com.hbm.util.ParticleUtil;
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.gui.GuiScreen;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Container;
import net.minecraft.inventory.ISidedInventory;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.world.World;
public class TileEntityAMSLimiter extends TileEntity implements ISidedInventory, IFluidContainer, IFluidAcceptor, IGUIProvider {
private ItemStack slots[];
public long power = 0;
public static final long maxPower = 10000000;
public int efficiency = 0;
public static final int maxEfficiency = 100;
public int heat = 0;
public static final int maxHeat = 2500;
public int age = 0;
public int warning = 0;
public int mode = 0;
public boolean locked = false;
public FluidTank tank;
Random rand = new Random();
private static final int[] slots_top = new int[] { 0 };
private static final int[] slots_bottom = new int[] { 0 };
private static final int[] slots_side = new int[] { 0 };
private String customName;
public TileEntityAMSLimiter() {
slots = new ItemStack[4];
tank = new FluidTank(Fluids.COOLANT, 8000, 0);
}
@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.amsLimiter";
}
@Override
public boolean hasCustomInventoryName() {
return this.customName != null && this.customName.length() > 0;
}
public void setCustomName(String name) {
this.customName = name;
}
@Override
public int getInventoryStackLimit() {
return 64;
}
@Override
public boolean isUseableByPlayer(EntityPlayer player) {
if(worldObj.getTileEntity(xCoord, yCoord, zCoord) != this)
{
return false;
}else{
return player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <=128;
}
}
@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);
power = nbt.getLong("power");
tank.readFromNBT(nbt, "coolant");
efficiency = nbt.getInteger("efficiency");
heat = nbt.getInteger("heat");
locked = nbt.getBoolean("locked");
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);
tank.writeToNBT(nbt, "coolant");
nbt.setInteger("efficiency", efficiency);
nbt.setInteger("heat", heat);
nbt.setBoolean("locked", locked);
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;
}
@Override
public void updateEntity() {
if (!worldObj.isRemote) {
if(!locked) {
tank.setType(0, 1, slots);
tank.updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId);
if(power > 0) {
//" - (maxHeat / 2)" offsets center to 50% instead of 0%
efficiency = Math.round(calcEffect(power, heat - (maxHeat / 2)) * 100);
power -= Math.ceil(power * 0.025);
warning = 0;
} else {
efficiency = 0;
warning = 1;
}
if(tank.getTankType() == Fluids.CRYOGEL) {
if(tank.getFill() >= 5) {
if(heat > 0)
tank.setFill(tank.getFill() - 5);
if(heat <= maxHeat / 2)
if(efficiency > 0)
heat += efficiency;
else
for(int i = 0; i < 10; i++)
if(heat > 0)
heat--;
for(int i = 0; i < 10; i++)
if(heat > maxHeat / 2)
heat--;
} else {
heat += efficiency;
}
} else if(tank.getTankType() == Fluids.COOLANT) {
if(tank.getFill() >= 5) {
if(heat > 0)
tank.setFill(tank.getFill() - 5);
if(heat <= maxHeat / 4)
if(efficiency > 0)
heat += efficiency;
else
for(int i = 0; i < 5; i++)
if(heat > 0)
heat--;
for(int i = 0; i < 5; i++)
if(heat > maxHeat / 4)
heat--;
} else {
heat += efficiency;
}
} else if(tank.getTankType() == Fluids.WATER) {
if(tank.getFill() >= 15) {
if(heat > 0)
tank.setFill(tank.getFill() - 15);
if(heat <= maxHeat * 0.85)
if(efficiency > 0)
heat += efficiency;
else
for(int i = 0; i < 2; i++)
if(heat > 0)
heat--;
for(int i = 0; i < 2; i++)
if(heat > maxHeat * 0.85)
heat--;
} else {
heat += efficiency;
}
} else {
heat += efficiency;
warning = 2;
}
mode = 0;
if(slots[2] != null) {
if(slots[2].getItem() == ModItems.ams_focus_limiter)
mode = 1;
else if(slots[2].getItem() == ModItems.ams_focus_booster)
mode = 2;
else {
this.efficiency = 0;
this.warning = 2;
}
} else {
this.efficiency = 0;
this.warning = 2;
}
if(tank.getFill() <= 5 || heat > maxHeat * 0.9)
warning = 2;
if(heat > maxHeat) {
heat = maxHeat;
locked = true;
ExplosionLarge.spawnShock(worldObj, xCoord + 0.5, yCoord, zCoord + 0.5, 24, 3);
ExplosionLarge.spawnBurst(worldObj, xCoord + 0.5, yCoord, zCoord + 0.5, 24, 3);
this.worldObj.playSoundEffect(xCoord, yCoord, zCoord, "hbm:entity.oldExplosion", 10.0F, 1);
this.worldObj.playSoundEffect(xCoord, yCoord, zCoord, "hbm:block.shutdown", 10.0F, 1.0F);
}
power = Library.chargeTEFromItems(slots, 3, power, maxPower);
} else {
//fire particles n stuff
int meta = worldObj.getBlockMetadata(xCoord, yCoord, zCoord);
double pos = rand.nextDouble() * 2.5;
double off = 0.25;
if(meta == 2) ParticleUtil.spawnGasFlame(worldObj, xCoord + 0.5 + off, yCoord + 5.5, zCoord + 0.5 - pos, 0.0, 0.0, 0.0);
if(meta == 3) ParticleUtil.spawnGasFlame(worldObj, xCoord + 0.5 - off, yCoord + 5.5, zCoord + 0.5 + pos, 0.0, 0.0, 0.0);
if(meta == 4) ParticleUtil.spawnGasFlame(worldObj, xCoord + 0.5 - pos, yCoord + 5.5, zCoord + 0.5 - off, 0.0, 0.0, 0.0);
if(meta == 5) ParticleUtil.spawnGasFlame(worldObj, xCoord + 0.5 + pos, yCoord + 5.5, zCoord + 0.5 + off, 0.0, 0.0, 0.0);
efficiency = 0;
power = 0;
warning = 3;
}
tank.setTankType(Fluids.CRYOGEL);
tank.setFill(tank.getMaxFill());
PacketDispatcher.wrapper.sendToAllAround(new AuxElectricityPacket(xCoord, yCoord, zCoord, power), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50));
PacketDispatcher.wrapper.sendToAllAround(new AuxGaugePacket(xCoord, yCoord, zCoord, locked ? 1 : 0, 0), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 250));
PacketDispatcher.wrapper.sendToAllAround(new AuxGaugePacket(xCoord, yCoord, zCoord, efficiency, 1), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 250));
}
}
private float gauss(float a, float x) {
//Greater values -> less difference of temperate impact
double amplifier = 0.10;
return (float) ( (1/Math.sqrt(a * Math.PI)) * Math.pow(Math.E, -1 * Math.pow(x, 2)/amplifier) );
}
private float calcEffect(float a, float x) {
return (float) (gauss( 1 / a, x / maxHeat) * Math.sqrt(Math.PI * 2) / (Math.sqrt(2) * Math.sqrt(maxPower)));
}
public long getPowerScaled(long i) {
return (power * i) / maxPower;
}
public int getEfficiencyScaled(int i) {
return (efficiency * i) / maxEfficiency;
}
public int getHeatScaled(int i) {
return (heat * i) / maxHeat;
}
@Override
public void setFluidFill(int i, FluidType type) {
if(type.name().equals(tank.getTankType().name()))
tank.setFill(i);
}
@Override
public int getFluidFill(FluidType type) {
if(type.name().equals(tank.getTankType().name()))
return tank.getFill();
else
return 0;
}
@Override
public int getMaxFluidFill(FluidType type) {
if(type.name().equals(tank.getTankType().name()))
return tank.getMaxFill();
else
return 0;
}
@Override
public void setFillForSync(int fill, int index) {
tank.setFill(fill);
}
@Override
public void setTypeForSync(FluidType type, int index) {
tank.setTankType(type);
}
@Override
public AxisAlignedBB getRenderBoundingBox() {
return TileEntity.INFINITE_EXTENT_AABB;
}
@Override
@SideOnly(Side.CLIENT)
public double getMaxRenderDistanceSquared()
{
return 65536.0D;
}
@Override
public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) {
return new ContainerAMSLimiter(player.inventory, this);
}
@Override
@SideOnly(Side.CLIENT)
public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) {
return new GUIAMSLimiter(player.inventory, this);
}
}

View File

@ -101,7 +101,7 @@ public class TileEntityCoreReceiver extends TileEntityMachineBase implements IEn
@Override
public long getMaxPower() {
return 0;
return this.power;
}
@Override

View File

@ -1,447 +0,0 @@
package com.hbm.tileentity.machine;
import java.util.Random;
import com.hbm.interfaces.IFluidAcceptor;
import com.hbm.interfaces.IFluidContainer;
import com.hbm.interfaces.IReactor;
import com.hbm.inventory.container.ContainerFWatzCore;
import com.hbm.inventory.fluid.FluidType;
import com.hbm.inventory.fluid.Fluids;
import com.hbm.inventory.fluid.tank.FluidTank;
import com.hbm.inventory.gui.GUIFWatzCore;
import com.hbm.items.ModItems;
import com.hbm.lib.Library;
import com.hbm.packet.AuxElectricityPacket;
import com.hbm.packet.PacketDispatcher;
import com.hbm.tileentity.IGUIProvider;
import com.hbm.tileentity.TileEntityLoadedBase;
import com.hbm.util.fauxpointtwelve.DirPos;
import com.hbm.world.machine.FWatz;
import api.hbm.fluid.IFluidStandardReceiver;
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.gui.GuiScreen;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Container;
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.world.World;
public class TileEntityFWatzCore extends TileEntityLoadedBase implements ISidedInventory, IReactor, IFluidContainer, IFluidAcceptor, IFluidStandardReceiver, IGUIProvider {
public long power;
public final static long maxPower = 10000000000L;
public boolean cooldown = false;
public FluidTank tanks[];
Random rand = new Random();
private ItemStack slots[];
private String customName;
public TileEntityFWatzCore() {
slots = new ItemStack[7];
tanks = new FluidTank[3];
tanks[0] = new FluidTank(Fluids.COOLANT, 128000, 0);
tanks[1] = new FluidTank(Fluids.AMAT, 64000, 1);
tanks[2] = new FluidTank(Fluids.ASCHRAB, 64000, 2);
}
@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.fusionaryWatzPlant";
}
@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 true;
}
}
@Override
public void openInventory() {}
@Override
public void closeInventory() {}
@Override
public boolean isItemValidForSlot(int i, ItemStack itemStack) {
return true;
}
@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 int[] getAccessibleSlotsFromSide(int p_94128_1_) {
return null;
}
@Override
public boolean canInsertItem(int p_102007_1_, ItemStack p_102007_2_, int p_102007_3_) {
return false;
}
@Override
public boolean canExtractItem(int p_102008_1_, ItemStack p_102008_2_, int p_102008_3_) {
return false;
}
@Override
public void readFromNBT(NBTTagCompound nbt) {
super.readFromNBT(nbt);
NBTTagList list = nbt.getTagList("items", 10);
power = nbt.getLong("power");
tanks[0].readFromNBT(nbt, "cool");
tanks[1].readFromNBT(nbt, "amat");
tanks[2].readFromNBT(nbt, "aschrab");
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);
tanks[0].writeToNBT(nbt, "cool");
tanks[1].writeToNBT(nbt, "amat");
tanks[2].writeToNBT(nbt, "aschrab");
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 boolean isStructureValid(World world) {
return FWatz.checkHull(world, this.xCoord, this.yCoord, this.zCoord);
}
@Override
public boolean isCoatingValid(World world) {
{
return true;
}
}
@Override
public boolean hasFuse() {
return slots[1] != null && (slots[1].getItem() == ModItems.fuse || slots[1].getItem() == ModItems.screwdriver);
}
@Override
public int getCoolantScaled(int i) {
return 0;
}
@Override
public long getPowerScaled(long i) {
return (power/100 * i) / (maxPower/100);
}
@Override
public int getWaterScaled(int i) {
return 0;
}
@Override
public int getHeatScaled(int i) {
return 0;
}
public int getSingularityType() {
if(slots[2] != null) {
Item item = slots[2].getItem();
if(item == ModItems.singularity)
return 1;
if(item == ModItems.singularity_counter_resonant)
return 2;
if(item == ModItems.singularity_super_heated)
return 3;
if(item == ModItems.black_hole)
return 4;
if(item == ModItems.overfuse)
return 5;
}
return 0;
}
public DirPos[] getConPos() {
return new DirPos[] {
new DirPos(xCoord + 10, yCoord - 11, zCoord, Library.POS_X),
new DirPos(xCoord - 10, yCoord - 11, zCoord, Library.NEG_X),
new DirPos(xCoord, yCoord - 11, zCoord + 10, Library.POS_Z),
new DirPos(xCoord, yCoord - 11, zCoord - 10, Library.NEG_Z)
};
}
@Override
public void updateEntity() {
if(!worldObj.isRemote && this.isStructureValid(this.worldObj)) {
for(DirPos pos : this.getConPos()) {
this.trySubscribe(tanks[1].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir());
this.trySubscribe(tanks[2].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir());
}
if (hasFuse() && getSingularityType() > 0) {
if(cooldown) {
int i = getSingularityType();
if(i == 1)
tanks[0].setFill(tanks[0].getFill() + 1500);
if(i == 2)
tanks[0].setFill(tanks[0].getFill() + 3000);
if(i == 3)
tanks[0].setFill(tanks[0].getFill() + 750);
if(i == 4)
tanks[0].setFill(tanks[0].getFill() + 7500);
if(i == 5)
tanks[0].setFill(tanks[0].getFill() + 15000);
if(tanks[0].getFill() >= tanks[0].getMaxFill()) {
cooldown = false;
tanks[0].setFill(tanks[0].getMaxFill());
}
} else {
int i = getSingularityType();
if(i == 1 && tanks[1].getFill() - 75 >= 0 && tanks[2].getFill() - 75 >= 0) {
tanks[0].setFill(tanks[0].getFill() - 150);
tanks[1].setFill(tanks[1].getFill() - 75);
tanks[2].setFill(tanks[2].getFill() - 75);
power += 5000000;
}
if(i == 2 && tanks[1].getFill() - 75 >= 0 && tanks[2].getFill() - 35 >= 0) {
tanks[0].setFill(tanks[0].getFill() - 75);
tanks[1].setFill(tanks[1].getFill() - 35);
tanks[2].setFill(tanks[2].getFill() - 30);
power += 2500000;
}
if(i == 3 && tanks[1].getFill() - 75 >= 0 && tanks[2].getFill() - 140 >= 0) {
tanks[0].setFill(tanks[0].getFill() - 300);
tanks[1].setFill(tanks[1].getFill() - 75);
tanks[2].setFill(tanks[2].getFill() - 140);
power += 10000000;
}
if(i == 4 && tanks[1].getFill() - 100 >= 0 && tanks[2].getFill() - 100 >= 0) {
tanks[0].setFill(tanks[0].getFill() - 100);
tanks[1].setFill(tanks[1].getFill() - 100);
tanks[2].setFill(tanks[2].getFill() - 100);
power += 10000000;
}
if(i == 5 && tanks[1].getFill() - 15 >= 0 && tanks[2].getFill() - 15 >= 0) {
tanks[0].setFill(tanks[0].getFill() - 150);
tanks[1].setFill(tanks[1].getFill() - 15);
tanks[2].setFill(tanks[2].getFill() - 15);
power += 100000000;
}
if(power > maxPower)
power = maxPower;
if(tanks[0].getFill() <= 0) {
cooldown = true;
tanks[0].setFill(0);
}
}
}
if(power > maxPower)
power = maxPower;
power = Library.chargeItemsFromTE(slots, 0, power, maxPower);
tanks[1].loadTank(3, 5, slots);
tanks[2].loadTank(4, 6, slots);
for(int i = 0; i < 3; i++)
tanks[i].updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId);
}
if(this.isRunning() && (tanks[1].getFill() <= 0 || tanks[2].getFill() <= 0 || !hasFuse() || getSingularityType() == 0) || cooldown || !this.isStructureValid(worldObj))
this.emptyPlasma();
if(!this.isRunning() && tanks[1].getFill() >= 100 && tanks[2].getFill() >= 100 && hasFuse() && getSingularityType() > 0 && !cooldown && this.isStructureValid(worldObj))
this.fillPlasma();
if(!worldObj.isRemote)
PacketDispatcher.wrapper.sendToAllAround(new AuxElectricityPacket(xCoord, yCoord, zCoord, power), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50));
}
public void fillPlasma() {
if(!this.worldObj.isRemote)
FWatz.fillPlasma(worldObj, this.xCoord, this.yCoord, this.zCoord);
}
public void emptyPlasma() {
if(!this.worldObj.isRemote)
FWatz.emptyPlasma(worldObj, this.xCoord, this.yCoord, this.zCoord);
}
public boolean isRunning() {
return FWatz.getPlasma(worldObj, this.xCoord, this.yCoord, this.zCoord) && this.isStructureValid(worldObj);
}
@Override
public void setFillForSync(int fill, int index) {
if(index < 3 && tanks[index] != null)
tanks[index].setFill(fill);
}
@Override
public void setTypeForSync(FluidType type, int index) {
if(index < 3 && tanks[index] != null)
tanks[index].setTankType(type);
}
@Override
public void setFluidFill(int i, FluidType type) {
if(type.name().equals(tanks[1].getTankType().name()))
tanks[1].setFill(i);
else if(type.name().equals(tanks[2].getTankType().name()))
tanks[2].setFill(i);
}
@Override
public int getFluidFill(FluidType type) {
if(type.name().equals(tanks[1].getTankType().name()))
return tanks[1].getFill();
else if(type.name().equals(tanks[2].getTankType().name()))
return tanks[2].getFill();
else
return 0;
}
@Override
public int getMaxFluidFill(FluidType type) {
if(type.name().equals(tanks[1].getTankType().name()))
return tanks[1].getMaxFill();
else if(type.name().equals(tanks[2].getTankType().name()))
return tanks[2].getMaxFill();
else
return 0;
}
@Override
public FluidTank[] getReceivingTanks() {
return new FluidTank[] { tanks[1], tanks[2] };
}
@Override
public FluidTank[] getAllTanks() {
return tanks;
}
@Override
public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) {
return new ContainerFWatzCore(player.inventory, this);
}
@Override
@SideOnly(Side.CLIENT)
public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) {
return new GUIFWatzCore(player.inventory, this);
}
}

View File

@ -0,0 +1,49 @@
package com.hbm.tileentity.machine;
import com.hbm.tileentity.TileEntityMachineBase;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.util.AxisAlignedBB;
public class TileEntityICF extends TileEntityMachineBase {
public TileEntityICF() {
super(0);
}
@Override
public String getName() {
return "container.machineICF";
}
@Override
public void updateEntity() {
}
AxisAlignedBB bb = null;
@Override
public AxisAlignedBB getRenderBoundingBox() {
if(bb == null) {
bb = AxisAlignedBB.getBoundingBox(
xCoord + 0.5 - 8,
yCoord,
zCoord + 0.5 - 8,
xCoord + 0.5 + 9,
yCoord + 0.5 + 5,
zCoord + 0.5 + 9
);
}
return bb;
}
@Override
@SideOnly(Side.CLIENT)
public double getMaxRenderDistanceSquared() {
return 65536.0D;
}
}

View File

@ -1,180 +0,0 @@
package com.hbm.tileentity.machine;
import com.hbm.inventory.FluidContainerRegistry;
import com.hbm.inventory.fluid.tank.FluidTank;
import com.hbm.tileentity.TileEntityLoadedBase;
import api.hbm.energymk2.IBatteryItem;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.ISidedInventory;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
public class TileEntityMachineSeleniumEngine extends TileEntityLoadedBase implements ISidedInventory {
private ItemStack slots[];
public long power;
public int soundCycle = 0;
public long powerCap = 250000;
public FluidTank tank;
public int pistonCount = 0;
private String customName;
public TileEntityMachineSeleniumEngine() {
slots = new ItemStack[14];
}
@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.machineSelenium";
}
@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) {
if (i == 9)
if (FluidContainerRegistry.getFluidContent(stack, tank.getTankType()) > 0)
return true;
if (i == 13)
if (stack.getItem() instanceof IBatteryItem)
return true;
return false;
}
@Override
public ItemStack decrStackSize(int i, int j) {
if (slots[i] != null) {
if (slots[i].stackSize <= j) {
ItemStack itemStack = slots[i];
slots[i] = null;
return itemStack;
}
ItemStack itemStack1 = slots[i].splitStack(j);
if (slots[i].stackSize == 0) {
slots[i] = null;
}
return itemStack1;
} else {
return null;
}
}
@Override
public void readFromNBT(NBTTagCompound nbt) {
super.readFromNBT(nbt);
NBTTagList list = nbt.getTagList("items", 10);
this.power = nbt.getLong("powerTime");
this.powerCap = nbt.getLong("powerCap");
tank.readFromNBT(nbt, "fuel");
slots = new ItemStack[getSizeInventory()];
for (int i = 0; i < list.tagCount(); i++) {
NBTTagCompound nbt1 = list.getCompoundTagAt(i);
byte b0 = nbt1.getByte("slot");
if (b0 >= 0 && b0 < slots.length) {
slots[b0] = ItemStack.loadItemStackFromNBT(nbt1);
}
}
}
@Override
public void writeToNBT(NBTTagCompound nbt) {
super.writeToNBT(nbt);
nbt.setLong("powerTime", power);
nbt.setLong("powerCap", powerCap);
tank.writeToNBT(nbt, "fuel");
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 new int[0];
}
@Override
public boolean canInsertItem(int p_102007_1_, ItemStack p_102007_2_, int p_102007_3_) {
return false;
}
@Override
public boolean canExtractItem(int p_102008_1_, ItemStack p_102008_2_, int p_102008_3_) {
return false;
}
}

View File

@ -1,7 +0,0 @@
package com.hbm.tileentity.machine;
import net.minecraft.tileentity.TileEntity;
public class TileEntityUVLamp extends TileEntity {
}

View File

@ -5,10 +5,12 @@ import java.util.HashSet;
import java.util.List;
import java.util.Random;
import com.hbm.blocks.BlockEnums.EnumMeteorType;
import com.hbm.blocks.ModBlocks;
import com.hbm.config.WorldConfig;
import com.hbm.explosion.ExplosionLarge;
import com.hbm.interfaces.Spaghetti;
import com.hbm.inventory.OreDictManager.DictFrame;
import com.hbm.items.ModItems;
import com.hbm.lib.ModDamageSource;
@ -687,30 +689,8 @@ public class Meteorite {
}
public List<ItemStack> getRandomOre(Random rand) {
List<ItemStack> ores = new ArrayList<ItemStack>();
for(int i = 0; i < 3; i++)
ores.add(new ItemStack(ModBlocks.ore_meteor_uranium));
for(int i = 0; i < 5; i++)
ores.add(new ItemStack(ModBlocks.ore_meteor_thorium));
for(int i = 0; i < 6; i++)
ores.add(new ItemStack(ModBlocks.ore_meteor_titanium));
for(int i = 0; i < 7; i++)
ores.add(new ItemStack(ModBlocks.ore_meteor_sulfur));
for(int i = 0; i < 8; i++)
ores.add(new ItemStack(ModBlocks.ore_meteor_copper));
for(int i = 0; i < 5; i++)
ores.add(new ItemStack(ModBlocks.ore_meteor_tungsten));
for(int i = 0; i < 7; i++)
ores.add(new ItemStack(ModBlocks.ore_meteor_aluminium));
for(int i = 0; i < 6; i++)
ores.add(new ItemStack(ModBlocks.ore_meteor_lead));
for(int i = 0; i < 4; i++)
ores.add(new ItemStack(ModBlocks.ore_meteor_lithium));
for(int i = 0; i < 1; i++)
ores.add(new ItemStack(ModBlocks.ore_meteor_starmetal));
for(EnumMeteorType num : EnumMeteorType.values()) ores.add(DictFrame.fromOne(ModBlocks.ore_meteor, num));
return ores;
}
@ -734,15 +714,6 @@ public class Meteorite {
replacables.add(ModBlocks.block_meteor_cobble);
replacables.add(ModBlocks.block_meteor_molten);
replacables.add(ModBlocks.block_meteor_treasure);
replacables.add(ModBlocks.ore_meteor_uranium);
replacables.add(ModBlocks.ore_meteor_thorium);
replacables.add(ModBlocks.ore_meteor_titanium);
replacables.add(ModBlocks.ore_meteor_sulfur);
replacables.add(ModBlocks.ore_meteor_copper);
replacables.add(ModBlocks.ore_meteor_tungsten);
replacables.add(ModBlocks.ore_meteor_aluminium);
replacables.add(ModBlocks.ore_meteor_lead);
replacables.add(ModBlocks.ore_meteor_lithium);
replacables.add(ModBlocks.ore_meteor_starmetal);
replacables.add(ModBlocks.ore_meteor);
}
}

View File

@ -1,562 +0,0 @@
package com.hbm.world.machine;
import java.util.Random;
import com.hbm.blocks.ModBlocks;
import net.minecraft.block.Block;
import net.minecraft.init.Blocks;
import net.minecraft.world.World;
public class FWatz {
public static String[][] fwatz = new String[][] {
{
" XXX ",
" XXX ",
" ",
" ",
" ",
" ",
" ",
" SSSSS ",
"XX SSSSS XX",
"XX SSSSS XX",
"XX SSSSS XX",
" SSSSS ",
" ",
" ",
" ",
" ",
" ",
" XXX ",
" XXX "
},
{
" XHX ",
" XXX ",
" ",
" ",
" ",
" ",
" ",
" SSSSS ",
"XX STTTS XX",
"HX STTTS XH",
"XX STTTS XX",
" SSSSS ",
" ",
" ",
" ",
" ",
" ",
" XXX ",
" XHX "
},
{
" XXX ",
" XXX ",
" ",
" ",
" ",
" ",
" ",
" SSSSS ",
"XX STTTS XX",
"XX STTTS XX",
"XX STTTS XX",
" SSSSS ",
" ",
" ",
" ",
" ",
" ",
" XXX ",
" XXX "
},
{
" ",
" XXX ",
" XXX ",
" X ",
" X ",
" X ",
" X ",
" SSXSS ",
" XX STTTS XX ",
" XXXXXXXTTTXXXXXXX ",
" XX STTTS XX ",
" SSXSS ",
" X ",
" X ",
" X ",
" X ",
" XXX ",
" XXX ",
" "
},
{
" ",
" XXX ",
" XXX ",
" ",
" ",
" ",
" ",
" SSSSS ",
" XX STTTS XX ",
" XX STTTS XX ",
" XX STTTS XX ",
" SSSSS ",
" ",
" ",
" ",
" ",
" XXX ",
" XXX ",
" "
},
{
" ",
" XXX ",
" XXX ",
" ",
" ",
" ",
" ",
" SSSSS ",
" XX STTTS XX ",
" XX STTTS XX ",
" XX STTTS XX ",
" SSSSS ",
" ",
" ",
" ",
" ",
" XXX ",
" XXX ",
" "
},
{
" ",
" ",
" XXX ",
" XXX ",
" ",
" ",
" ",
" MMMMM ",
" XX MMMMM XX ",
" XX MMMMM XX ",
" XX MMMMM XX ",
" MMMMM ",
" ",
" ",
" ",
" XXX ",
" XXX ",
" ",
" "
},
{
" ",
" ",
" XXX ",
" XXX ",
" XXX ",
" MMMMM ",
" MMMMMMM ",
" MMMMMMMMM ",
" XXXMMMMMMMMMXXX ",
" XXXMMMMMMMMMXXX ",
" XXXMMMMMMMMMXXX ",
" MMMMMMMMM ",
" MMMMMMM ",
" MMMMM ",
" XXX ",
" XXX ",
" XXX ",
" ",
" "
},
{
" ",
" ",
" XXX ",
" XXX ",
" MMMMM ",
" MMMMMMM ",
" MMMMMMMMM ",
" MMMMPPPMMMM ",
" XXMMMPPPPPMMMXX ",
" XXMMMPPPPPMMMXX ",
" XXMMMPPPPPMMMXX ",
" MMMMPPPMMMM ",
" MMMMMMMMM ",
" MMMMMMM ",
" MMMMM ",
" XXX ",
" XXX ",
" ",
" "
},
{
" ",
" ",
" ",
" XXX ",
" MMMMMMM ",
" MMMMMMMMM ",
" MMMMPPPMMMM ",
" MMMPPPPPMMM ",
" XMMPPPPPPPMMX ",
" XMMPPPPPPPMMX ",
" XMMPPPPPPPMMX ",
" MMMPPPPPMMM ",
" MMMMPPPMMMM ",
" MMMMMMMMM ",
" MMMMMMM ",
" XXX ",
" ",
" ",
" "
},
{
" ",
" ",
" ",
" MMMMM ",
" MMMMMMMMM ",
" MMMMPPPMMMM ",
" MMMPPPPPMMM ",
" MMMPPPPPPPMMM ",
" MMPPPMMMPPPMM ",
" MMPPPMMMPPPMM ",
" MMPPPMMMPPPMM ",
" MMMPPPPPPPMMM ",
" MMMPPPPPMMM ",
" MMMMPPPMMMM ",
" MMMMMMMMM ",
" MMMMM ",
" ",
" ",
" "
},
{
" ",
" ",
" ",
" MMMMM ",
" MMMMMMMMM ",
" MMMPPPPPMMM ",
" MMPPPPPPPMM ",
" MMPPPMMMPPPMM ",
" MMPPMMMMMPPMM ",
" MMPPMMCMMPPMM ",
" MMPPMMMMMPPMM ",
" MMPPPMMMPPPMM ",
" MMPPPPPPPMM ",
" MMMPPPPPMMM ",
" MMMMMMMMM ",
" MMMMM ",
" ",
" ",
" "
},
{
" ",
" ",
" ",
" MMMMM ",
" MMMMMMMMM ",
" MMMPPPPPMMM ",
" MMPPPPPPPMM ",
" MMPPPMMMPPPMM ",
" MMPPMMCMMPPMM ",
" MMPPMC#CMPPMM ",
" MMPPMMCMMPPMM ",
" MMPPPMMMPPPMM ",
" MMPPPPPPPMM ",
" MMMPPPPPMMM ",
" MMMMMMMMM ",
" MMMMM ",
" ",
" ",
" "
},
{
" ",
" ",
" ",
" MMMMM ",
" MMMMMMMMM ",
" MMMPPPPPMMM ",
" MMPPPPPPPMM ",
" MMPPPMMMPPPMM ",
" MMPPMMMMMPPMM ",
" MMPPMMCMMPPMM ",
" MMPPMMMMMPPMM ",
" MMPPPMMMPPPMM ",
" MMPPPPPPPMM ",
" MMMPPPPPMMM ",
" MMMMMMMMM ",
" MMMMM ",
" ",
" ",
" "
},
{
" ",
" ",
" ",
" MMMMM ",
" MMMMMMMMM ",
" MMMMPPPMMMM ",
" MMMPPPPPMMM ",
" MMMPPPPPPPMMM ",
" MMPPPMMMPPPMM ",
" MMPPPMMMPPPMM ",
" MMPPPMMMPPPMM ",
" MMMPPPPPPPMMM ",
" MMMPPPPPMMM ",
" MMMMPPPMMMM ",
" MMMMMMMMM ",
" MMMMM ",
" ",
" ",
" "
},
{
" ",
" ",
" ",
" ",
" MMMMMMM ",
" MMMMMMMMM ",
" MMMMPPPMMMM ",
" MMMPPPPPMMM ",
" MMPPPPPPPMM ",
" MMPPPPPPPMM ",
" MMPPPPPPPMM ",
" MMMPPPPPMMM ",
" MMMMPPPMMMM ",
" MMMMMMMMM ",
" MMMMMMM ",
" ",
" ",
" ",
" "
},
{
" ",
" ",
" ",
" ",
" MMMMM ",
" MMMMMMM ",
" MMMMMMMMM ",
" MMMMPPPMMMM ",
" MMMPPPPPMMM ",
" MMMPPPPPMMM ",
" MMMPPPPPMMM ",
" MMMMPPPMMMM ",
" MMMMMMMMM ",
" MMMMMMM ",
" MMMMM ",
" ",
" ",
" ",
" "
},
{
" ",
" ",
" ",
" ",
" ",
" MMMMM ",
" MMMMMMM ",
" MMMMMMMMM ",
" MMMMMMMMM ",
" MMMMMMMMM ",
" MMMMMMMMM ",
" MMMMMMMMM ",
" MMMMMMM ",
" MMMMM ",
" ",
" ",
" ",
" ",
" "
},
{
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" MMMMM ",
" MMMMM ",
" MMMMM ",
" MMMMM ",
" MMMMM ",
" ",
" ",
" ",
" ",
" ",
" ",
" "
}
};
public void generateHull(World world, Random rand, int x, int y, int z) {
x -= 9;
z -= 9;
for(int i = 0; i < 19; i++) {
for(int j = 0; j < 19; j++) {
for(int k = 0; k < 19; k++) {
String c = fwatz[j][i].substring(k, k + 1);
Block b = Blocks.air;
if(c.equals("X"))
b = ModBlocks.fwatz_scaffold;
if(c.equals("H"))
b = ModBlocks.fwatz_hatch;
if(c.equals("S"))
b = ModBlocks.fwatz_cooler;
if(c.equals("T"))
b = ModBlocks.fwatz_tank;
if(c.equals("M"))
b = ModBlocks.fwatz_conductor;
if(c.equals("C"))
b = ModBlocks.fwatz_computer;
if(c.equals("#"))
b = ModBlocks.fwatz_core;
world.setBlock(x + i, y + j, z + k, b);
}
}
}
world.setBlock(x + 0, y + 1, z + 9, ModBlocks.fwatz_hatch, 4, 3);
world.setBlock(x + 18, y + 1, z + 9, ModBlocks.fwatz_hatch, 5, 3);
world.setBlock(x + 9, y + 1, z + 18, ModBlocks.fwatz_hatch, 3, 3);
world.setBlock(x + 9, y + 1, z + 0, ModBlocks.fwatz_hatch, 2, 3);
}
public static boolean checkHull(World world, int x, int y, int z) {
x -= 9;
y -= 12;
z -= 9;
boolean flag = true;
for(int i = 0; i < 19; i++) {
for(int j = 0; j < 19; j++) {
for(int k = 0; k < 19; k++) {
String c = fwatz[j][i].substring(k, k + 1);
Block b = Blocks.air;
boolean flag2 = false;
if(c.equals("X")) {
b = ModBlocks.fwatz_scaffold;
flag2 = true;
}
if(c.equals("H")) {
b = ModBlocks.fwatz_hatch;
flag2 = true;
}
if(c.equals("S")) {
b = ModBlocks.fwatz_cooler;
flag2 = true;
}
if(c.equals("T")) {
b = ModBlocks.fwatz_tank;
flag2 = true;
}
if(c.equals("M")) {
b = ModBlocks.fwatz_conductor;
flag2 = true;
}
if(c.equals("C")) {
b = ModBlocks.fwatz_computer;
flag2 = true;
}
if(c.equals("#")) {
b = ModBlocks.fwatz_core;
flag2 = true;
}
if(flag2)
if(world.getBlock(x + i, y + j, z + k) != b)
flag = false;
}
}
}
return flag;
}
public static void fillPlasma(World world, int x, int y, int z) {
x -= 9;
y -= 12;
z -= 9;
for(int i = 0; i < 19; i++) {
for(int j = 0; j < 19; j++) {
for(int k = 0; k < 19; k++) {
String c = fwatz[j][i].substring(k, k + 1);
if(c.equals("P"))
world.setBlock(x + i, y + j, z + k, ModBlocks.fwatz_plasma);
}
}
}
}
public static void emptyPlasma(World world, int x, int y, int z) {
x -= 9;
y -= 12;
z -= 9;
for(int i = 0; i < 19; i++) {
for(int j = 0; j < 19; j++) {
for(int k = 0; k < 19; k++) {
String c = fwatz[j][i].substring(k, k + 1);
if(c.equals("P"))
if(world.getBlock(x + i, y + j, z + k) == ModBlocks.fwatz_plasma)
world.setBlock(x + i, y + j, z + k, Blocks.air);
}
}
}
}
public static boolean getPlasma(World world, int x, int y, int z) {
x -= 9;
y -= 12;
z -= 9;
boolean flag = false;
for(int i = 0; i < 19; i++) {
for(int j = 0; j < 19; j++) {
for(int k = 0; k < 19; k++) {
String c = fwatz[j][i].substring(k, k + 1);
if(c.equals("P") && world.getBlock(x + i, y + j, z + k) == ModBlocks.fwatz_plasma)
flag = true;
}
}
}
return flag;
}
}

View File

@ -1,685 +0,0 @@
# Blender v2.70 (sub 0) OBJ File: 'BombGenericLarge.blend'
# www.blender.org
o Cylinder
v 0.265165 0.640165 -0.914583
v 0.265165 0.640165 0.960417
v 0.346455 0.518507 -0.914583
v 0.346455 0.518506 0.960417
v 0.375000 0.375000 -0.914583
v 0.375000 0.375000 0.960417
v 0.346455 0.231494 -0.914583
v 0.346454 0.231493 0.960417
v 0.265165 0.109835 -0.914583
v 0.265165 0.109835 0.960417
v 0.143506 0.028545 -0.914583
v 0.143506 0.028545 0.960416
v 0.000000 0.000000 -0.914584
v -0.000000 -0.000000 0.960416
v -0.143506 0.028546 -0.914584
v -0.143507 0.028545 0.960416
v -0.265165 0.109835 -0.914584
v -0.265165 0.109835 0.960416
v -0.346454 0.231494 -0.914584
v -0.346455 0.231493 0.960416
v -0.375000 0.375000 -0.914584
v -0.375000 0.375000 0.960416
v -0.346454 0.518507 -0.914584
v -0.346455 0.518506 0.960416
v -0.265165 0.640165 -0.914583
v -0.265165 0.640165 0.960417
v -0.143506 0.721455 -0.914583
v -0.143506 0.721455 0.960417
v 0.000001 0.750000 -0.914583
v -0.000000 0.750000 0.960417
v 0.143507 0.721455 -0.914583
v 0.143506 0.721454 0.960417
v 0.132583 0.507582 1.185417
v 0.071753 0.548227 1.185417
v 0.000000 0.562500 1.185417
v -0.071753 0.548227 1.185417
v -0.132582 0.507583 1.185417
v -0.173227 0.446753 1.185417
v -0.187500 0.375000 1.185417
v -0.173227 0.303247 1.185417
v -0.132583 0.242418 1.185417
v -0.071753 0.201773 1.185417
v -0.000000 0.187500 1.185417
v 0.071753 0.201773 1.185417
v 0.132582 0.242417 1.185417
v 0.173227 0.303247 1.185417
v 0.187500 0.375000 1.185417
v 0.173227 0.446753 1.185417
v 0.132583 0.507582 -1.364583
v 0.071753 0.548227 -1.364583
v 0.000000 0.562500 -1.364583
v -0.071753 0.548227 -1.364583
v -0.132582 0.507583 -1.364583
v -0.173227 0.446753 -1.364583
v -0.187500 0.375000 -1.364583
v -0.173227 0.303247 -1.364583
v -0.132583 0.242417 -1.364583
v -0.071753 0.201773 -1.364583
v -0.000000 0.187500 -1.364583
v 0.071753 0.201773 -1.364583
v 0.132582 0.242417 -1.364583
v 0.173227 0.303247 -1.364583
v 0.187500 0.375000 -1.364583
v 0.173227 0.446753 -1.364583
v 0.132583 0.507582 -1.664583
v 0.071753 0.548227 -1.664583
v 0.000000 0.562500 -1.664583
v -0.071753 0.548227 -1.664583
v -0.132582 0.507583 -1.664583
v -0.173227 0.446753 -1.664583
v -0.187500 0.375000 -1.664583
v -0.173227 0.303247 -1.664583
v -0.132583 0.242417 -1.664583
v -0.071753 0.201773 -1.664583
v -0.000000 0.187500 -1.664583
v 0.071753 0.201773 -1.664583
v 0.132582 0.242417 -1.664583
v 0.173227 0.303247 -1.664583
v 0.187500 0.375000 -1.664583
v 0.173227 0.446753 -1.664583
v -0.371231 0.746231 -1.213083
v 0.371231 0.003769 -1.213083
v -0.371231 0.746231 -1.591083
v 0.371231 0.003769 -1.591083
v -0.371231 0.746231 -1.213083
v 0.371231 0.003769 -1.213083
v -0.371231 0.746231 -1.591083
v 0.371231 0.003769 -1.591083
v 0.371232 0.746231 -1.213083
v -0.371231 0.003769 -1.213083
v 0.371232 0.746231 -1.591083
v -0.371231 0.003769 -1.591083
v 0.371232 0.746231 -1.213083
v -0.371231 0.003769 -1.213083
v 0.371232 0.746231 -1.591083
v -0.371231 0.003769 -1.591083
vt 0.484392 0.017784
vt 0.484392 0.388294
vt 0.455678 0.388294
vt 0.548430 0.388294
vt 0.519716 0.388294
vt 0.519716 0.017784
vt 0.110414 0.631349
vt 0.081700 0.631349
vt 0.081700 0.260839
vt 0.455678 0.794374
vt 0.455678 0.423863
vt 0.484392 0.423863
vt 0.676506 0.388294
vt 0.647792 0.388294
vt 0.647792 0.017784
vt 0.740544 0.017785
vt 0.740544 0.388295
vt 0.711830 0.388295
vt 0.612468 0.794374
vt 0.583754 0.794374
vt 0.583754 0.423864
vt 0.519716 0.794374
vt 0.519716 0.423863
vt 0.548430 0.423863
vt 0.804581 0.423864
vt 0.804581 0.794374
vt 0.775868 0.794374
vt 0.740544 0.794374
vt 0.711830 0.794374
vt 0.711830 0.423864
vt 0.172632 0.260839
vt 0.201346 0.260839
vt 0.201346 0.631349
vt 0.647792 0.794373
vt 0.647792 0.423863
vt 0.676506 0.423863
vt 0.265384 0.260839
vt 0.265384 0.631349
vt 0.236670 0.631349
vt 0.612468 0.017784
vt 0.612468 0.388295
vt 0.583754 0.388295
vt 0.374888 0.631349
vt 0.346174 0.631349
vt 0.346174 0.260839
vt 0.046376 0.260839
vt 0.046376 0.631349
vt 0.017662 0.631349
vt 0.932657 0.651554
vt 0.903943 0.651554
vt 0.911122 0.594132
vt 0.932657 0.481286
vt 0.903943 0.481286
vt 0.911122 0.423864
vt 0.932657 0.388295
vt 0.903943 0.388295
vt 0.911122 0.330872
vt 0.305356 0.682673
vt 0.244167 0.723842
vt 0.254319 0.672450
vt 0.932657 0.744546
vt 0.903943 0.744546
vt 0.911122 0.687123
vt 0.484392 0.887365
vt 0.455678 0.887365
vt 0.462856 0.829943
vt 0.676506 0.887365
vt 0.647792 0.887365
vt 0.654970 0.829942
vt 0.548430 0.887365
vt 0.519716 0.887365
vt 0.526894 0.829942
vt 0.201346 0.855971
vt 0.172632 0.855971
vt 0.179811 0.798548
vt 0.711830 0.887365
vt 0.719008 0.829943
vt 0.733365 0.829943
vt 0.775868 0.887365
vt 0.783046 0.829942
vt 0.797403 0.829942
vt 0.839905 0.876176
vt 0.847084 0.818753
vt 0.861441 0.818753
vt 0.583754 0.887365
vt 0.590933 0.829943
vt 0.605290 0.829943
vt 0.903943 0.206837
vt 0.911122 0.149415
vt 0.925479 0.149415
vt 0.903943 0.113846
vt 0.911122 0.056423
vt 0.925479 0.056423
vt 0.903943 0.876176
vt 0.911122 0.818753
vt 0.925479 0.818753
vt 0.172632 0.948962
vt 0.179811 0.891540
vt 0.194168 0.891540
vt 0.346174 0.696029
vt 0.412857 0.682673
vt 0.346174 0.710485
vt 0.982338 0.242406
vt 0.982338 0.301688
vt 0.967981 0.301688
vt 0.662149 0.922934
vt 0.676506 0.922934
vt 0.676506 0.982215
vt 0.953624 0.911745
vt 0.967981 0.911745
vt 0.967981 0.971026
vt 0.534073 0.922934
vt 0.534073 0.982215
vt 0.519716 0.982215
vt 0.740544 0.982216
vt 0.726187 0.982216
vt 0.726187 0.922934
vt 0.903943 0.911745
vt 0.918300 0.911745
vt 0.918300 0.971026
vt 0.790224 0.982215
vt 0.775868 0.982215
vt 0.775868 0.922934
vt 0.246812 0.966077
vt 0.246812 0.906795
vt 0.261169 0.906795
vt 0.346174 0.906795
vt 0.360531 0.906795
vt 0.360531 0.966077
vt 0.967981 0.653414
vt 0.967981 0.594132
vt 0.982338 0.594132
vt 0.612468 0.922934
vt 0.612468 0.982216
vt 0.598111 0.982216
vt 0.967981 0.206837
vt 0.967981 0.147555
vt 0.982338 0.147555
vt 0.470035 0.922934
vt 0.484392 0.922934
vt 0.484392 0.982216
vt 0.403994 0.966077
vt 0.403994 0.906795
vt 0.418351 0.906795
vt 0.296493 0.966077
vt 0.296493 0.906795
vt 0.310850 0.906795
vt 0.854262 0.971026
vt 0.854262 0.911745
vt 0.868619 0.911745
vt 0.172632 0.762979
vt 0.179811 0.666918
vt 0.194168 0.666918
vt 0.396816 0.775165
vt 0.411173 0.775165
vt 0.418351 0.871226
vt 0.282136 0.871226
vt 0.289315 0.775165
vt 0.303672 0.775165
vt 0.839905 0.388295
vt 0.847084 0.292233
vt 0.861441 0.292233
vt 0.017662 0.762979
vt 0.024841 0.666918
vt 0.039198 0.666918
vt 0.839905 0.113846
vt 0.847084 0.017785
vt 0.861441 0.017785
vt 0.775868 0.388295
vt 0.783046 0.292234
vt 0.797403 0.292234
vt 0.839905 0.651554
vt 0.847084 0.555493
vt 0.861441 0.555493
vt 0.847084 0.687123
vt 0.861441 0.687123
vt 0.868619 0.783184
vt 0.024840 0.798548
vt 0.039197 0.798548
vt 0.046376 0.894609
vt 0.103235 0.894609
vt 0.088878 0.894609
vt 0.081700 0.798548
vt 0.861441 0.245476
vt 0.847084 0.245476
vt 0.839905 0.149415
vt 0.847084 0.423864
vt 0.861441 0.423864
vt 0.868619 0.519925
vt 0.783046 0.149415
vt 0.797403 0.149415
vt 0.804581 0.245476
vt 0.783046 0.017785
vt 0.797403 0.017784
vt 0.804581 0.113846
vt 0.088878 0.666918
vt 0.103235 0.666918
vt 0.110414 0.762979
vt 0.201346 0.225270
vt 0.127166 0.225270
vt 0.127166 0.017785
vt 0.420354 0.017784
vt 0.420354 0.225270
vt 0.346174 0.225270
vt 0.236670 0.225270
vt 0.236670 0.017784
vt 0.310850 0.017784
vt 0.091842 0.017785
vt 0.091842 0.225270
vt 0.017662 0.225270
vt 0.455678 0.017784
vt 0.548430 0.017784
vt 0.110414 0.260839
vt 0.484392 0.794374
vt 0.676506 0.017785
vt 0.711830 0.017784
vt 0.612468 0.423864
vt 0.548430 0.794374
vt 0.775868 0.423864
vt 0.740544 0.423864
vt 0.172632 0.631349
vt 0.676506 0.794373
vt 0.236670 0.260839
vt 0.583754 0.017784
vt 0.374888 0.260839
vt 0.017662 0.260839
vt 0.925479 0.594132
vt 0.925479 0.423864
vt 0.925479 0.330872
vt 0.254319 0.734064
vt 0.267583 0.739596
vt 0.925479 0.687123
vt 0.244167 0.682673
vt 0.238673 0.696029
vt 0.281940 0.739596
vt 0.477213 0.829943
vt 0.310850 0.696029
vt 0.310850 0.710485
vt 0.305356 0.723842
vt 0.295204 0.734064
vt 0.281940 0.666918
vt 0.295204 0.672450
vt 0.238673 0.710485
vt 0.267583 0.666918
vt 0.669327 0.829942
vt 0.541251 0.829942
vt 0.194168 0.798548
vt 0.740544 0.887365
vt 0.804581 0.887365
vt 0.868619 0.876176
vt 0.612468 0.887365
vt 0.932657 0.206837
vt 0.932657 0.113846
vt 0.932657 0.876176
vt 0.201346 0.948962
vt 0.361820 0.734064
vt 0.402705 0.734064
vt 0.389441 0.739596
vt 0.375084 0.666918
vt 0.402705 0.672450
vt 0.418351 0.696029
vt 0.418351 0.710485
vt 0.412857 0.723842
vt 0.375084 0.739596
vt 0.967981 0.242406
vt 0.351668 0.682673
vt 0.361820 0.672450
vt 0.662149 0.982215
vt 0.351668 0.723842
vt 0.389441 0.666918
vt 0.953624 0.971026
vt 0.519716 0.922934
vt 0.740544 0.922934
vt 0.903943 0.971026
vt 0.790224 0.922934
vt 0.261169 0.966077
vt 0.346174 0.966077
vt 0.982338 0.653414
vt 0.598111 0.922934
vt 0.982338 0.206837
vt 0.470035 0.982216
vt 0.418351 0.966077
vt 0.310850 0.966077
vt 0.868619 0.971026
vt 0.201346 0.762979
vt 0.389638 0.871226
vt 0.310850 0.871226
vt 0.868619 0.388295
vt 0.046376 0.762979
vt 0.868619 0.113846
vt 0.804582 0.388295
vt 0.868619 0.651554
vt 0.839905 0.783184
vt 0.017662 0.894609
vt 0.110414 0.798548
vt 0.868619 0.149415
vt 0.839905 0.519925
vt 0.775868 0.245476
vt 0.775868 0.113846
vt 0.081700 0.762979
vt 0.201346 0.017784
vt 0.346174 0.017784
vt 0.310850 0.225270
vt 0.017662 0.017784
vn 0.831470 0.555569 0.000001
vn 0.980785 0.195090 0.000000
vn 0.980785 -0.195091 0.000000
vn 0.831470 -0.555570 0.000000
vn 0.555570 -0.831470 -0.000000
vn 0.195090 -0.980785 -0.000000
vn -0.195091 -0.980785 -0.000000
vn -0.555571 -0.831469 -0.000001
vn -0.831470 -0.555570 -0.000001
vn -0.980785 -0.195090 -0.000000
vn -0.980785 0.195090 -0.000000
vn -0.831469 0.555571 -0.000000
vn -0.555570 0.831470 0.000000
vn -0.195090 0.980785 0.000000
vn 0.555571 0.831469 0.000000
vn 0.195091 0.980785 0.000000
vn 0.643794 0.430169 0.632838
vn 0.759407 0.151055 0.632837
vn 0.759406 -0.151056 0.632838
vn 0.000001 -0.000001 1.000000
vn 0.643793 -0.430170 0.632838
vn 0.430169 -0.643794 0.632838
vn 0.151054 -0.759406 0.632839
vn -0.151055 -0.759406 0.632839
vn -0.430170 -0.643793 0.632839
vn -0.643793 -0.430168 0.632839
vn -0.759406 -0.151056 0.632838
vn -0.759407 0.151054 0.632838
vn -0.643794 0.430170 0.632838
vn -0.430168 0.643795 0.632838
vn -0.151056 0.759406 0.632839
vn 0.151056 0.759407 0.632838
vn 0.430169 0.643794 0.632838
vn 0.000000 -0.000000 -1.000000
vn 0.831470 0.555570 0.000000
vn 0.980785 0.195091 0.000000
vn 0.980785 -0.195090 -0.000000
vn 0.831469 -0.555570 0.000000
vn -0.555571 -0.831469 0.000000
vn -0.831470 -0.555569 0.000000
vn -0.980785 0.195091 0.000000
vn -0.831470 0.555570 0.000000
vn 0.555570 0.831470 0.000000
vn 0.769680 0.514283 -0.378292
vn 0.514284 0.769680 -0.378292
vn 0.180592 0.907899 -0.378293
vn -0.180593 0.907899 -0.378292
vn -0.514282 0.769681 -0.378292
vn -0.769680 0.514284 -0.378291
vn -0.907900 0.180593 -0.378291
vn -0.907900 -0.180592 -0.378291
vn -0.769681 -0.514284 -0.378290
vn -0.514284 -0.769680 -0.378291
vn -0.180593 -0.907900 -0.378291
vn 0.180592 -0.907900 -0.378291
vn 0.514284 -0.769680 -0.378292
vn 0.769680 -0.514284 -0.378292
vn 0.907899 -0.180592 -0.378292
vn 0.907899 0.180593 -0.378292
vn 0.707107 0.707107 0.000000
vn -0.707107 -0.707107 0.000000
vn -0.707106 0.707108 0.000000
vn 0.707106 -0.707108 0.000000
vn 0.831470 0.555570 0.000001
vn -0.980785 -0.195091 -0.000000
vn 0.643794 0.430170 0.632837
vn 0.759407 -0.151056 0.632837
vn 0.000000 0.000000 1.000000
vn 0.643794 -0.430169 0.632838
vn 0.000000 -0.000002 1.000000
vn -0.000001 -0.000001 1.000000
vn 0.430168 -0.643794 0.632839
vn -0.000004 -0.000001 1.000000
vn 0.000007 -0.000002 1.000000
vn 0.000002 0.000004 1.000000
vn 0.000005 -0.000002 1.000000
vn 0.000000 0.000003 1.000000
vn 0.000000 -0.000001 1.000000
vn -0.000002 -0.000001 1.000000
vn -0.000003 -0.000001 1.000000
vn 0.151054 -0.759406 0.632838
vn -0.151056 -0.759405 0.632839
vn -0.430169 -0.643793 0.632839
vn -0.643793 -0.430169 0.632839
vn -0.759406 -0.151055 0.632839
vn -0.759406 0.151055 0.632838
vn -0.643794 0.430168 0.632838
vn -0.430170 0.643793 0.632839
vn -0.151055 0.759407 0.632838
vn 0.430170 0.643794 0.632838
vn 0.000003 0.000004 -1.000000
vn 0.000005 0.000003 -1.000000
vn -0.000007 0.000002 -1.000000
vn -0.000004 0.000000 -1.000000
vn 0.000000 0.000001 -1.000000
vn -0.000002 0.000000 -1.000000
vn 0.000001 -0.000001 -1.000000
vn 0.000000 0.000002 -1.000000
vn 0.000002 -0.000001 -1.000000
vn 0.000007 0.000005 -1.000000
vn 0.000001 0.000002 -1.000000
vn -0.555570 -0.831470 0.000000
vn -0.831470 -0.555570 0.000000
vn -0.195091 0.980785 0.000000
vn 0.514284 0.769679 -0.378292
vn 0.180593 0.907899 -0.378292
vn -0.180592 0.907900 -0.378292
vn -0.514284 0.769680 -0.378291
vn -0.769680 0.514285 -0.378291
vn -0.907900 -0.180593 -0.378291
vn -0.769680 -0.514284 -0.378291
vn -0.514284 -0.769681 -0.378291
vn 0.180593 -0.907900 -0.378291
vn 0.514284 -0.769680 -0.378291
vn 0.907899 -0.180593 -0.378292
vn 0.907899 0.180592 -0.378292
vn -0.707106 0.707107 0.000000
s off
f 1/1/1 2/2/1 4/3/1
f 4/4/2 6/5/2 5/6/2
f 6/7/3 8/8/3 7/9/3
f 7/10/4 8/11/4 10/12/4
f 10/13/5 12/14/5 11/15/5
f 11/16/6 12/17/6 14/18/6
f 14/19/7 16/20/7 15/21/7
f 15/22/8 16/23/8 18/24/8
f 17/25/9 18/26/9 20/27/9
f 20/28/10 22/29/10 21/30/10
f 22/31/11 24/32/11 23/33/11
f 23/34/12 24/35/12 26/36/12
f 25/37/13 26/38/13 28/39/13
f 27/40/14 28/41/14 30/42/14
f 32/43/15 2/44/15 1/45/15
f 29/46/16 30/47/16 32/48/16
f 4/49/17 2/50/17 33/51/17
f 6/52/18 4/53/18 48/54/18
f 8/55/19 6/56/19 47/57/19
f 44/58/20 36/59/20 40/60/20
f 10/61/21 8/62/21 46/63/21
f 12/64/22 10/65/22 45/66/22
f 14/67/23 12/68/23 44/69/23
f 16/70/24 14/71/24 43/72/24
f 18/73/25 16/74/25 42/75/25
f 18/76/26 41/77/26 40/78/26
f 20/79/27 40/80/27 39/81/27
f 22/82/28 39/83/28 38/84/28
f 24/85/29 38/86/29 37/87/29
f 26/88/30 37/89/30 36/90/30
f 28/91/31 36/92/31 35/93/31
f 30/94/32 35/95/32 34/96/32
f 32/97/33 34/98/33 33/99/33
f 69/100/34 79/101/34 70/102/34
f 64/103/35 80/104/35 65/105/35
f 79/106/36 80/107/36 64/108/36
f 78/109/37 79/110/37 63/111/37
f 61/112/38 77/113/38 78/114/38
f 76/115/5 77/116/5 61/117/5
f 75/118/6 76/119/6 60/120/6
f 74/121/7 75/122/7 59/123/7
f 57/124/39 73/125/39 74/126/39
f 72/127/40 73/128/40 57/129/40
f 55/130/10 71/131/10 72/132/10
f 54/133/41 70/134/41 71/135/41
f 53/136/42 69/137/42 70/138/42
f 68/139/13 69/140/13 53/141/13
f 49/142/43 65/143/43 66/144/43
f 50/145/16 66/146/16 67/147/16
f 51/148/14 67/149/14 68/150/14
f 3/151/44 64/152/44 49/153/44
f 49/154/45 50/155/45 31/156/45
f 31/157/46 50/158/46 51/159/46
f 29/160/47 51/161/47 52/162/47
f 27/163/48 52/164/48 53/165/48
f 25/166/49 53/167/49 54/168/49
f 23/169/50 54/170/50 55/171/50
f 21/172/51 55/173/51 56/174/51
f 56/175/52 57/176/52 17/177/52
f 57/178/53 58/179/53 15/180/53
f 58/181/54 59/182/54 13/183/54
f 59/184/55 60/185/55 11/186/55
f 60/187/56 61/188/56 9/189/56
f 61/190/57 62/191/57 7/192/57
f 62/193/58 63/194/58 5/195/58
f 63/196/59 64/197/59 3/198/59
f 82/199/60 84/200/60 83/201/60
f 87/202/61 88/203/61 86/204/61
f 91/205/62 92/206/62 90/207/62
f 93/208/63 94/209/63 96/210/63
f 3/211/64 1/1/64 4/3/64
f 3/212/2 4/4/2 5/6/2
f 5/213/3 6/7/3 7/9/3
f 9/214/4 7/10/4 10/12/4
f 9/215/5 10/13/5 11/15/5
f 13/216/6 11/16/6 14/18/6
f 13/217/7 14/19/7 15/21/7
f 17/218/8 15/22/8 18/24/8
f 19/219/9 17/25/9 20/27/9
f 19/220/65 20/28/65 21/30/65
f 21/221/41 22/31/41 23/33/41
f 25/222/12 23/34/12 26/36/12
f 27/223/13 25/37/13 28/39/13
f 29/224/14 27/40/14 30/42/14
f 31/225/15 32/43/15 1/45/15
f 31/226/16 29/46/16 32/48/16
f 48/227/66 4/49/66 33/51/66
f 47/228/18 6/52/18 48/54/18
f 46/229/67 8/55/67 47/57/67
f 35/230/68 36/59/68 34/231/68
f 45/232/69 10/61/69 46/63/69
f 39/233/70 40/60/70 38/234/70
f 44/58/71 33/235/71 36/59/71
f 44/236/72 12/64/72 45/66/72
f 45/237/73 33/235/73 44/58/73
f 45/237/74 46/238/74 47/239/74
f 47/239/70 48/240/70 33/235/70
f 42/241/75 43/242/75 44/58/75
f 40/60/76 37/243/76 38/234/76
f 36/59/77 33/235/77 34/231/77
f 45/237/78 47/239/78 33/235/78
f 40/60/79 42/241/79 44/58/79
f 40/60/68 41/244/68 42/241/68
f 36/59/80 37/243/80 40/60/80
f 43/245/81 14/67/81 44/69/81
f 42/246/82 16/70/82 43/72/82
f 41/247/83 18/73/83 42/75/83
f 20/248/84 18/76/84 40/78/84
f 22/249/85 20/79/85 39/81/85
f 24/250/86 22/82/86 38/84/86
f 26/251/87 24/85/87 37/87/87
f 28/252/88 26/88/88 36/90/88
f 30/253/89 28/91/89 35/93/89
f 32/254/32 30/94/32 34/96/32
f 2/255/90 32/97/90 33/99/90
f 72/256/91 75/257/91 74/258/91
f 79/101/92 66/259/92 80/260/92
f 79/101/93 78/261/93 77/262/93
f 77/262/94 76/263/94 75/257/94
f 73/264/34 72/256/34 74/258/34
f 72/256/95 79/101/95 77/262/95
f 49/265/35 64/103/35 65/105/35
f 69/100/96 68/266/96 67/267/96
f 63/268/2 79/106/2 64/108/2
f 75/257/97 72/256/97 77/262/97
f 72/256/98 71/269/98 70/102/98
f 79/101/99 67/267/99 66/259/99
f 66/259/100 65/270/100 80/260/100
f 70/102/101 79/101/101 72/256/101
f 69/100/34 67/267/34 79/101/34
f 62/271/3 78/109/3 63/111/3
f 62/272/38 61/112/38 78/114/38
f 60/273/5 76/115/5 61/117/5
f 59/274/6 75/118/6 60/120/6
f 58/275/7 74/121/7 59/123/7
f 58/276/102 57/124/102 74/126/102
f 56/277/103 72/127/103 57/129/103
f 56/278/10 55/130/10 72/132/10
f 55/279/11 54/133/11 71/135/11
f 54/280/12 53/136/12 70/138/12
f 52/281/13 68/139/13 53/141/13
f 50/282/15 49/142/15 66/144/15
f 51/283/16 50/145/16 67/147/16
f 52/284/104 51/148/104 68/150/104
f 1/285/44 3/151/44 49/153/44
f 1/286/105 49/154/105 31/156/105
f 29/287/106 31/157/106 51/159/106
f 27/288/107 29/160/107 52/162/107
f 25/289/108 27/163/108 53/165/108
f 23/290/109 25/166/109 54/168/109
f 21/291/50 23/169/50 55/171/50
f 19/292/110 21/172/110 56/174/110
f 19/293/111 56/175/111 17/177/111
f 17/294/112 57/178/112 15/180/112
f 15/295/54 58/181/54 13/183/54
f 13/296/113 59/184/113 11/186/113
f 11/297/114 60/187/114 9/189/114
f 9/298/57 61/190/57 7/192/57
f 7/299/115 62/193/115 5/195/115
f 5/300/116 63/196/116 3/198/116
f 81/301/60 82/199/60 83/201/60
f 85/302/61 87/202/61 86/204/61
f 89/303/117 91/205/117 90/207/117
f 95/304/63 93/208/63 96/210/63

View File

@ -1,344 +0,0 @@
# Blender v2.76 (sub 0) OBJ File: 'ams_base.blend'
# www.blender.org
o Plane
v -1.500000 0.000000 1.500000
v 1.500000 0.000000 1.500000
v -1.500000 0.000000 -1.500000
v 1.500000 0.000000 -1.500000
v -1.000000 1.500000 1.000000
v 1.000000 1.500000 1.000000
v -1.000000 1.500000 -1.000000
v 1.000000 1.500000 -1.000000
v -1.500000 0.343750 0.156250
v -1.500000 0.656250 0.156250
v -1.500000 0.343750 -0.156250
v -1.500000 0.656250 -0.156250
v 1.500000 0.343750 0.156250
v 1.500000 0.656250 0.156250
v 1.500000 0.343750 -0.156250
v 1.500000 0.656250 -0.156250
v 0.156250 0.343750 1.500000
v 0.156250 0.656250 1.500000
v -0.156250 0.343750 1.500000
v -0.156250 0.656250 1.500000
v 0.156250 0.343750 -1.500000
v 0.156250 0.656250 -1.500000
v -0.156250 0.343750 -1.500000
v -0.156250 0.656250 -1.500000
v -1.000000 2.000000 -1.000000
v -1.000000 2.000000 1.000000
v 1.000000 2.000000 1.000000
v 1.000000 2.000000 -1.000000
v -0.750000 2.000000 -0.750000
v -0.750000 2.000000 0.750000
v 0.750000 2.000000 0.750000
v 0.750000 2.000000 -0.750000
v -0.750000 1.750000 -0.750000
v -0.750000 1.750000 0.750000
v 0.750000 1.750000 0.750000
v 0.750000 1.750000 -0.750000
v -0.750000 3.000000 0.750000
v -0.750000 3.000000 -0.750000
v 0.000000 1.750000 -0.600000
v 0.000000 2.000000 -0.600000
v 0.229610 1.750000 -0.554328
v 0.229610 2.000000 -0.554328
v 0.424264 1.750000 -0.424264
v 0.424264 2.000000 -0.424264
v 0.554328 1.750000 -0.229610
v 0.554328 2.000000 -0.229610
v 0.600000 1.750000 0.000000
v 0.600000 2.000000 0.000000
v 0.554328 1.750000 0.229610
v 0.554328 2.000000 0.229610
v 0.424264 1.750000 0.424264
v 0.424264 2.000000 0.424264
v 0.229610 1.750000 0.554328
v 0.229610 2.000000 0.554328
v 0.000000 1.750000 0.600000
v 0.000000 2.000000 0.600000
v -0.229610 1.750000 0.554328
v -0.229610 2.000000 0.554328
v -0.424264 1.750000 0.424264
v -0.424264 2.000000 0.424264
v -0.554328 1.750000 0.229610
v -0.554328 2.000000 0.229610
v -0.600000 1.750000 -0.000000
v -0.600000 2.000000 -0.000000
v -0.554328 1.750000 -0.229610
v -0.554328 2.000000 -0.229610
v -0.424264 1.750000 -0.424264
v -0.424264 2.000000 -0.424264
v -0.229610 1.750000 -0.554328
v -0.229610 2.000000 -0.554328
v 0.750000 3.000000 0.750000
v 0.750000 3.000000 -0.750000
vt 0.259127 0.259128
vt 0.544865 0.259127
vt 0.544865 0.544865
vt 0.695462 0.306750
vt 0.743085 0.306750
vt 0.743085 0.497242
vt 0.306750 0.108530
vt 0.497242 0.108530
vt 0.108530 0.497242
vt 0.108530 0.306751
vt 0.497242 0.695462
vt 0.306751 0.695462
vt 0.259127 0.544865
vt 0.695462 0.497242
vt 0.043049 0.876806
vt 0.013285 0.876806
vt 0.013285 0.847042
vt 0.328787 0.876806
vt 0.328787 0.906570
vt 0.043049 0.906570
vt 0.328787 0.847042
vt 0.358551 0.847042
vt 0.358551 0.876806
vt 0.043049 0.847042
vt 0.043049 0.817277
vt 0.328787 0.817277
vt 0.328787 0.936335
vt 0.414884 0.876806
vt 0.385120 0.876806
vt 0.385120 0.847042
vt 0.700622 0.876806
vt 0.700622 0.906570
vt 0.414884 0.906570
vt 0.700622 0.847042
vt 0.730386 0.847042
vt 0.730386 0.876806
vt 0.414884 0.847042
vt 0.414884 0.817277
vt 0.700622 0.817277
vt 0.700622 0.936335
vt 0.060908 0.497242
vt 0.037096 0.473431
vt 0.037096 0.330562
vt 0.060907 0.306751
vt 0.306750 0.060908
vt 0.497242 0.060907
vt 0.497242 0.743085
vt 0.306751 0.743085
vt 0.330562 0.037096
vt 0.330562 0.013285
vt 0.473431 0.013285
vt 0.473431 0.037096
vt 0.473431 0.766897
vt 0.330562 0.766897
vt 0.766897 0.330562
vt 0.766897 0.473431
vt 0.960146 0.013285
vt 0.960146 0.156153
vt 0.817277 0.156153
vt 0.473431 0.790708
vt 0.330562 0.790708
vt 0.790708 0.330562
vt 0.790708 0.473431
vt 0.013285 0.473431
vt 0.013285 0.330562
vt 0.370051 0.986715
vt 0.347753 0.986715
vt 0.347753 0.962904
vt 0.325455 0.986715
vt 0.325455 0.962904
vt 0.303157 0.986715
vt 0.303157 0.962904
vt 0.280859 0.986715
vt 0.280859 0.962904
vt 0.258561 0.986715
vt 0.258561 0.962904
vt 0.236263 0.986715
vt 0.236263 0.962904
vt 0.213965 0.986715
vt 0.213965 0.962904
vt 0.191668 0.986715
vt 0.191668 0.962904
vt 0.169370 0.986715
vt 0.169370 0.962904
vt 0.147072 0.986715
vt 0.147072 0.962904
vt 0.817277 0.448983
vt 0.849026 0.460208
vt 0.817277 0.550007
vt 0.124774 0.986715
vt 0.124774 0.962904
vt 0.817277 0.698391
vt 0.850952 0.698391
vt 0.817277 0.793637
vt 0.102476 0.986715
vt 0.102476 0.962904
vt 0.817277 0.576576
vt 0.850952 0.576576
vt 0.817277 0.671822
vt 0.080178 0.986715
vt 0.080178 0.962904
vt 0.817277 0.321391
vt 0.849026 0.332615
vt 0.817277 0.422414
vt 0.057880 0.986715
vt 0.057880 0.962904
vt 0.817277 0.227623
vt 0.884476 0.182722
vt 0.929376 0.249921
vt 0.035582 0.986715
vt 0.013285 0.986715
vt 0.013285 0.962904
vt 0.035582 0.962904
vt 0.043049 0.936335
vt 0.414884 0.936335
vt 0.817277 0.013285
vt 0.370050 0.962904
vt 0.920843 0.270521
vt 0.862178 0.294821
vt 0.905076 0.286288
vt 0.884476 0.294821
vt 0.841577 0.286288
vt 0.825810 0.270521
vt 0.817277 0.249921
vt 0.825810 0.207022
vt 0.841577 0.191256
vt 0.862178 0.182722
vt 0.905076 0.191256
vt 0.920843 0.207023
vt 0.929376 0.227623
vn 0.000000 -1.000000 0.000000
vn 1.000000 0.000000 0.000000
vn 0.000000 0.316200 -0.948700
vn -0.948700 0.316200 0.000000
vn 0.000000 0.316200 0.948700
vn 0.948700 0.316200 0.000000
vn -1.000000 0.000000 0.000000
vn 0.000000 0.000000 -1.000000
vn 0.000000 0.000000 1.000000
vn 0.000000 1.000000 0.000000
vn 0.195100 0.000000 -0.980800
vn 0.555600 0.000000 -0.831500
vn 0.831500 0.000000 -0.555600
vn 0.980800 0.000000 -0.195100
vn 0.980800 0.000000 0.195100
vn 0.831500 0.000000 0.555600
vn 0.555600 0.000000 0.831500
vn 0.195100 0.000000 0.980800
vn -0.195100 0.000000 0.980800
vn -0.555600 0.000000 0.831500
vn 0.707100 0.000000 -0.707100
vn -0.831500 0.000000 0.555600
vn 0.707100 0.000000 0.707100
vn -0.980800 0.000000 0.195100
vn -0.980800 0.000000 -0.195100
vn -0.831500 0.000000 -0.555600
vn -0.195100 0.000000 -0.980800
vn -0.555600 0.000000 -0.831500
s off
f 3/1/1 4/2/1 2/3/1
f 8/4/2 28/5/2 27/6/2
f 7/7/3 8/8/3 4/2/3
f 5/9/4 7/10/4 3/1/4
f 6/11/5 5/12/5 1/13/5
f 8/4/6 6/14/6 2/3/6
f 12/15/7 11/16/7 9/17/7
f 16/18/8 15/19/8 11/20/8
f 14/21/2 13/22/2 15/23/2
f 10/24/9 9/25/9 13/26/9
f 11/20/1 15/19/1 13/27/1
f 16/18/10 12/15/10 10/24/10
f 20/28/9 19/29/9 17/30/9
f 24/31/7 23/32/7 19/33/7
f 22/34/8 21/35/8 23/36/8
f 18/37/2 17/38/2 21/39/2
f 19/33/1 23/32/1 21/40/1
f 24/31/10 20/28/10 18/37/10
f 26/41/10 30/42/10 29/43/10
f 5/9/7 26/41/7 25/44/7
f 7/7/8 25/45/8 28/46/8
f 6/11/9 27/47/9 26/48/9
f 29/49/9 33/50/9 36/51/9
f 25/45/10 29/49/10 32/52/10
f 27/47/10 31/53/10 30/54/10
f 28/5/10 32/55/10 31/56/10
f 35/57/10 36/58/10 33/59/10
f 31/53/8 35/60/8 34/61/8
f 32/55/7 36/62/7 35/63/7
f 30/42/2 34/64/2 33/65/2
f 40/66/11 42/67/11 41/68/11
f 42/67/12 44/69/12 43/70/12
f 44/69/13 46/71/13 45/72/13
f 46/71/14 48/73/14 47/74/14
f 48/73/15 50/75/15 49/76/15
f 50/75/16 52/77/16 51/78/16
f 52/77/17 54/79/17 53/80/17
f 54/79/18 56/81/18 55/82/18
f 56/81/19 58/83/19 57/84/19
f 58/83/20 60/85/20 59/86/20
f 27/87/21 31/88/21 71/89/21
f 60/85/22 62/90/22 61/91/22
f 32/92/23 28/93/23 72/94/23
f 62/90/24 64/95/24 63/96/24
f 29/97/21 25/98/21 38/99/21
f 64/95/25 66/100/25 65/101/25
f 26/102/23 30/103/23 37/104/23
f 66/100/26 68/105/26 67/106/26
f 60/107/10 52/108/10 44/109/10
f 70/110/27 40/111/27 39/112/27
f 68/105/28 70/110/28 69/113/28
f 1/13/1 3/1/1 2/3/1
f 6/14/2 8/4/2 27/6/2
f 3/1/3 7/7/3 4/2/3
f 1/13/4 5/9/4 3/1/4
f 2/3/5 6/11/5 1/13/5
f 4/2/6 8/4/6 2/3/6
f 10/24/7 12/15/7 9/17/7
f 12/15/8 16/18/8 11/20/8
f 16/18/2 14/21/2 15/23/2
f 14/21/9 10/24/9 13/26/9
f 9/114/1 11/20/1 13/27/1
f 14/21/10 16/18/10 10/24/10
f 18/37/9 20/28/9 17/30/9
f 20/28/7 24/31/7 19/33/7
f 24/31/8 22/34/8 23/36/8
f 22/34/2 18/37/2 21/39/2
f 17/115/1 19/33/1 21/40/1
f 22/34/10 24/31/10 18/37/10
f 25/44/10 26/41/10 29/43/10
f 7/10/7 5/9/7 25/44/7
f 8/8/8 7/7/8 28/46/8
f 5/12/9 6/11/9 26/48/9
f 32/52/9 29/49/9 36/51/9
f 28/46/10 25/45/10 32/52/10
f 26/48/10 27/47/10 30/54/10
f 27/6/10 28/5/10 31/56/10
f 34/116/10 35/57/10 33/59/10
f 30/54/8 31/53/8 34/61/8
f 31/56/7 32/55/7 35/63/7
f 29/43/2 30/42/2 33/65/2
f 39/117/11 40/66/11 41/68/11
f 41/68/12 42/67/12 43/70/12
f 43/70/13 44/69/13 45/72/13
f 45/72/14 46/71/14 47/74/14
f 47/74/15 48/73/15 49/76/15
f 49/76/16 50/75/16 51/78/16
f 51/78/17 52/77/17 53/80/17
f 53/80/18 54/79/18 55/82/18
f 55/82/19 56/81/19 57/84/19
f 57/84/20 58/83/20 59/86/20
f 59/86/22 60/85/22 61/91/22
f 61/91/24 62/90/24 63/96/24
f 63/96/25 64/95/25 65/101/25
f 65/101/26 66/100/26 67/106/26
f 44/109/10 42/118/10 68/119/10
f 40/120/10 70/121/10 68/119/10
f 68/119/10 66/122/10 64/123/10
f 64/123/10 62/124/10 60/107/10
f 60/107/10 58/125/10 52/108/10
f 56/126/10 54/127/10 52/108/10
f 52/108/10 50/128/10 48/129/10
f 48/129/10 46/130/10 44/109/10
f 42/118/10 40/120/10 68/119/10
f 68/119/10 64/123/10 44/109/10
f 58/125/10 56/126/10 52/108/10
f 52/108/10 48/129/10 44/109/10
f 44/109/10 64/123/10 60/107/10
f 69/113/27 70/110/27 39/112/27
f 67/106/28 68/105/28 69/113/28

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,127 +0,0 @@
# Blender v2.76 (sub 0) OBJ File: 'cel_prime_battery.blend'
# www.blender.org
o Cube.004_Cube.005
v -0.500000 0.000000 -1.500000
v -0.500000 5.000000 -1.500000
v 1.500000 0.000000 -1.500000
v 1.500000 4.000000 -1.500000
v -0.500000 0.000000 1.500000
v -0.500000 5.000000 1.500000
v 1.500000 0.000000 1.500000
v 1.500000 4.000000 1.500000
v 1.500000 3.800000 -1.350000
v 1.500000 0.200000 -1.350000
v 1.500000 3.800000 1.350000
v 1.500000 0.200000 1.350000
v 0.500000 3.800000 -1.350000
v 0.500000 0.200000 -1.350000
v 0.500000 3.800000 1.350000
v 0.500000 0.200000 1.350000
v 1.500000 0.200000 1.099999
v 1.500000 1.600000 1.099999
v 0.500000 0.200000 1.100000
v 0.500000 1.600000 1.100000
v 1.500000 0.200000 0.100000
v 1.500000 1.600000 0.100000
v 0.500000 0.200000 0.100000
v 0.500000 1.600000 0.100000
v 1.500000 0.200000 -0.100001
v 1.500000 1.600000 -0.100001
v 0.500000 0.200000 -0.100000
v 0.500000 1.600000 -0.100000
v 1.500000 0.200000 -1.100001
v 1.500000 1.600000 -1.100001
v 0.500000 0.200000 -1.100000
v 0.500000 1.600000 -1.100000
v 1.500000 1.700000 -0.100001
v 1.500000 3.100000 -0.100001
v 0.500000 1.700000 -0.100000
v 0.500000 3.100000 -0.100000
v 1.500000 1.700000 -1.100001
v 1.500000 3.100000 -1.100001
v 0.500000 1.700000 -1.100000
v 0.500000 3.100000 -1.100000
v 1.500000 1.700000 1.099999
v 1.500000 3.100000 1.099999
v 0.500000 1.700000 1.100000
v 0.500000 3.100000 1.100000
v 1.500000 1.700000 0.100000
v 1.500000 3.100000 0.100000
v 0.500000 1.700000 0.100000
v 0.500000 3.100000 0.100000
vn 0.000000 0.000000 -1.000000
vn 1.000000 -0.000000 0.000000
vn 0.000000 0.000000 1.000000
vn -1.000000 0.000000 0.000000
vn 0.000000 -1.000000 0.000000
vn 0.447200 0.894400 0.000000
vn 0.000000 1.000000 0.000000
s off
f 4//1 3//1 1//1
f 3//2 10//2 12//2
f 8//3 6//3 5//3
f 2//4 1//4 5//4
f 3//5 7//5 5//5
f 8//6 4//6 2//6
f 10//7 14//7 16//7
f 8//2 11//2 9//2
f 4//2 9//2 10//2
f 7//2 12//2 11//2
f 15//2 16//2 14//2
f 11//5 15//5 13//5
f 12//1 16//1 15//1
f 9//3 13//3 14//3
f 20//3 19//3 17//3
f 24//4 23//4 19//4
f 22//1 21//1 23//1
f 18//2 17//2 21//2
f 19//5 23//5 21//5
f 22//7 24//7 20//7
f 28//3 27//3 25//3
f 30//1 29//1 31//1
f 26//2 25//2 29//2
f 32//7 28//7 26//7
f 36//3 35//3 33//3
f 38//1 37//1 39//1
f 34//2 33//2 37//2
f 40//7 36//7 34//7
f 44//3 43//3 41//3
f 46//1 45//1 47//1
f 42//2 41//2 45//2
f 46//7 48//7 44//7
f 43//5 47//5 45//5
f 39//5 37//5 33//5
f 2//1 4//1 1//1
f 7//2 3//2 12//2
f 7//3 8//3 5//3
f 6//4 2//4 5//4
f 1//5 3//5 5//5
f 6//6 8//6 2//6
f 12//7 10//7 16//7
f 4//2 8//2 9//2
f 3//2 4//2 10//2
f 8//2 7//2 11//2
f 13//2 15//2 14//2
f 9//5 11//5 13//5
f 11//1 12//1 15//1
f 10//3 9//3 14//3
f 18//3 20//3 17//3
f 20//4 24//4 19//4
f 24//1 22//1 23//1
f 22//2 18//2 21//2
f 17//5 19//5 21//5
f 18//7 22//7 20//7
f 26//3 28//3 25//3
f 32//1 30//1 31//1
f 30//2 26//2 29//2
f 30//7 32//7 26//7
f 34//3 36//3 33//3
f 40//1 38//1 39//1
f 38//2 34//2 37//2
f 38//7 40//7 34//7
f 42//3 44//3 41//3
f 48//1 46//1 47//1
f 46//2 42//2 45//2
f 42//7 46//7 44//7
f 41//5 43//5 45//5
f 35//5 39//5 33//5

View File

@ -1,75 +0,0 @@
# Blender v2.76 (sub 0) OBJ File: 'cel_prime_port.blend'
# www.blender.org
o Cube.002_Cube.003
v -0.500000 0.000000 -1.500000
v -0.500000 5.000000 -1.500000
v 1.500000 0.000000 -1.500000
v 1.500000 4.000000 -1.500000
v -0.500000 0.000000 1.500000
v -0.500000 5.000000 1.500000
v 1.500000 0.000000 1.500000
v 1.500000 4.000000 1.500000
v 1.400000 0.343750 -0.156250
v 1.400000 0.656250 -0.156250
v 1.400000 0.343750 0.156250
v 1.400000 0.656250 0.156250
v 1.500000 0.050000 -0.450000
v 1.500000 0.950000 -0.450000
v 1.500000 0.050000 0.450000
v 1.500000 0.950000 0.450000
v 1.400000 0.050000 0.450000
v 1.400000 0.050000 -0.450000
v 1.400000 0.950000 -0.450000
v 1.400000 0.950000 0.450000
v 1.500000 0.343750 0.156250
v 1.500000 0.343750 -0.156250
v 1.500000 0.656250 -0.156250
v 1.500000 0.656250 0.156250
vn 0.000000 0.000000 -1.000000
vn 0.000000 0.000000 1.000000
vn -1.000000 0.000000 0.000000
vn 0.000000 -1.000000 0.000000
vn 0.447200 0.894400 0.000000
vn 1.000000 0.000000 0.000000
vn 0.000000 1.000000 0.000000
s off
f 4//1 3//1 1//1
f 8//2 6//2 5//2
f 2//3 1//3 5//3
f 3//4 7//4 5//4
f 8//5 4//5 2//5
f 11//3 12//3 10//3
f 16//4 20//4 19//4
f 3//6 13//6 15//6
f 7//6 15//6 16//6
f 14//6 13//6 3//6
f 16//6 14//6 4//6
f 19//6 20//6 17//6
f 13//7 18//7 17//7
f 15//1 17//1 20//1
f 14//2 19//2 18//2
f 23//6 24//6 21//6
f 12//7 24//7 23//7
f 9//4 22//4 21//4
f 11//2 21//2 24//2
f 10//1 23//1 22//1
f 2//1 4//1 1//1
f 7//2 8//2 5//2
f 6//3 2//3 5//3
f 1//4 3//4 5//4
f 6//5 8//5 2//5
f 9//3 11//3 10//3
f 14//4 16//4 19//4
f 7//6 3//6 15//6
f 8//6 7//6 16//6
f 4//6 14//6 3//6
f 8//6 16//6 4//6
f 18//6 19//6 17//6
f 15//7 13//7 17//7
f 16//1 15//1 20//1
f 13//2 14//2 18//2
f 22//6 23//6 21//6
f 10//7 12//7 23//7
f 11//4 9//4 21//4
f 12//2 11//2 24//2
f 9//1 10//1 22//1

View File

@ -1,151 +0,0 @@
# Blender v2.76 (sub 0) OBJ File: 'cel_prime_tanks.blend'
# www.blender.org
o Cube.003_Cube.004
v -0.500000 0.000000 -1.500000
v -0.500000 5.000000 -1.500000
v 1.500000 0.000000 -1.500000
v 1.500000 4.000000 -1.500000
v -0.500000 0.000000 1.500000
v -0.500000 5.000000 1.500000
v 1.500000 0.000000 1.500000
v 1.500000 4.000000 1.500000
v 1.500000 3.800000 -1.350000
v 1.500000 0.200000 -1.350000
v 1.500000 3.800000 1.350000
v 1.500000 0.200000 1.350000
v 0.000000 3.800000 -1.350000
v 0.000000 0.200000 -1.350000
v 0.000000 3.800000 1.350000
v 0.000000 0.200000 1.350000
v 0.750000 3.800000 -1.100000
v 0.750000 0.200000 -1.100000
v 0.750000 0.200000 0.100000
v 0.750000 3.800000 0.100000
v 1.103553 0.200000 0.246447
v 1.103553 3.800000 0.246447
v 1.250000 0.200000 0.600000
v 1.250000 3.800000 0.600000
v 1.103553 0.200000 0.953553
v 1.103553 3.800000 0.953553
v 0.750000 0.200000 1.100000
v 0.750000 3.800000 1.100000
v 0.396446 0.200000 0.953553
v 0.396446 3.800000 0.953553
v 0.250000 0.200000 0.600000
v 0.250000 3.800000 0.600000
v 0.396446 0.200000 0.246447
v 0.396446 3.800000 0.246447
v 1.103553 0.200000 -0.953553
v 1.103553 3.800000 -0.953553
v 1.250000 0.200000 -0.600000
v 1.250000 3.800000 -0.600000
v 1.103553 0.200000 -0.246447
v 1.103553 3.800000 -0.246447
v 0.750000 0.200000 -0.100000
v 0.750000 3.800000 -0.100000
v 0.396446 0.200000 -0.246447
v 0.396446 3.800000 -0.246447
v 0.250000 0.200000 -0.600000
v 0.250000 3.800000 -0.600000
v 0.396446 0.200000 -0.953553
v 0.396446 3.800000 -0.953553
vn 0.000000 0.000000 -1.000000
vn 1.000000 0.000000 0.000000
vn 0.000000 0.000000 1.000000
vn -1.000000 0.000000 0.000000
vn 0.000000 -1.000000 0.000000
vn 0.447200 0.894400 0.000000
vn 0.000000 1.000000 0.000000
vn -0.923900 0.000000 0.382700
vn 0.382700 0.000000 -0.923900
vn -0.382700 0.000000 0.923900
vn 0.923900 0.000000 -0.382700
vn 0.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
s off
f 4//1 3//1 1//1
f 7//2 12//2 11//2
f 8//3 6//3 5//3
f 2//4 1//4 5//4
f 3//5 7//5 5//5
f 8//6 4//6 2//6
f 12//1 16//1 15//1
f 3//2 10//2 12//2
f 8//2 11//2 9//2
f 4//2 9//2 10//2
f 15//2 16//2 14//2
f 9//3 13//3 14//3
f 10//7 14//7 16//7
f 11//5 15//5 13//5
f 44//8 46//8 45//8
f 20//9 22//9 21//9
f 42//10 44//10 43//10
f 22//11 24//11 23//11
f 40//12 42//12 41//12
f 24//13 26//13 25//13
f 39//5 45//5 47//5
f 38//13 40//13 39//13
f 26//12 28//12 27//12
f 46//14 48//14 47//14
f 36//11 38//11 37//11
f 28//10 30//10 29//10
f 48//15 17//15 18//15
f 17//9 36//9 35//9
f 30//8 32//8 31//8
f 32//7 28//7 24//7
f 34//15 20//15 19//15
f 32//14 34//14 33//14
f 46//7 42//7 17//7
f 25//5 31//5 33//5
f 2//1 4//1 1//1
f 8//2 7//2 11//2
f 7//3 8//3 5//3
f 6//4 2//4 5//4
f 1//5 3//5 5//5
f 6//6 8//6 2//6
f 11//1 12//1 15//1
f 7//2 3//2 12//2
f 4//2 8//2 9//2
f 3//2 4//2 10//2
f 13//2 15//2 14//2
f 10//3 9//3 14//3
f 12//7 10//7 16//7
f 9//5 11//5 13//5
f 43//8 44//8 45//8
f 19//9 20//9 21//9
f 41//10 42//10 43//10
f 21//11 22//11 23//11
f 39//12 40//12 41//12
f 23//13 24//13 25//13
f 47//5 18//5 39//5
f 35//5 37//5 39//5
f 39//5 41//5 43//5
f 43//5 45//5 39//5
f 18//5 35//5 39//5
f 37//13 38//13 39//13
f 25//12 26//12 27//12
f 45//14 46//14 47//14
f 35//11 36//11 37//11
f 27//10 28//10 29//10
f 47//15 48//15 18//15
f 18//9 17//9 35//9
f 29//8 30//8 31//8
f 24//7 22//7 32//7
f 20//7 34//7 32//7
f 32//7 30//7 28//7
f 28//7 26//7 24//7
f 22//7 20//7 32//7
f 33//15 34//15 19//15
f 31//14 32//14 33//14
f 38//7 36//7 17//7
f 17//7 48//7 46//7
f 46//7 44//7 42//7
f 42//7 40//7 38//7
f 38//7 17//7 42//7
f 33//5 19//5 21//5
f 21//5 23//5 25//5
f 25//5 27//5 29//5
f 29//5 31//5 25//5
f 33//5 21//5 25//5

View File

@ -1,77 +0,0 @@
# Blender v2.76 (sub 0) OBJ File: 'cel_prime_terminal.blend'
# www.blender.org
o Cube.001_Cube.002
v -0.500000 0.000000 -1.500000
v -0.500000 5.000000 -1.500000
v 1.500000 0.000000 -1.500000
v 1.500000 4.000000 -1.500000
v -0.500000 0.000000 1.500000
v -0.500000 5.000000 1.500000
v 1.500000 0.000000 1.500000
v 1.500000 4.000000 1.500000
v 1.500000 1.500000 -0.500000
v 1.500000 2.500000 -0.500000
v 1.750000 1.500000 -0.500000
v 1.750000 2.500000 -0.500000
v 1.500000 1.500000 0.500000
v 1.500000 2.500000 0.500000
v 1.750000 1.500000 0.500000
v 1.750000 2.500000 0.500000
v 1.750000 1.250000 -0.500000
v 1.500000 1.250000 -0.500000
v 1.750000 1.250000 0.500000
v 1.500000 1.250000 0.500000
v 2.250000 1.300000 0.500000
v 2.250000 1.300000 -0.500000
v 2.250000 1.050000 0.500000
v 2.250000 1.050000 -0.500000
vn 0.000000 0.000000 -1.000000
vn 1.000000 0.000000 0.000000
vn 0.000000 0.000000 1.000000
vn -1.000000 0.000000 -0.000000
vn 0.000000 -1.000000 0.000000
vn 0.447200 0.894400 0.000000
vn 0.000000 1.000000 0.000000
vn 0.371400 0.928500 0.000000
vn -0.371400 -0.928500 0.000000
s off
f 4//1 3//1 1//1
f 8//2 7//2 3//2
f 8//3 6//3 5//3
f 2//4 1//4 5//4
f 3//5 7//5 5//5
f 8//6 4//6 2//6
f 12//1 11//1 9//1
f 16//2 15//2 11//2
f 14//3 13//3 15//3
f 10//4 9//4 13//4
f 11//1 17//1 18//1
f 16//7 12//7 10//7
f 17//5 19//5 20//5
f 19//3 23//3 21//3
f 9//4 18//4 20//4
f 13//3 20//3 19//3
f 21//2 23//2 24//2
f 17//1 11//1 22//1
f 15//8 21//8 22//8
f 17//9 24//9 23//9
f 2//1 4//1 1//1
f 4//2 8//2 3//2
f 7//3 8//3 5//3
f 6//4 2//4 5//4
f 1//5 3//5 5//5
f 6//6 8//6 2//6
f 10//1 12//1 9//1
f 12//2 16//2 11//2
f 16//3 14//3 15//3
f 14//4 10//4 13//4
f 9//1 11//1 18//1
f 14//7 16//7 10//7
f 18//5 17//5 20//5
f 15//3 19//3 21//3
f 13//4 9//4 20//4
f 15//3 13//3 19//3
f 22//2 21//2 24//2
f 24//1 17//1 22//1
f 11//8 15//8 22//8
f 19//9 17//9 23//9

View File

@ -1,281 +0,0 @@
# Blender v2.76 (sub 0) OBJ File: 'cel_prime_tower.blend'
# www.blender.org
o Cube_Cube.001
v 1.500000 0.000000 1.500000
v 1.500000 5.000000 1.500000
v 1.500000 0.000000 -1.500000
v 1.500000 5.000000 -1.500000
v -1.500000 0.000000 1.500000
v -1.500000 5.000000 1.500000
v -1.500000 0.000000 -1.500000
v -1.500000 5.000000 -1.500000
v 1.500000 4.750000 1.350000
v 1.500000 0.250000 1.350000
v 1.500000 0.250000 -1.350000
v 1.500000 4.750000 -1.350000
v 1.350000 4.750000 -1.500000
v 1.350000 0.250000 -1.500000
v -1.350000 0.250000 -1.500000
v -1.350000 4.750000 -1.500000
v -1.500000 4.750000 -1.350000
v -1.500000 0.250000 -1.350000
v -1.500000 0.250000 1.350000
v -1.500000 4.750000 1.350000
v -1.350000 4.750000 1.500000
v -1.350000 0.250000 1.500000
v 1.350000 0.250000 1.500000
v 1.350000 4.750000 1.500000
v 1.350000 4.750000 1.350000
v 1.350000 0.250000 1.350000
v 1.350000 0.250000 -1.350000
v 1.350000 4.750000 -1.350000
v 1.350000 4.750000 -1.350000
v 1.350000 0.250000 -1.350000
v -1.350000 0.250000 -1.350000
v -1.350000 4.750000 -1.350000
v -1.350000 4.750000 -1.350000
v -1.350000 0.250000 -1.350000
v -1.350000 0.250000 1.350000
v -1.350000 4.750000 1.350000
v -1.350000 4.750000 1.350000
v -1.350000 0.250000 1.350000
v 1.350000 0.250000 1.350000
v 1.350000 4.750000 1.350000
v -1.000000 7.000000 1.000000
v 1.000000 7.000000 1.000000
v -1.000000 7.000000 -1.000000
v 1.000000 7.000000 -1.000000
v 0.265165 8.000000 -0.265165
v -0.000000 8.000000 -0.375000
v 0.000000 8.000000 -0.500000
v 0.000000 12.000000 -0.500000
v 0.353553 8.000000 -0.353553
v 0.353553 12.000000 -0.353553
v 0.500000 8.000000 0.000000
v 0.500000 12.000000 0.000000
v 0.353553 8.000000 0.353553
v 0.353553 12.000000 0.353553
v -0.000000 8.000000 0.500000
v -0.000000 12.000000 0.500000
v -0.353553 8.000000 0.353553
v -0.353553 12.000000 0.353553
v -0.500000 8.000000 -0.000000
v -0.500000 12.000000 -0.000000
v -0.353553 8.000000 -0.353553
v -0.353553 12.000000 -0.353553
v 0.265165 12.000000 -0.265165
v -0.000000 12.000000 -0.375000
v 0.375000 8.000000 0.000000
v 0.375000 12.000000 0.000000
v 0.265165 8.000000 0.265165
v 0.265165 12.000000 0.265165
v -0.000000 8.000000 0.375000
v -0.000000 12.000000 0.375000
v -0.265165 8.000000 0.265165
v -0.265165 12.000000 0.265165
v -0.375000 8.000000 -0.000000
v -0.375000 12.000000 -0.000000
v -0.265165 8.000000 -0.265165
v -0.265165 12.000000 -0.265165
v -0.500000 7.000000 -0.500000
v -0.500000 10.000000 -0.500000
v -0.500000 7.000000 -1.000000
v -0.500000 10.500000 -1.000000
v 0.500000 7.000000 -0.500000
v 0.500000 10.000000 -0.500000
v 0.500000 7.000000 -1.000000
v 0.500000 10.500000 -1.000000
v -0.500000 10.353554 -0.146447
v -0.500000 10.853554 -0.646447
v 0.500000 10.853554 -0.646447
v 0.500000 10.353554 -0.146447
vn 0.000000 -1.000000 0.000000
vn 1.000000 0.000000 0.000000
vn 0.000000 0.000000 -1.000000
vn -1.000000 0.000000 0.000000
vn 0.000000 0.000000 1.000000
vn 0.000000 1.000000 0.000000
vn 0.970100 0.242500 0.000000
vn 0.000000 0.242500 -0.970100
vn -0.970100 0.242500 0.000000
vn 0.000000 0.242500 0.970100
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.000000 0.707100 -0.707100
vn 0.000000 0.707100 0.707100
vn 0.000000 -0.707100 0.707100
s off
f 5//1 7//1 3//1
f 10//2 9//2 2//2
f 11//2 10//2 1//2
f 12//2 11//2 3//2
f 9//2 12//2 4//2
f 14//3 13//3 4//3
f 15//3 14//3 3//3
f 16//3 15//3 7//3
f 13//3 16//3 8//3
f 18//4 17//4 8//4
f 19//4 18//4 7//4
f 20//4 19//4 5//4
f 17//4 20//4 6//4
f 22//5 21//5 6//5
f 23//5 22//5 5//5
f 24//5 23//5 1//5
f 21//5 24//5 2//5
f 26//2 27//2 28//2
f 26//3 25//3 9//3
f 27//6 26//6 10//6
f 28//5 27//5 11//5
f 25//1 28//1 12//1
f 30//3 31//3 32//3
f 30//4 29//4 13//4
f 31//6 30//6 14//6
f 32//2 31//2 15//2
f 29//1 32//1 16//1
f 34//4 35//4 36//4
f 34//5 33//5 17//5
f 35//6 34//6 18//6
f 36//3 35//3 19//3
f 33//1 36//1 20//1
f 38//5 39//5 40//5
f 38//2 37//2 21//2
f 39//6 38//6 22//6
f 40//4 39//4 23//4
f 37//1 40//1 24//1
f 42//6 44//6 43//6
f 44//7 42//7 2//7
f 43//8 44//8 4//8
f 41//9 43//9 8//9
f 42//10 41//10 6//10
f 56//6 70//6 72//6
f 52//6 66//6 68//6
f 48//11 50//11 49//11
f 55//1 69//1 67//1
f 47//1 46//1 75//1
f 50//12 52//12 51//12
f 49//1 45//1 46//1
f 59//1 73//1 71//1
f 52//13 54//13 53//13
f 62//6 76//6 64//6
f 51//1 53//1 67//1
f 54//14 56//14 55//14
f 57//1 71//1 69//1
f 76//14 75//14 46//14
f 56//15 58//15 57//15
f 51//1 65//1 45//1
f 74//13 73//13 75//13
f 58//16 60//16 59//16
f 60//6 74//6 76//6
f 62//17 48//17 47//17
f 60//18 62//18 61//18
f 50//6 63//6 66//6
f 60//6 58//6 72//6
f 54//6 68//6 70//6
f 59//1 61//1 75//1
f 48//6 64//6 63//6
f 64//15 46//15 45//15
f 63//16 45//16 65//16
f 66//18 65//18 67//18
f 68//17 67//17 69//17
f 70//11 69//11 71//11
f 72//12 71//12 73//12
f 78//4 80//4 79//4
f 84//3 83//3 79//3
f 82//2 81//2 83//2
f 78//5 77//5 81//5
f 79//1 83//1 81//1
f 80//19 86//19 87//19
f 87//20 86//20 85//20
f 84//2 87//2 88//2
f 80//4 78//4 85//4
f 82//21 88//21 85//21
f 1//1 5//1 3//1
f 1//2 10//2 2//2
f 3//2 11//2 1//2
f 4//2 12//2 3//2
f 2//2 9//2 4//2
f 3//3 14//3 4//3
f 7//3 15//3 3//3
f 8//3 16//3 7//3
f 4//3 13//3 8//3
f 7//4 18//4 8//4
f 5//4 19//4 7//4
f 6//4 20//4 5//4
f 8//4 17//4 6//4
f 5//5 22//5 6//5
f 1//5 23//5 5//5
f 2//5 24//5 1//5
f 6//5 21//5 2//5
f 25//2 26//2 28//2
f 10//3 26//3 9//3
f 11//6 27//6 10//6
f 12//5 28//5 11//5
f 9//1 25//1 12//1
f 29//3 30//3 32//3
f 14//4 30//4 13//4
f 15//6 31//6 14//6
f 16//2 32//2 15//2
f 13//1 29//1 16//1
f 33//4 34//4 36//4
f 18//5 34//5 17//5
f 19//6 35//6 18//6
f 20//3 36//3 19//3
f 17//1 33//1 20//1
f 37//5 38//5 40//5
f 22//2 38//2 21//2
f 23//6 39//6 22//6
f 24//4 40//4 23//4
f 21//1 37//1 24//1
f 41//6 42//6 43//6
f 4//7 44//7 2//7
f 8//8 43//8 4//8
f 6//9 41//9 8//9
f 2//10 42//10 6//10
f 58//6 56//6 72//6
f 54//6 52//6 68//6
f 47//11 48//11 49//11
f 53//1 55//1 67//1
f 61//1 47//1 75//1
f 49//12 50//12 51//12
f 47//1 49//1 46//1
f 57//1 59//1 71//1
f 51//13 52//13 53//13
f 48//6 62//6 64//6
f 65//1 51//1 67//1
f 53//14 54//14 55//14
f 55//1 57//1 69//1
f 64//14 76//14 46//14
f 55//15 56//15 57//15
f 49//1 51//1 45//1
f 76//13 74//13 75//13
f 57//16 58//16 59//16
f 62//6 60//6 76//6
f 61//17 62//17 47//17
f 59//18 60//18 61//18
f 52//6 50//6 66//6
f 74//6 60//6 72//6
f 56//6 54//6 70//6
f 73//1 59//1 75//1
f 50//6 48//6 63//6
f 63//15 64//15 45//15
f 66//16 63//16 65//16
f 68//18 66//18 67//18
f 70//17 68//17 69//17
f 72//11 70//11 71//11
f 74//12 72//12 73//12
f 77//4 78//4 79//4
f 80//3 84//3 79//3
f 84//2 82//2 83//2
f 82//5 78//5 81//5
f 77//1 79//1 81//1
f 84//19 80//19 87//19
f 88//20 87//20 85//20
f 82//2 84//2 88//2
f 86//4 80//4 85//4
f 78//21 82//21 85//21

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,150 +0,0 @@
# Blender v2.76 (sub 0) OBJ File: 'chemplant_piston.blend'
# www.blender.org
o Cube.001_Cube.002
v 0.427500 2.000000 -0.427500
v 0.427500 2.000000 -0.822500
v 0.822500 2.000000 -0.427500
v 0.822500 2.000000 -0.822500
v 0.427500 2.150000 -0.427500
v 0.427500 2.150000 -0.822500
v 0.822500 2.150000 -0.822500
v 0.822500 2.150000 -0.427500
v 0.476875 2.000000 -0.476875
v 0.476875 2.000000 -0.773125
v 0.773125 2.000000 -0.773125
v 0.773125 2.000000 -0.476875
v 0.476875 1.500000 -0.476875
v 0.476875 1.500000 -0.773125
v 0.773125 1.500000 -0.773125
v 0.773125 1.500000 -0.476875
v -0.822500 2.000000 -0.427500
v -0.822500 2.000000 -0.822500
v -0.427500 2.000000 -0.427500
v -0.427500 2.000000 -0.822500
v -0.822500 2.150000 -0.427500
v -0.822500 2.150000 -0.822500
v -0.427500 2.150000 -0.822500
v -0.427500 2.150000 -0.427500
v -0.773125 2.000000 -0.476875
v -0.773125 2.000000 -0.773125
v -0.476875 2.000000 -0.773125
v -0.476875 2.000000 -0.476875
v -0.773125 1.500000 -0.476875
v -0.773125 1.500000 -0.773125
v -0.476875 1.500000 -0.773125
v -0.476875 1.500000 -0.476875
vt 0.263926 0.442748
vt 0.248840 0.427662
vt 0.248840 0.337146
vt 0.309756 0.322060
vt 0.430444 0.322060
vt 0.430444 0.442748
vt 0.263926 0.322060
vt 0.309756 0.442748
vt 0.476275 0.442748
vt 0.309756 0.488579
vt 0.430444 0.276229
vt 0.415358 0.503665
vt 0.415358 0.656434
vt 0.324842 0.656434
vt 0.476275 0.322060
vt 0.491361 0.337146
vt 0.491361 0.427662
vt 0.430444 0.488579
vt 0.324842 0.503664
vt 0.309756 0.276230
vt 0.324842 0.261143
vt 0.415358 0.261144
vt 0.324842 0.108374
vt 0.415358 0.108374
vt 0.096070 0.427662
vt 0.096071 0.337146
vt 0.644130 0.337146
vt 0.644130 0.427662
vt 0.847582 0.752895
vt 0.847582 0.774230
vt 0.783577 0.838234
vt 0.729835 0.805827
vt 0.644497 0.720488
vt 0.729836 0.635149
vt 0.762243 0.838234
vt 0.815175 0.720488
vt 0.697428 0.602742
vt 0.847582 0.688081
vt 0.612089 0.752895
vt 0.783578 0.602742
vt 0.891602 0.494718
vt 0.955606 0.558722
vt 0.612089 0.688081
vt 0.612089 0.666746
vt 0.676094 0.602742
vt 0.762243 0.602742
vt 0.847582 0.666746
vt 0.697428 0.838234
vt 0.676093 0.838234
vt 0.612089 0.774230
vt 0.568069 0.946258
vt 0.504065 0.882254
vt 0.955606 0.882254
vt 0.891601 0.946258
vt 0.504065 0.558721
vt 0.568070 0.494717
vn 0.000000 -1.000000 0.000000
vn 0.000000 1.000000 0.000000
vn 1.000000 0.000000 0.000000
vn -1.000000 0.000000 0.000000
vn 0.000000 0.000000 1.000000
vn 0.000000 0.000000 -1.000000
s off
f 3/1/1 12/2/1 11/3/1
f 7/4/2 6/5/2 5/6/2
f 4/7/3 7/4/3 8/8/3
f 1/9/4 5/6/4 6/5/4
f 3/10/5 8/8/5 5/6/5
f 2/11/6 6/5/6 7/4/6
f 9/12/5 13/13/5 16/14/5
f 2/15/1 10/16/1 9/17/1
f 1/18/1 9/12/1 12/19/1
f 4/20/1 11/21/1 10/22/1
f 11/21/6 15/23/6 14/24/6
f 12/2/3 16/25/3 15/26/3
f 10/16/4 14/27/4 13/28/4
f 19/29/1 28/30/1 27/31/1
f 23/32/2 22/33/2 21/34/2
f 20/35/3 23/32/3 24/36/3
f 17/37/4 21/34/4 22/33/4
f 19/38/5 24/36/5 21/34/5
f 18/39/6 22/33/6 23/32/6
f 25/40/5 29/41/5 32/42/5
f 18/43/1 26/44/1 25/45/1
f 17/46/1 25/40/1 28/47/1
f 20/48/1 27/49/1 26/50/1
f 27/49/6 31/51/6 30/52/6
f 28/30/3 32/53/3 31/54/3
f 26/44/4 30/55/4 29/56/4
f 4/7/1 3/1/1 11/3/1
f 8/8/2 7/4/2 5/6/2
f 3/1/3 4/7/3 8/8/3
f 2/15/4 1/9/4 6/5/4
f 1/18/5 3/10/5 5/6/5
f 4/20/6 2/11/6 7/4/6
f 12/19/5 9/12/5 16/14/5
f 1/9/1 2/15/1 9/17/1
f 3/10/1 1/18/1 12/19/1
f 2/11/1 4/20/1 10/22/1
f 10/22/6 11/21/6 14/24/6
f 11/3/3 12/2/3 15/26/3
f 9/17/4 10/16/4 13/28/4
f 20/35/1 19/29/1 27/31/1
f 24/36/2 23/32/2 21/34/2
f 19/29/3 20/35/3 24/36/3
f 18/43/4 17/37/4 22/33/4
f 17/46/5 19/38/5 21/34/5
f 20/48/6 18/39/6 23/32/6
f 28/47/5 25/40/5 32/42/5
f 17/37/1 18/43/1 25/45/1
f 19/38/1 17/46/1 28/47/1
f 18/39/1 20/48/1 26/50/1
f 26/50/6 27/49/6 30/52/6
f 27/31/3 28/30/3 31/54/3
f 25/45/4 26/44/4 29/56/4

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,818 +0,0 @@
# Blender v2.76 (sub 0) OBJ File: ''
# www.blender.org
o Circle
v -2.900000 0.300000 0.000000
v -2.900000 0.105000 0.000000
v -2.900000 0.097007 0.040182
v -2.900000 0.097007 -0.040182
v -2.900000 0.000000 -0.105000
v -2.900000 0.040182 -0.097007
v -2.900000 0.114805 -0.277164
v -2.900000 -0.040182 -0.097007
v -2.900000 0.000000 -0.300000
v -2.900000 -0.105000 0.000000
v -2.900000 -0.097008 -0.040182
v -2.900000 -0.277164 -0.114805
v -2.900000 -0.097008 0.040182
v -2.900000 -0.300000 0.000000
v -2.900000 0.000000 0.105000
v -2.900000 -0.040182 0.097007
v -2.900000 -0.114805 0.277164
v -2.900000 0.040182 0.097007
v -2.900000 0.000000 0.300000
v -2.900000 -0.074246 0.074246
v -2.900000 0.074246 -0.074246
v -2.700000 0.143506 0.346455
v -2.600000 0.143506 0.346455
v -2.600000 0.040182 0.097007
v -2.700000 0.040182 -0.097007
v -2.600000 0.040182 -0.097007
v -2.600000 0.143506 -0.346455
v -2.600000 0.346454 -0.143506
v -2.600000 0.097007 -0.040182
v -2.700000 0.097007 -0.040182
v -2.600000 0.346454 0.143506
v -2.600000 0.375000 0.000000
v -2.700000 0.375000 0.000000
v -2.700000 -0.040182 0.097007
v -2.600000 -0.040182 0.097007
v -2.600000 -0.143506 0.346455
v -2.700000 -0.097008 0.040182
v -2.600000 -0.097008 0.040182
v -2.600000 -0.074246 0.074246
v -2.700000 0.000000 -0.375000
v -2.600000 0.000000 -0.375000
v -2.600000 -0.143506 -0.346455
v -2.600000 0.074246 -0.074246
v -2.700000 0.000000 0.375000
v -2.600000 0.000000 0.375000
v -2.700000 0.074246 -0.074246
v -2.700000 0.097007 0.040182
v -2.700000 0.346454 0.143506
v -2.900000 0.277164 0.114805
v -2.700000 -0.074246 0.074246
v -2.900000 -0.277164 0.114805
v -2.700000 -0.346455 0.143506
v -2.700000 0.346454 -0.143506
v -2.700000 -0.375000 0.000000
v -2.900000 0.277164 -0.114805
v -2.700000 -0.346455 -0.143506
v -2.900000 0.114805 0.277164
v -2.700000 0.040182 0.097007
v -2.900000 0.074246 0.074246
v -2.700000 0.074246 0.074246
v -2.900000 -0.074246 -0.074246
v -2.700000 -0.074246 -0.074246
v -2.700000 -0.097008 -0.040182
v -2.900000 -0.114805 -0.277164
v -2.700000 -0.143506 -0.346455
v -2.700000 -0.040182 -0.097007
v -2.700000 0.143506 -0.346455
v -2.700000 -0.143507 0.346455
v -2.600000 0.097007 0.040182
v -2.600000 0.105000 0.000000
v -2.600000 0.000000 -0.105000
v -2.600000 -0.040182 -0.097007
v -2.600000 -0.346455 -0.143506
v -2.600000 -0.097008 -0.040182
v -2.600000 -0.105000 0.000000
v -2.600000 -0.346455 0.143506
v -2.600000 -0.375000 0.000000
v -2.600000 0.000000 0.105000
v -2.600000 0.074246 0.074246
v -2.600000 -0.074246 -0.074246
v -1.000000 1.000000 0.000000
v -0.500000 1.000000 0.000000
v -0.500000 0.923879 -0.382683
v 0.000000 1.000000 0.000000
v 0.000000 0.923879 0.382683
v -1.000000 0.000000 1.000000
v -0.500000 0.000000 1.000000
v -0.500000 0.382683 0.923879
v 0.000000 0.000000 1.000000
v 0.000000 -0.382684 0.923880
v -1.000000 -1.000000 0.000000
v -0.500000 -1.000000 0.000000
v -0.500000 -0.923879 0.382684
v 0.000000 -1.000000 0.000000
v 0.000000 -0.923879 -0.382684
v -1.000000 0.000000 -1.000000
v -0.500000 0.000000 -1.000000
v -0.500000 -0.382683 -0.923880
v 0.000000 0.000000 -1.000000
v 0.000000 0.382683 -0.923879
v -1.000000 0.191341 0.461940
v -1.000000 0.000000 0.500000
v -1.000000 0.461939 -0.191342
v -1.000000 0.499999 0.000000
v -1.000000 -0.191342 -0.461940
v -1.000000 0.000000 -0.500000
v -1.000000 -0.923879 0.382684
v -1.000000 -0.461940 0.191342
v -1.000000 -0.500000 0.000000
v -0.500000 -0.461940 0.191342
v -0.500000 -0.500000 0.000000
v -0.500000 -0.191342 -0.461940
v -0.500000 0.000000 -0.500000
v -0.500000 0.461939 -0.191342
v -0.500000 0.499999 0.000000
v -0.500000 0.191341 0.461940
v -0.500000 0.000000 0.500000
v 0.500000 -0.923879 -0.382684
v 0.500000 -1.000000 0.000000
v 0.500000 0.923879 0.382683
v 0.500000 1.000000 0.000000
v 0.000000 0.191341 -0.461940
v 0.500000 0.191342 -0.461940
v 0.500000 0.382683 -0.923879
v 0.500000 -0.500000 0.000000
v 0.000000 0.000000 0.500000
v 0.000000 -0.191342 0.461940
v 0.000000 -0.500000 0.000000
v 0.000000 -0.461940 -0.191342
v 0.000000 0.000000 -0.500000
v 0.000000 0.500000 0.000000
v 0.000000 0.461939 0.191342
v 0.500000 0.000000 -0.500000
v 0.500000 0.461939 0.191342
v 0.500000 -0.382684 0.923880
v 0.500000 -0.191342 0.461940
v 0.500000 0.000000 0.500000
v 0.500000 -0.461940 -0.191342
v 0.500000 0.000000 -1.000000
v 0.500000 0.500000 0.000000
v 0.500000 0.000000 1.000000
v -1.000000 0.923879 -0.382683
v -1.000000 0.382683 0.923879
v -1.000000 -0.382683 -0.923880
vt 0.386236 0.903449
vt 0.415713 0.870412
vt 0.422995 0.875866
vt 0.410847 0.862251
vt 0.415713 0.834834
vt 0.410847 0.842996
vt 0.372334 0.825117
vt 0.422995 0.829381
vt 0.386236 0.801798
vt 0.447457 0.834834
vt 0.440174 0.829381
vt 0.456127 0.786216
vt 0.452322 0.842996
vt 0.476933 0.801798
vt 0.447457 0.870412
vt 0.452322 0.862251
vt 0.490835 0.880130
vt 0.440174 0.875866
vt 0.476933 0.903449
vt 0.454031 0.852623
vt 0.409138 0.852623
vt 0.246623 0.961651
vt 0.246623 0.985596
vt 0.194961 0.984565
vt 0.363621 0.834500
vt 0.363621 0.858444
vt 0.308890 0.859178
vt 0.003848 0.912819
vt 0.055510 0.913850
vt 0.055510 0.937794
vt 0.729199 0.256799
vt 0.760227 0.256554
vt 0.760280 0.280498
vt 0.363621 0.915692
vt 0.363621 0.939636
vt 0.308890 0.940370
vt 0.868474 0.880847
vt 0.868474 0.904791
vt 0.861548 0.904576
vt 0.829237 0.280498
vt 0.829184 0.256554
vt 0.859364 0.256799
vt 0.599395 0.926382
vt 0.599395 0.950326
vt 0.592469 0.950112
vt 0.126677 0.961231
vt 0.156009 0.961723
vt 0.156009 0.985662
vt 0.515460 0.832769
vt 0.515460 0.880657
vt 0.507858 0.880831
vt 0.876447 0.052192
vt 0.820306 0.052799
vt 0.835901 0.004751
vt 0.515816 0.752158
vt 0.515816 0.800038
vt 0.507858 0.800204
vt 0.076866 0.985019
vt 0.063206 0.936759
vt 0.112383 0.938128
vt 0.759274 0.329030
vt 0.790461 0.280743
vt 0.599395 0.878494
vt 0.592469 0.926167
vt 0.554592 0.902223
vt 0.584773 0.902468
vt 0.577731 0.950951
vt 0.868474 0.832958
vt 0.861548 0.880632
vt 0.324093 0.868334
vt 0.363621 0.867803
vt 0.729253 0.280743
vt 0.018199 0.984938
vt 0.003848 0.936764
vt 0.528764 0.950951
vt 0.523565 0.902468
vt 0.324093 0.787142
vt 0.363621 0.786612
vt 0.232273 0.913477
vt 0.194961 0.960621
vt 0.117856 0.786699
vt 0.117856 0.834587
vt 0.110253 0.834761
vt 0.102557 0.786699
vt 0.102557 0.834587
vt 0.094955 0.834761
vt 0.135071 0.912732
vt 0.158537 0.913126
vt 0.867113 0.328374
vt 0.867113 0.280494
vt 0.873537 0.280764
vt 0.834657 0.238675
vt 0.820306 0.190501
vt 0.871968 0.191531
vt 0.803409 0.329226
vt 0.798210 0.280743
vt 0.828231 0.329030
vt 0.859418 0.280743
vt 0.868474 0.752286
vt 0.868474 0.800174
vt 0.861548 0.799959
vt 0.183542 0.913083
vt 0.187266 0.961669
vt 0.875038 0.133253
vt 0.820306 0.133987
vt 0.835509 0.085895
vt 0.631996 0.771548
vt 0.658004 0.752071
vt 0.680092 0.811837
vt 0.672810 0.817291
vt 0.667944 0.825452
vt 0.631996 0.898612
vt 0.614619 0.869463
vt 0.667944 0.844707
vt 0.672810 0.852869
vt 0.680092 0.858322
vt 0.719360 0.918088
vt 0.697272 0.858322
vt 0.704554 0.852869
vt 0.762745 0.869463
vt 0.745367 0.898612
vt 0.762745 0.800696
vt 0.709420 0.825452
vt 0.704554 0.817291
vt 0.745367 0.771548
vt 0.697272 0.811837
vt 0.117856 0.858531
vt 0.110253 0.858705
vt 0.554539 0.878279
vt 0.584720 0.878524
vt 0.102557 0.858531
vt 0.094955 0.858705
vt 0.790407 0.256799
vt 0.867113 0.256554
vt 0.873537 0.256824
vt 0.820306 0.166557
vt 0.187266 0.985609
vt 0.868474 0.824118
vt 0.861548 0.823904
vt 0.798156 0.256799
vt 0.875038 0.157197
vt 0.820306 0.157931
vt 0.515460 0.904601
vt 0.507858 0.904776
vt 0.876447 0.076132
vt 0.820306 0.076739
vt 0.523512 0.878524
vt 0.515816 0.823978
vt 0.507858 0.824144
vt 0.063206 0.912819
vt 0.112383 0.914188
vt 0.129201 0.372761
vt 0.166737 0.260675
vt 0.241809 0.293193
vt 0.204273 0.148590
vt 0.126677 0.116398
vt 0.377599 0.373563
vt 0.414147 0.261091
vt 0.487244 0.292324
vt 0.450696 0.148619
vt 0.372334 0.116785
vt 0.006373 0.372761
vt 0.043909 0.260675
vt 0.118981 0.293193
vt 0.081445 0.148590
vt 0.003848 0.116398
vt 0.252030 0.372761
vt 0.289566 0.260675
vt 0.364638 0.293193
vt 0.327102 0.148590
vt 0.249505 0.116398
vt 0.791294 0.752071
vt 0.832999 0.752071
vt 0.853852 0.869567
vt 0.280341 0.904107
vt 0.238636 0.904107
vt 0.217783 0.786612
vt 0.832999 0.995687
vt 0.791294 0.995687
vt 0.770441 0.878192
vt 0.003848 0.904194
vt 0.024701 0.786699
vt 0.066406 0.786699
vt 0.772142 0.373775
vt 0.791949 0.491420
vt 0.752334 0.499351
vt 0.996152 0.491507
vt 0.957579 0.498777
vt 0.938293 0.381046
vt 0.860070 0.491420
vt 0.820455 0.499351
vt 0.800648 0.381707
vt 0.928191 0.491420
vt 0.888577 0.499351
vt 0.868769 0.381707
vt 0.041384 0.004313
vt 0.118981 0.036504
vt 0.164213 0.004313
vt 0.241809 0.036504
vt 0.352790 0.658302
vt 0.350172 0.777986
vt 0.248818 0.776560
vt 0.494940 0.123734
vt 0.502218 0.004313
vt 0.607478 0.013136
vt 0.908384 0.616996
vt 0.867766 0.625801
vt 0.772142 0.616996
vt 0.731523 0.625801
vt 0.976866 0.616509
vt 0.935887 0.625014
vt 0.840263 0.616996
vt 0.799645 0.625801
vt 0.516775 0.241834
vt 0.607478 0.251317
vt 0.600199 0.370739
vt 0.615173 0.124009
vt 0.615960 0.004313
vt 0.721504 0.005947
vt 0.126677 0.533589
vt 0.129295 0.413904
vt 0.235886 0.417131
vt 0.020375 0.651076
vt 0.115831 0.658512
vt 0.110321 0.778073
vt 0.614619 0.499049
vt 0.617237 0.379364
vt 0.723827 0.382591
vt 0.511467 0.616536
vt 0.606923 0.623972
vt 0.601414 0.743533
vt 0.388861 0.650593
vt 0.484317 0.658029
vt 0.478808 0.777591
vt 0.243581 0.533589
vt 0.246200 0.413904
vt 0.352790 0.417131
vt 0.721504 0.247240
vt 0.720717 0.125644
vt 0.235886 0.658301
vt 0.233267 0.536816
vt 0.723827 0.623761
vt 0.721209 0.502275
vt 0.350172 0.536816
vt 0.617535 0.247505
vt 0.134532 0.656876
vt 0.622474 0.622335
vt 0.251437 0.656876
vt 0.372334 0.532983
vt 0.478807 0.539444
vt 0.494940 0.498925
vt 0.601414 0.505386
vt 0.600199 0.132557
vt 0.003848 0.533466
vt 0.110321 0.539926
vt 0.210087 0.786612
vt 0.189235 0.904107
vt 0.147529 0.904107
vt 0.729199 0.130433
vt 0.812610 0.130433
vt 0.791758 0.247929
vt 0.523512 0.869654
vt 0.544365 0.752158
vt 0.586070 0.752158
vt 0.729199 0.121808
vt 0.750052 0.004313
vt 0.791758 0.004313
vt 0.009357 0.413904
vt 0.115831 0.420365
vt 0.860070 0.734640
vt 0.819452 0.743446
vt 0.720717 0.366936
vt 0.616747 0.367202
vt 0.791949 0.734640
vt 0.751331 0.743446
vt 0.377843 0.413422
vt 0.484317 0.419882
vt 0.287041 0.004313
vt 0.364638 0.036504
vt 0.233267 0.777986
vt 0.131913 0.776560
vt 0.408882 0.004313
vt 0.500449 0.379364
vt 0.606923 0.385824
vt 0.996152 0.734240
vt 0.955174 0.742746
vt 0.928191 0.734640
vt 0.887573 0.743446
vt 0.721209 0.743446
vt 0.619855 0.742020
vt 0.407042 0.919030
vt 0.372334 0.880130
vt 0.407042 0.786216
vt 0.490835 0.825117
vt 0.456127 0.919030
vt 0.431585 0.827466
vt 0.431585 0.877781
vt 0.308890 0.835234
vt 0.308890 0.916426
vt 0.126677 0.985171
vt 0.507858 0.832943
vt 0.876447 0.004313
vt 0.507858 0.752324
vt 0.112383 0.986007
vt 0.783418 0.329226
vt 0.592469 0.878279
vt 0.553586 0.950755
vt 0.861548 0.832744
vt 0.734452 0.329226
vt 0.055510 0.985682
vt 0.194961 0.912732
vt 0.110253 0.786873
vt 0.094955 0.786873
vt 0.873537 0.328643
vt 0.871968 0.239420
vt 0.852375 0.329226
vt 0.861548 0.752071
vt 0.875038 0.085365
vt 0.614619 0.800696
vt 0.658004 0.918088
vt 0.709420 0.844707
vt 0.719360 0.752071
vt 0.666236 0.835080
vt 0.688682 0.809922
vt 0.711128 0.835080
vt 0.688682 0.860237
vt 0.871968 0.167587
vt 0.204273 0.405279
vt 0.450696 0.404796
vt 0.081445 0.405279
vt 0.327102 0.405279
vt 0.770441 0.869567
vt 0.301194 0.786612
vt 0.853852 0.878192
vt 0.087259 0.904194
vt 0.732527 0.381707
vt 0.976866 0.373775
vt 0.840263 0.373775
vt 0.908384 0.373775
vt 0.509497 0.361255
vt 0.014866 0.770637
vt 0.505958 0.736097
vt 0.383352 0.770155
vt 0.126677 0.786612
vt 0.750052 0.247929
vt 0.606923 0.869654
vt 0.812610 0.121808
vt 0.487244 0.036146
vn -1.000000 0.000000 0.000000
vn 0.000000 0.923900 -0.382700
vn 0.000000 0.923900 0.382700
vn 0.000000 -0.382700 -0.923900
vn 0.000000 0.980800 0.195100
vn 0.000000 -0.923900 -0.382700
vn 0.000000 -0.831500 0.555600
vn 0.000000 -0.195100 -0.980800
vn 0.000000 0.831500 -0.555600
vn 0.000000 0.195100 0.980800
vn 0.000000 0.555600 -0.831500
vn -0.000000 -0.382700 0.923900
vn 0.000000 -0.555600 0.831500
vn 0.000000 0.382700 0.923900
vn -0.345200 0.920500 -0.183100
vn -0.345200 -0.920500 0.183100
vn -0.345200 0.920500 0.183100
vn -0.345200 -0.920500 -0.183100
vn 0.000000 0.831500 0.555600
vn 0.000000 -0.831500 -0.555600
vn -0.345200 0.183100 0.920500
vn 0.000000 0.555600 0.831500
vn 0.000000 -0.923900 0.382700
vn -0.345200 0.183100 -0.920500
vn -0.345200 -0.183100 -0.920500
vn 0.000000 -0.555600 -0.831500
vn -0.345200 -0.183100 0.920500
vn 0.000000 0.382700 -0.923900
vn 1.000000 0.000000 0.000000
vn 0.000000 -0.980800 0.195100
vn 0.000000 0.980800 -0.195100
vn 0.000000 -0.195100 0.980800
vn 0.000000 0.195100 -0.980800
vn 0.000000 -0.980800 -0.195100
vn 0.000000 -0.000000 1.000000
vn 0.000000 -1.000000 0.000000
vn 0.000000 0.000000 -1.000000
vn 0.000000 1.000000 0.000000
vn -0.357400 -0.000000 0.933900
vn -0.357400 -0.933900 0.000000
vn -0.357400 0.000000 -0.933900
vn -0.357400 0.933900 0.000000
vn -0.607800 -0.303900 0.733700
vn -0.607800 -0.733700 -0.303900
vn -0.607800 0.303900 -0.733700
vn -0.607800 0.733700 0.303900
vn 0.607800 0.000000 -0.794100
vn 0.357400 -0.357400 -0.862900
vn 0.607800 0.794100 0.000000
vn 0.357400 0.862900 -0.357400
vn 0.607800 0.000000 0.794100
vn 0.357400 0.357400 0.862900
vn 0.607800 -0.794100 0.000000
vn 0.357400 -0.862900 0.357400
s 1
f 1/1/1 2/2/1 3/3/1
f 4/4/1 2/2/1 1/1/1
f 5/5/1 6/6/1 7/7/1
f 8/8/1 5/5/1 9/9/1
f 10/10/1 11/11/1 12/12/1
f 13/13/1 10/10/1 14/14/1
f 15/15/1 16/16/1 17/17/1
f 18/18/1 15/15/1 19/19/1
f 20/20/1 2/2/1 21/21/1
f 22/22/2 23/23/2 24/24/2
f 25/25/3 26/26/3 27/27/3
f 28/28/4 29/29/4 30/30/4
f 31/31/5 32/32/5 33/33/5
f 34/34/6 35/35/6 36/36/6
f 37/37/7 38/38/7 39/39/7
f 40/40/8 41/41/8 42/42/8
f 30/43/9 29/44/9 43/45/9
f 22/46/10 44/47/10 45/48/10
f 21/49/11 46/50/11 25/51/11
f 47/52/12 48/53/12 49/54/12
f 20/55/13 50/56/13 34/57/13
f 51/58/14 52/59/14 37/60/14
f 1/61/15 33/33/15 53/62/15
f 4/63/9 30/43/9 46/64/9
f 54/65/16 52/66/16 51/67/16
f 13/68/7 37/37/7 50/69/7
f 17/70/6 16/71/6 34/34/6
f 48/72/17 33/33/17 1/61/17
f 55/73/4 53/74/4 30/30/4
f 12/75/18 56/76/18 54/65/18
f 7/77/3 6/78/3 25/25/3
f 57/79/2 22/22/2 58/80/2
f 59/81/19 60/82/19 47/83/19
f 61/84/20 62/85/20 63/86/20
f 57/87/21 19/88/21 44/47/21
f 18/89/22 58/90/22 60/91/22
f 64/92/23 65/93/23 66/94/23
f 7/95/24 67/96/24 40/40/24
f 9/97/25 40/40/25 65/98/25
f 8/99/26 66/100/26 62/101/26
f 17/102/27 68/103/27 44/47/27
f 63/104/28 56/105/28 12/106/28
f 32/107/29 31/108/29 69/109/29
f 32/107/29 70/110/29 29/111/29
f 41/112/29 27/113/29 26/114/29
f 41/112/29 71/115/29 72/116/29
f 73/117/29 74/118/29 75/119/29
f 76/120/29 77/121/29 75/119/29
f 36/122/29 35/123/29 78/124/29
f 45/125/29 78/124/29 24/126/29
f 78/124/29 75/119/29 70/110/29
f 60/82/19 79/127/19 69/128/19
f 77/129/30 76/130/30 52/66/30
f 62/85/20 80/131/20 74/132/20
f 32/32/31 28/133/31 53/62/31
f 58/90/22 24/134/22 79/135/22
f 66/94/23 65/93/23 42/136/23
f 44/47/32 68/103/32 36/137/32
f 66/100/26 72/138/26 80/139/26
f 67/96/33 27/140/33 41/41/33
f 74/141/28 73/142/28 56/105/28
f 46/50/11 43/143/11 26/144/11
f 69/145/12 31/146/12 48/53/12
f 73/147/34 77/129/34 54/65/34
f 50/56/13 39/148/13 35/149/13
f 76/150/14 38/151/14 37/60/14
f 81/152/31 82/153/31 83/154/31
f 82/153/31 84/155/31 83/154/31
f 84/155/5 82/153/5 85/156/5
f 86/157/10 87/158/10 88/159/10
f 88/159/10 87/158/10 89/160/10
f 89/160/32 87/158/32 90/161/32
f 91/162/30 92/163/30 93/164/30
f 92/163/30 94/165/30 93/164/30
f 94/165/34 92/163/34 95/166/34
f 96/167/8 97/168/8 98/169/8
f 97/168/8 99/170/8 98/169/8
f 99/170/33 97/168/33 100/171/33
f 101/172/1 102/173/1 86/174/1
f 103/175/1 104/176/1 81/177/1
f 105/178/1 106/179/1 96/180/1
f 107/181/1 108/182/1 109/183/1
f 108/184/31 110/185/31 111/186/31
f 112/187/10 113/188/10 106/189/10
f 114/190/30 115/191/30 104/192/30
f 116/193/8 117/194/8 102/195/8
f 95/166/34 118/196/34 119/197/34
f 85/156/5 120/198/5 121/199/5
f 122/200/3 123/201/3 124/202/3
f 94/203/35 119/204/35 125/205/35
f 117/194/8 116/193/8 126/206/8
f 126/206/33 127/207/33 117/194/33
f 110/185/31 128/208/31 111/186/31
f 128/208/5 129/209/5 111/186/5
f 112/187/10 130/210/10 113/188/10
f 130/210/32 122/211/32 113/188/32
f 114/190/30 131/212/30 115/191/30
f 131/212/34 132/213/34 115/191/34
f 93/214/14 110/215/14 108/216/14
f 82/217/35 81/218/35 104/219/35
f 87/220/36 86/221/36 102/222/36
f 98/223/23 112/224/23 105/225/23
f 92/226/37 91/227/37 109/228/37
f 88/229/2 116/230/2 101/231/2
f 83/232/4 114/233/4 103/234/4
f 97/235/38 96/236/38 106/237/38
f 132/238/39 82/217/39 115/239/39
f 127/240/40 87/220/40 117/241/40
f 129/242/41 92/226/41 111/243/41
f 122/200/42 97/235/42 113/244/42
f 82/217/43 132/238/43 85/245/43
f 87/220/44 127/240/44 90/246/44
f 92/226/45 129/242/45 95/247/45
f 97/235/46 122/200/46 100/248/46
f 83/232/47 84/249/47 131/250/47
f 131/250/48 114/233/48 83/232/48
f 88/229/49 89/251/49 126/252/49
f 126/252/50 116/230/50 88/229/50
f 93/214/51 94/203/51 128/253/51
f 128/253/52 110/215/52 93/214/52
f 98/223/53 99/254/53 130/255/53
f 130/255/54 112/224/54 98/223/54
f 124/256/29 123/257/29 133/258/29
f 121/259/29 120/260/29 134/261/29
f 135/262/29 136/263/29 137/264/29
f 118/265/29 138/266/29 125/267/29
f 99/254/36 139/268/36 133/269/36
f 131/212/34 140/270/34 134/271/34
f 132/238/12 134/272/12 120/273/12
f 128/208/5 125/274/5 138/275/5
f 84/249/37 121/276/37 140/277/37
f 100/171/33 124/278/33 139/279/33
f 127/240/6 136/280/6 135/281/6
f 89/160/32 90/161/32 135/282/32
f 89/251/38 141/283/38 137/284/38
f 130/210/32 133/285/32 123/286/32
f 126/206/33 137/287/33 136/288/33
f 129/242/28 138/289/28 118/290/28
f 49/291/1 1/1/1 3/3/1
f 55/292/1 4/4/1 1/1/1
f 9/9/1 5/5/1 7/7/1
f 64/293/1 8/8/1 9/9/1
f 14/14/1 10/10/1 12/12/1
f 51/294/1 13/13/1 14/14/1
f 19/19/1 15/15/1 17/17/1
f 57/295/1 18/18/1 19/19/1
f 21/21/1 6/6/1 5/5/1
f 5/5/1 8/8/1 61/296/1
f 61/296/1 11/11/1 10/10/1
f 10/10/1 13/13/1 20/20/1
f 20/20/1 16/16/1 15/15/1
f 15/15/1 18/18/1 59/297/1
f 59/297/1 3/3/1 2/2/1
f 2/2/1 4/4/1 21/21/1
f 21/21/1 5/5/1 61/296/1
f 61/296/1 10/10/1 20/20/1
f 20/20/1 15/15/1 59/297/1
f 59/297/1 2/2/1 20/20/1
f 21/21/1 61/296/1 20/20/1
f 58/80/2 22/22/2 24/24/2
f 67/298/3 25/25/3 27/27/3
f 53/74/4 28/28/4 30/30/4
f 48/72/5 31/31/5 33/33/5
f 68/299/6 34/34/6 36/36/6
f 50/69/7 37/37/7 39/39/7
f 65/98/8 40/40/8 42/42/8
f 46/64/9 30/43/9 43/45/9
f 23/300/10 22/46/10 45/48/10
f 6/301/11 21/49/11 25/51/11
f 3/302/12 47/52/12 49/54/12
f 16/303/13 20/55/13 34/57/13
f 13/304/14 51/58/14 37/60/14
f 55/305/15 1/61/15 53/62/15
f 21/306/9 4/63/9 46/64/9
f 14/307/16 54/65/16 51/67/16
f 20/308/7 13/68/7 50/69/7
f 68/299/6 17/70/6 34/34/6
f 49/309/17 48/72/17 1/61/17
f 4/310/4 55/73/4 30/30/4
f 14/307/18 12/75/18 54/65/18
f 67/298/3 7/77/3 25/25/3
f 18/311/2 57/79/2 58/80/2
f 3/312/19 59/81/19 47/83/19
f 11/313/20 61/84/20 63/86/20
f 22/46/21 57/87/21 44/47/21
f 59/314/22 18/89/22 60/91/22
f 8/315/23 64/92/23 66/94/23
f 9/97/24 7/95/24 40/40/24
f 64/316/25 9/97/25 65/98/25
f 61/317/26 8/99/26 62/101/26
f 19/88/27 17/102/27 44/47/27
f 11/318/28 63/104/28 12/106/28
f 70/110/29 32/107/29 69/109/29
f 28/319/29 32/107/29 29/111/29
f 71/115/29 41/112/29 26/114/29
f 42/320/29 41/112/29 72/116/29
f 77/121/29 73/117/29 75/119/29
f 38/321/29 76/120/29 75/119/29
f 45/125/29 36/122/29 78/124/29
f 23/322/29 45/125/29 24/126/29
f 71/115/29 26/114/29 43/323/29
f 43/323/29 29/111/29 71/115/29
f 70/110/29 69/109/29 78/124/29
f 79/324/29 24/126/29 78/124/29
f 78/124/29 35/123/29 39/325/29
f 39/325/29 38/321/29 78/124/29
f 75/119/29 74/118/29 71/115/29
f 80/326/29 72/116/29 71/115/29
f 71/115/29 29/111/29 70/110/29
f 69/109/29 79/324/29 78/124/29
f 78/124/29 38/321/29 75/119/29
f 74/118/29 80/326/29 71/115/29
f 71/115/29 70/110/29 75/119/29
f 47/83/19 60/82/19 69/128/19
f 54/65/30 77/129/30 52/66/30
f 63/86/20 62/85/20 74/132/20
f 33/33/31 32/32/31 53/62/31
f 60/91/22 58/90/22 79/135/22
f 72/327/23 66/94/23 42/136/23
f 45/48/32 44/47/32 36/137/32
f 62/101/26 66/100/26 80/139/26
f 40/40/33 67/96/33 41/41/33
f 63/104/28 74/141/28 56/105/28
f 25/51/11 46/50/11 26/144/11
f 47/52/12 69/145/12 48/53/12
f 56/76/34 73/147/34 54/65/34
f 34/57/13 50/56/13 35/149/13
f 52/59/14 76/150/14 37/60/14
f 142/328/31 81/152/31 83/154/31
f 143/329/10 86/157/10 88/159/10
f 107/330/30 91/162/30 93/164/30
f 144/331/8 96/167/8 98/169/8
f 143/332/1 101/172/1 86/174/1
f 142/333/1 103/175/1 81/177/1
f 144/334/1 105/178/1 96/180/1
f 91/335/1 107/181/1 109/183/1
f 109/336/31 108/184/31 111/186/31
f 105/337/10 112/187/10 106/189/10
f 103/338/30 114/190/30 104/192/30
f 101/339/8 116/193/8 102/195/8
f 94/165/34 95/166/34 119/197/34
f 84/155/5 85/156/5 121/199/5
f 100/248/3 122/200/3 124/202/3
f 128/253/35 94/203/35 125/205/35
f 107/340/14 93/214/14 108/216/14
f 115/239/35 82/217/35 104/219/35
f 117/241/36 87/220/36 102/222/36
f 144/341/23 98/223/23 105/225/23
f 111/243/37 92/226/37 109/228/37
f 143/342/2 88/229/2 101/231/2
f 142/343/4 83/232/4 103/234/4
f 113/244/38 97/235/38 106/237/38
f 139/344/29 124/256/29 133/258/29
f 140/345/29 121/259/29 134/261/29
f 141/346/29 135/262/29 137/264/29
f 119/347/29 118/265/29 125/267/29
f 130/255/36 99/254/36 133/269/36
f 132/213/34 131/212/34 134/271/34
f 85/245/12 132/238/12 120/273/12
f 129/209/5 128/208/5 138/275/5
f 131/250/37 84/249/37 140/277/37
f 99/170/33 100/171/33 139/279/33
f 90/246/6 127/240/6 135/281/6
f 141/348/32 89/160/32 135/282/32
f 126/252/38 89/251/38 137/284/38
f 122/211/32 130/210/32 123/286/32
f 127/207/33 126/206/33 136/288/33
f 95/247/28 129/242/28 118/290/28

View File

@ -1,794 +0,0 @@
# Blender v2.76 (sub 0) OBJ File: 'MissileNuclear.blend'
# www.blender.org
o Cylinder
v -0.073159 0.500000 -0.367794
v 0.073159 0.500000 -0.367794
v 0.097545 0.000000 -0.490393
v 0.208339 0.500000 -0.311801
v 0.277785 0.000000 -0.415735
v 0.311801 0.500000 -0.208339
v 0.415735 0.000000 -0.277785
v 0.367794 0.500000 -0.073159
v 0.490393 0.000000 -0.097545
v 0.367794 0.500000 0.073159
v 0.490393 -0.000000 0.097545
v 0.311801 0.500000 0.208339
v 0.415735 -0.000000 0.277785
v 0.208339 0.500000 0.311801
v 0.277785 -0.000000 0.415735
v 0.073159 0.500000 0.367794
v 0.097545 -0.000000 0.490393
v -0.073159 0.500000 0.367794
v -0.097545 -0.000000 0.490393
v -0.208339 0.500000 0.311801
v -0.277785 -0.000000 0.415735
v -0.311801 0.500000 0.208339
v -0.415735 -0.000000 0.277785
v -0.367794 0.500000 0.073159
v -0.490393 -0.000000 0.097545
v -0.367794 0.500000 -0.073159
v -0.311801 0.500000 -0.208339
v -0.415735 0.000000 -0.277785
v 0.097545 0.500000 -0.490393
v -0.208339 0.500000 -0.311801
v -0.097545 0.000000 -0.490393
v -0.277785 0.000000 -0.415735
v -0.490393 0.500000 0.097545
v -0.490393 0.500000 -0.097545
v 0.490393 0.500000 -0.097545
v 0.490393 0.500000 0.097545
v -0.277785 0.500000 -0.415735
v -0.097545 0.500000 -0.490393
v 0.277785 0.500000 0.415735
v 0.097545 0.500000 0.490393
v -0.277785 0.500000 0.415735
v 0.277785 0.500000 -0.415735
v -0.415735 0.500000 -0.277785
v 0.415735 0.500000 0.277785
v -0.097545 0.500000 0.490393
v -0.415735 0.500000 0.277785
v 0.415735 0.500000 -0.277785
v 0.277785 3.500000 -0.415735
v 0.260424 4.500000 -0.389751
v 0.389751 4.500000 -0.260424
v 0.459743 4.500000 -0.091449
v 0.353374 5.000000 -0.236117
v -0.490393 3.500000 -0.097545
v -0.459744 4.500000 -0.091449
v -0.389751 4.500000 -0.260424
v -0.097545 3.500000 -0.490393
v -0.091449 4.500000 -0.459742
v 0.091449 4.500000 -0.459742
v -0.490393 3.500000 0.097545
v -0.415735 3.500000 0.277785
v -0.389751 4.500000 0.260424
v -0.097545 3.500000 0.490393
v -0.091449 4.500000 0.459744
v -0.260424 4.500000 0.389751
v 0.277785 3.500000 0.415735
v 0.260424 4.500000 0.389751
v 0.091449 4.500000 0.459743
v 0.490393 3.500000 0.097545
v 0.459743 4.500000 0.091449
v 0.389751 4.500000 0.260424
v 0.490393 3.500000 -0.097545
v 0.415735 3.500000 -0.277785
v -0.277785 3.500000 -0.415735
v -0.415735 3.500000 -0.277785
v 0.097545 3.500000 -0.490393
v -0.459744 4.500000 0.091449
v -0.277785 3.500000 0.415735
v 0.097545 3.500000 0.490393
v 0.415735 3.500000 0.277785
v -0.260424 4.500000 -0.389751
v 0.416833 5.000000 -0.082913
v 0.245196 5.500000 -0.048772
v 0.245196 5.500000 0.048773
v -0.353375 5.000000 -0.236117
v 0.082913 5.000000 -0.416834
v -0.416834 5.000000 0.082913
v -0.236117 5.000000 0.353375
v -0.353375 5.000000 0.236117
v 0.082913 5.000000 0.416834
v -0.082913 5.000000 0.416834
v 0.353374 5.000000 0.236117
v 0.236117 5.000000 0.353375
v 0.416833 5.000000 0.082913
v -0.236117 5.000000 -0.353375
v 0.236117 5.000000 -0.353375
v -0.416834 5.000000 -0.082913
v -0.082914 5.000000 -0.416834
v -0.138893 5.500000 -0.207867
v -0.048773 5.500000 -0.245196
v 0.138892 5.500000 -0.207867
v 0.207867 5.500000 -0.138892
v -0.245197 5.500000 -0.048772
v -0.207868 5.500000 -0.138892
v 0.048772 5.500000 -0.245196
v -0.207868 5.500000 0.138893
v -0.245197 5.500000 0.048773
v -0.048773 5.500000 0.245197
v -0.138893 5.500000 0.207868
v 0.138892 5.500000 0.207868
v 0.048772 5.500000 0.245197
v 0.207867 5.500000 0.138893
v 0.000000 5.750000 0.000000
v 0.048772 1.500000 1.240393
v 0.048772 0.500000 1.240393
v 0.048773 3.500000 0.490393
v 0.048772 0.500000 0.490393
v -0.048773 0.500000 0.490393
v -0.048773 0.500000 1.240393
v -0.048772 3.500000 0.490393
v 1.240393 0.500000 -0.048772
v 1.240393 0.500000 0.048773
v 0.490393 0.500000 0.048773
v 0.490393 0.500000 -0.048772
v -0.048772 3.500000 -0.490393
v 0.048773 3.500000 -0.490393
v -0.048772 1.500000 -1.240393
v -0.490393 0.500000 -0.048772
v -0.490393 0.500000 0.048772
v -1.240393 0.500000 -0.048773
v -1.240393 0.500000 0.048772
v -0.490393 3.500000 0.048772
v -0.048773 1.500000 1.240393
v 0.048773 1.500000 -1.240393
v -0.048772 0.500000 -1.240393
v -1.240393 1.500000 -0.048773
v -0.490393 3.500000 -0.048773
v -1.240393 1.500000 0.048772
v 0.048773 0.500000 -1.240393
v 0.490393 3.500000 0.048773
v 1.240393 1.500000 0.048773
v 1.240393 1.500000 -0.048772
v -0.490393 0.000000 -0.097545
v 0.048773 0.500000 -0.490393
v -0.048772 0.500000 -0.490393
v 0.490393 3.500000 -0.048772
vt 0.053190 0.141950
vt 0.047633 0.125797
vt 0.103538 0.103554
vt 0.040574 0.110242
vt 0.094127 0.082814
vt 0.032077 0.095424
vt 0.082797 0.063057
vt 0.022216 0.081476
vt 0.069650 0.044459
vt 0.011082 0.068522
vt 0.054804 0.027187
vt 0.011082 0.316533
vt 0.022216 0.303579
vt 0.069650 0.340596
vt 0.032077 0.289631
vt 0.082797 0.321998
vt 0.040574 0.274813
vt 0.094127 0.302241
vt 0.047633 0.259258
vt 0.103538 0.281501
vt 0.053190 0.243105
vt 0.110948 0.259964
vt 0.057195 0.226500
vt 0.116288 0.237824
vt 0.059612 0.209590
vt 0.119511 0.215277
vt 0.060420 0.192527
vt 0.059612 0.175465
vt 0.119511 0.169778
vt 0.679575 0.027188
vt 0.696657 0.027188
vt 0.699504 0.041501
vt 0.057195 0.158555
vt 0.110948 0.125091
vt 0.116288 0.147231
vt 0.867028 0.797659
vt 0.883133 0.716696
vt 0.947992 0.813764
vt 0.810535 0.027188
vt 0.813382 0.041500
vt 0.790607 0.041500
vt 0.628329 0.027189
vt 0.631176 0.041502
vt 0.608401 0.041502
vt 0.742208 0.027188
vt 0.745055 0.041501
vt 0.722279 0.041501
vt 0.702351 0.027188
vt 0.719432 0.027188
vt 0.924414 0.027187
vt 0.927261 0.041500
vt 0.904485 0.041500
vt 0.839005 0.027187
vt 0.856087 0.027187
vt 0.858934 0.041500
vt 0.656799 0.027189
vt 0.673881 0.027189
vt 0.676728 0.041501
vt 0.787760 0.027188
vt 0.767831 0.041501
vt 0.969966 0.027187
vt 0.972813 0.041500
vt 0.950037 0.041500
vt 0.901638 0.027187
vt 0.881710 0.041500
vt 0.833311 0.027187
vt 0.836158 0.041500
vt 0.634023 0.027189
vt 0.651105 0.027189
vt 0.653952 0.041501
vt 0.764984 0.027188
vt 0.947190 0.027187
vt 0.861781 0.027187
vt 0.878863 0.027187
vt 0.676732 0.391730
vt 0.676021 0.508528
vt 0.654669 0.508529
vt 0.631894 0.508529
vt 0.653246 0.508529
vt 0.652250 0.567115
vt 0.790609 0.391729
vt 0.789898 0.508527
vt 0.768546 0.508528
vt 0.722282 0.391730
vt 0.721572 0.508527
vt 0.700220 0.508527
vt 0.813384 0.391729
vt 0.836160 0.391729
vt 0.835449 0.508527
vt 0.881711 0.391729
vt 0.880999 0.508527
vt 0.859647 0.508527
vt 0.927261 0.391729
vt 0.926550 0.508527
vt 0.905198 0.508527
vt 0.972812 0.391729
vt 0.972100 0.508527
vt 0.950749 0.508527
vt 0.631181 0.391731
vt 0.653956 0.391731
vt 0.745058 0.391730
vt 0.767833 0.391730
vt 0.767122 0.508528
vt 0.699507 0.391730
vt 0.698796 0.508528
vt 0.812673 0.508527
vt 0.791321 0.508527
vt 0.858935 0.391729
vt 0.858224 0.508527
vt 0.904486 0.391729
vt 0.903775 0.508526
vt 0.882423 0.508526
vt 0.950037 0.391729
vt 0.949325 0.508527
vt 0.630471 0.508528
vt 0.609119 0.508528
vt 0.744347 0.508528
vt 0.722995 0.508528
vt 0.629475 0.567114
vt 0.625490 0.628829
vt 0.614102 0.628829
vt 0.745770 0.508528
vt 0.766126 0.567114
vt 0.677444 0.508528
vt 0.697801 0.567114
vt 0.811677 0.567113
vt 0.857228 0.567113
vt 0.837869 0.567113
vt 0.902778 0.567112
vt 0.883419 0.567112
vt 0.948329 0.567113
vt 0.928970 0.567113
vt 0.610116 0.567114
vt 0.743351 0.567114
vt 0.675025 0.567114
vt 0.788902 0.567114
vt 0.720576 0.567113
vt 0.834453 0.567113
vt 0.815093 0.567114
vt 0.880003 0.567113
vt 0.860644 0.567113
vt 0.925553 0.567113
vt 0.906194 0.567113
vt 0.971104 0.567113
vt 0.951745 0.567113
vt 0.739366 0.628829
vt 0.727978 0.628829
vt 0.671040 0.628829
vt 0.659653 0.628829
vt 0.784916 0.628829
vt 0.773529 0.628829
vt 0.716591 0.628828
vt 0.705203 0.628828
vt 0.830467 0.628828
vt 0.819080 0.628828
vt 0.876018 0.628828
vt 0.864630 0.628828
vt 0.921568 0.628828
vt 0.910180 0.628828
vt 0.967119 0.628828
vt 0.955731 0.628828
vt 0.632891 0.567115
vt 0.648265 0.628830
vt 0.762141 0.628829
vt 0.750753 0.628829
vt 0.693816 0.628829
vt 0.682428 0.628829
vt 0.807692 0.628828
vt 0.796304 0.628828
vt 0.853242 0.628828
vt 0.841855 0.628828
vt 0.898793 0.628826
vt 0.887405 0.628826
vt 0.944343 0.628828
vt 0.932955 0.628828
vt 0.779223 0.669709
vt 0.756447 0.669709
vt 0.733672 0.669709
vt 0.824774 0.669709
vt 0.710897 0.669708
vt 0.688122 0.669709
vt 0.665347 0.669710
vt 0.642572 0.669711
vt 0.636877 0.628830
vt 0.619797 0.669709
vt 0.961425 0.669709
vt 0.938649 0.669708
vt 0.915874 0.669708
vt 0.893099 0.669707
vt 0.870324 0.669709
vt 0.847549 0.669708
vt 0.801998 0.669709
vt 0.257803 0.231487
vt 0.257803 0.114744
vt 0.345360 0.464974
vt 0.345360 0.114744
vt 0.158858 0.114744
vt 0.246415 0.114744
vt 0.158858 0.464974
vt 0.482575 0.114744
vt 0.471187 0.114744
vt 0.471187 0.027187
vt 0.482575 0.027187
vt 0.257803 0.972808
vt 0.246415 0.972808
vt 0.257803 0.723435
vt 0.471187 0.519135
vt 0.482575 0.519136
vt 0.471187 0.606692
vt 0.482575 0.606692
vt 0.570132 0.606692
vt 0.570132 0.956921
vt 0.246415 0.231487
vt 0.246415 0.723435
vt 0.257802 0.606692
vt 0.471187 0.723435
vt 0.383629 0.956921
vt 0.482575 0.723435
vt 0.246415 0.606692
vt 0.383630 0.606692
vt 0.471187 0.480867
vt 0.471187 0.231487
vt 0.482575 0.231487
vt 0.054804 0.357868
vt 0.120589 0.192527
vt 0.964097 0.732800
vt 0.972813 0.753842
vt 0.972813 0.776617
vt 0.964097 0.797659
vt 0.904175 0.822480
vt 0.926950 0.822480
vt 0.883133 0.813764
vt 0.611247 0.027189
vt 0.858313 0.776618
vt 0.867028 0.732800
vt 0.904175 0.707980
vt 0.926951 0.707980
vt 0.947992 0.716696
vt 0.858313 0.753842
vt 0.793454 0.027188
vt 0.725126 0.027188
vt 0.907332 0.027187
vt 0.770678 0.027188
vt 0.952884 0.027187
vt 0.884557 0.027187
vt 0.816229 0.027187
vt 0.747902 0.027188
vt 0.930108 0.027187
vt 0.814097 0.508527
vt 0.836872 0.508527
vt 0.927973 0.508527
vt 0.608405 0.391731
vt 0.746767 0.567114
vt 0.678442 0.567114
vt 0.792318 0.567113
vt 0.723992 0.567114
vt 0.655666 0.567115
vt 0.769543 0.567114
vt 0.701217 0.567113
vt 0.334698 0.468972
vt 0.246415 0.480866
vt 0.158857 0.606693
vt 0.158858 0.956922
vt 0.345360 0.956921
vt 0.471187 0.972813
vt 0.383629 0.464973
vt 0.345360 0.606692
vt 0.257802 0.519135
vt 0.482575 0.972813
vt 0.383630 0.114744
vt 0.246415 0.519135
vt 0.257803 0.027187
vt 0.246415 0.027187
vt 0.570132 0.114744
vt 0.570132 0.464973
vt 0.482575 0.480867
vn 0.000000 0.238100 -0.971200
vn 0.371700 0.238100 -0.897300
vn 0.686800 0.238100 -0.686800
vn 0.897300 0.238100 -0.371700
vn 0.971200 0.238100 0.000000
vn 0.897300 0.238100 0.371700
vn 0.686800 0.238100 0.686800
vn 0.371700 0.238100 0.897300
vn 0.000000 0.238100 0.971200
vn -0.371700 0.238100 0.897300
vn -0.686800 0.238100 0.686800
vn -0.897300 0.238100 0.371700
vn -0.971200 0.238100 0.000000
vn -0.897300 0.238100 -0.371700
vn 0.000000 -1.000000 -0.000000
vn 0.000000 -0.868200 -0.496100
vn -0.371700 0.238100 -0.897300
vn -0.686800 0.238100 -0.686800
vn -0.496100 -0.868200 0.000000
vn 0.496100 -0.868200 0.000000
vn 0.000000 -0.868200 0.496100
vn 0.706800 0.030600 -0.706800
vn 0.920500 0.085500 -0.381300
vn -0.923400 0.030600 -0.382500
vn 0.000000 0.030600 -0.999500
vn -0.923400 0.030600 0.382500
vn -0.382500 0.030600 0.923400
vn 0.382500 0.030600 0.923400
vn 0.923400 0.030600 0.382500
vn 0.923400 0.030600 -0.382500
vn -0.706800 0.030600 -0.706800
vn 0.382500 0.030600 -0.923400
vn -0.999500 0.030600 0.000000
vn -0.706800 0.030600 0.706800
vn 0.000000 0.030600 0.999500
vn 0.706800 0.030600 0.706800
vn 0.999500 0.030600 0.000000
vn -0.382500 0.030600 -0.923400
vn 0.945800 0.324700 0.000000
vn -0.704500 0.085500 -0.704500
vn 0.381300 0.085500 -0.920500
vn -0.996300 0.085500 0.000000
vn -0.704500 0.085500 0.704500
vn 0.000000 0.085500 0.996300
vn 0.704500 0.085500 0.704500
vn 0.996300 0.085500 0.000000
vn -0.381300 0.085500 -0.920500
vn 0.704500 0.085500 -0.704500
vn -0.920500 0.085500 -0.381300
vn 0.000000 0.085500 -0.996300
vn -0.920500 0.085500 0.381300
vn -0.381300 0.085500 0.920500
vn 0.381300 0.085500 0.920500
vn 0.920500 0.085500 0.381300
vn -0.362000 0.324700 -0.873800
vn 0.668800 0.324700 -0.668800
vn -0.873800 0.324700 -0.362000
vn 0.000000 0.324700 -0.945800
vn -0.873800 0.324700 0.362000
vn -0.362000 0.324700 0.873800
vn 0.362000 0.324700 0.873800
vn 0.873800 0.324700 0.362000
vn 0.873800 0.324700 0.361900
vn 0.873800 0.324700 -0.362000
vn -0.668800 0.324700 -0.668800
vn 0.362000 0.324700 -0.873800
vn -0.945800 0.324700 0.000000
vn -0.668800 0.324700 0.668800
vn 0.000000 0.324700 0.945800
vn 0.668800 0.324700 0.668800
vn -0.659600 0.700200 -0.273200
vn -0.504800 0.700200 -0.504800
vn -0.273200 0.700200 -0.659600
vn -0.659600 0.700200 0.273200
vn 0.000000 0.700200 -0.713900
vn 0.273200 0.700200 -0.659600
vn 0.504800 0.700200 -0.504800
vn 0.659600 0.700200 -0.273200
vn 0.713900 0.700200 0.000000
vn 0.659600 0.700200 0.273200
vn 0.504800 0.700200 0.504800
vn 0.273200 0.700200 0.659600
vn 0.000000 0.700200 0.713900
vn -0.273200 0.700200 0.659600
vn -0.504800 0.700200 0.504800
vn -0.713900 0.700200 0.000000
vn 0.000000 -0.000000 1.000000
vn 1.000000 0.000000 0.000000
vn -1.000000 0.000000 0.000000
vn 0.000000 0.351100 -0.936300
vn 0.000000 0.000000 -1.000000
vn 0.936300 0.351100 0.000000
vn 0.923900 0.000000 -0.382700
vn 0.382700 0.000000 -0.923900
vn 0.707100 0.000000 -0.707100
vn -0.382700 0.000000 -0.923900
vn -0.923900 0.000000 -0.382700
vn -0.707100 0.000000 -0.707100
vn -0.923900 -0.000000 0.382700
vn -0.382700 -0.000000 0.923900
vn -0.707100 -0.000000 0.707100
vn 0.382700 -0.000000 0.923900
vn 0.923900 -0.000000 0.382700
vn 0.707100 -0.000000 0.707100
vn 0.873800 0.324700 -0.361900
vn 0.000000 0.351100 0.936300
vn -0.936300 0.351100 0.000000
s 1
f 1/1/1 2/2/1 3/3/1
f 2/2/2 4/4/2 5/5/2
f 4/4/3 6/6/3 7/7/3
f 6/6/4 8/8/4 9/9/4
f 8/8/5 10/10/5 11/11/5
f 10/12/6 12/13/6 13/14/6
f 12/13/7 14/15/7 15/16/7
f 14/15/8 16/17/8 17/18/8
f 16/17/9 18/19/9 19/20/9
f 18/19/10 20/21/10 21/22/10
f 20/21/11 22/23/11 23/24/11
f 23/24/12 22/23/12 24/25/12
f 25/26/13 24/25/13 26/27/13
f 26/27/14 27/28/14 28/29/14
f 4/30/15 2/31/15 29/32/16
f 30/33/17 1/1/17 31/34/17
f 27/28/18 30/33/18 32/35/18
f 15/36/15 23/37/15 7/38/15
f 24/39/15 33/40/19 34/41/19
f 8/42/15 35/43/20 36/44/20
f 30/45/15 37/46/15 38/47/16
f 2/48/15 1/49/15 38/47/16
f 14/50/15 39/51/15 40/52/21
f 22/53/15 20/54/15 41/55/15
f 6/56/15 4/57/15 42/58/15
f 26/59/15 34/41/19 43/60/15
f 10/61/15 36/62/20 44/63/15
f 16/64/15 40/52/21 45/65/21
f 22/66/15 46/67/15 33/40/19
f 8/68/15 6/69/15 47/70/15
f 27/71/15 43/60/15 37/46/15
f 12/72/15 44/63/15 39/51/15
f 20/73/15 18/74/15 45/65/21
f 48/75/22 49/76/22 50/77/22
f 51/78/23 50/79/23 52/80/23
f 53/81/24 54/82/24 55/83/24
f 56/84/25 57/85/25 58/86/25
f 59/87/26 60/88/26 61/89/26
f 62/90/27 63/91/27 64/92/27
f 65/93/28 66/94/28 67/95/28
f 68/96/29 69/97/29 70/98/29
f 71/99/30 72/100/30 50/79/30
f 73/101/31 74/102/31 55/103/31
f 48/75/32 75/104/32 58/105/32
f 59/87/33 76/106/33 54/107/33
f 60/88/34 77/108/34 64/109/34
f 78/110/35 67/111/35 63/112/35
f 65/93/36 79/113/36 70/114/36
f 71/99/37 51/115/37 69/116/37
f 73/101/38 80/117/38 57/118/38
f 81/119/39 82/120/39 83/121/39
f 80/122/40 55/103/40 84/123/40
f 49/124/41 58/105/41 85/125/41
f 54/107/42 76/106/42 86/126/42
f 64/109/43 87/127/43 88/128/43
f 67/111/44 89/129/44 90/130/44
f 70/114/45 91/131/45 92/132/45
f 51/115/46 81/119/46 93/133/46
f 57/118/47 80/117/47 94/134/47
f 50/77/48 49/76/48 95/135/48
f 55/83/49 54/82/49 96/136/49
f 58/86/50 57/85/50 97/137/50
f 61/89/51 88/138/51 86/139/51
f 63/91/52 90/140/52 87/141/52
f 66/94/53 92/142/53 89/143/53
f 69/97/54 93/144/54 91/145/54
f 94/134/55 98/146/55 99/147/55
f 95/135/56 100/148/56 101/149/56
f 96/136/57 102/150/57 103/151/57
f 97/137/58 99/152/58 104/153/58
f 88/138/59 105/154/59 106/155/59
f 90/140/60 107/156/60 108/157/60
f 92/142/61 109/158/61 110/159/61
f 93/144/62 83/160/63 111/161/62
f 81/162/64 52/80/64 101/163/64
f 84/123/65 103/164/65 98/165/65
f 85/125/66 104/166/66 100/167/66
f 86/126/67 106/168/67 102/169/67
f 87/127/68 108/170/68 105/171/68
f 89/129/69 110/172/69 107/173/69
f 91/131/70 111/174/70 109/175/70
f 102/150/71 112/176/71 103/151/71
f 103/164/72 112/177/72 98/165/72
f 98/146/73 112/178/73 99/147/73
f 105/154/74 112/179/74 106/155/74
f 99/152/75 112/180/75 104/153/75
f 104/166/76 112/181/76 100/167/76
f 100/148/77 112/182/77 101/149/77
f 101/163/78 112/183/78 82/184/78
f 82/120/79 112/185/79 83/121/79
f 83/160/80 112/186/80 111/161/80
f 111/174/81 112/187/81 109/175/81
f 109/158/82 112/188/82 110/159/82
f 110/172/83 112/189/83 107/173/83
f 107/156/84 112/190/84 108/157/84
f 108/170/85 112/191/85 105/171/85
f 102/169/86 106/168/86 112/192/86
f 45/65/21 40/52/21 78/110/87
f 113/193/88 114/194/88 115/195/88
f 114/194/88 116/196/88 115/195/88
f 117/197/89 118/198/89 119/199/89
f 120/200/15 121/201/15 122/202/15
f 123/203/15 120/200/15 122/202/15
f 124/204/90 125/205/90 126/206/90
f 127/207/15 128/208/15 129/209/15
f 128/208/15 130/210/15 129/209/15
f 130/210/87 128/211/87 131/212/87
f 118/198/89 132/213/89 119/199/89
f 125/205/90 133/214/90 126/206/90
f 134/215/91 126/206/91 133/214/91
f 129/209/91 135/216/91 136/217/91
f 137/218/87 130/210/87 131/212/87
f 138/219/91 134/215/91 133/214/91
f 118/198/87 114/194/87 132/213/87
f 127/220/91 129/209/91 136/217/91
f 114/194/87 113/193/87 132/213/87
f 139/221/92 140/222/92 141/223/92
f 72/100/93 71/99/93 35/43/93
f 75/104/94 48/75/94 42/58/94
f 48/75/95 72/100/95 47/70/95
f 73/101/96 56/84/96 38/47/96
f 53/81/97 74/102/97 43/60/97
f 74/102/98 73/101/98 37/46/98
f 60/88/99 59/87/99 33/40/99
f 62/90/100 77/108/100 41/55/100
f 77/108/101 60/88/101 46/67/101
f 65/93/102 78/110/102 40/52/102
f 68/96/103 79/113/103 44/63/103
f 79/113/104 65/93/104 39/51/104
f 31/34/1 1/1/1 3/3/1
f 3/3/2 2/2/2 5/5/2
f 5/5/3 4/4/3 7/7/3
f 7/7/4 6/6/4 9/9/4
f 9/9/5 8/8/5 11/11/5
f 11/224/6 10/12/6 13/14/6
f 13/14/7 12/13/7 15/16/7
f 15/16/8 14/15/8 17/18/8
f 17/18/9 16/17/9 19/20/9
f 19/20/10 18/19/10 21/22/10
f 21/22/11 20/21/11 23/24/11
f 25/26/12 23/24/12 24/25/12
f 142/225/13 25/26/13 26/27/13
f 142/225/14 26/27/14 28/29/14
f 42/58/15 4/30/15 29/32/16
f 32/35/17 30/33/17 31/34/17
f 28/29/18 27/28/18 32/35/18
f 32/226/15 31/227/15 3/228/15
f 3/228/15 5/229/15 7/38/15
f 11/230/15 15/36/15 9/231/15
f 11/230/15 13/232/15 15/36/15
f 10/233/15 8/42/15 36/44/20
f 23/37/15 17/234/15 21/235/15
f 23/37/15 25/236/15 142/237/15
f 142/237/15 28/238/15 32/226/15
f 23/37/15 142/237/15 7/38/15
f 23/37/15 15/36/15 17/234/15
f 17/234/15 19/239/15 21/235/15
f 32/226/15 3/228/15 142/237/15
f 26/240/15 24/39/15 34/41/19
f 142/237/15 3/228/15 7/38/15
f 15/36/15 7/38/15 9/231/15
f 1/241/15 30/45/15 38/47/16
f 29/32/16 2/48/15 38/47/16
f 16/242/15 14/50/15 40/52/21
f 46/67/15 22/53/15 41/55/15
f 47/70/15 6/56/15 42/58/15
f 27/243/15 26/59/15 43/60/15
f 12/244/15 10/61/15 44/63/15
f 18/245/15 16/64/15 45/65/21
f 24/246/15 22/66/15 33/40/19
f 35/43/20 8/68/15 47/70/15
f 30/247/15 27/71/15 37/46/15
f 14/248/15 12/72/15 39/51/15
f 41/55/15 20/73/15 45/65/21
f 72/100/22 48/75/22 50/77/22
f 81/162/23 51/78/23 52/80/23
f 74/102/24 53/81/24 55/83/24
f 75/104/25 56/84/25 58/86/25
f 76/249/26 59/87/26 61/89/26
f 77/108/27 62/90/27 64/92/27
f 78/110/28 65/93/28 67/95/28
f 79/113/29 68/96/29 70/98/29
f 51/78/30 71/99/30 50/79/30
f 80/122/31 73/101/31 55/103/31
f 49/124/32 48/75/32 58/105/32
f 53/81/33 59/87/33 54/107/33
f 61/250/34 60/88/34 64/109/34
f 62/90/35 78/110/35 63/112/35
f 66/251/36 65/93/36 70/114/36
f 68/252/37 71/99/37 69/116/37
f 56/84/38 73/101/38 57/118/38
f 93/133/39 81/119/39 83/121/39
f 94/253/40 80/122/40 84/123/40
f 95/254/41 49/124/41 85/125/41
f 96/255/42 54/107/42 86/126/42
f 61/250/43 64/109/43 88/128/43
f 63/112/44 67/111/44 90/130/44
f 66/251/45 70/114/45 92/132/45
f 69/116/46 51/115/46 93/133/46
f 97/256/47 57/118/47 94/134/47
f 52/257/48 50/77/48 95/135/48
f 84/258/49 55/83/49 96/136/49
f 85/259/50 58/86/50 97/137/50
f 76/249/51 61/89/51 86/139/51
f 64/92/52 63/91/52 87/141/52
f 67/95/53 66/94/53 89/143/53
f 70/98/54 69/97/54 91/145/54
f 97/256/55 94/134/55 99/147/55
f 52/257/56 95/135/56 101/149/56
f 84/258/57 96/136/57 103/151/57
f 85/259/58 97/137/58 104/153/58
f 86/139/59 88/138/59 106/155/59
f 87/141/60 90/140/60 108/157/60
f 89/143/61 92/142/61 110/159/61
f 91/145/62 93/144/62 111/161/62
f 82/184/105 81/162/64 101/163/64
f 94/253/65 84/123/65 98/165/65
f 95/254/66 85/125/66 100/167/66
f 96/255/67 86/126/67 102/169/67
f 88/128/68 87/127/68 105/171/68
f 90/130/69 89/129/69 107/173/69
f 92/132/70 91/131/70 109/175/70
f 120/200/88 141/223/88 140/222/88
f 115/195/106 119/260/106 113/193/106
f 119/261/106 132/213/106 113/193/106
f 143/262/88 138/219/88 125/263/88
f 121/201/88 120/200/88 140/222/88
f 129/209/89 130/210/89 135/216/89
f 126/206/89 134/215/89 124/264/89
f 130/210/89 137/218/89 135/216/89
f 136/265/107 135/216/107 137/218/107
f 121/201/87 140/222/87 139/266/87
f 138/219/88 133/214/88 125/263/88
f 134/215/89 144/267/89 124/264/89
f 144/268/15 134/215/15 138/219/15
f 131/269/107 136/265/107 137/218/107
f 122/270/87 121/201/87 139/266/87
f 143/271/15 144/268/15 138/219/15
f 116/272/15 114/194/15 117/273/15
f 120/200/91 123/274/91 145/275/91
f 114/194/15 118/198/15 117/273/15
f 141/223/91 120/200/91 145/275/91
f 47/70/93 72/100/93 35/43/93
f 29/32/94 75/104/94 42/58/94
f 42/58/95 48/75/95 47/70/95
f 37/46/96 73/101/96 38/47/96
f 34/41/97 53/81/97 43/60/97
f 43/60/98 74/102/98 37/46/98
f 46/67/99 60/88/99 33/40/99
f 45/65/100 62/90/100 41/55/100
f 41/55/101 77/108/101 46/67/101
f 39/51/102 65/93/102 40/52/102
f 36/62/103 68/96/103 44/63/103
f 44/63/104 79/113/104 39/51/104
f 36/44/20 35/43/20 71/99/88
f 141/223/92 145/276/92 139/221/92
f 38/47/16 56/84/91 75/104/91
f 53/81/89 34/41/19 33/40/19
f 62/90/87 45/65/21 78/110/87
f 68/252/88 36/44/20 71/99/88
f 29/32/16 38/47/16 75/104/91
f 59/87/89 53/81/89 33/40/19

View File

@ -1,172 +0,0 @@
# Blender v2.76 (sub 0) OBJ File: 'missilePad.blend'
# www.blender.org
o Cube_Cube.001
v -1.500000 1.000000 1.500000
v -1.500000 1.000000 -1.500000
v 1.500000 1.000000 1.500000
v 1.500000 1.000000 -1.500000
v -1.500000 0.500000 -0.500000
v -1.500000 0.500000 0.500000
v 0.500000 0.500000 -1.500000
v -0.500000 0.500000 -1.500000
v 1.500000 0.500000 0.500000
v 1.500000 0.500000 -0.500000
v -0.500000 0.500000 1.500000
v 0.500000 0.500000 1.500000
v -0.500000 0.500000 0.500000
v 0.500000 0.500000 0.500000
v -0.500000 0.500000 -0.500000
v 0.500000 0.500000 -0.500000
v -1.750000 0.000000 1.750000
v -1.750000 0.000000 -1.750000
v 1.750000 0.000000 1.750000
v 1.750000 0.000000 -1.750000
v -1.750000 0.000000 -0.500000
v -1.750000 0.000000 0.500000
v 0.500000 0.000000 -1.750000
v -0.500000 0.000000 -1.750000
v 1.750000 0.000000 0.500000
v 1.750000 0.000000 -0.500000
v -0.500000 0.000000 1.750000
v 0.500000 0.000000 1.750000
v -0.500000 0.000000 0.500000
v 0.500000 0.000000 0.500000
v -0.500000 0.000000 -0.500000
v 0.500000 0.000000 -0.500000
v -1.500000 0.500000 -1.500000
v 1.500000 0.500000 -1.500000
v -1.500000 0.500000 1.500000
v 1.500000 0.500000 1.500000
v -0.500000 1.000000 0.500000
v 0.500000 1.000000 0.500000
v -0.500000 1.000000 -0.500000
v 0.500000 1.000000 -0.500000
vt 0.020000 0.530000
vt 0.180000 0.370000
vt 0.340000 0.370000
vt 0.740000 0.060000
vt 0.740000 0.220000
vt 0.580000 0.220000
vt 0.580000 0.060000
vt 0.180000 0.210000
vt 0.020000 0.660000
vt 0.180000 0.580000
vt 0.340000 0.580000
vt 0.930000 0.710000
vt 0.930000 0.870000
vt 0.850000 0.870000
vt 0.690000 0.950000
vt 0.650000 0.870000
vt 0.650000 0.670000
vt 0.850000 0.670000
vt 0.690000 0.580000
vt 0.560000 0.870000
vt 0.560000 0.710000
vt 0.500000 0.660000
vt 0.850000 0.580000
vt 0.500000 0.530000
vt 0.340000 0.210000
vt 0.740000 0.300000
vt 0.580000 0.300000
vt 0.020000 0.050000
vt 0.740000 0.360000
vt 0.740000 0.520000
vt 0.580000 0.520000
vt 0.500000 0.580000
vt 0.020000 0.580000
vt 0.850000 0.950000
vt 0.500000 0.050000
vt 0.580000 0.360000
vn 0.000000 1.000000 0.000000
vn 0.000000 -1.000000 0.000000
vn -1.000000 0.000000 0.000000
vn 1.000000 0.000000 0.000000
vn 0.000000 0.000000 1.000000
vn 0.000000 0.000000 -1.000000
vn 0.000000 0.447200 0.894400
vn 0.894400 0.447200 0.000000
vn 0.000000 0.447200 -0.894400
vn -0.894400 0.447200 0.000000
s off
f 2/1/1 39/2/1 40/3/1
f 5/4/2 15/5/2 13/6/2
f 13/5/2 14/6/2 12/7/2
f 16/6/2 10/7/2 9/4/2
f 8/7/2 7/4/2 16/5/2
f 37/8/1 39/2/1 2/1/1
f 2/9/3 5/10/3 6/11/3
f 12/12/3 14/13/3 30/14/3
f 7/15/3 23/16/3 32/14/3
f 10/11/4 3/9/4 9/10/4
f 10/12/5 16/13/5 32/14/5
f 23/16/2 20/17/2 26/18/2
f 30/14/2 25/16/2 19/17/2
f 22/18/2 29/14/2 27/16/2
f 18/17/2 24/18/2 31/14/2
f 9/15/6 25/16/6 30/14/6
f 29/14/6 22/18/6 6/12/6
f 11/15/4 27/16/4 29/14/4
f 31/14/4 24/18/4 8/12/4
f 5/15/5 21/16/5 31/14/5
f 28/18/7 19/17/7 36/19/7
f 25/16/8 9/20/8 36/21/8
f 2/22/6 4/9/6 7/10/6
f 26/18/8 20/17/8 34/19/8
f 34/21/9 20/17/9 23/16/9
f 1/9/5 11/10/5 12/11/5
f 33/19/9 8/23/9 24/18/9
f 21/16/10 5/20/10 33/21/10
f 35/19/10 6/23/10 22/18/10
f 27/16/7 11/20/7 35/21/7
f 4/24/1 40/3/1 38/25/1
f 40/26/5 39/27/5 15/6/5
f 38/26/3 40/27/3 16/6/3
f 15/5/4 39/26/4 37/27/4
f 13/5/6 37/26/6 38/27/6
f 38/25/1 37/8/1 1/28/1
f 38/29/1 40/30/1 39/31/1
f 4/24/1 2/1/1 40/3/1
f 6/7/2 5/4/2 13/6/2
f 11/4/2 13/5/2 12/7/2
f 14/5/2 16/6/2 9/4/2
f 15/6/2 8/7/2 16/5/2
f 1/28/1 37/8/1 2/1/1
f 6/11/3 35/32/3 1/22/3
f 1/22/3 2/9/3 6/11/3
f 33/33/3 5/10/3 2/9/3
f 28/18/3 12/12/3 30/14/3
f 16/34/3 7/15/3 32/14/3
f 36/33/4 9/10/4 3/9/4
f 10/11/4 34/32/4 4/22/4
f 4/22/4 3/9/4 10/11/4
f 26/18/5 10/12/5 32/14/5
f 32/14/2 23/16/2 26/18/2
f 28/18/2 30/14/2 19/17/2
f 17/17/2 22/18/2 27/16/2
f 21/16/2 18/17/2 31/14/2
f 14/34/6 9/15/6 30/14/6
f 13/13/6 29/14/6 6/12/6
f 13/34/4 11/15/4 29/14/4
f 15/13/4 31/14/4 8/12/4
f 15/34/5 5/15/5 31/14/5
f 12/23/7 28/18/7 36/19/7
f 19/17/8 25/16/8 36/21/8
f 7/10/6 8/11/6 2/22/6
f 33/32/6 2/22/6 8/11/6
f 4/9/6 34/33/6 7/10/6
f 10/23/8 26/18/8 34/19/8
f 7/20/9 34/21/9 23/16/9
f 12/11/5 36/32/5 3/22/5
f 3/22/5 1/9/5 12/11/5
f 35/33/5 11/10/5 1/9/5
f 18/17/9 33/19/9 24/18/9
f 18/17/10 21/16/10 33/21/10
f 17/17/10 35/19/10 22/18/10
f 17/17/7 27/16/7 35/21/7
f 3/35/1 4/24/1 38/25/1
f 16/5/5 40/26/5 15/6/5
f 14/5/3 38/26/3 16/6/3
f 13/6/4 15/5/4 37/27/4
f 14/6/6 13/5/6 38/27/6
f 3/35/1 38/25/1 1/28/1
f 37/36/1 38/29/1 39/31/1

View File

@ -1,586 +0,0 @@
# Blender v2.76 (sub 0) OBJ File: 'selenium_engine_body.blend'
# www.blender.org
o Cylinder_Cylinder.001
v 0.000000 1.350000 -0.175000
v 0.000000 1.350000 0.175000
v 0.175000 1.303109 -0.175000
v 0.175000 1.303109 0.175000
v 0.303109 1.175000 -0.175000
v 0.303109 1.175000 0.175000
v 0.350000 1.000000 -0.175000
v 0.350000 1.000000 0.175000
v 0.303109 0.825000 -0.175000
v 0.303109 0.825000 0.175000
v 0.175000 0.696891 -0.175000
v 0.175000 0.696891 0.175000
v 0.000000 0.650000 -0.175000
v 0.000000 0.650000 0.175000
v -0.175000 0.696891 -0.175000
v -0.175000 0.696891 0.175000
v -0.303109 0.825000 -0.175000
v -0.303109 0.825000 0.175000
v -0.350000 1.000000 -0.175000
v -0.350000 1.000000 0.175000
v -0.303109 1.175000 -0.175000
v -0.303109 1.175000 0.175000
v -0.175000 1.303109 -0.175000
v -0.175000 1.303109 0.175000
v -0.000000 1.210000 -0.175000
v 0.105000 1.181865 -0.175000
v 0.105000 1.181865 0.175000
v -0.000000 1.210000 0.175000
v 0.181865 1.105000 -0.175000
v 0.181865 1.105000 0.175000
v 0.210000 1.000000 -0.175000
v 0.210000 1.000000 0.175000
v 0.181865 0.895000 -0.175000
v 0.181865 0.895000 0.175000
v 0.105000 0.818135 -0.175000
v 0.105000 0.818135 0.175000
v 0.000000 0.790000 -0.175000
v 0.000000 0.790000 0.175000
v -0.105000 0.818135 -0.175000
v -0.105000 0.818135 0.175000
v -0.181865 0.895000 -0.175000
v -0.181865 0.895000 0.175000
v -0.210000 1.000000 -0.175000
v -0.210000 1.000000 0.175000
v -0.181865 1.105000 -0.175000
v -0.181865 1.105000 0.175000
v -0.105000 1.181865 -0.175000
v -0.105000 1.181865 0.175000
v 0.105000 1.181865 0.225000
v -0.000000 1.210000 0.225000
v -0.105000 1.181865 0.225000
v -0.181865 1.105000 0.225000
v -0.210000 1.000000 0.225000
v -0.181865 0.895000 0.225000
v -0.105000 0.818135 0.225000
v 0.000000 0.790000 0.225000
v 0.105000 0.818135 0.225000
v 0.181865 0.895000 0.225000
v 0.210000 1.000000 0.225000
v 0.181865 1.105000 0.225000
v -0.000000 1.210000 -0.225000
v 0.105000 1.181865 -0.225000
v 0.181865 1.105000 -0.225000
v 0.210000 1.000000 -0.225000
v 0.181865 0.895000 -0.225000
v 0.105000 0.818135 -0.225000
v 0.000000 0.790000 -0.225000
v -0.105000 0.818135 -0.225000
v -0.181865 0.895000 -0.225000
v -0.210000 1.000000 -0.225000
v -0.181865 1.105000 -0.225000
v -0.105000 1.181865 -0.225000
v -0.375000 0.000000 0.237500
v -0.250000 0.000000 0.237500
v 0.250000 0.000000 0.237500
v 0.375000 0.000000 0.237500
v -0.375000 0.000000 0.175000
v -0.250000 0.000000 0.175000
v 0.250000 0.000000 0.175000
v 0.375000 0.000000 0.175000
v -0.375000 0.000000 -0.175000
v -0.250000 0.000000 -0.175000
v 0.250000 0.000000 -0.175000
v 0.375000 0.000000 -0.175000
v -0.375000 0.000000 -0.237500
v -0.250000 0.000000 -0.237500
v 0.250000 0.000000 -0.237500
v 0.375000 0.000000 -0.237500
v 0.335000 1.000000 -0.237500
v 0.210000 1.000000 -0.237500
v -0.210000 1.000000 -0.237500
v -0.335000 1.000000 -0.237500
v 0.210000 1.040000 -0.175000
v 0.335000 1.040000 -0.175000
v -0.335000 1.030000 -0.175000
v -0.210000 1.030000 -0.175000
v 0.335000 1.030000 0.175000
v 0.210000 1.030000 0.175000
v -0.210000 1.030000 0.175000
v -0.335000 1.030000 0.175000
v 0.210000 1.000000 0.237500
v 0.335000 1.000000 0.237500
v -0.335000 1.000000 0.237500
v -0.210000 1.000000 0.237500
v -0.156250 0.000000 -0.156250
v -0.156250 0.000000 0.156250
v 0.156250 0.000000 -0.156250
v 0.156250 0.000000 0.156250
v -0.078125 0.156250 -0.078125
v -0.078125 0.156250 0.078125
v 0.078125 0.156250 0.078125
v 0.078125 0.156250 -0.078125
v -0.078125 0.706250 -0.078125
v -0.078125 0.706250 0.078125
v 0.078125 0.706250 0.078125
v 0.078125 0.706250 -0.078125
vt 0.377779 0.024108
vt 0.436724 0.024108
vt 0.436724 0.137981
vt 0.495669 0.024108
vt 0.495669 0.137981
vt 0.554615 0.024108
vt 0.554615 0.137981
vt 0.613560 0.024108
vt 0.613560 0.137981
vt 0.672505 0.024108
vt 0.672505 0.137981
vt 0.731450 0.024108
vt 0.731450 0.137981
vt 0.024108 0.024108
vt 0.083053 0.024108
vt 0.083053 0.137982
vt 0.141998 0.024108
vt 0.141998 0.137982
vt 0.200943 0.024108
vt 0.200944 0.137981
vt 0.259889 0.024108
vt 0.259889 0.137981
vt 0.163574 0.186198
vt 0.214622 0.215670
vt 0.182414 0.247878
vt 0.318834 0.024108
vt 0.377779 0.137981
vt 0.318834 0.137981
vt 0.104629 0.406184
vt 0.116418 0.362187
vt 0.151785 0.362187
vt 0.024108 0.325663
vt 0.068105 0.313874
vt 0.085789 0.344503
vt 0.482824 0.376711
vt 0.450616 0.344503
vt 0.468299 0.313874
vt 0.292310 0.266718
vt 0.336308 0.278507
vt 0.336308 0.313874
vt 0.244094 0.325663
vt 0.200097 0.313874
vt 0.200097 0.278507
vt 0.053581 0.215670
vt 0.085789 0.247878
vt 0.068105 0.278507
vt 0.512297 0.266718
vt 0.468299 0.278507
vt 0.450616 0.247878
vt 0.372831 0.406184
vt 0.321783 0.376711
vt 0.353991 0.344503
vt 0.431776 0.186198
vt 0.419987 0.230195
vt 0.384620 0.230195
vt 0.163574 0.406184
vt 0.182414 0.344503
vt 0.151785 0.230195
vt 0.116418 0.230195
vt 0.053581 0.376711
vt 0.431776 0.406184
vt 0.419987 0.362187
vt 0.321783 0.215670
vt 0.353991 0.247878
vt 0.244094 0.266718
vt 0.024108 0.266718
vt 0.512297 0.325663
vt 0.292310 0.325663
vt 0.214622 0.376711
vt 0.104629 0.186198
vt 0.482824 0.215670
vt 0.384620 0.362187
vt 0.372831 0.186198
vt 0.039821 0.878779
vt 0.176469 0.878779
vt 0.142307 0.937949
vt 0.073983 0.937949
vt 0.108145 0.947103
vt 0.103935 0.962816
vt 0.048975 0.912941
vt 0.062480 0.949452
vt 0.024108 0.882989
vt 0.033262 0.840407
vt 0.048975 0.844617
vt 0.062480 0.808106
vt 0.073983 0.819609
vt 0.103935 0.794742
vt 0.108145 0.810455
vt 0.142307 0.819609
vt 0.112356 0.794742
vt 0.167316 0.844617
vt 0.153810 0.808106
vt 0.183029 0.840407
vt 0.167316 0.912941
vt 0.192183 0.882989
vt 0.178819 0.924444
vt 0.146518 0.953663
vt 0.340346 0.943001
vt 0.274350 0.925318
vt 0.304978 0.811009
vt 0.370975 0.828693
vt 0.340346 0.811009
vt 0.348479 0.796921
vt 0.388658 0.859322
vt 0.385063 0.820559
vt 0.388658 0.894689
vt 0.404926 0.859322
vt 0.370975 0.925318
vt 0.402746 0.902823
vt 0.379108 0.939406
vt 0.304979 0.943001
vt 0.340346 0.959269
vt 0.296845 0.957089
vt 0.256666 0.894689
vt 0.260262 0.933451
vt 0.240399 0.859322
vt 0.256666 0.859322
vt 0.260262 0.820559
vt 0.274350 0.828693
vt 0.296845 0.796921
vt 0.304978 0.794742
vt 0.024108 0.684733
vt 0.025734 0.644096
vt 0.046052 0.644909
vt 0.444044 0.726997
vt 0.442418 0.686360
vt 0.462737 0.685548
vt 0.464321 0.515373
vt 0.465946 0.556010
vt 0.445628 0.556822
vt 0.046052 0.474734
vt 0.044426 0.515371
vt 0.024108 0.514558
vt 0.046003 0.746519
vt 0.044426 0.705880
vt 0.379792 0.705887
vt 0.465946 0.576344
vt 0.791559 0.556013
vt 0.464362 0.746519
vt 0.464362 0.726184
vt 0.789974 0.726188
vt 0.046052 0.624575
vt 0.381418 0.624575
vt 0.371665 0.644912
vt 0.465899 0.454400
vt 0.801265 0.454400
vt 0.799687 0.495039
vt 0.370039 0.685549
vt 0.464321 0.495038
vt 0.789934 0.515377
vt 0.044426 0.685546
vt 0.371664 0.474741
vt 0.370037 0.515377
vt 0.464315 0.624575
vt 0.799681 0.624575
vt 0.798103 0.665213
vt 0.044426 0.535705
vt 0.462737 0.665213
vt 0.788350 0.685551
vt 0.045987 0.576344
vt 0.383041 0.535719
vt 0.046053 0.454400
vt 0.384669 0.454400
vt 0.394160 0.516343
vt 0.814096 0.555112
vt 0.810887 0.684650
vt 0.812512 0.725286
vt 0.394203 0.645814
vt 0.392577 0.686451
vt 0.830946 0.331144
vt 0.830946 0.229471
vt 0.932619 0.229471
vt 0.932619 0.331143
vt 0.907200 0.387980
vt 0.856364 0.387980
vt 0.774109 0.305725
vt 0.774109 0.254889
vt 0.856364 0.172634
vt 0.907200 0.172634
vt 0.989455 0.254889
vt 0.989455 0.305725
vt 0.560513 0.237034
vt 0.739457 0.237034
vt 0.739457 0.287870
vt 0.560513 0.338707
vt 0.739457 0.338706
vt 0.739457 0.389543
vt 0.560513 0.186198
vt 0.739457 0.186198
vt 0.560513 0.287870
vt 0.024108 0.137982
vt 0.069773 0.953663
vt 0.037472 0.924444
vt 0.033262 0.917151
vt 0.024108 0.874569
vt 0.037472 0.833114
vt 0.069773 0.803895
vt 0.146518 0.803895
vt 0.178819 0.833114
vt 0.192183 0.874569
vt 0.183029 0.917151
vt 0.153810 0.949452
vt 0.112356 0.962816
vt 0.379108 0.814605
vt 0.402746 0.851188
vt 0.404926 0.894689
vt 0.385063 0.933451
vt 0.348479 0.957089
vt 0.304979 0.959269
vt 0.266216 0.939406
vt 0.242578 0.902823
vt 0.240399 0.894689
vt 0.242578 0.851188
vt 0.266216 0.814605
vt 0.340346 0.794742
vt 0.444003 0.516186
vt 0.025734 0.473921
vt 0.381369 0.746526
vt 0.801311 0.576351
vt 0.799727 0.746526
vt 0.384603 0.576359
vt 0.395787 0.475707
vt 0.812471 0.514475
vt 0.560513 0.389543
vn 0.258800 0.965900 0.000000
vn 0.707100 0.707100 0.000000
vn 0.965900 0.258800 0.000000
vn 0.965900 -0.258800 0.000000
vn 0.707100 -0.707100 0.000000
vn 0.258800 -0.965900 0.000000
vn -0.258800 -0.965900 0.000000
vn -0.707100 -0.707100 0.000000
vn -0.965900 -0.258800 0.000000
vn -0.965900 0.258800 0.000000
vn 0.000000 0.000000 1.000000
vn -0.258800 0.965900 0.000000
vn -0.707100 0.707100 0.000000
vn 0.000000 -0.000000 -1.000000
vn 0.000000 -1.000000 0.000000
vn 0.999200 -0.040000 0.000000
vn -0.999200 -0.040000 0.000000
vn 0.999100 -0.038800 -0.018600
vn -0.999100 0.038800 -0.018600
vn -0.999200 0.040000 0.000000
vn 0.999200 0.040000 0.000000
vn 0.999100 0.038800 0.018600
vn -0.999000 -0.038400 0.024600
vn 0.000000 0.842300 -0.539100
vn 0.000000 0.901500 -0.432700
vn 0.000000 0.901500 0.432700
vn 0.000000 0.447200 0.894400
vn -0.894400 0.447200 0.000000
vn 0.000000 0.447200 -0.894400
vn 0.894400 0.447200 0.000000
vn -1.000000 0.000000 0.000000
vn 1.000000 0.000000 0.000000
vn 0.999100 -0.038800 0.018600
vn -0.999100 -0.038800 -0.018600
vn -0.999100 0.038800 0.018600
vn 0.999000 0.038400 -0.024600
s off
f 2/1/1 4/2/1 3/3/1
f 4/2/2 6/4/2 5/5/2
f 6/4/3 8/6/3 7/7/3
f 8/6/4 10/8/4 9/9/4
f 10/8/5 12/10/5 11/11/5
f 12/10/6 14/12/6 13/13/6
f 14/14/7 16/15/7 15/16/7
f 16/15/8 18/17/8 17/18/8
f 18/17/9 20/19/9 19/20/9
f 20/19/10 22/21/10 21/22/10
f 16/23/11 14/24/11 38/25/11
f 24/26/12 2/1/12 1/27/12
f 22/21/13 24/26/13 23/28/13
f 4/29/11 27/30/11 30/31/11
f 24/32/11 48/33/11 28/34/11
f 11/35/14 35/36/14 33/37/14
f 21/38/14 45/39/14 43/40/14
f 10/41/11 34/42/11 36/43/11
f 20/44/11 44/45/11 46/46/11
f 7/47/14 31/48/14 29/49/14
f 15/50/14 17/51/14 41/52/14
f 3/53/14 26/54/14 25/55/14
f 6/56/11 30/31/11 32/57/11
f 16/23/11 40/58/11 42/59/11
f 2/60/11 28/34/11 27/30/11
f 13/61/14 37/62/14 35/36/14
f 21/38/14 23/63/14 47/64/14
f 12/65/11 36/43/11 38/25/11
f 22/66/11 46/46/11 48/33/11
f 9/67/14 33/37/14 31/48/14
f 17/51/14 19/68/14 43/40/14
f 8/69/11 32/57/11 34/42/11
f 18/70/11 42/59/11 44/45/11
f 3/53/14 5/71/14 29/49/14
f 15/50/14 39/72/14 37/62/14
f 1/73/14 25/55/14 47/64/14
f 52/74/11 58/75/11 60/76/11
f 50/77/1 49/78/1 27/79/1
f 51/80/12 50/77/12 28/81/12
f 46/82/13 52/74/13 51/80/13
f 44/83/10 53/84/10 52/74/10
f 42/85/9 54/86/9 53/84/9
f 40/87/8 55/88/8 54/86/8
f 56/89/7 55/88/7 40/90/7
f 57/91/6 56/89/6 38/92/6
f 58/75/5 57/91/5 36/93/5
f 59/94/4 58/75/4 34/95/4
f 60/76/3 59/94/3 32/96/3
f 49/78/2 60/76/2 30/97/2
f 66/98/14 68/99/14 72/100/14
f 62/101/1 61/102/1 25/103/1
f 63/104/2 62/101/2 26/105/2
f 64/106/3 63/104/3 29/107/3
f 65/108/4 64/106/4 31/109/4
f 66/98/5 65/108/5 33/110/5
f 67/111/6 66/98/6 35/112/6
f 68/99/7 67/111/7 37/113/7
f 69/114/8 68/99/8 39/115/8
f 43/116/9 70/117/9 69/114/9
f 45/118/10 71/119/10 70/117/10
f 47/120/13 72/100/13 71/119/13
f 61/102/12 72/100/12 47/121/12
f 77/122/15 78/123/15 74/124/15
f 79/125/15 80/126/15 76/127/15
f 85/128/15 86/129/15 82/130/15
f 87/131/15 88/132/15 84/133/15
f 78/134/14 77/135/14 100/136/14
f 82/137/16 86/129/16 91/138/16
f 79/139/17 75/140/17 101/141/17
f 78/142/18 99/143/18 104/144/18
f 82/145/11 96/146/11 95/147/11
f 74/124/11 104/144/11 103/148/11
f 81/149/19 95/147/19 92/150/19
f 77/135/20 73/151/20 103/148/20
f 87/131/14 90/152/14 89/153/14
f 79/154/14 98/155/14 97/156/14
f 84/157/21 88/132/21 89/153/21
f 80/158/22 97/156/22 102/159/22
f 83/160/11 84/157/11 94/161/11
f 86/129/14 85/128/14 92/150/14
f 75/140/11 76/127/11 102/159/11
f 83/162/23 93/163/23 90/152/23
f 94/164/24 89/153/24 90/152/24
f 96/165/25 91/138/25 92/150/25
f 102/159/26 97/166/26 98/167/26
f 104/144/26 99/168/26 100/169/26
f 106/170/15 105/171/15 107/172/15
f 108/173/27 111/174/27 110/175/27
f 106/170/28 110/176/28 109/177/28
f 105/171/29 109/178/29 112/179/29
f 107/172/30 112/180/30 111/181/30
f 110/182/31 114/183/31 113/184/31
f 112/185/32 116/186/32 115/187/32
f 111/188/11 115/189/11 114/183/11
f 109/190/14 113/184/14 116/186/14
f 1/27/1 2/1/1 3/3/1
f 3/3/2 4/2/2 5/5/2
f 5/5/3 6/4/3 7/7/3
f 7/7/4 8/6/4 9/9/4
f 9/9/5 10/8/5 11/11/5
f 11/11/6 12/10/6 13/13/6
f 13/191/7 14/14/7 15/16/7
f 15/16/8 16/15/8 17/18/8
f 17/18/9 18/17/9 19/20/9
f 19/20/10 20/19/10 21/22/10
f 40/58/11 16/23/11 38/25/11
f 23/28/12 24/26/12 1/27/12
f 21/22/13 22/21/13 23/28/13
f 6/56/11 4/29/11 30/31/11
f 2/60/11 24/32/11 28/34/11
f 9/67/14 11/35/14 33/37/14
f 19/68/14 21/38/14 43/40/14
f 12/65/11 10/41/11 36/43/11
f 22/66/11 20/44/11 46/46/11
f 5/71/14 7/47/14 29/49/14
f 39/72/14 15/50/14 41/52/14
f 1/73/14 3/53/14 25/55/14
f 8/69/11 6/56/11 32/57/11
f 18/70/11 16/23/11 42/59/11
f 4/29/11 2/60/11 27/30/11
f 11/35/14 13/61/14 35/36/14
f 45/39/14 21/38/14 47/64/14
f 14/24/11 12/65/11 38/25/11
f 24/32/11 22/66/11 48/33/11
f 7/47/14 9/67/14 31/48/14
f 41/52/14 17/51/14 43/40/14
f 10/41/11 8/69/11 34/42/11
f 20/44/11 18/70/11 44/45/11
f 26/54/14 3/53/14 29/49/14
f 13/61/14 15/50/14 37/62/14
f 23/63/14 1/73/14 47/64/14
f 60/76/11 49/78/11 50/77/11
f 50/77/11 51/80/11 60/76/11
f 52/74/11 53/84/11 54/86/11
f 54/86/11 55/88/11 52/74/11
f 56/89/11 57/91/11 58/75/11
f 58/75/11 59/94/11 60/76/11
f 60/76/11 51/80/11 52/74/11
f 52/74/11 55/88/11 56/89/11
f 56/89/11 58/75/11 52/74/11
f 28/192/1 50/77/1 27/79/1
f 48/193/12 51/80/12 28/81/12
f 48/194/13 46/82/13 51/80/13
f 46/195/10 44/83/10 52/74/10
f 44/196/9 42/85/9 53/84/9
f 42/197/8 40/87/8 54/86/8
f 38/198/7 56/89/7 40/90/7
f 36/199/6 57/91/6 38/92/6
f 34/200/5 58/75/5 36/93/5
f 32/201/4 59/94/4 34/95/4
f 30/202/3 60/76/3 32/96/3
f 27/203/2 49/78/2 30/97/2
f 72/100/14 61/102/14 62/101/14
f 62/101/14 63/104/14 64/106/14
f 64/106/14 65/108/14 66/98/14
f 66/98/14 67/111/14 68/99/14
f 68/99/14 69/114/14 70/117/14
f 70/117/14 71/119/14 72/100/14
f 72/100/14 62/101/14 64/106/14
f 64/106/14 66/98/14 72/100/14
f 68/99/14 70/117/14 72/100/14
f 26/204/1 62/101/1 25/103/1
f 29/205/2 63/104/2 26/105/2
f 31/206/3 64/106/3 29/107/3
f 33/207/4 65/108/4 31/109/4
f 35/208/5 66/98/5 33/110/5
f 37/209/6 67/111/6 35/112/6
f 39/210/7 68/99/7 37/113/7
f 41/211/8 69/114/8 39/115/8
f 41/212/9 43/116/9 69/114/9
f 43/213/10 45/118/10 70/117/10
f 45/214/13 47/120/13 71/119/13
f 25/215/12 61/102/12 47/121/12
f 73/151/15 77/122/15 74/124/15
f 75/140/15 79/125/15 76/127/15
f 81/216/15 85/128/15 82/130/15
f 83/217/15 87/131/15 84/133/15
f 99/218/14 78/134/14 100/136/14
f 96/219/33 82/137/33 91/138/33
f 98/220/34 79/139/34 101/141/34
f 74/124/16 78/142/16 104/144/16
f 81/149/11 82/145/11 95/147/11
f 73/151/11 74/124/11 103/148/11
f 85/128/20 81/149/20 92/150/20
f 100/136/35 77/135/35 103/148/35
f 88/132/14 87/131/14 89/153/14
f 80/158/14 79/154/14 97/156/14
f 94/161/36 84/157/36 89/153/36
f 76/127/21 80/158/21 102/159/21
f 93/221/11 83/160/11 94/161/11
f 91/138/14 86/129/14 92/150/14
f 101/141/11 75/140/11 102/159/11
f 87/131/17 83/162/17 90/152/17
f 93/222/24 94/164/24 90/152/24
f 95/223/25 96/165/25 92/150/25
f 101/141/26 102/159/26 98/167/26
f 103/148/26 104/144/26 100/169/26
f 108/173/15 106/170/15 107/172/15
f 106/170/27 108/173/27 110/175/27
f 105/171/28 106/170/28 109/177/28
f 107/172/29 105/171/29 112/179/29
f 108/173/30 107/172/30 111/181/30
f 109/190/31 110/182/31 113/184/31
f 111/224/32 112/185/32 115/187/32
f 110/182/11 111/188/11 114/183/11
f 112/185/14 109/190/14 116/186/14

Some files were not shown because too many files have changed in this diff Show More