diff --git a/assets/hbm/lang/de_DE.lang b/assets/hbm/lang/de_DE.lang index 07c9b8b26..757673c91 100644 --- a/assets/hbm/lang/de_DE.lang +++ b/assets/hbm/lang/de_DE.lang @@ -271,6 +271,8 @@ tile.crate_iron.name=Eisenkiste container.crateIron=Eisenkiste tile.crate_steel.name=Stahlkiste container.crateSteel=Stahlkiste +tile.machine_press.name=Dampfpresse +container.press=Dampfpresse tile.red_pylon.name=Strommasten item.wiring_red_copper.name=Kabeltrommel @@ -428,6 +430,7 @@ item.wire_copper.name=Kupferdraht item.wire_gold.name=Golddraht item.wire_schrabidium.name=Schrabidiumdraht +item.circuit_raw.name=Schaltkreisrohling item.circuit_aluminium.name=Einfacher Schaltkreis item.circuit_copper.name=Erweiterter Schaltkreis item.circuit_red_copper.name=Forgeschrittener Schaltkreis @@ -1223,6 +1226,7 @@ item.shimmer_handle.name=Verstärketer Polymergriff item.redcoil_capacitor.name=Rotspulenkondensator item.detonator.name=Fernzünder item.crate_caller.name=Nachschub-Requester +item.meteor_remote.name=Meteoritenkontroller item.ingot_hes.name=Stark angereicherter Schrabidiumkernbrennstoffbarren item.ingot_les.name=Schwach angereicherter Schrabidiumkernbrennstoffbarren @@ -1292,6 +1296,31 @@ item.blades_advanced_alloy.name=Fortgeschrittenes Sägeblatt item.blades_combine_steel.name=CMB-Sägeblatt item.blades_schrabidium.name=Schrabidiumsägeblatt +item.stamp_stone_flat.name=Flacher Stempel (Stein) +item.stamp_stone_plate.name=Plattenstempel (Stein) +item.stamp_stone_wire.name=Kabelstempel (Stein) +item.stamp_stone_circuit.name=Schaltkreisstempel (Stein) +item.stamp_iron_flat.name=Flacher Stempel (Eisen) +item.stamp_iron_plate.name=Plattenstempel (Eisen) +item.stamp_iron_wire.name=Kabelstempel (Eisen) +item.stamp_iron_circuit.name=Schaltkreisstempel (Eisen) +item.stamp_steel_flat.name=Flacher Stempel (Stahl) +item.stamp_steel_plate.name=Plattenstempel (Stahl) +item.stamp_steel_wire.name=Kabelstempel (Stahl) +item.stamp_steel_circuit.name=Schaltkreisstempel (Stahl) +item.stamp_titanium_flat.name=Flacher Stempel (Titan) +item.stamp_titanium_plate.name=Plattenstempel (Titan) +item.stamp_titanium_wire.name=Kabelstempel (Titan) +item.stamp_titanium_circuit.name=Schaltkreisstempel (Titan) +item.stamp_obsidian_flat.name=Flacher Stempel (Obsidian) +item.stamp_obsidian_plate.name=Plattenstempel (Obsidian) +item.stamp_obsidian_wire.name=Kabelstempel (Obsidian) +item.stamp_obsidian_circuit.name=Schaltkreisstempel (Obsidian) +item.stamp_schrabidium_flat.name=Flacher Stempel (Schrabidium) +item.stamp_schrabidium_plate.name=Plattenstempel (Schrabidium) +item.stamp_schrabidium_wire.name=Kabelstempel (Schrabidium) +item.stamp_schrabidium_circuit.name=Schaltkreisstempel (Schrabidium) + item.part_lithium.name=Lithiumstaubkiste item.part_beryllium.name=Berylliumstaubkiste item.part_carbon.name=Kohlenstoffstaubkiste diff --git a/assets/hbm/lang/en_US.lang b/assets/hbm/lang/en_US.lang index 092384775..fbe901f2e 100644 --- a/assets/hbm/lang/en_US.lang +++ b/assets/hbm/lang/en_US.lang @@ -271,6 +271,8 @@ tile.crate_iron.name=Iron Crate container.crateIron=Iron Crate tile.crate_steel.name=Steel Crate container.crateSteel=Steel Crate +tile.machine_press.name=Steam Press +container.press=Steam Press tile.red_pylon.name=Electricity Pole item.wiring_red_copper.name=Cable Drum @@ -428,6 +430,7 @@ item.wire_copper.name=Copper Wire item.wire_gold.name=Gold Wire item.wire_schrabidium.name=Schrabidium Wire +item.circuit_raw.name=Basic Circuit Assembly item.circuit_aluminium.name=Basic Circuit item.circuit_copper.name=Enhanced Circuit item.circuit_red_copper.name=Advanved Circuit @@ -1223,6 +1226,7 @@ item.shimmer_handle.name=Reinforced Polymer Handle item.redcoil_capacitor.name=Redcoil Capacitor item.detonator.name=Detonator item.crate_caller.name=Supply Drop Requester +item.meteor_remote.name=Meteorite Remote item.ingot_hes.name=Highly Enriched Schrabidium Fuel Ingot item.ingot_les.name=Low Enriched Schrabidium Fuel Ingot @@ -1292,6 +1296,31 @@ item.blades_advanced_alloy.name=Advanced Shredder Blades item.blades_combine_steel.name=CMB Shredder Blades item.blades_schrabidium.name=Schrabidium Shredder Blades +item.stamp_stone_flat.name=Flat Stamp (Stone) +item.stamp_stone_plate.name=Plate Stamp (Stone) +item.stamp_stone_wire.name=Wire Stamp (Stone) +item.stamp_stone_circuit.name=Circuit Stamp (Stone) +item.stamp_iron_flat.name=Flat Stamp (Iron) +item.stamp_iron_plate.name=Plate Stamp (Iron) +item.stamp_iron_wire.name=Wire Stamp (Iron) +item.stamp_iron_circuit.name=Circuit Stamp (Iron) +item.stamp_steel_flat.name=Flat Stamp (Steel) +item.stamp_steel_plate.name=Plate Stamp (Steel) +item.stamp_steel_wire.name=Wire Stamp (Steel) +item.stamp_steel_circuit.name=Circuit Stamp (Steel) +item.stamp_titanium_flat.name=Flat Stamp (Titanium) +item.stamp_titanium_plate.name=Plate Stamp (Titanium) +item.stamp_titanium_wire.name=Wire Stamp (Titanium) +item.stamp_titanium_circuit.name=Circuit Stamp (Titanium) +item.stamp_obsidian_flat.name=Flat Stamp (Obsidian) +item.stamp_obsidian_plate.name=Plate Stamp (Obsidian) +item.stamp_obsidian_wire.name=Wire Stamp (Obsidian) +item.stamp_obsidian_circuit.name=Circuit Stamp (Obsidian) +item.stamp_schrabidium_flat.name=Flat Stamp (Schrabidium) +item.stamp_schrabidium_plate.name=Plate Stamp (Schrabidium) +item.stamp_schrabidium_wire.name=Wire Stamp (Schrabidium) +item.stamp_schrabidium_circuit.name=Circuit Stamp (Schrabidium) + item.part_lithium.name=Box of Lithium Dust item.part_beryllium.name=Box of Beryllium Dust item.part_carbon.name=Box of Carbon Dust diff --git a/assets/hbm/models/press_body.obj b/assets/hbm/models/press_body.obj new file mode 100644 index 000000000..5ab4c76bf --- /dev/null +++ b/assets/hbm/models/press_body.obj @@ -0,0 +1,512 @@ +# Blender v2.76 (sub 0) OBJ File: 'press_body.blend' +# www.blender.org +o Cube_Cube.001 +v -0.500000 0.000000 0.500000 +v -0.500000 0.000000 -0.500000 +v 0.500000 0.000000 0.500000 +v 0.500000 0.000000 -0.500000 +v -0.500000 1.000000 0.375000 +v -0.500000 1.000000 -0.375000 +v -0.500000 0.000000 -0.375000 +v -0.500000 0.000000 0.375000 +v -0.375000 1.000000 -0.500000 +v 0.375000 1.000000 -0.500000 +v 0.375000 0.000000 -0.500000 +v -0.375000 0.000000 -0.500000 +v 0.500000 1.000000 -0.375000 +v 0.500000 1.000000 0.375000 +v 0.500000 0.000000 0.375000 +v 0.500000 0.000000 -0.375000 +v 0.375000 1.000000 0.500000 +v -0.375000 1.000000 0.500000 +v -0.375000 0.000000 0.500000 +v 0.375000 0.000000 0.500000 +v 0.375000 1.000000 0.375000 +v -0.375000 1.000000 0.375000 +v 0.375000 1.000000 -0.375000 +v -0.375000 1.000000 -0.375000 +v -0.375000 0.000000 0.375000 +v 0.375000 0.000000 0.375000 +v -0.375000 0.000000 -0.375000 +v 0.375000 0.000000 -0.375000 +v 0.375000 0.875000 0.500000 +v -0.375000 0.875000 0.500000 +v 0.500000 0.875000 -0.375000 +v 0.500000 0.875000 0.375000 +v -0.375000 0.875000 -0.500000 +v 0.375000 0.875000 -0.500000 +v -0.500000 0.875000 0.375000 +v -0.500000 0.875000 -0.375000 +v -0.500000 2.000000 -0.375000 +v 0.375000 2.000000 -0.375000 +v 0.375000 2.000000 -0.500000 +v 0.500000 2.000000 0.375000 +v -0.375000 2.000000 0.500000 +v -0.500000 2.000000 0.375000 +v -0.375000 2.000000 -0.500000 +v 0.500000 2.000000 -0.375000 +v 0.375000 2.000000 0.500000 +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 2.500000 0.375000 +v -0.500000 2.500000 -0.375000 +v -0.375000 2.500000 -0.500000 +v 0.375000 2.500000 -0.500000 +v 0.500000 2.500000 -0.375000 +v 0.500000 2.500000 0.375000 +v 0.375000 2.500000 0.500000 +v -0.375000 2.500000 0.500000 +v 0.375000 2.500000 0.375000 +v -0.375000 2.500000 0.375000 +v 0.375000 2.500000 -0.375000 +v -0.375000 2.500000 -0.375000 +v -0.375000 2.000000 0.375000 +v -0.375000 2.000000 -0.375000 +v 0.375000 2.000000 0.375000 +v -0.500000 2.500000 0.500000 +v -0.500000 2.500000 -0.500000 +v 0.500000 2.500000 0.500000 +v 0.500000 2.500000 -0.500000 +v 0.375000 3.000000 0.375000 +v 0.375000 3.000000 -0.375000 +v -0.375000 3.000000 -0.375000 +v -0.375000 3.000000 0.375000 +v -0.500000 1.000000 0.500000 +v -0.500000 0.875000 0.500000 +v 0.500000 1.000000 0.500000 +v 0.500000 0.875000 0.500000 +v 0.500000 1.000000 -0.500000 +v 0.500000 0.875000 -0.500000 +v -0.500000 1.000000 -0.500000 +v -0.500000 0.875000 -0.500000 +v -0.500000 2.000000 0.500000 +v -0.500000 2.000000 -0.500000 +v 0.500000 2.000000 0.500000 +v 0.500000 2.000000 -0.500000 +v -0.375000 0.000000 0.375000 +v 0.375000 0.000000 0.375000 +v -0.375000 0.000000 -0.375000 +v 0.375000 0.000000 -0.375000 +vt 0.687301 0.558256 +vt 0.710163 0.558256 +vt 0.710163 0.581118 +vt 0.745557 0.558256 +vt 0.768419 0.558256 +vt 0.768419 0.581118 +vt 0.774343 0.017697 +vt 0.797205 0.017697 +vt 0.797205 0.040559 +vt 0.629045 0.558256 +vt 0.651906 0.558256 +vt 0.651906 0.581118 +vt 0.086283 0.545724 +vt 0.086283 0.408552 +vt 0.223454 0.408552 +vt 0.246316 0.408552 +vt 0.246316 0.545724 +vt 0.223454 0.545724 +vt 0.223454 0.568586 +vt 0.086283 0.568586 +vt 0.063421 0.545724 +vt 0.086283 0.385691 +vt 0.705757 0.500000 +vt 0.568586 0.500000 +vt 0.568586 0.362829 +vt 0.728619 0.362829 +vt 0.728619 0.500000 +vt 0.223454 0.385691 +vt 0.086283 0.362829 +vt 0.269178 0.408552 +vt 0.223454 0.591448 +vt 0.063421 0.408552 +vt 0.040559 0.545724 +vt 0.489670 0.936579 +vt 0.466808 0.936579 +vt 0.466808 0.776546 +vt 0.429212 0.177731 +vt 0.429212 0.017697 +vt 0.566383 0.017697 +vt 0.292040 0.177731 +vt 0.292040 0.017697 +vt 0.913717 0.500000 +vt 0.890855 0.500000 +vt 0.890855 0.339967 +vt 0.154869 0.017697 +vt 0.738949 0.649704 +vt 0.738949 0.786875 +vt 0.601777 0.786875 +vt 0.959441 0.339967 +vt 0.982303 0.339967 +vt 0.982303 0.500000 +vt 0.292040 0.408552 +vt 0.292040 0.545724 +vt 0.269178 0.545724 +vt 0.223454 0.614310 +vt 0.086283 0.614310 +vt 0.086283 0.591448 +vt 0.017697 0.545724 +vt 0.017697 0.408552 +vt 0.040559 0.408552 +vt 0.086283 0.339967 +vt 0.223454 0.339967 +vt 0.223454 0.362829 +vt 0.350296 0.362829 +vt 0.350296 0.500000 +vt 0.327434 0.500000 +vt 0.487468 0.362829 +vt 0.350296 0.339967 +vt 0.487468 0.500000 +vt 0.510330 0.362829 +vt 0.487468 0.522862 +vt 0.421085 0.936579 +vt 0.398223 0.936579 +vt 0.398223 0.776546 +vt 0.017697 0.017697 +vt 0.154869 0.177731 +vt 0.568586 0.339967 +vt 0.705757 0.339967 +vt 0.705757 0.362829 +vt 0.545724 0.500000 +vt 0.705757 0.522862 +vt 0.568586 0.522862 +vt 0.327434 0.339967 +vt 0.593650 0.581118 +vt 0.570788 0.581118 +vt 0.570788 0.558256 +vt 0.487468 0.339967 +vt 0.510330 0.339967 +vt 0.350296 0.522862 +vt 0.327434 0.522862 +vt 0.510330 0.500000 +vt 0.510330 0.522862 +vt 0.566383 0.649704 +vt 0.566383 0.741152 +vt 0.429212 0.741152 +vt 0.601777 0.154869 +vt 0.601777 0.017697 +vt 0.738949 0.017697 +vt 0.429212 0.649704 +vt 0.292040 0.741152 +vt 0.154869 0.649704 +vt 0.154869 0.741152 +vt 0.017697 0.741152 +vt 0.292040 0.649704 +vt 0.223454 0.304572 +vt 0.223454 0.213125 +vt 0.360626 0.213125 +vt 0.177731 0.213125 +vt 0.177731 0.304572 +vt 0.040559 0.304572 +vt 0.726417 0.213125 +vt 0.726417 0.304572 +vt 0.589245 0.304572 +vt 0.543521 0.213125 +vt 0.543521 0.304572 +vt 0.406350 0.304572 +vt 0.547926 0.581118 +vt 0.431414 0.581118 +vt 0.408552 0.581118 +vt 0.408552 0.558256 +vt 0.385690 0.581118 +vt 0.466808 0.558256 +vt 0.489670 0.558256 +vt 0.489670 0.581118 +vt 0.512532 0.558256 +vt 0.350296 0.581118 +vt 0.327434 0.581118 +vt 0.327434 0.558256 +vt 0.040559 0.959441 +vt 0.017697 0.959441 +vt 0.017697 0.776546 +vt 0.109145 0.959441 +vt 0.086283 0.959441 +vt 0.086283 0.776546 +vt 0.327434 0.603980 +vt 0.807535 0.304572 +vt 0.784673 0.304572 +vt 0.784673 0.121677 +vt 0.876120 0.121677 +vt 0.876120 0.304572 +vt 0.853259 0.304572 +vt 0.786875 0.522862 +vt 0.764013 0.522862 +vt 0.764013 0.339967 +vt 0.855461 0.339967 +vt 0.855461 0.522862 +vt 0.832599 0.522862 +vt 0.865791 0.649704 +vt 0.865791 0.832599 +vt 0.842929 0.832599 +vt 0.797205 0.649704 +vt 0.797205 0.832599 +vt 0.774343 0.832599 +vt 0.317105 0.936579 +vt 0.294243 0.936579 +vt 0.294243 0.776546 +vt 0.339967 0.776546 +vt 0.339967 0.936579 +vt 0.190263 0.936579 +vt 0.167401 0.936579 +vt 0.167401 0.776546 +vt 0.213125 0.776546 +vt 0.213125 0.936579 +vt 0.936579 0.500000 +vt 0.913717 0.339967 +vt 0.959441 0.500000 +vt 0.443947 0.936579 +vt 0.421085 0.776546 +vt 0.200592 0.304572 +vt 0.200592 0.213125 +vt 0.749279 0.304572 +vt 0.017697 0.304572 +vt 0.017697 0.213125 +vt 0.040559 0.213125 +vt 0.566383 0.304572 +vt 0.566383 0.213125 +vt 0.589245 0.213125 +vt 0.360626 0.304572 +vt 0.383488 0.213125 +vt 0.406350 0.213125 +vt 0.383488 0.304572 +vt 0.040559 0.776546 +vt 0.063421 0.776546 +vt 0.063421 0.959441 +vt 0.820067 0.649704 +vt 0.820067 0.832599 +vt 0.842929 0.649704 +vt 0.807535 0.121677 +vt 0.830397 0.121677 +vt 0.830397 0.304572 +vt 0.853259 0.121677 +vt 0.786875 0.339967 +vt 0.809737 0.339967 +vt 0.809737 0.522862 +vt 0.832599 0.339967 +vt 0.362829 0.936579 +vt 0.271381 0.936579 +vt 0.271381 0.776546 +vt 0.235987 0.776546 +vt 0.235987 0.936579 +vt 0.144539 0.936579 +vt 0.687301 0.581118 +vt 0.745557 0.581118 +vt 0.774343 0.040559 +vt 0.629045 0.581118 +vt 0.489670 0.776546 +vt 0.566383 0.177731 +vt 0.601777 0.649704 +vt 0.327434 0.362829 +vt 0.017697 0.177731 +vt 0.545724 0.362829 +vt 0.593650 0.558256 +vt 0.738949 0.154869 +vt 0.017697 0.649704 +vt 0.547926 0.558256 +vt 0.431414 0.558256 +vt 0.385690 0.558256 +vt 0.466808 0.581118 +vt 0.512532 0.581118 +vt 0.350296 0.558256 +vt 0.109145 0.776546 +vt 0.350296 0.603980 +vt 0.774343 0.649704 +vt 0.317105 0.776546 +vt 0.190263 0.776546 +vt 0.936579 0.339967 +vt 0.443947 0.776546 +vt 0.749279 0.213125 +vt 0.362829 0.776546 +vt 0.144539 0.776546 +vn 0.000000 -1.000000 0.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 0.000000 -1.000000 +vn -1.000000 0.000000 0.000000 +s off +f 11/1/1 4/2/1 16/3/1 +f 26/4/1 15/5/1 3/6/1 +f 8/7/1 25/8/1 19/9/1 +f 2/10/1 12/11/1 27/12/1 +f 24/13/2 22/14/2 21/15/2 +f 14/16/2 13/17/2 23/18/2 +f 10/19/2 9/20/2 24/13/2 +f 22/14/2 24/13/2 6/21/2 +f 21/15/2 22/14/2 18/22/2 +f 64/23/1 62/24/1 63/25/1 +f 44/26/1 40/27/1 64/23/1 +f 17/28/3 18/22/3 30/29/3 +f 13/17/4 14/16/4 32/30/4 +f 9/20/5 10/19/5 34/31/5 +f 5/32/6 6/21/6 36/33/6 +f 46/34/4 30/35/4 19/36/4 +f 46/37/3 85/38/3 86/39/3 +f 48/40/6 87/41/6 85/38/6 +f 33/42/4 48/43/4 27/44/4 +f 88/45/5 87/41/5 48/40/5 +f 85/46/1 87/47/1 88/48/1 +f 7/49/3 27/50/3 48/51/3 +f 47/52/1 49/53/1 31/54/1 +f 49/55/1 48/56/1 33/57/1 +f 48/58/1 46/59/1 35/60/1 +f 46/61/1 47/62/1 29/63/1 +f 59/64/2 61/65/2 51/66/2 +f 58/67/2 59/64/2 57/68/2 +f 60/69/2 58/67/2 55/70/2 +f 61/65/2 60/69/2 53/71/2 +f 35/72/5 46/73/5 25/74/5 +f 86/75/4 88/45/4 49/76/4 +f 43/77/1 39/78/1 38/79/1 +f 63/25/1 62/24/1 42/80/1 +f 45/81/1 41/82/1 62/24/1 +f 65/83/2 57/68/2 59/64/2 +f 10/84/5 77/85/5 78/86/5 +f 58/67/2 56/87/2 67/88/2 +f 61/65/2 52/89/2 66/90/2 +f 60/69/2 54/91/2 68/92/2 +f 58/93/3 69/94/3 72/95/3 +f 71/96/2 72/97/2 69/98/2 +f 59/99/6 72/95/6 71/100/6 +f 60/101/4 70/102/4 69/103/4 +f 61/104/5 71/100/5 70/102/5 +f 42/105/6 50/106/6 51/107/6 +f 57/108/3 41/109/3 45/110/3 +f 55/111/4 40/112/4 44/113/4 +f 53/114/5 39/115/5 43/116/5 +f 78/86/4 77/85/4 13/117/4 +f 14/118/4 75/119/4 76/120/4 +f 76/120/3 75/119/3 17/121/3 +f 18/122/3 73/123/3 74/124/3 +f 74/124/6 73/123/6 5/125/6 +f 80/126/5 79/127/5 9/128/5 +f 43/129/4 63/130/4 24/131/4 +f 63/132/3 37/133/3 6/134/3 +f 6/135/6 79/127/6 80/126/6 +f 45/136/6 64/137/6 21/138/6 +f 21/139/5 64/140/5 40/141/5 +f 44/142/3 38/143/3 23/144/3 +f 23/145/6 38/146/6 39/147/6 +f 22/148/4 62/149/4 41/150/4 +f 5/151/5 42/152/5 62/153/5 +f 76/154/3 29/155/3 20/156/3 +f 15/157/4 32/158/4 76/154/4 +f 78/159/4 31/160/4 16/161/4 +f 11/162/5 34/163/5 78/159/5 +f 80/164/5 33/42/5 12/165/5 +f 7/49/6 36/166/6 80/164/6 +f 74/167/6 35/72/6 8/168/6 +f 19/36/3 30/35/3 74/167/3 +f 50/106/6 42/105/6 81/169/6 +f 57/108/3 65/170/3 81/169/3 +f 83/171/4 40/112/4 55/111/4 +f 83/172/3 67/173/3 56/174/3 +f 84/175/5 39/115/5 53/114/5 +f 84/175/4 68/176/4 54/177/4 +f 37/178/6 51/107/6 66/179/6 +f 52/180/5 43/116/5 82/181/5 +f 9/182/5 79/183/5 82/184/5 +f 82/184/6 79/183/6 6/134/6 +f 5/151/6 73/185/6 81/186/6 +f 81/186/3 73/185/3 18/187/3 +f 17/188/3 75/189/3 83/190/3 +f 83/190/4 75/189/4 14/191/4 +f 13/192/4 77/193/4 84/194/4 +f 84/194/5 77/193/5 10/195/5 +f 47/196/5 32/158/5 15/157/5 +f 29/155/6 47/197/6 26/198/6 +f 28/199/6 49/200/6 34/163/6 +f 16/161/3 31/160/3 49/201/3 +f 28/202/1 11/1/1 16/3/1 +f 20/203/1 26/4/1 3/6/1 +f 1/204/1 8/7/1 19/9/1 +f 7/205/1 2/10/1 27/12/1 +f 23/18/2 24/13/2 21/15/2 +f 21/15/2 14/16/2 23/18/2 +f 23/18/2 10/19/2 24/13/2 +f 5/32/2 22/14/2 6/21/2 +f 17/28/2 21/15/2 18/22/2 +f 38/79/1 64/23/1 63/25/1 +f 38/79/1 44/26/1 64/23/1 +f 29/63/3 17/28/3 30/29/3 +f 31/54/4 13/17/4 32/30/4 +f 33/57/5 9/20/5 34/31/5 +f 35/60/6 5/32/6 36/33/6 +f 25/206/4 46/34/4 19/36/4 +f 47/207/3 46/37/3 86/39/3 +f 46/37/6 48/40/6 85/38/6 +f 12/165/4 33/42/4 27/44/4 +f 49/76/5 88/45/5 48/40/5 +f 86/208/1 85/46/1 88/48/1 +f 36/166/3 7/49/3 48/51/3 +f 32/30/1 47/52/1 31/54/1 +f 34/31/1 49/55/1 33/57/1 +f 36/33/1 48/58/1 35/60/1 +f 30/29/1 46/61/1 29/63/1 +f 50/209/2 59/64/2 51/66/2 +f 56/87/2 58/67/2 57/68/2 +f 54/91/2 60/69/2 55/70/2 +f 52/89/2 61/65/2 53/71/2 +f 8/168/5 35/72/5 25/74/5 +f 47/210/4 86/75/4 49/76/4 +f 63/25/1 43/77/1 38/79/1 +f 37/211/1 63/25/1 42/80/1 +f 64/23/1 45/81/1 62/24/1 +f 50/209/2 65/83/2 59/64/2 +f 34/212/5 10/84/5 78/86/5 +f 55/70/2 58/67/2 67/88/2 +f 51/66/2 61/65/2 66/90/2 +f 53/71/2 60/69/2 68/92/2 +f 59/99/3 58/93/3 72/95/3 +f 70/213/2 71/96/2 69/98/2 +f 61/104/6 59/99/6 71/100/6 +f 58/214/4 60/101/4 69/103/4 +f 60/101/5 61/104/5 70/102/5 +f 37/178/6 42/105/6 51/107/6 +f 56/174/3 57/108/3 45/110/3 +f 54/177/4 55/111/4 44/113/4 +f 52/180/5 53/114/5 43/116/5 +f 31/215/4 78/86/4 13/117/4 +f 32/216/4 14/118/4 76/120/4 +f 29/217/3 76/120/3 17/121/3 +f 30/218/3 18/122/3 74/124/3 +f 35/219/6 74/124/6 5/125/6 +f 33/220/5 80/126/5 9/128/5 +f 9/182/4 43/129/4 24/131/4 +f 24/221/3 63/132/3 6/134/3 +f 36/222/6 6/135/6 80/126/6 +f 17/188/6 45/136/6 21/138/6 +f 14/191/5 21/139/5 40/141/5 +f 13/192/3 44/142/3 23/144/3 +f 10/195/6 23/145/6 39/147/6 +f 18/187/4 22/148/4 41/150/4 +f 22/223/5 5/151/5 62/153/5 +f 3/224/3 76/154/3 20/156/3 +f 3/224/4 15/157/4 76/154/4 +f 4/225/4 78/159/4 16/161/4 +f 4/225/5 11/162/5 78/159/5 +f 2/226/5 80/164/5 12/165/5 +f 2/226/6 7/49/6 80/164/6 +f 1/227/6 74/167/6 8/168/6 +f 1/227/3 19/36/3 74/167/3 +f 65/170/6 50/106/6 81/169/6 +f 41/109/3 57/108/3 81/169/3 +f 67/228/4 83/171/4 55/111/4 +f 45/110/3 83/172/3 56/174/3 +f 68/176/5 84/175/5 53/114/5 +f 44/113/4 84/175/4 54/177/4 +f 82/181/6 37/178/6 66/179/6 +f 66/179/5 52/180/5 82/181/5 +f 43/129/5 9/182/5 82/184/5 +f 37/133/6 82/184/6 6/134/6 +f 42/152/6 5/151/6 81/186/6 +f 41/150/3 81/186/3 18/187/3 +f 45/136/3 17/188/3 83/190/3 +f 40/141/4 83/190/4 14/191/4 +f 44/142/4 13/192/4 84/194/4 +f 39/147/5 84/194/5 10/195/5 +f 26/229/5 47/196/5 15/157/5 +f 20/156/6 29/155/6 26/198/6 +f 11/162/6 28/199/6 34/163/6 +f 28/230/3 16/161/3 49/201/3 diff --git a/assets/hbm/models/press_head.obj b/assets/hbm/models/press_head.obj new file mode 100644 index 000000000..0a7191985 --- /dev/null +++ b/assets/hbm/models/press_head.obj @@ -0,0 +1,94 @@ +# Blender v2.76 (sub 0) OBJ File: 'press_head.blend' +# www.blender.org +o Cube.001_Cube.002 +v -0.375000 1.005685 -0.375000 +v 0.375000 1.005685 -0.375000 +v -0.375000 1.005685 0.375000 +v 0.375000 1.005685 0.375000 +v 0.250000 2.005685 0.250000 +v 0.250000 2.005685 -0.250000 +v -0.250000 2.005685 0.250000 +v -0.250000 2.005685 -0.250000 +v 0.250000 1.130685 -0.250000 +v 0.250000 1.130685 0.250000 +v -0.250000 1.130685 0.250000 +v -0.250000 1.130685 -0.250000 +v 0.375000 1.130685 0.375000 +v -0.375000 1.130685 0.375000 +v 0.375000 1.130685 -0.375000 +v -0.375000 1.130685 -0.375000 +vt 0.229633 0.395056 +vt 0.229633 0.688899 +vt 0.061723 0.688899 +vt 0.646922 0.103700 +vt 0.646922 0.397543 +vt 0.479011 0.397543 +vt 0.313588 0.229633 +vt 0.019745 0.229633 +vt 0.019745 0.061723 +vt 0.187655 0.728389 +vt 0.187655 0.896300 +vt 0.019745 0.896300 +vt 0.355566 0.271610 +vt 0.313588 0.061723 +vt 0.646922 0.520989 +vt 0.479011 0.520989 +vt 0.437034 0.479011 +vt 0.479011 0.103700 +vt 0.437034 0.061723 +vt 0.061723 0.395056 +vt 0.019745 0.353078 +vt 0.271611 0.311101 +vt 0.271611 0.353078 +vt 0.688899 0.437034 +vt 0.688899 0.479011 +vt 0.688899 0.019745 +vt 0.688899 0.061723 +vt 0.397543 0.271611 +vt 0.355566 0.019745 +vt 0.646922 0.814832 +vt 0.479011 0.814832 +vt 0.980255 0.019745 +vt 0.980255 0.271611 +vt 0.728389 0.271611 +vt 0.019745 0.728389 +vt 0.019745 0.311101 +vt 0.437034 0.437034 +vt 0.437034 0.019745 +vt 0.397543 0.019745 +vt 0.728389 0.019745 +vn -1.000000 0.000000 0.000000 +vn 0.000000 0.000000 1.000000 +vn 0.000000 0.000000 -1.000000 +vn 0.000000 1.000000 0.000000 +vn 1.000000 0.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +s off +f 11/1/1 7/2/1 8/3/1 +f 10/4/2 5/5/2 7/6/2 +f 12/7/3 8/8/3 6/9/3 +f 5/10/4 6/11/4 8/12/4 +f 16/13/4 12/7/4 9/14/4 +f 9/15/4 10/16/4 13/17/4 +f 10/4/4 11/18/4 14/19/4 +f 11/1/4 12/20/4 16/21/4 +f 3/22/1 14/23/1 16/21/1 +f 2/24/5 15/25/5 13/17/5 +f 4/26/2 13/27/2 14/19/2 +f 1/28/3 16/13/3 15/29/3 +f 9/15/5 6/30/5 5/31/5 +f 3/32/6 1/33/6 2/34/6 +f 12/20/1 11/1/1 8/3/1 +f 11/18/2 10/4/2 7/6/2 +f 9/14/3 12/7/3 6/9/3 +f 7/35/4 5/10/4 8/12/4 +f 15/29/4 16/13/4 9/14/4 +f 15/25/4 9/15/4 13/17/4 +f 13/27/4 10/4/4 14/19/4 +f 14/23/4 11/1/4 16/21/4 +f 1/36/1 3/22/1 16/21/1 +f 4/37/5 2/24/5 13/17/5 +f 3/38/2 4/26/2 14/19/2 +f 2/39/3 1/28/3 15/29/3 +f 10/16/5 9/15/5 5/31/5 +f 4/40/6 3/32/6 2/34/6 diff --git a/assets/hbm/sounds.json b/assets/hbm/sounds.json index 38ebb50a2..dae0311b6 100644 --- a/assets/hbm/sounds.json +++ b/assets/hbm/sounds.json @@ -12,6 +12,7 @@ "block.dieselOperate": {"category": "block", "sounds": [{"name": "block/dieselOperate", "stream": false}]}, "block.igeneratorOperate": {"category": "block", "sounds": [{"name": "block/igeneratorOperate", "stream": false}]}, "block.turbofanOperate": {"category": "block", "sounds": [{"name": "block/turbofanOperate", "stream": false}]}, + "block.pressOperate": {"category": "block", "sounds": [{"name": "block/pressOperate", "stream": false}]}, "item.techBleep": {"category": "player", "sounds": [{"name": "tool/techBleep", "stream": false}]}, "item.techBoop": {"category": "player", "sounds": [{"name": "tool/techBoop", "stream": false}]}, diff --git a/assets/hbm/sounds/block/pressOperate.ogg b/assets/hbm/sounds/block/pressOperate.ogg new file mode 100644 index 000000000..a8f957f05 Binary files /dev/null and b/assets/hbm/sounds/block/pressOperate.ogg differ diff --git a/assets/hbm/textures/blocks/machine_press.png b/assets/hbm/textures/blocks/machine_press.png new file mode 100644 index 000000000..7b5dc8a4c Binary files /dev/null and b/assets/hbm/textures/blocks/machine_press.png differ diff --git a/assets/hbm/textures/gui/gui_nei_nuke.png b/assets/hbm/textures/gui/gui_nei_nuke.png index 4b16759fe..ffe7b7e01 100644 Binary files a/assets/hbm/textures/gui/gui_nei_nuke.png and b/assets/hbm/textures/gui/gui_nei_nuke.png differ diff --git a/assets/hbm/textures/gui/gui_nei_press.png b/assets/hbm/textures/gui/gui_nei_press.png new file mode 100644 index 000000000..7cfd05a9c Binary files /dev/null and b/assets/hbm/textures/gui/gui_nei_press.png differ diff --git a/assets/hbm/textures/gui/gui_press.png b/assets/hbm/textures/gui/gui_press.png new file mode 100644 index 000000000..5b1efed2b Binary files /dev/null and b/assets/hbm/textures/gui/gui_press.png differ diff --git a/assets/hbm/textures/items/circuit_raw.png b/assets/hbm/textures/items/circuit_raw.png new file mode 100644 index 000000000..ba729313a Binary files /dev/null and b/assets/hbm/textures/items/circuit_raw.png differ diff --git a/assets/hbm/textures/items/entanglement_kit.jpg b/assets/hbm/textures/items/entanglement_kit.jpg deleted file mode 100644 index 5b61d89c9..000000000 Binary files a/assets/hbm/textures/items/entanglement_kit.jpg and /dev/null differ diff --git a/assets/hbm/textures/items/pellet_coal.png b/assets/hbm/textures/items/pellet_coal.png new file mode 100644 index 000000000..0672275f8 Binary files /dev/null and b/assets/hbm/textures/items/pellet_coal.png differ diff --git a/assets/hbm/textures/items/stamp_iron_circuit.png b/assets/hbm/textures/items/stamp_iron_circuit.png new file mode 100644 index 000000000..6dcef4385 Binary files /dev/null and b/assets/hbm/textures/items/stamp_iron_circuit.png differ diff --git a/assets/hbm/textures/items/stamp_iron_flat.png b/assets/hbm/textures/items/stamp_iron_flat.png new file mode 100644 index 000000000..e9cee205e Binary files /dev/null and b/assets/hbm/textures/items/stamp_iron_flat.png differ diff --git a/assets/hbm/textures/items/stamp_iron_plate.png b/assets/hbm/textures/items/stamp_iron_plate.png new file mode 100644 index 000000000..23ff1d4a0 Binary files /dev/null and b/assets/hbm/textures/items/stamp_iron_plate.png differ diff --git a/assets/hbm/textures/items/stamp_iron_wire.png b/assets/hbm/textures/items/stamp_iron_wire.png new file mode 100644 index 000000000..e9239dd40 Binary files /dev/null and b/assets/hbm/textures/items/stamp_iron_wire.png differ diff --git a/assets/hbm/textures/items/stamp_obsidian_circuit.png b/assets/hbm/textures/items/stamp_obsidian_circuit.png new file mode 100644 index 000000000..861d3ace9 Binary files /dev/null and b/assets/hbm/textures/items/stamp_obsidian_circuit.png differ diff --git a/assets/hbm/textures/items/stamp_obsidian_flat.png b/assets/hbm/textures/items/stamp_obsidian_flat.png new file mode 100644 index 000000000..bd35e1d27 Binary files /dev/null and b/assets/hbm/textures/items/stamp_obsidian_flat.png differ diff --git a/assets/hbm/textures/items/stamp_obsidian_plate.png b/assets/hbm/textures/items/stamp_obsidian_plate.png new file mode 100644 index 000000000..57b37bd52 Binary files /dev/null and b/assets/hbm/textures/items/stamp_obsidian_plate.png differ diff --git a/assets/hbm/textures/items/stamp_obsidian_wire.png b/assets/hbm/textures/items/stamp_obsidian_wire.png new file mode 100644 index 000000000..144bb8fb9 Binary files /dev/null and b/assets/hbm/textures/items/stamp_obsidian_wire.png differ diff --git a/assets/hbm/textures/items/stamp_schrabidium_circuit.png b/assets/hbm/textures/items/stamp_schrabidium_circuit.png new file mode 100644 index 000000000..de537a586 Binary files /dev/null and b/assets/hbm/textures/items/stamp_schrabidium_circuit.png differ diff --git a/assets/hbm/textures/items/stamp_schrabidium_flat.png b/assets/hbm/textures/items/stamp_schrabidium_flat.png new file mode 100644 index 000000000..7a6e25e76 Binary files /dev/null and b/assets/hbm/textures/items/stamp_schrabidium_flat.png differ diff --git a/assets/hbm/textures/items/stamp_schrabidium_plate.png b/assets/hbm/textures/items/stamp_schrabidium_plate.png new file mode 100644 index 000000000..847e870ea Binary files /dev/null and b/assets/hbm/textures/items/stamp_schrabidium_plate.png differ diff --git a/assets/hbm/textures/items/stamp_schrabidium_wire.png b/assets/hbm/textures/items/stamp_schrabidium_wire.png new file mode 100644 index 000000000..e2447983c Binary files /dev/null and b/assets/hbm/textures/items/stamp_schrabidium_wire.png differ diff --git a/assets/hbm/textures/items/stamp_steel_circuit.png b/assets/hbm/textures/items/stamp_steel_circuit.png new file mode 100644 index 000000000..0340daed7 Binary files /dev/null and b/assets/hbm/textures/items/stamp_steel_circuit.png differ diff --git a/assets/hbm/textures/items/stamp_steel_flat.png b/assets/hbm/textures/items/stamp_steel_flat.png new file mode 100644 index 000000000..af9aac43c Binary files /dev/null and b/assets/hbm/textures/items/stamp_steel_flat.png differ diff --git a/assets/hbm/textures/items/stamp_steel_plate.png b/assets/hbm/textures/items/stamp_steel_plate.png new file mode 100644 index 000000000..b991eb76d Binary files /dev/null and b/assets/hbm/textures/items/stamp_steel_plate.png differ diff --git a/assets/hbm/textures/items/stamp_steel_wire.png b/assets/hbm/textures/items/stamp_steel_wire.png new file mode 100644 index 000000000..462d6d44e Binary files /dev/null and b/assets/hbm/textures/items/stamp_steel_wire.png differ diff --git a/assets/hbm/textures/items/stamp_stone_circuit.png b/assets/hbm/textures/items/stamp_stone_circuit.png new file mode 100644 index 000000000..4234e4e87 Binary files /dev/null and b/assets/hbm/textures/items/stamp_stone_circuit.png differ diff --git a/assets/hbm/textures/items/stamp_stone_flat.png b/assets/hbm/textures/items/stamp_stone_flat.png new file mode 100644 index 000000000..72d2f52fe Binary files /dev/null and b/assets/hbm/textures/items/stamp_stone_flat.png differ diff --git a/assets/hbm/textures/items/stamp_stone_plate.png b/assets/hbm/textures/items/stamp_stone_plate.png new file mode 100644 index 000000000..e70463b46 Binary files /dev/null and b/assets/hbm/textures/items/stamp_stone_plate.png differ diff --git a/assets/hbm/textures/items/stamp_stone_wire.png b/assets/hbm/textures/items/stamp_stone_wire.png new file mode 100644 index 000000000..1a8f4455d Binary files /dev/null and b/assets/hbm/textures/items/stamp_stone_wire.png differ diff --git a/assets/hbm/textures/items/stamp_titanium_circuit.png b/assets/hbm/textures/items/stamp_titanium_circuit.png new file mode 100644 index 000000000..5725e422a Binary files /dev/null and b/assets/hbm/textures/items/stamp_titanium_circuit.png differ diff --git a/assets/hbm/textures/items/stamp_titanium_flat.png b/assets/hbm/textures/items/stamp_titanium_flat.png new file mode 100644 index 000000000..1d7024abc Binary files /dev/null and b/assets/hbm/textures/items/stamp_titanium_flat.png differ diff --git a/assets/hbm/textures/items/stamp_titanium_plate.png b/assets/hbm/textures/items/stamp_titanium_plate.png new file mode 100644 index 000000000..96d176208 Binary files /dev/null and b/assets/hbm/textures/items/stamp_titanium_plate.png differ diff --git a/assets/hbm/textures/items/stamp_titanium_wire.png b/assets/hbm/textures/items/stamp_titanium_wire.png new file mode 100644 index 000000000..ffdae003c Binary files /dev/null and b/assets/hbm/textures/items/stamp_titanium_wire.png differ diff --git a/assets/hbm/textures/models/ModelRubble.png b/assets/hbm/textures/models/ModelRubble.png deleted file mode 100644 index 1235578b8..000000000 Binary files a/assets/hbm/textures/models/ModelRubble.png and /dev/null differ diff --git a/assets/hbm/textures/models/press_base.png b/assets/hbm/textures/models/press_base.png new file mode 100644 index 000000000..1f12b4717 Binary files /dev/null and b/assets/hbm/textures/models/press_base.png differ diff --git a/assets/hbm/textures/models/press_body.png b/assets/hbm/textures/models/press_body.png new file mode 100644 index 000000000..62c11e6d3 Binary files /dev/null and b/assets/hbm/textures/models/press_body.png differ diff --git a/assets/hbm/textures/models/press_body_wf.png b/assets/hbm/textures/models/press_body_wf.png new file mode 100644 index 000000000..e15a02ea2 Binary files /dev/null and b/assets/hbm/textures/models/press_body_wf.png differ diff --git a/assets/hbm/textures/models/press_head.png b/assets/hbm/textures/models/press_head.png new file mode 100644 index 000000000..432cb22df Binary files /dev/null and b/assets/hbm/textures/models/press_head.png differ diff --git a/assets/hbm/textures/models/press_head_wf.png b/assets/hbm/textures/models/press_head_wf.png new file mode 100644 index 000000000..98bdc665e Binary files /dev/null and b/assets/hbm/textures/models/press_head_wf.png differ diff --git a/com/hbm/blocks/ModBlocks.java b/com/hbm/blocks/ModBlocks.java index b30d92fc4..a8071aa23 100644 --- a/com/hbm/blocks/ModBlocks.java +++ b/com/hbm/blocks/ModBlocks.java @@ -375,8 +375,8 @@ public class ModBlocks { public static Block machine_turbofan; public static final int guiID_machine_turbofan = 52; - public static Block machine_inserter; - public static final int guiID_machine_inserter = 53; + public static Block machine_press; + public static final int guiID_machine_press = 53; public static Block turret_light; public static Block turret_heavy; @@ -719,7 +719,7 @@ public class ModBlocks { machine_chemplant = new MachineChemplant(Material.iron).setBlockName("machine_chemplant").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.tabBlock).setBlockTextureName(RefStrings.MODID + ":machine_chemplant"); machine_fluidtank = new MachineFluidTank(Material.iron).setBlockName("machine_fluidtank").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.tabBlock).setBlockTextureName(RefStrings.MODID + ":machine_fluidtank"); machine_turbofan = new MachineTurbofan(Material.iron).setBlockName("machine_turbofan").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabBlock).setBlockTextureName(RefStrings.MODID + ":machine_turbofan"); - machine_inserter = new BombRejuvinator(Material.iron).setBlockName("machine_inserter").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabBlock).setBlockTextureName(RefStrings.MODID + ":inserter_side"); + machine_press = new MachinePress(Material.iron).setBlockName("machine_press").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabBlock).setBlockTextureName(RefStrings.MODID + ":machine_press"); machine_schrabidium_transmutator = new MachineSchrabidiumTransmutator(Material.iron).setBlockName("machine_schrabidium_transmutator").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.tabBlock); @@ -944,6 +944,7 @@ public class ModBlocks { GameRegistry.registerBlock(crate_steel, crate_steel.getUnlocalizedName()); //Machines + GameRegistry.registerBlock(machine_press, machine_press.getUnlocalizedName()); GameRegistry.registerBlock(machine_difurnace_off, machine_difurnace_off.getUnlocalizedName()); GameRegistry.registerBlock(machine_difurnace_on, machine_difurnace_on.getUnlocalizedName()); GameRegistry.registerBlock(machine_centrifuge, machine_centrifuge.getUnlocalizedName()); diff --git a/com/hbm/blocks/machine/MachineInserter.java b/com/hbm/blocks/machine/MachinePress.java similarity index 73% rename from com/hbm/blocks/machine/MachineInserter.java rename to com/hbm/blocks/machine/MachinePress.java index 918a146a2..fada7df4c 100644 --- a/com/hbm/blocks/machine/MachineInserter.java +++ b/com/hbm/blocks/machine/MachinePress.java @@ -3,64 +3,63 @@ 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.TileEntityMachineInserter; -import com.hbm.tileentity.machine.TileEntityNukeFurnace; +import com.hbm.tileentity.machine.TileEntityMachinePress; +import com.hbm.tileentity.machine.TileEntityMachinePuF6Tank; 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.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.world.World; -public class MachineInserter extends BlockContainer { - +public class MachinePress extends BlockContainer { + private final Random field_149933_a = new Random(); - private Random rand; private static boolean keepInventory; - - @SideOnly(Side.CLIENT) - private IIcon iconTop; - public MachineInserter(Material p_i45394_1_) { - super(p_i45394_1_); + public MachinePress(Material p_i45386_1_) { + super(p_i45386_1_); } @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iconRegister) { - - this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":inserter_top"); - this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":inserter_side"); - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int side, int metadata) { - return side == 1 ? this.iconTop : (side == 0 ? this.iconTop : this.blockIcon); - } + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) + { + return Item.getItemFromBlock(ModBlocks.machine_press); + } @Override public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { - return new TileEntityMachineInserter(); + return new TileEntityMachinePress(); + } + + @Override + public int getRenderType() { + return -1; + } + + @Override + public boolean isOpaqueCube() { + return false; + } + + @Override + public boolean renderAsNormalBlock() { + return false; } @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) { - TileEntityMachineInserter tileentityfurnace = (TileEntityMachineInserter)p_149749_1_.getTileEntity(p_149749_2_, p_149749_3_, p_149749_4_); + TileEntityMachinePress tileentityfurnace = (TileEntityMachinePress)p_149749_1_.getTileEntity(p_149749_2_, p_149749_3_, p_149749_4_); if (tileentityfurnace != null) { @@ -114,10 +113,10 @@ public class MachineInserter extends BlockContainer { return true; } else if(!player.isSneaking()) { - TileEntityMachineInserter entity = (TileEntityMachineInserter) world.getTileEntity(x, y, z); + TileEntityMachinePress entity = (TileEntityMachinePress) world.getTileEntity(x, y, z); if(entity != null) { - FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_machine_inserter, world, x, y, z); + FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_machine_press, world, x, y, z); } return true; } else { diff --git a/com/hbm/entity/effect/EntityNukeCloudSmall.java b/com/hbm/entity/effect/EntityNukeCloudSmall.java index 675421796..4f4bcf21b 100644 --- a/com/hbm/entity/effect/EntityNukeCloudSmall.java +++ b/com/hbm/entity/effect/EntityNukeCloudSmall.java @@ -77,21 +77,39 @@ public class EntityNukeCloudSmall extends Entity { } else { scale = 0; } + + this.dataWatcher.updateObject(16, (short)maxAge); + this.dataWatcher.updateObject(17, (short)age); + this.dataWatcher.updateObject(18, (short)scale); + this.dataWatcher.updateObject(19, (short)ring); + this.dataWatcher.updateObject(20, (short)height); } @Override protected void entityInit() { - + this.dataWatcher.addObject(16, (short)maxAge); + this.dataWatcher.addObject(17, (short)age); + this.dataWatcher.addObject(18, (short)scale); + this.dataWatcher.addObject(19, (short)ring); + this.dataWatcher.addObject(20, (short)height); } @Override protected void readEntityFromNBT(NBTTagCompound p_70037_1_) { + maxAge = p_70037_1_.getShort("maxAge"); age = p_70037_1_.getShort("age"); + scale = p_70037_1_.getShort("scale"); + ring = p_70037_1_.getShort("ring"); + height = p_70037_1_.getShort("height"); } @Override protected void writeEntityToNBT(NBTTagCompound p_70014_1_) { + p_70014_1_.setShort("maxAge", (short)maxAge); p_70014_1_.setShort("age", (short)age); + p_70014_1_.setShort("scale", (short)scale); + p_70014_1_.setShort("ring", (short)ring); + p_70014_1_.setShort("height", (short)height); } diff --git a/com/hbm/handler/GUIHandler.java b/com/hbm/handler/GUIHandler.java index e82eb2211..6345e8a3c 100644 --- a/com/hbm/handler/GUIHandler.java +++ b/com/hbm/handler/GUIHandler.java @@ -42,6 +42,7 @@ import com.hbm.tileentity.machine.TileEntityMachineIGenerator; import com.hbm.tileentity.machine.TileEntityMachineInserter; import com.hbm.tileentity.machine.TileEntityMachineMiningDrill; import com.hbm.tileentity.machine.TileEntityMachineOilWell; +import com.hbm.tileentity.machine.TileEntityMachinePress; import com.hbm.tileentity.machine.TileEntityMachinePuF6Tank; import com.hbm.tileentity.machine.TileEntityMachinePumpjack; import com.hbm.tileentity.machine.TileEntityMachineRTG; @@ -480,11 +481,11 @@ public class GUIHandler implements IGuiHandler { } } - case ModBlocks.guiID_machine_inserter: + case ModBlocks.guiID_machine_press: { - if(entity instanceof TileEntityMachineInserter) + if(entity instanceof TileEntityMachinePress) { - return new ContainerMachineInserter(player.inventory, (TileEntityMachineInserter) entity); + return new ContainerMachinePress(player.inventory, (TileEntityMachinePress) entity); } } } @@ -908,11 +909,11 @@ public class GUIHandler implements IGuiHandler { } } - case ModBlocks.guiID_machine_inserter: + case ModBlocks.guiID_machine_press: { - if(entity instanceof TileEntityMachineInserter) + if(entity instanceof TileEntityMachinePress) { - return new GUIMachineInserter(player.inventory, (TileEntityMachineInserter) entity); + return new GUIMachinePress(player.inventory, (TileEntityMachinePress) entity); } } } diff --git a/com/hbm/handler/nei/CMBFurnaceRecipeHandler.java b/com/hbm/handler/nei/CMBFurnaceRecipeHandler.java index e8ad974a7..f085de149 100644 --- a/com/hbm/handler/nei/CMBFurnaceRecipeHandler.java +++ b/com/hbm/handler/nei/CMBFurnaceRecipeHandler.java @@ -107,8 +107,8 @@ public class CMBFurnaceRecipeHandler extends TemplateRecipeHandler { transferRectsGui = new LinkedList(); guiGui = new LinkedList>(); - transferRects.add(new RecipeTransferRect(new Rectangle(74 + 6, 23, 24, 18), "cmbsmelting")); - transferRectsGui.add(new RecipeTransferRect(new Rectangle(63 - 7 + 4, 89 - 11, 34, 18), "cmbsmelting")); + transferRects.add(new RecipeTransferRect(new Rectangle(74 + 6 + 18, 23 + 9, 24, 18), "cmbsmelting")); + transferRectsGui.add(new RecipeTransferRect(new Rectangle(74 + 6 + 18, 23, 24, 18), "cmbsmelting")); guiGui.add(GUIMachineCMBFactory.class); RecipeTransferRectHandler.registerRectsToGuis(getRecipeTransferRectGuis(), transferRects); RecipeTransferRectHandler.registerRectsToGuis(guiGui, transferRectsGui); diff --git a/com/hbm/handler/nei/PressRecipeHandler.java b/com/hbm/handler/nei/PressRecipeHandler.java new file mode 100644 index 000000000..2bec5d550 --- /dev/null +++ b/com/hbm/handler/nei/PressRecipeHandler.java @@ -0,0 +1,169 @@ +package com.hbm.handler.nei; + +import java.awt.Rectangle; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; + +import com.hbm.handler.nei.ShredderRecipeHandler.Fuel; +import com.hbm.inventory.MachineRecipes; +import com.hbm.inventory.gui.GUIMachinePress; +import com.hbm.inventory.gui.GUIMachineShredder; +import com.hbm.items.ModItems; +import com.hbm.lib.RefStrings; + +import codechicken.nei.NEIServerUtils; +import codechicken.nei.PositionedStack; +import codechicken.nei.recipe.TemplateRecipeHandler; +import net.minecraft.client.gui.inventory.GuiContainer; +import net.minecraft.item.ItemStack; + +public class PressRecipeHandler extends TemplateRecipeHandler { + + public LinkedList transferRectsRec = new LinkedList(); + public LinkedList transferRectsGui = new LinkedList(); + public LinkedList> guiRec = new LinkedList>(); + public LinkedList> guiGui = new LinkedList>(); + + public class SmeltingSet extends TemplateRecipeHandler.CachedRecipe + { + PositionedStack input; + PositionedStack result; + + public ArrayList fuels = new ArrayList(); + + public SmeltingSet(List stamp, ItemStack input, ItemStack result) { + input.stackSize = 1; + this.input = new PositionedStack(input, 83 - 35, 5 + 36 + 1); + this.result = new PositionedStack(result, 83 + 28, 5 + 18 + 1); + + if(stamp.isEmpty()) + fuels.add(new Fuel(new ItemStack(ModItems.nothing))); + else + for(ItemStack sta : stamp) + fuels.add(new Fuel(sta)); + } + + @Override + public List getIngredients() { + return getCycledIngredients(cycleticks / 48, Arrays.asList(new PositionedStack[] {input})); + } + + @Override + public List getOtherStacks() { + List stacks = new ArrayList(); + stacks.add(fuels.get((cycleticks / 24) % fuels.size()).stack); + return stacks; + } + + @Override + public PositionedStack getResult() { + return result; + } + } + + public static class Fuel + { + public Fuel(ItemStack ingred) { + + this.stack = new PositionedStack(ingred, 83 - 35, 6, false); + } + + public PositionedStack stack; + } + + @Override + public String getRecipeName() { + return "Steam Press"; + } + + @Override + public String getGuiTexture() { + return RefStrings.MODID + ":textures/gui/gui_nei_press.png"; + } + + @Override + public void loadCraftingRecipes(String outputId, Object... results) { + if ((outputId.equals("pressing")) && getClass() == PressRecipeHandler.class) { + Map recipes = MachineRecipes.instance().getPressRecipes(); + for (Map.Entry recipe : recipes.entrySet()) { + this.arecipes.add(new SmeltingSet((List)recipe.getKey()[0], (ItemStack)recipe.getKey()[1], (ItemStack)recipe.getValue())); + } + } else { + super.loadCraftingRecipes(outputId, results); + } + } + + @Override + public void loadCraftingRecipes(ItemStack result) { + Map recipes = MachineRecipes.instance().getPressRecipes(); + for (Map.Entry recipe : recipes.entrySet()) { + if (NEIServerUtils.areStacksSameType((ItemStack)recipe.getValue(), result)) + this.arecipes.add(new SmeltingSet((List)recipe.getKey()[0], (ItemStack)recipe.getKey()[1], (ItemStack)recipe.getValue())); + } + } + + @Override + public void loadUsageRecipes(String inputId, Object... ingredients) { + if ((inputId.equals("pressing")) && getClass() == PressRecipeHandler.class) { + loadCraftingRecipes("pressing", new Object[0]); + } else { + super.loadUsageRecipes(inputId, ingredients); + } + } + + @Override + public void loadUsageRecipes(ItemStack ingredient) { + Map recipes = MachineRecipes.instance().getPressRecipes(); + for (Map.Entry recipe : recipes.entrySet()) { + + boolean b = false; + for(int i = 0; i < ((List)recipe.getKey()[0]).size(); i++) { + if(NEIServerUtils.areStacksSameType(((List)recipe.getKey()[0]).get(i), ingredient)) { + b = true; + break; + } + } + + if (b || NEIServerUtils.areStacksSameType(ingredient, (ItemStack)recipe.getKey()[1])) + this.arecipes.add(new SmeltingSet((List)recipe.getKey()[0], (ItemStack)recipe.getKey()[1], (ItemStack)recipe.getValue())); + } + } + + @Override + public Class getGuiClass() { + //return GUIMachineShredder.class; + return null; + } + + @Override + public void loadTransferRects() { + //transferRectsRec = new LinkedList(); + transferRectsGui = new LinkedList(); + //guiRec = new LinkedList>(); + guiGui = new LinkedList>(); + + transferRects.add(new RecipeTransferRect(new Rectangle(74 + 6, 23, 24, 18), "pressing")); + transferRectsGui.add(new RecipeTransferRect(new Rectangle(74 + 6 + 18, 23, 24, 18), "pressing")); + //guiRec.add(GuiRecipe.class); + guiGui.add(GUIMachinePress.class); + RecipeTransferRectHandler.registerRectsToGuis(getRecipeTransferRectGuis(), transferRects); + //RecipeTransferRectHandler.registerRectsToGuis(guiRec, transferRectsRec); + RecipeTransferRectHandler.registerRectsToGuis(guiGui, transferRectsGui); + + //for(Class r : getRecipeTransferRectGuis()) + // System.out.println(r.toString()); + } + + @Override + public void drawExtras(int recipe) { + drawProgressBar(47, 24, 0, 86, 18, 18, 20, 1); + } + + @Override + public TemplateRecipeHandler newInstance() { + return super.newInstance(); + } +} diff --git a/com/hbm/inventory/MachineRecipes.java b/com/hbm/inventory/MachineRecipes.java index 6e6f4630a..dc6019e76 100644 --- a/com/hbm/inventory/MachineRecipes.java +++ b/com/hbm/inventory/MachineRecipes.java @@ -227,7 +227,176 @@ public class MachineRecipes { return null; } + + public static List stamps_flat = new ArrayList() {{ + add(ModItems.stamp_stone_flat); + add(ModItems.stamp_iron_flat); + add(ModItems.stamp_steel_flat); + add(ModItems.stamp_titanium_flat); + add(ModItems.stamp_obsidian_flat); + add(ModItems.stamp_schrabidium_flat); + }}; + + public static List stamps_plate = new ArrayList() {{ + add(ModItems.stamp_stone_plate); + add(ModItems.stamp_iron_plate); + add(ModItems.stamp_steel_plate); + add(ModItems.stamp_titanium_plate); + add(ModItems.stamp_obsidian_plate); + add(ModItems.stamp_schrabidium_plate); + }}; + + public static List stamps_wire = new ArrayList() {{ + add(ModItems.stamp_stone_wire); + add(ModItems.stamp_iron_wire); + add(ModItems.stamp_steel_wire); + add(ModItems.stamp_titanium_wire); + add(ModItems.stamp_obsidian_wire); + add(ModItems.stamp_schrabidium_wire); + }}; + + public static List stamps_circuit = new ArrayList() {{ + add(ModItems.stamp_stone_circuit); + add(ModItems.stamp_iron_circuit); + add(ModItems.stamp_steel_circuit); + add(ModItems.stamp_titanium_circuit); + add(ModItems.stamp_obsidian_circuit); + add(ModItems.stamp_schrabidium_circuit); + }}; + + public static ItemStack getPressResultNN(Item stamp, Item input) { + return getPressResult(input, stamp) == null ? new ItemStack(ModItems.nothing) : getPressResult(input, stamp); + } + + public static ItemStack getPressResult(Item input, Item stamp) { + + if(stamps_flat.contains(stamp)) { + + if(mODE(input, "dustCoal")) + return new ItemStack(Items.coal); + if(mODE(input, "dustQuartz")) + return new ItemStack(Items.quartz); + if(mODE(input, "dustNetherQuartz")) + return new ItemStack(Items.quartz); + if(mODE(input, "dustLapis")) + return new ItemStack(Items.dye, 1, 4); + if(mODE(input, "dustDiamond")) + return new ItemStack(Items.diamond); + if(mODE(input, "dustEmerald")) + return new ItemStack(Items.emerald); + if(input == ModItems.pellet_coal) + return new ItemStack(Items.diamond); + } + + if(stamps_plate.contains(stamp)) { + + if(mODE(input, "ingotIron")) + return new ItemStack(ModItems.plate_iron); + if(mODE(input, "ingotGold")) + return new ItemStack(ModItems.plate_gold); + if(mODE(input, "ingotTitanium")) + return new ItemStack(ModItems.plate_titanium); + if(mODE(input, "ingotAluminum")) + return new ItemStack(ModItems.plate_aluminium); + if(mODE(input, "ingotSteel")) + return new ItemStack(ModItems.plate_steel); + if(mODE(input, "ingotLead")) + return new ItemStack(ModItems.plate_lead); + if(mODE(input, "ingotCopper")) + return new ItemStack(ModItems.plate_copper); + if(mODE(input, "ingotAdvanced")) + return new ItemStack(ModItems.plate_advanced_alloy); + if(mODE(input, "ingotAdvancedAlloy")) + return new ItemStack(ModItems.plate_advanced_alloy); + if(mODE(input, "ingotSchrabidium")) + return new ItemStack(ModItems.plate_schrabidium); + if(mODE(input, "ingotCMBSteel")) + return new ItemStack(ModItems.plate_combine_steel); + + } + + if(stamps_wire.contains(stamp)) { + + if(mODE(input, "ingotAluminum")) + return new ItemStack(ModItems.wire_aluminium, 3); + if(mODE(input, "ingotCopper")) + return new ItemStack(ModItems.wire_copper, 3); + if(mODE(input, "ingotTungsten")) + return new ItemStack(ModItems.wire_tungsten, 3); + if(mODE(input, "ingotRedAlloy")) + return new ItemStack(ModItems.wire_red_copper, 3); + if(mODE(input, "ingotRedstoneAlloy")) + return new ItemStack(ModItems.wire_red_copper, 3); + if(mODE(input, "ingotGold")) + return new ItemStack(ModItems.wire_gold, 3); + if(mODE(input, "ingotSchrabidium")) + return new ItemStack(ModItems.wire_schrabidium, 3); + if(mODE(input, "ingotAdvanced")) + return new ItemStack(ModItems.wire_advanced_alloy, 3); + if(mODE(input, "ingotAdvancedAlloy")) + return new ItemStack(ModItems.wire_advanced_alloy, 3); + if(mODE(input, "ingotMagnetizedTungsten")) + return new ItemStack(ModItems.wire_magnetized_tungsten, 3); + } + + if(stamps_circuit.contains(stamp)) { + + if(input == ModItems.circuit_raw) + return new ItemStack(ModItems.circuit_aluminium); + } + + return null; + } + + public static Map getPressRecipes() { + Map recipes = new HashMap(); + + List i_stamps_flat = new ArrayList(); + for(Item i : stamps_flat) + i_stamps_flat.add(new ItemStack(i)); + List i_stamps_plate = new ArrayList(); + for(Item i : stamps_plate) + i_stamps_plate.add(new ItemStack(i)); + List i_stamps_wire = new ArrayList(); + for(Item i : stamps_wire) + i_stamps_wire.add(new ItemStack(i)); + List i_stamps_circuit = new ArrayList(); + for(Item i : stamps_circuit) + i_stamps_circuit.add(new ItemStack(i)); + + recipes.put(new Object[] { i_stamps_flat, new ItemStack(ModItems.powder_coal) }, getPressResultNN(stamps_flat.get(0), ModItems.powder_coal)); + recipes.put(new Object[] { i_stamps_flat, new ItemStack(ModItems.powder_quartz) }, getPressResultNN(stamps_flat.get(0), ModItems.powder_quartz)); + recipes.put(new Object[] { i_stamps_flat, new ItemStack(ModItems.powder_lapis) }, getPressResultNN(stamps_flat.get(0), ModItems.powder_lapis)); + recipes.put(new Object[] { i_stamps_flat, new ItemStack(ModItems.powder_diamond) }, getPressResultNN(stamps_flat.get(0), ModItems.powder_diamond)); + recipes.put(new Object[] { i_stamps_flat, new ItemStack(ModItems.powder_emerald) }, getPressResultNN(stamps_flat.get(0), ModItems.powder_emerald)); + recipes.put(new Object[] { i_stamps_flat, new ItemStack(ModItems.pellet_coal) }, getPressResultNN(stamps_flat.get(0), ModItems.pellet_coal)); + + recipes.put(new Object[] { i_stamps_plate, new ItemStack(Items.iron_ingot) }, getPressResultNN(stamps_plate.get(0), Items.iron_ingot)); + recipes.put(new Object[] { i_stamps_plate, new ItemStack(Items.gold_ingot) }, getPressResultNN(stamps_plate.get(0), Items.gold_ingot)); + recipes.put(new Object[] { i_stamps_plate, new ItemStack(ModItems.ingot_titanium) }, getPressResultNN(stamps_plate.get(0), ModItems.ingot_titanium)); + recipes.put(new Object[] { i_stamps_plate, new ItemStack(ModItems.ingot_aluminium) }, getPressResultNN(stamps_plate.get(0), ModItems.ingot_aluminium)); + recipes.put(new Object[] { i_stamps_plate, new ItemStack(ModItems.ingot_steel) }, getPressResultNN(stamps_plate.get(0), ModItems.ingot_steel)); + recipes.put(new Object[] { i_stamps_plate, new ItemStack(ModItems.ingot_lead) }, getPressResultNN(stamps_plate.get(0), ModItems.ingot_lead)); + recipes.put(new Object[] { i_stamps_plate, new ItemStack(ModItems.ingot_copper) }, getPressResultNN(stamps_plate.get(0), ModItems.ingot_copper)); + recipes.put(new Object[] { i_stamps_plate, new ItemStack(ModItems.ingot_advanced_alloy) }, getPressResultNN(stamps_plate.get(0), ModItems.ingot_advanced_alloy)); + recipes.put(new Object[] { i_stamps_plate, new ItemStack(ModItems.ingot_schrabidium) }, getPressResultNN(stamps_plate.get(0), ModItems.ingot_schrabidium)); + recipes.put(new Object[] { i_stamps_plate, new ItemStack(ModItems.ingot_combine_steel) }, getPressResultNN(stamps_plate.get(0), ModItems.ingot_combine_steel)); + + recipes.put(new Object[] { i_stamps_wire, new ItemStack(ModItems.ingot_aluminium) }, getPressResultNN(stamps_wire.get(0), ModItems.ingot_aluminium)); + recipes.put(new Object[] { i_stamps_wire, new ItemStack(ModItems.ingot_copper) }, getPressResultNN(stamps_wire.get(0), ModItems.ingot_copper)); + recipes.put(new Object[] { i_stamps_wire, new ItemStack(ModItems.ingot_tungsten) }, getPressResultNN(stamps_wire.get(0), ModItems.ingot_tungsten)); + recipes.put(new Object[] { i_stamps_wire, new ItemStack(ModItems.ingot_red_copper) }, getPressResultNN(stamps_wire.get(0), ModItems.ingot_red_copper)); + recipes.put(new Object[] { i_stamps_wire, new ItemStack(Items.gold_ingot) }, getPressResultNN(stamps_wire.get(0), Items.gold_ingot)); + recipes.put(new Object[] { i_stamps_wire, new ItemStack(ModItems.ingot_schrabidium) }, getPressResultNN(stamps_wire.get(0), ModItems.ingot_schrabidium)); + recipes.put(new Object[] { i_stamps_wire, new ItemStack(ModItems.ingot_advanced_alloy) }, getPressResultNN(stamps_wire.get(0), ModItems.ingot_advanced_alloy)); + recipes.put(new Object[] { i_stamps_wire, new ItemStack(ModItems.ingot_magnetized_tungsten) }, getPressResultNN(stamps_wire.get(0), ModItems.ingot_magnetized_tungsten)); + + recipes.put(new Object[] { i_stamps_circuit, new ItemStack(ModItems.circuit_raw) }, getPressResultNN(stamps_circuit.get(0), ModItems.circuit_raw)); + + return recipes; + } + public static ItemStack getReactorProcessingResult(Item item) { return getReactorOutput(item); } diff --git a/com/hbm/inventory/container/ContainerMachinePress.java b/com/hbm/inventory/container/ContainerMachinePress.java new file mode 100644 index 000000000..5cd223b37 --- /dev/null +++ b/com/hbm/inventory/container/ContainerMachinePress.java @@ -0,0 +1,144 @@ +package com.hbm.inventory.container; + +import com.hbm.inventory.SlotMachineOutput; +import com.hbm.tileentity.machine.TileEntityMachineAssembler; +import com.hbm.tileentity.machine.TileEntityMachinePress; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.ICrafting; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; + +public class ContainerMachinePress extends Container { + +private TileEntityMachinePress nukeBoy; + + private int power; + private int progress; + private int burnTime; + private int maxBurn; + + public ContainerMachinePress(InventoryPlayer invPlayer, TileEntityMachinePress tedf) { + + nukeBoy = tedf; + + //Coal + this.addSlotToContainer(new Slot(tedf, 0, 26, 53)); + //Stamp + this.addSlotToContainer(new Slot(tedf, 1, 80, 17)); + //Input + this.addSlotToContainer(new Slot(tedf, 2, 80, 53)); + //Output + this.addSlotToContainer(new SlotMachineOutput(invPlayer.player, tedf, 3, 140, 35)); + + for(int i = 0; i < 3; i++) + { + for(int j = 0; j < 9; j++) + { + this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18)); + } + } + + for(int i = 0; i < 9; i++) + { + this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142)); + } + } + + @Override + public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int par2) + { + ItemStack var3 = null; + Slot var4 = (Slot) this.inventorySlots.get(par2); + + if (var4 != null && var4.getHasStack()) + { + ItemStack var5 = var4.getStack(); + var3 = var5.copy(); + + if (par2 <= 3) { + if (!this.mergeItemStack(var5, 4, this.inventorySlots.size(), true)) + { + return null; + } + } + else if (!this.mergeItemStack(var5, 2, 3, false)) + if (!this.mergeItemStack(var5, 0, 1, false)) + if (!this.mergeItemStack(var5, 1, 2, false)) + return null; + + if (var5.stackSize == 0) + { + var4.putStack((ItemStack) null); + } + else + { + var4.onSlotChanged(); + } + } + + return var3; + } + + @Override + public boolean canInteractWith(EntityPlayer player) { + return nukeBoy.isUseableByPlayer(player); + } + + @Override + public void detectAndSendChanges() { + super.detectAndSendChanges(); + + for(int i = 0; i < this.crafters.size(); i++) + { + ICrafting par1 = (ICrafting)this.crafters.get(i); + + if(this.power != this.nukeBoy.power) + { + par1.sendProgressBarUpdate(this, 0, this.nukeBoy.power); + } + + if(this.progress != this.nukeBoy.progress) + { + par1.sendProgressBarUpdate(this, 1, this.nukeBoy.progress); + } + + if(this.burnTime != this.nukeBoy.burnTime) + { + par1.sendProgressBarUpdate(this, 2, this.nukeBoy.burnTime); + } + + if(this.maxBurn != this.nukeBoy.maxBurn) + { + par1.sendProgressBarUpdate(this, 3, this.nukeBoy.maxBurn); + } + } + + this.power = this.nukeBoy.power; + this.progress = this.nukeBoy.progress; + this.burnTime = this.nukeBoy.burnTime; + this.maxBurn = this.nukeBoy.maxBurn; + } + + @Override + public void updateProgressBar(int i, int j) { + if(i == 0) + { + nukeBoy.power = j; + } + if(i == 1) + { + nukeBoy.progress = j; + } + if(i == 2) + { + nukeBoy.burnTime = j; + } + if(i == 3) + { + nukeBoy.maxBurn = j; + } + } +} diff --git a/com/hbm/inventory/gui/GUIMachineCMBFactory.java b/com/hbm/inventory/gui/GUIMachineCMBFactory.java index f1f31ba5f..7aee0c75d 100644 --- a/com/hbm/inventory/gui/GUIMachineCMBFactory.java +++ b/com/hbm/inventory/gui/GUIMachineCMBFactory.java @@ -53,7 +53,7 @@ public class GUIMachineCMBFactory extends GuiFluidContainer { } int j1 = diFurnace.getProgressScaled(24); - drawTexturedModalRect(guiLeft + 101, guiTop + 34, 208, 0, j1 + 1, 16); + drawTexturedModalRect(guiLeft + 101 + 9, guiTop + 34, 208, 0, j1 + 1, 16); Minecraft.getMinecraft().getTextureManager().bindTexture(FluidTank.fluidTextures); diff --git a/com/hbm/inventory/gui/GUIMachinePress.java b/com/hbm/inventory/gui/GUIMachinePress.java new file mode 100644 index 000000000..21fbf964e --- /dev/null +++ b/com/hbm/inventory/gui/GUIMachinePress.java @@ -0,0 +1,53 @@ +package com.hbm.inventory.gui; + +import org.lwjgl.opengl.GL11; + +import com.hbm.inventory.container.ContainerMachineAssembler; +import com.hbm.inventory.container.ContainerMachinePress; +import com.hbm.lib.RefStrings; +import com.hbm.tileentity.machine.TileEntityMachineAssembler; +import com.hbm.tileentity.machine.TileEntityMachinePress; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.inventory.GuiContainer; +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.util.ResourceLocation; + +public class GUIMachinePress extends GuiContainer { + + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gui_press.png"); + private TileEntityMachinePress assembler; + + public GUIMachinePress(InventoryPlayer invPlayer, TileEntityMachinePress tedf) { + super(new ContainerMachinePress(invPlayer, tedf)); + assembler = tedf; + + this.xSize = 176; + this.ySize = 166; + } + + @Override + protected void drawGuiContainerForegroundLayer( int i, int j) { + String name = this.assembler.hasCustomInventoryName() ? this.assembler.getInventoryName() : I18n.format(this.assembler.getInventoryName()); + + this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752); + this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752); + } + + @Override + protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + + int i = assembler.getPowerScaled(12); + drawTexturedModalRect(guiLeft + 25, guiTop + 16, 176, 14 + 18 * i, 18, 18); + + int l = assembler.getBurnScaled(13); + this.drawTexturedModalRect(guiLeft + 27, guiTop + 49 - l, 176, 13 - l, 13, l); + + int k = assembler.getProgressScaled(16); + this.drawTexturedModalRect(guiLeft + 79, guiTop + 35, 194, 0, 18, k); + } +} diff --git a/com/hbm/inventory/gui/GUIScreenTemplateFolder.java b/com/hbm/inventory/gui/GUIScreenTemplateFolder.java index 767c05807..b314b44c5 100644 --- a/com/hbm/inventory/gui/GUIScreenTemplateFolder.java +++ b/com/hbm/inventory/gui/GUIScreenTemplateFolder.java @@ -24,6 +24,7 @@ import net.minecraft.client.gui.GuiScreen; import net.minecraft.client.resources.I18n; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; +import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.ResourceLocation; @@ -42,7 +43,14 @@ public class GUIScreenTemplateFolder extends GuiScreen { public GUIScreenTemplateFolder(EntityPlayer player) { this.player = player; - + + //Stamps + for(Item i : MachineRecipes.stamps_plate) + stacks.add(new ItemStack(i)); + for(Item i : MachineRecipes.stamps_wire) + stacks.add(new ItemStack(i)); + for(Item i : MachineRecipes.stamps_circuit) + stacks.add(new ItemStack(i)); //Fluid IDs for(int i = 1; i < FluidType.values().length; i++) stacks.add(new ItemStack(ModItems.fluid_identifier, 1, i)); diff --git a/com/hbm/items/ModItems.java b/com/hbm/items/ModItems.java index 07c5bc34e..153527cd8 100644 --- a/com/hbm/items/ModItems.java +++ b/com/hbm/items/ModItems.java @@ -241,6 +241,7 @@ public class ModItems { public static Item magnet_circular; public static Item cyclotron_tower; + public static Item circuit_raw; public static Item circuit_aluminium; public static Item circuit_copper; public static Item circuit_red_copper; @@ -270,6 +271,7 @@ public class ModItems { public static Item generator_front; public static Item blade_tungsten; public static Item turbine_tungsten; + public static Item pellet_coal; public static Item toothpicks; public static Item ducttape; @@ -314,6 +316,31 @@ public class ModItems { public static Item telepad; public static Item entanglement_kit; + public static Item stamp_stone_flat; + public static Item stamp_stone_plate; + public static Item stamp_stone_wire; + public static Item stamp_stone_circuit; + public static Item stamp_iron_flat; + public static Item stamp_iron_plate; + public static Item stamp_iron_wire; + public static Item stamp_iron_circuit; + public static Item stamp_steel_flat; + public static Item stamp_steel_plate; + public static Item stamp_steel_wire; + public static Item stamp_steel_circuit; + public static Item stamp_titanium_flat; + public static Item stamp_titanium_plate; + public static Item stamp_titanium_wire; + public static Item stamp_titanium_circuit; + public static Item stamp_obsidian_flat; + public static Item stamp_obsidian_plate; + public static Item stamp_obsidian_wire; + public static Item stamp_obsidian_circuit; + public static Item stamp_schrabidium_flat; + public static Item stamp_schrabidium_plate; + public static Item stamp_schrabidium_wire; + public static Item stamp_schrabidium_circuit; + public static Item blades_gold; public static Item blades_aluminium; public static Item blades_iron; @@ -1248,6 +1275,7 @@ public class ModItems { magnet_dee = new Item().setUnlocalizedName("magnet_dee").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":magnet_dee"); magnet_circular = new Item().setUnlocalizedName("magnet_circular").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":magnet_circular"); cyclotron_tower = new Item().setUnlocalizedName("cyclotron_tower").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":cyclotron_tower"); + pellet_coal = new Item().setUnlocalizedName("pellet_coal").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":pellet_coal"); cap_aluminium = new Item().setUnlocalizedName("cap_aluminium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":cap_aluminium"); hull_small_steel = new Item().setUnlocalizedName("hull_small_steel").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":hull_small_steel"); @@ -1314,6 +1342,7 @@ public class ModItems { telepad = new Item().setUnlocalizedName("telepad").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":telepad"); entanglement_kit = new Item().setUnlocalizedName("entanglement_kit").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":entanglement_kit"); + circuit_raw = new Item().setUnlocalizedName("circuit_raw").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":circuit_raw"); circuit_aluminium = new Item().setUnlocalizedName("circuit_aluminium").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":circuit_aluminium"); circuit_copper = new Item().setUnlocalizedName("circuit_copper").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":circuit_copper"); circuit_red_copper = new Item().setUnlocalizedName("circuit_red_copper").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":circuit_red_copper"); @@ -1352,6 +1381,31 @@ public class ModItems { inf_antimatter = new Item().setUnlocalizedName("inf_antimatter").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":inf_antimatter"); inf_antischrabidium = new Item().setUnlocalizedName("inf_antischrabidium").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":inf_antischrabidium"); + stamp_stone_flat = new ItemBlades(5).setUnlocalizedName("stamp_stone_flat").setMaxStackSize(1).setCreativeTab(MainRegistry.tabMachine).setTextureName(RefStrings.MODID + ":stamp_stone_flat"); + stamp_stone_plate = new ItemBlades(5).setUnlocalizedName("stamp_stone_plate").setMaxStackSize(1).setCreativeTab(MainRegistry.tabMachine).setTextureName(RefStrings.MODID + ":stamp_stone_plate"); + stamp_stone_wire = new ItemBlades(5).setUnlocalizedName("stamp_stone_wire").setMaxStackSize(1).setCreativeTab(MainRegistry.tabMachine).setTextureName(RefStrings.MODID + ":stamp_stone_wire"); + stamp_stone_circuit = new ItemBlades(5).setUnlocalizedName("stamp_stone_circuit").setMaxStackSize(1).setCreativeTab(MainRegistry.tabMachine).setTextureName(RefStrings.MODID + ":stamp_stone_circuit"); + stamp_iron_flat = new ItemBlades(25).setUnlocalizedName("stamp_iron_flat").setMaxStackSize(1).setCreativeTab(MainRegistry.tabMachine).setTextureName(RefStrings.MODID + ":stamp_iron_flat"); + stamp_iron_plate = new ItemBlades(25).setUnlocalizedName("stamp_iron_plate").setMaxStackSize(1).setCreativeTab(MainRegistry.tabMachine).setTextureName(RefStrings.MODID + ":stamp_iron_plate"); + stamp_iron_wire = new ItemBlades(25).setUnlocalizedName("stamp_iron_wire").setMaxStackSize(1).setCreativeTab(MainRegistry.tabMachine).setTextureName(RefStrings.MODID + ":stamp_iron_wire"); + stamp_iron_circuit = new ItemBlades(25).setUnlocalizedName("stamp_iron_circuit").setMaxStackSize(1).setCreativeTab(MainRegistry.tabMachine).setTextureName(RefStrings.MODID + ":stamp_iron_circuit"); + stamp_steel_flat = new ItemBlades(50).setUnlocalizedName("stamp_steel_flat").setMaxStackSize(1).setCreativeTab(MainRegistry.tabMachine).setTextureName(RefStrings.MODID + ":stamp_steel_flat"); + stamp_steel_plate = new ItemBlades(50).setUnlocalizedName("stamp_steel_plate").setMaxStackSize(1).setCreativeTab(MainRegistry.tabMachine).setTextureName(RefStrings.MODID + ":stamp_steel_plate"); + stamp_steel_wire = new ItemBlades(50).setUnlocalizedName("stamp_steel_wire").setMaxStackSize(1).setCreativeTab(MainRegistry.tabMachine).setTextureName(RefStrings.MODID + ":stamp_steel_wire"); + stamp_steel_circuit = new ItemBlades(50).setUnlocalizedName("stamp_steel_circuit").setMaxStackSize(1).setCreativeTab(MainRegistry.tabMachine).setTextureName(RefStrings.MODID + ":stamp_steel_circuit"); + stamp_titanium_flat = new ItemBlades(65).setUnlocalizedName("stamp_titanium_flat").setMaxStackSize(1).setCreativeTab(MainRegistry.tabMachine).setTextureName(RefStrings.MODID + ":stamp_titanium_flat"); + stamp_titanium_plate = new ItemBlades(65).setUnlocalizedName("stamp_titanium_plate").setMaxStackSize(1).setCreativeTab(MainRegistry.tabMachine).setTextureName(RefStrings.MODID + ":stamp_titanium_plate"); + stamp_titanium_wire = new ItemBlades(65).setUnlocalizedName("stamp_titanium_wire").setMaxStackSize(1).setCreativeTab(MainRegistry.tabMachine).setTextureName(RefStrings.MODID + ":stamp_titanium_wire"); + stamp_titanium_circuit = new ItemBlades(65).setUnlocalizedName("stamp_titanium_circuit").setMaxStackSize(1).setCreativeTab(MainRegistry.tabMachine).setTextureName(RefStrings.MODID + ":stamp_titanium_circuit"); + stamp_obsidian_flat = new ItemBlades(100).setUnlocalizedName("stamp_obsidian_flat").setMaxStackSize(1).setCreativeTab(MainRegistry.tabMachine).setTextureName(RefStrings.MODID + ":stamp_obsidian_flat"); + stamp_obsidian_plate = new ItemBlades(100).setUnlocalizedName("stamp_obsidian_plate").setMaxStackSize(1).setCreativeTab(MainRegistry.tabMachine).setTextureName(RefStrings.MODID + ":stamp_obsidian_plate"); + stamp_obsidian_wire = new ItemBlades(100).setUnlocalizedName("stamp_obsidian_wire").setMaxStackSize(1).setCreativeTab(MainRegistry.tabMachine).setTextureName(RefStrings.MODID + ":stamp_obsidian_wire"); + stamp_obsidian_circuit = new ItemBlades(100).setUnlocalizedName("stamp_obsidian_circuit").setMaxStackSize(1).setCreativeTab(MainRegistry.tabMachine).setTextureName(RefStrings.MODID + ":stamp_obsidian_circuit"); + stamp_schrabidium_flat = new ItemBlades(1024).setUnlocalizedName("stamp_schrabidium_flat").setMaxStackSize(1).setCreativeTab(MainRegistry.tabMachine).setTextureName(RefStrings.MODID + ":stamp_schrabidium_flat"); + stamp_schrabidium_plate = new ItemBlades(1024).setUnlocalizedName("stamp_schrabidium_plate").setMaxStackSize(1).setCreativeTab(MainRegistry.tabMachine).setTextureName(RefStrings.MODID + ":stamp_schrabidium_plate"); + stamp_schrabidium_wire = new ItemBlades(1024).setUnlocalizedName("stamp_schrabidium_wire").setMaxStackSize(1).setCreativeTab(MainRegistry.tabMachine).setTextureName(RefStrings.MODID + ":stamp_schrabidium_wire"); + stamp_schrabidium_circuit = new ItemBlades(1024).setUnlocalizedName("stamp_schrabidium_circuit").setMaxStackSize(1).setCreativeTab(MainRegistry.tabMachine).setTextureName(RefStrings.MODID + ":stamp_schrabidium_circuit"); + blades_aluminium = new ItemBlades(1 * 1200).setUnlocalizedName("blades_aluminium").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":blades_aluminium"); blades_gold = new ItemBlades(5 * 1200).setUnlocalizedName("blades_gold").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":blades_gold"); blades_iron = new ItemBlades(10 * 1200).setUnlocalizedName("blades_iron").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":blades_iron"); @@ -2334,6 +2388,7 @@ public class ModItems { GameRegistry.registerItem(shimmer_handle, shimmer_handle.getUnlocalizedName()); //Circuits + GameRegistry.registerItem(circuit_raw, circuit_raw.getUnlocalizedName()); GameRegistry.registerItem(circuit_aluminium, circuit_aluminium.getUnlocalizedName()); GameRegistry.registerItem(circuit_copper, circuit_copper.getUnlocalizedName()); GameRegistry.registerItem(circuit_red_copper, circuit_red_copper.getUnlocalizedName()); @@ -2358,6 +2413,8 @@ public class ModItems { GameRegistry.registerItem(pellet_gas, pellet_gas.getUnlocalizedName()); GameRegistry.registerItem(magnetron, magnetron.getUnlocalizedName()); + + GameRegistry.registerItem(pellet_coal, pellet_coal.getUnlocalizedName()); //Watz Pellets GameRegistry.registerItem(pellet_schrabidium, pellet_schrabidium.getUnlocalizedName()); @@ -2455,6 +2512,35 @@ public class ModItems { GameRegistry.registerItem(factory_core_titanium, factory_core_titanium.getUnlocalizedName()); GameRegistry.registerItem(factory_core_advanced, factory_core_advanced.getUnlocalizedName()); + //Template Folder + GameRegistry.registerItem(template_folder, template_folder.getUnlocalizedName()); + + //Hydraulic Press Stamps + GameRegistry.registerItem(stamp_stone_flat, stamp_stone_flat.getUnlocalizedName()); + GameRegistry.registerItem(stamp_stone_plate, stamp_stone_plate.getUnlocalizedName()); + GameRegistry.registerItem(stamp_stone_wire, stamp_stone_wire.getUnlocalizedName()); + GameRegistry.registerItem(stamp_stone_circuit, stamp_stone_circuit.getUnlocalizedName()); + GameRegistry.registerItem(stamp_iron_flat, stamp_iron_flat.getUnlocalizedName()); + GameRegistry.registerItem(stamp_iron_plate, stamp_iron_plate.getUnlocalizedName()); + GameRegistry.registerItem(stamp_iron_wire, stamp_iron_wire.getUnlocalizedName()); + GameRegistry.registerItem(stamp_iron_circuit, stamp_iron_circuit.getUnlocalizedName()); + GameRegistry.registerItem(stamp_steel_flat, stamp_steel_flat.getUnlocalizedName()); + GameRegistry.registerItem(stamp_steel_plate, stamp_steel_plate.getUnlocalizedName()); + GameRegistry.registerItem(stamp_steel_wire, stamp_steel_wire.getUnlocalizedName()); + GameRegistry.registerItem(stamp_steel_circuit, stamp_steel_circuit.getUnlocalizedName()); + GameRegistry.registerItem(stamp_titanium_flat, stamp_titanium_flat.getUnlocalizedName()); + GameRegistry.registerItem(stamp_titanium_plate, stamp_titanium_plate.getUnlocalizedName()); + GameRegistry.registerItem(stamp_titanium_wire, stamp_titanium_wire.getUnlocalizedName()); + GameRegistry.registerItem(stamp_titanium_circuit, stamp_titanium_circuit.getUnlocalizedName()); + GameRegistry.registerItem(stamp_obsidian_flat, stamp_obsidian_flat.getUnlocalizedName()); + GameRegistry.registerItem(stamp_obsidian_plate, stamp_obsidian_plate.getUnlocalizedName()); + GameRegistry.registerItem(stamp_obsidian_wire, stamp_obsidian_wire.getUnlocalizedName()); + GameRegistry.registerItem(stamp_obsidian_circuit, stamp_obsidian_circuit.getUnlocalizedName()); + GameRegistry.registerItem(stamp_schrabidium_flat, stamp_schrabidium_flat.getUnlocalizedName()); + GameRegistry.registerItem(stamp_schrabidium_plate, stamp_schrabidium_plate.getUnlocalizedName()); + GameRegistry.registerItem(stamp_schrabidium_wire, stamp_schrabidium_wire.getUnlocalizedName()); + GameRegistry.registerItem(stamp_schrabidium_circuit, stamp_schrabidium_circuit.getUnlocalizedName()); + //Machine Upgrades GameRegistry.registerItem(upgrade_template, upgrade_template.getUnlocalizedName()); GameRegistry.registerItem(upgrade_speed_1, upgrade_speed_1.getUnlocalizedName()); @@ -2474,7 +2560,6 @@ public class ModItems { GameRegistry.registerItem(upgrade_afterburn_3, upgrade_afterburn_3.getUnlocalizedName()); //Machine Templates - GameRegistry.registerItem(template_folder, template_folder.getUnlocalizedName()); GameRegistry.registerItem(fluid_identifier, fluid_identifier.getUnlocalizedName()); GameRegistry.registerItem(fluid_icon, fluid_icon.getUnlocalizedName()); GameRegistry.registerItem(assembly_template, assembly_template.getUnlocalizedName()); diff --git a/com/hbm/items/special/ItemStarterKit.java b/com/hbm/items/special/ItemStarterKit.java index 9a6172ca5..5ed6b066f 100644 --- a/com/hbm/items/special/ItemStarterKit.java +++ b/com/hbm/items/special/ItemStarterKit.java @@ -29,12 +29,15 @@ public class ItemStarterKit extends Item { if(this == ModItems.nuke_starter_kit) { - player.inventory.addItemStackToInventory(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_difurnace_off), 1)); - player.inventory.addItemStackToInventory(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_centrifuge), 1)); - player.inventory.addItemStackToInventory(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_reactor), 1)); - player.inventory.addItemStackToInventory(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_uf6_tank), 1)); - player.inventory.addItemStackToInventory(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_assembler), 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_difurnace_off, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_centrifuge, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_reactor, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_uf6_tank, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_assembler, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_press, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.template_folder, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.ingot_uranium, 6)); player.inventory.addItemStackToInventory(new ItemStack(ModItems.ingot_red_copper, 16)); player.inventory.addItemStackToInventory(new ItemStack(ModItems.ingot_tungsten, 4)); @@ -68,7 +71,9 @@ public class ItemStarterKit extends Item { player.inventory.addItemStackToInventory(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_reactor), 3)); player.inventory.addItemStackToInventory(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_uf6_tank), 2)); player.inventory.addItemStackToInventory(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_puf6_tank), 2)); - //player.inventory.addItemStackToInventory(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_deuterium), 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_assembler, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_chemplant, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_press, 1)); player.inventory.addItemStackToInventory(new ItemStack(ModItems.ingot_uranium, 16)); player.inventory.addItemStackToInventory(new ItemStack(ModItems.ingot_u235, 16)); @@ -79,14 +84,7 @@ public class ItemStarterKit extends Item { player.inventory.addItemStackToInventory(new ItemStack(ModItems.ingot_pu240, 16)); player.inventory.addItemStackToInventory(new ItemStack(ModItems.ingot_neptunium, 16)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.ingot_copper, 32)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.ingot_red_copper, 64)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.ingot_steel, 64)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.ingot_tungsten, 32)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.ingot_lead, 32)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.wire_red_copper, 32)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.wire_tungsten, 32)); player.inventory.addItemStackToInventory(new ItemStack(ModItems.coil_copper, 16)); player.inventory.addItemStackToInventory(new ItemStack(ModItems.coil_tungsten, 16)); player.inventory.addItemStackToInventory(new ItemStack(ModItems.coil_copper_torus, 8)); @@ -103,7 +101,11 @@ public class ItemStarterKit extends Item { player.inventory.addItemStackToInventory(new ItemStack(ModItems.cell_empty, 64)); player.inventory.addItemStackToInventory(new ItemStack(ModItems.rod_empty, 64)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.pellet_rtg, 16)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.pellet_rtg, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.pellet_rtg, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.pellet_rtg, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.pellet_rtg, 1)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.pellet_rtg, 1)); } if(this == ModItems.nuke_commercially_kit) @@ -352,10 +354,5 @@ public class ItemStarterKit extends Item { return stack; } - - @Override - public void onPlayerStoppedUsing(ItemStack stack, World world, EntityPlayer player, int i) { - - } } diff --git a/com/hbm/items/tool/ItemTemplateFolder.java b/com/hbm/items/tool/ItemTemplateFolder.java index 69c21e9d1..838a9240c 100644 --- a/com/hbm/items/tool/ItemTemplateFolder.java +++ b/com/hbm/items/tool/ItemTemplateFolder.java @@ -28,6 +28,7 @@ public class ItemTemplateFolder extends Item { { list.add("Machine Templates: Paper + Dye"); list.add("Fluid IDs: Iron Plate + Dye"); + list.add("Press Stamps: Flat Stamp"); } } diff --git a/com/hbm/main/ClientProxy.java b/com/hbm/main/ClientProxy.java index c92b45701..2cd7b5eb8 100644 --- a/com/hbm/main/ClientProxy.java +++ b/com/hbm/main/ClientProxy.java @@ -210,6 +210,7 @@ import com.hbm.render.tileentity.RenderNukeTsar; import com.hbm.render.tileentity.RenderOilDuct; import com.hbm.render.tileentity.RenderPoleSatelliteReceiver; import com.hbm.render.tileentity.RenderPoleTop; +import com.hbm.render.tileentity.RenderPress; import com.hbm.render.tileentity.RenderPuF6Tank; import com.hbm.render.tileentity.RenderPumpjack; import com.hbm.render.tileentity.RenderPylon; @@ -275,6 +276,7 @@ import com.hbm.tileentity.machine.TileEntityMachineGasFlare; import com.hbm.tileentity.machine.TileEntityMachineIGenerator; import com.hbm.tileentity.machine.TileEntityMachineMiningDrill; import com.hbm.tileentity.machine.TileEntityMachineOilWell; +import com.hbm.tileentity.machine.TileEntityMachinePress; import com.hbm.tileentity.machine.TileEntityMachinePuF6Tank; import com.hbm.tileentity.machine.TileEntityMachinePumpjack; import com.hbm.tileentity.machine.TileEntityMachineRefinery; @@ -330,6 +332,7 @@ public class ClientProxy extends ServerProxy ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTurretTau.class, new RenderTauTurret()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachinePumpjack.class, new RenderPumpjack()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineTurbofan.class, new RenderTurbofan()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachinePress.class, new RenderPress()); //RenderingRegistry.registerEntityRenderingHandler(EntityRocket.class, new RenderRocket()); RenderingRegistry.registerEntityRenderingHandler(EntityRocket.class, new RenderSnowball(ModItems.man_core)); diff --git a/com/hbm/main/CraftingManager.java b/com/hbm/main/CraftingManager.java index e6b03c288..63810d6fb 100644 --- a/com/hbm/main/CraftingManager.java +++ b/com/hbm/main/CraftingManager.java @@ -26,25 +26,25 @@ public class CraftingManager { GameRegistry.addRecipe(new ItemStack(ModItems.redstone_sword, 1), new Object[] { "R", "R", "S", 'R', Blocks.redstone_block, 'S', Items.stick }); GameRegistry.addRecipe(new ItemStack(ModItems.big_sword, 1), new Object[] { "QIQ", "QIQ", "GSG", 'G', Items.gold_ingot, 'S', Items.stick, 'I', Items.iron_ingot, 'Q', Items.quartz}); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.plate_titanium, 16), true, new Object[] { "TT", "TT", 'T', "ingotTitanium" })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.plate_aluminium, 16), new Object[] { "TT", "TT", 'T', "ingotAluminum" })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.plate_steel, 16), new Object[] { "TT", "TT", 'T', "ingotSteel" })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.plate_iron, 16), new Object[] { "TT", "TT", 'T', "ingotIron" })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.plate_lead, 16), new Object[] { "TT", "TT", 'T', "ingotLead" })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.plate_copper, 16), new Object[] { "TT", "TT", 'T', "ingotCopper" })); + //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.plate_titanium, 16), true, new Object[] { "TT", "TT", 'T', "ingotTitanium" })); + //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.plate_aluminium, 16), new Object[] { "TT", "TT", 'T', "ingotAluminum" })); + //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.plate_steel, 16), new Object[] { "TT", "TT", 'T', "ingotSteel" })); + //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.plate_iron, 16), new Object[] { "TT", "TT", 'T', "ingotIron" })); + //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.plate_lead, 16), new Object[] { "TT", "TT", 'T', "ingotLead" })); + //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.plate_copper, 16), new Object[] { "TT", "TT", 'T', "ingotCopper" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.board_copper, 1), new Object[] { "TTT", "TTT", 'T', "plateCopper" })); - GameRegistry.addRecipe(new ItemStack(ModItems.plate_schrabidium, 16), new Object[] { "TT", "TT", 'T', ModItems.ingot_schrabidium}); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.plate_gold, 16), new Object[] { "TT", "TT", 'T', "ingotGold" })); - GameRegistry.addRecipe(new ItemStack(ModItems.plate_advanced_alloy, 16), new Object[] { "TT", "TT", 'T', ModItems.ingot_advanced_alloy}); - GameRegistry.addRecipe(new ItemStack(ModItems.plate_combine_steel, 16), new Object[] { "TT", "TT", 'T', ModItems.ingot_combine_steel}); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.wire_red_copper, 6), new Object[] { "CCC", 'S', Items.string, 'C', "ingotRedstoneAlloy" })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.wire_tungsten, 6), new Object[] { "CCC", 'S', Items.string, 'C', "ingotTungsten" })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.wire_aluminium, 6), new Object[] { "CCC", 'S', Items.string, 'C', "ingotAluminum" })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.wire_copper, 6), new Object[] { "CCC", 'S', Items.string, 'C', "ingotCopper" })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.wire_gold, 6), new Object[] { "CCC", 'S', Items.string, 'C', "ingotGold" })); - GameRegistry.addRecipe(new ItemStack(ModItems.wire_schrabidium, 6), new Object[] { "CCC", 'S', Items.string, 'C', ModItems.ingot_schrabidium }); - GameRegistry.addRecipe(new ItemStack(ModItems.wire_advanced_alloy, 6), new Object[] { "CCC", 'S', Items.string, 'C', ModItems.ingot_advanced_alloy }); - GameRegistry.addRecipe(new ItemStack(ModItems.wire_magnetized_tungsten, 6), new Object[] { "CCC", 'S', Items.string, 'C', ModItems.ingot_magnetized_tungsten }); + //GameRegistry.addRecipe(new ItemStack(ModItems.plate_schrabidium, 16), new Object[] { "TT", "TT", 'T', ModItems.ingot_schrabidium}); + //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.plate_gold, 16), new Object[] { "TT", "TT", 'T', "ingotGold" })); + //GameRegistry.addRecipe(new ItemStack(ModItems.plate_advanced_alloy, 16), new Object[] { "TT", "TT", 'T', ModItems.ingot_advanced_alloy}); + //GameRegistry.addRecipe(new ItemStack(ModItems.plate_combine_steel, 16), new Object[] { "TT", "TT", 'T', ModItems.ingot_combine_steel}); + //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.wire_red_copper, 6), new Object[] { "CCC", 'S', Items.string, 'C', "ingotRedstoneAlloy" })); + //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.wire_tungsten, 6), new Object[] { "CCC", 'S', Items.string, 'C', "ingotTungsten" })); + //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.wire_aluminium, 6), new Object[] { "CCC", 'S', Items.string, 'C', "ingotAluminum" })); + //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.wire_copper, 6), new Object[] { "CCC", 'S', Items.string, 'C', "ingotCopper" })); + //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.wire_gold, 6), new Object[] { "CCC", 'S', Items.string, 'C', "ingotGold" })); + //GameRegistry.addRecipe(new ItemStack(ModItems.wire_schrabidium, 6), new Object[] { "CCC", 'S', Items.string, 'C', ModItems.ingot_schrabidium }); + //GameRegistry.addRecipe(new ItemStack(ModItems.wire_advanced_alloy, 6), new Object[] { "CCC", 'S', Items.string, 'C', ModItems.ingot_advanced_alloy }); + //GameRegistry.addRecipe(new ItemStack(ModItems.wire_magnetized_tungsten, 6), new Object[] { "CCC", 'S', Items.string, 'C', ModItems.ingot_magnetized_tungsten }); //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.hazmat_cloth, 4), new Object[] { "LN", "LN", 'L', Items.leather, 'N', "nuggetLead" })); //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.hazmat_cloth, 4), new Object[] { "SCS", "CPC", "SCS", 'S', Items.string, 'P', Items.leather, 'C', "dustLead" })); //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.asbestos_cloth, 4), new Object[] { "SCS", "CPC", "SCS", 'S', Items.string, 'P', Blocks.wool, 'C', "dustNetherQuartz" })); @@ -63,7 +63,8 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.marker_structure, 1), new Object[] { "L", "G", "R", 'L', "dustLapis", 'G', Items.glowstone_dust, 'R', Blocks.redstone_torch })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.circuit_aluminium, 1), new Object[] { "RAR", "ASA", "RAR", 'S', "plateSteel", 'R', "dustRedstone", 'A', ModItems.wire_aluminium })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.circuit_raw, 1), new Object[] { "A", "R", "S", 'S', "plateSteel", 'R', "dustRedstone", 'A', ModItems.wire_aluminium })); + //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.circuit_aluminium, 1), new Object[] { "RAR", "ASA", "RAR", 'S', "plateSteel", 'R', "dustRedstone", 'A', ModItems.wire_aluminium })); //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.circuit_copper, 1), new Object[] { "RAR", "ASA", "RAR", 'S', ModItems.circuit_aluminium, 'R', "dustNetherQuartz", 'A', ModItems.wire_copper })); //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.circuit_red_copper, 1), new Object[] { "RAR", "ASA", "RAR", 'S', ModItems.circuit_copper, 'R', "dustGold", 'A', ModItems.wire_red_copper })); //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.circuit_gold, 1), new Object[] { "RAR", "ASA", "RAR", 'S', ModItems.circuit_red_copper, 'R', "dustLapis", 'A', ModItems.wire_gold })); @@ -281,9 +282,6 @@ public class CraftingManager { GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_water, 1), new Object[] { ModItems.rod_empty, Items.water_bucket }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_dual_water, 1), new Object[] { ModItems.rod_dual_empty, Items.water_bucket, Items.water_bucket }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_quad_water, 1), new Object[] { ModItems.rod_quad_empty, Items.water_bucket, Items.water_bucket, Items.water_bucket, Items.water_bucket }); - GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_coolant, 1), new Object[] { ModItems.rod_empty, Items.water_bucket, ModItems.powder_ice }); - GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_dual_coolant, 1), new Object[] { ModItems.rod_dual_empty, Items.water_bucket, Items.water_bucket, ModItems.powder_ice, ModItems.powder_ice }); - GameRegistry.addShapelessRecipe(new ItemStack(ModItems.rod_quad_coolant, 1), new Object[] { ModItems.rod_quad_empty, Items.water_bucket, Items.water_bucket, Items.water_bucket, Items.water_bucket, ModItems.powder_ice, ModItems.powder_ice, ModItems.powder_ice, ModItems.powder_ice }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_uranium, 6), new Object[] { ModItems.rod_uranium }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.nugget_u235, 6), new Object[] { ModItems.rod_u235 }); @@ -525,6 +523,7 @@ public class CraftingManager { //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_refinery), 1), new Object[] { "PTP", "CTC", "WFW", 'P', "plateTitanium", 'T', ModItems.tank_steel, 'C', ModItems.coil_tungsten, 'W', ModBlocks.red_wire_coated, 'F', ModBlocks.machine_electric_furnace_off })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.crate_iron), 1), new Object[] { "PPP", "I I", "III", 'P', "plateIron", 'I', "ingotIron" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.crate_steel), 1), new Object[] { "PPP", "I I", "III", 'P', "plateSteel", 'I', "ingotSteel" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.machine_press, 1), new Object[] { "IRI", "IPI", "IBI", 'I', "ingotIron", 'R', "dustRedstone", 'B', "blockIron", 'P', Blocks.piston })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.factory_titanium_hull), 1), new Object[] { "PIP", "I I", "PIP", 'P', "plateTitanium", 'I', "ingotTitanium" })); GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.factory_titanium_furnace), 1), new Object[] { "HMH", "MFM", "HMH", 'H', Item.getItemFromBlock(ModBlocks.factory_titanium_hull), 'M', ModItems.motor, 'F', Item.getItemFromBlock(Blocks.furnace) }); @@ -567,6 +566,13 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.blades_combine_steel, 1), new Object[] { " P ", "PIP", " P ", 'P', "plateCMBSteel", 'I', "ingotCMBSteel" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.blades_schrabidium, 1), new Object[] { " P ", "PIP", " P ", 'P', "plateSchrabidium", 'I', "ingotSchrabidium" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.stamp_stone_flat, 1), new Object[] { " R ", "III", "SSS", 'R', "dustRedstone", 'I', "ingotBrick", 'S', "stone" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.stamp_iron_flat, 1), new Object[] { " R ", "III", "SSS", 'R', "dustRedstone", 'I', "ingotBrick", 'S', "ingotIron" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.stamp_steel_flat, 1), new Object[] { " R ", "III", "SSS", 'R', "dustRedstone", 'I', "ingotBrick", 'S', "ingotSteel" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.stamp_titanium_flat, 1), new Object[] { " R ", "III", "SSS", 'R', "dustRedstone", 'I', "ingotBrick", 'S', "ingotTitanium" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.stamp_obsidian_flat, 1), new Object[] { " R ", "III", "SSS", 'R', "dustRedstone", 'I', "ingotBrick", 'S', Blocks.obsidian })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.stamp_schrabidium_flat, 1), new Object[] { " R ", "III", "SSS", 'R', "dustRedstone", 'I', "ingotBrick", 'S', "ingotSchrabidium" })); + //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.reactor_element), 1), new Object[] { "SCS", "CSC", "SCS", 'S', "ingotSteel", 'C', ModItems.rod_quad_empty })); //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.reactor_control), 1), new Object[] { "SLS", "SLS", "SLS", 'S', "ingotSteel", 'L', "ingotLead" })); //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.reactor_conductor), 1), new Object[] { "SWS", "FFF", "SWS", 'S', "ingotSteel", 'W', Item.getItemFromBlock(ModBlocks.red_wire_coated), 'F', ModItems.fuse })); @@ -965,12 +971,13 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.crowbar, 1), new Object[] { "II", " I", " I", 'I', "ingotSteel" })); GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.powder_power, 5), new Object[] { "dustRedstone", "dustGlowstone", "dustDiamond", "dustNeptunium", "dustMagnetizedTungsten" })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Items.coal, 1), new Object[] { "#", '#', "dustCoal" })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Items.quartz, 1), new Object[] { "#", '#', "dustQuartz" })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Items.quartz, 1), new Object[] { "#", '#', "dustNetherQuartz" })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Items.dye, 1, 4), new Object[] { "#", '#', "dustLapis" })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Items.diamond, 1), new Object[] { "#", '#', "dustDiamond" })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Items.emerald, 1), new Object[] { "#", '#', "dustEmerald" })); + //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Items.coal, 1), new Object[] { "#", '#', "dustCoal" })); + //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Items.quartz, 1), new Object[] { "#", '#', "dustQuartz" })); + //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Items.quartz, 1), new Object[] { "#", '#', "dustNetherQuartz" })); + //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Items.dye, 1, 4), new Object[] { "#", '#', "dustLapis" })); + //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Items.diamond, 1), new Object[] { "#", '#', "dustDiamond" })); + //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Items.emerald, 1), new Object[] { "#", '#', "dustEmerald" })); + //if(MainRegistry.enableNITAN) { //GameRegistry.addShapelessRecipe(new ItemStack(ModItems.canister_NITAN, 1), new Object[] { ModItems.canister_empty, ModItems.canister_napalm, ModItems.powder_neptunium, ModItems.powder_iodine, ModItems.powder_thorium, ModItems.powder_astatine, ModItems.powder_neodymium, ModItems.powder_caesium }); //GameRegistry.addShapelessRecipe(new ItemStack(ModItems.canister_NITAN, 1), new Object[] { ModItems.canister_empty, ModItems.canister_napalm, ModItems.powder_strontium, ModItems.powder_cobalt, ModItems.powder_bromine, ModItems.powder_tennessine, ModItems.powder_niobium, ModItems.powder_cerium }); diff --git a/com/hbm/main/MainRegistry.java b/com/hbm/main/MainRegistry.java index 361063544..9dc9e7d0a 100644 --- a/com/hbm/main/MainRegistry.java +++ b/com/hbm/main/MainRegistry.java @@ -202,6 +202,7 @@ import com.hbm.tileentity.machine.TileEntityMachineIGenerator; import com.hbm.tileentity.machine.TileEntityMachineInserter; import com.hbm.tileentity.machine.TileEntityMachineMiningDrill; import com.hbm.tileentity.machine.TileEntityMachineOilWell; +import com.hbm.tileentity.machine.TileEntityMachinePress; import com.hbm.tileentity.machine.TileEntityMachinePuF6Tank; import com.hbm.tileentity.machine.TileEntityMachinePumpjack; import com.hbm.tileentity.machine.TileEntityMachineRTG; @@ -515,7 +516,7 @@ public class MainRegistry GameRegistry.registerTileEntity(TileEntityMachineTurbofan.class, "tileentity_machine_turbofan"); GameRegistry.registerTileEntity(TileEntityCrateIron.class, "tileentity_crate_iron"); GameRegistry.registerTileEntity(TileEntityCrateSteel.class, "tileentity_crate_steel"); - GameRegistry.registerTileEntity(TileEntityMachineInserter.class, "tileentity_inserter"); + GameRegistry.registerTileEntity(TileEntityMachinePress.class, "tileentity_press"); 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/NEIConfig.java b/com/hbm/main/NEIConfig.java index 466477220..8934de124 100644 --- a/com/hbm/main/NEIConfig.java +++ b/com/hbm/main/NEIConfig.java @@ -1,17 +1,7 @@ package com.hbm.main; import com.hbm.blocks.ModBlocks; -import com.hbm.handler.nei.AlloyFurnaceRecipeHandler; -import com.hbm.handler.nei.AssemblerRecipeHandler; -import com.hbm.handler.nei.CMBFurnaceRecipeHandler; -import com.hbm.handler.nei.CentrifugeRecipeHandler; -import com.hbm.handler.nei.ChemplantRecipeHandler; -import com.hbm.handler.nei.CyclotronRecipeHandler; -import com.hbm.handler.nei.FluidRecipeHandler; -import com.hbm.handler.nei.ModInfoHandler; -import com.hbm.handler.nei.ReactorRecipeHandler; -import com.hbm.handler.nei.RefineryRecipeHandler; -import com.hbm.handler.nei.ShredderRecipeHandler; +import com.hbm.handler.nei.*; import com.hbm.items.ModItems; import com.hbm.lib.RefStrings; @@ -46,6 +36,8 @@ public class NEIConfig implements IConfigureNEI { API.registerUsageHandler(new ChemplantRecipeHandler()); API.registerRecipeHandler(new FluidRecipeHandler()); API.registerUsageHandler(new FluidRecipeHandler()); + API.registerRecipeHandler(new PressRecipeHandler()); + API.registerUsageHandler(new PressRecipeHandler()); //Some things are even beyond my control...or are they? API.hideItem(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_coal_on))); diff --git a/com/hbm/main/ResourceManager.java b/com/hbm/main/ResourceManager.java index 168523b8a..b59991182 100644 --- a/com/hbm/main/ResourceManager.java +++ b/com/hbm/main/ResourceManager.java @@ -29,6 +29,10 @@ public class ResourceManager { public static final IModelCustom turbofan_body = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/turbofan_body.obj")); public static final IModelCustom turbofan_blades = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/turbofan_blades.obj")); + //Press + public static final IModelCustom press_body = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/press_body.obj")); + public static final IModelCustom press_head = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/press_head.obj")); + ////Textures TEs public static final ResourceLocation universal = new ResourceLocation(RefStrings.MODID, "textures/models/TheGadget3_.png"); @@ -54,6 +58,10 @@ public class ResourceManager { //Pumpjack public static final ResourceLocation turbofan_body_tex = new ResourceLocation(RefStrings.MODID, "textures/models/turbofan_body.png"); public static final ResourceLocation turbofan_blades_tex = new ResourceLocation(RefStrings.MODID, "textures/models/turbofan_blades.png"); + + //Press + public static final ResourceLocation press_body_tex = new ResourceLocation(RefStrings.MODID, "textures/models/press_body.png"); + public static final ResourceLocation press_head_tex = new ResourceLocation(RefStrings.MODID, "textures/models/press_head.png"); ////Obj Items diff --git a/com/hbm/packet/ItemFolderPacket.java b/com/hbm/packet/ItemFolderPacket.java index 62aee93df..ec9b41680 100644 --- a/com/hbm/packet/ItemFolderPacket.java +++ b/com/hbm/packet/ItemFolderPacket.java @@ -85,6 +85,60 @@ public class ItemFolderPacket implements IMessage { p.dropPlayerItemWithRandomChoice(stack, true); } } + if(stack.getItem() == ModItems.stamp_stone_plate || + stack.getItem() == ModItems.stamp_stone_wire || + stack.getItem() == ModItems.stamp_stone_circuit) { + if(p.inventory.hasItem(ModItems.stamp_stone_flat)) { + p.inventory.consumeInventoryItem(ModItems.stamp_stone_flat); + if(!p.inventory.addItemStackToInventory(stack.copy())) + p.dropPlayerItemWithRandomChoice(stack, true); + } + } + if(stack.getItem() == ModItems.stamp_iron_plate || + stack.getItem() == ModItems.stamp_iron_wire || + stack.getItem() == ModItems.stamp_iron_circuit) { + if(p.inventory.hasItem(ModItems.stamp_iron_flat)) { + p.inventory.consumeInventoryItem(ModItems.stamp_iron_flat); + if(!p.inventory.addItemStackToInventory(stack.copy())) + p.dropPlayerItemWithRandomChoice(stack, true); + } + } + if(stack.getItem() == ModItems.stamp_steel_plate || + stack.getItem() == ModItems.stamp_steel_wire || + stack.getItem() == ModItems.stamp_steel_circuit) { + if(p.inventory.hasItem(ModItems.stamp_steel_flat)) { + p.inventory.consumeInventoryItem(ModItems.stamp_steel_flat); + if(!p.inventory.addItemStackToInventory(stack.copy())) + p.dropPlayerItemWithRandomChoice(stack, true); + } + } + if(stack.getItem() == ModItems.stamp_titanium_plate || + stack.getItem() == ModItems.stamp_titanium_wire || + stack.getItem() == ModItems.stamp_titanium_circuit) { + if(p.inventory.hasItem(ModItems.stamp_titanium_flat)) { + p.inventory.consumeInventoryItem(ModItems.stamp_titanium_flat); + if(!p.inventory.addItemStackToInventory(stack.copy())) + p.dropPlayerItemWithRandomChoice(stack, true); + } + } + if(stack.getItem() == ModItems.stamp_obsidian_plate || + stack.getItem() == ModItems.stamp_obsidian_wire || + stack.getItem() == ModItems.stamp_obsidian_circuit) { + if(p.inventory.hasItem(ModItems.stamp_obsidian_flat)) { + p.inventory.consumeInventoryItem(ModItems.stamp_obsidian_flat); + if(!p.inventory.addItemStackToInventory(stack.copy())) + p.dropPlayerItemWithRandomChoice(stack, true); + } + } + if(stack.getItem() == ModItems.stamp_schrabidium_plate || + stack.getItem() == ModItems.stamp_schrabidium_wire || + stack.getItem() == ModItems.stamp_schrabidium_circuit) { + if(p.inventory.hasItem(ModItems.stamp_schrabidium_flat)) { + p.inventory.consumeInventoryItem(ModItems.stamp_schrabidium_flat); + if(!p.inventory.addItemStackToInventory(stack.copy())) + p.dropPlayerItemWithRandomChoice(stack, true); + } + } //} return null; diff --git a/com/hbm/packet/PacketDispatcher.java b/com/hbm/packet/PacketDispatcher.java index ca43b11fd..898e6bb88 100644 --- a/com/hbm/packet/PacketDispatcher.java +++ b/com/hbm/packet/PacketDispatcher.java @@ -47,6 +47,8 @@ public class PacketDispatcher { wrapper.registerMessage(TEPumpjackPacket.Handler.class, TEPumpjackPacket.class, i++, Side.CLIENT); //Turbofan spin for rendering wrapper.registerMessage(TETurbofanPacket.Handler.class, TETurbofanPacket.class, i++, Side.CLIENT); + //Press item for rendering + wrapper.registerMessage(TEPressPacket.Handler.class, TEPressPacket.class, i++, Side.CLIENT); } } diff --git a/com/hbm/packet/TEPressPacket.java b/com/hbm/packet/TEPressPacket.java new file mode 100644 index 000000000..08f4038f5 --- /dev/null +++ b/com/hbm/packet/TEPressPacket.java @@ -0,0 +1,80 @@ +package com.hbm.packet; + +import com.hbm.main.MainRegistry; +import com.hbm.tileentity.machine.TileEntityMachinePress; +import com.hbm.tileentity.machine.TileEntityMachineTurbofan; + +import cpw.mods.fml.common.network.simpleimpl.IMessage; +import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; +import cpw.mods.fml.common.network.simpleimpl.MessageContext; +import io.netty.buffer.ByteBuf; +import net.minecraft.client.Minecraft; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; + +public class TEPressPacket implements IMessage { + + int x; + int y; + int z; + int item; + int meta; + int progress; + + public TEPressPacket() + { + + } + + public TEPressPacket(int x, int y, int z, ItemStack stack, int progress) + { + this.x = x; + this.y = y; + this.z = z; + this.item = 0; + this.meta = 0; + if(stack != null) { + this.item = Item.getIdFromItem(stack.getItem()); + this.meta = stack.getItemDamage(); + } + this.progress = progress; + } + + @Override + public void fromBytes(ByteBuf buf) { + x = buf.readInt(); + y = buf.readInt(); + z = buf.readInt(); + item = buf.readInt(); + meta = buf.readInt(); + progress = buf.readInt(); + } + + @Override + public void toBytes(ByteBuf buf) { + buf.writeInt(x); + buf.writeInt(y); + buf.writeInt(z); + buf.writeInt(item); + buf.writeInt(meta); + buf.writeInt(progress); + } + + public static class Handler implements IMessageHandler { + + @Override + public IMessage onMessage(TEPressPacket m, MessageContext ctx) { + TileEntity te = Minecraft.getMinecraft().theWorld.getTileEntity(m.x, m.y, m.z); + + if (te != null && te instanceof TileEntityMachinePress) { + + TileEntityMachinePress gen = (TileEntityMachinePress) te; + gen.item = m.item; + gen.meta = m.meta; + gen.progress = m.progress; + } + return null; + } + } +} diff --git a/com/hbm/render/entity/RenderSmallNukeAlt.java b/com/hbm/render/entity/RenderSmallNukeAlt.java index 14f40471c..be49604b7 100644 --- a/com/hbm/render/entity/RenderSmallNukeAlt.java +++ b/com/hbm/render/entity/RenderSmallNukeAlt.java @@ -42,7 +42,7 @@ public class RenderSmallNukeAlt extends Render { @Override public void doRender(Entity p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) { - if(((EntityNukeCloudSmall)p_76986_1_).age > 100) + if(((EntityNukeCloudSmall)p_76986_1_).getDataWatcher().getWatchableObjectShort(17) > 100) { this.renderMush((EntityNukeCloudSmall)p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_); this.renderCloud((EntityNukeCloudSmall)p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_); @@ -58,7 +58,7 @@ public class RenderSmallNukeAlt extends Render { GL11.glTranslatef((float)p_76986_2_, (float)p_76986_4_, (float)p_76986_6_); GL11.glDisable(GL11.GL_LIGHTING); GL11.glDisable(GL11.GL_CULL_FACE); - if(p_76986_1_.age < 150) + if(p_76986_1_.getDataWatcher().getWatchableObjectShort(17) < 150) { //GL11.glTranslatef(0.0F, -60F + ((p_76986_1_.age - 100) * 60 / 50), 0.0F); GL11.glTranslatef(0.0F, p_76986_1_.height, 0.0F); @@ -81,7 +81,7 @@ public class RenderSmallNukeAlt extends Render { { scale += 0.02; }*/ - GL11.glScalef(p_76986_1_.scale, 1.0F, p_76986_1_.scale); + GL11.glScalef(p_76986_1_.getDataWatcher().getWatchableObjectShort(18), 1.0F, p_76986_1_.getDataWatcher().getWatchableObjectShort(18)); GL11.glScalef(50F, 25.0F, 50F); bindTexture(ringBigTexture); @@ -97,7 +97,7 @@ public class RenderSmallNukeAlt extends Render { GL11.glDisable(GL11.GL_CULL_FACE); GL11.glTranslatef(0.0F, 18F, 0.0F); //ring += 0.1F; - GL11.glScalef(p_76986_1_.ring * 10, 30F, p_76986_1_.ring * 10); + GL11.glScalef(p_76986_1_.getDataWatcher().getWatchableObjectShort(19) * 10, 30F, p_76986_1_.getDataWatcher().getWatchableObjectShort(19) * 10); bindTexture(ringTexture); ringModel.renderAll(); @@ -108,13 +108,13 @@ public class RenderSmallNukeAlt extends Render { Tessellator tessellator = Tessellator.instance; RenderHelper.disableStandardItemLighting(); - float f1 = (p_76986_1_.ticksExisted + 2.0F) / 200.0F; + float f1 = (p_76986_1_.getDataWatcher().getWatchableObjectShort(17) + 2.0F) / 200.0F; float f2 = 0.0F; int count = 250; - if(p_76986_1_.ticksExisted < 250) + if(p_76986_1_.getDataWatcher().getWatchableObjectShort(17) < 250) { - count = p_76986_1_.ticksExisted * 3; + count = p_76986_1_.getDataWatcher().getWatchableObjectShort(17) * 3; } if (f1 > 0.8F) diff --git a/com/hbm/render/tileentity/RenderDecoItem.java b/com/hbm/render/tileentity/RenderDecoItem.java index 85a5cc103..c5b331b92 100644 --- a/com/hbm/render/tileentity/RenderDecoItem.java +++ b/com/hbm/render/tileentity/RenderDecoItem.java @@ -1,10 +1,11 @@ package com.hbm.render.tileentity; import net.minecraft.client.renderer.entity.RenderItem; +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.item.ItemStack; public class RenderDecoItem extends RenderItem { - RenderDecoItem(RenderDecoBlockAlt render) {} + RenderDecoItem(TileEntitySpecialRenderer render) {} @Override public byte getMiniBlockCount(ItemStack stack, byte original) diff --git a/com/hbm/render/tileentity/RenderPress.java b/com/hbm/render/tileentity/RenderPress.java new file mode 100644 index 000000000..9e3f6335b --- /dev/null +++ b/com/hbm/render/tileentity/RenderPress.java @@ -0,0 +1,90 @@ +package com.hbm.render.tileentity; + +import org.lwjgl.opengl.GL11; + +import com.hbm.items.ModItems; +import com.hbm.lib.RefStrings; +import com.hbm.main.MainRegistry; +import com.hbm.main.ResourceManager; +import com.hbm.render.model.ModelRotationTester; +import com.hbm.tileentity.deco.TileEntityDecoBlockAltF; +import com.hbm.tileentity.deco.TileEntityDecoBlockAltW; +import com.hbm.tileentity.machine.TileEntityMachinePress; + +import net.minecraft.block.Block; +import net.minecraft.client.renderer.entity.RenderItem; +import net.minecraft.client.renderer.entity.RenderManager; +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.item.Item; +import net.minecraft.item.ItemBlock; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ResourceLocation; + +public class RenderPress extends TileEntitySpecialRenderer { + + private RenderItem itemRenderer; + private RenderManager renderManager = RenderManager.instance; + + public RenderPress() { } + + @Override + public void renderTileEntityAt(TileEntity tileentity, double x, double y, double z, float f) { + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5D, y, z + 0.5D); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glRotatef(180, 0F, 1F, 0F); + + this.bindTexture(ResourceManager.press_body_tex); + + ResourceManager.press_body.renderAll(); + + GL11.glPopMatrix(); + + renderTileEntityAt2(tileentity, x, y, z, f); + } + + public void renderTileEntityAt2(TileEntity tileEntity, double x, double y, double z, float f) { + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5D, y + 1 - 0.125D, z + 0.5D); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glRotatef(180, 0F, 1F, 0F); + + TileEntityMachinePress press = (TileEntityMachinePress)tileEntity; + float f1 = press.progress * (1 - 0.125F) / press.maxProgress; + GL11.glTranslated(0, -f1, 0); + + this.bindTexture(ResourceManager.press_head_tex); + + ResourceManager.press_head.renderAll(); + + GL11.glPopMatrix(); + + renderTileEntityAt3(tileEntity, x, y, z, f); + } + + public void renderTileEntityAt3(TileEntity tileEntity, double x, double y, double z, float f) { + itemRenderer = new RenderDecoItem(this); + itemRenderer.setRenderManager(renderManager); + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5D, y + 1, z - 0.5); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glRotatef(180, 0F, 1F, 0F); + GL11.glRotatef(-90, 1F, 0F, 0F); + + TileEntityMachinePress press = (TileEntityMachinePress)tileEntity; + ItemStack stack = new ItemStack(Item.getItemById(press.item), 1, press.meta); + + if(!(stack.getItem() instanceof ItemBlock)) { + EntityItem item = new EntityItem(null, 0.0D, 0.0D, 0.0D, stack); + + RenderItem.renderInFrame = true; + GL11.glTranslatef(0.0F, 1.0F - 0.0625F * 165/100, 0.0F); + this.itemRenderer.doRender(item, 0.0D, 0.0D, 0.0D, 0.0F, 0.0F); + RenderItem.renderInFrame = false; + } + + GL11.glPopMatrix(); + } +} diff --git a/com/hbm/tileentity/machine/TileEntityMachinePress.java b/com/hbm/tileentity/machine/TileEntityMachinePress.java new file mode 100644 index 000000000..c401bfd5a --- /dev/null +++ b/com/hbm/tileentity/machine/TileEntityMachinePress.java @@ -0,0 +1,310 @@ +package com.hbm.tileentity.machine; + +import com.hbm.handler.FluidTypeHandler.FluidType; +import com.hbm.interfaces.IFluidContainer; +import com.hbm.inventory.FluidTank; +import com.hbm.inventory.MachineRecipes; +import com.hbm.items.ModItems; +import com.hbm.items.special.ItemBattery; +import com.hbm.main.MainRegistry; +import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.TEPressPacket; + +import cpw.mods.fml.common.registry.GameRegistry; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.inventory.ISidedInventory; +import net.minecraft.item.Item; +import net.minecraft.item.ItemBlock; +import net.minecraft.item.ItemHoe; +import net.minecraft.item.ItemStack; +import net.minecraft.item.ItemSword; +import net.minecraft.item.ItemTool; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.tileentity.TileEntityFurnace; +import net.minecraft.util.AxisAlignedBB; + +public class TileEntityMachinePress extends TileEntity implements ISidedInventory { + + private ItemStack slots[]; + + public int progress = 0; + public int power = 0; + public int burnTime = 0; + public final static int maxProgress = 200; + public final static int maxPower = 700; + public int maxBurn = 160; + public int item; + public int meta; + boolean isRetracting = false; + + private String customName; + + public TileEntityMachinePress() { + slots = new ItemStack[4]; + } + + @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.press"; + } + + @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; + } + } + + @Override + public void openInventory() {} + @Override + public void closeInventory() {} + + @Override + public boolean isItemValidForSlot(int i, ItemStack stack) { + return false; + } + + @Override + public ItemStack decrStackSize(int i, int j) { + if(slots[i] != null) + { + if(slots[i].stackSize <= j) + { + ItemStack itemStack = slots[i]; + slots[i] = null; + return itemStack; + } + ItemStack itemStack1 = slots[i].splitStack(j); + if (slots[i].stackSize == 0) + { + slots[i] = null; + } + + return itemStack1; + } else { + return null; + } + } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + NBTTagList list = nbt.getTagList("items", 10); + + progress = nbt.getInteger("progress"); + power = nbt.getInteger("power"); + burnTime = nbt.getInteger("burnTime"); + maxBurn = nbt.getInteger("maxBurn"); + isRetracting = nbt.getBoolean("ret"); + + 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); + NBTTagList list = new NBTTagList(); + + nbt.setInteger("progress", progress); + nbt.setInteger("power", power); + nbt.setInteger("burnTime", burnTime); + nbt.setInteger("maxBurn", maxBurn); + nbt.setBoolean("ret", isRetracting); + + for(int i = 0; i < slots.length; i++) + { + if(slots[i] != null) + { + NBTTagCompound nbt1 = new NBTTagCompound(); + nbt1.setByte("slot", (byte)i); + slots[i].writeToNBT(nbt1); + list.appendTag(nbt1); + } + } + nbt.setTag("items", list); + } + + @Override + public int[] getAccessibleSlotsFromSide(int p_94128_1_) + { + return new int[] {0, 1, 2, 3}; + } + + @Override + public boolean canInsertItem(int i, ItemStack itemStack, int j) { + return this.isItemValidForSlot(i, itemStack); + } + + @Override + public boolean canExtractItem(int i, ItemStack itemStack, int j) { + return false; + } + + @Override + public void updateEntity() { + if(!worldObj.isRemote) + { + if(burnTime > 0) { + this.burnTime--; + this.power++; + if(power > maxPower) + power = maxPower; + } else { + if(power > 0) + power--; + } + + if(slots[0] != null && this.burnTime == 0 && TileEntityFurnace.getItemBurnTime(slots[0]) > 0) { + this.maxBurn = this.burnTime = TileEntityFurnace.getItemBurnTime(slots[0]) / 8; + slots[0].stackSize--; + if(slots[0].stackSize <= 0) + slots[0] = null; + } + + if(power >= maxPower / 3) { + + int speed = power * 25 / maxPower; + + if(slots[1] != null && slots[2] != null) { + ItemStack stack = MachineRecipes.getPressResult(slots[2].getItem(), slots[1].getItem()); + if(stack != null && + (slots[3] == null || + (slots[3].getItem() == stack.getItem() && + slots[3].stackSize + stack.stackSize <= slots[3].getMaxStackSize()))) { + + if(progress >= maxProgress) { + + isRetracting = true; + + if(slots[3] == null) + slots[3] = stack.copy(); + else + slots[3].stackSize += stack.stackSize; + + slots[2].stackSize--; + if(slots[2].stackSize <= 0) + slots[2] = null; + + slots[1].setItemDamage(slots[1].getItemDamage() + 1); + if(slots[1].getItemDamage() >= slots[1].getMaxDamage()) + slots[1] = null; + + this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:block.pressOperate", 1.5F, 1.0F); + } + + if(!isRetracting) + progress += speed; + + } else { + isRetracting = true; + } + } else { + isRetracting = true; + } + + if(isRetracting) + progress -= speed; + } else { + isRetracting = true; + } + + if(progress <= 0) { + isRetracting = false; + progress = 0; + } + + PacketDispatcher.wrapper.sendToAll(new TEPressPacket(xCoord, yCoord, zCoord, slots[2], progress)); + } + } + + public int getPowerScaled(int i) { + return (power * i) / maxPower; + } + + public int getProgressScaled(int i) { + return (progress * i) / maxProgress; + } + + public int getBurnScaled(int i) { + return (burnTime * i) / maxBurn; + } + + @Override + public AxisAlignedBB getRenderBoundingBox() { + return TileEntity.INFINITE_EXTENT_AABB; + } + + @Override + @SideOnly(Side.CLIENT) + public double getMaxRenderDistanceSquared() + { + return 65536.0D; + } +}