crystallizer upgrades, dud packet fix, recipes
@ -17,44 +17,44 @@ v -0.125000 0.625000 -0.125000
|
|||||||
v -0.125000 0.625000 0.125000
|
v -0.125000 0.625000 0.125000
|
||||||
v -0.125000 0.375000 -0.125000
|
v -0.125000 0.375000 -0.125000
|
||||||
v -0.125000 0.375000 0.125000
|
v -0.125000 0.375000 0.125000
|
||||||
vt 0.761905 1.000000
|
vt 0.761905 0.500000
|
||||||
vt 0.904762 0.714286
|
vt 0.904762 0.357143
|
||||||
vt 0.904762 1.000000
|
vt 0.904762 0.500000
|
||||||
vt 0.761905 0.714286
|
vt 0.761905 0.357143
|
||||||
vt 0.904762 1.000000
|
vt 0.904762 0.500000
|
||||||
vt 0.761905 1.000000
|
vt 0.761905 0.500000
|
||||||
vt 0.714286 0.714286
|
vt 0.714286 0.357143
|
||||||
vt 0.761905 0.714286
|
vt 0.761905 0.357143
|
||||||
vt 0.761905 1.000000
|
vt 0.761905 0.500000
|
||||||
vt 0.714286 0.714286
|
vt 0.714286 0.357143
|
||||||
vt 0.761905 0.714286
|
vt 0.761905 0.357143
|
||||||
vt 0.761905 1.000000
|
vt 0.761905 0.500000
|
||||||
vt 0.714286 0.714286
|
vt 0.714286 0.357143
|
||||||
vt 0.761905 0.714286
|
vt 0.761905 0.357143
|
||||||
vt 0.761905 1.000000
|
vt 0.761905 0.500000
|
||||||
vt 0.714286 0.714286
|
vt 0.714286 0.357143
|
||||||
vt 0.761905 0.714286
|
vt 0.761905 0.357143
|
||||||
vt 0.714286 0.904762
|
vt 0.714286 0.452381
|
||||||
vt 0.619048 0.714286
|
vt 0.619048 0.357143
|
||||||
vt 0.714286 0.714286
|
vt 0.714286 0.357143
|
||||||
vt 0.714286 0.904762
|
vt 0.714286 0.452381
|
||||||
vt 0.619048 0.714286
|
vt 0.619048 0.357143
|
||||||
vt 0.714286 0.714286
|
vt 0.714286 0.357143
|
||||||
vt 0.714286 0.904762
|
vt 0.714286 0.452381
|
||||||
vt 0.619048 0.714286
|
vt 0.619048 0.357143
|
||||||
vt 0.714286 0.714286
|
vt 0.714286 0.357143
|
||||||
vt 0.714286 0.904762
|
vt 0.714286 0.452381
|
||||||
vt 0.619048 0.714286
|
vt 0.619048 0.357143
|
||||||
vt 0.714286 0.714286
|
vt 0.714286 0.357143
|
||||||
vt 0.904762 0.714286
|
vt 0.904762 0.357143
|
||||||
vt 0.714286 1.000000
|
vt 0.714286 0.500000
|
||||||
vt 0.714286 1.000000
|
vt 0.714286 0.500000
|
||||||
vt 0.714286 1.000000
|
vt 0.714286 0.500000
|
||||||
vt 0.714286 1.000000
|
vt 0.714286 0.500000
|
||||||
vt 0.619048 0.904762
|
vt 0.619048 0.452381
|
||||||
vt 0.619048 0.904762
|
vt 0.619048 0.452381
|
||||||
vt 0.619048 0.904762
|
vt 0.619048 0.452381
|
||||||
vt 0.619048 0.904762
|
vt 0.619048 0.452381
|
||||||
vn -1.0000 0.0000 0.0000
|
vn -1.0000 0.0000 0.0000
|
||||||
vn 1.0000 0.0000 0.0000
|
vn 1.0000 0.0000 0.0000
|
||||||
vn 0.0000 0.0000 -1.0000
|
vn 0.0000 0.0000 -1.0000
|
||||||
@ -179,134 +179,134 @@ v -0.132583 1.000000 -0.132583
|
|||||||
v -0.132583 0.062500 -0.132583
|
v -0.132583 0.062500 -0.132583
|
||||||
v -0.353553 1.000000 -0.353553
|
v -0.353553 1.000000 -0.353553
|
||||||
v -0.353553 0.062500 -0.353553
|
v -0.353553 0.062500 -0.353553
|
||||||
vt 0.380952 0.809524
|
vt 0.380952 0.404762
|
||||||
vt 0.000000 0.761905
|
vt 0.000000 0.380952
|
||||||
vt 0.380952 0.761905
|
vt 0.380952 0.380952
|
||||||
vt 0.380952 0.809524
|
vt 0.380952 0.404762
|
||||||
vt 0.000000 0.761905
|
vt 0.000000 0.380952
|
||||||
vt 0.380952 0.761905
|
vt 0.380952 0.380952
|
||||||
vt 0.380952 0.809524
|
vt 0.380952 0.404762
|
||||||
vt -0.000000 0.761905
|
vt 0.000000 0.380952
|
||||||
vt 0.380952 0.761905
|
vt 0.380952 0.380952
|
||||||
vt 0.380952 0.809524
|
vt 0.380952 0.404762
|
||||||
vt 0.000000 0.761905
|
vt 0.000000 0.380952
|
||||||
vt 0.380952 0.761905
|
vt 0.380952 0.380952
|
||||||
vt 0.000000 -0.000000
|
|
||||||
vt 0.380952 -0.000000
|
|
||||||
vt 0.380952 0.761905
|
|
||||||
vt 0.000000 0.000000
|
vt 0.000000 0.000000
|
||||||
vt 0.380952 0.000000
|
vt 0.380952 0.000000
|
||||||
vt 0.761905 -0.000000
|
vt 0.380952 0.380952
|
||||||
vt 0.821429 0.666667
|
vt 0.000000 0.000000
|
||||||
vt 0.761905 0.666667
|
vt 0.380952 0.000000
|
||||||
vt 0.809524 0.714286
|
vt 0.761905 0.000000
|
||||||
vt 0.773810 0.714286
|
vt 0.821429 0.333333
|
||||||
vt 0.880952 -0.000000
|
vt 0.761905 0.333333
|
||||||
vt 0.880952 0.666667
|
vt 0.809524 0.357143
|
||||||
vt 0.940476 -0.000000
|
vt 0.773810 0.357143
|
||||||
vt 0.940476 0.666667
|
vt 0.880952 0.000000
|
||||||
vt 1.000000 -0.000000
|
vt 0.880952 0.333333
|
||||||
vt 1.000000 0.666667
|
vt 0.940476 0.000000
|
||||||
vt 0.523810 0.666667
|
vt 0.940476 0.333333
|
||||||
|
vt 1.000000 0.000000
|
||||||
|
vt 1.000000 0.333333
|
||||||
|
vt 0.523810 0.333333
|
||||||
vt 0.583333 0.000000
|
vt 0.583333 0.000000
|
||||||
vt 0.583333 0.666667
|
vt 0.583333 0.333333
|
||||||
vt 0.642857 -0.000000
|
vt 0.642857 0.000000
|
||||||
vt 0.642857 0.666667
|
vt 0.642857 0.333333
|
||||||
vt 0.702381 -0.000000
|
vt 0.702381 0.000000
|
||||||
vt 0.702381 0.666667
|
vt 0.702381 0.333333
|
||||||
vt 0.750000 0.714286
|
vt 0.750000 0.357143
|
||||||
vt 0.690476 0.714286
|
vt 0.690476 0.357143
|
||||||
vt 0.654762 0.714286
|
vt 0.654762 0.357143
|
||||||
vt 0.595238 0.714286
|
vt 0.595238 0.357143
|
||||||
vt 0.630952 0.714286
|
vt 0.630952 0.357143
|
||||||
vt 0.571429 0.714286
|
vt 0.571429 0.357143
|
||||||
vt 0.535714 0.714286
|
vt 0.535714 0.357143
|
||||||
vt 0.952381 0.714286
|
vt 0.952381 0.357143
|
||||||
vt 0.988095 0.714286
|
vt 0.988095 0.357143
|
||||||
vt 0.892857 0.714286
|
vt 0.892857 0.357143
|
||||||
vt 0.928571 0.714286
|
vt 0.928571 0.357143
|
||||||
vt 0.833333 0.714286
|
vt 0.833333 0.357143
|
||||||
vt 0.869048 0.714286
|
vt 0.869048 0.357143
|
||||||
vt 0.919818 0.876219
|
vt 0.916667 0.440476
|
||||||
vt 0.906124 0.810097
|
vt 0.904762 0.404762
|
||||||
vt 0.919818 0.743974
|
vt 0.916667 0.369048
|
||||||
vt 0.380952 0.714286
|
vt 0.380952 0.357143
|
||||||
vt 0.523810 -0.000000
|
|
||||||
vt 0.523810 0.714286
|
|
||||||
vt 0.523810 -0.000000
|
|
||||||
vt 0.380952 0.714286
|
|
||||||
vt 0.523810 0.714286
|
|
||||||
vt 0.380952 0.714286
|
|
||||||
vt 0.523810 -0.000000
|
|
||||||
vt 0.523810 0.714286
|
|
||||||
vt 0.523810 -0.000000
|
|
||||||
vt 0.380952 0.714286
|
|
||||||
vt 0.523810 0.714286
|
|
||||||
vt 0.380952 0.714286
|
|
||||||
vt 0.523810 -0.000000
|
|
||||||
vt 0.523810 0.714286
|
|
||||||
vt 0.523810 -0.000000
|
|
||||||
vt 0.380952 0.714286
|
|
||||||
vt 0.523810 0.714286
|
|
||||||
vt 0.380952 0.714286
|
|
||||||
vt 0.523810 -0.000000
|
|
||||||
vt 0.523810 0.714286
|
|
||||||
vt 0.523810 -0.000000
|
|
||||||
vt 0.380952 0.714286
|
|
||||||
vt 0.523810 0.714286
|
|
||||||
vt 0.380952 0.714286
|
|
||||||
vt 0.523810 -0.000000
|
|
||||||
vt 0.523810 0.714286
|
|
||||||
vt 0.523810 -0.000000
|
|
||||||
vt 0.380952 0.714286
|
|
||||||
vt 0.523810 0.714286
|
|
||||||
vt 0.380952 0.714286
|
|
||||||
vt 0.523810 -0.000000
|
|
||||||
vt 0.523810 0.714286
|
|
||||||
vt 0.523810 -0.000000
|
|
||||||
vt 0.380952 0.714286
|
|
||||||
vt 0.523810 0.714286
|
|
||||||
vt 0.380952 0.714286
|
|
||||||
vt 0.523810 -0.000000
|
|
||||||
vt 0.523810 0.714286
|
|
||||||
vt 0.523810 -0.000000
|
|
||||||
vt 0.380952 0.714286
|
|
||||||
vt 0.523810 0.714286
|
|
||||||
vt 0.380952 0.714286
|
|
||||||
vt 0.523810 -0.000000
|
|
||||||
vt 0.523810 0.714286
|
|
||||||
vt 0.523810 -0.000000
|
|
||||||
vt 0.380952 0.714286
|
|
||||||
vt 0.523810 0.714286
|
|
||||||
vt 0.000000 0.809524
|
|
||||||
vt 0.000000 0.809524
|
|
||||||
vt -0.000000 0.809524
|
|
||||||
vt 0.000000 0.809524
|
|
||||||
vt 0.000000 0.761905
|
|
||||||
vt 0.821429 -0.000000
|
|
||||||
vt 0.523810 0.000000
|
vt 0.523810 0.000000
|
||||||
vt 0.714286 0.714286
|
vt 0.523810 0.357143
|
||||||
vt 0.952879 0.716585
|
vt 0.523810 0.000000
|
||||||
vt 0.985940 0.876219
|
vt 0.380952 0.357143
|
||||||
vt 0.985940 0.743974
|
vt 0.523810 0.357143
|
||||||
vt 0.999635 0.810097
|
vt 0.380952 0.357143
|
||||||
vt 0.952879 0.903608
|
vt 0.523810 0.000000
|
||||||
vt 0.380952 -0.000000
|
vt 0.523810 0.357143
|
||||||
vt 0.380952 -0.000000
|
vt 0.523810 0.000000
|
||||||
vt 0.380952 -0.000000
|
vt 0.380952 0.357143
|
||||||
vt 0.380952 -0.000000
|
vt 0.523810 0.357143
|
||||||
vt 0.380952 -0.000000
|
vt 0.380952 0.357143
|
||||||
vt 0.380952 -0.000000
|
vt 0.523810 0.000000
|
||||||
vt 0.380952 -0.000000
|
vt 0.523810 0.357143
|
||||||
vt 0.380952 -0.000000
|
vt 0.523810 0.000000
|
||||||
vt 0.380952 -0.000000
|
vt 0.380952 0.357143
|
||||||
vt 0.380952 -0.000000
|
vt 0.523810 0.357143
|
||||||
vt 0.380952 -0.000000
|
vt 0.380952 0.357143
|
||||||
vt 0.380952 -0.000000
|
vt 0.523810 0.000000
|
||||||
vt 0.380952 -0.000000
|
vt 0.523810 0.357143
|
||||||
vt 0.380952 -0.000000
|
vt 0.523810 0.000000
|
||||||
vt 0.380952 -0.000000
|
vt 0.380952 0.357143
|
||||||
vt 0.380952 -0.000000
|
vt 0.523810 0.357143
|
||||||
|
vt 0.380952 0.357143
|
||||||
|
vt 0.523810 0.000000
|
||||||
|
vt 0.523810 0.357143
|
||||||
|
vt 0.523810 0.000000
|
||||||
|
vt 0.380952 0.357143
|
||||||
|
vt 0.523810 0.357143
|
||||||
|
vt 0.380952 0.357143
|
||||||
|
vt 0.523810 0.000000
|
||||||
|
vt 0.523810 0.357143
|
||||||
|
vt 0.523810 0.000000
|
||||||
|
vt 0.380952 0.357143
|
||||||
|
vt 0.523810 0.357143
|
||||||
|
vt 0.380952 0.357143
|
||||||
|
vt 0.523810 0.000000
|
||||||
|
vt 0.523810 0.357143
|
||||||
|
vt 0.523810 0.000000
|
||||||
|
vt 0.380952 0.357143
|
||||||
|
vt 0.523810 0.357143
|
||||||
|
vt 0.380952 0.357143
|
||||||
|
vt 0.523810 0.000000
|
||||||
|
vt 0.523810 0.357143
|
||||||
|
vt 0.523810 0.000000
|
||||||
|
vt 0.380952 0.357143
|
||||||
|
vt 0.523810 0.357143
|
||||||
|
vt 0.000000 0.404762
|
||||||
|
vt 0.000000 0.404762
|
||||||
|
vt 0.000000 0.404762
|
||||||
|
vt 0.000000 0.404762
|
||||||
|
vt 0.000000 0.380952
|
||||||
|
vt 0.821429 0.000000
|
||||||
|
vt 0.523810 0.000000
|
||||||
|
vt 0.714286 0.357143
|
||||||
|
vt 0.952381 0.357143
|
||||||
|
vt 0.988095 0.440476
|
||||||
|
vt 0.988095 0.369048
|
||||||
|
vt 1.000000 0.404762
|
||||||
|
vt 0.952381 0.452381
|
||||||
|
vt 0.380952 0.000000
|
||||||
|
vt 0.380952 0.000000
|
||||||
|
vt 0.380952 0.000000
|
||||||
|
vt 0.380952 0.000000
|
||||||
|
vt 0.380952 0.000000
|
||||||
|
vt 0.380952 0.000000
|
||||||
|
vt 0.380952 0.000000
|
||||||
|
vt 0.380952 0.000000
|
||||||
|
vt 0.380952 0.000000
|
||||||
|
vt 0.380952 0.000000
|
||||||
|
vt 0.380952 0.000000
|
||||||
|
vt 0.380952 0.000000
|
||||||
|
vt 0.380952 0.000000
|
||||||
|
vt 0.380952 0.000000
|
||||||
|
vt 0.380952 0.000000
|
||||||
|
vt 0.380952 0.000000
|
||||||
vn -1.0000 0.0000 0.0000
|
vn -1.0000 0.0000 0.0000
|
||||||
vn 0.0000 0.0000 -1.0000
|
vn 0.0000 0.0000 -1.0000
|
||||||
vn 1.0000 0.0000 0.0000
|
vn 1.0000 0.0000 0.0000
|
||||||
|
|||||||
BIN
src/main/java/assets/hbm/textures/blocks/rtg.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
src/main/java/assets/hbm/textures/blocks/rtg_cell.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 3.9 KiB |
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 3.0 KiB |
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.3 KiB |
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
BIN
src/main/java/assets/hbm/textures/models/machines/rtg_cell.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
@ -1114,7 +1114,7 @@ public class ModBlocks {
|
|||||||
|
|
||||||
machine_teleporter = new MachineTeleporter(Material.iron).setBlockName("machine_teleporter").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab);
|
machine_teleporter = new MachineTeleporter(Material.iron).setBlockName("machine_teleporter").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab);
|
||||||
|
|
||||||
machine_rtg_grey = new MachineRTG(Material.iron).setBlockName("machine_rtg_grey").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab);
|
machine_rtg_grey = new MachineRTG(Material.iron).setBlockName("machine_rtg_grey").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rtg");
|
||||||
//machine_rtg_red = new MachineRTG(Material.iron).setBlockName("machine_rtg_red").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab);
|
//machine_rtg_red = new MachineRTG(Material.iron).setBlockName("machine_rtg_red").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab);
|
||||||
//machine_rtg_orange = new MachineRTG(Material.iron).setBlockName("machine_rtg_orange").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab);
|
//machine_rtg_orange = new MachineRTG(Material.iron).setBlockName("machine_rtg_orange").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab);
|
||||||
//machine_rtg_yellow = new MachineRTG(Material.iron).setBlockName("machine_rtg_yellow").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab);
|
//machine_rtg_yellow = new MachineRTG(Material.iron).setBlockName("machine_rtg_yellow").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab);
|
||||||
@ -1124,7 +1124,7 @@ public class ModBlocks {
|
|||||||
//machine_rtg_purple = new MachineRTG(Material.iron).setBlockName("machine_rtg_purple").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab);
|
//machine_rtg_purple = new MachineRTG(Material.iron).setBlockName("machine_rtg_purple").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab);
|
||||||
machine_amgen = new MachineAmgen(Material.iron).setBlockName("machine_amgen").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab);
|
machine_amgen = new MachineAmgen(Material.iron).setBlockName("machine_amgen").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab);
|
||||||
machine_geo = new MachineAmgen(Material.iron).setBlockName("machine_geo").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab);
|
machine_geo = new MachineAmgen(Material.iron).setBlockName("machine_geo").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab);
|
||||||
machine_minirtg = new MachineAmgen(Material.iron).setBlockName("machine_minirtg").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab);
|
machine_minirtg = new MachineMiniRTG(Material.iron).setBlockName("machine_minirtg").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rtg_cell");
|
||||||
|
|
||||||
red_wire_coated = new WireCoated(Material.iron).setBlockName("red_wire_coated").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":red_wire_coated");
|
red_wire_coated = new WireCoated(Material.iron).setBlockName("red_wire_coated").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":red_wire_coated");
|
||||||
red_cable = new BlockCable(Material.iron).setBlockName("red_cable").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":red_cable_icon");
|
red_cable = new BlockCable(Material.iron).setBlockName("red_cable").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":red_cable_icon");
|
||||||
|
|||||||
@ -39,10 +39,6 @@ public class MachineAmgen extends BlockContainer {
|
|||||||
this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":machine_geo_top");
|
this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":machine_geo_top");
|
||||||
this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":machine_geo_side");
|
this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":machine_geo_side");
|
||||||
}
|
}
|
||||||
if(this == ModBlocks.machine_minirtg) {
|
|
||||||
this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":machine_minirtg_top");
|
|
||||||
this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":machine_minirtg_side");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
36
src/main/java/com/hbm/blocks/machine/MachineMiniRTG.java
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
package com.hbm.blocks.machine;
|
||||||
|
|
||||||
|
import com.hbm.tileentity.machine.TileEntityMachineMiniRTG;
|
||||||
|
|
||||||
|
import net.minecraft.block.BlockContainer;
|
||||||
|
import net.minecraft.block.material.Material;
|
||||||
|
import net.minecraft.tileentity.TileEntity;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
|
public class MachineMiniRTG extends BlockContainer {
|
||||||
|
|
||||||
|
public MachineMiniRTG(Material mat) {
|
||||||
|
super(mat);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) {
|
||||||
|
return new TileEntityMachineMiniRTG();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getRenderType() {
|
||||||
|
return 334087;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isOpaqueCube() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean renderAsNormalBlock() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -28,7 +28,7 @@ public class MachineRTG extends BlockContainer {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getRenderType() {
|
public int getRenderType() {
|
||||||
return -1;
|
return 334087;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@ -33,7 +33,7 @@ public class CrystallizerRecipes {
|
|||||||
recipes.put("oreTitanium", new ItemStack(ModItems.crystal_titanium));
|
recipes.put("oreTitanium", new ItemStack(ModItems.crystal_titanium));
|
||||||
recipes.put("oreSulfur", new ItemStack(ModItems.crystal_sulfur));
|
recipes.put("oreSulfur", new ItemStack(ModItems.crystal_sulfur));
|
||||||
recipes.put("oreNiter", new ItemStack(ModItems.crystal_niter));
|
recipes.put("oreNiter", new ItemStack(ModItems.crystal_niter));
|
||||||
recipes.put("oreSalpeter", new ItemStack(ModItems.crystal_niter));
|
recipes.put("oreSaltpeter", new ItemStack(ModItems.crystal_niter));
|
||||||
recipes.put("oreCopper", new ItemStack(ModItems.crystal_copper));
|
recipes.put("oreCopper", new ItemStack(ModItems.crystal_copper));
|
||||||
recipes.put("oreTungsten", new ItemStack(ModItems.crystal_tungsten));
|
recipes.put("oreTungsten", new ItemStack(ModItems.crystal_tungsten));
|
||||||
recipes.put("oreAluminum", new ItemStack(ModItems.crystal_aluminium));
|
recipes.put("oreAluminum", new ItemStack(ModItems.crystal_aluminium));
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
package com.hbm.inventory.container;
|
package com.hbm.inventory.container;
|
||||||
|
|
||||||
import com.hbm.inventory.SlotMachineOutput;
|
import com.hbm.inventory.SlotMachineOutput;
|
||||||
|
import com.hbm.inventory.SlotUpgrade;
|
||||||
import com.hbm.tileentity.machine.TileEntityMachineCrystallizer;
|
import com.hbm.tileentity.machine.TileEntityMachineCrystallizer;
|
||||||
|
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
@ -21,7 +22,9 @@ public class ContainerCrystallizer extends Container {
|
|||||||
this.addSlotToContainer(new Slot(tedf, 1, 8, 53));
|
this.addSlotToContainer(new Slot(tedf, 1, 8, 53));
|
||||||
this.addSlotToContainer(new SlotMachineOutput(tedf, 2, 140, 35));
|
this.addSlotToContainer(new SlotMachineOutput(tedf, 2, 140, 35));
|
||||||
this.addSlotToContainer(new Slot(tedf, 3, 26, 17));
|
this.addSlotToContainer(new Slot(tedf, 3, 26, 17));
|
||||||
this.addSlotToContainer(new SlotMachineOutput(tedf, 4, 25, 53));
|
this.addSlotToContainer(new SlotMachineOutput(tedf, 4, 26, 53));
|
||||||
|
this.addSlotToContainer(new SlotUpgrade(tedf, 5, 98, 17));
|
||||||
|
this.addSlotToContainer(new SlotUpgrade(tedf, 6, 116, 17));
|
||||||
|
|
||||||
for(int i = 0; i < 3; i++)
|
for(int i = 0; i < 3; i++)
|
||||||
{
|
{
|
||||||
@ -57,7 +60,8 @@ public class ContainerCrystallizer extends Container {
|
|||||||
|
|
||||||
if (!this.mergeItemStack(var5, 0, 2, false))
|
if (!this.mergeItemStack(var5, 0, 2, false))
|
||||||
if (!this.mergeItemStack(var5, 3, 4, false))
|
if (!this.mergeItemStack(var5, 3, 4, false))
|
||||||
return null;
|
if (!this.mergeItemStack(var5, 5, 7, false))
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (var5.stackSize == 0)
|
if (var5.stackSize == 0)
|
||||||
|
|||||||
@ -31,6 +31,12 @@ public class GUICrystallizer extends GuiInfoContainer {
|
|||||||
|
|
||||||
this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 8, guiTop + 51 - 34, 16, 34, acidomatic.power, acidomatic.maxPower);
|
this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 8, guiTop + 51 - 34, 16, 34, acidomatic.power, acidomatic.maxPower);
|
||||||
acidomatic.tank.renderTankInfo(this, mouseX, mouseY, guiLeft + 44, guiTop + 17, 16, 52);
|
acidomatic.tank.renderTankInfo(this, mouseX, mouseY, guiLeft + 44, guiTop + 17, 16, 52);
|
||||||
|
|
||||||
|
String[] text = new String[] { "Acceptable upgrades:",
|
||||||
|
" -Speed (stacks to level 3)",
|
||||||
|
" -Effectiveness (stacks to level 3)",
|
||||||
|
" -Overdrive (stacks to level 3)"};
|
||||||
|
this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 87, guiTop + 21, 8, 8, guiLeft + 200, guiTop + 45, text);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -52,6 +58,8 @@ public class GUICrystallizer extends GuiInfoContainer {
|
|||||||
|
|
||||||
int j = acidomatic.getProgressScaled(23);
|
int j = acidomatic.getProgressScaled(23);
|
||||||
drawTexturedModalRect(guiLeft + 104, guiTop + 34, 192, 0, j, 16);
|
drawTexturedModalRect(guiLeft + 104, guiTop + 34, 192, 0, j, 16);
|
||||||
|
|
||||||
|
this.drawInfoPanel(guiLeft + 87, guiTop + 21, 8, 8, 8);
|
||||||
|
|
||||||
Minecraft.getMinecraft().getTextureManager().bindTexture(acidomatic.tank.getSheet());
|
Minecraft.getMinecraft().getTextureManager().bindTexture(acidomatic.tank.getSheet());
|
||||||
acidomatic.tank.renderTank(this, guiLeft + 44, guiTop + 69, acidomatic.tank.getTankType().textureX() * FluidTank.x, acidomatic.tank.getTankType().textureY() * FluidTank.y, 16, 52);
|
acidomatic.tank.renderTank(this, guiLeft + 44, guiTop + 69, acidomatic.tank.getTankType().textureX() * FluidTank.x, acidomatic.tank.getTankType().textureY() * FluidTank.y, 16, 52);
|
||||||
|
|||||||
@ -7,6 +7,7 @@ import com.hbm.inventory.FluidTank;
|
|||||||
import com.hbm.inventory.container.ContainerMachineBoiler;
|
import com.hbm.inventory.container.ContainerMachineBoiler;
|
||||||
import com.hbm.lib.RefStrings;
|
import com.hbm.lib.RefStrings;
|
||||||
import com.hbm.tileentity.machine.TileEntityMachineBoiler;
|
import com.hbm.tileentity.machine.TileEntityMachineBoiler;
|
||||||
|
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
import net.minecraft.client.resources.I18n;
|
import net.minecraft.client.resources.I18n;
|
||||||
import net.minecraft.entity.player.InventoryPlayer;
|
import net.minecraft.entity.player.InventoryPlayer;
|
||||||
@ -72,27 +73,30 @@ public class GUIMachineBoiler extends GuiInfoContainer {
|
|||||||
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
|
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
|
||||||
Minecraft.getMinecraft().getTextureManager().bindTexture(texture);
|
Minecraft.getMinecraft().getTextureManager().bindTexture(texture);
|
||||||
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize);
|
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize);
|
||||||
|
|
||||||
if(diFurnace.burnTime > 0)
|
//"It just works" -Todd Howard
|
||||||
drawTexturedModalRect(guiLeft + 97, guiTop + 34, 176, 0, 18, 18);
|
TileEntityMachineBoiler dud = diFurnace;
|
||||||
|
|
||||||
int j = (int)diFurnace.getHeatScaled(17);
|
|
||||||
drawTexturedModalRect(guiLeft + 103, guiTop + 33 - j, 194, 16 - j, 6, j);
|
|
||||||
|
|
||||||
if(diFurnace.isInvalid() && diFurnace.getWorldObj().getTileEntity(diFurnace.xCoord, diFurnace.yCoord, diFurnace.zCoord) instanceof TileEntityMachineBoiler)
|
if(diFurnace.isInvalid() && diFurnace.getWorldObj().getTileEntity(diFurnace.xCoord, diFurnace.yCoord, diFurnace.zCoord) instanceof TileEntityMachineBoiler)
|
||||||
diFurnace = (TileEntityMachineBoiler) diFurnace.getWorldObj().getTileEntity(diFurnace.xCoord, diFurnace.yCoord, diFurnace.zCoord);
|
dud = (TileEntityMachineBoiler) diFurnace.getWorldObj().getTileEntity(diFurnace.xCoord, diFurnace.yCoord, diFurnace.zCoord);
|
||||||
|
|
||||||
|
if(dud.burnTime > 0)
|
||||||
|
drawTexturedModalRect(guiLeft + 97, guiTop + 34, 176, 0, 18, 18);
|
||||||
|
|
||||||
|
int j = (int)dud.getHeatScaled(17);
|
||||||
|
drawTexturedModalRect(guiLeft + 103, guiTop + 33 - j, 194, 16 - j, 6, j);
|
||||||
|
|
||||||
this.drawInfoPanel(guiLeft - 16, guiTop + 36, 16, 16, 2);
|
this.drawInfoPanel(guiLeft - 16, guiTop + 36, 16, 16, 2);
|
||||||
this.drawInfoPanel(guiLeft - 16, guiTop + 36 + 16, 16, 16, 3);
|
this.drawInfoPanel(guiLeft - 16, guiTop + 36 + 16, 16, 16, 3);
|
||||||
|
|
||||||
if(diFurnace.tanks[1].getTankType().name().equals(FluidType.NONE.name())) {
|
if(dud.tanks[1].getTankType().name().equals(FluidType.NONE.name())) {
|
||||||
this.drawInfoPanel(guiLeft - 16, guiTop + 36 + 32, 16, 16, 6);
|
this.drawInfoPanel(guiLeft - 16, guiTop + 36 + 32, 16, 16, 6);
|
||||||
}
|
}
|
||||||
|
|
||||||
Minecraft.getMinecraft().getTextureManager().bindTexture(diFurnace.tanks[0].getSheet());
|
Minecraft.getMinecraft().getTextureManager().bindTexture(dud.tanks[0].getSheet());
|
||||||
diFurnace.tanks[0].renderTank(this, guiLeft + 62, guiTop + 69, diFurnace.tanks[0].getTankType().textureX() * FluidTank.x, diFurnace.tanks[0].getTankType().textureY() * FluidTank.y, 16, 52);
|
dud.tanks[0].renderTank(this, guiLeft + 62, guiTop + 69, dud.tanks[0].getTankType().textureX() * FluidTank.x, dud.tanks[0].getTankType().textureY() * FluidTank.y, 16, 52);
|
||||||
|
|
||||||
Minecraft.getMinecraft().getTextureManager().bindTexture(diFurnace.tanks[1].getSheet());
|
Minecraft.getMinecraft().getTextureManager().bindTexture(dud.tanks[1].getSheet());
|
||||||
diFurnace.tanks[1].renderTank(this, guiLeft + 134, guiTop + 69, diFurnace.tanks[1].getTankType().textureX() * FluidTank.x, diFurnace.tanks[1].getTankType().textureY() * FluidTank.y, 16, 52);
|
dud.tanks[1].renderTank(this, guiLeft + 134, guiTop + 69, dud.tanks[1].getTankType().textureX() * FluidTank.x, dud.tanks[1].getTankType().textureY() * FluidTank.y, 16, 52);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -74,30 +74,33 @@ public class GUIMachineBoilerElectric extends GuiInfoContainer {
|
|||||||
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
|
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
|
||||||
Minecraft.getMinecraft().getTextureManager().bindTexture(texture);
|
Minecraft.getMinecraft().getTextureManager().bindTexture(texture);
|
||||||
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize);
|
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize);
|
||||||
|
|
||||||
if(diFurnace.power > 0)
|
//<insert witty line here>
|
||||||
drawTexturedModalRect(guiLeft + 97, guiTop + 34, 176, 0, 18, 18);
|
TileEntityMachineBoilerElectric dud = diFurnace;
|
||||||
|
|
||||||
int j = (int)diFurnace.getHeatScaled(17);
|
|
||||||
drawTexturedModalRect(guiLeft + 103, guiTop + 33 - j, 194, 16 - j, 6, j);
|
|
||||||
|
|
||||||
int i = (int)diFurnace.getPowerScaled(34);
|
|
||||||
drawTexturedModalRect(guiLeft + 123, guiTop + 69 - i, 200, 34 - i, 7, i);
|
|
||||||
|
|
||||||
if(diFurnace.isInvalid() && diFurnace.getWorldObj().getTileEntity(diFurnace.xCoord, diFurnace.yCoord, diFurnace.zCoord) instanceof TileEntityMachineBoilerElectric)
|
if(diFurnace.isInvalid() && diFurnace.getWorldObj().getTileEntity(diFurnace.xCoord, diFurnace.yCoord, diFurnace.zCoord) instanceof TileEntityMachineBoilerElectric)
|
||||||
diFurnace = (TileEntityMachineBoilerElectric) diFurnace.getWorldObj().getTileEntity(diFurnace.xCoord, diFurnace.yCoord, diFurnace.zCoord);
|
dud = (TileEntityMachineBoilerElectric) diFurnace.getWorldObj().getTileEntity(diFurnace.xCoord, diFurnace.yCoord, diFurnace.zCoord);
|
||||||
|
|
||||||
|
if(dud.power > 0)
|
||||||
|
drawTexturedModalRect(guiLeft + 97, guiTop + 34, 176, 0, 18, 18);
|
||||||
|
|
||||||
|
int j = (int)dud.getHeatScaled(17);
|
||||||
|
drawTexturedModalRect(guiLeft + 103, guiTop + 33 - j, 194, 16 - j, 6, j);
|
||||||
|
|
||||||
|
int i = (int)dud.getPowerScaled(34);
|
||||||
|
drawTexturedModalRect(guiLeft + 123, guiTop + 69 - i, 200, 34 - i, 7, i);
|
||||||
|
|
||||||
this.drawInfoPanel(guiLeft - 16, guiTop + 36, 16, 16, 2);
|
this.drawInfoPanel(guiLeft - 16, guiTop + 36, 16, 16, 2);
|
||||||
this.drawInfoPanel(guiLeft - 16, guiTop + 36 + 16, 16, 16, 3);
|
this.drawInfoPanel(guiLeft - 16, guiTop + 36 + 16, 16, 16, 3);
|
||||||
|
|
||||||
if(diFurnace.tanks[1].getTankType().name().equals(FluidType.NONE.name())) {
|
if(dud.tanks[1].getTankType().name().equals(FluidType.NONE.name())) {
|
||||||
this.drawInfoPanel(guiLeft - 16, guiTop + 36 + 32, 16, 16, 6);
|
this.drawInfoPanel(guiLeft - 16, guiTop + 36 + 32, 16, 16, 6);
|
||||||
}
|
}
|
||||||
|
|
||||||
Minecraft.getMinecraft().getTextureManager().bindTexture(diFurnace.tanks[0].getSheet());
|
Minecraft.getMinecraft().getTextureManager().bindTexture(dud.tanks[0].getSheet());
|
||||||
diFurnace.tanks[0].renderTank(this, guiLeft + 62, guiTop + 69, diFurnace.tanks[0].getTankType().textureX() * FluidTank.x, diFurnace.tanks[0].getTankType().textureY() * FluidTank.y, 16, 52);
|
dud.tanks[0].renderTank(this, guiLeft + 62, guiTop + 69, dud.tanks[0].getTankType().textureX() * FluidTank.x, dud.tanks[0].getTankType().textureY() * FluidTank.y, 16, 52);
|
||||||
|
|
||||||
Minecraft.getMinecraft().getTextureManager().bindTexture(diFurnace.tanks[1].getSheet());
|
Minecraft.getMinecraft().getTextureManager().bindTexture(dud.tanks[1].getSheet());
|
||||||
diFurnace.tanks[1].renderTank(this, guiLeft + 134, guiTop + 69, diFurnace.tanks[1].getTankType().textureX() * FluidTank.x, diFurnace.tanks[1].getTankType().textureY() * FluidTank.y, 16, 52);
|
dud.tanks[1].renderTank(this, guiLeft + 134, guiTop + 69, dud.tanks[1].getTankType().textureX() * FluidTank.x, dud.tanks[1].getTankType().textureY() * FluidTank.y, 16, 52);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -70,26 +70,29 @@ public class GUIMachineCoal extends GuiInfoContainer {
|
|||||||
Minecraft.getMinecraft().getTextureManager().bindTexture(texture);
|
Minecraft.getMinecraft().getTextureManager().bindTexture(texture);
|
||||||
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize);
|
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize);
|
||||||
|
|
||||||
if(diFurnace.isInvalid() && diFurnace.getWorldObj().getTileEntity(diFurnace.xCoord, diFurnace.yCoord, diFurnace.zCoord) instanceof TileEntityMachineCoal)
|
//It's as horrifying as it is functional.
|
||||||
diFurnace = (TileEntityMachineCoal) diFurnace.getWorldObj().getTileEntity(diFurnace.xCoord, diFurnace.yCoord, diFurnace.zCoord);
|
TileEntityMachineCoal dud = diFurnace;
|
||||||
|
|
||||||
if(diFurnace.power > 0) {
|
if(diFurnace.isInvalid() && diFurnace.getWorldObj().getTileEntity(diFurnace.xCoord, diFurnace.yCoord, diFurnace.zCoord) instanceof TileEntityMachineCoal)
|
||||||
int i = (int)diFurnace.getPowerScaled(52);
|
dud = (TileEntityMachineCoal) diFurnace.getWorldObj().getTileEntity(diFurnace.xCoord, diFurnace.yCoord, diFurnace.zCoord);
|
||||||
|
|
||||||
|
if(dud.power > 0) {
|
||||||
|
int i = (int)dud.getPowerScaled(52);
|
||||||
drawTexturedModalRect(guiLeft + 152, guiTop + 69 - i, 176, 52 - i, 16, i);
|
drawTexturedModalRect(guiLeft + 152, guiTop + 69 - i, 176, 52 - i, 16, i);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(diFurnace.burnTime > 0)
|
if(dud.burnTime > 0)
|
||||||
{
|
{
|
||||||
drawTexturedModalRect(guiLeft + 79, guiTop + 34, 208, 0, 18, 18);
|
drawTexturedModalRect(guiLeft + 79, guiTop + 34, 208, 0, 18, 18);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(diFurnace.tank.getFill() <= 0)
|
if(dud.tank.getFill() <= 0)
|
||||||
this.drawInfoPanel(guiLeft - 16, guiTop + 36 + 32, 16, 16, 6);
|
this.drawInfoPanel(guiLeft - 16, guiTop + 36 + 32, 16, 16, 6);
|
||||||
|
|
||||||
this.drawInfoPanel(guiLeft - 16, guiTop + 36, 16, 16, 2);
|
this.drawInfoPanel(guiLeft - 16, guiTop + 36, 16, 16, 2);
|
||||||
this.drawInfoPanel(guiLeft - 16, guiTop + 36 + 16, 16, 16, 3);
|
this.drawInfoPanel(guiLeft - 16, guiTop + 36 + 16, 16, 16, 3);
|
||||||
|
|
||||||
Minecraft.getMinecraft().getTextureManager().bindTexture(diFurnace.tank.getSheet());
|
Minecraft.getMinecraft().getTextureManager().bindTexture(dud.tank.getSheet());
|
||||||
diFurnace.tank.renderTank(this, guiLeft + 8, guiTop + 69, diFurnace.tank.getTankType().textureX() * FluidTank.x, diFurnace.tank.getTankType().textureY() * FluidTank.y, 16, 52);
|
dud.tank.renderTank(this, guiLeft + 8, guiTop + 69, dud.tank.getTankType().textureX() * FluidTank.x, dud.tank.getTankType().textureY() * FluidTank.y, 16, 52);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -49,13 +49,25 @@ public class GUIMachineReactor extends GuiInfoContainer {
|
|||||||
Minecraft.getMinecraft().getTextureManager().bindTexture(texture);
|
Minecraft.getMinecraft().getTextureManager().bindTexture(texture);
|
||||||
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize);
|
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize);
|
||||||
|
|
||||||
if(breeder.hasPower())
|
/*
|
||||||
|
* A dud is a tile entity which did not survive a block state change (i.e. a furnace becoming lit) on the client.
|
||||||
|
* Usually, most functionality is preserved since vanilla interacts with the open GUI screen rather than the TE
|
||||||
|
* itself, though this does not apply to NTM packets. The client will think the TE bound to the GUI is invalid,
|
||||||
|
* and therefore miss out on NTM status packets, but it will still require the old TE for slot changes. The refreshed
|
||||||
|
* "dud" is only used for status bars, it will not replace the actual invalid TE instance in the GUI screen.
|
||||||
|
*/
|
||||||
|
TileEntityMachineReactor dud = breeder;
|
||||||
|
|
||||||
|
if(breeder.isInvalid() && breeder.getWorldObj().getTileEntity(breeder.xCoord, breeder.yCoord, breeder.zCoord) instanceof TileEntityMachineReactor)
|
||||||
|
dud = (TileEntityMachineReactor) breeder.getWorldObj().getTileEntity(breeder.xCoord, breeder.yCoord, breeder.zCoord);
|
||||||
|
|
||||||
|
if(dud.hasPower())
|
||||||
drawTexturedModalRect(guiLeft + 55, guiTop + 35, 176, 0, 18, 16);
|
drawTexturedModalRect(guiLeft + 55, guiTop + 35, 176, 0, 18, 16);
|
||||||
|
|
||||||
int i = breeder.getProgressScaled(23);
|
int i = dud.getProgressScaled(23);
|
||||||
drawTexturedModalRect(guiLeft + 80, guiTop + 34, 176, 16, i, 16);
|
drawTexturedModalRect(guiLeft + 80, guiTop + 34, 176, 16, i, 16);
|
||||||
|
|
||||||
int j = breeder.getHeatScaled(16);
|
int j = dud.getHeatScaled(16);
|
||||||
drawTexturedModalRect(guiLeft + 48, guiTop + 51 - j, 194, 16 - j, 4, j);
|
drawTexturedModalRect(guiLeft + 48, guiTop + 51 - j, 194, 16 - j, 4, j);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -659,6 +659,34 @@ public class ItemAssemblyTemplate extends Item {
|
|||||||
new ItemStack(ModItems.circuit_targeting_tier4, 1)),
|
new ItemStack(ModItems.circuit_targeting_tier4, 1)),
|
||||||
new ItemStack(ModItems.mp_warhead_15_n2)),
|
new ItemStack(ModItems.mp_warhead_15_n2)),
|
||||||
|
|
||||||
|
SOYUZ(2000, Arrays.asList(
|
||||||
|
new ItemStack(ModItems.rocket_fuel, 40),
|
||||||
|
new ItemStack(ModBlocks.det_cord, 20),
|
||||||
|
new ItemStack(ModItems.thruster_medium, 12),
|
||||||
|
new ItemStack(ModItems.thruster_small, 12),
|
||||||
|
new ItemStack(ModItems.tank_steel, 10),
|
||||||
|
new ItemStack(ModItems.circuit_targeting_tier4, 4),
|
||||||
|
new ItemStack(ModItems.circuit_targeting_tier3, 8),
|
||||||
|
new ItemStack(ModItems.plate_polymer, 64),
|
||||||
|
new ItemStack(ModItems.fins_small_steel, 4),
|
||||||
|
new ItemStack(ModItems.hull_big_titanium, 40),
|
||||||
|
new ItemStack(ModItems.hull_big_steel, 24),
|
||||||
|
new ItemStack(ModItems.ingot_fiberglass, 64)),
|
||||||
|
|
||||||
|
new ItemStack(ModItems.missile_soyuz)),
|
||||||
|
|
||||||
|
LANDER(1000, Arrays.asList(
|
||||||
|
new ItemStack(ModItems.rocket_fuel, 10),
|
||||||
|
new ItemStack(ModItems.thruster_small, 3),
|
||||||
|
new ItemStack(ModItems.tank_steel, 2),
|
||||||
|
new ItemStack(ModItems.circuit_targeting_tier3, 4),
|
||||||
|
new ItemStack(ModItems.plate_polymer, 32),
|
||||||
|
new ItemStack(ModItems.hull_big_aluminium, 2),
|
||||||
|
new ItemStack(ModItems.sphere_steel, 1),
|
||||||
|
new ItemStack(ModItems.ingot_fiberglass, 12)),
|
||||||
|
|
||||||
|
new ItemStack(ModItems.missile_soyuz_lander)),
|
||||||
|
|
||||||
GERALD(1200, Arrays.asList(
|
GERALD(1200, Arrays.asList(
|
||||||
new ItemStack(ModItems.cap_star, 1),
|
new ItemStack(ModItems.cap_star, 1),
|
||||||
new ItemStack(ModItems.chlorine_pinwheel, 1),
|
new ItemStack(ModItems.chlorine_pinwheel, 1),
|
||||||
|
|||||||
@ -23,6 +23,9 @@ public class ItemMachineUpgrade extends Item {
|
|||||||
list.add("");
|
list.add("");
|
||||||
list.add("Chemical Plant:");
|
list.add("Chemical Plant:");
|
||||||
list.add("Delay -25 / Consumption +300");
|
list.add("Delay -25 / Consumption +300");
|
||||||
|
list.add("");
|
||||||
|
list.add("Crystallizer");
|
||||||
|
list.add("Delay -10% / Consumption +1000");
|
||||||
}
|
}
|
||||||
|
|
||||||
if(this == ModItems.upgrade_speed_2)
|
if(this == ModItems.upgrade_speed_2)
|
||||||
@ -35,6 +38,9 @@ public class ItemMachineUpgrade extends Item {
|
|||||||
list.add("");
|
list.add("");
|
||||||
list.add("Chemical Plant:");
|
list.add("Chemical Plant:");
|
||||||
list.add("Delay -50 / Consumption +600");
|
list.add("Delay -50 / Consumption +600");
|
||||||
|
list.add("");
|
||||||
|
list.add("Crystallizer");
|
||||||
|
list.add("Delay -20% / Consumption +2000");
|
||||||
}
|
}
|
||||||
|
|
||||||
if(this == ModItems.upgrade_speed_3)
|
if(this == ModItems.upgrade_speed_3)
|
||||||
@ -47,24 +53,36 @@ public class ItemMachineUpgrade extends Item {
|
|||||||
list.add("");
|
list.add("");
|
||||||
list.add("Chemical Plant:");
|
list.add("Chemical Plant:");
|
||||||
list.add("Delay -75 / Consumption +900");
|
list.add("Delay -75 / Consumption +900");
|
||||||
|
list.add("");
|
||||||
|
list.add("Crystallizer");
|
||||||
|
list.add("Speed Delay -30% / Consumption +3000");
|
||||||
}
|
}
|
||||||
|
|
||||||
if(this == ModItems.upgrade_effect_1)
|
if(this == ModItems.upgrade_effect_1)
|
||||||
{
|
{
|
||||||
list.add("Mining Drill:");
|
list.add("Mining Drill:");
|
||||||
list.add("Radius +1 / Consumption +80");
|
list.add("Radius +1 / Consumption +80");
|
||||||
|
list.add("");
|
||||||
|
list.add("Crystallizer");
|
||||||
|
list.add("+5% chance of not consuming an item / Acid consumption +1000mB");
|
||||||
}
|
}
|
||||||
|
|
||||||
if(this == ModItems.upgrade_effect_2)
|
if(this == ModItems.upgrade_effect_2)
|
||||||
{
|
{
|
||||||
list.add("Mining Drill:");
|
list.add("Mining Drill:");
|
||||||
list.add("Radius +2 / Consumption +160");
|
list.add("Radius +2 / Consumption +160");
|
||||||
|
list.add("");
|
||||||
|
list.add("Crystallizer");
|
||||||
|
list.add("+10% chance of not consuming an item / Acid consumption +2000mB");
|
||||||
}
|
}
|
||||||
|
|
||||||
if(this == ModItems.upgrade_effect_3)
|
if(this == ModItems.upgrade_effect_3)
|
||||||
{
|
{
|
||||||
list.add("Mining Drill:");
|
list.add("Mining Drill:");
|
||||||
list.add("Radius +3 / Consumption +240");
|
list.add("Radius +3 / Consumption +240");
|
||||||
|
list.add("");
|
||||||
|
list.add("Crystallizer");
|
||||||
|
list.add("+15% chance of not consuming an item / Acid consumption +3000mB");
|
||||||
}
|
}
|
||||||
|
|
||||||
if(this == ModItems.upgrade_power_1)
|
if(this == ModItems.upgrade_power_1)
|
||||||
|
|||||||
@ -3,7 +3,7 @@ package com.hbm.lib;
|
|||||||
public class RefStrings {
|
public class RefStrings {
|
||||||
public static final String MODID = "hbm";
|
public static final String MODID = "hbm";
|
||||||
public static final String NAME = "Hbm's Nuclear Tech Mod";
|
public static final String NAME = "Hbm's Nuclear Tech Mod";
|
||||||
public static final String VERSION = "1.0.27 BETA (3565)";
|
public static final String VERSION = "1.0.27 BETA (3586)";
|
||||||
//HBM's Beta Naming Convention:
|
//HBM's Beta Naming Convention:
|
||||||
//V T (X)
|
//V T (X)
|
||||||
//V -> next release version
|
//V -> next release version
|
||||||
|
|||||||
@ -138,6 +138,7 @@ public class ClientProxy extends ServerProxy {
|
|||||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineCrystallizer.class, new RenderCrystallizer());
|
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineCrystallizer.class, new RenderCrystallizer());
|
||||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMicrowave.class, new RenderMicrowave());
|
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMicrowave.class, new RenderMicrowave());
|
||||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineRTG.class, new RenderRTG());
|
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineRTG.class, new RenderRTG());
|
||||||
|
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineMiniRTG.class, new RenderRTG());
|
||||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityFF.class, new RenderForceField());
|
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityFF.class, new RenderForceField());
|
||||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityForceField.class, new RenderMachineForceField());
|
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityForceField.class, new RenderMachineForceField());
|
||||||
//AMS
|
//AMS
|
||||||
@ -454,6 +455,7 @@ public class ClientProxy extends ServerProxy {
|
|||||||
RenderingRegistry.registerBlockHandler(new RenderAntennaTop());
|
RenderingRegistry.registerBlockHandler(new RenderAntennaTop());
|
||||||
RenderingRegistry.registerBlockHandler(new RenderConserve());
|
RenderingRegistry.registerBlockHandler(new RenderConserve());
|
||||||
RenderingRegistry.registerBlockHandler(new RenderConveyor());
|
RenderingRegistry.registerBlockHandler(new RenderConveyor());
|
||||||
|
RenderingRegistry.registerBlockHandler(new RenderRTGBlock());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@ -572,6 +572,7 @@ public class MainRegistry
|
|||||||
GameRegistry.registerTileEntity(TileEntityNukeBalefire.class, "tileentity_nuke_fstbmb");
|
GameRegistry.registerTileEntity(TileEntityNukeBalefire.class, "tileentity_nuke_fstbmb");
|
||||||
GameRegistry.registerTileEntity(TileEntityProxyCombo.class, "tileentity_proxy_combo");
|
GameRegistry.registerTileEntity(TileEntityProxyCombo.class, "tileentity_proxy_combo");
|
||||||
GameRegistry.registerTileEntity(TileEntityMicrowave.class, "tileentity_microwave");
|
GameRegistry.registerTileEntity(TileEntityMicrowave.class, "tileentity_microwave");
|
||||||
|
GameRegistry.registerTileEntity(TileEntityMachineMiniRTG.class, "tileentity_mini_rtg");
|
||||||
|
|
||||||
EntityRegistry.registerModEntity(EntityRocket.class, "entity_rocket", 0, this, 250, 1, true);
|
EntityRegistry.registerModEntity(EntityRocket.class, "entity_rocket", 0, this, 250, 1, true);
|
||||||
EntityRegistry.registerModEntity(EntityNukeExplosion.class, "entity_nuke_explosion", 1, this, 250, 1, true);
|
EntityRegistry.registerModEntity(EntityNukeExplosion.class, "entity_nuke_explosion", 1, this, 250, 1, true);
|
||||||
|
|||||||
@ -31,6 +31,8 @@ import com.hbm.sound.MovingSoundPlayerLoop.EnumHbmSound;
|
|||||||
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
|
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
import net.minecraft.client.entity.AbstractClientPlayer;
|
import net.minecraft.client.entity.AbstractClientPlayer;
|
||||||
|
import net.minecraft.client.gui.FontRenderer;
|
||||||
|
import net.minecraft.client.gui.ScaledResolution;
|
||||||
import net.minecraft.client.multiplayer.WorldClient;
|
import net.minecraft.client.multiplayer.WorldClient;
|
||||||
import net.minecraft.client.renderer.entity.RenderPlayer;
|
import net.minecraft.client.renderer.entity.RenderPlayer;
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
@ -122,6 +124,26 @@ public class ModEventHandlerClient {
|
|||||||
if(time > animation.animation.getDuration())
|
if(time > animation.animation.getDuration())
|
||||||
HbmAnimations.hotbar[i] = null;
|
HbmAnimations.hotbar[i] = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(event.type == ElementType.CROSSHAIRS && player.ticksExisted < 200) {
|
||||||
|
|
||||||
|
FontRenderer font = Minecraft.getMinecraft().fontRenderer;
|
||||||
|
|
||||||
|
ScaledResolution resolution = event.resolution;
|
||||||
|
int pX = resolution.getScaledWidth() / 2;
|
||||||
|
int pZ = resolution.getScaledHeight() / 2;
|
||||||
|
|
||||||
|
String msg = "PLEASE";
|
||||||
|
font.drawStringWithShadow(msg, pX - font.getStringWidth(msg) / 2, pZ - 40, 0xffffff);
|
||||||
|
msg = "THIS IS A DEVELOPMENT VERSION";
|
||||||
|
if(player.ticksExisted > 30) font.drawStringWithShadow(msg, pX - font.getStringWidth(msg) / 2, pZ - 20, 0xffffff);
|
||||||
|
msg = "OBVIOUSLY SOME THINGS AREN'T GOING TO WORK";
|
||||||
|
if(player.ticksExisted > 60) font.drawStringWithShadow(msg, pX - font.getStringWidth(msg) / 2, pZ, 0xffffff);
|
||||||
|
msg = "PLEASE AT LEAST TRY TO REMEMBER THAT";
|
||||||
|
if(player.ticksExisted > 90) font.drawStringWithShadow(msg, pX - font.getStringWidth(msg) / 2, pZ + 20, 0xffffff);
|
||||||
|
msg = "FOR THE LOVE OF GOD";
|
||||||
|
if(player.ticksExisted > 120) font.drawStringWithShadow(msg, pX - font.getStringWidth(msg) / 2, pZ + 40, 0xb00000);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
|
|||||||
@ -249,6 +249,7 @@ public class ResourceManager {
|
|||||||
|
|
||||||
//RTG
|
//RTG
|
||||||
public static final ResourceLocation rtg_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/rtg.png");
|
public static final ResourceLocation rtg_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/rtg.png");
|
||||||
|
public static final ResourceLocation rtg_cell_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/rtg_cell.png");
|
||||||
|
|
||||||
//Anti Mass Spectrometer
|
//Anti Mass Spectrometer
|
||||||
public static final ResourceLocation ams_base_tex = new ResourceLocation(RefStrings.MODID, "textures/models/ams_base.png");
|
public static final ResourceLocation ams_base_tex = new ResourceLocation(RefStrings.MODID, "textures/models/ams_base.png");
|
||||||
|
|||||||
53
src/main/java/com/hbm/render/block/RenderRTGBlock.java
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
package com.hbm.render.block;
|
||||||
|
|
||||||
|
import org.lwjgl.opengl.GL11;
|
||||||
|
|
||||||
|
import com.hbm.main.ResourceManager;
|
||||||
|
import com.hbm.render.util.ObjUtil;
|
||||||
|
|
||||||
|
import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
|
||||||
|
import net.minecraft.block.Block;
|
||||||
|
import net.minecraft.client.renderer.RenderBlocks;
|
||||||
|
import net.minecraft.client.renderer.Tessellator;
|
||||||
|
import net.minecraft.util.IIcon;
|
||||||
|
import net.minecraft.world.IBlockAccess;
|
||||||
|
import net.minecraftforge.client.model.obj.WavefrontObject;
|
||||||
|
|
||||||
|
public class RenderRTGBlock implements ISimpleBlockRenderingHandler {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer) {
|
||||||
|
|
||||||
|
GL11.glPushMatrix();
|
||||||
|
Tessellator tessellator = Tessellator.instance;
|
||||||
|
IIcon iicon = block.getIcon(0, 0);
|
||||||
|
tessellator.setColorOpaque_F(1, 1, 1);
|
||||||
|
|
||||||
|
if (renderer.hasOverrideBlockTexture())
|
||||||
|
{
|
||||||
|
iicon = renderer.overrideBlockTexture;
|
||||||
|
}
|
||||||
|
|
||||||
|
GL11.glTranslated(0, -0.5, 0);
|
||||||
|
tessellator.startDrawingQuads();
|
||||||
|
ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.rtg, "Gen", iicon, tessellator, 0, false);
|
||||||
|
tessellator.draw();
|
||||||
|
|
||||||
|
GL11.glPopMatrix();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean shouldRender3DInInventory(int modelId) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getRenderId() {
|
||||||
|
return 334087;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -2,6 +2,7 @@ package com.hbm.render.tileentity;
|
|||||||
|
|
||||||
import org.lwjgl.opengl.GL11;
|
import org.lwjgl.opengl.GL11;
|
||||||
|
|
||||||
|
import com.hbm.blocks.ModBlocks;
|
||||||
import com.hbm.lib.Library;
|
import com.hbm.lib.Library;
|
||||||
import com.hbm.main.ResourceManager;
|
import com.hbm.main.ResourceManager;
|
||||||
|
|
||||||
@ -18,8 +19,12 @@ public class RenderRTG extends TileEntitySpecialRenderer {
|
|||||||
GL11.glEnable(GL11.GL_LIGHTING);
|
GL11.glEnable(GL11.GL_LIGHTING);
|
||||||
GL11.glDisable(GL11.GL_CULL_FACE);
|
GL11.glDisable(GL11.GL_CULL_FACE);
|
||||||
GL11.glRotatef(180, 0F, 1F, 0F);
|
GL11.glRotatef(180, 0F, 1F, 0F);
|
||||||
|
|
||||||
bindTexture(ResourceManager.rtg_tex);
|
if(te.getBlockType() == ModBlocks.machine_rtg_grey)
|
||||||
|
bindTexture(ResourceManager.rtg_tex);
|
||||||
|
else
|
||||||
|
bindTexture(ResourceManager.rtg_cell_tex);
|
||||||
|
|
||||||
ResourceManager.rtg.renderPart("Gen");
|
ResourceManager.rtg.renderPart("Gen");
|
||||||
|
|
||||||
int ix = te.xCoord;
|
int ix = te.xCoord;
|
||||||
|
|||||||
@ -50,4 +50,52 @@ public class ObjUtil {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void renderPartWithIcon(WavefrontObject model, String name, IIcon icon, Tessellator tes, float rot, boolean shadow) {
|
||||||
|
|
||||||
|
GroupObject go = null;
|
||||||
|
|
||||||
|
for(GroupObject obj : model.groupObjects) {
|
||||||
|
if(obj.name.equals(name))
|
||||||
|
go = obj;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(go == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
for(Face f : go.faces) {
|
||||||
|
|
||||||
|
Vertex n = f.faceNormal;
|
||||||
|
tes.setNormal(n.x, n.y, n.z);
|
||||||
|
|
||||||
|
if(shadow) {
|
||||||
|
float brightness = (n.y + 1) * 0.65F;
|
||||||
|
|
||||||
|
if(brightness < 0.45F)
|
||||||
|
brightness = 0.45F;
|
||||||
|
|
||||||
|
tes.setColorOpaque_F(brightness, brightness, brightness);
|
||||||
|
}
|
||||||
|
|
||||||
|
for(int i = 0; i < f.vertices.length; i++) {
|
||||||
|
|
||||||
|
Vertex v = f.vertices[i];
|
||||||
|
|
||||||
|
Vec3 vec = Vec3.createVectorHelper(v.x, v.y, v.z);
|
||||||
|
vec.rotateAroundY(rot);
|
||||||
|
|
||||||
|
float x = (float) vec.xCoord;
|
||||||
|
float y = (float) vec.yCoord;
|
||||||
|
float z = (float) vec.zCoord;
|
||||||
|
|
||||||
|
TextureCoordinate t = f.textureCoordinates[i];
|
||||||
|
tes.addVertexWithUV(x, y, z, icon.getInterpolatedU(t.u * 16), icon.getInterpolatedV(t.v * 16));
|
||||||
|
|
||||||
|
// The shoddy way of rendering a tringulated model with a quad
|
||||||
|
// tessellator
|
||||||
|
if(i % 3 == 2)
|
||||||
|
tes.addVertexWithUV(x, y, z, icon.getInterpolatedU(t.u * 16), icon.getInterpolatedV(t.v * 16));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -37,10 +37,6 @@ public class TileEntityMachineAmgen extends TileEntity implements ISource {
|
|||||||
|
|
||||||
data.decrementRad(worldObj, xCoord, zCoord, 5F);
|
data.decrementRad(worldObj, xCoord, zCoord, 5F);
|
||||||
|
|
||||||
} else if(block == ModBlocks.machine_minirtg) {
|
|
||||||
|
|
||||||
power += 25;
|
|
||||||
|
|
||||||
} else if(block == ModBlocks.machine_geo) {
|
} else if(block == ModBlocks.machine_geo) {
|
||||||
|
|
||||||
Block b = worldObj.getBlock(xCoord, yCoord - 1, zCoord);
|
Block b = worldObj.getBlock(xCoord, yCoord - 1, zCoord);
|
||||||
|
|||||||
@ -258,7 +258,7 @@ public class TileEntityMachineBoiler extends TileEntity implements ISidedInvento
|
|||||||
mark = true;
|
mark = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(burnTime > 0 && worldObj.getBlock(xCoord, yCoord, zCoord) == ModBlocks.machine_boiler_on)
|
if(burnTime <= 0 && worldObj.getBlock(xCoord, yCoord, zCoord) == ModBlocks.machine_boiler_on)
|
||||||
MachineBoiler.updateBlockState(false, worldObj, xCoord, yCoord, zCoord);
|
MachineBoiler.updateBlockState(false, worldObj, xCoord, yCoord, zCoord);
|
||||||
|
|
||||||
if(heat > maxHeat)
|
if(heat > maxHeat)
|
||||||
|
|||||||
@ -8,6 +8,8 @@ import com.hbm.interfaces.IConsumer;
|
|||||||
import com.hbm.interfaces.IFluidAcceptor;
|
import com.hbm.interfaces.IFluidAcceptor;
|
||||||
import com.hbm.inventory.CrystallizerRecipes;
|
import com.hbm.inventory.CrystallizerRecipes;
|
||||||
import com.hbm.inventory.FluidTank;
|
import com.hbm.inventory.FluidTank;
|
||||||
|
import com.hbm.items.ModItems;
|
||||||
|
import com.hbm.items.machine.ItemMachineUpgrade;
|
||||||
import com.hbm.lib.Library;
|
import com.hbm.lib.Library;
|
||||||
import com.hbm.tileentity.TileEntityMachineBase;
|
import com.hbm.tileentity.TileEntityMachineBase;
|
||||||
|
|
||||||
@ -22,7 +24,7 @@ import net.minecraft.util.AxisAlignedBB;
|
|||||||
public class TileEntityMachineCrystallizer extends TileEntityMachineBase implements IConsumer, IFluidAcceptor {
|
public class TileEntityMachineCrystallizer extends TileEntityMachineBase implements IConsumer, IFluidAcceptor {
|
||||||
|
|
||||||
public long power;
|
public long power;
|
||||||
public static final long maxPower = 100000;
|
public static final long maxPower = 1000000;
|
||||||
public static final int demand = 1000;
|
public static final int demand = 1000;
|
||||||
public static final int acidRequired = 500;
|
public static final int acidRequired = 500;
|
||||||
public short progress;
|
public short progress;
|
||||||
@ -34,7 +36,7 @@ public class TileEntityMachineCrystallizer extends TileEntityMachineBase impleme
|
|||||||
public FluidTank tank;
|
public FluidTank tank;
|
||||||
|
|
||||||
public TileEntityMachineCrystallizer() {
|
public TileEntityMachineCrystallizer() {
|
||||||
super(5);
|
super(7);
|
||||||
tank = new FluidTank(FluidType.ACID, 8000, 0);
|
tank = new FluidTank(FluidType.ACID, 8000, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -51,21 +53,24 @@ public class TileEntityMachineCrystallizer extends TileEntityMachineBase impleme
|
|||||||
power = Library.chargeTEFromItems(slots, 1, power, maxPower);
|
power = Library.chargeTEFromItems(slots, 1, power, maxPower);
|
||||||
tank.loadTank(3, 4, slots);
|
tank.loadTank(3, 4, slots);
|
||||||
|
|
||||||
if(canProcess()) {
|
for(int i = 0; i < getCycleCount(); i++) {
|
||||||
|
|
||||||
progress++;
|
if(canProcess()) {
|
||||||
power -= demand;
|
|
||||||
|
|
||||||
if(progress > duration) {
|
|
||||||
progress = 0;
|
|
||||||
tank.setFill(tank.getFill() - acidRequired);
|
|
||||||
processItem();
|
|
||||||
|
|
||||||
this.markDirty();
|
progress++;
|
||||||
|
power -= getPowerRequired();
|
||||||
|
|
||||||
|
if(progress > getDuration()) {
|
||||||
|
progress = 0;
|
||||||
|
tank.setFill(tank.getFill() - getRequiredAcid());
|
||||||
|
processItem();
|
||||||
|
|
||||||
|
this.markDirty();
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
progress = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
|
||||||
progress = 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
tank.updateTank(xCoord, yCoord, zCoord, this.worldObj.provider.dimensionId);
|
tank.updateTank(xCoord, yCoord, zCoord, this.worldObj.provider.dimensionId);
|
||||||
@ -79,7 +84,7 @@ public class TileEntityMachineCrystallizer extends TileEntityMachineBase impleme
|
|||||||
prevAngle = angle;
|
prevAngle = angle;
|
||||||
|
|
||||||
if(progress > 0) {
|
if(progress > 0) {
|
||||||
angle += 5F;
|
angle += 5F * this.getCycleCount();
|
||||||
|
|
||||||
if(angle >= 360) {
|
if(angle >= 360) {
|
||||||
angle -= 360;
|
angle -= 360;
|
||||||
@ -107,7 +112,10 @@ public class TileEntityMachineCrystallizer extends TileEntityMachineBase impleme
|
|||||||
else if(slots[2].stackSize < slots[2].getMaxStackSize())
|
else if(slots[2].stackSize < slots[2].getMaxStackSize())
|
||||||
slots[2].stackSize++;
|
slots[2].stackSize++;
|
||||||
|
|
||||||
this.decrStackSize(0, 1);
|
float freeChance = this.getFreeChance();
|
||||||
|
|
||||||
|
if(freeChance == 0 || freeChance < worldObj.rand.nextFloat())
|
||||||
|
this.decrStackSize(0, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean canProcess() {
|
private boolean canProcess() {
|
||||||
@ -116,10 +124,10 @@ public class TileEntityMachineCrystallizer extends TileEntityMachineBase impleme
|
|||||||
if(slots[0] == null)
|
if(slots[0] == null)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if(power < demand)
|
if(power < getPowerRequired())
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if(tank.getFill() < acidRequired)
|
if(tank.getFill() < getRequiredAcid())
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
ItemStack result = CrystallizerRecipes.getOutput(slots[0]);
|
ItemStack result = CrystallizerRecipes.getOutput(slots[0]);
|
||||||
@ -139,6 +147,91 @@ public class TileEntityMachineCrystallizer extends TileEntityMachineBase impleme
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getRequiredAcid() {
|
||||||
|
|
||||||
|
int extra = 0;
|
||||||
|
|
||||||
|
for(int i = 5; i <= 6; i++) {
|
||||||
|
|
||||||
|
if(slots[i] != null && slots[i].getItem() == ModItems.upgrade_effect_1)
|
||||||
|
extra += 1000;
|
||||||
|
if(slots[i] != null && slots[i].getItem() == ModItems.upgrade_effect_2)
|
||||||
|
extra += 2000;
|
||||||
|
if(slots[i] != null && slots[i].getItem() == ModItems.upgrade_effect_3)
|
||||||
|
extra += 3000;
|
||||||
|
}
|
||||||
|
|
||||||
|
return acidRequired + Math.min(extra, 3000);
|
||||||
|
}
|
||||||
|
|
||||||
|
public float getFreeChance() {
|
||||||
|
|
||||||
|
float chance = 0.0F;
|
||||||
|
|
||||||
|
for(int i = 5; i <= 6; i++) {
|
||||||
|
|
||||||
|
if(slots[i] != null && slots[i].getItem() == ModItems.upgrade_effect_1)
|
||||||
|
chance += 0.05F;
|
||||||
|
if(slots[i] != null && slots[i].getItem() == ModItems.upgrade_effect_2)
|
||||||
|
chance += 0.1F;
|
||||||
|
if(slots[i] != null && slots[i].getItem() == ModItems.upgrade_effect_3)
|
||||||
|
chance += 0.15F;
|
||||||
|
}
|
||||||
|
|
||||||
|
return Math.min(chance, 0.15F);
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getDuration() {
|
||||||
|
|
||||||
|
float durationMod = 1;
|
||||||
|
|
||||||
|
for(int i = 5; i <= 6; i++) {
|
||||||
|
|
||||||
|
if(slots[i] != null && slots[i].getItem() == ModItems.upgrade_speed_1)
|
||||||
|
durationMod -= 0.1F;
|
||||||
|
if(slots[i] != null && slots[i].getItem() == ModItems.upgrade_speed_2)
|
||||||
|
durationMod -= 0.2F;
|
||||||
|
if(slots[i] != null && slots[i].getItem() == ModItems.upgrade_speed_3)
|
||||||
|
durationMod -= 0.3F;
|
||||||
|
}
|
||||||
|
|
||||||
|
return (int) (duration * Math.max(durationMod, 0.7F));
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getPowerRequired() {
|
||||||
|
|
||||||
|
int consumption = 0;
|
||||||
|
|
||||||
|
for(int i = 5; i <= 6; i++) {
|
||||||
|
|
||||||
|
if(slots[i] != null && slots[i].getItem() == ModItems.upgrade_speed_1)
|
||||||
|
consumption += 1000;
|
||||||
|
if(slots[i] != null && slots[i].getItem() == ModItems.upgrade_speed_2)
|
||||||
|
consumption += 2000;
|
||||||
|
if(slots[i] != null && slots[i].getItem() == ModItems.upgrade_speed_3)
|
||||||
|
consumption += 3000;
|
||||||
|
}
|
||||||
|
|
||||||
|
return (int) (demand + Math.min(consumption, 3000));
|
||||||
|
}
|
||||||
|
|
||||||
|
public float getCycleCount() {
|
||||||
|
|
||||||
|
int cycles = 1;
|
||||||
|
|
||||||
|
for(int i = 5; i <= 6; i++) {
|
||||||
|
|
||||||
|
if(slots[i] != null && slots[i].getItem() == ModItems.upgrade_overdrive_1)
|
||||||
|
cycles += 1;
|
||||||
|
if(slots[i] != null && slots[i].getItem() == ModItems.upgrade_overdrive_2)
|
||||||
|
cycles += 2;
|
||||||
|
if(slots[i] != null && slots[i].getItem() == ModItems.upgrade_overdrive_3)
|
||||||
|
cycles += 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
return Math.min(cycles, 4);
|
||||||
|
}
|
||||||
|
|
||||||
public long getPowerScaled(int i) {
|
public long getPowerScaled(int i) {
|
||||||
return (power * i) / maxPower;
|
return (power * i) / maxPower;
|
||||||
}
|
}
|
||||||
@ -242,4 +335,12 @@ public class TileEntityMachineCrystallizer extends TileEntityMachineBase impleme
|
|||||||
{
|
{
|
||||||
return 65536.0D;
|
return 65536.0D;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setInventorySlotContents(int i, ItemStack stack) {
|
||||||
|
super.setInventorySlotContents(i, stack);
|
||||||
|
|
||||||
|
if(stack != null && i >= 5 && i <= 6 && stack.getItem() instanceof ItemMachineUpgrade)
|
||||||
|
worldObj.playSoundEffect(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, "hbm:item.upgradePlug", 1.0F, 1.0F);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,76 @@
|
|||||||
|
package com.hbm.tileentity.machine;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.hbm.interfaces.IConsumer;
|
||||||
|
import com.hbm.interfaces.ISource;
|
||||||
|
import com.hbm.lib.Library;
|
||||||
|
|
||||||
|
import net.minecraft.tileentity.TileEntity;
|
||||||
|
|
||||||
|
public class TileEntityMachineMiniRTG extends TileEntity implements ISource {
|
||||||
|
|
||||||
|
public List<IConsumer> list = new ArrayList();
|
||||||
|
public long power;
|
||||||
|
public long maxPower = 100;
|
||||||
|
boolean tact = false;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateEntity() {
|
||||||
|
|
||||||
|
if(!worldObj.isRemote) {
|
||||||
|
|
||||||
|
power += 25;
|
||||||
|
|
||||||
|
if(power > maxPower)
|
||||||
|
power = maxPower;
|
||||||
|
|
||||||
|
tact = false;
|
||||||
|
ffgeuaInit();
|
||||||
|
tact = true;
|
||||||
|
ffgeuaInit();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void ffgeuaInit() {
|
||||||
|
ffgeua(this.xCoord, this.yCoord + 1, this.zCoord, getTact());
|
||||||
|
ffgeua(this.xCoord, this.yCoord - 1, this.zCoord, getTact());
|
||||||
|
ffgeua(this.xCoord - 1, this.yCoord, this.zCoord, getTact());
|
||||||
|
ffgeua(this.xCoord + 1, this.yCoord, this.zCoord, getTact());
|
||||||
|
ffgeua(this.xCoord, this.yCoord, this.zCoord - 1, getTact());
|
||||||
|
ffgeua(this.xCoord, this.yCoord, this.zCoord + 1, getTact());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void ffgeua(int x, int y, int z, boolean newTact) {
|
||||||
|
|
||||||
|
Library.ffgeua(x, y, z, newTact, this, worldObj);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean getTact() {
|
||||||
|
return tact;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public long getSPower() {
|
||||||
|
return power;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setSPower(long i) {
|
||||||
|
power = i;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<IConsumer> getList() {
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void clearList() {
|
||||||
|
list.clear();
|
||||||
|
}
|
||||||
|
}
|
||||||