diff --git a/assets/hbm/lang/de_DE.lang b/assets/hbm/lang/de_DE.lang index dd3277c02..fb417cb48 100644 --- a/assets/hbm/lang/de_DE.lang +++ b/assets/hbm/lang/de_DE.lang @@ -751,11 +751,13 @@ tile.reinforced_light.name=Verstärkter Glowstone tile.reinforced_lamp_off.name=Verstärkte Lampe tile.reinforced_lamp_on.name=Verstärkte Lampe -tile.concrete.name=Beton +tile.concrete_smooth.name=Beton +tile.concrete.name=Betonfliese tile.brick_concrete.name=Betonziegel tile.brick_obsidian.name=Obsidianziegel tile.brick_light.name=Helle Ziegel tile.asphalt.name=Asphalt +tile.brick_compound.name=Verstärkter Verbund tile.cmb_brick.name=CMB-Stahlfliese tile.cmb_brick_reinforced.name=Verstärkte CMB-Ziegel diff --git a/assets/hbm/lang/en_US.lang b/assets/hbm/lang/en_US.lang index 68b0df274..12a3f7601 100644 --- a/assets/hbm/lang/en_US.lang +++ b/assets/hbm/lang/en_US.lang @@ -751,11 +751,13 @@ tile.reinforced_light.name=Reinforced Glowstone tile.reinforced_lamp_off.name=Reinforced Lamp tile.reinforced_lamp_on.name=Reinforced Lamp -tile.concrete.name=Concrete +tile.concrete_smooth.name=Concrete +tile.concrete.name=Concrete Tile tile.brick_concrete.name=Concrete Bricks tile.brick_obsidian.name=Obsidian Bricks tile.brick_light.name=Light Bricks tile.asphalt.name=Asphalt +tile.brick_compound.name=Compound Mesh tile.cmb_brick.name=CMB Steel Tile tile.cmb_brick_reinforced.name=Reinforced CMB Bricks diff --git a/assets/hbm/models/core_emitter.obj b/assets/hbm/models/core_emitter.obj new file mode 100644 index 000000000..d76a256cd --- /dev/null +++ b/assets/hbm/models/core_emitter.obj @@ -0,0 +1,918 @@ +# Blender v2.76 (sub 0) OBJ File: 'core_emitter.blend' +# www.blender.org +o Cube_Cube.001 +v -0.500000 0.000000 0.500000 +v -0.500000 1.000000 0.500000 +v -0.500000 0.000000 -0.500000 +v -0.500000 1.000000 -0.500000 +v 0.500000 0.000000 0.500000 +v 0.500000 1.000000 0.500000 +v 0.500000 0.000000 -0.500000 +v 0.500000 1.000000 -0.500000 +v -0.500000 0.343750 0.156250 +v -0.500000 0.656250 0.156250 +v -0.500000 0.343750 -0.156250 +v -0.500000 0.656250 -0.156250 +v 0.500000 0.343750 0.156250 +v 0.500000 0.656250 0.156250 +v 0.500000 0.343750 -0.156250 +v 0.500000 0.656250 -0.156250 +v -0.156250 0.343750 -0.500000 +v -0.156250 0.656250 -0.500000 +v 0.156250 0.343750 -0.500000 +v 0.156250 0.656250 -0.500000 +v -0.156250 0.000000 0.156250 +v -0.156250 1.000000 0.156250 +v -0.156250 0.000000 -0.156250 +v -0.156250 1.000000 -0.156250 +v 0.156250 0.000000 0.156250 +v 0.156250 1.000000 0.156250 +v 0.156250 0.000000 -0.156250 +v 0.156250 1.000000 -0.156250 +v -0.500000 0.125000 0.375000 +v -0.500000 0.875000 0.375000 +v -0.500000 0.125000 -0.375000 +v -0.500000 0.875000 -0.375000 +v 0.500000 0.125000 0.375000 +v 0.500000 0.875000 0.375000 +v 0.500000 0.125000 -0.375000 +v 0.500000 0.875000 -0.375000 +v -0.375000 0.125000 0.500000 +v -0.375000 0.875000 0.500000 +v -0.375000 0.125000 -0.500000 +v -0.375000 0.875000 -0.500000 +v 0.375000 0.125000 0.500000 +v 0.375000 0.875000 0.500000 +v 0.375000 0.125000 -0.500000 +v 0.375000 0.875000 -0.500000 +v -0.375000 0.000000 0.375000 +v -0.375000 1.000000 0.375000 +v -0.375000 0.000000 -0.375000 +v -0.375000 1.000000 -0.375000 +v 0.375000 0.000000 0.375000 +v 0.375000 1.000000 0.375000 +v 0.375000 0.000000 -0.375000 +v 0.375000 1.000000 -0.375000 +v -0.500000 0.343750 0.156250 +v -0.500000 0.656250 0.156250 +v -0.500000 0.343750 -0.156250 +v -0.500000 0.656250 -0.156250 +v 0.500000 0.343750 0.156250 +v 0.500000 0.656250 0.156250 +v 0.500000 0.343750 -0.156250 +v 0.500000 0.656250 -0.156250 +v -0.156250 0.343750 0.375000 +v -0.156250 0.656250 0.375000 +v -0.156250 0.343750 -0.375000 +v -0.156250 0.656250 -0.375000 +v 0.156250 0.343750 0.375000 +v 0.156250 0.656250 0.375000 +v 0.156250 0.343750 -0.375000 +v 0.156250 0.656250 -0.375000 +v -0.156250 0.000000 0.156250 +v -0.156250 1.000000 0.156250 +v -0.156250 0.000000 -0.156250 +v -0.156250 1.000000 -0.156250 +v 0.156250 0.000000 0.156250 +v 0.156250 1.000000 0.156250 +v 0.156250 0.000000 -0.156250 +v 0.156250 1.000000 -0.156250 +v -0.156250 0.125000 0.156250 +v -0.156250 0.875000 0.156250 +v -0.156250 0.125000 -0.156250 +v -0.156250 0.875000 -0.156250 +v 0.156250 0.125000 0.156250 +v 0.156250 0.875000 0.156250 +v 0.156250 0.125000 -0.156250 +v 0.156250 0.875000 -0.156250 +v -0.375000 0.343750 0.156250 +v -0.375000 0.656250 0.156250 +v -0.375000 0.343750 -0.156250 +v -0.375000 0.656250 -0.156250 +v 0.375000 0.343750 0.156250 +v 0.375000 0.656250 0.156250 +v 0.375000 0.343750 -0.156250 +v 0.375000 0.656250 -0.156250 +v -0.375000 0.125000 0.375000 +v -0.375000 0.125000 -0.375000 +v 0.375000 0.125000 0.375000 +v 0.375000 0.125000 -0.375000 +v -0.375000 0.875000 0.375000 +v -0.375000 0.875000 -0.375000 +v 0.375000 0.875000 0.375000 +v 0.375000 0.875000 -0.375000 +v 0.000000 0.750000 0.375000 +v -0.095671 0.730970 0.375000 +v -0.176777 0.676777 0.375000 +v -0.230970 0.595671 0.375000 +v -0.250000 0.500000 0.375000 +v -0.230970 0.404329 0.375000 +v -0.176777 0.323223 0.375000 +v -0.095671 0.269030 0.375000 +v -0.000000 0.250000 0.375000 +v 0.095671 0.269030 0.375000 +v 0.176777 0.323223 0.375000 +v 0.230970 0.404329 0.375000 +v 0.250000 0.500000 0.375000 +v 0.230970 0.595671 0.375000 +v 0.176777 0.676777 0.375000 +v 0.095671 0.730970 0.375000 +v 0.000000 0.875000 0.375000 +v -0.143506 0.846455 0.375000 +v -0.265165 0.765165 0.375000 +v -0.346455 0.643506 0.375000 +v -0.375000 0.500000 0.375000 +v -0.346455 0.356494 0.375000 +v -0.265165 0.234835 0.375000 +v -0.143506 0.153545 0.375000 +v -0.000000 0.125000 0.375000 +v 0.143506 0.153545 0.375000 +v 0.265165 0.234835 0.375000 +v 0.346455 0.356494 0.375000 +v 0.375000 0.500000 0.375000 +v 0.346455 0.643506 0.375000 +v 0.265165 0.765165 0.375000 +v 0.143506 0.846455 0.375000 +v -0.095671 0.730970 0.625000 +v 0.000000 0.750000 0.625000 +v -0.176777 0.676777 0.625000 +v -0.230970 0.595671 0.625000 +v -0.250000 0.500000 0.625000 +v -0.230970 0.404329 0.625000 +v -0.176777 0.323223 0.625000 +v -0.095671 0.269030 0.625000 +v -0.000000 0.250000 0.625000 +v 0.095671 0.269030 0.625000 +v 0.176777 0.323223 0.625000 +v 0.230970 0.404329 0.625000 +v 0.250000 0.500000 0.625000 +v 0.230970 0.595671 0.625000 +v 0.176777 0.676777 0.625000 +v 0.095671 0.730970 0.625000 +v -0.143506 0.846455 0.625000 +v 0.000000 0.875000 0.625000 +v -0.265165 0.765165 0.625000 +v -0.346455 0.643506 0.625000 +v -0.375000 0.500000 0.625000 +v -0.346455 0.356494 0.625000 +v -0.265165 0.234835 0.625000 +v -0.143506 0.153545 0.625000 +v -0.000000 0.125000 0.625000 +v 0.143506 0.153545 0.625000 +v 0.265165 0.234835 0.625000 +v 0.346455 0.356494 0.625000 +v 0.375000 0.500000 0.625000 +v 0.346455 0.643506 0.625000 +v 0.265165 0.765165 0.625000 +v 0.143506 0.846455 0.625000 +v 0.000000 0.625000 0.375000 +v -0.088388 0.588388 0.375000 +v -0.125000 0.500000 0.375000 +v -0.088388 0.411612 0.375000 +v 0.000000 0.375000 0.375000 +v 0.088388 0.411612 0.375000 +v 0.125000 0.500000 0.375000 +v 0.088388 0.588388 0.375000 +v -0.088388 0.588388 1.000000 +v 0.000000 0.625000 1.000000 +v -0.125000 0.500000 1.000000 +v -0.088388 0.411612 1.000000 +v 0.000000 0.375000 1.000000 +v 0.088388 0.411612 1.000000 +v 0.125000 0.500000 1.000000 +v 0.088388 0.588388 1.000000 +v -0.088388 0.588388 0.375000 +v -0.088388 0.411612 0.375000 +v 0.088388 0.411612 0.375000 +v 0.088388 0.588388 0.375000 +v -0.088388 0.588388 0.625000 +v -0.088388 0.411612 0.625000 +v 0.088388 0.411612 0.625000 +v 0.088388 0.588388 0.625000 +v -0.156250 0.343750 -0.500000 +v -0.156250 0.656250 -0.500000 +v 0.156250 0.343750 -0.500000 +v 0.156250 0.656250 -0.500000 +v -0.500000 0.125000 0.375000 +v -0.500000 0.875000 0.375000 +v -0.500000 0.125000 -0.375000 +v -0.500000 0.875000 -0.375000 +v 0.500000 0.125000 0.375000 +v 0.500000 0.875000 0.375000 +v 0.500000 0.125000 -0.375000 +v 0.500000 0.875000 -0.375000 +v -0.375000 0.125000 -0.500000 +v -0.375000 0.875000 -0.500000 +v 0.375000 0.125000 -0.500000 +v 0.375000 0.875000 -0.500000 +v -0.375000 0.000000 0.375000 +v -0.375000 1.000000 0.375000 +v -0.375000 0.000000 -0.375000 +v -0.375000 1.000000 -0.375000 +v 0.375000 0.000000 0.375000 +v 0.375000 1.000000 0.375000 +v 0.375000 0.000000 -0.375000 +v 0.375000 1.000000 -0.375000 +v -0.500000 0.343750 0.156250 +v -0.500000 0.656250 0.156250 +v -0.500000 0.343750 -0.156250 +v -0.500000 0.656250 -0.156250 +v 0.500000 0.343750 0.156250 +v 0.500000 0.656250 0.156250 +v 0.500000 0.343750 -0.156250 +v 0.500000 0.656250 -0.156250 +v -0.156250 0.343750 -0.375000 +v -0.156250 0.656250 -0.375000 +v 0.156250 0.343750 -0.375000 +v 0.156250 0.656250 -0.375000 +v -0.156250 0.000000 0.156250 +v -0.156250 1.000000 0.156250 +v -0.156250 0.000000 -0.156250 +v -0.156250 1.000000 -0.156250 +v 0.156250 0.000000 0.156250 +v 0.156250 1.000000 0.156250 +v 0.156250 0.000000 -0.156250 +v 0.156250 1.000000 -0.156250 +v -0.156250 0.125000 0.156250 +v -0.156250 0.875000 0.156250 +v -0.156250 0.125000 -0.156250 +v -0.156250 0.875000 -0.156250 +v 0.156250 0.125000 0.156250 +v 0.156250 0.875000 0.156250 +v 0.156250 0.125000 -0.156250 +v 0.156250 0.875000 -0.156250 +v -0.375000 0.343750 0.156250 +v -0.375000 0.656250 0.156250 +v -0.375000 0.343750 -0.156250 +v -0.375000 0.656250 -0.156250 +v 0.375000 0.343750 0.156250 +v 0.375000 0.656250 0.156250 +v 0.375000 0.343750 -0.156250 +v 0.375000 0.656250 -0.156250 +v -0.375000 0.125000 0.375000 +v -0.375000 0.125000 -0.375000 +v 0.375000 0.125000 0.375000 +v 0.375000 0.125000 -0.375000 +v -0.375000 0.875000 0.375000 +v -0.375000 0.875000 -0.375000 +v 0.375000 0.875000 0.375000 +v 0.375000 0.875000 -0.375000 +v -0.176777 0.676777 0.375000 +v -0.176777 0.323223 0.375000 +v 0.176777 0.323223 0.375000 +v 0.176777 0.676777 0.375000 +v -0.176777 0.676777 0.625000 +v -0.176777 0.323223 0.625000 +v 0.176777 0.323223 0.625000 +v 0.176777 0.676777 0.625000 +v -0.088388 0.588388 0.375000 +v -0.088388 0.411612 0.375000 +v 0.088388 0.411612 0.375000 +v 0.088388 0.588388 0.375000 +v -0.088388 0.588388 0.625000 +v -0.088388 0.411612 0.625000 +v 0.088388 0.411612 0.625000 +v 0.088388 0.588388 0.625000 +vt 0.500000 0.500000 +vt 0.437500 0.437500 +vt 0.437500 0.062500 +vt 0.062500 0.062500 +vt 0.000000 0.000000 +vt 0.500000 0.000000 +vt 0.312500 0.687500 +vt 0.468750 0.687500 +vt 0.468750 0.843750 +vt 0.312500 0.843750 +vt 0.562500 0.218750 +vt 0.562500 0.062500 +vt 0.718750 0.062500 +vt 0.718750 0.218750 +vt 0.781250 0.062500 +vt 0.781250 0.218750 +vt 0.718750 0.281250 +vt 0.562500 0.281250 +vt 0.062500 0.437500 +vt 0.000000 0.500000 +vt 0.562500 0.000000 +vt 0.718750 0.000000 +vt 0.500000 0.218750 +vt 0.500000 0.062500 +vt 0.781250 0.281250 +vt 0.625000 0.437500 +vt 0.625000 0.281250 +vt 0.062500 0.625000 +vt 0.062500 0.562500 +vt 0.437500 0.562500 +vt 0.062500 0.500000 +vt 0.437500 0.500000 +vt 0.437500 0.625000 +vt 0.281250 0.125000 +vt 0.281250 0.062500 +vt 0.343750 0.093750 +vt 0.218750 0.125000 +vt 0.218750 0.062500 +vt 0.187500 0.156250 +vt 0.156250 0.093750 +vt 0.312500 0.156250 +vt 0.406250 0.156250 +vt 0.343750 0.187500 +vt 0.437500 0.218750 +vt 0.375000 0.218750 +vt 0.437500 0.281250 +vt 0.375000 0.281250 +vt 0.406250 0.343750 +vt 0.343750 0.312500 +vt 0.343750 0.406250 +vt 0.281250 0.375000 +vt 0.312500 0.343750 +vt 0.281250 0.437500 +vt 0.218750 0.437500 +vt 0.218750 0.375000 +vt 0.156250 0.406250 +vt 0.156250 0.312500 +vt 0.187500 0.343750 +vt 0.093750 0.343750 +vt 0.062500 0.281250 +vt 0.125000 0.281250 +vt 0.062500 0.218750 +vt 0.125000 0.218750 +vt 0.093750 0.156250 +vt 0.156250 0.187500 +vt 0.531250 0.437500 +vt 0.531250 0.406250 +vt 0.781250 -0.000000 +vt 0.906250 0.000000 +vt 0.906250 0.062500 +vt 0.625000 0.781250 +vt 0.531250 0.781250 +vt 0.531250 0.750000 +vt 0.781250 0.937500 +vt 0.906250 0.937500 +vt 0.906250 1.000000 +vt 0.625000 0.750000 +vt 0.531250 0.718750 +vt 0.781250 0.875000 +vt 0.906250 0.875000 +vt 0.625000 0.718750 +vt 0.531250 0.687500 +vt 0.781250 0.812500 +vt 0.906250 0.812500 +vt 0.625000 0.687500 +vt 0.531250 0.656250 +vt 0.531250 0.593750 +vt 0.625000 0.593750 +vt 0.625000 0.625000 +vt 0.781250 0.750000 +vt 0.906250 0.750000 +vt 0.531250 0.531250 +vt 0.625000 0.531250 +vt 0.625000 0.562500 +vt 0.531250 0.625000 +vt 0.625000 0.656250 +vt 0.781250 0.687500 +vt 0.906250 0.687500 +vt 0.531250 0.562500 +vt 0.625000 0.406250 +vt 0.531250 0.375000 +vt 0.781250 0.625000 +vt 0.906250 0.625000 +vt 0.781250 0.437500 +vt 0.906250 0.437500 +vt 0.906250 0.500000 +vt 0.625000 0.375000 +vt 0.531250 0.343750 +vt 0.781250 0.562500 +vt 0.906250 0.562500 +vt 0.781250 0.375000 +vt 0.906250 0.375000 +vt 0.625000 0.343750 +vt 0.531250 0.312500 +vt 0.781250 0.500000 +vt 0.781250 0.312500 +vt 0.906250 0.312500 +vt 0.625000 0.312500 +vt 0.531250 0.281250 +vt 0.781250 0.250000 +vt 0.906250 0.250000 +vt 0.531250 0.500000 +vt 0.781250 0.187500 +vt 0.906250 0.187500 +vt 0.625000 0.500000 +vt 0.531250 0.468750 +vt 0.781250 0.125000 +vt 0.906250 0.125000 +vt 0.625000 0.468750 +vt 0.312500 0.625000 +vt 0.312500 0.656250 +vt 0.281250 0.687500 +vt 0.218750 0.625000 +vt 0.218750 0.937500 +vt 0.187500 0.937500 +vt 0.156250 0.625000 +vt 0.156250 0.937500 +vt 0.125000 0.937500 +vt 0.125000 0.625000 +vt 0.093750 0.937500 +vt 0.062500 0.937500 +vt 0.031250 0.937500 +vt 0.250000 0.625000 +vt 0.250000 0.937500 +vt 0.187500 0.625000 +vt 0.093750 0.625000 +vt 0.031250 0.625000 +vt -0.000000 0.937500 +vt 0.437500 0.843750 +vt 0.437500 0.906250 +vt 0.312500 0.906250 +vt 0.468750 0.625000 +vt 0.613025 0.561999 +vt 0.781250 1.000000 +vt 0.250000 0.687500 +vt 0.250000 0.656250 +vt 0.281250 0.625000 +vt 0.000000 0.625000 +vn 1.000000 0.000000 0.000000 +vn 0.000000 0.000000 -1.000000 +vn 0.000000 1.000000 0.000000 +vn -1.000000 0.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 0.000000 1.000000 +vn 0.000000 0.707100 -0.707100 +vn -0.707100 0.707100 0.000000 +vn -0.707100 -0.707100 0.000000 +vn 0.000000 -0.707100 -0.707100 +vn 0.000000 -0.707100 0.707100 +vn 0.000000 0.707100 0.707100 +vn -0.707100 0.000000 -0.707100 +vn -0.707100 0.000000 0.707100 +vn 0.707100 0.000000 0.707100 +vn 0.707100 -0.707100 0.000000 +vn 0.707100 0.707100 0.000000 +vn 0.707100 0.000000 -0.707100 +vn 0.577400 0.577400 -0.577400 +vn -0.577400 0.577400 -0.577400 +vn -0.577400 -0.577400 -0.577400 +vn 0.577400 -0.577400 -0.577400 +vn 0.577400 -0.577400 0.577400 +vn -0.577400 -0.577400 0.577400 +vn -0.577400 0.577400 0.577400 +vn 0.577400 0.577400 0.577400 +vn -0.555600 0.831500 0.000000 +vn -0.195100 -0.980800 0.000000 +vn -0.831500 0.555600 0.000000 +vn 0.195100 -0.980800 0.000000 +vn -0.980800 0.195100 0.000000 +vn 0.555600 -0.831500 0.000000 +vn -0.980800 -0.195100 0.000000 +vn 0.831500 -0.555600 0.000000 +vn -0.831500 -0.555600 0.000000 +vn 0.980800 -0.195100 0.000000 +vn -0.555600 -0.831500 0.000000 +vn 0.980800 0.195100 0.000000 +vn 0.831500 0.555600 0.000000 +vn -0.195100 0.980800 0.000000 +vn 0.555600 0.831500 0.000000 +vn 0.195100 0.980800 0.000000 +vn -0.923900 -0.382700 0.000000 +vn -0.382700 0.923900 0.000000 +vn 0.382700 0.923900 0.000000 +vn 0.923900 -0.382700 0.000000 +vn -0.382700 -0.923900 0.000000 +vn -0.923900 0.382700 0.000000 +vn 0.923900 0.382700 0.000000 +vn 0.382700 -0.923900 0.000000 +s off +f 8/1/1 36/2/1 35/3/1 +f 4/1/2 40/2/2 39/3/2 +f 35/3/1 33/4/1 5/5/1 +f 39/3/2 43/4/2 7/5/2 +f 6/6/3 50/3/3 46/4/3 +f 8/1/3 52/2/3 50/3/3 +f 12/7/4 11/8/4 9/9/4 +f 14/10/1 13/7/1 15/8/1 +f 20/11/2 19/12/2 17/13/2 +f 23/7/5 27/8/5 25/9/5 +f 28/9/3 24/10/3 22/7/3 +f 76/12/3 72/13/3 70/14/3 +f 71/12/5 75/13/5 73/14/5 +f 91/15/2 92/16/2 60/14/2 +f 60/14/3 92/17/3 90/18/3 +f 58/11/1 57/12/1 59/13/1 +f 56/11/4 55/12/4 53/13/4 +f 2/5/3 46/4/3 48/19/3 +f 4/20/3 48/19/3 52/2/3 +f 7/6/5 51/3/5 47/4/5 +f 3/5/5 47/4/5 45/19/5 +f 1/20/5 45/19/5 49/2/5 +f 5/1/5 49/2/5 51/3/5 +f 34/19/1 36/2/1 8/1/1 +f 33/4/1 34/19/1 6/20/1 +f 31/4/4 32/19/4 4/20/4 +f 32/19/4 30/2/4 2/1/4 +f 30/2/4 29/3/4 1/6/4 +f 29/3/4 31/4/4 3/5/4 +f 44/19/2 40/2/2 4/1/2 +f 43/4/2 44/19/2 8/20/2 +f 38/19/6 42/2/6 6/1/6 +f 6/1/6 42/2/6 41/3/6 +f 41/3/6 37/4/6 1/5/6 +f 1/5/6 37/4/6 38/19/6 +f 19/12/5 67/21/5 63/22/5 +f 20/11/1 68/23/1 67/24/1 +f 18/14/3 64/17/3 68/18/3 +f 63/15/4 64/16/4 18/14/4 +f 64/8/7 80/9/7 84/10/7 +f 88/7/8 86/8/8 78/9/8 +f 85/9/9 87/10/9 79/7/9 +f 67/10/10 83/7/10 79/8/10 +f 61/10/11 77/7/11 81/8/11 +f 66/8/12 82/9/12 78/10/12 +f 87/8/13 88/9/13 64/10/13 +f 86/10/14 85/7/14 61/8/14 +f 89/8/15 90/9/15 66/10/15 +f 91/9/16 89/10/16 81/7/16 +f 90/7/17 92/8/17 84/9/17 +f 68/9/18 92/10/18 91/7/18 +f 84/25/19 92/26/19 68/27/19 +f 80/26/20 64/27/20 88/25/20 +f 79/25/21 87/26/21 63/27/21 +f 83/26/22 67/27/22 91/25/22 +f 81/25/23 89/26/23 65/27/23 +f 77/26/24 61/27/24 85/25/24 +f 78/25/25 86/26/25 62/27/25 +f 82/26/26 66/27/26 90/25/26 +f 58/11/6 90/23/6 89/24/6 +f 57/12/5 89/21/5 91/22/5 +f 65/8/6 66/9/6 62/10/6 +f 55/12/5 87/21/5 85/22/5 +f 53/13/6 85/15/6 86/16/6 +f 54/14/3 86/17/3 88/18/3 +f 56/11/2 88/23/2 87/24/2 +f 79/21/2 83/22/2 75/13/2 +f 77/23/4 79/24/4 71/12/4 +f 81/17/6 77/18/6 69/11/6 +f 83/15/1 81/16/1 73/14/1 +f 84/21/2 80/22/2 72/13/2 +f 80/15/4 78/16/4 70/14/4 +f 78/17/6 82/18/6 74/11/6 +f 82/23/1 84/24/1 76/12/1 +f 45/28/2 93/29/2 95/30/2 +f 95/30/3 93/29/3 37/31/3 +f 49/32/4 95/30/4 96/29/4 +f 96/29/3 95/30/3 33/33/3 +f 96/30/6 94/29/6 47/31/6 +f 47/32/1 94/30/1 93/29/1 +f 93/29/3 94/30/3 31/33/3 +f 39/28/3 94/29/3 96/30/3 +f 38/28/5 97/29/5 99/30/5 +f 99/30/2 97/29/2 46/31/2 +f 46/32/1 97/30/1 98/29/1 +f 48/32/6 98/30/6 100/29/6 +f 52/32/4 100/30/4 99/29/4 +f 99/29/5 100/30/5 36/33/5 +f 100/29/5 98/30/5 40/33/5 +f 98/29/5 97/30/5 30/33/5 +f 37/32/1 93/30/1 97/29/1 +f 99/30/4 95/29/4 41/31/4 +f 33/28/2 95/29/2 99/30/2 +f 100/29/6 96/30/6 35/33/6 +f 43/32/4 96/30/4 100/29/4 +f 98/30/1 94/29/1 39/31/1 +f 31/28/6 94/29/6 98/30/6 +f 97/29/2 93/30/2 29/33/2 +f 109/34/2 125/35/2 124/36/2 +f 110/37/2 126/38/2 125/35/2 +f 111/39/2 127/40/2 126/38/2 +f 108/41/2 124/36/2 123/42/2 +f 107/43/2 123/42/2 122/44/2 +f 106/45/2 122/44/2 121/46/2 +f 105/47/2 121/46/2 120/48/2 +f 104/49/2 120/48/2 119/50/2 +f 102/51/2 103/52/2 119/50/2 +f 102/51/2 118/53/2 117/54/2 +f 101/55/2 117/54/2 132/56/2 +f 115/57/2 116/58/2 132/56/2 +f 115/57/2 131/59/2 130/60/2 +f 114/61/2 130/60/2 129/62/2 +f 113/63/2 129/62/2 128/64/2 +f 112/65/2 128/64/2 127/40/2 +f 156/38/6 157/35/6 141/34/6 +f 157/35/6 158/36/6 142/41/6 +f 158/36/6 159/42/6 143/43/6 +f 155/40/6 156/38/6 140/37/6 +f 154/64/6 155/40/6 139/39/6 +f 153/62/6 154/64/6 138/65/6 +f 152/60/6 153/62/6 137/63/6 +f 151/59/6 152/60/6 136/61/6 +f 149/56/6 151/59/6 135/57/6 +f 150/54/6 149/56/6 133/58/6 +f 164/53/6 150/54/6 134/55/6 +f 163/50/6 164/53/6 148/51/6 +f 162/48/6 163/50/6 147/52/6 +f 161/46/6 162/48/6 146/49/6 +f 144/45/6 160/44/6 161/46/6 +f 143/43/6 159/42/6 160/44/6 +f 110/26/27 142/66/27 143/67/27 +f 125/68/28 157/69/28 156/70/28 +f 111/71/29 143/72/29 144/73/29 +f 126/74/30 158/75/30 157/76/30 +f 112/77/31 144/73/31 145/78/31 +f 127/79/32 159/80/32 158/75/32 +f 113/81/33 145/78/33 146/82/33 +f 128/83/34 160/84/34 159/80/34 +f 114/85/35 146/82/35 147/86/35 +f 101/87/30 134/88/30 133/89/30 +f 129/90/36 161/91/36 160/84/36 +f 115/92/37 147/93/37 148/94/37 +f 102/95/32 133/89/32 135/96/32 +f 130/97/38 162/98/38 161/91/38 +f 116/99/28 148/94/28 134/88/28 +f 103/100/34 135/67/34 136/101/34 +f 131/102/39 163/103/39 162/98/39 +f 118/104/40 149/105/40 150/106/40 +f 104/107/36 136/101/36 137/108/36 +f 132/109/41 164/110/41 163/103/41 +f 119/111/27 151/112/27 149/105/27 +f 105/113/38 137/108/38 138/114/38 +f 117/115/42 150/106/42 164/110/42 +f 120/116/29 152/117/29 151/112/29 +f 106/118/39 138/114/39 139/119/39 +f 121/120/31 153/121/31 152/117/31 +f 107/93/41 139/92/41 140/122/41 +f 122/123/33 154/124/33 153/121/33 +f 108/125/42 140/122/42 141/126/42 +f 123/127/35 155/128/35 154/124/35 +f 109/129/40 141/126/40 142/66/40 +f 124/15/37 156/70/37 155/128/37 +f 178/130/6 179/131/6 174/132/6 +f 168/133/43 176/134/43 175/135/43 +f 166/136/44 173/137/44 174/138/44 +f 165/139/45 174/138/45 180/140/45 +f 171/28/46 179/141/46 178/142/46 +f 169/143/47 177/144/47 176/134/47 +f 167/145/48 175/135/48 173/137/48 +f 172/146/49 180/140/49 179/141/49 +f 170/147/50 178/142/50 177/148/50 +f 185/149/9 135/150/9 103/151/9 +f 188/149/8 147/150/8 115/151/8 +f 187/10/17 143/151/17 111/150/17 +f 186/10/16 139/151/16 107/150/16 +f 74/8/18 50/7/18 99/130/18 +f 70/8/15 46/7/15 97/130/15 +f 84/130/15 100/152/15 52/8/15 +f 72/130/14 48/152/14 98/8/14 +f 43/8/17 19/7/17 67/130/17 +f 94/130/8 63/152/8 17/8/8 +f 40/8/9 18/7/9 64/130/9 +f 44/8/8 20/7/8 68/130/8 +f 60/8/12 36/7/12 100/130/12 +f 59/7/7 35/8/7 96/152/7 +f 57/8/10 33/7/10 95/130/10 +f 58/8/11 34/7/11 99/130/11 +f 79/130/14 94/152/14 47/8/14 +f 75/153/15 51/153/15 96/153/15 +f 81/8/18 95/7/18 49/130/18 +f 69/8/13 45/7/13 93/130/13 +f 87/130/7 94/152/7 31/8/7 +f 56/8/10 32/7/10 98/130/10 +f 54/8/7 30/7/7 97/130/7 +f 53/8/12 29/7/12 93/130/12 +f 257/151/17 261/150/17 269/149/17 +f 260/151/16 264/150/16 272/149/16 +f 259/150/9 263/151/9 271/10/9 +f 258/150/8 262/151/8 270/10/8 +f 255/130/14 210/7/14 230/8/14 +f 253/130/13 206/7/13 226/8/13 +f 212/8/13 256/152/13 240/130/13 +f 254/8/18 208/152/18 228/130/18 +f 223/130/9 191/7/9 203/8/9 +f 189/8/16 221/152/16 250/130/16 +f 222/130/17 190/7/17 202/8/17 +f 224/130/16 192/7/16 204/8/16 +f 256/130/10 200/7/10 220/8/10 +f 252/152/11 199/8/11 219/7/11 +f 251/130/12 197/7/12 217/8/12 +f 255/130/7 198/7/7 218/8/7 +f 207/8/18 250/152/18 235/130/18 +f 252/153/13 211/153/13 231/153/13 +f 209/130/14 251/7/14 237/8/14 +f 249/130/15 205/7/15 225/8/15 +f 195/8/11 250/152/11 243/130/11 +f 254/130/12 196/7/12 216/8/12 +f 253/130/11 194/7/11 214/8/11 +f 249/130/10 193/7/10 213/8/10 +f 7/6/1 8/1/1 35/3/1 +f 3/6/2 4/1/2 39/3/2 +f 7/6/1 35/3/1 5/5/1 +f 3/6/2 39/3/2 7/5/2 +f 2/5/3 6/6/3 46/4/3 +f 6/6/3 8/1/3 50/3/3 +f 10/10/4 12/7/4 9/9/4 +f 16/9/1 14/10/1 15/8/1 +f 18/14/2 20/11/2 17/13/2 +f 21/10/5 23/7/5 25/9/5 +f 26/8/3 28/9/3 22/7/3 +f 74/11/3 76/12/3 70/14/3 +f 69/11/5 71/12/5 73/14/5 +f 59/13/2 91/15/2 60/14/2 +f 58/11/3 60/14/3 90/18/3 +f 60/14/1 58/11/1 59/13/1 +f 54/14/4 56/11/4 53/13/4 +f 4/20/3 2/5/3 48/19/3 +f 8/1/3 4/20/3 52/2/3 +f 3/5/5 7/6/5 47/4/5 +f 1/20/5 3/5/5 45/19/5 +f 5/1/5 1/20/5 49/2/5 +f 7/6/5 5/1/5 51/3/5 +f 6/20/1 34/19/1 8/1/1 +f 5/5/1 33/4/1 6/20/1 +f 3/5/4 31/4/4 4/20/4 +f 4/20/4 32/19/4 2/1/4 +f 2/1/4 30/2/4 1/6/4 +f 1/6/4 29/3/4 3/5/4 +f 8/20/2 44/19/2 4/1/2 +f 7/5/2 43/4/2 8/20/2 +f 2/20/6 38/19/6 6/1/6 +f 5/6/6 6/1/6 41/3/6 +f 5/6/6 41/3/6 1/5/6 +f 2/20/6 1/5/6 38/19/6 +f 17/13/5 19/12/5 63/22/5 +f 19/12/1 20/11/1 67/24/1 +f 20/11/3 18/14/3 68/18/3 +f 17/13/4 63/15/4 18/14/4 +f 68/7/7 64/8/7 84/10/7 +f 80/10/8 88/7/8 78/9/8 +f 77/8/9 85/9/9 79/7/9 +f 63/9/10 67/10/10 79/8/10 +f 65/9/11 61/10/11 81/8/11 +f 62/7/12 66/8/12 78/10/12 +f 63/7/13 87/8/13 64/10/13 +f 62/9/14 86/10/14 61/8/14 +f 65/7/15 89/8/15 66/10/15 +f 83/8/16 91/9/16 81/7/16 +f 82/10/17 90/7/17 84/9/17 +f 67/8/18 68/9/18 91/7/18 +f 57/12/6 58/11/6 89/24/6 +f 59/13/5 57/12/5 91/22/5 +f 61/7/6 65/8/6 62/10/6 +f 53/13/5 55/12/5 85/22/5 +f 54/14/6 53/13/6 86/16/6 +f 56/11/3 54/14/3 88/18/3 +f 55/12/2 56/11/2 87/24/2 +f 71/12/2 79/21/2 75/13/2 +f 69/11/4 77/23/4 71/12/4 +f 73/14/6 81/17/6 69/11/6 +f 75/13/1 83/15/1 73/14/1 +f 76/12/2 84/21/2 72/13/2 +f 72/13/4 80/15/4 70/14/4 +f 70/14/6 78/17/6 74/11/6 +f 74/11/1 82/23/1 76/12/1 +f 49/33/2 45/28/2 95/30/2 +f 41/32/3 95/30/3 37/31/3 +f 51/31/4 49/32/4 96/29/4 +f 35/28/3 96/29/3 33/33/3 +f 51/32/6 96/30/6 47/31/6 +f 45/31/1 47/32/1 93/29/1 +f 29/28/3 93/29/3 31/33/3 +f 43/33/3 39/28/3 96/30/3 +f 42/33/5 38/28/5 99/30/5 +f 50/32/2 99/30/2 46/31/2 +f 48/31/1 46/32/1 98/29/1 +f 52/31/6 48/32/6 100/29/6 +f 50/31/4 52/32/4 99/29/4 +f 34/28/5 99/29/5 36/33/5 +f 44/28/5 100/29/5 40/33/5 +f 32/28/5 98/29/5 30/33/5 +f 38/31/1 37/32/1 97/29/1 +f 42/32/4 99/30/4 41/31/4 +f 34/33/2 33/28/2 99/30/2 +f 36/28/6 100/29/6 35/33/6 +f 44/31/4 43/32/4 100/29/4 +f 40/32/1 98/30/1 39/31/1 +f 32/33/6 31/28/6 98/30/6 +f 30/28/2 97/29/2 29/33/2 +f 108/41/2 109/34/2 124/36/2 +f 109/34/2 110/37/2 125/35/2 +f 110/37/2 111/39/2 126/38/2 +f 107/43/2 108/41/2 123/42/2 +f 106/45/2 107/43/2 122/44/2 +f 105/47/2 106/45/2 121/46/2 +f 104/49/2 105/47/2 120/48/2 +f 103/52/2 104/49/2 119/50/2 +f 118/53/2 102/51/2 119/50/2 +f 101/55/2 102/51/2 117/54/2 +f 116/58/2 101/55/2 132/56/2 +f 131/59/2 115/57/2 132/56/2 +f 114/61/2 115/57/2 130/60/2 +f 113/63/2 114/61/2 129/62/2 +f 112/65/2 113/63/2 128/64/2 +f 111/39/2 112/65/2 127/40/2 +f 140/37/6 156/38/6 141/34/6 +f 141/34/6 157/35/6 142/41/6 +f 142/41/6 158/36/6 143/43/6 +f 139/39/6 155/40/6 140/37/6 +f 138/65/6 154/64/6 139/39/6 +f 137/63/6 153/62/6 138/65/6 +f 136/61/6 152/60/6 137/63/6 +f 135/57/6 151/59/6 136/61/6 +f 133/58/6 149/56/6 135/57/6 +f 134/55/6 150/54/6 133/58/6 +f 148/51/6 164/53/6 134/55/6 +f 147/52/6 163/50/6 148/51/6 +f 146/49/6 162/48/6 147/52/6 +f 145/47/6 161/46/6 146/49/6 +f 145/47/6 144/45/6 161/46/6 +f 144/45/6 143/43/6 160/44/6 +f 111/100/27 110/26/27 143/67/27 +f 124/15/28 125/68/28 156/70/28 +f 112/77/29 111/71/29 144/73/29 +f 125/154/30 126/74/30 157/76/30 +f 113/81/31 112/77/31 145/78/31 +f 126/74/32 127/79/32 158/75/32 +f 114/85/33 113/81/33 146/82/33 +f 127/79/34 128/83/34 159/80/34 +f 115/96/35 114/85/35 147/86/35 +f 102/95/30 101/87/30 133/89/30 +f 128/83/36 129/90/36 160/84/36 +f 116/99/37 115/92/37 148/94/37 +f 103/86/32 102/95/32 135/96/32 +f 129/90/38 130/97/38 161/91/38 +f 101/87/28 116/99/28 134/88/28 +f 104/107/34 103/100/34 136/101/34 +f 130/97/39 131/102/39 162/98/39 +f 117/115/40 118/104/40 150/106/40 +f 105/113/36 104/107/36 137/108/36 +f 131/102/41 132/109/41 163/103/41 +f 118/104/27 119/111/27 149/105/27 +f 106/118/38 105/113/38 138/114/38 +f 132/109/42 117/115/42 164/110/42 +f 119/111/29 120/116/29 151/112/29 +f 107/27/39 106/118/39 139/119/39 +f 120/116/31 121/120/31 152/117/31 +f 108/125/41 107/93/41 140/122/41 +f 121/120/33 122/123/33 153/121/33 +f 109/129/42 108/125/42 141/126/42 +f 122/123/35 123/127/35 154/124/35 +f 110/26/40 109/129/40 142/66/40 +f 123/127/37 124/15/37 155/128/37 +f 174/132/6 173/155/6 175/156/6 +f 175/156/6 176/143/6 177/157/6 +f 177/157/6 178/130/6 174/132/6 +f 179/131/6 180/7/6 174/132/6 +f 174/132/6 175/156/6 177/157/6 +f 167/145/43 168/133/43 175/135/43 +f 165/139/44 166/136/44 174/138/44 +f 172/146/45 165/139/45 180/140/45 +f 170/147/46 171/28/46 178/142/46 +f 168/133/47 169/143/47 176/134/47 +f 166/136/48 167/145/48 173/137/48 +f 171/28/49 172/146/49 179/141/49 +f 169/158/50 170/147/50 177/148/50 +f 181/10/9 185/149/9 103/151/9 +f 184/10/8 188/149/8 115/151/8 +f 183/149/17 187/10/17 111/150/17 +f 182/149/16 186/10/16 107/150/16 +f 82/152/18 74/8/18 99/130/18 +f 78/152/15 70/8/15 97/130/15 +f 76/7/15 84/130/15 52/8/15 +f 80/7/14 72/130/14 98/8/14 +f 96/152/17 43/8/17 67/130/17 +f 39/7/8 94/130/8 17/8/8 +f 98/152/9 40/8/9 64/130/9 +f 100/152/8 44/8/8 68/130/8 +f 92/152/12 60/8/12 100/130/12 +f 91/130/7 59/7/7 96/152/7 +f 89/152/10 57/8/10 95/130/10 +f 90/152/11 58/8/11 99/130/11 +f 71/7/14 79/130/14 47/8/14 +f 83/153/15 75/153/15 96/153/15 +f 73/152/18 81/8/18 49/130/18 +f 77/152/13 69/8/13 93/130/13 +f 55/7/7 87/130/7 31/8/7 +f 88/152/10 56/8/10 98/130/10 +f 86/152/7 54/8/7 97/130/7 +f 85/152/12 53/8/12 93/130/12 +f 265/10/17 257/151/17 269/149/17 +f 268/10/16 260/151/16 272/149/16 +f 267/149/9 259/150/9 271/10/9 +f 266/149/8 258/150/8 270/10/8 +f 238/152/14 255/130/14 230/8/14 +f 234/152/13 253/130/13 226/8/13 +f 232/7/13 212/8/13 240/130/13 +f 236/7/18 254/8/18 228/130/18 +f 252/152/9 223/130/9 203/8/9 +f 201/7/16 189/8/16 250/130/16 +f 254/152/17 222/130/17 202/8/17 +f 256/152/16 224/130/16 204/8/16 +f 248/152/10 256/130/10 220/8/10 +f 247/130/11 252/152/11 219/7/11 +f 245/152/12 251/130/12 217/8/12 +f 246/152/7 255/130/7 218/8/7 +f 227/7/18 207/8/18 235/130/18 +f 239/153/13 252/153/13 231/153/13 +f 229/152/14 209/130/14 237/8/14 +f 233/152/15 249/130/15 225/8/15 +f 215/7/11 195/8/11 243/130/11 +f 244/152/12 254/130/12 216/8/12 +f 242/152/11 253/130/11 214/8/11 +f 241/152/10 249/130/10 213/8/10 diff --git a/assets/hbm/models/core_injector.obj b/assets/hbm/models/core_injector.obj new file mode 100644 index 000000000..75ca551cf --- /dev/null +++ b/assets/hbm/models/core_injector.obj @@ -0,0 +1,416 @@ +# Blender v2.76 (sub 0) OBJ File: 'core_injector.blend' +# www.blender.org +o Cube_Cube.001 +v -0.500000 0.000000 0.500000 +v -0.500000 1.000000 0.500000 +v -0.500000 0.000000 -0.500000 +v -0.500000 1.000000 -0.500000 +v 0.500000 0.000000 0.500000 +v 0.500000 1.000000 0.500000 +v 0.500000 0.000000 -0.500000 +v 0.500000 1.000000 -0.500000 +v -0.500000 0.125000 0.375000 +v -0.500000 0.875000 0.375000 +v -0.500000 0.125000 -0.375000 +v -0.500000 0.875000 -0.375000 +v 0.500000 0.125000 0.375000 +v 0.500000 0.875000 0.375000 +v 0.500000 0.125000 -0.375000 +v 0.500000 0.875000 -0.375000 +v -0.375000 0.000000 0.375000 +v -0.375000 1.000000 0.375000 +v -0.375000 0.000000 -0.375000 +v -0.375000 1.000000 -0.375000 +v 0.375000 0.000000 0.375000 +v 0.375000 1.000000 0.375000 +v 0.375000 0.000000 -0.375000 +v 0.375000 1.000000 -0.375000 +v -0.375000 0.125000 0.500000 +v -0.375000 0.875000 0.500000 +v -0.375000 0.125000 -0.500000 +v -0.375000 0.875000 -0.500000 +v 0.375000 0.125000 0.500000 +v 0.375000 0.875000 0.500000 +v 0.375000 0.125000 -0.500000 +v 0.375000 0.875000 -0.500000 +v -0.437500 0.875000 0.375000 +v -0.437500 0.875000 -0.375000 +v -0.437500 0.125000 -0.375000 +v -0.437500 0.125000 0.375000 +v 0.437500 0.875000 -0.375000 +v 0.437500 0.875000 0.375000 +v 0.437500 0.125000 0.375000 +v 0.437500 0.125000 -0.375000 +v -0.375000 0.062500 0.375000 +v -0.375000 0.062500 -0.375000 +v 0.375000 0.062500 -0.375000 +v 0.375000 0.062500 0.375000 +v 0.375000 0.937500 0.375000 +v 0.375000 0.937500 -0.375000 +v -0.375000 0.937500 -0.375000 +v -0.375000 0.937500 0.375000 +v -0.375000 0.875000 -0.437500 +v 0.375000 0.875000 -0.437500 +v 0.375000 0.125000 -0.437500 +v -0.375000 0.125000 -0.437500 +v 0.375000 0.875000 0.437500 +v -0.375000 0.875000 0.437500 +v -0.375000 0.125000 0.437500 +v 0.375000 0.125000 0.437500 +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.156250 0.062500 0.156250 +v 0.156250 0.062500 0.156250 +v -0.156250 0.062500 -0.156250 +v 0.156250 0.062500 -0.156250 +v -0.156250 1.000000 0.156250 +v 0.156250 1.000000 0.156250 +v -0.156250 1.000000 -0.156250 +v 0.156250 1.000000 -0.156250 +v -0.156250 0.937500 0.156250 +v 0.156250 0.937500 0.156250 +v -0.156250 0.937500 -0.156250 +v 0.156250 0.937500 -0.156250 +v -0.156250 0.343750 -0.500000 +v 0.156250 0.343750 -0.500000 +v -0.156250 0.656250 -0.500000 +v 0.156250 0.656250 -0.500000 +v -0.156250 0.343750 -0.437500 +v 0.156250 0.343750 -0.437500 +v -0.156250 0.656250 -0.437500 +v 0.156250 0.656250 -0.437500 +v -0.500000 0.343750 0.156250 +v -0.500000 0.343750 -0.156250 +v -0.500000 0.656250 0.156250 +v -0.500000 0.656250 -0.156250 +v -0.437500 0.343750 0.156250 +v -0.437500 0.343750 -0.156250 +v -0.437500 0.656250 0.156250 +v -0.437500 0.656250 -0.156250 +v 0.500000 0.343750 0.156250 +v 0.500000 0.343750 -0.156250 +v 0.500000 0.656250 0.156250 +v 0.500000 0.656250 -0.156250 +v 0.437500 0.343750 0.156250 +v 0.437500 0.343750 -0.156250 +v 0.437500 0.656250 0.156250 +v 0.437500 0.656250 -0.156250 +v 0.000000 0.625000 0.437500 +v -0.088388 0.588388 0.437500 +v -0.125000 0.500000 0.437500 +v -0.088388 0.411612 0.437500 +v 0.000000 0.375000 0.437500 +v 0.088388 0.411612 0.437500 +v 0.125000 0.500000 0.437500 +v 0.088388 0.588388 0.437500 +v -0.088388 0.588388 0.750000 +v 0.000000 0.625000 0.750000 +v -0.125000 0.500000 0.750000 +v -0.088388 0.411612 0.750000 +v 0.000000 0.375000 0.750000 +v 0.088388 0.411612 0.750000 +v 0.125000 0.500000 0.750000 +v 0.088388 0.588388 0.750000 +v -0.066291 0.566291 0.750000 +v 0.000000 0.593750 0.750000 +v -0.093750 0.500000 0.750000 +v -0.066291 0.433709 0.750000 +v 0.000000 0.406250 0.750000 +v 0.066291 0.433709 0.750000 +v 0.093750 0.500000 0.750000 +v 0.066291 0.566291 0.750000 +v -0.066291 0.566291 1.000000 +v 0.000000 0.593750 1.000000 +v -0.093750 0.500000 1.000000 +v -0.066291 0.433709 1.000000 +v 0.000000 0.406250 1.000000 +v 0.066291 0.433709 1.000000 +v 0.093750 0.500000 1.000000 +v 0.066291 0.566291 1.000000 +vt 0.062500 0.437500 +vt 0.437500 0.437500 +vt 0.500000 0.500000 +vt 0.437500 0.062500 +vt 0.062500 0.062500 +vt -0.000000 0.000000 +vt 0.000000 0.500000 +vt 0.500000 0.000000 +vt 0.375000 0.500000 +vt 0.375000 0.531250 +vt -0.000000 0.531250 +vt 0.156250 0.687500 +vt 0.156250 0.718750 +vt 0.000000 0.718750 +vt -0.000000 0.687500 +vt 0.156250 0.531250 +vt 0.468750 0.531250 +vt 0.437500 0.531250 +vt 0.500000 0.375000 +vt 0.500000 0.250000 +vt 0.656250 0.250000 +vt 0.500000 0.625000 +vt 0.656250 0.625000 +vt 0.656250 0.750000 +vt 0.500000 0.875000 +vt 0.656250 0.875000 +vt 0.656250 1.000000 +vt 0.500000 0.125000 +vt 0.656250 0.125000 +vt 0.656250 0.375000 +vt 0.656250 0.500000 +vt 0.500000 0.750000 +vt 0.656250 0.000000 +vt 0.656250 0.312500 +vt 0.781250 0.312500 +vt 0.781250 0.375000 +vt 0.406250 0.531250 +vt 0.406250 0.562500 +vt 0.375000 0.625000 +vt 0.406250 0.593750 +vt 0.437500 0.593750 +vt 0.437500 0.625000 +vt 0.468750 0.593750 +vt 0.500000 0.562500 +vt 0.468750 0.562500 +vt 0.437500 0.500000 +vt 0.375000 0.562500 +vt 0.656250 0.437500 +vt 0.781250 0.437500 +vt 0.781250 0.500000 +vt 0.656250 0.062500 +vt 0.781250 0.062500 +vt 0.781250 0.125000 +vt 0.656250 0.187500 +vt 0.781250 0.187500 +vt 0.781250 0.250000 +vt 0.781250 0.000000 +vt 0.500000 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.000000 0.000000 1.000000 +vn 1.000000 0.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn -0.923900 0.382700 0.000000 +vn 0.923900 0.382700 0.000000 +vn 0.382700 -0.923900 0.000000 +vn -0.923900 -0.382700 0.000000 +vn -0.382700 0.923900 -0.000000 +vn 0.382700 0.923900 0.000000 +vn 0.923900 -0.382700 0.000000 +vn -0.382700 -0.923900 0.000000 +s off +f 12/1/1 10/2/1 2/3/1 +f 27/4/2 31/5/2 7/6/2 +f 11/5/1 12/1/1 4/7/1 +f 31/5/2 32/1/2 8/7/2 +f 7/8/3 23/4/3 19/5/3 +f 3/6/3 19/5/3 17/1/3 +f 4/3/2 28/2/2 27/4/2 +f 32/1/2 28/2/2 4/3/2 +f 26/1/4 30/2/4 6/3/4 +f 6/3/4 30/2/4 29/4/4 +f 29/4/4 25/5/4 1/6/4 +f 1/6/4 25/5/4 26/1/4 +f 10/2/1 9/4/1 1/8/1 +f 9/4/1 11/5/1 3/6/1 +f 14/1/5 16/2/5 8/3/5 +f 13/5/5 14/1/5 6/7/5 +f 15/4/5 13/5/5 5/6/5 +f 8/3/5 16/2/5 15/4/5 +f 5/3/3 21/2/3 23/4/3 +f 1/7/3 17/1/3 21/2/3 +f 8/6/6 24/5/6 22/1/6 +f 6/7/6 22/1/6 18/2/6 +f 2/3/6 18/2/6 20/4/6 +f 4/8/6 20/4/6 24/5/6 +f 34/7/3 33/9/3 10/10/3 +f 35/7/4 34/9/4 12/10/4 +f 36/10/6 35/11/6 11/7/6 +f 33/10/2 36/11/2 9/7/2 +f 38/7/3 37/9/3 16/10/3 +f 39/7/2 38/9/2 14/10/2 +f 40/10/6 39/11/6 13/7/6 +f 37/10/4 40/11/4 15/7/4 +f 95/12/6 91/13/6 92/14/6 +f 42/7/5 41/9/5 17/10/5 +f 43/10/4 42/11/4 19/7/4 +f 44/10/1 43/11/1 23/7/1 +f 41/7/2 44/9/2 21/10/2 +f 95/15/4 93/12/4 89/13/4 +f 46/10/1 45/11/1 22/7/1 +f 47/7/4 46/9/4 24/10/4 +f 48/7/5 47/9/5 20/10/5 +f 45/10/2 48/11/2 18/7/2 +f 90/13/3 89/14/3 93/15/3 +f 50/7/3 49/9/3 28/10/3 +f 51/7/1 50/9/1 32/10/1 +f 52/10/6 51/11/6 31/7/6 +f 49/10/5 52/11/5 27/7/5 +f 54/1/4 55/5/4 56/4/4 +f 54/7/3 53/9/3 30/10/3 +f 55/7/5 54/9/5 26/10/5 +f 56/10/6 55/11/6 25/7/6 +f 53/10/1 56/11/1 29/7/1 +f 59/11/3 60/16/3 58/12/3 +f 66/15/6 68/11/6 67/16/6 +f 75/12/2 76/15/2 74/11/2 +f 90/16/5 92/12/5 91/15/5 +f 83/12/1 84/15/1 82/11/1 +f 96/12/2 92/13/2 90/14/2 +f 79/15/6 80/12/6 76/13/6 +f 77/15/1 79/12/1 75/13/1 +f 78/15/3 77/12/3 73/13/3 +f 76/14/5 80/15/5 78/12/5 +f 86/15/3 85/12/3 81/13/3 +f 85/15/4 87/12/4 83/13/4 +f 83/14/6 87/15/6 88/12/6 +f 84/14/2 88/15/2 86/12/2 +f 43/4/3 44/2/3 41/1/3 +f 62/15/4 61/12/4 57/13/4 +f 61/15/1 63/12/1 59/13/1 +f 64/15/5 62/12/5 58/13/5 +f 63/15/2 64/12/2 60/13/2 +f 35/5/1 36/4/1 33/2/1 +f 51/5/2 52/4/2 49/2/2 +f 39/5/5 40/4/5 37/2/5 +f 47/4/6 48/2/6 45/1/6 +f 68/14/2 72/15/2 71/12/2 +f 67/14/1 71/15/1 69/12/1 +f 65/14/4 69/15/4 70/12/4 +f 66/14/5 70/15/5 72/12/5 +f 110/3/4 118/17/4 117/18/4 +f 98/19/7 99/20/7 107/21/7 +f 104/22/8 112/23/8 111/24/8 +f 102/25/9 110/26/9 109/27/9 +f 100/28/10 108/29/10 107/21/10 +f 98/19/11 105/30/11 106/31/11 +f 97/3/12 106/31/12 112/23/12 +f 103/32/13 111/24/13 110/26/13 +f 101/8/14 109/33/14 108/29/14 +f 120/34/8 128/35/8 127/36/8 +f 108/9/4 116/37/4 115/38/4 +f 105/39/4 113/40/4 114/41/4 +f 106/42/4 114/41/4 120/43/4 +f 111/44/4 119/45/4 118/17/4 +f 109/46/4 117/18/4 116/37/4 +f 107/47/4 115/38/4 113/40/4 +f 112/22/4 120/43/4 119/45/4 +f 125/18/4 127/45/4 122/41/4 +f 118/48/9 126/49/9 125/50/9 +f 116/51/10 124/52/10 123/53/10 +f 113/54/11 121/55/11 122/56/11 +f 114/21/12 122/56/12 128/35/12 +f 119/30/13 127/36/13 126/49/13 +f 117/33/14 125/57/14 124/52/14 +f 115/29/7 123/53/7 121/55/7 +f 4/7/1 12/1/1 2/3/1 +f 3/8/2 27/4/2 7/6/2 +f 3/6/1 11/5/1 4/7/1 +f 7/6/2 31/5/2 8/7/2 +f 3/6/3 7/8/3 19/5/3 +f 1/7/3 3/6/3 17/1/3 +f 3/8/2 4/3/2 27/4/2 +f 8/7/2 32/1/2 4/3/2 +f 2/7/4 26/1/4 6/3/4 +f 5/8/4 6/3/4 29/4/4 +f 5/8/4 29/4/4 1/6/4 +f 2/7/4 1/6/4 26/1/4 +f 2/3/1 10/2/1 1/8/1 +f 1/8/1 9/4/1 3/6/1 +f 6/7/5 14/1/5 8/3/5 +f 5/6/5 13/5/5 6/7/5 +f 7/8/5 15/4/5 5/6/5 +f 7/8/5 8/3/5 15/4/5 +f 7/8/3 5/3/3 23/4/3 +f 5/3/3 1/7/3 21/2/3 +f 6/7/6 8/6/6 22/1/6 +f 2/3/6 6/7/6 18/2/6 +f 4/8/6 2/3/6 20/4/6 +f 8/6/6 4/8/6 24/5/6 +f 12/11/3 34/7/3 10/10/3 +f 11/11/4 35/7/4 12/10/4 +f 9/9/6 36/10/6 11/7/6 +f 10/9/2 33/10/2 9/7/2 +f 14/11/3 38/7/3 16/10/3 +f 13/11/2 39/7/2 14/10/2 +f 15/9/6 40/10/6 13/7/6 +f 16/9/4 37/10/4 15/7/4 +f 96/15/6 95/12/6 92/14/6 +f 19/11/5 42/7/5 17/10/5 +f 23/9/4 43/10/4 19/7/4 +f 21/9/1 44/10/1 23/7/1 +f 17/11/2 41/7/2 21/10/2 +f 91/14/4 95/15/4 89/13/4 +f 24/9/1 46/10/1 22/7/1 +f 20/11/4 47/7/4 24/10/4 +f 18/11/5 48/7/5 20/10/5 +f 22/9/2 45/10/2 18/7/2 +f 94/12/3 90/13/3 93/15/3 +f 32/11/3 50/7/3 28/10/3 +f 31/11/1 51/7/1 32/10/1 +f 27/9/6 52/10/6 31/7/6 +f 28/9/5 49/10/5 27/7/5 +f 53/2/4 54/1/4 56/4/4 +f 26/11/3 54/7/3 30/10/3 +f 25/11/5 55/7/5 26/10/5 +f 29/9/6 56/10/6 25/7/6 +f 30/9/1 53/10/1 29/7/1 +f 57/15/3 59/11/3 58/12/3 +f 65/12/6 66/15/6 67/16/6 +f 73/16/2 75/12/2 74/11/2 +f 89/11/5 90/16/5 91/15/5 +f 81/16/1 83/12/1 82/11/1 +f 94/15/2 96/12/2 90/14/2 +f 75/14/6 79/15/6 76/13/6 +f 73/14/1 77/15/1 75/13/1 +f 74/14/3 78/15/3 73/13/3 +f 74/13/5 76/14/5 78/12/5 +f 82/14/3 86/15/3 81/13/3 +f 81/14/4 85/15/4 83/13/4 +f 84/13/6 83/14/6 88/12/6 +f 82/13/2 84/14/2 86/12/2 +f 42/5/3 43/4/3 41/1/3 +f 58/14/4 62/15/4 57/13/4 +f 57/14/1 61/15/1 59/13/1 +f 60/14/5 64/15/5 58/13/5 +f 59/14/2 63/15/2 60/13/2 +f 34/1/1 35/5/1 33/2/1 +f 50/1/2 51/5/2 49/2/2 +f 38/1/5 39/5/5 37/2/5 +f 46/5/6 47/4/6 45/1/6 +f 67/13/2 68/14/2 71/12/2 +f 65/13/1 67/14/1 69/12/1 +f 66/13/4 65/14/4 70/12/4 +f 68/13/5 66/14/5 72/12/5 +f 109/46/4 110/3/4 117/18/4 +f 105/30/7 98/19/7 107/21/7 +f 103/32/8 104/22/8 111/24/8 +f 101/58/9 102/25/9 109/27/9 +f 99/20/10 100/28/10 107/21/10 +f 97/3/11 98/19/11 106/31/11 +f 104/22/12 97/3/12 112/23/12 +f 102/25/13 103/32/13 110/26/13 +f 100/28/14 101/8/14 108/29/14 +f 119/30/8 120/34/8 127/36/8 +f 107/47/4 108/9/4 115/38/4 +f 106/42/4 105/39/4 114/41/4 +f 112/22/4 106/42/4 120/43/4 +f 110/3/4 111/44/4 118/17/4 +f 108/9/4 109/46/4 116/37/4 +f 105/39/4 107/47/4 113/40/4 +f 111/44/4 112/22/4 119/45/4 +f 122/41/4 121/40/4 123/38/4 +f 123/38/4 124/37/4 125/18/4 +f 125/18/4 126/17/4 127/45/4 +f 127/45/4 128/43/4 122/41/4 +f 122/41/4 123/38/4 125/18/4 +f 117/31/9 118/48/9 125/50/9 +f 115/29/10 116/51/10 123/53/10 +f 114/21/11 113/54/11 122/56/11 +f 120/34/12 114/21/12 128/35/12 +f 118/48/13 119/30/13 126/49/13 +f 116/51/14 117/33/14 124/52/14 +f 113/54/7 115/29/7 121/55/7 diff --git a/assets/hbm/models/core_receiver.obj b/assets/hbm/models/core_receiver.obj new file mode 100644 index 000000000..55c870ba8 --- /dev/null +++ b/assets/hbm/models/core_receiver.obj @@ -0,0 +1,770 @@ +# Blender v2.76 (sub 0) OBJ File: 'core_receiver.blend' +# www.blender.org +o Cube_Cube.001 +v -0.500000 0.000000 0.500000 +v -0.500000 1.000000 0.500000 +v -0.500000 0.000000 -0.500000 +v -0.500000 1.000000 -0.500000 +v 0.500000 0.000000 0.500000 +v 0.500000 1.000000 0.500000 +v 0.500000 0.000000 -0.500000 +v 0.500000 1.000000 -0.500000 +v -0.500000 0.125000 0.375000 +v -0.500000 0.875000 0.375000 +v -0.500000 0.125000 -0.375000 +v -0.500000 0.875000 -0.375000 +v 0.500000 0.125000 0.375000 +v 0.500000 0.875000 0.375000 +v 0.500000 0.125000 -0.375000 +v 0.500000 0.875000 -0.375000 +v -0.375000 0.125000 0.500000 +v -0.375000 0.875000 0.500000 +v -0.375000 0.125000 -0.500000 +v -0.375000 0.875000 -0.500000 +v 0.375000 0.125000 0.500000 +v 0.375000 0.875000 0.500000 +v 0.375000 0.125000 -0.500000 +v 0.375000 0.875000 -0.500000 +v -0.375000 0.000000 0.375000 +v -0.375000 1.000000 0.375000 +v -0.375000 0.000000 -0.375000 +v -0.375000 1.000000 -0.375000 +v 0.375000 0.000000 0.375000 +v 0.375000 1.000000 0.375000 +v 0.375000 0.000000 -0.375000 +v 0.375000 1.000000 -0.375000 +v -0.375000 0.125000 0.375000 +v -0.375000 0.125000 -0.375000 +v 0.375000 0.125000 0.375000 +v 0.375000 0.125000 -0.375000 +v -0.375000 0.875000 0.375000 +v -0.375000 0.875000 -0.375000 +v 0.375000 0.875000 0.375000 +v 0.375000 0.875000 -0.375000 +v -0.000000 0.875000 -0.500000 +v -0.000000 0.875000 0.500000 +v 0.143506 0.846455 -0.500000 +v 0.143506 0.846455 0.500000 +v 0.265165 0.765165 -0.500000 +v 0.265165 0.765165 0.500000 +v 0.346455 0.643506 -0.500000 +v 0.346455 0.643506 0.500000 +v 0.375000 0.500000 -0.500000 +v 0.375000 0.500000 0.500000 +v 0.346455 0.356494 -0.500000 +v 0.346455 0.356494 0.500000 +v 0.265165 0.234835 -0.500000 +v 0.265165 0.234835 0.500000 +v 0.143506 0.153545 -0.500000 +v 0.143506 0.153545 0.500000 +v 0.000000 0.125000 -0.500000 +v 0.000000 0.125000 0.500000 +v -0.143506 0.153545 -0.500000 +v -0.143506 0.153545 0.500000 +v -0.265165 0.234835 -0.500000 +v -0.265165 0.234835 0.500000 +v -0.346455 0.356494 -0.500000 +v -0.346455 0.356494 0.500000 +v -0.375000 0.500000 -0.500000 +v -0.375000 0.500000 0.500000 +v -0.346455 0.643506 -0.500000 +v -0.346455 0.643506 0.500000 +v -0.265165 0.765165 -0.500000 +v -0.265165 0.765165 0.500000 +v -0.143506 0.846455 -0.500000 +v -0.143506 0.846455 0.500000 +v 0.000000 0.750000 0.500000 +v -0.095671 0.730970 0.500000 +v -0.176777 0.676777 0.500000 +v -0.230970 0.595671 0.500000 +v -0.250000 0.500000 0.500000 +v -0.230970 0.404329 0.500000 +v -0.176777 0.323223 0.500000 +v -0.095671 0.269030 0.500000 +v -0.000000 0.250000 0.500000 +v 0.095671 0.269030 0.500000 +v 0.176777 0.323223 0.500000 +v 0.230970 0.404329 0.500000 +v 0.250000 0.500000 0.500000 +v 0.230970 0.595671 0.500000 +v 0.176777 0.676777 0.500000 +v 0.095671 0.730970 0.500000 +v -0.095671 0.730970 0.750000 +v -0.000000 0.750000 0.750000 +v -0.176777 0.676777 0.750000 +v -0.230970 0.595671 0.750000 +v -0.250000 0.500000 0.750000 +v -0.230970 0.404329 0.750000 +v -0.176777 0.323223 0.750000 +v -0.095671 0.269030 0.750000 +v -0.000000 0.250000 0.750000 +v 0.095671 0.269030 0.750000 +v 0.176777 0.323223 0.750000 +v 0.230970 0.404329 0.750000 +v 0.250000 0.500000 0.750000 +v 0.230970 0.595671 0.750000 +v 0.176777 0.676777 0.750000 +v 0.095671 0.730970 0.750000 +v -0.071753 0.673227 0.750000 +v -0.000000 0.687500 0.750000 +v -0.132583 0.632583 0.750000 +v -0.173227 0.571753 0.750000 +v -0.187500 0.500000 0.750000 +v -0.173227 0.428247 0.750000 +v -0.132583 0.367417 0.750000 +v -0.071753 0.326773 0.750000 +v -0.000000 0.312500 0.750000 +v 0.071753 0.326773 0.750000 +v 0.132582 0.367417 0.750000 +v 0.173227 0.428247 0.750000 +v 0.187500 0.500000 0.750000 +v 0.173227 0.571753 0.750000 +v 0.132582 0.632583 0.750000 +v 0.071753 0.673227 0.750000 +v -0.071753 0.673227 0.500000 +v -0.000000 0.687500 0.500000 +v -0.132583 0.632583 0.500000 +v -0.173227 0.571753 0.500000 +v -0.187500 0.500000 0.500000 +v -0.173227 0.428247 0.500000 +v -0.132583 0.367417 0.500000 +v -0.071753 0.326773 0.500000 +v -0.000000 0.312500 0.500000 +v 0.071753 0.326773 0.500000 +v 0.132582 0.367417 0.500000 +v 0.173227 0.428247 0.500000 +v 0.187500 0.500000 0.500000 +v 0.173227 0.571753 0.500000 +v 0.132582 0.632583 0.500000 +v 0.071753 0.673227 0.500000 +v -0.500000 0.343750 0.156250 +v -0.500000 0.656250 0.156250 +v -0.500000 0.343750 -0.156250 +v -0.500000 0.656250 -0.156250 +v 0.500000 0.343750 0.156250 +v 0.500000 0.656250 0.156250 +v 0.500000 0.343750 -0.156250 +v 0.500000 0.656250 -0.156250 +v -0.156250 0.000000 0.156250 +v -0.156250 1.000000 0.156250 +v -0.156250 0.000000 -0.156250 +v -0.156250 1.000000 -0.156250 +v 0.156250 0.000000 0.156250 +v 0.156250 1.000000 0.156250 +v 0.156250 0.000000 -0.156250 +v 0.156250 1.000000 -0.156250 +v 0.375000 0.656250 -0.156250 +v 0.375000 0.343750 -0.156250 +v 0.375000 0.656250 0.156250 +v 0.375000 0.343750 0.156250 +v -0.156250 0.875000 0.156250 +v -0.156250 0.875000 -0.156250 +v 0.156250 0.875000 0.156250 +v 0.156250 0.875000 -0.156250 +v -0.375000 0.343750 0.156250 +v -0.375000 0.656250 0.156250 +v -0.375000 0.343750 -0.156250 +v -0.375000 0.656250 -0.156250 +v -0.156250 0.125000 0.156250 +v -0.156250 0.125000 -0.156250 +v 0.156250 0.125000 0.156250 +v 0.156250 0.125000 -0.156250 +v -0.500000 0.125000 0.375000 +v -0.500000 0.875000 0.375000 +v -0.500000 0.125000 -0.375000 +v -0.500000 0.875000 -0.375000 +v 0.500000 0.125000 0.375000 +v 0.500000 0.875000 0.375000 +v 0.500000 0.125000 -0.375000 +v 0.500000 0.875000 -0.375000 +v -0.375000 0.000000 0.375000 +v -0.375000 1.000000 0.375000 +v -0.375000 0.000000 -0.375000 +v -0.375000 1.000000 -0.375000 +v 0.375000 0.000000 0.375000 +v 0.375000 1.000000 0.375000 +v 0.375000 0.000000 -0.375000 +v 0.375000 1.000000 -0.375000 +v -0.375000 0.125000 0.375000 +v -0.375000 0.125000 -0.375000 +v 0.375000 0.125000 0.375000 +v 0.375000 0.125000 -0.375000 +v -0.375000 0.875000 0.375000 +v -0.375000 0.875000 -0.375000 +v 0.375000 0.875000 0.375000 +v 0.375000 0.875000 -0.375000 +v -0.500000 0.343750 0.156250 +v -0.500000 0.656250 0.156250 +v -0.500000 0.343750 -0.156250 +v -0.500000 0.656250 -0.156250 +v 0.500000 0.343750 0.156250 +v 0.500000 0.656250 0.156250 +v 0.500000 0.343750 -0.156250 +v 0.500000 0.656250 -0.156250 +v -0.156250 0.000000 0.156250 +v -0.156250 1.000000 0.156250 +v -0.156250 0.000000 -0.156250 +v -0.156250 1.000000 -0.156250 +v 0.156250 0.000000 0.156250 +v 0.156250 1.000000 0.156250 +v 0.156250 0.000000 -0.156250 +v 0.156250 1.000000 -0.156250 +v 0.375000 0.656250 -0.156250 +v 0.375000 0.343750 -0.156250 +v 0.375000 0.656250 0.156250 +v 0.375000 0.343750 0.156250 +v -0.156250 0.875000 0.156250 +v -0.156250 0.875000 -0.156250 +v 0.156250 0.875000 0.156250 +v 0.156250 0.875000 -0.156250 +v -0.375000 0.343750 0.156250 +v -0.375000 0.656250 0.156250 +v -0.375000 0.343750 -0.156250 +v -0.375000 0.656250 -0.156250 +v -0.156250 0.125000 0.156250 +v -0.156250 0.125000 -0.156250 +v 0.156250 0.125000 0.156250 +v 0.156250 0.125000 -0.156250 +vt 0.842105 0.421053 +vt 0.789474 0.368421 +vt 0.789474 0.052632 +vt 0.473684 0.052632 +vt 0.421053 0.000000 +vt 0.421053 0.421053 +vt 0.473684 0.368421 +vt 0.421053 0.526316 +vt 0.421053 0.473684 +vt 0.736842 0.473684 +vt 0.842105 -0.000000 +vt 0.736842 0.421053 +vt 0.736842 0.526316 +vt 0.000000 0.421053 +vt 0.000000 0.368421 +vt 0.421053 0.368421 +vt 0.000000 0.315789 +vt 0.421053 0.315789 +vt 0.000000 0.263158 +vt 0.000000 0.210526 +vt 0.421053 0.210526 +vt 0.000000 0.157895 +vt 0.000000 0.105263 +vt 0.421053 0.105263 +vt 0.000000 0.052632 +vt 0.421053 0.052632 +vt 0.000000 -0.000000 +vt 0.000000 0.842105 +vt 0.000000 0.789474 +vt 0.421053 0.789474 +vt 0.000000 0.736842 +vt 0.421053 0.736842 +vt 0.000000 0.684211 +vt 0.421053 0.684211 +vt 0.000000 0.631579 +vt 0.421053 0.631579 +vt 0.000000 0.578947 +vt 0.421053 0.578947 +vt 0.000000 0.526316 +vt 0.552632 0.078947 +vt 0.578947 0.105263 +vt 0.552632 0.131579 +vt 0.000000 0.473684 +vt 0.763158 0.289474 +vt 0.710526 0.342105 +vt 0.631579 0.052632 +vt 0.631579 0.105263 +vt 0.710526 0.078947 +vt 0.684211 0.105263 +vt 0.736842 0.105263 +vt 0.710526 0.131579 +vt 0.763158 0.131579 +vt 0.736842 0.157895 +vt 0.789474 0.210526 +vt 0.736842 0.210526 +vt 0.736842 0.263158 +vt 0.736842 0.315789 +vt 0.710526 0.289474 +vt 0.684211 0.315789 +vt 0.631579 0.368421 +vt 0.631579 0.315789 +vt 0.552632 0.342105 +vt 0.578947 0.315789 +vt 0.526316 0.315789 +vt 0.552632 0.289474 +vt 0.500000 0.289474 +vt 0.526316 0.263158 +vt 0.473684 0.210526 +vt 0.526316 0.210526 +vt 0.500000 0.131579 +vt 0.526316 0.157895 +vt 0.526316 0.105263 +vt 0.078947 0.842105 +vt 0.078947 0.947368 +vt 0.052632 0.947368 +vt 0.631579 0.289474 +vt 0.657895 0.289474 +vt 0.315789 0.842105 +vt 0.315789 0.947368 +vt 0.289474 0.947368 +vt 0.105263 0.842105 +vt 0.105263 0.947368 +vt 0.342105 0.842105 +vt 0.342105 0.947368 +vt 0.131579 0.842105 +vt 0.131579 0.947368 +vt 0.368421 0.842105 +vt 0.368421 0.947368 +vt 0.157895 0.842105 +vt 0.157895 0.947368 +vt 0.394737 0.842105 +vt 0.394737 0.947368 +vt 0.184211 0.842105 +vt 0.184211 0.947368 +vt 0.421053 0.842105 +vt 0.421053 0.947368 +vt 0.236842 0.842105 +vt 0.236842 0.947368 +vt 0.210526 0.947368 +vt 0.210526 0.842105 +vt 0.026316 0.842105 +vt 0.026316 0.947368 +vt 0.000000 0.947368 +vt 0.263158 0.842105 +vt 0.263158 0.947368 +vt 0.052632 0.842105 +vt 0.289474 0.842105 +vt 0.684211 0.263158 +vt 0.631579 0.131579 +vt 0.605263 0.131579 +vt 0.605263 0.289474 +vt 0.657895 0.131579 +vt 0.578947 0.263158 +vt 0.684211 0.157895 +vt 0.552632 0.236842 +vt 0.710526 0.184211 +vt 0.552632 0.210526 +vt 0.710526 0.210526 +vt 0.552632 0.184211 +vt 0.710526 0.236842 +vt 0.578947 0.157895 +vt 0.421053 0.657895 +vt 0.552632 0.526316 +vt 0.973684 0.000000 +vt 0.973684 0.421053 +vt 0.552632 0.657895 +vt 0.421053 0.710526 +vt 0.552632 0.710526 +vt 1.421053 0.263158 +vt 1.421053 0.131579 +vt 1.736842 0.131579 +vt 1.421053 0.552632 +vt 1.421053 0.421053 +vt 1.736842 0.421053 +vt 1.421053 0.289474 +vt 1.736842 0.289474 +vt 0.421053 0.263158 +vt 0.421053 0.157895 +vt 1.736842 0.263158 +vt 1.736842 0.552632 +vn 1.000000 0.000000 0.000000 +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 -1.000000 0.000000 0.000000 +vn 0.195100 0.980800 0.000000 +vn 0.555600 0.831500 -0.000000 +vn 0.831500 0.555600 0.000000 +vn 0.980800 0.195100 -0.000000 +vn 0.980800 -0.195100 0.000000 +vn 0.831500 -0.555600 0.000000 +vn 0.555600 -0.831500 0.000000 +vn 0.195100 -0.980800 0.000000 +vn -0.195100 -0.980800 0.000000 +vn -0.555600 -0.831500 0.000000 +vn -0.831500 -0.555600 0.000000 +vn -0.980800 -0.195100 0.000000 +vn -0.980800 0.195100 -0.000000 +vn -0.831500 0.555600 -0.000000 +vn -0.195100 0.980800 -0.000000 +vn -0.555600 0.831500 -0.000000 +vn 0.000000 0.707100 -0.707100 +vn 0.000000 -0.707100 -0.707100 +vn 0.000000 -0.707100 0.707100 +vn 0.000000 0.707100 0.707100 +vn 0.707100 0.000000 -0.707100 +vn 0.707100 0.000000 0.707100 +vn -0.707100 0.000000 0.707100 +vn -0.707100 0.000000 -0.707100 +s off +f 8/1/1 16/2/1 15/3/1 +f 4/1/2 20/2/2 19/3/2 +f 15/3/1 13/4/1 5/5/1 +f 19/3/2 23/4/2 7/5/2 +f 6/6/3 30/7/3 26/2/3 +f 8/5/3 32/4/3 30/7/3 +f 28/8/4 38/9/4 40/10/4 +f 2/1/3 26/2/3 28/3/3 +f 4/11/3 28/3/3 32/4/3 +f 7/11/5 31/3/5 27/4/5 +f 3/5/5 27/4/5 25/7/5 +f 1/6/5 25/7/5 29/2/5 +f 5/1/5 29/2/5 31/3/5 +f 14/7/1 16/2/1 8/1/1 +f 13/4/1 14/7/1 6/6/1 +f 11/4/6 12/7/6 4/6/6 +f 12/7/6 10/2/6 2/1/6 +f 10/2/6 9/3/6 1/11/6 +f 9/3/6 11/4/6 3/5/6 +f 24/7/2 20/2/2 4/1/2 +f 23/4/2 24/7/2 8/6/2 +f 18/7/4 22/2/4 6/1/4 +f 6/1/4 22/2/4 21/3/4 +f 21/3/4 17/4/4 1/5/4 +f 1/5/4 17/4/4 18/7/4 +f 25/12/2 33/10/2 35/9/2 +f 35/9/3 33/10/3 17/13/3 +f 29/12/6 35/10/6 36/9/6 +f 36/9/3 35/10/3 13/13/3 +f 36/10/4 34/9/4 27/6/4 +f 27/12/1 34/10/1 33/9/1 +f 33/9/3 34/10/3 11/13/3 +f 19/8/3 34/9/3 36/10/3 +f 18/12/5 37/10/5 39/9/5 +f 39/9/2 37/10/2 26/13/2 +f 26/8/1 37/9/1 38/10/1 +f 32/8/6 40/9/6 39/10/6 +f 39/10/5 40/9/5 16/6/5 +f 40/10/5 38/9/5 20/6/5 +f 38/10/5 37/9/5 10/6/5 +f 17/8/1 33/9/1 37/10/1 +f 39/9/6 35/10/6 21/13/6 +f 13/12/2 35/10/2 39/9/2 +f 40/10/4 36/9/4 15/6/4 +f 23/8/6 36/9/6 40/10/6 +f 38/9/1 34/10/1 19/13/1 +f 11/12/4 34/10/4 38/9/4 +f 37/10/2 33/9/2 9/6/2 +f 42/14/7 44/15/7 43/16/7 +f 43/16/8 44/15/8 46/17/8 +f 45/18/9 46/17/9 48/19/9 +f 48/19/10 50/20/10 49/21/10 +f 49/21/11 50/20/11 52/22/11 +f 52/22/12 54/23/12 53/24/12 +f 54/23/13 56/25/13 55/26/13 +f 55/26/14 56/25/14 58/27/14 +f 58/28/15 60/29/15 59/30/15 +f 60/29/16 62/31/16 61/32/16 +f 62/31/17 64/33/17 63/34/17 +f 64/33/18 66/35/18 65/36/18 +f 66/35/19 68/37/19 67/38/19 +f 68/37/20 70/39/20 69/8/20 +f 60/40/4 80/41/4 79/42/4 +f 72/43/21 42/14/21 41/6/21 +f 70/39/22 72/43/22 71/9/22 +f 55/40/2 67/44/2 71/45/2 +f 60/40/4 58/46/4 81/47/4 +f 58/46/4 56/48/4 82/49/4 +f 56/48/4 54/50/4 83/51/4 +f 54/50/4 52/52/4 84/53/4 +f 52/52/4 50/54/4 85/55/4 +f 48/44/4 86/56/4 85/55/4 +f 46/57/4 87/58/4 86/56/4 +f 44/45/4 88/59/4 87/58/4 +f 42/60/4 73/61/4 88/59/4 +f 72/62/4 74/63/4 73/61/4 +f 70/64/4 75/65/4 74/63/4 +f 68/66/4 76/67/4 75/65/4 +f 66/68/4 77/69/4 76/67/4 +f 64/70/4 78/71/4 77/69/4 +f 62/72/4 79/42/4 78/71/4 +f 84/73/12 100/74/12 99/75/12 +f 89/61/4 105/76/4 106/77/4 +f 77/78/19 93/79/19 92/80/19 +f 85/81/11 101/82/11 100/74/11 +f 78/83/18 94/84/18 93/79/18 +f 86/85/10 102/86/10 101/82/10 +f 79/87/17 95/88/17 94/84/17 +f 87/89/9 103/90/9 102/86/9 +f 80/91/16 96/92/16 95/88/16 +f 88/93/8 104/94/8 103/90/8 +f 81/95/15 97/96/15 96/92/15 +f 74/97/21 89/98/21 90/99/21 +f 73/100/7 90/99/7 104/94/7 +f 82/101/14 98/102/14 97/103/14 +f 75/104/22 91/105/22 89/98/22 +f 83/106/13 99/75/13 98/102/13 +f 76/107/20 92/80/20 91/105/20 +f 111/75/9 127/106/9 126/73/9 +f 90/59/4 106/77/4 120/108/4 +f 98/47/4 114/109/4 113/110/4 +f 91/63/4 107/111/4 105/76/4 +f 99/49/4 115/112/4 114/109/4 +f 92/65/4 108/113/4 107/111/4 +f 100/51/4 116/114/4 115/112/4 +f 93/67/4 109/115/4 108/113/4 +f 101/53/4 117/116/4 116/114/4 +f 93/67/4 94/69/4 110/117/4 +f 101/53/4 102/55/4 118/118/4 +f 94/69/4 95/71/4 111/119/4 +f 103/56/4 119/120/4 118/118/4 +f 96/42/4 112/121/4 111/119/4 +f 104/58/4 120/108/4 119/120/4 +f 97/41/4 113/110/4 112/121/4 +f 129/109/4 135/108/4 122/76/4 +f 119/105/17 135/104/17 134/107/17 +f 112/102/8 128/101/8 127/106/8 +f 119/105/16 120/98/16 136/97/16 +f 113/103/7 129/28/7 128/101/7 +f 105/94/14 121/93/14 122/100/14 +f 106/99/15 122/100/15 136/97/15 +f 114/92/21 130/91/21 129/95/21 +f 107/90/13 123/89/13 121/93/13 +f 115/88/22 131/87/22 130/91/22 +f 108/86/12 124/85/12 123/89/12 +f 116/84/20 132/83/20 131/87/20 +f 109/82/11 125/81/11 124/85/11 +f 117/79/19 133/78/19 132/83/19 +f 110/74/10 126/73/10 125/81/10 +f 118/80/18 134/107/18 133/78/18 +f 140/122/6 139/8/6 137/123/6 +f 144/11/2 143/124/2 139/125/2 +f 142/122/1 141/8/1 143/123/1 +f 138/125/4 137/1/4 141/11/4 +f 139/1/5 143/11/5 141/124/5 +f 144/124/3 140/125/3 138/1/3 +f 148/1/6 147/11/6 145/124/6 +f 152/1/2 151/11/2 147/124/2 +f 150/1/1 149/11/1 151/124/1 +f 146/1/4 145/11/4 149/124/4 +f 147/8/5 151/123/5 149/126/5 +f 152/8/3 148/123/3 146/126/3 +f 39/127/23 14/122/23 142/126/23 +f 156/126/24 141/128/24 13/127/24 +f 36/126/25 15/128/25 143/127/25 +f 153/127/26 144/122/26 16/126/26 +f 159/126/27 150/128/27 30/127/27 +f 40/126/28 32/128/28 152/127/28 +f 158/126/29 148/128/29 28/127/29 +f 37/126/30 26/128/30 146/127/30 +f 164/129/24 140/130/24 12/131/24 +f 37/127/25 10/122/25 138/126/25 +f 161/126/26 137/128/26 9/127/26 +f 34/127/23 11/122/23 139/126/23 +f 36/132/30 31/133/30 151/134/30 +f 35/127/27 29/122/27 149/126/27 +f 165/127/30 145/122/30 25/126/30 +f 34/133/29 27/135/29 147/136/29 +f 198/126/25 174/122/25 191/127/25 +f 173/127/26 197/128/26 212/126/26 +f 199/127/23 175/128/23 188/126/23 +f 176/126/24 200/122/24 209/127/24 +f 182/127/29 206/128/29 215/126/29 +f 208/127/30 184/128/30 192/126/30 +f 180/127/27 204/128/27 214/126/27 +f 202/127/28 178/128/28 189/126/28 +f 172/131/26 196/130/26 220/129/26 +f 194/126/23 170/122/23 189/127/23 +f 169/127/24 193/128/24 217/126/24 +f 195/126/25 171/122/25 186/127/25 +f 207/134/28 183/133/28 188/132/28 +f 205/126/29 181/122/29 187/127/29 +f 177/126/28 201/122/28 221/127/28 +f 203/136/27 179/135/27 186/133/27 +f 7/11/1 8/1/1 15/3/1 +f 3/11/2 4/1/2 19/3/2 +f 7/11/1 15/3/1 5/5/1 +f 3/11/2 19/3/2 7/5/2 +f 2/1/3 6/6/3 26/2/3 +f 6/6/3 8/5/3 30/7/3 +f 32/13/4 28/8/4 40/10/4 +f 4/11/3 2/1/3 28/3/3 +f 8/5/3 4/11/3 32/4/3 +f 3/5/5 7/11/5 27/4/5 +f 1/6/5 3/5/5 25/7/5 +f 5/1/5 1/6/5 29/2/5 +f 7/11/5 5/1/5 31/3/5 +f 6/6/1 14/7/1 8/1/1 +f 5/5/1 13/4/1 6/6/1 +f 3/5/6 11/4/6 4/6/6 +f 4/6/6 12/7/6 2/1/6 +f 2/1/6 10/2/6 1/11/6 +f 1/11/6 9/3/6 3/5/6 +f 8/6/2 24/7/2 4/1/2 +f 7/5/2 23/4/2 8/6/2 +f 2/6/4 18/7/4 6/1/4 +f 5/11/4 6/1/4 21/3/4 +f 5/11/4 21/3/4 1/5/4 +f 2/6/4 1/5/4 18/7/4 +f 29/6/2 25/12/2 35/9/2 +f 21/8/3 35/9/3 17/13/3 +f 31/6/6 29/12/6 36/9/6 +f 15/8/3 36/9/3 13/13/3 +f 31/12/4 36/10/4 27/6/4 +f 25/6/1 27/12/1 33/9/1 +f 9/8/3 33/9/3 11/13/3 +f 23/13/3 19/8/3 36/10/3 +f 22/6/5 18/12/5 39/9/5 +f 30/8/2 39/9/2 26/13/2 +f 28/13/1 26/8/1 38/10/1 +f 30/13/6 32/8/6 39/10/6 +f 14/12/5 39/10/5 16/6/5 +f 24/12/5 40/10/5 20/6/5 +f 12/12/5 38/10/5 10/6/5 +f 18/13/1 17/8/1 37/10/1 +f 22/8/6 39/9/6 21/13/6 +f 14/6/2 13/12/2 39/9/2 +f 16/12/4 40/10/4 15/6/4 +f 24/13/6 23/8/6 40/10/6 +f 20/8/1 38/9/1 19/13/1 +f 12/6/4 11/12/4 38/9/4 +f 10/12/2 37/10/2 9/6/2 +f 41/6/7 42/14/7 43/16/7 +f 45/18/8 43/16/8 46/17/8 +f 47/137/9 45/18/9 48/19/9 +f 47/137/10 48/19/10 49/21/10 +f 51/138/11 49/21/11 52/22/11 +f 51/138/12 52/22/12 53/24/12 +f 53/24/13 54/23/13 55/26/13 +f 57/5/14 55/26/14 58/27/14 +f 57/95/15 58/28/15 59/30/15 +f 59/30/16 60/29/16 61/32/16 +f 61/32/17 62/31/17 63/34/17 +f 63/34/18 64/33/18 65/36/18 +f 65/36/19 66/35/19 67/38/19 +f 67/38/20 68/37/20 69/8/20 +f 62/72/4 60/40/4 79/42/4 +f 71/9/21 72/43/21 41/6/21 +f 69/8/22 70/39/22 71/9/22 +f 71/45/2 41/60/2 47/66/2 +f 43/62/2 45/64/2 47/66/2 +f 47/66/2 49/68/2 55/40/2 +f 51/70/2 53/72/2 55/40/2 +f 55/40/2 57/46/2 59/48/2 +f 59/48/2 61/50/2 63/52/2 +f 63/52/2 65/54/2 67/44/2 +f 67/44/2 69/57/2 71/45/2 +f 41/60/2 43/62/2 47/66/2 +f 49/68/2 51/70/2 55/40/2 +f 55/40/2 59/48/2 63/52/2 +f 63/52/2 67/44/2 55/40/2 +f 71/45/2 47/66/2 55/40/2 +f 80/41/4 60/40/4 81/47/4 +f 81/47/4 58/46/4 82/49/4 +f 82/49/4 56/48/4 83/51/4 +f 83/51/4 54/50/4 84/53/4 +f 84/53/4 52/52/4 85/55/4 +f 50/54/4 48/44/4 85/55/4 +f 48/44/4 46/57/4 86/56/4 +f 46/57/4 44/45/4 87/58/4 +f 44/45/4 42/60/4 88/59/4 +f 42/60/4 72/62/4 73/61/4 +f 72/62/4 70/64/4 74/63/4 +f 70/64/4 68/66/4 75/65/4 +f 68/66/4 66/68/4 76/67/4 +f 66/68/4 64/70/4 77/69/4 +f 64/70/4 62/72/4 78/71/4 +f 83/106/12 84/73/12 99/75/12 +f 90/59/4 89/61/4 106/77/4 +f 76/107/19 77/78/19 92/80/19 +f 84/73/11 85/81/11 100/74/11 +f 77/78/18 78/83/18 93/79/18 +f 85/81/10 86/85/10 101/82/10 +f 78/83/17 79/87/17 94/84/17 +f 86/85/9 87/89/9 102/86/9 +f 79/87/16 80/91/16 95/88/16 +f 87/89/8 88/93/8 103/90/8 +f 80/91/15 81/95/15 96/92/15 +f 73/100/21 74/97/21 90/99/21 +f 88/93/7 73/100/7 104/94/7 +f 81/28/14 82/101/14 97/103/14 +f 74/97/22 75/104/22 89/98/22 +f 82/101/13 83/106/13 98/102/13 +f 75/104/20 76/107/20 91/105/20 +f 110/74/9 111/75/9 126/73/9 +f 104/58/4 90/59/4 120/108/4 +f 97/41/4 98/47/4 113/110/4 +f 89/61/4 91/63/4 105/76/4 +f 98/47/4 99/49/4 114/109/4 +f 91/63/4 92/65/4 107/111/4 +f 99/49/4 100/51/4 115/112/4 +f 92/65/4 93/67/4 108/113/4 +f 100/51/4 101/53/4 116/114/4 +f 109/115/4 93/67/4 110/117/4 +f 117/116/4 101/53/4 118/118/4 +f 110/117/4 94/69/4 111/119/4 +f 102/55/4 103/56/4 118/118/4 +f 95/71/4 96/42/4 111/119/4 +f 103/56/4 104/58/4 119/120/4 +f 96/42/4 97/41/4 112/121/4 +f 122/76/4 121/111/4 123/113/4 +f 123/113/4 124/115/4 122/76/4 +f 125/117/4 126/119/4 129/109/4 +f 127/121/4 128/110/4 129/109/4 +f 129/109/4 130/112/4 131/114/4 +f 131/114/4 132/116/4 129/109/4 +f 133/118/4 134/120/4 135/108/4 +f 135/108/4 136/77/4 122/76/4 +f 122/76/4 124/115/4 125/117/4 +f 126/119/4 127/121/4 129/109/4 +f 129/109/4 132/116/4 133/118/4 +f 133/118/4 135/108/4 129/109/4 +f 122/76/4 125/117/4 129/109/4 +f 118/80/17 119/105/17 134/107/17 +f 111/75/8 112/102/8 127/106/8 +f 135/104/16 119/105/16 136/97/16 +f 112/102/7 113/103/7 128/101/7 +f 106/99/14 105/94/14 122/100/14 +f 120/98/15 106/99/15 136/97/15 +f 113/96/21 114/92/21 129/95/21 +f 105/94/13 107/90/13 121/93/13 +f 114/92/22 115/88/22 130/91/22 +f 107/90/12 108/86/12 123/89/12 +f 115/88/20 116/84/20 131/87/20 +f 108/86/11 109/82/11 124/85/11 +f 116/84/19 117/79/19 132/83/19 +f 109/82/10 110/74/10 125/81/10 +f 117/79/18 118/80/18 133/78/18 +f 138/126/6 140/122/6 137/123/6 +f 140/1/2 144/11/2 139/125/2 +f 144/126/1 142/122/1 143/123/1 +f 142/124/4 138/125/4 141/11/4 +f 137/125/5 139/1/5 141/124/5 +f 142/11/3 144/124/3 138/1/3 +f 146/125/6 148/1/6 145/124/6 +f 148/125/2 152/1/2 147/124/2 +f 152/125/1 150/1/1 151/124/1 +f 150/125/4 146/1/4 149/124/4 +f 145/122/5 147/8/5 149/126/5 +f 150/122/3 152/8/3 146/126/3 +f 155/128/23 39/127/23 142/126/23 +f 35/122/24 156/126/24 13/127/24 +f 154/122/25 36/126/25 143/127/25 +f 40/128/26 153/127/26 16/126/26 +f 39/122/27 159/126/27 30/127/27 +f 160/122/28 40/126/28 152/127/28 +f 38/122/29 158/126/29 28/127/29 +f 157/122/30 37/126/30 146/127/30 +f 38/139/24 164/129/24 12/131/24 +f 162/128/25 37/127/25 138/126/25 +f 33/122/26 161/126/26 9/127/26 +f 163/128/23 34/127/23 139/126/23 +f 168/140/30 36/132/30 151/134/30 +f 167/128/27 35/127/27 149/126/27 +f 33/128/30 165/127/30 25/126/30 +f 166/134/29 34/133/29 147/136/29 +f 211/128/25 198/126/25 191/127/25 +f 187/122/26 173/127/26 212/126/26 +f 210/122/23 199/127/23 188/126/23 +f 192/128/24 176/126/24 209/127/24 +f 191/122/29 182/127/29 215/126/29 +f 216/122/30 208/127/30 192/126/30 +f 190/122/27 180/127/27 214/126/27 +f 213/122/28 202/127/28 189/126/28 +f 190/139/26 172/131/26 220/129/26 +f 218/128/23 194/126/23 189/127/23 +f 185/122/24 169/127/24 217/126/24 +f 219/128/25 195/126/25 186/127/25 +f 224/140/28 207/134/28 188/132/28 +f 223/128/29 205/126/29 187/127/29 +f 185/128/28 177/126/28 221/127/28 +f 222/134/27 203/136/27 186/133/27 diff --git a/assets/hbm/textures/blocks/arc/arc_electrode.png b/assets/hbm/textures/blocks/arc/arc_electrode.png new file mode 100644 index 000000000..f8538efc4 Binary files /dev/null and b/assets/hbm/textures/blocks/arc/arc_electrode.png differ diff --git a/assets/hbm/textures/blocks/arc/arc_electrode_burnt.png b/assets/hbm/textures/blocks/arc/arc_electrode_burnt.png new file mode 100644 index 000000000..7e1a1f14e Binary files /dev/null and b/assets/hbm/textures/blocks/arc/arc_electrode_burnt.png differ diff --git a/assets/hbm/textures/blocks/concrete.png b/assets/hbm/textures/blocks/concrete.png index 8a6e23294..f59faff0f 100644 Binary files a/assets/hbm/textures/blocks/concrete.png and b/assets/hbm/textures/blocks/concrete.png differ diff --git a/assets/hbm/textures/blocks/concrete_tile.png b/assets/hbm/textures/blocks/concrete_tile.png new file mode 100644 index 000000000..8a6e23294 Binary files /dev/null and b/assets/hbm/textures/blocks/concrete_tile.png differ diff --git a/assets/hbm/textures/blocks/machine_arc_furnace_bottom.png b/assets/hbm/textures/blocks/machine_arc_furnace_bottom.png new file mode 100644 index 000000000..7883b6799 Binary files /dev/null and b/assets/hbm/textures/blocks/machine_arc_furnace_bottom.png differ diff --git a/assets/hbm/textures/blocks/machine_arc_furnace_front_off.png b/assets/hbm/textures/blocks/machine_arc_furnace_front_off.png new file mode 100644 index 000000000..b888a1833 Binary files /dev/null and b/assets/hbm/textures/blocks/machine_arc_furnace_front_off.png differ diff --git a/assets/hbm/textures/blocks/machine_arc_furnace_front_on.png b/assets/hbm/textures/blocks/machine_arc_furnace_front_on.png new file mode 100644 index 000000000..dee6ae2eb Binary files /dev/null and b/assets/hbm/textures/blocks/machine_arc_furnace_front_on.png differ diff --git a/assets/hbm/textures/blocks/machine_arc_furnace_side.png b/assets/hbm/textures/blocks/machine_arc_furnace_side.png new file mode 100644 index 000000000..c3f6b06e1 Binary files /dev/null and b/assets/hbm/textures/blocks/machine_arc_furnace_side.png differ diff --git a/assets/hbm/textures/blocks/machine_arc_furnace_top.png b/assets/hbm/textures/blocks/machine_arc_furnace_top.png new file mode 100644 index 000000000..6c04585f4 Binary files /dev/null and b/assets/hbm/textures/blocks/machine_arc_furnace_top.png differ diff --git a/assets/hbm/textures/blocks/machine_arc_furnace_top_el.png b/assets/hbm/textures/blocks/machine_arc_furnace_top_el.png new file mode 100644 index 000000000..cb89d7532 Binary files /dev/null and b/assets/hbm/textures/blocks/machine_arc_furnace_top_el.png differ diff --git a/assets/hbm/textures/blocks/machine_arc_furnace_top_on.png b/assets/hbm/textures/blocks/machine_arc_furnace_top_on.png new file mode 100644 index 000000000..2b7fcac4a Binary files /dev/null and b/assets/hbm/textures/blocks/machine_arc_furnace_top_on.png differ diff --git a/assets/hbm/textures/items/gun_karl.png b/assets/hbm/textures/items/gun_karl.png new file mode 100644 index 000000000..ff1dba93d Binary files /dev/null and b/assets/hbm/textures/items/gun_karl.png differ diff --git a/assets/hbm/textures/items/gun_panzerschreck.png b/assets/hbm/textures/items/gun_panzerschreck.png new file mode 100644 index 000000000..d9c5fc51d Binary files /dev/null and b/assets/hbm/textures/items/gun_panzerschreck.png differ diff --git a/assets/hbm/textures/models/ModelGustavYellow.png b/assets/hbm/textures/models/ModelGustavYellow.png new file mode 100644 index 000000000..f35253ad7 Binary files /dev/null and b/assets/hbm/textures/models/ModelGustavYellow.png differ diff --git a/assets/hbm/textures/models/ModelPanzerschreck.png b/assets/hbm/textures/models/ModelPanzerschreck.png new file mode 100644 index 000000000..c40c484a5 Binary files /dev/null and b/assets/hbm/textures/models/ModelPanzerschreck.png differ diff --git a/assets/hbm/textures/models/core_emitter.png b/assets/hbm/textures/models/core_emitter.png new file mode 100644 index 000000000..9c81cb2d3 Binary files /dev/null and b/assets/hbm/textures/models/core_emitter.png differ diff --git a/assets/hbm/textures/models/core_injector.png b/assets/hbm/textures/models/core_injector.png new file mode 100644 index 000000000..4fd6d9702 Binary files /dev/null and b/assets/hbm/textures/models/core_injector.png differ diff --git a/assets/hbm/textures/models/core_receiver.png b/assets/hbm/textures/models/core_receiver.png new file mode 100644 index 000000000..9fba1ff02 Binary files /dev/null and b/assets/hbm/textures/models/core_receiver.png differ diff --git a/assets/hbm/textures/models/missileStrong_EMP.png b/assets/hbm/textures/models/missileStrong_EMP.png new file mode 100644 index 000000000..a981e35a8 Binary files /dev/null and b/assets/hbm/textures/models/missileStrong_EMP.png differ diff --git a/com/hbm/blocks/ModBlocks.java b/com/hbm/blocks/ModBlocks.java index 13a4fe31e..a4fed6270 100644 --- a/com/hbm/blocks/ModBlocks.java +++ b/com/hbm/blocks/ModBlocks.java @@ -132,10 +132,12 @@ public class ModBlocks { public static Block reinforced_lamp_off; public static Block reinforced_lamp_on; + public static Block concrete_smooth; public static Block concrete; public static Block brick_concrete; public static Block brick_obsidian; public static Block brick_light; + public static Block brick_compound; public static Block cmb_brick; public static Block cmb_brick_reinforced; @@ -327,6 +329,9 @@ public class ModBlocks { public static Block machine_electric_furnace_off; public static Block machine_electric_furnace_on; public static final int guiID_electric_furnace = 16; + + public static Block machine_arc_furnace_off; + public static Block machine_arc_furnace_on; //public static Block machine_deuterium; public static final int guiID_machine_deuterium = 20; @@ -416,6 +421,10 @@ public class ModBlocks { public static Block ams_limiter; public static final int guiID_ams_limiter = 56; + public static Block dfc_emitter; + public static Block dfc_injector; + public static Block dfc_receiver; + public static Block machine_converter_he_rf; public static final int guiID_converter_he_rf = 28; @@ -731,17 +740,19 @@ public class ModBlocks { gravel_obsidian = new BlockFalling(Material.iron).setBlockName("gravel_obsidian").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeGravel).setHardness(5.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":gravel_obsidian"); asphalt = new BlockGeneric(Material.rock).setBlockName("asphalt").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(100.0F).setBlockTextureName(RefStrings.MODID + ":asphalt"); - reinforced_brick = new BlockGeneric(Material.rock).setBlockName("reinforced_brick").setCreativeTab(MainRegistry.blockTab).setLightOpacity(15).setHardness(15.0F).setResistance(1000.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_brick"); - reinforced_glass = new ReinforcedBlock(Material.glass).setBlockName("reinforced_glass").setCreativeTab(MainRegistry.blockTab).setLightOpacity(0).setHardness(15.0F).setResistance(3000.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_glass"); - reinforced_light = new ReinforcedBlock(Material.rock).setBlockName("reinforced_light").setCreativeTab(MainRegistry.blockTab).setLightOpacity(15).setLightLevel(1.0F).setHardness(15.0F).setResistance(1000.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_light"); - reinforced_sand = new BlockGeneric(Material.rock).setBlockName("reinforced_sand").setCreativeTab(MainRegistry.blockTab).setLightOpacity(15).setHardness(15.0F).setResistance(4000.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_sand"); - reinforced_lamp_off = new ReinforcedLamp(Material.rock, false).setBlockName("reinforced_lamp_off").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(1000.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_lamp_off"); - reinforced_lamp_on = new ReinforcedLamp(Material.rock, true).setBlockName("reinforced_lamp_on").setHardness(15.0F).setResistance(1000.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_lamp_on"); + reinforced_brick = new BlockGeneric(Material.rock).setBlockName("reinforced_brick").setCreativeTab(MainRegistry.blockTab).setLightOpacity(15).setHardness(15.0F).setResistance(8000.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_brick"); + reinforced_glass = new ReinforcedBlock(Material.glass).setBlockName("reinforced_glass").setCreativeTab(MainRegistry.blockTab).setLightOpacity(0).setHardness(15.0F).setResistance(200.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_glass"); + reinforced_light = new ReinforcedBlock(Material.rock).setBlockName("reinforced_light").setCreativeTab(MainRegistry.blockTab).setLightOpacity(15).setLightLevel(1.0F).setHardness(15.0F).setResistance(300.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_light"); + reinforced_sand = new BlockGeneric(Material.rock).setBlockName("reinforced_sand").setCreativeTab(MainRegistry.blockTab).setLightOpacity(15).setHardness(15.0F).setResistance(400.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_sand"); + reinforced_lamp_off = new ReinforcedLamp(Material.rock, false).setBlockName("reinforced_lamp_off").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(300.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_lamp_off"); + reinforced_lamp_on = new ReinforcedLamp(Material.rock, true).setBlockName("reinforced_lamp_on").setHardness(15.0F).setResistance(300.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_lamp_on"); - concrete = new BlockGeneric(Material.rock).setBlockName("concrete").setCreativeTab(MainRegistry.blockTab).setLightOpacity(15).setHardness(15.0F).setResistance(4000.0F).setBlockTextureName(RefStrings.MODID + ":concrete"); - brick_concrete = new BlockGeneric(Material.rock).setBlockName("brick_concrete").setCreativeTab(MainRegistry.blockTab).setLightOpacity(15).setHardness(15.0F).setResistance(4000.0F).setBlockTextureName(RefStrings.MODID + ":brick_concrete"); - brick_obsidian = new BlockGeneric(Material.rock).setBlockName("brick_obsidian").setCreativeTab(MainRegistry.blockTab).setLightOpacity(15).setHardness(15.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":brick_obsidian"); + concrete_smooth = new BlockGeneric(Material.rock).setBlockName("concrete_smooth").setCreativeTab(MainRegistry.blockTab).setLightOpacity(15).setHardness(15.0F).setResistance(4000.0F).setBlockTextureName(RefStrings.MODID + ":concrete"); + concrete = new BlockGeneric(Material.rock).setBlockName("concrete").setCreativeTab(MainRegistry.blockTab).setLightOpacity(15).setHardness(15.0F).setResistance(4000.0F).setBlockTextureName(RefStrings.MODID + ":concrete_tile"); + brick_concrete = new BlockGeneric(Material.rock).setBlockName("brick_concrete").setCreativeTab(MainRegistry.blockTab).setLightOpacity(15).setHardness(15.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":brick_concrete"); + brick_obsidian = new BlockGeneric(Material.rock).setBlockName("brick_obsidian").setCreativeTab(MainRegistry.blockTab).setLightOpacity(15).setHardness(15.0F).setResistance(8000.0F).setBlockTextureName(RefStrings.MODID + ":brick_obsidian"); brick_light = new BlockGeneric(Material.rock).setBlockName("brick_light").setCreativeTab(MainRegistry.blockTab).setLightOpacity(15).setHardness(15.0F).setResistance(1000.0F).setBlockTextureName(RefStrings.MODID + ":brick_light"); + brick_compound = new BlockGeneric(Material.rock).setBlockName("brick_compound").setCreativeTab(MainRegistry.blockTab).setLightOpacity(15).setHardness(15.0F).setResistance(3000.0F).setBlockTextureName(RefStrings.MODID + ":brick_compound"); cmb_brick = new BlockGeneric(Material.rock).setBlockName("cmb_brick").setCreativeTab(MainRegistry.blockTab).setHardness(25.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":cmb_brick"); cmb_brick_reinforced = new BlockGeneric(Material.rock).setBlockName("cmb_brick_reinforced").setCreativeTab(MainRegistry.blockTab).setHardness(25.0F).setResistance(60000.0F).setBlockTextureName(RefStrings.MODID + ":cmb_brick_reinforced"); @@ -848,9 +859,11 @@ public class ModBlocks { machine_industrial_generator = new MachineIGenerator(Material.iron).setBlockName("machine_industrial_generator").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":industrial_generator"); machine_cyclotron = new MachineCyclotron(Material.iron).setBlockName("machine_cyclotron").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":cyclotron"); machine_radgen = new MachineRadGen(Material.iron).setBlockName("machine_radgen").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_radgen"); - + machine_electric_furnace_off = new MachineElectricFurnace(false).setBlockName("machine_electric_furnace_off").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); machine_electric_furnace_on = new MachineElectricFurnace(true).setBlockName("machine_electric_furnace_on").setHardness(5.0F).setLightLevel(1.0F).setResistance(10.0F); + machine_arc_furnace_off = new MachineArcFurnace(false).setBlockName("machine_arc_furnace_off").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); + machine_arc_furnace_on = new MachineArcFurnace(true).setBlockName("machine_arc_furnace_on").setHardness(5.0F).setLightLevel(1.0F).setResistance(10.0F); //machine_deuterium = new MachineDeuterium(Material.iron).setBlockName("machine_deuterium").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); @@ -949,6 +962,10 @@ public class ModBlocks { 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"); + dfc_emitter = new CoreComponent(Material.iron).setBlockName("dfc_emitter").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":dfc_emitter"); + dfc_injector = new CoreComponent(Material.iron).setBlockName("dfc_injector").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":dfc_injector"); + dfc_receiver = new CoreComponent(Material.iron).setBlockName("dfc_receiver").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":dfc_receiver"); + seal_frame = new BlockGeneric(Material.iron).setBlockName("seal_frame").setHardness(10.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":seal_frame"); seal_controller = new BlockSeal(Material.iron).setBlockName("seal_controller").setHardness(10.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab); seal_hatch = new BlockHatch(Material.iron).setBlockName("seal_hatch").setHardness(Float.POSITIVE_INFINITY).setResistance(Float.POSITIVE_INFINITY).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":seal_hatch_3"); @@ -1229,9 +1246,11 @@ public class ModBlocks { GameRegistry.registerBlock(reinforced_lamp_on, reinforced_lamp_on.getUnlocalizedName()); //Bricks + GameRegistry.registerBlock(concrete_smooth, concrete_smooth.getUnlocalizedName()); GameRegistry.registerBlock(concrete, concrete.getUnlocalizedName()); GameRegistry.registerBlock(brick_concrete, brick_concrete.getUnlocalizedName()); GameRegistry.registerBlock(brick_obsidian, brick_obsidian.getUnlocalizedName()); + GameRegistry.registerBlock(brick_compound, brick_compound.getUnlocalizedName()); GameRegistry.registerBlock(brick_light, brick_light.getUnlocalizedName()); //CMB Building Elements @@ -1425,6 +1444,8 @@ public class ModBlocks { GameRegistry.registerBlock(machine_converter_rf_he, machine_converter_rf_he.getUnlocalizedName()); GameRegistry.registerBlock(machine_electric_furnace_off, machine_electric_furnace_off.getUnlocalizedName()); GameRegistry.registerBlock(machine_electric_furnace_on, machine_electric_furnace_on.getUnlocalizedName()); + GameRegistry.registerBlock(machine_arc_furnace_off, machine_arc_furnace_off.getUnlocalizedName()); + GameRegistry.registerBlock(machine_arc_furnace_on, machine_arc_furnace_on.getUnlocalizedName()); GameRegistry.registerBlock(machine_assembler, machine_assembler.getUnlocalizedName()); GameRegistry.registerBlock(machine_chemplant, machine_chemplant.getUnlocalizedName()); GameRegistry.registerBlock(machine_fluidtank, machine_fluidtank.getUnlocalizedName()); @@ -1518,6 +1539,11 @@ public class ModBlocks { 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()); + GameRegistry.registerBlock(dfc_receiver, dfc_receiver.getUnlocalizedName()); + //Missile Blocks GameRegistry.registerBlock(launch_pad, launch_pad.getUnlocalizedName()); GameRegistry.registerBlock(sat_dock, sat_dock.getUnlocalizedName()); diff --git a/com/hbm/blocks/machine/CoreComponent.java b/com/hbm/blocks/machine/CoreComponent.java new file mode 100644 index 000000000..e4f5fb01a --- /dev/null +++ b/com/hbm/blocks/machine/CoreComponent.java @@ -0,0 +1,59 @@ +package com.hbm.blocks.machine; + +import com.hbm.blocks.ModBlocks; +import com.hbm.interfaces.IBomb; +import com.hbm.interfaces.IMultiblock; +import com.hbm.tileentity.machine.TileEntityCoreEmitter; +import com.hbm.tileentity.machine.TileEntityCoreInjector; +import com.hbm.tileentity.machine.TileEntityCoreReceiver; +import com.hbm.tileentity.machine.TileEntityVaultDoor; + +import net.minecraft.block.BlockContainer; +import net.minecraft.block.BlockPistonBase; +import net.minecraft.block.material.Material; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; + +public class CoreComponent extends BlockContainer { + + public CoreComponent(Material p_i45386_1_) { + super(p_i45386_1_); + } + + @Override + public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { + + if(this == ModBlocks.dfc_emitter) + return new TileEntityCoreEmitter(); + if(this == ModBlocks.dfc_receiver) + return new TileEntityCoreReceiver(); + if(this == ModBlocks.dfc_injector) + return new TileEntityCoreInjector(); + + return null; + } + + @Override + public int getRenderType(){ + return -1; + } + + @Override + public boolean isOpaqueCube() { + return false; + } + + @Override + public boolean renderAsNormalBlock() { + return false; + } + + 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); + } +} diff --git a/com/hbm/blocks/machine/MachineArcFurnace.java b/com/hbm/blocks/machine/MachineArcFurnace.java new file mode 100644 index 000000000..3bf9f5a13 --- /dev/null +++ b/com/hbm/blocks/machine/MachineArcFurnace.java @@ -0,0 +1,280 @@ +package com.hbm.blocks.machine; + +import java.util.Random; + +import com.hbm.blocks.ModBlocks; +import com.hbm.lib.RefStrings; +import com.hbm.main.MainRegistry; +import com.hbm.tileentity.machine.TileEntityMachineArcFurnace; +import com.hbm.tileentity.machine.TileEntityMachineElectricFurnace; + +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.client.renderer.texture.IIconRegister; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; + +public class MachineArcFurnace extends BlockContainer { + + private final Random field_149933_a = new Random(); + private Random rand; + private final boolean isActive; + private static boolean keepInventory; + + @SideOnly(Side.CLIENT) + private IIcon iconFront; + @SideOnly(Side.CLIENT) + private IIcon iconTop; + @SideOnly(Side.CLIENT) + private IIcon iconBottom; + + public MachineArcFurnace(boolean blockState) { + super(Material.iron); + rand = new Random(); + isActive = blockState; + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iconRegister) { + this.iconFront = iconRegister.registerIcon(RefStrings.MODID + (this.isActive ? ":machine_arc_furnace_front_on" : ":machine_arc_furnace_front_off")); + this.iconTop = iconRegister.registerIcon(RefStrings.MODID + (this.isActive ? ":machine_arc_furnace_top_on" : ":machine_arc_furnace_top")); + this.iconBottom = iconRegister.registerIcon(RefStrings.MODID + ":machine_arc_furnace_bottom"); + this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":machine_arc_furnace_side"); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int metadata) { + + if(side == 0) + return this.iconBottom; + if(side == 1) + return this.iconTop; + + return 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(ModBlocks.machine_arc_furnace_off); + } + + @Override + public void onBlockAdded(World world, int x, int y, int z) { + super.onBlockAdded(world, x, y, z); + this.setDefaultDirection(world, x, y, z); + } + + private void setDefaultDirection(World world, int x, int y, int z) { + if(!world.isRemote) + { + Block block1 = world.getBlock(x, y, z - 1); + Block block2 = world.getBlock(x, y, z + 1); + Block block3 = world.getBlock(x - 1, y, z); + Block block4 = world.getBlock(x + 1, y, z); + + byte b0 = 3; + + if(block1.func_149730_j() && !block2.func_149730_j()) + { + b0 = 3; + } + if(block2.func_149730_j() && !block1.func_149730_j()) + { + b0 = 2; + } + if(block3.func_149730_j() && !block4.func_149730_j()) + { + b0 = 5; + } + if(block4.func_149730_j() && !block3.func_149730_j()) + { + b0 = 4; + } + + world.setBlockMetadataWithNotify(x, y, z, b0, 2); + } + } + + @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); + } + + if(itemStack.hasDisplayName()) + { + ((TileEntityMachineArcFurnace)world.getTileEntity(x, y, z)).setCustomName(itemStack.getDisplayName()); + } + } + + @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()) + { + TileEntityMachineArcFurnace entity = (TileEntityMachineArcFurnace) world.getTileEntity(x, y, z); + if(entity != null) + { + FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_electric_furnace, world, x, y, z); + } + return true; + } else { + return false; + } + } + + @Override + public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { + return new TileEntityMachineArcFurnace(); + } + + public static void updateBlockState(boolean isProcessing, World world, int x, int y, int z) { + int i = world.getBlockMetadata(x, y, z); + TileEntity entity = world.getTileEntity(x, y, z); + keepInventory = true; + + if(isProcessing) + { + world.setBlock(x, y, z, ModBlocks.machine_arc_furnace_on); + }else{ + world.setBlock(x, y, z, ModBlocks.machine_arc_furnace_off); + } + + keepInventory = false; + world.setBlockMetadataWithNotify(x, y, z, i, 2); + + if(entity != null) { + entity.validate(); + world.setTileEntity(x, y, z, entity); + } + } + + @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) + { + TileEntityMachineArcFurnace tileentityfurnace = (TileEntityMachineArcFurnace)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 + @SideOnly(Side.CLIENT) + public void randomDisplayTick(World p_149734_1_, int x, int y, int z, Random rand) + { + if (isActive) + { + int l = p_149734_1_.getBlockMetadata(x, y, z); + float f = x + 0.5F; + float f1 = y + 0.0F + rand.nextFloat() * 6.0F / 16.0F; + float f2 = z + 0.5F; + float f3 = 0.52F; + float f4 = rand.nextFloat() * 0.6F - 0.3F; + float f5 = rand.nextFloat(); + float f6 = rand.nextFloat(); + + if (l == 4) + { + p_149734_1_.spawnParticle("smoke", f - f3, f1, f2 + f4, 0.0D, 0.0D, 0.0D); + p_149734_1_.spawnParticle("flame", f - f3, f1, f2 + f4, 0.0D, 0.0D, 0.0D); + } + else if (l == 5) + { + p_149734_1_.spawnParticle("smoke", f + f3, f1, f2 + f4, 0.0D, 0.0D, 0.0D); + p_149734_1_.spawnParticle("flame", f + f3, f1, f2 + f4, 0.0D, 0.0D, 0.0D); + } + else if (l == 2) + { + p_149734_1_.spawnParticle("smoke", f + f4, f1, f2 - f3, 0.0D, 0.0D, 0.0D); + p_149734_1_.spawnParticle("flame", f + f4, f1, f2 - f3, 0.0D, 0.0D, 0.0D); + } + else if (l == 3) + { + p_149734_1_.spawnParticle("smoke", f + f4, f1, f2 + f3, 0.0D, 0.0D, 0.0D); + p_149734_1_.spawnParticle("flame", f + f4, f1, f2 + f3, 0.0D, 0.0D, 0.0D); + } + } + } + + @Override + @SideOnly(Side.CLIENT) + public Item getItem(World p_149694_1_, int p_149694_2_, int p_149694_3_, int p_149694_4_) + { + return Item.getItemFromBlock(ModBlocks.machine_arc_furnace_off); + } +} diff --git a/com/hbm/handler/guncfg/GunRocketFactory.java b/com/hbm/handler/guncfg/GunRocketFactory.java index 923324a9a..50e32da29 100644 --- a/com/hbm/handler/guncfg/GunRocketFactory.java +++ b/com/hbm/handler/guncfg/GunRocketFactory.java @@ -48,6 +48,39 @@ public class GunRocketFactory { return config; } + public static GunConfiguration getKarlConfig() { + + GunConfiguration config = getGustavConfig(); + + config.reloadDuration = 20; + + config.name = "M1 Karl-Gerät"; + config.manufacturer = "???"; + + config.config = new ArrayList(); + config.config.add(BulletConfigSyncingUtil.ROCKET_HE); + config.config.add(BulletConfigSyncingUtil.ROCKET_EMP); + config.config.add(BulletConfigSyncingUtil.ROCKET_SLEEK); + config.config.add(BulletConfigSyncingUtil.ROCKET_NUKE); + config.durability = 500; + + return config; + } + + public static GunConfiguration getPanzConfig() { + + GunConfiguration config = getGustavConfig(); + + config.reloadDuration = 25; + + config.name = "Raketenpanzerbüchse 54"; + config.manufacturer = "Enzinger Union"; + + config.durability = 260; + + return config; + } + public static BulletConfiguration getRocketConfig() { BulletConfiguration bullet = BulletConfigFactory.standardRocketConfig(); diff --git a/com/hbm/items/ModItems.java b/com/hbm/items/ModItems.java index 4f4f2e08c..b896deaad 100644 --- a/com/hbm/items/ModItems.java +++ b/com/hbm/items/ModItems.java @@ -865,6 +865,8 @@ public class ModItems { public static Item gun_rpg; public static Item gun_rpg_ammo; + public static Item gun_karl; + public static Item gun_panzerschreck; public static Item gun_hk69; public static Item gun_stinger; public static Item gun_skystinger; @@ -2319,6 +2321,8 @@ public class ModItems { ammo_grenade_sleek = new ItemAmmo().setUnlocalizedName("ammo_grenade_sleek").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_grenade_sleek"); gun_rpg = new ItemGunBase(GunRocketFactory.getGustavConfig()).setUnlocalizedName("gun_rpg").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_rpg"); + gun_karl = new ItemGunBase(GunRocketFactory.getKarlConfig()).setUnlocalizedName("gun_karl").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_karl"); + gun_panzerschreck = new ItemGunBase(GunRocketFactory.getPanzConfig()).setUnlocalizedName("gun_panzerschreck").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_panzerschreck"); gun_rpg_ammo = new Item().setUnlocalizedName("gun_rpg_ammo").setCreativeTab(null).setTextureName(RefStrings.MODID + ":gun_rpg_ammo_alt"); gun_hk69 = new ItemGunBase(GunGrenadeFactory.getHK69Config()).setFull3D().setUnlocalizedName("gun_hk69").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_hk69"); gun_stinger = new GunStinger().setUnlocalizedName("gun_stinger").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_stinger"); @@ -3942,6 +3946,8 @@ public class ModItems { GameRegistry.registerItem(gun_b92, gun_b92.getUnlocalizedName()); GameRegistry.registerItem(gun_b93, gun_b93.getUnlocalizedName()); GameRegistry.registerItem(gun_rpg, gun_rpg.getUnlocalizedName()); + GameRegistry.registerItem(gun_karl, gun_karl.getUnlocalizedName()); + GameRegistry.registerItem(gun_panzerschreck, gun_panzerschreck.getUnlocalizedName()); GameRegistry.registerItem(gun_hk69, gun_hk69.getUnlocalizedName()); GameRegistry.registerItem(gun_stinger, gun_stinger.getUnlocalizedName()); GameRegistry.registerItem(gun_fatman, gun_fatman.getUnlocalizedName()); diff --git a/com/hbm/items/weapon/ItemGunBase.java b/com/hbm/items/weapon/ItemGunBase.java index 3185928e6..e05d6d6c8 100644 --- a/com/hbm/items/weapon/ItemGunBase.java +++ b/com/hbm/items/weapon/ItemGunBase.java @@ -241,7 +241,6 @@ public class ItemGunBase extends Item implements IHoldableWeapon { if(player.inventory.hasItem(ammo)) { player.inventory.consumeInventoryItem(ammo); setMag(stack, getMag(stack) + 1); - world.playSoundAtEntity(player, mainConfig.reloadSound, 1.0F, 1.0F); } else { setIsReloading(stack, false); break; @@ -250,6 +249,7 @@ public class ItemGunBase extends Item implements IHoldableWeapon { if(getMag(stack) == mainConfig.ammoCap) { setIsReloading(stack, false); + world.playSoundAtEntity(player, mainConfig.reloadSound, 1.0F, 1.0F); break; } else { resetReloadCycle(stack); @@ -290,7 +290,6 @@ public class ItemGunBase extends Item implements IHoldableWeapon { if(player.inventory.hasItem(ammo)) { player.inventory.consumeInventoryItem(ammo); setMag(stack, getMag(stack) + 1); - world.playSoundAtEntity(player, mainConfig.reloadSound, 1.0F, 1.0F); } else { setIsReloading(stack, false); break; @@ -299,6 +298,7 @@ public class ItemGunBase extends Item implements IHoldableWeapon { if(getMag(stack) == mainConfig.ammoCap) { setIsReloading(stack, false); + world.playSoundAtEntity(player, mainConfig.reloadSound, 1.0F, 1.0F); break; } else { resetReloadCycle(stack); diff --git a/com/hbm/main/ClientProxy.java b/com/hbm/main/ClientProxy.java index f27df3b87..9ef2e7a39 100644 --- a/com/hbm/main/ClientProxy.java +++ b/com/hbm/main/ClientProxy.java @@ -118,6 +118,8 @@ public class ClientProxy extends ServerProxy RenderingRegistry.registerEntityRenderingHandler(EntityRocket.class, new RenderSnowball(ModItems.man_core)); MinecraftForgeClient.registerItemRenderer(ModItems.gun_rpg, new ItemRenderRpg()); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_karl, new ItemRenderRpg()); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_panzerschreck, new ItemRenderRpg()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_stinger, new ItemRenderStinger()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_skystinger, new ItemRenderStinger()); //MinecraftForgeClient.registerItemRenderer(ModItems.gun_rpg_ammo, new ItemRenderRocket()); @@ -316,6 +318,10 @@ public class ClientProxy extends ServerProxy ClientRegistry.bindTileEntitySpecialRenderer(TileEntityAMSEmitter.class, new RenderAMSEmitter()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityAMSLimiter.class, new RenderAMSLimiter()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCoreEmitter.class, new RenderCoreComponent()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCoreReceiver.class, new RenderCoreComponent()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCoreInjector.class, new RenderCoreComponent()); + RenderingRegistry.registerEntityRenderingHandler(EntityMissileGeneric.class, new RenderMissileGeneric()); RenderingRegistry.registerEntityRenderingHandler(EntityMissileAntiBallistic.class, new RenderMissileGeneric()); RenderingRegistry.registerEntityRenderingHandler(EntityMissileIncendiary.class, new RenderMissileGeneric()); diff --git a/com/hbm/main/CraftingManager.java b/com/hbm/main/CraftingManager.java index e2c6426ea..b7f769c72 100644 --- a/com/hbm/main/CraftingManager.java +++ b/com/hbm/main/CraftingManager.java @@ -713,8 +713,10 @@ public class CraftingManager { //GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.asphalt), 8), new Object[] { "BGB", "GSG", "BGB", 'B', ModItems.canister_bitumen, 'G', Blocks.gravel, 'S', Blocks.sand }); GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.brick_light), 4), new Object[] { "FBF", "BFB", "FBF", 'F', Blocks.fence, 'B', Blocks.brick_block }); - GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.concrete), 8), new Object[] { "SGS", "GWG", "SGS", 'S', Blocks.sand, 'G', Blocks.gravel, 'W', Items.water_bucket }); - GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.concrete), 8), new Object[] { "GSG", "SWS", "GSG", 'S', Blocks.sand, 'G', Blocks.gravel, 'W', Items.water_bucket }); + GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.concrete_smooth), 8), new Object[] { "SGS", "GWG", "SGS", 'S', Blocks.sand, 'G', Blocks.gravel, 'W', Items.water_bucket }); + GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.concrete_smooth), 8), new Object[] { "GSG", "SWS", "GSG", 'S', Blocks.sand, 'G', Blocks.gravel, 'W', Items.water_bucket }); + GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.concrete), 4), new Object[] { "CC", "CC", 'C', ModBlocks.concrete_smooth }); + GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.brick_concrete), 4), new Object[] { " C ", "CBC", " C ", 'C', ModBlocks.concrete_smooth, 'B', Items.clay_ball }); GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.brick_concrete), 4), new Object[] { " C ", "CBC", " C ", 'C', ModBlocks.concrete, 'B', Items.clay_ball }); GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.brick_obsidian), 4), new Object[] { "FBF", "BFB", "FBF", 'F', Blocks.iron_bars, 'B', Blocks.obsidian }); //GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.cmb_brick), 4), new Object[] { "PPP", "PIP", "PPP", 'P', ModItems.plate_combine_steel, 'I', ModItems.ingot_combine_steel }); diff --git a/com/hbm/main/MainRegistry.java b/com/hbm/main/MainRegistry.java index 2c538f422..eb8dea227 100644 --- a/com/hbm/main/MainRegistry.java +++ b/com/hbm/main/MainRegistry.java @@ -273,6 +273,9 @@ import com.hbm.tileentity.machine.TileEntityBroadcaster; import com.hbm.tileentity.machine.TileEntityConverterHeRf; import com.hbm.tileentity.machine.TileEntityConverterRfHe; import com.hbm.tileentity.machine.TileEntityCoreAdvanced; +import com.hbm.tileentity.machine.TileEntityCoreEmitter; +import com.hbm.tileentity.machine.TileEntityCoreInjector; +import com.hbm.tileentity.machine.TileEntityCoreReceiver; import com.hbm.tileentity.machine.TileEntityCoreTitanium; import com.hbm.tileentity.machine.TileEntityCrateIron; import com.hbm.tileentity.machine.TileEntityCrateSteel; @@ -284,6 +287,7 @@ import com.hbm.tileentity.machine.TileEntityFWatzCore; import com.hbm.tileentity.machine.TileEntityForceField; import com.hbm.tileentity.machine.TileEntityFusionMultiblock; import com.hbm.tileentity.machine.TileEntityHatch; +import com.hbm.tileentity.machine.TileEntityMachineArcFurnace; import com.hbm.tileentity.machine.TileEntityMachineAssembler; import com.hbm.tileentity.machine.TileEntityMachineBattery; import com.hbm.tileentity.machine.TileEntityMachineBoiler; @@ -776,6 +780,10 @@ public class MainRegistry GameRegistry.registerTileEntity(TileEntityDecon.class, "tileentity_decon"); GameRegistry.registerTileEntity(TileEntityMachineSatDock.class, "tileentity_miner_dock"); GameRegistry.registerTileEntity(TileEntityMachineEPress.class, "tileentity_electric_press"); + GameRegistry.registerTileEntity(TileEntityCoreEmitter.class, "tileentity_v0_emitter"); + GameRegistry.registerTileEntity(TileEntityCoreReceiver.class, "tileentity_v0_receiver"); + GameRegistry.registerTileEntity(TileEntityCoreInjector.class, "tileentity_v0_injector"); + GameRegistry.registerTileEntity(TileEntityMachineArcFurnace.class, "tileentity_arc_furnace"); EntityRegistry.registerModEntity(EntityRocket.class, "entity_rocket", 0, this, 250, 1, true); EntityRegistry.registerModEntity(EntityNukeExplosion.class, "entity_nuke_explosion", 1, this, 250, 1, true); diff --git a/com/hbm/main/ResourceManager.java b/com/hbm/main/ResourceManager.java index 967c342fc..52efcef58 100644 --- a/com/hbm/main/ResourceManager.java +++ b/com/hbm/main/ResourceManager.java @@ -72,6 +72,11 @@ public class ResourceManager { 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")); + public static final IModelCustom dfc_injector = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/core_injector.obj")); + //Sphere public static final IModelCustom sphere_ruv = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/sphere_ruv.obj")); public static final IModelCustom sphere_iuv = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/sphere_iuv.obj")); @@ -203,6 +208,11 @@ public class ResourceManager { 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"); + public static final ResourceLocation dfc_injector_tex = new ResourceLocation(RefStrings.MODID, "textures/models/core_injector.png"); + //Radgen public static final ResourceLocation radgen_body_tex = new ResourceLocation(RefStrings.MODID, "textures/models/rad_gen_body.png"); diff --git a/com/hbm/render/item/ItemRenderRpg.java b/com/hbm/render/item/ItemRenderRpg.java index be57d6e2f..930a025ab 100644 --- a/com/hbm/render/item/ItemRenderRpg.java +++ b/com/hbm/render/item/ItemRenderRpg.java @@ -2,9 +2,11 @@ package com.hbm.render.item; import org.lwjgl.opengl.GL11; +import com.hbm.items.ModItems; import com.hbm.lib.RefStrings; import com.hbm.render.model.ModelAt4; import com.hbm.render.model.ModelGustav; +import com.hbm.render.model.ModelPanzerschreck; import com.hbm.render.model.ModelStinger; import net.minecraft.client.Minecraft; @@ -14,11 +16,13 @@ import net.minecraft.util.ResourceLocation; import net.minecraftforge.client.IItemRenderer; public class ItemRenderRpg implements IItemRenderer { - + protected ModelGustav swordModel; + protected ModelPanzerschreck panz; public ItemRenderRpg() { swordModel = new ModelGustav(); + panz = new ModelPanzerschreck(); } @Override @@ -42,28 +46,64 @@ public class ItemRenderRpg implements IItemRenderer { switch(type) { case EQUIPPED_FIRST_PERSON: GL11.glPushMatrix(); - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelGustav.png")); + if(item.getItem() == ModItems.gun_rpg) + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelGustav.png")); + if(item.getItem() == ModItems.gun_karl) + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelGustavYellow.png")); + if(item.getItem() == ModItems.gun_panzerschreck) + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelPanzerschreck.png")); + GL11.glRotatef(-135.0F, 0.0F, 0.0F, 1.0F); GL11.glScalef(0.5F, 0.5F, 0.5F); GL11.glTranslatef(0.4F, -1.0F, -0.7F); + + if(item.getItem() == ModItems.gun_panzerschreck) { + GL11.glScalef(1.5F, 1.5F, 1.5F); + GL11.glTranslatef(-0.2F, -0.3F, -0.5F); + } else { + GL11.glTranslatef(0F, -0.1F, -0.4F); + } GL11.glRotatef(-20.0F, 0.0F, 0.0F, 1.0F); GL11.glRotatef(5.0F, 0.0F, 1.0F, 0.0F); GL11.glTranslatef(-0.2F, 0.0F, -0.2F); - swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); + + if(item.getItem() == ModItems.gun_rpg) + swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); + if(item.getItem() == ModItems.gun_karl) + swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); + if(item.getItem() == ModItems.gun_panzerschreck) + panz.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); GL11.glPopMatrix(); break; case EQUIPPED: case ENTITY: GL11.glPushMatrix(); - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelGustav.png")); + if(item.getItem() == ModItems.gun_rpg) + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelGustav.png")); + if(item.getItem() == ModItems.gun_karl) + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelGustavYellow.png")); + if(item.getItem() == ModItems.gun_panzerschreck) + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelPanzerschreck.png")); + GL11.glRotatef(-200.0F, 0.0F, 0.0F, 1.0F); GL11.glRotatef(75.0F, 0.0F, 1.0F, 0.0F); GL11.glRotatef(-30.0F, 1.0F, 0.0F, 0.0F); GL11.glTranslatef(0.0F, -0.2F, -0.5F); GL11.glRotatef(-5.0F, 0.0F, 0.0F, 1.0F); GL11.glTranslatef(0.9F, 0.0F, 0.1F); - swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); + + if(item.getItem() == ModItems.gun_panzerschreck) { + GL11.glTranslatef(-0.5F, -0.1F, 0F); + GL11.glScalef(1.5F, 1.5F, 1.5F); + } + + if(item.getItem() == ModItems.gun_rpg) + swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); + if(item.getItem() == ModItems.gun_karl) + swordModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); + if(item.getItem() == ModItems.gun_panzerschreck) + panz.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); GL11.glPopMatrix(); default: break; } diff --git a/com/hbm/render/model/ModelPanzerschreck.java b/com/hbm/render/model/ModelPanzerschreck.java new file mode 100644 index 000000000..573b8cbe0 --- /dev/null +++ b/com/hbm/render/model/ModelPanzerschreck.java @@ -0,0 +1,187 @@ +// Date: 20.02.2019 22:40:59 +// Template version 1.1 +// Java generated by Techne +// Keep in mind that you still need to fill in some blanks +// - ZeuX + +package com.hbm.render.model; + +import org.lwjgl.opengl.GL11; + +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.Entity; + +public class ModelPanzerschreck extends ModelBase { + // fields + ModelRenderer Shape1; + ModelRenderer Shape2; + ModelRenderer Shape3; + ModelRenderer Shape4; + ModelRenderer Shape5; + ModelRenderer Shape6; + ModelRenderer Shape7; + ModelRenderer Shape8; + ModelRenderer Shape9; + ModelRenderer Shape10; + ModelRenderer Shape11; + ModelRenderer Shape12; + ModelRenderer Shape13; + ModelRenderer Shape14; + ModelRenderer Shape15; + ModelRenderer Shape16; + ModelRenderer Shape17; + ModelRenderer Shape18; + + public ModelPanzerschreck() { + textureWidth = 128; + textureHeight = 32; + + Shape1 = new ModelRenderer(this, 0, 0); + Shape1.addBox(0F, 0F, 0F, 40, 2, 3); + Shape1.setRotationPoint(-20F, 0F, -1.5F); + Shape1.setTextureSize(128, 32); + Shape1.mirror = true; + setRotation(Shape1, 0F, 0F, 0F); + Shape2 = new ModelRenderer(this, 0, 5); + Shape2.addBox(0F, 0F, 0F, 40, 3, 2); + Shape2.setRotationPoint(-20F, -0.5F, -1F); + Shape2.setTextureSize(128, 32); + Shape2.mirror = true; + setRotation(Shape2, 0F, 0F, 0F); + Shape3 = new ModelRenderer(this, 0, 10); + Shape3.addBox(0F, 0F, 0F, 2, 3, 1); + Shape3.setRotationPoint(-7.5F, 2.5F, -0.5F); + Shape3.setTextureSize(128, 32); + Shape3.mirror = true; + setRotation(Shape3, 0F, 0F, 0F); + Shape4 = new ModelRenderer(this, 6, 10); + Shape4.addBox(0F, 0F, 0F, 6, 1, 1); + Shape4.setRotationPoint(-7.5F, 5.5F, -0.5F); + Shape4.setTextureSize(128, 32); + Shape4.mirror = true; + setRotation(Shape4, 0F, 0F, 0F); + Shape5 = new ModelRenderer(this, 0, 14); + Shape5.addBox(0F, 0F, 0F, 2, 3, 1); + Shape5.setRotationPoint(-1.5F, 2.5F, -0.5F); + Shape5.setTextureSize(128, 32); + Shape5.mirror = true; + setRotation(Shape5, 0F, 0F, 0F); + Shape6 = new ModelRenderer(this, 6, 12); + Shape6.addBox(0F, 0F, 0F, 1, 3, 1); + Shape6.setRotationPoint(0.5F, 2.5F, -0.5F); + Shape6.setTextureSize(128, 32); + Shape6.mirror = true; + setRotation(Shape6, 0F, 0F, 0F); + Shape7 = new ModelRenderer(this, 10, 12); + Shape7.addBox(-1F, 0F, 0F, 1, 2, 1); + Shape7.setRotationPoint(-2F, 2.5F, -0.5F); + Shape7.setTextureSize(128, 32); + Shape7.mirror = true; + setRotation(Shape7, 0F, 0F, 0.3490659F); + Shape8 = new ModelRenderer(this, 0, 18); + Shape8.addBox(0F, 0F, 0F, 1, 4, 4); + Shape8.setRotationPoint(22F, -1F, -2F); + Shape8.setTextureSize(128, 32); + Shape8.mirror = true; + setRotation(Shape8, 0F, 0F, 0F); + Shape9 = new ModelRenderer(this, 20, 10); + Shape9.addBox(-3F, 0F, 0F, 3, 1, 1); + Shape9.setRotationPoint(22F, -1F, -0.5F); + Shape9.setTextureSize(128, 32); + Shape9.mirror = true; + setRotation(Shape9, 0F, 0F, -0.2617994F); + Shape10 = new ModelRenderer(this, 14, 12); + Shape10.addBox(-3F, 0F, 0F, 3, 1, 1); + Shape10.setRotationPoint(22F, 0.5F, -2F); + Shape10.setTextureSize(128, 32); + Shape10.mirror = true; + setRotation(Shape10, 0F, 0.2617994F, 0F); + Shape11 = new ModelRenderer(this, 14, 14); + Shape11.addBox(-3F, 0F, -1F, 3, 1, 1); + Shape11.setRotationPoint(22F, 0.5F, 2F); + Shape11.setTextureSize(128, 32); + Shape11.mirror = true; + setRotation(Shape11, 0F, -0.2617994F, 0F); + Shape12 = new ModelRenderer(this, 28, 10); + Shape12.addBox(-3F, -1F, 0F, 3, 1, 1); + Shape12.setRotationPoint(22F, 3F, -0.5F); + Shape12.setTextureSize(128, 32); + Shape12.mirror = true; + setRotation(Shape12, 0F, 0F, 0.2617994F); + Shape13 = new ModelRenderer(this, 22, 12); + Shape13.addBox(0F, 0F, 0F, 1, 1, 3); + Shape13.setRotationPoint(-20F, -1.5F, -1.5F); + Shape13.setTextureSize(128, 32); + Shape13.mirror = true; + setRotation(Shape13, 0F, 0F, 0F); + Shape14 = new ModelRenderer(this, 30, 12); + Shape14.addBox(0F, 0F, 0F, 1, 1, 3); + Shape14.setRotationPoint(-20F, -2.5F, -1.5F); + Shape14.setTextureSize(128, 32); + Shape14.mirror = true; + setRotation(Shape14, 0F, 0F, 0F); + Shape15 = new ModelRenderer(this, 36, 10); + Shape15.addBox(0F, 0F, 0F, 3, 1, 1); + Shape15.setRotationPoint(15F, -1F, -2F); + Shape15.setTextureSize(128, 32); + Shape15.mirror = true; + setRotation(Shape15, 0F, 0F, 0F); + Shape16 = new ModelRenderer(this, 108, 10); + Shape16.addBox(0F, 0F, 0F, 0, 12, 10); + Shape16.setRotationPoint(-10F, -5F, -8.5F); + Shape16.setTextureSize(128, 32); + Shape16.mirror = true; + setRotation(Shape16, 0F, 0F, 0F); + Shape17 = new ModelRenderer(this, 38, 12); + Shape17.addBox(0F, 0F, 0F, 1, 3, 1); + Shape17.setRotationPoint(3.5F, 2.5F, -0.5F); + Shape17.setTextureSize(128, 32); + Shape17.mirror = true; + setRotation(Shape17, 0F, 0F, -0.4363323F); + Shape18 = new ModelRenderer(this, 10, 15); + Shape18.addBox(0F, 0F, 0F, 1, 3, 1); + Shape18.setRotationPoint(5F, 2.5F, -0.5F); + Shape18.setTextureSize(128, 32); + Shape18.mirror = true; + setRotation(Shape18, 0F, 0F, 0F); + } + + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { + super.render(entity, f, f1, f2, f3, f4, f5); + setRotationAngles(f, f1, f2, f3, f4, f5, entity); + GL11.glDisable(GL11.GL_CULL_FACE); + Shape1.render(f5); + Shape2.render(f5); + Shape3.render(f5); + Shape4.render(f5); + Shape5.render(f5); + Shape6.render(f5); + Shape7.render(f5); + Shape8.render(f5); + Shape9.render(f5); + Shape10.render(f5); + Shape11.render(f5); + Shape12.render(f5); + Shape13.render(f5); + Shape14.render(f5); + Shape15.render(f5); + GL11.glEnable(GL11.GL_CULL_FACE); + Shape16.render(f5); + GL11.glDisable(GL11.GL_CULL_FACE); + Shape17.render(f5); + Shape18.render(f5); + GL11.glEnable(GL11.GL_CULL_FACE); + } + + private void setRotation(ModelRenderer model, float x, float y, float z) { + model.rotateAngleX = x; + model.rotateAngleY = y; + model.rotateAngleZ = z; + } + + public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { + super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); + } + +} diff --git a/com/hbm/render/tileentity/RenderCoreComponent.java b/com/hbm/render/tileentity/RenderCoreComponent.java new file mode 100644 index 000000000..0997d10e2 --- /dev/null +++ b/com/hbm/render/tileentity/RenderCoreComponent.java @@ -0,0 +1,70 @@ +package com.hbm.render.tileentity; + +import org.lwjgl.opengl.GL11; + +import com.hbm.lib.RefStrings; +import com.hbm.main.ResourceManager; +import com.hbm.tileentity.machine.TileEntityCoreEmitter; +import com.hbm.tileentity.machine.TileEntityCoreInjector; +import com.hbm.tileentity.machine.TileEntityCoreReceiver; + +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.model.AdvancedModelLoader; +import net.minecraftforge.client.model.IModelCustom; + +public class RenderCoreComponent extends TileEntitySpecialRenderer { + + public RenderCoreComponent() { } + + @Override + public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) + { + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5, y, z + 0.5); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glEnable(GL11.GL_CULL_FACE); + + GL11.glRotatef(90, 0F, 1F, 0F); + + switch(tileEntity.getBlockMetadata()) { + case 0: + GL11.glTranslated(0.0D, 0.5D, -0.5D); + GL11.glRotatef(90, 1F, 0F, 0F); break; + case 1: + GL11.glTranslated(0.0D, 0.5D, 0.5D); + GL11.glRotatef(90, -1F, 0F, 0F); break; + 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; + } + + GL11.glTranslated(0.0D, 0D, 0.0D); + + if(tileEntity instanceof TileEntityCoreEmitter) { + bindTexture(ResourceManager.dfc_emitter_tex); + ResourceManager.dfc_emitter.renderAll(); + } + + if(tileEntity instanceof TileEntityCoreReceiver) { + bindTexture(ResourceManager.dfc_receiver_tex); + ResourceManager.dfc_receiver.renderAll(); + } + + if(tileEntity instanceof TileEntityCoreInjector) { + bindTexture(ResourceManager.dfc_injector_tex); + ResourceManager.dfc_injector.renderAll(); + } + + GL11.glEnable(GL11.GL_LIGHTING); + + GL11.glPopMatrix(); + } + +} diff --git a/com/hbm/tileentity/machine/TileEntityCoreEmitter.java b/com/hbm/tileentity/machine/TileEntityCoreEmitter.java new file mode 100644 index 000000000..019a0e1e6 --- /dev/null +++ b/com/hbm/tileentity/machine/TileEntityCoreEmitter.java @@ -0,0 +1,7 @@ +package com.hbm.tileentity.machine; + +import net.minecraft.tileentity.TileEntity; + +public class TileEntityCoreEmitter extends TileEntity { + +} diff --git a/com/hbm/tileentity/machine/TileEntityCoreInjector.java b/com/hbm/tileentity/machine/TileEntityCoreInjector.java new file mode 100644 index 000000000..af86ea190 --- /dev/null +++ b/com/hbm/tileentity/machine/TileEntityCoreInjector.java @@ -0,0 +1,7 @@ +package com.hbm.tileentity.machine; + +import net.minecraft.tileentity.TileEntity; + +public class TileEntityCoreInjector extends TileEntity { + +} diff --git a/com/hbm/tileentity/machine/TileEntityCoreReceiver.java b/com/hbm/tileentity/machine/TileEntityCoreReceiver.java new file mode 100644 index 000000000..9872c8378 --- /dev/null +++ b/com/hbm/tileentity/machine/TileEntityCoreReceiver.java @@ -0,0 +1,7 @@ +package com.hbm.tileentity.machine; + +import net.minecraft.tileentity.TileEntity; + +public class TileEntityCoreReceiver extends TileEntity { + +} diff --git a/com/hbm/tileentity/machine/TileEntityMachineArcFurnace.java b/com/hbm/tileentity/machine/TileEntityMachineArcFurnace.java new file mode 100644 index 000000000..22dcc8e44 --- /dev/null +++ b/com/hbm/tileentity/machine/TileEntityMachineArcFurnace.java @@ -0,0 +1,336 @@ +package com.hbm.tileentity.machine; + +import com.hbm.blocks.machine.MachineArcFurnace; +import com.hbm.interfaces.IConsumer; +import com.hbm.items.special.ItemBattery; +import com.hbm.lib.Library; +import com.hbm.packet.AuxElectricityPacket; +import com.hbm.packet.AuxGaugePacket; +import com.hbm.packet.PacketDispatcher; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.ISidedInventory; +import net.minecraft.item.ItemStack; +import net.minecraft.item.crafting.FurnaceRecipes; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; +import net.minecraft.tileentity.TileEntity; + +public class TileEntityMachineArcFurnace extends TileEntity implements ISidedInventory, IConsumer { + + private ItemStack slots[]; + + public int dualCookTime; + public long power; + public static final long maxPower = 100000; + public static final int processingSpeed = 100; + + private static final int[] slots_top = new int[] {1}; + private static final int[] slots_bottom = new int[] {2, 0}; + private static final int[] slots_side = new int[] {0}; + + private String customName; + + public TileEntityMachineArcFurnace() { + slots = new ItemStack[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.electricFurnace"; + } + + @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 itemStack) { + if(i == 0) + if(itemStack.getItem() instanceof ItemBattery) + return true; + + if(i == 1) + 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.dualCookTime = nbt.getInteger("cookTime"); + 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.setInteger("cookTime", dualCookTime); + 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) { + if(i == 0) + if (itemStack.getItem() instanceof ItemBattery && ItemBattery.getCharge(itemStack) == 0) + return true; + if(i == 2) + return true; + + return false; + } + + public int getDiFurnaceProgressScaled(int i) { + return (dualCookTime * i) / processingSpeed; + } + + public long getPowerRemainingScaled(long i) { + return (power * i) / maxPower; + } + + public boolean hasPower() { + return power > 0; + } + + public boolean isProcessing() { + return this.dualCookTime > 0; + } + + public boolean canProcess() { + if(slots[1] == null) + { + return false; + } + ItemStack itemStack = FurnaceRecipes.smelting().getSmeltingResult(this.slots[1]); + + if(itemStack == null) + { + return false; + } + + if(slots[2] == null) + { + return true; + } + + if(!slots[2].isItemEqual(itemStack)) { + return false; + } + + if(slots[2].stackSize < getInventoryStackLimit() && slots[2].stackSize < slots[2].getMaxStackSize()) { + return true; + }else{ + return slots[2].stackSize < itemStack.getMaxStackSize(); + } + } + + private void processItem() { + if(canProcess()) { + ItemStack itemStack = FurnaceRecipes.smelting().getSmeltingResult(this.slots[1]); + + if(slots[2] == null) + { + slots[2] = itemStack.copy(); + }else if(slots[2].isItemEqual(itemStack)) { + slots[2].stackSize += itemStack.stackSize; + } + + for(int i = 1; i < 2; i++) + { + if(slots[i].stackSize <= 0) + { + slots[i] = new ItemStack(slots[i].getItem().setFull3D()); + }else{ + slots[i].stackSize--; + } + if(slots[i].stackSize <= 0) + { + slots[i] = null; + } + } + } + } + + @Override + public void updateEntity() { + boolean flag = this.hasPower(); + boolean flag1 = false; + + if(!worldObj.isRemote) + { + if(hasPower() && canProcess()) + { + dualCookTime++; + + power -= 50; + + if(this.dualCookTime == TileEntityMachineElectricFurnace.processingSpeed) + { + this.dualCookTime = 0; + this.processItem(); + flag1 = true; + } + }else{ + dualCookTime = 0; + } + + boolean trigger = true; + + if(hasPower() && canProcess() && this.dualCookTime == 0) + { + trigger = false; + } + + if(trigger) + { + flag1 = true; + MachineArcFurnace.updateBlockState(this.dualCookTime > 0, this.worldObj, this.xCoord, this.yCoord, this.zCoord); + } + + power = Library.chargeTEFromItems(slots, 0, power, maxPower); + + PacketDispatcher.wrapper.sendToAll(new AuxElectricityPacket(xCoord, yCoord, zCoord, power)); + PacketDispatcher.wrapper.sendToAll(new AuxGaugePacket(xCoord, yCoord, zCoord, dualCookTime, 0)); + } + + + if(flag1) + { + this.markDirty(); + } + } + + @Override + public void setPower(long i) { + power = i; + + } + + @Override + public long getPower() { + return power; + + } + + @Override + public long getMaxPower() { + return maxPower; + } +}