mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
even more spring cleaning
This commit is contained in:
parent
0edf9a42fa
commit
3ab501682d
31
changelog
31
changelog
@ -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
|
||||
@ -11,6 +11,14 @@ public class BlockEnums {
|
||||
BAUXITE
|
||||
}
|
||||
|
||||
public static enum EnumMeteorType {
|
||||
IRON,
|
||||
COPPER,
|
||||
ALUMINIUM,
|
||||
RAREEARTH,
|
||||
COBALT
|
||||
}
|
||||
|
||||
public static enum EnumBiomeType {
|
||||
DESERT,
|
||||
WOODLAND
|
||||
|
||||
@ -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());
|
||||
|
||||
@ -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);
|
||||
|
||||
13
src/main/java/com/hbm/blocks/generic/BlockMeteorOre.java
Normal file
13
src/main/java/com/hbm/blocks/generic/BlockMeteorOre.java
Normal 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);
|
||||
}
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
@ -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) {
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@ -8,5 +8,4 @@ public class BlockHadronPlating extends Block {
|
||||
public BlockHadronPlating(Material mat) {
|
||||
super(mat);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -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();
|
||||
}
|
||||
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
31
src/main/java/com/hbm/blocks/machine/MachineICF.java
Normal file
31
src/main/java/com/hbm/blocks/machine/MachineICF.java
Normal 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;
|
||||
}
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@ -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();
|
||||
|
||||
}
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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);
|
||||
|
||||
/*
|
||||
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
@ -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);
|
||||
|
||||
@ -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),
|
||||
|
||||
@ -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),
|
||||
};
|
||||
}};
|
||||
}
|
||||
}
|
||||
|
||||
@ -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");
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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));
|
||||
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
@ -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
|
||||
|
||||
@ -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) {
|
||||
|
||||
@ -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();
|
||||
}
|
||||
|
||||
@ -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));
|
||||
}
|
||||
|
||||
@ -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() });
|
||||
|
||||
@ -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()) {
|
||||
|
||||
|
||||
@ -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));
|
||||
|
||||
@ -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");
|
||||
|
||||
@ -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;
|
||||
|
||||
|
||||
@ -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();
|
||||
}
|
||||
}
|
||||
@ -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);
|
||||
|
||||
@ -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();
|
||||
}
|
||||
}
|
||||
@ -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();
|
||||
}
|
||||
}
|
||||
@ -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();
|
||||
}
|
||||
}
|
||||
37
src/main/java/com/hbm/render/tileentity/RenderICF.java
Normal file
37
src/main/java/com/hbm/render/tileentity/RenderICF.java
Normal 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();
|
||||
}
|
||||
}
|
||||
@ -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();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -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();
|
||||
}
|
||||
}
|
||||
@ -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");
|
||||
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
@ -101,7 +101,7 @@ public class TileEntityCoreReceiver extends TileEntityMachineBase implements IEn
|
||||
|
||||
@Override
|
||||
public long getMaxPower() {
|
||||
return 0;
|
||||
return this.power;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
49
src/main/java/com/hbm/tileentity/machine/TileEntityICF.java
Normal file
49
src/main/java/com/hbm/tileentity/machine/TileEntityICF.java
Normal 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;
|
||||
}
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
@ -1,7 +0,0 @@
|
||||
package com.hbm.tileentity.machine;
|
||||
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
|
||||
public class TileEntityUVLamp extends TileEntity {
|
||||
|
||||
}
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
@ -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
|
||||
@ -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
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
@ -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
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
Loading…
x
Reference in New Issue
Block a user