From ebdc0e9ca22b37dec61fe05be4fb5444d3a4d3a3 Mon Sep 17 00:00:00 2001 From: Bob Date: Sun, 28 Feb 2021 22:31:46 +0100 Subject: [PATCH] turret prototype GUI --- .../hbm/models/turrets/turret_chekhov.obj | 1176 +++++------------ .../hbm/textures/blocks/turret_chekhov.png | Bin 0 -> 6969 bytes .../hbm/textures/blocks/turret_jeremy.png | Bin 0 -> 6969 bytes .../hbm/textures/blocks/turret_tauon.png | Bin 0 -> 6969 bytes .../hbm/textures/models/turrets/base.png | Bin 653 -> 538 bytes .../hbm/textures/models/turrets/carriage.png | Bin 703 -> 644 bytes .../hbm/textures/models/turrets/chekhov.png | Bin 1339 -> 1550 bytes .../models/turrets/chekhov_barrels.png | Bin 387 -> 257 bytes .../hbm/textures/models/turrets/jeremy.png | Bin 1273 -> 1925 bytes src/main/java/com/hbm/blocks/ModBlocks.java | 6 +- .../hbm/blocks/generic/BlockCoalBurning.java | 13 +- .../com/hbm/blocks/generic/BlockOutgas.java | 20 +- .../blocks/{bomb => turret}/TurretBase.java | 2 +- .../blocks/{bomb => turret}/TurretCIWS.java | 3 +- .../blocks/{bomb => turret}/TurretCheapo.java | 2 +- .../{bomb => turret}/TurretChekhov.java | 27 +- .../blocks/{bomb => turret}/TurretFlamer.java | 2 +- .../blocks/{bomb => turret}/TurretHeavy.java | 2 +- .../blocks/{bomb => turret}/TurretJeremy.java | 5 +- .../blocks/{bomb => turret}/TurretLight.java | 2 +- .../blocks/{bomb => turret}/TurretRocket.java | 2 +- .../{bomb => turret}/TurretSpitfire.java | 2 +- .../blocks/{bomb => turret}/TurretTau.java | 2 +- .../blocks/{bomb => turret}/TurretTauon.java | 6 +- .../java/com/hbm/crafting/MineralRecipes.java | 6 +- .../com/hbm/handler/BossSpawnHandler.java | 1 - src/main/java/com/hbm/handler/GUIHandler.java | 15 + .../container/ContainerTurretChekhov.java | 75 ++ .../hbm/inventory/gui/GUITurretChekhov.java | 94 ++ .../com/hbm/items/machine/ItemTurretChip.java | 3 +- .../com/hbm/items/tool/ItemTurretControl.java | 2 +- .../render/tileentity/RenderTurretBase.java | 50 + .../tileentity/RenderTurretChekhov.java | 14 +- .../render/tileentity/RenderTurretJeremy.java | 14 +- .../render/tileentity/RenderTurretTauon.java | 14 +- .../turret/TileEntityTurretBase.java | 2 +- .../turret/TileEntityTurretBaseNT.java | 107 +- .../turret/TileEntityTurretChekhov.java | 5 + .../turret/TileEntityTurretJeremy.java | 5 + .../turret/TileEntityTurretTauon.java | 5 + 40 files changed, 763 insertions(+), 921 deletions(-) create mode 100644 src/main/java/assets/hbm/textures/blocks/turret_chekhov.png create mode 100644 src/main/java/assets/hbm/textures/blocks/turret_jeremy.png create mode 100644 src/main/java/assets/hbm/textures/blocks/turret_tauon.png rename src/main/java/com/hbm/blocks/{bomb => turret}/TurretBase.java (95%) rename src/main/java/com/hbm/blocks/{bomb => turret}/TurretCIWS.java (98%) rename src/main/java/com/hbm/blocks/{bomb => turret}/TurretCheapo.java (98%) rename src/main/java/com/hbm/blocks/{bomb => turret}/TurretChekhov.java (58%) rename src/main/java/com/hbm/blocks/{bomb => turret}/TurretFlamer.java (98%) rename src/main/java/com/hbm/blocks/{bomb => turret}/TurretHeavy.java (98%) rename src/main/java/com/hbm/blocks/{bomb => turret}/TurretJeremy.java (89%) rename src/main/java/com/hbm/blocks/{bomb => turret}/TurretLight.java (98%) rename src/main/java/com/hbm/blocks/{bomb => turret}/TurretRocket.java (98%) rename src/main/java/com/hbm/blocks/{bomb => turret}/TurretSpitfire.java (98%) rename src/main/java/com/hbm/blocks/{bomb => turret}/TurretTau.java (98%) rename src/main/java/com/hbm/blocks/{bomb => turret}/TurretTauon.java (89%) create mode 100644 src/main/java/com/hbm/inventory/container/ContainerTurretChekhov.java create mode 100644 src/main/java/com/hbm/inventory/gui/GUITurretChekhov.java create mode 100644 src/main/java/com/hbm/render/tileentity/RenderTurretBase.java diff --git a/src/main/java/assets/hbm/models/turrets/turret_chekhov.obj b/src/main/java/assets/hbm/models/turrets/turret_chekhov.obj index c0f567d4a..c864475de 100644 --- a/src/main/java/assets/hbm/models/turrets/turret_chekhov.obj +++ b/src/main/java/assets/hbm/models/turrets/turret_chekhov.obj @@ -5595,102 +5595,6 @@ f 1448/2028/109 1456/2027/109 1457/2029/111 f 1449/2030/111 1457/2029/111 1458/2031/105 f 1450/2032/105 1458/2031/105 1459/2033/113 o Connectors -v 0.312500 0.312500 1.000000 -v 0.312500 0.687500 1.000000 -v 0.312500 0.312500 0.937500 -v 0.312500 0.687500 0.937500 -v 0.687500 0.312500 1.000000 -v 0.687500 0.687500 1.000000 -v 0.687500 0.312500 0.937500 -v 0.687500 0.687500 0.937500 -v 0.375000 0.625000 0.875000 -v 0.375000 0.375000 0.875000 -v 0.625000 0.375000 0.875000 -v 0.625000 0.625000 0.875000 -v 0.375000 0.625000 0.812500 -v 0.375000 0.375000 0.812500 -v 0.625000 0.375000 0.812500 -v 0.625000 0.625000 0.812500 -v -0.687500 0.312500 1.000000 -v -0.687500 0.687500 1.000000 -v -0.687500 0.312500 0.937500 -v -0.687500 0.687500 0.937500 -v -0.312500 0.312500 1.000000 -v -0.312500 0.687500 1.000000 -v -0.312500 0.312500 0.937500 -v -0.312500 0.687500 0.937500 -v -0.625000 0.625000 0.875000 -v -0.625000 0.375000 0.875000 -v -0.375000 0.375000 0.875000 -v -0.375000 0.625000 0.875000 -v -0.625000 0.625000 0.812500 -v -0.625000 0.375000 0.812500 -v -0.375000 0.375000 0.812500 -v -0.375000 0.625000 0.812500 -v -0.312500 0.312500 -1.000000 -v -0.312500 0.687500 -1.000000 -v -0.312500 0.312500 -0.937500 -v -0.312500 0.687500 -0.937500 -v -0.687500 0.312500 -1.000000 -v -0.687500 0.687500 -1.000000 -v -0.687500 0.312500 -0.937500 -v -0.687500 0.687500 -0.937500 -v -0.375000 0.625000 -0.875000 -v -0.375000 0.375000 -0.875000 -v -0.625000 0.375000 -0.875000 -v -0.625000 0.625000 -0.875000 -v -0.375000 0.625000 -0.812500 -v -0.375000 0.375000 -0.812500 -v -0.625000 0.375000 -0.812500 -v -0.625000 0.625000 -0.812500 -v 0.687500 0.312500 -1.000000 -v 0.687500 0.687500 -1.000000 -v 0.687500 0.312500 -0.937500 -v 0.687500 0.687500 -0.937500 -v 0.312500 0.312500 -1.000000 -v 0.312500 0.687500 -1.000000 -v 0.312500 0.312500 -0.937500 -v 0.312500 0.687500 -0.937500 -v 0.625000 0.625000 -0.875000 -v 0.625000 0.375000 -0.875000 -v 0.375000 0.375000 -0.875000 -v 0.375000 0.625000 -0.875000 -v 0.625000 0.625000 -0.812500 -v 0.625000 0.375000 -0.812500 -v 0.375000 0.375000 -0.812500 -v 0.375000 0.625000 -0.812500 -v 1.000000 0.312500 -0.312500 -v 1.000000 0.687500 -0.312500 -v 0.937500 0.312500 -0.312500 -v 0.937500 0.687500 -0.312500 -v 1.000000 0.312500 -0.687500 -v 1.000000 0.687500 -0.687500 -v 0.937500 0.312500 -0.687500 -v 0.937500 0.687500 -0.687500 -v 0.875000 0.625000 -0.375000 -v 0.875000 0.375000 -0.375000 -v 0.875000 0.375000 -0.625000 -v 0.875000 0.625000 -0.625000 -v 0.812500 0.625000 -0.375000 -v 0.812500 0.375000 -0.375000 -v 0.812500 0.375000 -0.625000 -v 0.812500 0.625000 -0.625000 -v 1.000000 0.312500 0.687500 -v 1.000000 0.687500 0.687500 -v 0.937500 0.312500 0.687500 -v 0.937500 0.687500 0.687500 -v 1.000000 0.312500 0.312500 -v 1.000000 0.687500 0.312500 -v 0.937500 0.312500 0.312500 -v 0.937500 0.687500 0.312500 -v 0.875000 0.625000 0.625000 -v 0.875000 0.375000 0.625000 -v 0.875000 0.375000 0.375000 -v 0.875000 0.625000 0.375000 -v 0.812500 0.625000 0.625000 -v 0.812500 0.375000 0.625000 -v 0.812500 0.375000 0.375000 -v 0.812500 0.625000 0.375000 v -1.000000 0.312500 0.312500 v -1.000000 0.687500 0.312500 v -0.937500 0.312500 0.312500 @@ -5707,204 +5611,6 @@ v -0.812500 0.625000 0.375000 v -0.812500 0.375000 0.375000 v -0.812500 0.375000 0.625000 v -0.812500 0.625000 0.625000 -v -1.000000 0.312500 -0.687500 -v -1.000000 0.687500 -0.687500 -v -0.937500 0.312500 -0.687500 -v -0.937500 0.687500 -0.687500 -v -1.000000 0.312500 -0.312500 -v -1.000000 0.687500 -0.312500 -v -0.937500 0.312500 -0.312500 -v -0.937500 0.687500 -0.312500 -v -0.875000 0.625000 -0.625000 -v -0.875000 0.375000 -0.625000 -v -0.875000 0.375000 -0.375000 -v -0.875000 0.625000 -0.375000 -v -0.812500 0.625000 -0.625000 -v -0.812500 0.375000 -0.625000 -v -0.812500 0.375000 -0.375000 -v -0.812500 0.625000 -0.375000 -vt 0.250000 0.562500 -vt 0.166667 0.187500 -vt 0.250000 0.187500 -vt 0.833333 0.562500 -vt 0.916667 0.250000 -vt 0.916667 0.500000 -vt 0.750000 0.187500 -vt 0.833333 0.187500 -vt 0.750000 0.562500 -vt 0.750000 0.125000 -vt 0.250000 0.125000 -vt 0.250000 0.625000 -vt 0.750000 0.625000 -vt 1.000000 0.500000 -vt 0.666667 0.062500 -vt 0.333333 0.687500 -vt 0.166667 0.562500 -vt 0.083333 0.250000 -vt 0.333333 0.750000 -vt 0.666667 1.000000 -vt 0.333333 1.000000 -vt 0.333333 0.062500 -vt 0.666667 0.000000 -vt 0.666667 0.687500 -vt 0.083333 0.500000 -vt 0.000000 0.250000 -vt 0.250000 0.562500 -vt 0.166667 0.187500 -vt 0.250000 0.187500 -vt 0.833333 0.187500 -vt 0.916667 0.500000 -vt 0.833333 0.562500 -vt 0.750000 0.187500 -vt 0.750000 0.562500 -vt 0.750000 0.125000 -vt 0.250000 0.125000 -vt 0.250000 0.625000 -vt 0.750000 0.625000 -vt 0.916667 0.250000 -vt 1.000000 0.500000 -vt 0.666667 0.062500 -vt 0.333333 0.687500 -vt 0.166667 0.562500 -vt 0.083333 0.250000 -vt 0.333333 0.750000 -vt 0.666667 1.000000 -vt 0.333333 1.000000 -vt 0.333333 0.062500 -vt 0.666667 0.000000 -vt 0.666667 0.687500 -vt 0.083333 0.500000 -vt 0.000000 0.250000 -vt 0.250000 0.562500 -vt 0.166667 0.187500 -vt 0.250000 0.187500 -vt 0.833333 0.562500 -vt 0.916667 0.250000 -vt 0.916667 0.500000 -vt 0.750000 0.187500 -vt 0.833333 0.187500 -vt 0.750000 0.562500 -vt 0.750000 0.125000 -vt 0.250000 0.125000 -vt 0.250000 0.625000 -vt 0.750000 0.625000 -vt 1.000000 0.500000 -vt 0.666667 0.062500 -vt 0.333333 0.687500 -vt 0.166667 0.562500 -vt 0.083333 0.250000 -vt 0.333333 0.750000 -vt 0.666667 1.000000 -vt 0.333333 1.000000 -vt 0.333333 0.062500 -vt 0.666667 0.000000 -vt 0.666667 0.750000 -vt 0.083333 0.500000 -vt 0.000000 0.250000 -vt 0.250000 0.562500 -vt 0.166667 0.187500 -vt 0.250000 0.187500 -vt 0.833333 0.562500 -vt 0.916667 0.250000 -vt 0.916667 0.500000 -vt 0.750000 0.187500 -vt 0.833333 0.187500 -vt 0.750000 0.562500 -vt 0.750000 0.125000 -vt 0.250000 0.125000 -vt 0.250000 0.625000 -vt 0.750000 0.625000 -vt 1.000000 0.500000 -vt 0.666667 0.062500 -vt 0.333333 0.687500 -vt 0.166667 0.562500 -vt 0.083333 0.250000 -vt 0.333333 0.750000 -vt 0.666667 1.000000 -vt 0.333333 1.000000 -vt 0.333333 0.062500 -vt 0.666667 0.000000 -vt 0.666667 0.750000 -vt 0.083333 0.500000 -vt 0.000000 0.250000 -vt 0.250000 0.562500 -vt 0.166667 0.187500 -vt 0.250000 0.187500 -vt 0.833333 0.187500 -vt 0.916667 0.500000 -vt 0.833333 0.562500 -vt 0.750000 0.187500 -vt 0.750000 0.562500 -vt 0.750000 0.125000 -vt 0.250000 0.125000 -vt 0.250000 0.625000 -vt 0.750000 0.625000 -vt 0.916667 0.250000 -vt 1.000000 0.500000 -vt 0.666667 0.062500 -vt 0.333333 0.687500 -vt 0.166667 0.562500 -vt 0.083333 0.250000 -vt 0.333333 0.750000 -vt 0.666667 1.000000 -vt 0.333333 1.000000 -vt 0.333333 0.062500 -vt 0.666667 0.000000 -vt 0.666667 0.687500 -vt 0.083333 0.500000 -vt 0.000000 0.250000 -vt 0.250000 0.562500 -vt 0.166667 0.187500 -vt 0.250000 0.187500 -vt 0.833333 0.187500 -vt 0.916667 0.500000 -vt 0.833333 0.562500 -vt 0.750000 0.187500 -vt 0.750000 0.562500 -vt 0.750000 0.125000 -vt 0.250000 0.125000 -vt 0.250000 0.625000 -vt 0.750000 0.625000 -vt 0.916667 0.250000 -vt 1.000000 0.500000 -vt 0.666667 0.062500 -vt 0.333333 0.687500 -vt 0.166667 0.562500 -vt 0.083333 0.250000 -vt 0.333333 0.750000 -vt 0.666667 1.000000 -vt 0.333333 1.000000 -vt 0.333333 0.062500 -vt 0.666667 0.000000 -vt 0.666667 0.687500 -vt 0.083333 0.500000 -vt 0.000000 0.250000 -vt 0.250000 0.562500 -vt 0.166667 0.187500 -vt 0.250000 0.187500 -vt 0.833333 0.187500 -vt 0.916667 0.500000 -vt 0.833333 0.562500 -vt 0.750000 0.187500 -vt 0.750000 0.562500 -vt 0.750000 0.125000 -vt 0.250000 0.125000 -vt 0.250000 0.625000 -vt 0.750000 0.625000 -vt 0.916667 0.250000 -vt 1.000000 0.500000 -vt 0.666667 0.062500 -vt 0.333333 0.687500 -vt 0.166667 0.562500 -vt 0.083333 0.250000 -vt 0.333333 0.750000 -vt 0.666667 1.000000 -vt 0.333333 1.000000 -vt 0.333333 0.062500 -vt 0.666667 0.000000 -vt 0.666667 0.687500 -vt 0.083333 0.500000 -vt 0.000000 0.250000 vt 0.250000 0.562500 vt 0.166667 0.187500 vt 0.250000 0.187500 @@ -5935,277 +5641,45 @@ vt 1.000000 0.250000 vt 0.666667 0.750000 vt 0.333333 0.000000 vt 0.000000 0.500000 -vt 1.000000 0.250000 -vt 0.666667 0.750000 -vt 0.333333 0.000000 -vt 0.000000 0.500000 -vt 1.000000 0.250000 -vt 0.666667 0.687500 -vt 0.333333 0.000000 -vt 0.000000 0.500000 -vt 1.000000 0.250000 -vt 0.666667 0.687500 -vt 0.333333 0.000000 -vt 0.000000 0.500000 -vt 1.000000 0.250000 -vt 0.666667 0.750000 -vt 0.333333 0.000000 -vt 0.000000 0.500000 -vt 1.000000 0.250000 -vt 0.666667 0.750000 -vt 0.333333 0.000000 -vt 0.000000 0.500000 -vt 1.000000 0.250000 -vt 0.666667 0.750000 -vt 0.333333 0.000000 -vt 0.000000 0.500000 -vt 1.000000 0.250000 -vt 0.666667 0.750000 -vt 0.333333 0.000000 -vt 0.000000 0.500000 -vn -1.0000 0.0000 0.0000 -vn 0.7071 0.0000 -0.7071 -vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.7071 0.0000 0.7071 vn 0.0000 0.0000 1.0000 +vn -1.0000 0.0000 0.0000 vn 0.0000 -1.0000 0.0000 vn 0.0000 1.0000 0.0000 -vn 0.0000 -0.7071 -0.7071 -vn 0.0000 0.7071 -0.7071 -vn -0.7071 0.0000 -0.7071 -vn 0.0000 0.0000 -1.0000 -vn -0.7071 0.0000 0.7071 -vn 0.0000 -0.7071 0.7071 -vn 0.0000 0.7071 0.7071 -vn 0.7071 0.0000 0.7071 -vn -0.7071 -0.7071 0.0000 -vn -0.7071 0.7071 0.0000 vn 0.7071 -0.7071 -0.0000 vn 0.7071 0.7071 -0.0000 +vn 0.7071 0.0000 -0.7071 +vn 1.0000 0.0000 0.0000 s off f 1527/2036/114 1528/2037/114 1526/2038/114 -f 1533/2039/115 1536/2040/115 1537/2041/115 -f 1533/2039/116 1530/2042/116 1532/2043/116 -f 1531/2044/117 1526/2038/117 1530/2042/117 -f 1532/2045/118 1526/2038/118 1528/2046/118 -f 1529/2047/119 1531/2044/119 1533/2048/119 -f 1536/2040/116 1541/2049/116 1537/2041/116 -f 1528/2046/120 1536/2050/120 1532/2045/120 -f 1533/2048/121 1534/2051/121 1529/2047/121 +f 1532/2039/115 1537/2040/115 1533/2041/115 +f 1533/2041/116 1530/2042/116 1532/2039/116 +f 1531/2043/117 1526/2038/117 1530/2042/117 +f 1532/2044/118 1526/2038/118 1528/2045/118 +f 1529/2046/119 1531/2043/119 1533/2047/119 +f 1536/2048/116 1541/2049/116 1537/2040/116 +f 1528/2045/120 1536/2050/120 1532/2044/120 +f 1533/2047/121 1534/2051/121 1529/2046/121 f 1529/2052/122 1535/2053/122 1528/2037/122 f 1538/2054/123 1540/2055/123 1539/2056/123 f 1535/2057/118 1540/2058/118 1536/2050/118 f 1537/2059/119 1538/2054/119 1534/2051/119 f 1534/2060/114 1539/2061/114 1535/2053/114 -f 1543/2062/114 1544/2063/114 1542/2064/114 -f 1548/2065/115 1553/2066/115 1549/2067/115 -f 1549/2067/116 1546/2068/116 1548/2065/116 -f 1547/2069/117 1542/2064/117 1546/2068/117 -f 1548/2070/118 1542/2064/118 1544/2071/118 -f 1545/2072/119 1547/2069/119 1549/2073/119 -f 1552/2074/116 1557/2075/116 1553/2066/116 -f 1544/2071/120 1552/2076/120 1548/2070/120 -f 1549/2073/121 1550/2077/121 1545/2072/121 -f 1545/2078/122 1551/2079/122 1544/2063/122 -f 1554/2080/123 1556/2081/123 1555/2082/123 -f 1551/2083/118 1556/2084/118 1552/2076/118 -f 1553/2085/119 1554/2080/119 1550/2077/119 -f 1550/2086/114 1555/2087/114 1551/2079/114 -f 1559/2088/116 1560/2089/116 1558/2090/116 -f 1565/2091/124 1568/2092/124 1569/2093/124 -f 1565/2091/114 1562/2094/114 1564/2095/114 -f 1563/2096/123 1558/2090/123 1562/2094/123 -f 1564/2097/118 1558/2090/118 1560/2098/118 -f 1561/2099/119 1563/2096/119 1565/2100/119 -f 1568/2092/114 1573/2101/114 1569/2093/114 -f 1560/2098/125 1568/2102/125 1564/2097/125 -f 1565/2100/126 1566/2103/126 1561/2099/126 -f 1561/2104/127 1567/2105/127 1560/2089/127 -f 1570/2106/117 1572/2107/117 1571/2108/117 -f 1567/2109/118 1572/2110/118 1568/2102/118 -f 1566/2103/119 1573/2111/119 1570/2106/119 -f 1566/2112/116 1571/2113/116 1567/2105/116 -f 1575/2114/116 1576/2115/116 1574/2116/116 -f 1581/2117/124 1584/2118/124 1585/2119/124 -f 1581/2117/114 1578/2120/114 1580/2121/114 -f 1579/2122/123 1574/2116/123 1578/2120/123 -f 1580/2123/118 1574/2116/118 1576/2124/118 -f 1577/2125/119 1579/2122/119 1581/2126/119 -f 1584/2118/114 1589/2127/114 1585/2119/114 -f 1576/2124/125 1584/2128/125 1580/2123/125 -f 1581/2126/126 1582/2129/126 1577/2125/126 -f 1577/2130/127 1583/2131/127 1576/2115/127 -f 1586/2132/117 1588/2133/117 1587/2134/117 -f 1583/2135/118 1588/2136/118 1584/2128/118 -f 1582/2129/119 1589/2137/119 1586/2132/119 -f 1582/2138/116 1587/2139/116 1583/2131/116 -f 1591/2140/117 1592/2141/117 1590/2142/117 -f 1596/2143/122 1601/2144/122 1597/2145/122 -f 1597/2145/123 1594/2146/123 1596/2143/123 -f 1595/2147/116 1590/2142/116 1594/2146/116 -f 1596/2148/118 1590/2142/118 1592/2149/118 -f 1593/2150/119 1595/2147/119 1597/2151/119 -f 1600/2152/123 1605/2153/123 1601/2144/123 -f 1592/2149/128 1600/2154/128 1596/2148/128 -f 1597/2151/129 1598/2155/129 1593/2150/129 -f 1593/2156/124 1599/2157/124 1592/2141/124 -f 1602/2158/114 1604/2159/114 1603/2160/114 -f 1599/2161/118 1604/2162/118 1600/2154/118 -f 1601/2163/119 1602/2158/119 1598/2155/119 -f 1598/2164/117 1603/2165/117 1599/2157/117 -f 1607/2166/117 1608/2167/117 1606/2168/117 -f 1612/2169/122 1617/2170/122 1613/2171/122 -f 1613/2171/123 1610/2172/123 1612/2169/123 -f 1611/2173/116 1606/2168/116 1610/2172/116 -f 1612/2174/118 1606/2168/118 1608/2175/118 -f 1609/2176/119 1611/2173/119 1613/2177/119 -f 1616/2178/123 1621/2179/123 1617/2170/123 -f 1608/2175/128 1616/2180/128 1612/2174/128 -f 1613/2177/129 1614/2181/129 1609/2176/129 -f 1609/2182/124 1615/2183/124 1608/2167/124 -f 1618/2184/114 1620/2185/114 1619/2186/114 -f 1615/2187/118 1620/2188/118 1616/2180/118 -f 1617/2189/119 1618/2184/119 1614/2181/119 -f 1614/2190/117 1619/2191/117 1615/2183/117 -f 1623/2192/123 1624/2193/123 1622/2194/123 -f 1628/2195/127 1633/2196/127 1629/2197/127 -f 1629/2197/117 1626/2198/117 1628/2195/117 -f 1627/2199/114 1622/2194/114 1626/2198/114 -f 1628/2200/118 1622/2194/118 1624/2201/118 -f 1625/2202/119 1627/2199/119 1629/2203/119 -f 1632/2204/117 1637/2205/117 1633/2196/117 -f 1624/2201/130 1632/2206/130 1628/2200/130 -f 1629/2203/131 1630/2207/131 1625/2202/131 -f 1625/2208/115 1631/2209/115 1624/2193/115 -f 1634/2210/116 1636/2211/116 1635/2212/116 -f 1631/2213/118 1636/2214/118 1632/2206/118 -f 1633/2215/119 1634/2210/119 1630/2207/119 -f 1630/2216/123 1635/2217/123 1631/2209/123 -f 1639/2218/123 1640/2219/123 1638/2220/123 -f 1644/2221/127 1649/2222/127 1645/2223/127 -f 1645/2223/117 1642/2224/117 1644/2221/117 -f 1643/2225/114 1638/2220/114 1642/2224/114 -f 1644/2226/118 1638/2220/118 1640/2227/118 -f 1641/2228/119 1643/2225/119 1645/2229/119 -f 1648/2230/117 1653/2231/117 1649/2222/117 -f 1640/2227/130 1648/2232/130 1644/2226/130 -f 1645/2229/131 1646/2233/131 1641/2228/131 -f 1641/2234/115 1647/2235/115 1640/2219/115 -f 1650/2236/116 1652/2237/116 1651/2238/116 -f 1647/2239/118 1652/2240/118 1648/2232/118 -f 1649/2241/119 1650/2236/119 1646/2233/119 -f 1646/2242/123 1651/2243/123 1647/2235/123 f 1527/2036/114 1529/2052/114 1528/2037/114 -f 1533/2039/115 1532/2043/115 1536/2040/115 -f 1533/2039/116 1531/2044/116 1530/2042/116 -f 1531/2044/117 1527/2036/117 1526/2038/117 -f 1532/2045/118 1530/2042/118 1526/2038/118 -f 1529/2047/119 1527/2036/119 1531/2044/119 -f 1536/2040/116 1540/2244/116 1541/2049/116 -f 1528/2046/120 1535/2057/120 1536/2050/120 -f 1533/2048/121 1537/2059/121 1534/2051/121 +f 1532/2039/115 1536/2048/115 1537/2040/115 +f 1533/2041/116 1531/2043/116 1530/2042/116 +f 1531/2043/117 1527/2036/117 1526/2038/117 +f 1532/2044/118 1530/2042/118 1526/2038/118 +f 1529/2046/119 1527/2036/119 1531/2043/119 +f 1536/2048/116 1540/2062/116 1541/2049/116 +f 1528/2045/120 1535/2057/120 1536/2050/120 +f 1533/2047/121 1537/2059/121 1534/2051/121 f 1529/2052/122 1534/2060/122 1535/2053/122 -f 1538/2054/123 1541/2245/123 1540/2055/123 -f 1535/2057/118 1539/2246/118 1540/2058/118 -f 1537/2059/119 1541/2245/119 1538/2054/119 -f 1534/2060/114 1538/2247/114 1539/2061/114 -f 1543/2062/114 1545/2078/114 1544/2063/114 -f 1548/2065/115 1552/2074/115 1553/2066/115 -f 1549/2067/116 1547/2069/116 1546/2068/116 -f 1547/2069/117 1543/2062/117 1542/2064/117 -f 1548/2070/118 1546/2068/118 1542/2064/118 -f 1545/2072/119 1543/2062/119 1547/2069/119 -f 1552/2074/116 1556/2248/116 1557/2075/116 -f 1544/2071/120 1551/2083/120 1552/2076/120 -f 1549/2073/121 1553/2085/121 1550/2077/121 -f 1545/2078/122 1550/2086/122 1551/2079/122 -f 1554/2080/123 1557/2249/123 1556/2081/123 -f 1551/2083/118 1555/2250/118 1556/2084/118 -f 1553/2085/119 1557/2249/119 1554/2080/119 -f 1550/2086/114 1554/2251/114 1555/2087/114 -f 1559/2088/116 1561/2104/116 1560/2089/116 -f 1565/2091/124 1564/2095/124 1568/2092/124 -f 1565/2091/114 1563/2096/114 1562/2094/114 -f 1563/2096/123 1559/2088/123 1558/2090/123 -f 1564/2097/118 1562/2094/118 1558/2090/118 -f 1561/2099/119 1559/2088/119 1563/2096/119 -f 1568/2092/114 1572/2252/114 1573/2101/114 -f 1560/2098/125 1567/2109/125 1568/2102/125 -f 1565/2100/126 1569/2253/126 1566/2103/126 -f 1561/2104/127 1566/2112/127 1567/2105/127 -f 1570/2106/117 1573/2111/117 1572/2107/117 -f 1567/2109/118 1571/2254/118 1572/2110/118 -f 1566/2103/119 1569/2253/119 1573/2111/119 -f 1566/2112/116 1570/2255/116 1571/2113/116 -f 1575/2114/116 1577/2130/116 1576/2115/116 -f 1581/2117/124 1580/2121/124 1584/2118/124 -f 1581/2117/114 1579/2122/114 1578/2120/114 -f 1579/2122/123 1575/2114/123 1574/2116/123 -f 1580/2123/118 1578/2120/118 1574/2116/118 -f 1577/2125/119 1575/2114/119 1579/2122/119 -f 1584/2118/114 1588/2256/114 1589/2127/114 -f 1576/2124/125 1583/2135/125 1584/2128/125 -f 1581/2126/126 1585/2257/126 1582/2129/126 -f 1577/2130/127 1582/2138/127 1583/2131/127 -f 1586/2132/117 1589/2137/117 1588/2133/117 -f 1583/2135/118 1587/2258/118 1588/2136/118 -f 1582/2129/119 1585/2257/119 1589/2137/119 -f 1582/2138/116 1586/2259/116 1587/2139/116 -f 1591/2140/117 1593/2156/117 1592/2141/117 -f 1596/2143/122 1600/2152/122 1601/2144/122 -f 1597/2145/123 1595/2147/123 1594/2146/123 -f 1595/2147/116 1591/2140/116 1590/2142/116 -f 1596/2148/118 1594/2146/118 1590/2142/118 -f 1593/2150/119 1591/2140/119 1595/2147/119 -f 1600/2152/123 1604/2260/123 1605/2153/123 -f 1592/2149/128 1599/2161/128 1600/2154/128 -f 1597/2151/129 1601/2163/129 1598/2155/129 -f 1593/2156/124 1598/2164/124 1599/2157/124 -f 1602/2158/114 1605/2261/114 1604/2159/114 -f 1599/2161/118 1603/2262/118 1604/2162/118 -f 1601/2163/119 1605/2261/119 1602/2158/119 -f 1598/2164/117 1602/2263/117 1603/2165/117 -f 1607/2166/117 1609/2182/117 1608/2167/117 -f 1612/2169/122 1616/2178/122 1617/2170/122 -f 1613/2171/123 1611/2173/123 1610/2172/123 -f 1611/2173/116 1607/2166/116 1606/2168/116 -f 1612/2174/118 1610/2172/118 1606/2168/118 -f 1609/2176/119 1607/2166/119 1611/2173/119 -f 1616/2178/123 1620/2264/123 1621/2179/123 -f 1608/2175/128 1615/2187/128 1616/2180/128 -f 1613/2177/129 1617/2189/129 1614/2181/129 -f 1609/2182/124 1614/2190/124 1615/2183/124 -f 1618/2184/114 1621/2265/114 1620/2185/114 -f 1615/2187/118 1619/2266/118 1620/2188/118 -f 1617/2189/119 1621/2265/119 1618/2184/119 -f 1614/2190/117 1618/2267/117 1619/2191/117 -f 1623/2192/123 1625/2208/123 1624/2193/123 -f 1628/2195/127 1632/2204/127 1633/2196/127 -f 1629/2197/117 1627/2199/117 1626/2198/117 -f 1627/2199/114 1623/2192/114 1622/2194/114 -f 1628/2200/118 1626/2198/118 1622/2194/118 -f 1625/2202/119 1623/2192/119 1627/2199/119 -f 1632/2204/117 1636/2268/117 1637/2205/117 -f 1624/2201/130 1631/2213/130 1632/2206/130 -f 1629/2203/131 1633/2215/131 1630/2207/131 -f 1625/2208/115 1630/2216/115 1631/2209/115 -f 1634/2210/116 1637/2269/116 1636/2211/116 -f 1631/2213/118 1635/2270/118 1636/2214/118 -f 1633/2215/119 1637/2269/119 1634/2210/119 -f 1630/2216/123 1634/2271/123 1635/2217/123 -f 1639/2218/123 1641/2234/123 1640/2219/123 -f 1644/2221/127 1648/2230/127 1649/2222/127 -f 1645/2223/117 1643/2225/117 1642/2224/117 -f 1643/2225/114 1639/2218/114 1638/2220/114 -f 1644/2226/118 1642/2224/118 1638/2220/118 -f 1641/2228/119 1639/2218/119 1643/2225/119 -f 1648/2230/117 1652/2272/117 1653/2231/117 -f 1640/2227/130 1647/2239/130 1648/2232/130 -f 1645/2229/131 1649/2241/131 1646/2233/131 -f 1641/2234/115 1646/2242/115 1647/2235/115 -f 1650/2236/116 1653/2273/116 1652/2237/116 -f 1647/2239/118 1651/2274/118 1652/2240/118 -f 1649/2241/119 1653/2273/119 1650/2236/119 -f 1646/2242/123 1650/2275/123 1651/2243/123 +f 1538/2054/123 1541/2063/123 1540/2055/123 +f 1535/2057/118 1539/2064/118 1540/2058/118 +f 1537/2059/119 1541/2063/119 1538/2054/119 +f 1534/2060/114 1538/2065/114 1539/2061/114 o Base v 0.000000 0.500000 -1.000000 v -0.382683 0.500000 -0.923880 @@ -7025,304 +6499,304 @@ vn 0.7071 0.7071 0.0000 vn 0.6533 0.7071 -0.2706 vn 0.5000 0.7071 -0.5000 s off -f 1703/2276/132 1704/2277/132 1702/2278/132 -f 1704/2277/133 1709/2279/133 1708/2280/133 -f 1709/2279/134 1706/2281/134 1708/2280/134 -f 1707/2282/135 1702/2283/135 1706/2281/135 -f 1704/2284/136 1706/2281/136 1702/2283/136 -f 1709/2279/137 1703/2285/137 1707/2282/137 -f 1711/2286/134 1712/2287/134 1710/2288/134 -f 1712/2287/135 1717/2289/135 1716/2290/135 -f 1717/2289/132 1714/2291/132 1716/2290/132 -f 1715/2292/133 1710/2293/133 1714/2291/133 -f 1716/2294/136 1710/2293/136 1712/2295/136 -f 1713/2296/138 1715/2292/138 1717/2289/138 -f 1719/2297/135 1720/2298/135 1718/2299/135 -f 1720/2298/132 1725/2300/132 1724/2301/132 -f 1725/2300/133 1722/2302/133 1724/2301/133 -f 1723/2303/134 1718/2304/134 1722/2302/134 -f 1724/2305/136 1718/2304/136 1720/2306/136 -f 1721/2307/139 1723/2303/139 1725/2300/139 -f 1727/2308/133 1728/2309/133 1726/2310/133 -f 1728/2309/134 1733/2311/134 1732/2312/134 -f 1733/2311/135 1730/2313/135 1732/2312/135 -f 1731/2314/132 1726/2315/132 1730/2313/132 -f 1732/2316/136 1726/2315/136 1728/2317/136 -f 1733/2311/140 1727/2318/140 1731/2314/140 -f 1820/2319/136 1818/2320/136 1816/2321/136 -f 1840/2322/141 1879/2323/141 1893/2324/141 -f 1839/2325/141 1893/2326/141 1892/2327/141 -f 1838/2328/141 1892/2329/141 1891/2330/141 -f 1837/2331/141 1891/2332/141 1890/2333/141 -f 1837/2334/141 1889/2335/141 1836/2336/141 -f 1835/2337/141 1889/2338/141 1888/2339/141 -f 1834/2340/141 1888/2341/141 1887/2342/141 -f 1834/2343/141 1886/2344/141 1833/2345/141 -f 1833/2346/141 1885/2347/141 1832/2348/141 -f 1832/2349/141 1884/2350/141 1831/2351/141 -f 1831/2352/141 1883/2353/141 1830/2354/141 -f 1830/2355/141 1882/2356/141 1845/2357/141 -f 1845/2358/141 1881/2359/141 1844/2360/141 -f 1844/2361/141 1880/2362/141 1843/2363/141 -f 1843/2364/141 1878/2365/141 1842/2366/141 -f 1841/2367/141 1878/2368/141 1879/2369/141 -f 1910/2370/141 1905/2371/141 1911/2372/141 -f 1912/2373/141 1906/2374/141 1910/2375/141 -f 1913/2376/141 1907/2377/141 1912/2378/141 -f 1913/2379/141 1909/2380/141 1908/2381/141 -f 1914/2382/141 1894/2383/141 1909/2384/141 -f 1916/2385/141 1894/2386/141 1915/2387/141 -f 1916/2388/141 1896/2389/141 1895/2390/141 -f 1917/2391/141 1897/2392/141 1896/2393/141 -f 1918/2394/141 1898/2395/141 1897/2396/141 -f 1920/2397/141 1898/2398/141 1919/2399/141 -f 1921/2400/141 1899/2401/141 1920/2402/141 -f 1922/2403/141 1900/2404/141 1921/2405/141 -f 1923/2406/141 1901/2407/141 1922/2408/141 -f 1924/2409/141 1902/2410/141 1923/2411/141 -f 1925/2412/141 1903/2413/141 1924/2414/141 -f 1911/2415/141 1904/2416/141 1925/2417/141 -f 1857/2418/141 1853/2419/141 1849/2420/141 -f 1703/2276/132 1705/2421/132 1704/2277/132 -f 1704/2277/133 1705/2421/133 1709/2279/133 -f 1709/2279/134 1707/2282/134 1706/2281/134 -f 1707/2282/135 1703/2422/135 1702/2283/135 -f 1704/2284/136 1708/2423/136 1706/2281/136 -f 1709/2279/137 1705/2424/137 1703/2285/137 -f 1711/2286/134 1713/2425/134 1712/2287/134 -f 1712/2287/135 1713/2425/135 1717/2289/135 -f 1717/2289/132 1715/2292/132 1714/2291/132 -f 1715/2292/133 1711/2426/133 1710/2293/133 -f 1716/2294/136 1714/2291/136 1710/2293/136 -f 1713/2296/138 1711/2427/138 1715/2292/138 -f 1719/2297/135 1721/2428/135 1720/2298/135 -f 1720/2298/132 1721/2428/132 1725/2300/132 -f 1725/2300/133 1723/2303/133 1722/2302/133 -f 1723/2303/134 1719/2429/134 1718/2304/134 -f 1724/2305/136 1722/2302/136 1718/2304/136 -f 1721/2307/139 1719/2430/139 1723/2303/139 -f 1727/2308/133 1729/2431/133 1728/2309/133 -f 1728/2309/134 1729/2431/134 1733/2311/134 -f 1733/2311/135 1731/2314/135 1730/2313/135 -f 1731/2314/132 1727/2432/132 1726/2315/132 -f 1732/2316/136 1730/2313/136 1726/2315/136 -f 1733/2311/140 1729/2433/140 1727/2318/140 -f 1816/2321/136 1815/2434/136 1814/2435/136 -f 1814/2435/136 1829/2436/136 1828/2437/136 -f 1828/2437/136 1827/2438/136 1824/2439/136 -f 1827/2438/136 1826/2440/136 1824/2439/136 -f 1826/2440/136 1825/2441/136 1824/2439/136 -f 1824/2439/136 1823/2442/136 1822/2443/136 -f 1822/2443/136 1821/2444/136 1820/2319/136 -f 1820/2319/136 1819/2445/136 1818/2320/136 -f 1818/2320/136 1817/2446/136 1816/2321/136 -f 1816/2321/136 1814/2435/136 1824/2439/136 -f 1814/2435/136 1828/2437/136 1824/2439/136 -f 1824/2439/136 1822/2443/136 1816/2321/136 -f 1822/2443/136 1820/2319/136 1816/2321/136 -f 1840/2322/141 1841/2447/141 1879/2323/141 -f 1839/2325/141 1840/2448/141 1893/2326/141 -f 1838/2328/141 1839/2449/141 1892/2329/141 -f 1837/2331/141 1838/2450/141 1891/2332/141 -f 1837/2334/141 1890/2451/141 1889/2335/141 -f 1835/2337/141 1836/2452/141 1889/2338/141 -f 1834/2340/141 1835/2453/141 1888/2341/141 -f 1834/2343/141 1887/2454/141 1886/2344/141 -f 1833/2346/141 1886/2455/141 1885/2347/141 -f 1832/2349/141 1885/2456/141 1884/2350/141 -f 1831/2352/141 1884/2457/141 1883/2353/141 -f 1830/2355/141 1883/2458/141 1882/2356/141 -f 1845/2358/141 1882/2459/141 1881/2359/141 -f 1844/2361/141 1881/2460/141 1880/2362/141 -f 1843/2364/141 1880/2461/141 1878/2365/141 -f 1841/2367/141 1842/2462/141 1878/2368/141 -f 1910/2370/141 1906/2463/141 1905/2371/141 -f 1912/2373/141 1907/2464/141 1906/2374/141 -f 1913/2376/141 1908/2465/141 1907/2377/141 -f 1913/2379/141 1914/2466/141 1909/2380/141 -f 1914/2382/141 1915/2467/141 1894/2383/141 -f 1916/2385/141 1895/2468/141 1894/2386/141 -f 1916/2388/141 1917/2469/141 1896/2389/141 -f 1917/2391/141 1918/2470/141 1897/2392/141 -f 1918/2394/141 1919/2471/141 1898/2395/141 -f 1920/2397/141 1899/2472/141 1898/2398/141 -f 1921/2400/141 1900/2473/141 1899/2401/141 -f 1922/2403/141 1901/2474/141 1900/2404/141 -f 1923/2406/141 1902/2475/141 1901/2407/141 -f 1924/2409/141 1903/2476/141 1902/2410/141 -f 1925/2412/141 1904/2477/141 1903/2413/141 -f 1911/2415/141 1905/2478/141 1904/2416/141 -f 1860/2479/141 1861/2480/141 1859/2481/141 -f 1859/2481/141 1858/2482/141 1860/2479/141 -f 1858/2482/141 1857/2418/141 1860/2479/141 -f 1857/2418/141 1856/2483/141 1853/2419/141 -f 1856/2483/141 1855/2484/141 1853/2419/141 -f 1855/2484/141 1854/2485/141 1853/2419/141 -f 1853/2419/141 1852/2486/141 1851/2487/141 -f 1851/2487/141 1850/2488/141 1849/2420/141 -f 1849/2420/141 1848/2489/141 1847/2490/141 -f 1847/2490/141 1846/2491/141 1849/2420/141 -f 1846/2491/141 1860/2479/141 1849/2420/141 -f 1853/2419/141 1851/2487/141 1849/2420/141 -f 1860/2479/141 1857/2418/141 1849/2420/141 +f 1591/2066/124 1592/2067/124 1590/2068/124 +f 1592/2067/125 1597/2069/125 1596/2070/125 +f 1597/2069/126 1594/2071/126 1596/2070/126 +f 1595/2072/127 1590/2073/127 1594/2071/127 +f 1592/2074/128 1594/2071/128 1590/2073/128 +f 1597/2069/129 1591/2075/129 1595/2072/129 +f 1599/2076/126 1600/2077/126 1598/2078/126 +f 1600/2077/127 1605/2079/127 1604/2080/127 +f 1605/2079/124 1602/2081/124 1604/2080/124 +f 1603/2082/125 1598/2083/125 1602/2081/125 +f 1604/2084/128 1598/2083/128 1600/2085/128 +f 1601/2086/130 1603/2082/130 1605/2079/130 +f 1607/2087/127 1608/2088/127 1606/2089/127 +f 1608/2088/124 1613/2090/124 1612/2091/124 +f 1613/2090/125 1610/2092/125 1612/2091/125 +f 1611/2093/126 1606/2094/126 1610/2092/126 +f 1612/2095/128 1606/2094/128 1608/2096/128 +f 1609/2097/131 1611/2093/131 1613/2090/131 +f 1615/2098/125 1616/2099/125 1614/2100/125 +f 1616/2099/126 1621/2101/126 1620/2102/126 +f 1621/2101/127 1618/2103/127 1620/2102/127 +f 1619/2104/124 1614/2105/124 1618/2103/124 +f 1620/2106/128 1614/2105/128 1616/2107/128 +f 1621/2101/132 1615/2108/132 1619/2104/132 +f 1708/2109/128 1706/2110/128 1704/2111/128 +f 1728/2112/133 1767/2113/133 1781/2114/133 +f 1727/2115/133 1781/2116/133 1780/2117/133 +f 1726/2118/133 1780/2119/133 1779/2120/133 +f 1725/2121/133 1779/2122/133 1778/2123/133 +f 1725/2124/133 1777/2125/133 1724/2126/133 +f 1723/2127/133 1777/2128/133 1776/2129/133 +f 1722/2130/133 1776/2131/133 1775/2132/133 +f 1722/2133/133 1774/2134/133 1721/2135/133 +f 1721/2136/133 1773/2137/133 1720/2138/133 +f 1720/2139/133 1772/2140/133 1719/2141/133 +f 1719/2142/133 1771/2143/133 1718/2144/133 +f 1718/2145/133 1770/2146/133 1733/2147/133 +f 1733/2148/133 1769/2149/133 1732/2150/133 +f 1732/2151/133 1768/2152/133 1731/2153/133 +f 1731/2154/133 1766/2155/133 1730/2156/133 +f 1729/2157/133 1766/2158/133 1767/2159/133 +f 1798/2160/133 1793/2161/133 1799/2162/133 +f 1800/2163/133 1794/2164/133 1798/2165/133 +f 1801/2166/133 1795/2167/133 1800/2168/133 +f 1801/2169/133 1797/2170/133 1796/2171/133 +f 1802/2172/133 1782/2173/133 1797/2174/133 +f 1804/2175/133 1782/2176/133 1803/2177/133 +f 1804/2178/133 1784/2179/133 1783/2180/133 +f 1805/2181/133 1785/2182/133 1784/2183/133 +f 1806/2184/133 1786/2185/133 1785/2186/133 +f 1808/2187/133 1786/2188/133 1807/2189/133 +f 1809/2190/133 1787/2191/133 1808/2192/133 +f 1810/2193/133 1788/2194/133 1809/2195/133 +f 1811/2196/133 1789/2197/133 1810/2198/133 +f 1812/2199/133 1790/2200/133 1811/2201/133 +f 1813/2202/133 1791/2203/133 1812/2204/133 +f 1799/2205/133 1792/2206/133 1813/2207/133 +f 1745/2208/133 1741/2209/133 1737/2210/133 +f 1591/2066/124 1593/2211/124 1592/2067/124 +f 1592/2067/125 1593/2211/125 1597/2069/125 +f 1597/2069/126 1595/2072/126 1594/2071/126 +f 1595/2072/127 1591/2212/127 1590/2073/127 +f 1592/2074/128 1596/2213/128 1594/2071/128 +f 1597/2069/129 1593/2214/129 1591/2075/129 +f 1599/2076/126 1601/2215/126 1600/2077/126 +f 1600/2077/127 1601/2215/127 1605/2079/127 +f 1605/2079/124 1603/2082/124 1602/2081/124 +f 1603/2082/125 1599/2216/125 1598/2083/125 +f 1604/2084/128 1602/2081/128 1598/2083/128 +f 1601/2086/130 1599/2217/130 1603/2082/130 +f 1607/2087/127 1609/2218/127 1608/2088/127 +f 1608/2088/124 1609/2218/124 1613/2090/124 +f 1613/2090/125 1611/2093/125 1610/2092/125 +f 1611/2093/126 1607/2219/126 1606/2094/126 +f 1612/2095/128 1610/2092/128 1606/2094/128 +f 1609/2097/131 1607/2220/131 1611/2093/131 +f 1615/2098/125 1617/2221/125 1616/2099/125 +f 1616/2099/126 1617/2221/126 1621/2101/126 +f 1621/2101/127 1619/2104/127 1618/2103/127 +f 1619/2104/124 1615/2222/124 1614/2105/124 +f 1620/2106/128 1618/2103/128 1614/2105/128 +f 1621/2101/132 1617/2223/132 1615/2108/132 +f 1704/2111/128 1703/2224/128 1702/2225/128 +f 1702/2225/128 1717/2226/128 1716/2227/128 +f 1716/2227/128 1715/2228/128 1712/2229/128 +f 1715/2228/128 1714/2230/128 1712/2229/128 +f 1714/2230/128 1713/2231/128 1712/2229/128 +f 1712/2229/128 1711/2232/128 1710/2233/128 +f 1710/2233/128 1709/2234/128 1708/2109/128 +f 1708/2109/128 1707/2235/128 1706/2110/128 +f 1706/2110/128 1705/2236/128 1704/2111/128 +f 1704/2111/128 1702/2225/128 1712/2229/128 +f 1702/2225/128 1716/2227/128 1712/2229/128 +f 1712/2229/128 1710/2233/128 1704/2111/128 +f 1710/2233/128 1708/2109/128 1704/2111/128 +f 1728/2112/133 1729/2237/133 1767/2113/133 +f 1727/2115/133 1728/2238/133 1781/2116/133 +f 1726/2118/133 1727/2239/133 1780/2119/133 +f 1725/2121/133 1726/2240/133 1779/2122/133 +f 1725/2124/133 1778/2241/133 1777/2125/133 +f 1723/2127/133 1724/2242/133 1777/2128/133 +f 1722/2130/133 1723/2243/133 1776/2131/133 +f 1722/2133/133 1775/2244/133 1774/2134/133 +f 1721/2136/133 1774/2245/133 1773/2137/133 +f 1720/2139/133 1773/2246/133 1772/2140/133 +f 1719/2142/133 1772/2247/133 1771/2143/133 +f 1718/2145/133 1771/2248/133 1770/2146/133 +f 1733/2148/133 1770/2249/133 1769/2149/133 +f 1732/2151/133 1769/2250/133 1768/2152/133 +f 1731/2154/133 1768/2251/133 1766/2155/133 +f 1729/2157/133 1730/2252/133 1766/2158/133 +f 1798/2160/133 1794/2253/133 1793/2161/133 +f 1800/2163/133 1795/2254/133 1794/2164/133 +f 1801/2166/133 1796/2255/133 1795/2167/133 +f 1801/2169/133 1802/2256/133 1797/2170/133 +f 1802/2172/133 1803/2257/133 1782/2173/133 +f 1804/2175/133 1783/2258/133 1782/2176/133 +f 1804/2178/133 1805/2259/133 1784/2179/133 +f 1805/2181/133 1806/2260/133 1785/2182/133 +f 1806/2184/133 1807/2261/133 1786/2185/133 +f 1808/2187/133 1787/2262/133 1786/2188/133 +f 1809/2190/133 1788/2263/133 1787/2191/133 +f 1810/2193/133 1789/2264/133 1788/2194/133 +f 1811/2196/133 1790/2265/133 1789/2197/133 +f 1812/2199/133 1791/2266/133 1790/2200/133 +f 1813/2202/133 1792/2267/133 1791/2203/133 +f 1799/2205/133 1793/2268/133 1792/2206/133 +f 1748/2269/133 1749/2270/133 1747/2271/133 +f 1747/2271/133 1746/2272/133 1748/2269/133 +f 1746/2272/133 1745/2208/133 1748/2269/133 +f 1745/2208/133 1744/2273/133 1741/2209/133 +f 1744/2273/133 1743/2274/133 1741/2209/133 +f 1743/2274/133 1742/2275/133 1741/2209/133 +f 1741/2209/133 1740/2276/133 1739/2277/133 +f 1739/2277/133 1738/2278/133 1737/2210/133 +f 1737/2210/133 1736/2279/133 1735/2280/133 +f 1735/2280/133 1734/2281/133 1737/2210/133 +f 1734/2281/133 1748/2269/133 1737/2210/133 +f 1741/2209/133 1739/2277/133 1737/2210/133 +f 1748/2269/133 1745/2208/133 1737/2210/133 s 1 -f 1776/2492/142 1745/2493/134 1777/2494/134 -f 1745/2495/134 1778/2496/143 1777/2497/134 -f 1746/2498/143 1779/2499/144 1778/2500/143 -f 1747/2501/144 1780/2502/145 1779/2503/144 -f 1748/2504/145 1781/2505/133 1780/2506/145 -f 1749/2507/133 1767/2508/146 1781/2509/133 -f 1735/2510/146 1766/2511/147 1767/2512/146 -f 1734/2513/147 1768/2514/148 1766/2515/147 -f 1736/2516/148 1769/2517/132 1768/2518/148 -f 1737/2519/132 1770/2520/149 1769/2521/132 -f 1738/2522/149 1771/2523/150 1770/2524/149 -f 1739/2525/150 1772/2526/151 1771/2527/150 -f 1740/2528/151 1773/2529/135 1772/2530/151 -f 1741/2531/135 1774/2532/152 1773/2533/135 -f 1742/2534/152 1775/2535/153 1774/2536/152 -f 1743/2537/153 1776/2538/142 1775/2539/153 -f 1659/2540/148 1692/2541/132 1660/2542/132 -f 1667/2543/142 1700/2544/134 1668/2545/134 -f 1660/2546/132 1693/2547/149 1661/2548/149 -f 1668/2549/134 1701/2550/143 1669/2551/143 -f 1661/2552/149 1694/2553/150 1662/2554/150 -f 1654/2555/144 1687/2556/145 1655/2557/145 -f 1669/2558/143 1686/2559/144 1654/2560/144 -f 1662/2561/150 1695/2562/151 1663/2563/151 -f 1655/2564/145 1688/2565/133 1656/2566/133 -f 1663/2567/151 1696/2568/135 1664/2569/135 -f 1656/2570/133 1689/2571/146 1657/2572/146 -f 1664/2573/135 1697/2574/152 1665/2575/152 -f 1657/2576/146 1690/2577/147 1658/2578/147 -f 1665/2579/152 1698/2580/153 1666/2581/153 -f 1658/2582/147 1691/2583/148 1659/2584/148 -f 1666/2585/153 1699/2586/142 1667/2587/142 -f 1759/2588/145 1677/2589/144 1758/2590/144 -f 1752/2591/135 1685/2592/151 1751/2593/151 -f 1760/2594/133 1676/2595/145 1759/2596/145 -f 1753/2597/152 1683/2598/135 1752/2599/135 -f 1761/2600/146 1675/2601/133 1760/2602/133 -f 1754/2603/153 1682/2604/152 1753/2605/152 -f 1762/2606/147 1674/2607/146 1761/2608/146 -f 1755/2609/142 1681/2610/153 1754/2611/153 -f 1763/2612/148 1673/2613/147 1762/2614/147 -f 1756/2615/134 1680/2616/142 1755/2617/142 -f 1764/2618/132 1672/2619/148 1763/2620/148 -f 1757/2621/143 1679/2622/134 1756/2623/134 -f 1765/2624/149 1671/2625/132 1764/2626/132 -f 1758/2627/144 1678/2628/143 1757/2629/143 -f 1751/2630/151 1684/2631/150 1750/2632/150 -f 1750/2633/150 1670/2634/149 1765/2635/149 -f 1927/2636/154 1863/2637/155 1862/2638/154 -f 1788/2639/132 1803/2640/148 1787/2641/148 -f 1796/2642/134 1811/2643/142 1795/2644/142 -f 1789/2645/149 1804/2646/132 1788/2639/132 -f 1797/2647/143 1812/2648/134 1796/2642/134 -f 1790/2649/150 1805/2650/149 1789/2645/149 -f 1783/2651/145 1799/2652/144 1782/2653/144 -f 1782/2653/144 1813/2654/143 1797/2647/143 -f 1791/2655/151 1806/2656/150 1790/2649/150 -f 1784/2657/133 1798/2658/145 1783/2651/145 -f 1792/2659/135 1807/2660/151 1791/2655/151 -f 1785/2661/146 1800/2662/133 1784/2657/133 -f 1793/2663/152 1808/2664/135 1792/2659/135 -f 1786/2665/147 1801/2666/146 1785/2661/146 -f 1794/2667/153 1809/2668/152 1793/2663/152 -f 1787/2641/148 1802/2669/147 1786/2670/147 -f 1795/2644/142 1810/2671/153 1794/2667/153 -f 1941/2672/156 1862/2673/154 1877/2674/156 -f 1926/2675/155 1864/2676/157 1863/2677/155 -f 1928/2678/157 1865/2679/158 1864/2680/157 -f 1929/2681/158 1866/2682/159 1865/2683/158 -f 1930/2684/159 1867/2685/160 1866/2686/159 -f 1867/2687/160 1932/2688/161 1868/2689/161 -f 1932/2688/161 1869/2690/162 1868/2691/161 -f 1933/2692/162 1870/2693/163 1869/2694/162 -f 1934/2695/163 1871/2696/164 1870/2697/163 -f 1935/2698/164 1872/2699/165 1871/2700/164 -f 1872/2701/165 1937/2702/166 1873/2703/166 -f 1873/2704/166 1938/2705/167 1874/2706/167 -f 1938/2705/167 1875/2707/168 1874/2708/167 -f 1939/2709/168 1876/2710/169 1875/2711/168 -f 1940/2712/169 1877/2713/156 1876/2714/169 -f 1776/2492/142 1744/2715/142 1745/2493/134 -f 1745/2495/134 1746/2716/143 1778/2496/143 -f 1746/2498/143 1747/2717/144 1779/2499/144 -f 1747/2501/144 1748/2718/145 1780/2502/145 -f 1748/2504/145 1749/2719/133 1781/2505/133 -f 1749/2507/133 1735/2720/146 1767/2508/146 -f 1735/2510/146 1734/2721/147 1766/2511/147 -f 1734/2513/147 1736/2722/148 1768/2514/148 -f 1736/2516/148 1737/2723/132 1769/2517/132 -f 1737/2519/132 1738/2724/149 1770/2520/149 -f 1738/2522/149 1739/2725/150 1771/2523/150 -f 1739/2525/150 1740/2726/151 1772/2526/151 -f 1740/2528/151 1741/2727/135 1773/2529/135 -f 1741/2531/135 1742/2728/152 1774/2532/152 -f 1742/2534/152 1743/2729/153 1775/2535/153 -f 1743/2537/153 1744/2730/142 1776/2538/142 -f 1659/2540/148 1691/2731/148 1692/2541/132 -f 1667/2543/142 1699/2732/142 1700/2544/134 -f 1660/2546/132 1692/2733/132 1693/2547/149 -f 1668/2549/134 1700/2734/134 1701/2550/143 -f 1661/2552/149 1693/2735/149 1694/2553/150 -f 1654/2555/144 1686/2736/144 1687/2556/145 -f 1669/2558/143 1701/2737/143 1686/2559/144 -f 1662/2561/150 1694/2738/150 1695/2562/151 -f 1655/2564/145 1687/2739/145 1688/2565/133 -f 1663/2567/151 1695/2740/151 1696/2568/135 -f 1656/2570/133 1688/2741/133 1689/2571/146 -f 1664/2573/135 1696/2742/135 1697/2574/152 -f 1657/2576/146 1689/2743/146 1690/2577/147 -f 1665/2579/152 1697/2744/152 1698/2580/153 -f 1658/2582/147 1690/2745/147 1691/2583/148 -f 1666/2585/153 1698/2746/153 1699/2586/142 -f 1759/2588/145 1676/2747/145 1677/2589/144 -f 1752/2591/135 1683/2748/135 1685/2592/151 -f 1760/2594/133 1675/2749/133 1676/2595/145 -f 1753/2597/152 1682/2750/152 1683/2598/135 -f 1761/2600/146 1674/2751/146 1675/2601/133 -f 1754/2603/153 1681/2752/153 1682/2604/152 -f 1762/2606/147 1673/2753/147 1674/2607/146 -f 1755/2609/142 1680/2754/142 1681/2610/153 -f 1763/2612/148 1672/2755/148 1673/2613/147 -f 1756/2615/134 1679/2756/134 1680/2616/142 -f 1764/2618/132 1671/2757/132 1672/2619/148 -f 1757/2621/143 1678/2758/143 1679/2622/134 -f 1765/2624/149 1670/2759/149 1671/2625/132 -f 1758/2627/144 1677/2760/144 1678/2628/143 -f 1751/2630/151 1685/2761/151 1684/2631/150 -f 1750/2633/150 1684/2762/150 1670/2634/149 -f 1927/2636/154 1926/2675/155 1863/2637/155 -f 1788/2639/132 1804/2646/132 1803/2640/148 -f 1796/2642/134 1812/2648/134 1811/2643/142 -f 1789/2645/149 1805/2650/149 1804/2646/132 -f 1797/2647/143 1813/2654/143 1812/2648/134 -f 1790/2649/150 1806/2656/150 1805/2650/149 -f 1783/2651/145 1798/2658/145 1799/2652/144 -f 1782/2653/144 1799/2652/144 1813/2654/143 -f 1791/2655/151 1807/2660/151 1806/2656/150 -f 1784/2657/133 1800/2662/133 1798/2658/145 -f 1792/2659/135 1808/2664/135 1807/2660/151 -f 1785/2661/146 1801/2666/146 1800/2662/133 -f 1793/2663/152 1809/2668/152 1808/2664/135 -f 1786/2665/147 1802/2763/147 1801/2666/146 -f 1794/2667/153 1810/2671/153 1809/2668/152 -f 1787/2641/148 1803/2640/148 1802/2669/147 -f 1795/2644/142 1811/2643/142 1810/2671/153 -f 1941/2672/156 1927/2636/154 1862/2673/154 -f 1926/2675/155 1928/2678/157 1864/2676/157 -f 1928/2678/157 1929/2681/158 1865/2679/158 -f 1929/2681/158 1930/2764/159 1866/2682/159 -f 1930/2684/159 1931/2765/160 1867/2685/160 -f 1867/2687/160 1931/2765/160 1932/2688/161 -f 1932/2688/161 1933/2692/162 1869/2690/162 -f 1933/2692/162 1934/2695/163 1870/2693/163 -f 1934/2695/163 1935/2698/164 1871/2696/164 -f 1935/2698/164 1936/2766/165 1872/2699/165 -f 1872/2701/165 1936/2766/165 1937/2702/166 -f 1873/2704/166 1937/2702/166 1938/2705/167 -f 1938/2705/167 1939/2709/168 1875/2707/168 -f 1939/2709/168 1940/2712/169 1876/2710/169 -f 1940/2712/169 1941/2672/156 1877/2713/156 +f 1664/2282/134 1633/2283/126 1665/2284/126 +f 1633/2285/126 1666/2286/135 1665/2287/126 +f 1634/2288/135 1667/2289/136 1666/2290/135 +f 1635/2291/136 1668/2292/137 1667/2293/136 +f 1636/2294/137 1669/2295/125 1668/2296/137 +f 1637/2297/125 1655/2298/138 1669/2299/125 +f 1623/2300/138 1654/2301/139 1655/2302/138 +f 1622/2303/139 1656/2304/140 1654/2305/139 +f 1624/2306/140 1657/2307/124 1656/2308/140 +f 1625/2309/124 1658/2310/141 1657/2311/124 +f 1626/2312/141 1659/2313/142 1658/2314/141 +f 1627/2315/142 1660/2316/143 1659/2317/142 +f 1628/2318/143 1661/2319/127 1660/2320/143 +f 1629/2321/127 1662/2322/144 1661/2323/127 +f 1630/2324/144 1663/2325/145 1662/2326/144 +f 1631/2327/145 1664/2328/134 1663/2329/145 +f 1547/2330/140 1580/2331/124 1548/2332/124 +f 1555/2333/134 1588/2334/126 1556/2335/126 +f 1548/2336/124 1581/2337/141 1549/2338/141 +f 1556/2339/126 1589/2340/135 1557/2341/135 +f 1549/2342/141 1582/2343/142 1550/2344/142 +f 1542/2345/136 1575/2346/137 1543/2347/137 +f 1557/2348/135 1574/2349/136 1542/2350/136 +f 1550/2351/142 1583/2352/143 1551/2353/143 +f 1543/2354/137 1576/2355/125 1544/2356/125 +f 1551/2357/143 1584/2358/127 1552/2359/127 +f 1544/2360/125 1577/2361/138 1545/2362/138 +f 1552/2363/127 1585/2364/144 1553/2365/144 +f 1545/2366/138 1578/2367/139 1546/2368/139 +f 1553/2369/144 1586/2370/145 1554/2371/145 +f 1546/2372/139 1579/2373/140 1547/2374/140 +f 1554/2375/145 1587/2376/134 1555/2377/134 +f 1647/2378/137 1565/2379/136 1646/2380/136 +f 1640/2381/127 1573/2382/143 1639/2383/143 +f 1648/2384/125 1564/2385/137 1647/2386/137 +f 1641/2387/144 1571/2388/127 1640/2389/127 +f 1649/2390/138 1563/2391/125 1648/2392/125 +f 1642/2393/145 1570/2394/144 1641/2395/144 +f 1650/2396/139 1562/2397/138 1649/2398/138 +f 1643/2399/134 1569/2400/145 1642/2401/145 +f 1651/2402/140 1561/2403/139 1650/2404/139 +f 1644/2405/126 1568/2406/134 1643/2407/134 +f 1652/2408/124 1560/2409/140 1651/2410/140 +f 1645/2411/135 1567/2412/126 1644/2413/126 +f 1653/2414/141 1559/2415/124 1652/2416/124 +f 1646/2417/136 1566/2418/135 1645/2419/135 +f 1639/2420/143 1572/2421/142 1638/2422/142 +f 1638/2423/142 1558/2424/141 1653/2425/141 +f 1815/2426/146 1751/2427/147 1750/2428/146 +f 1676/2429/124 1691/2430/140 1675/2431/140 +f 1684/2432/126 1699/2433/134 1683/2434/134 +f 1677/2435/141 1692/2436/124 1676/2429/124 +f 1685/2437/135 1700/2438/126 1684/2432/126 +f 1678/2439/142 1693/2440/141 1677/2435/141 +f 1671/2441/137 1687/2442/136 1670/2443/136 +f 1670/2443/136 1701/2444/135 1685/2437/135 +f 1679/2445/143 1694/2446/142 1678/2439/142 +f 1672/2447/125 1686/2448/137 1671/2441/137 +f 1680/2449/127 1695/2450/143 1679/2445/143 +f 1673/2451/138 1688/2452/125 1672/2447/125 +f 1681/2453/144 1696/2454/127 1680/2449/127 +f 1674/2455/139 1689/2456/138 1673/2451/138 +f 1682/2457/145 1697/2458/144 1681/2453/144 +f 1675/2431/140 1690/2459/139 1674/2460/139 +f 1683/2434/134 1698/2461/145 1682/2457/145 +f 1829/2462/148 1750/2463/146 1765/2464/148 +f 1814/2465/147 1752/2466/149 1751/2467/147 +f 1816/2468/149 1753/2469/150 1752/2470/149 +f 1817/2471/150 1754/2472/151 1753/2473/150 +f 1818/2474/151 1755/2475/152 1754/2476/151 +f 1755/2477/152 1820/2478/153 1756/2479/153 +f 1820/2478/153 1757/2480/154 1756/2481/153 +f 1821/2482/154 1758/2483/155 1757/2484/154 +f 1822/2485/155 1759/2486/156 1758/2487/155 +f 1823/2488/156 1760/2489/157 1759/2490/156 +f 1760/2491/157 1825/2492/158 1761/2493/158 +f 1761/2494/158 1826/2495/159 1762/2496/159 +f 1826/2495/159 1763/2497/160 1762/2498/159 +f 1827/2499/160 1764/2500/161 1763/2501/160 +f 1828/2502/161 1765/2503/148 1764/2504/161 +f 1664/2282/134 1632/2505/134 1633/2283/126 +f 1633/2285/126 1634/2506/135 1666/2286/135 +f 1634/2288/135 1635/2507/136 1667/2289/136 +f 1635/2291/136 1636/2508/137 1668/2292/137 +f 1636/2294/137 1637/2509/125 1669/2295/125 +f 1637/2297/125 1623/2510/138 1655/2298/138 +f 1623/2300/138 1622/2511/139 1654/2301/139 +f 1622/2303/139 1624/2512/140 1656/2304/140 +f 1624/2306/140 1625/2513/124 1657/2307/124 +f 1625/2309/124 1626/2514/141 1658/2310/141 +f 1626/2312/141 1627/2515/142 1659/2313/142 +f 1627/2315/142 1628/2516/143 1660/2316/143 +f 1628/2318/143 1629/2517/127 1661/2319/127 +f 1629/2321/127 1630/2518/144 1662/2322/144 +f 1630/2324/144 1631/2519/145 1663/2325/145 +f 1631/2327/145 1632/2520/134 1664/2328/134 +f 1547/2330/140 1579/2521/140 1580/2331/124 +f 1555/2333/134 1587/2522/134 1588/2334/126 +f 1548/2336/124 1580/2523/124 1581/2337/141 +f 1556/2339/126 1588/2524/126 1589/2340/135 +f 1549/2342/141 1581/2525/141 1582/2343/142 +f 1542/2345/136 1574/2526/136 1575/2346/137 +f 1557/2348/135 1589/2527/135 1574/2349/136 +f 1550/2351/142 1582/2528/142 1583/2352/143 +f 1543/2354/137 1575/2529/137 1576/2355/125 +f 1551/2357/143 1583/2530/143 1584/2358/127 +f 1544/2360/125 1576/2531/125 1577/2361/138 +f 1552/2363/127 1584/2532/127 1585/2364/144 +f 1545/2366/138 1577/2533/138 1578/2367/139 +f 1553/2369/144 1585/2534/144 1586/2370/145 +f 1546/2372/139 1578/2535/139 1579/2373/140 +f 1554/2375/145 1586/2536/145 1587/2376/134 +f 1647/2378/137 1564/2537/137 1565/2379/136 +f 1640/2381/127 1571/2538/127 1573/2382/143 +f 1648/2384/125 1563/2539/125 1564/2385/137 +f 1641/2387/144 1570/2540/144 1571/2388/127 +f 1649/2390/138 1562/2541/138 1563/2391/125 +f 1642/2393/145 1569/2542/145 1570/2394/144 +f 1650/2396/139 1561/2543/139 1562/2397/138 +f 1643/2399/134 1568/2544/134 1569/2400/145 +f 1651/2402/140 1560/2545/140 1561/2403/139 +f 1644/2405/126 1567/2546/126 1568/2406/134 +f 1652/2408/124 1559/2547/124 1560/2409/140 +f 1645/2411/135 1566/2548/135 1567/2412/126 +f 1653/2414/141 1558/2549/141 1559/2415/124 +f 1646/2417/136 1565/2550/136 1566/2418/135 +f 1639/2420/143 1573/2551/143 1572/2421/142 +f 1638/2423/142 1572/2552/142 1558/2424/141 +f 1815/2426/146 1814/2465/147 1751/2427/147 +f 1676/2429/124 1692/2436/124 1691/2430/140 +f 1684/2432/126 1700/2438/126 1699/2433/134 +f 1677/2435/141 1693/2440/141 1692/2436/124 +f 1685/2437/135 1701/2444/135 1700/2438/126 +f 1678/2439/142 1694/2446/142 1693/2440/141 +f 1671/2441/137 1686/2448/137 1687/2442/136 +f 1670/2443/136 1687/2442/136 1701/2444/135 +f 1679/2445/143 1695/2450/143 1694/2446/142 +f 1672/2447/125 1688/2452/125 1686/2448/137 +f 1680/2449/127 1696/2454/127 1695/2450/143 +f 1673/2451/138 1689/2456/138 1688/2452/125 +f 1681/2453/144 1697/2458/144 1696/2454/127 +f 1674/2455/139 1690/2553/139 1689/2456/138 +f 1682/2457/145 1698/2461/145 1697/2458/144 +f 1675/2431/140 1691/2430/140 1690/2459/139 +f 1683/2434/134 1699/2433/134 1698/2461/145 +f 1829/2462/148 1815/2426/146 1750/2463/146 +f 1814/2465/147 1816/2468/149 1752/2466/149 +f 1816/2468/149 1817/2471/150 1753/2469/150 +f 1817/2471/150 1818/2554/151 1754/2472/151 +f 1818/2474/151 1819/2555/152 1755/2475/152 +f 1755/2477/152 1819/2555/152 1820/2478/153 +f 1820/2478/153 1821/2482/154 1757/2480/154 +f 1821/2482/154 1822/2485/155 1758/2483/155 +f 1822/2485/155 1823/2488/156 1759/2486/156 +f 1823/2488/156 1824/2556/157 1760/2489/157 +f 1760/2491/157 1824/2556/157 1825/2492/158 +f 1761/2494/158 1825/2492/158 1826/2495/159 +f 1826/2495/159 1827/2499/160 1763/2497/160 +f 1827/2499/160 1828/2502/161 1764/2500/161 +f 1828/2502/161 1829/2462/148 1765/2503/148 diff --git a/src/main/java/assets/hbm/textures/blocks/turret_chekhov.png b/src/main/java/assets/hbm/textures/blocks/turret_chekhov.png new file mode 100644 index 0000000000000000000000000000000000000000..2bf1c59ab31928706dd6b6e03ee6c36823ceb8f1 GIT binary patch literal 6969 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 literal 653 zcmeAS@N?(olHy`uVBq!ia0vp^1wd@h!3HF+>^(OhNHG=%xjQkeJ16rJ$YDu$^mSxl z*x1kgCy^D%=PdAuEM{QfI}E~%$MaXD00kvVTq8 z4E0P?+#`V2F#hv&aSW-5dpoN!^QZxj%ijEHKNhD;n z=~)t0=l7oeeRW^*%ctLiYE3Uzzfg2uu)Pf^QKEO@b@j?N$LCCY_p#SoaDBPw^mz4DZc!eSPY8jIC+3N{6}`A0lRS=cjg!-11dlD3JBlUt3d4l${7r+!J9$@IPU z|6hB7pAr3+f&3O$Ke1CUJa;iIl?l19oauJ){C9u10`*@KtBCs-Yxr$u+465M f!BYKe_c4l|`)_#u{;X5L)WYED>gTe~DWM4fyWtr_ diff --git a/src/main/java/assets/hbm/textures/models/turrets/carriage.png b/src/main/java/assets/hbm/textures/models/turrets/carriage.png index 8349e441f32447377c394048d676ff34fa6dc960..b7f2bcee5ecbc340b54f1299ab03e76aca802e65 100644 GIT binary patch delta 619 zcmV-x0+ju~1%w5VB!2{RLP=Bz2nYy#2xN!=00KKnL_t(&f$f>GPJ}=ZhJOraa_|T? z*WWuBUc$p8r3K1rX3k?v;BIFL6LX$f?#O$YLrrekMZ~z3!9BbUEC;&oNN?D zQM0AIjB6;N>wio)XIP&PjT``o@>)tNq?lDKuK{E{+_ znBEB1f1Srw0sweez8M+5f4>9(+$|K#s6LioRuOE|oPVEEBcIZ*-U!x3b57!jBl)>VYBuG*N0z{Ic?nDYk0ly7QtXNkP|{}%uN002ovPDHLk FV1j4-F>L?< delta 679 zcmV;Y0$BZo1-}K5B!2;OQb$4nuFf3k00004XF*Lt006O%3;baP00009a7bBm000id z000id0mpBsWB>pF7<5HgbW?9;ba!ELWdLwtX>N2bZe?^JG%hhNHDpIvQUCw~FiAu~ zRCr$PmBDQTF$@F`smy)kj8VPH+s;u;$h7_ zXn7TO*8|F7@;qP<_J#*tqYAt0;a>Rj_2H&!pt0wywuRhBIZU1h>@hL}qHBfs>K0tU zM-g`S2&qFkOr8hq5t)U-?j9j^!-54IAle7zFnJ!ZM}Kr4gx&EVwJDf@J4O4r1((6` z42Q6N*!>n#TkZ=?o(Jq<=V?*y;~DN``>^{hq_#`2EP-b@gzZxn#>Xl27elR&T3o8eU!uGdB7ecGa$NFc(1B~7k$49yXyhvFnJ!Z2YbVVu2F^E^`PbP zu;x9W945~L_F!-HplhuYHe?Ud0|iAmYo3=36V`*a$+W_x^`LDsM`7~*Ld!DVh&1*? z#z?^fNx_qof+r^hPfiM+oD@7cDR^>H@Z_Z6$skF=lOxi4(6Ys{ZNGX{zzUwiwbK9q N002ovPDHLkV1l2KK}7%n diff --git a/src/main/java/assets/hbm/textures/models/turrets/chekhov.png b/src/main/java/assets/hbm/textures/models/turrets/chekhov.png index d414ee1ef50b9352d24670769788aa70cfbc2973..6f9145cd21216fc1cabadc1610ffebdab0c4d1e8 100644 GIT binary patch delta 1532 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 A6951J diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 5221d1ae9..d2461305e 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -6,8 +6,9 @@ import com.hbm.blocks.fluid.*; import com.hbm.blocks.machine.*; import com.hbm.blocks.network.*; import com.hbm.blocks.test.*; +import com.hbm.blocks.turret.*; import com.hbm.items.block.*; -import com.hbm.items.bomb.ItemPrototypeBlock; +import com.hbm.items.bomb.*; import com.hbm.items.special.ItemOreBlock; import com.hbm.lib.ModDamageSource; import com.hbm.lib.RefStrings; @@ -794,8 +795,11 @@ public class ModBlocks { public static Block turret_cheapo; public static Block turret_chekhov; + public static final int guiID_chekhov = 104; public static Block turret_jeremy; + public static final int guiID_jeremy = 105; public static Block turret_tauon; + public static final int guiID_tauon = 106; public static Block book_guide; diff --git a/src/main/java/com/hbm/blocks/generic/BlockCoalBurning.java b/src/main/java/com/hbm/blocks/generic/BlockCoalBurning.java index 82fadc35b..312c9c310 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockCoalBurning.java +++ b/src/main/java/com/hbm/blocks/generic/BlockCoalBurning.java @@ -15,7 +15,7 @@ import net.minecraftforge.common.util.ForgeDirection; public class BlockCoalBurning extends BlockOutgas { public BlockCoalBurning(Material mat) { - super(mat, true, 1, true); + super(mat, false, 1, false); this.setTickRandomly(true); } @@ -58,6 +58,17 @@ public class BlockCoalBurning extends BlockOutgas { super.breakBlock(world, x, y, z, block, i); world.setBlock(x, y, z, Blocks.fire); + + for(int ix = -2; ix <= 2; ix++) { + for(int iy = -2; iy <= 2; iy++) { + for(int iz = -2; iz <= 2; iz++) { + + if(Math.abs(ix + iy + iz) < 5 && world.getBlock(x + ix, y + iy, z + iz) == Blocks.air) { + world.setBlock(x + ix, y + iy, z + iz, this.getGas()); + } + } + } + } } @Override diff --git a/src/main/java/com/hbm/blocks/generic/BlockOutgas.java b/src/main/java/com/hbm/blocks/generic/BlockOutgas.java index 2d64ecbb6..1d4fe9cd6 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockOutgas.java +++ b/src/main/java/com/hbm/blocks/generic/BlockOutgas.java @@ -36,7 +36,7 @@ public class BlockOutgas extends BlockOre { return rate; } - private Block getGas() { + protected Block getGas() { if(this == ModBlocks.ore_uranium || this == ModBlocks.ore_uranium_scorched || this == ModBlocks.ore_gneiss_uranium || this == ModBlocks.ore_gneiss_uranium_scorched || @@ -110,4 +110,22 @@ public class BlockOutgas extends BlockOre { } } } + + @Override + public void breakBlock(World world, int x, int y, int z, Block block, int i) { + super.breakBlock(world, x, y, z, block, i); + + if(this == ModBlocks.ancient_scrap) { + for(int ix = -2; ix <= 2; ix++) { + for(int iy = -2; iy <= 2; iy++) { + for(int iz = -2; iz <= 2; iz++) { + + if(Math.abs(ix + iy + iz) < 5 && world.getBlock(x + ix, y + iy, z + iz) == Blocks.air) { + world.setBlock(x + ix, y + iy, z + iz, this.getGas()); + } + } + } + } + } + } } diff --git a/src/main/java/com/hbm/blocks/bomb/TurretBase.java b/src/main/java/com/hbm/blocks/turret/TurretBase.java similarity index 95% rename from src/main/java/com/hbm/blocks/bomb/TurretBase.java rename to src/main/java/com/hbm/blocks/turret/TurretBase.java index 2d2c49654..12a342b77 100644 --- a/src/main/java/com/hbm/blocks/bomb/TurretBase.java +++ b/src/main/java/com/hbm/blocks/turret/TurretBase.java @@ -1,4 +1,4 @@ -package com.hbm.blocks.bomb; +package com.hbm.blocks.turret; import java.util.Random; diff --git a/src/main/java/com/hbm/blocks/bomb/TurretCIWS.java b/src/main/java/com/hbm/blocks/turret/TurretCIWS.java similarity index 98% rename from src/main/java/com/hbm/blocks/bomb/TurretCIWS.java rename to src/main/java/com/hbm/blocks/turret/TurretCIWS.java index 9cf25aa07..7efcf0b06 100644 --- a/src/main/java/com/hbm/blocks/bomb/TurretCIWS.java +++ b/src/main/java/com/hbm/blocks/turret/TurretCIWS.java @@ -1,11 +1,10 @@ -package com.hbm.blocks.bomb; +package com.hbm.blocks.turret; import java.util.List; import com.hbm.config.WeaponConfig; import com.hbm.entity.particle.EntityGasFlameFX; import com.hbm.lib.ModDamageSource; -import com.hbm.main.MainRegistry; import com.hbm.tileentity.turret.TileEntityTurretCIWS; import net.minecraft.block.material.Material; diff --git a/src/main/java/com/hbm/blocks/bomb/TurretCheapo.java b/src/main/java/com/hbm/blocks/turret/TurretCheapo.java similarity index 98% rename from src/main/java/com/hbm/blocks/bomb/TurretCheapo.java rename to src/main/java/com/hbm/blocks/turret/TurretCheapo.java index 11f7afa51..7ef3024d3 100644 --- a/src/main/java/com/hbm/blocks/bomb/TurretCheapo.java +++ b/src/main/java/com/hbm/blocks/turret/TurretCheapo.java @@ -1,4 +1,4 @@ -package com.hbm.blocks.bomb; +package com.hbm.blocks.turret; import com.hbm.entity.projectile.EntityBullet; import com.hbm.tileentity.turret.TileEntityTurretCheapo; diff --git a/src/main/java/com/hbm/blocks/bomb/TurretChekhov.java b/src/main/java/com/hbm/blocks/turret/TurretChekhov.java similarity index 58% rename from src/main/java/com/hbm/blocks/bomb/TurretChekhov.java rename to src/main/java/com/hbm/blocks/turret/TurretChekhov.java index 32c434522..431864ad4 100644 --- a/src/main/java/com/hbm/blocks/bomb/TurretChekhov.java +++ b/src/main/java/com/hbm/blocks/turret/TurretChekhov.java @@ -1,9 +1,15 @@ -package com.hbm.blocks.bomb; +package com.hbm.blocks.turret; import com.hbm.blocks.BlockDummyable; +import com.hbm.blocks.ModBlocks; +import com.hbm.main.MainRegistry; +import com.hbm.tileentity.TileEntityProxyCombo; +import com.hbm.tileentity.machine.TileEntityMachineCyclotron; import com.hbm.tileentity.turret.TileEntityTurretChekhov; +import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import net.minecraft.block.material.Material; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.IBlockAccess; @@ -20,7 +26,7 @@ public class TurretChekhov extends BlockDummyable { if(meta >= 12) return new TileEntityTurretChekhov(); - return null; + return new TileEntityProxyCombo(true, true, false); } @Override @@ -43,4 +49,21 @@ public class TurretChekhov extends BlockDummyable { this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.5F, 1.0F); return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ); } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { + if(world.isRemote) { + return true; + } else if(!player.isSneaking()) { + int[] pos = this.findCore(world, x, y, z); + + if(pos == null) + return false; + + FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_chekhov, world, pos[0], pos[1], pos[2]); + return true; + } else { + return false; + } + } } diff --git a/src/main/java/com/hbm/blocks/bomb/TurretFlamer.java b/src/main/java/com/hbm/blocks/turret/TurretFlamer.java similarity index 98% rename from src/main/java/com/hbm/blocks/bomb/TurretFlamer.java rename to src/main/java/com/hbm/blocks/turret/TurretFlamer.java index b82dbd9fe..56c4b8d65 100644 --- a/src/main/java/com/hbm/blocks/bomb/TurretFlamer.java +++ b/src/main/java/com/hbm/blocks/turret/TurretFlamer.java @@ -1,4 +1,4 @@ -package com.hbm.blocks.bomb; +package com.hbm.blocks.turret; import com.hbm.entity.projectile.EntityFire; import com.hbm.tileentity.turret.TileEntityTurretFlamer; diff --git a/src/main/java/com/hbm/blocks/bomb/TurretHeavy.java b/src/main/java/com/hbm/blocks/turret/TurretHeavy.java similarity index 98% rename from src/main/java/com/hbm/blocks/bomb/TurretHeavy.java rename to src/main/java/com/hbm/blocks/turret/TurretHeavy.java index ddc2d6bfc..ba442e277 100644 --- a/src/main/java/com/hbm/blocks/bomb/TurretHeavy.java +++ b/src/main/java/com/hbm/blocks/turret/TurretHeavy.java @@ -1,4 +1,4 @@ -package com.hbm.blocks.bomb; +package com.hbm.blocks.turret; import com.hbm.entity.particle.EntityGasFlameFX; import com.hbm.entity.projectile.EntityBullet; diff --git a/src/main/java/com/hbm/blocks/bomb/TurretJeremy.java b/src/main/java/com/hbm/blocks/turret/TurretJeremy.java similarity index 89% rename from src/main/java/com/hbm/blocks/bomb/TurretJeremy.java rename to src/main/java/com/hbm/blocks/turret/TurretJeremy.java index 560cb9692..88734cb1c 100644 --- a/src/main/java/com/hbm/blocks/bomb/TurretJeremy.java +++ b/src/main/java/com/hbm/blocks/turret/TurretJeremy.java @@ -1,6 +1,7 @@ -package com.hbm.blocks.bomb; +package com.hbm.blocks.turret; import com.hbm.blocks.BlockDummyable; +import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.turret.TileEntityTurretJeremy; import net.minecraft.block.material.Material; @@ -20,7 +21,7 @@ public class TurretJeremy extends BlockDummyable { if(meta >= 12) return new TileEntityTurretJeremy(); - return null; + return new TileEntityProxyCombo(true, true, false); } @Override diff --git a/src/main/java/com/hbm/blocks/bomb/TurretLight.java b/src/main/java/com/hbm/blocks/turret/TurretLight.java similarity index 98% rename from src/main/java/com/hbm/blocks/bomb/TurretLight.java rename to src/main/java/com/hbm/blocks/turret/TurretLight.java index 74f1188c1..856f40507 100644 --- a/src/main/java/com/hbm/blocks/bomb/TurretLight.java +++ b/src/main/java/com/hbm/blocks/turret/TurretLight.java @@ -1,4 +1,4 @@ -package com.hbm.blocks.bomb; +package com.hbm.blocks.turret; import com.hbm.entity.projectile.EntityBullet; import com.hbm.tileentity.turret.TileEntityTurretLight; diff --git a/src/main/java/com/hbm/blocks/bomb/TurretRocket.java b/src/main/java/com/hbm/blocks/turret/TurretRocket.java similarity index 98% rename from src/main/java/com/hbm/blocks/bomb/TurretRocket.java rename to src/main/java/com/hbm/blocks/turret/TurretRocket.java index bfdfe4d6b..b300f1801 100644 --- a/src/main/java/com/hbm/blocks/bomb/TurretRocket.java +++ b/src/main/java/com/hbm/blocks/turret/TurretRocket.java @@ -1,4 +1,4 @@ -package com.hbm.blocks.bomb; +package com.hbm.blocks.turret; import com.hbm.entity.particle.EntityGasFlameFX; import com.hbm.entity.projectile.EntityRocket; diff --git a/src/main/java/com/hbm/blocks/bomb/TurretSpitfire.java b/src/main/java/com/hbm/blocks/turret/TurretSpitfire.java similarity index 98% rename from src/main/java/com/hbm/blocks/bomb/TurretSpitfire.java rename to src/main/java/com/hbm/blocks/turret/TurretSpitfire.java index 0edbb1e0a..b4a8ff633 100644 --- a/src/main/java/com/hbm/blocks/bomb/TurretSpitfire.java +++ b/src/main/java/com/hbm/blocks/turret/TurretSpitfire.java @@ -1,4 +1,4 @@ -package com.hbm.blocks.bomb; +package com.hbm.blocks.turret; import com.hbm.entity.particle.EntityGasFlameFX; import com.hbm.entity.projectile.EntityAAShell; diff --git a/src/main/java/com/hbm/blocks/bomb/TurretTau.java b/src/main/java/com/hbm/blocks/turret/TurretTau.java similarity index 98% rename from src/main/java/com/hbm/blocks/bomb/TurretTau.java rename to src/main/java/com/hbm/blocks/turret/TurretTau.java index 103d3962e..cd44cd19c 100644 --- a/src/main/java/com/hbm/blocks/bomb/TurretTau.java +++ b/src/main/java/com/hbm/blocks/turret/TurretTau.java @@ -1,4 +1,4 @@ -package com.hbm.blocks.bomb; +package com.hbm.blocks.turret; import com.hbm.entity.projectile.EntityBullet; import com.hbm.tileentity.turret.TileEntityTurretTau; diff --git a/src/main/java/com/hbm/blocks/bomb/TurretTauon.java b/src/main/java/com/hbm/blocks/turret/TurretTauon.java similarity index 89% rename from src/main/java/com/hbm/blocks/bomb/TurretTauon.java rename to src/main/java/com/hbm/blocks/turret/TurretTauon.java index 893181643..e9e7a17e4 100644 --- a/src/main/java/com/hbm/blocks/bomb/TurretTauon.java +++ b/src/main/java/com/hbm/blocks/turret/TurretTauon.java @@ -1,7 +1,7 @@ -package com.hbm.blocks.bomb; +package com.hbm.blocks.turret; import com.hbm.blocks.BlockDummyable; -import com.hbm.tileentity.turret.TileEntityTurretChekhov; +import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.turret.TileEntityTurretTauon; import net.minecraft.block.material.Material; @@ -21,7 +21,7 @@ public class TurretTauon extends BlockDummyable { if(meta >= 12) return new TileEntityTurretTauon(); - return null; + return new TileEntityProxyCombo(true, true, false); } @Override diff --git a/src/main/java/com/hbm/crafting/MineralRecipes.java b/src/main/java/com/hbm/crafting/MineralRecipes.java index 01cc1ce78..9a9c308e3 100644 --- a/src/main/java/com/hbm/crafting/MineralRecipes.java +++ b/src/main/java/com/hbm/crafting/MineralRecipes.java @@ -90,9 +90,9 @@ public class MineralRecipes { GameRegistry.addShapelessRecipe(new ItemStack(ModItems.ingot_schrabidium, 2), new Object[] { ModItems.billet_schrabidium, ModItems.billet_schrabidium, ModItems.billet_schrabidium }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.ingot_solinium, 2), new Object[] { ModItems.billet_solinium, ModItems.billet_solinium, ModItems.billet_solinium }); - GameRegistry.addShapelessRecipe(new ItemStack(ModItems.pellet_rtg), new Object[] { ModItems.billet_pu238, ModItems.billet_pu238, ModItems.billet_pu238 }); - GameRegistry.addShapelessRecipe(new ItemStack(ModItems.pellet_rtg_weak), new Object[] { ModItems.billet_u238, ModItems.billet_u238, ModItems.billet_pu238 }); - GameRegistry.addShapelessRecipe(new ItemStack(ModItems.pellet_rtg_polonium), new Object[] { ModItems.billet_polonium, ModItems.billet_polonium, ModItems.billet_polonium }); + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.pellet_rtg), new Object[] { ModItems.billet_pu238, ModItems.billet_pu238, ModItems.billet_pu238, "plateIron" })); + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.pellet_rtg_weak), new Object[] { ModItems.billet_u238, ModItems.billet_u238, ModItems.billet_pu238, "plateIron" })); + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.pellet_rtg_polonium), new Object[] { ModItems.billet_polonium, ModItems.billet_polonium, ModItems.billet_polonium, "plateIron" })); GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.block_copper), 1), new Object[] { "###", "###", "###", '#', ModItems.ingot_copper }); GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.block_fluorite), 1), new Object[] { "###", "###", "###", '#', ModItems.fluorite }); diff --git a/src/main/java/com/hbm/handler/BossSpawnHandler.java b/src/main/java/com/hbm/handler/BossSpawnHandler.java index 095ed9c54..a47a53bbd 100644 --- a/src/main/java/com/hbm/handler/BossSpawnHandler.java +++ b/src/main/java/com/hbm/handler/BossSpawnHandler.java @@ -7,7 +7,6 @@ import com.hbm.entity.mob.EntityRADBeast; import com.hbm.util.ContaminationUtil; import cpw.mods.fml.common.eventhandler.Event.Result; -import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.util.ChatComponentText; diff --git a/src/main/java/com/hbm/handler/GUIHandler.java b/src/main/java/com/hbm/handler/GUIHandler.java index 64b4fed1b..97aae535d 100644 --- a/src/main/java/com/hbm/handler/GUIHandler.java +++ b/src/main/java/com/hbm/handler/GUIHandler.java @@ -8,6 +8,7 @@ import com.hbm.inventory.inv.InventoryLeadBox; import com.hbm.items.ModItems; import com.hbm.tileentity.bomb.*; import com.hbm.tileentity.machine.*; +import com.hbm.tileentity.turret.TileEntityTurretChekhov; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.tileentity.TileEntity; @@ -727,6 +728,13 @@ public class GUIHandler implements IGuiHandler { } return null; } + + case ModBlocks.guiID_chekhov: { + if(entity instanceof TileEntityTurretChekhov) { + return new ContainerTurretChekhov(player.inventory, (TileEntityTurretChekhov) entity); + } + return null; + } } // NON-TE CONTAINERS @@ -1443,6 +1451,13 @@ public class GUIHandler implements IGuiHandler { } return null; } + + case ModBlocks.guiID_chekhov: { + if(entity instanceof TileEntityTurretChekhov) { + return new GUITurretChekhov(player.inventory, (TileEntityTurretChekhov) entity); + } + return null; + } } // ITEM GUIS diff --git a/src/main/java/com/hbm/inventory/container/ContainerTurretChekhov.java b/src/main/java/com/hbm/inventory/container/ContainerTurretChekhov.java new file mode 100644 index 000000000..227f1e6e7 --- /dev/null +++ b/src/main/java/com/hbm/inventory/container/ContainerTurretChekhov.java @@ -0,0 +1,75 @@ +package com.hbm.inventory.container; + +import com.hbm.tileentity.turret.TileEntityTurretChekhov; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; + +public class ContainerTurretChekhov extends Container { + + private TileEntityTurretChekhov turret; + + public ContainerTurretChekhov(InventoryPlayer invPlayer, TileEntityTurretChekhov te) { + turret = te; + + this.addSlotToContainer(new Slot(te, 0, 98, 27)); + + for(int i = 0; i < 3; i++) { + for(int j = 0; j < 3; j++) { + this.addSlotToContainer(new Slot(te, 1 + i * 3 + j, 80 + j * 18, 63 + i * 18)); + } + } + + this.addSlotToContainer(new Slot(te, 10, 152, 99)); + + 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 + (18 * 3) + 2)); + } + } + + for(int i = 0; i < 9; i++) + { + this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142 + (18 * 3) + 2)); + } + } + + @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 <= turret.getSizeInventory() - 1) { + if(!this.mergeItemStack(var5, turret.getSizeInventory(), this.inventorySlots.size(), true)) { + return null; + } + } else if(!this.mergeItemStack(var5, 0, turret.getSizeInventory(), false)) { + return null; + } + + if(var5.stackSize == 0) { + var4.putStack((ItemStack) null); + } else { + var4.onSlotChanged(); + } + + var4.onPickupFromSlot(p_82846_1_, var5); + } + + return var3; + } + + @Override + public boolean canInteractWith(EntityPlayer player) { + return turret.isUseableByPlayer(player); + } +} diff --git a/src/main/java/com/hbm/inventory/gui/GUITurretChekhov.java b/src/main/java/com/hbm/inventory/gui/GUITurretChekhov.java new file mode 100644 index 000000000..eedea9d10 --- /dev/null +++ b/src/main/java/com/hbm/inventory/gui/GUITurretChekhov.java @@ -0,0 +1,94 @@ +package com.hbm.inventory.gui; + +import org.lwjgl.opengl.GL11; + +import com.hbm.inventory.container.ContainerTurretChekhov; +import com.hbm.lib.RefStrings; +import com.hbm.packet.AuxButtonPacket; +import com.hbm.packet.PacketDispatcher; +import com.hbm.tileentity.turret.TileEntityTurretChekhov; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.audio.PositionedSoundRecord; +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 GUITurretChekhov extends GuiContainer { + + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/weapon/gui_turret_base.png"); + private TileEntityTurretChekhov turret; + + public GUITurretChekhov(InventoryPlayer invPlayer, TileEntityTurretChekhov tedf) { + super(new ContainerTurretChekhov(invPlayer, tedf)); + turret = tedf; + + this.xSize = 176; + this.ySize = 222; + } + + protected void mouseClicked(int x, int y, int i) { + super.mouseClicked(x, y, i); + + if(guiLeft + 115 <= x && guiLeft + 115 + 18 > x && guiTop + 26 < y && guiTop + 26 + 18 >= y) { + + mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); + PacketDispatcher.wrapper.sendToServer(new AuxButtonPacket(turret.xCoord, turret.yCoord, turret.zCoord, 0, 0)); + } + + if(guiLeft + 8 <= x && guiLeft + 8 + 10 > x && guiTop + 30 < y && guiTop + 30 + 10 >= y) { + + mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); + PacketDispatcher.wrapper.sendToServer(new AuxButtonPacket(turret.xCoord, turret.yCoord, turret.zCoord, 0, 1)); + } + + if(guiLeft + 22 <= x && guiLeft + 22 + 10 > x && guiTop + 30 < y && guiTop + 30 + 10 >= y) { + + mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); + PacketDispatcher.wrapper.sendToServer(new AuxButtonPacket(turret.xCoord, turret.yCoord, turret.zCoord, 0, 2)); + } + + if(guiLeft + 36 <= x && guiLeft + 36 + 10 > x && guiTop + 30 < y && guiTop + 30 + 10 >= y) { + + mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); + PacketDispatcher.wrapper.sendToServer(new AuxButtonPacket(turret.xCoord, turret.yCoord, turret.zCoord, 0, 3)); + } + + if(guiLeft + 50 <= x && guiLeft + 50 + 10 > x && guiTop + 30 < y && guiTop + 30 + 10 >= y) { + + mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); + PacketDispatcher.wrapper.sendToServer(new AuxButtonPacket(turret.xCoord, turret.yCoord, turret.zCoord, 0, 4)); + } + } + + @Override + protected void drawGuiContainerForegroundLayer(int i, int j) { + String name = this.turret.hasCustomInventoryName() ? this.turret.getInventoryName() : I18n.format(this.turret.getInventoryName()); + + this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752); + this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752); + } + + @Override + protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + + if(turret.isOn) + drawTexturedModalRect(guiLeft + 115, guiTop + 26, 176, 40, 18, 18); + + if(turret.targetPlayers) + drawTexturedModalRect(guiLeft + 8, guiTop + 30, 176, 0, 10, 10); + + if(turret.targetAnimals) + drawTexturedModalRect(guiLeft + 22, guiTop + 30, 176, 10, 10, 10); + + if(turret.targetMobs) + drawTexturedModalRect(guiLeft + 36, guiTop + 30, 176, 20, 10, 10); + + if(turret.targetMachines) + drawTexturedModalRect(guiLeft + 50, guiTop + 30, 176, 30, 10, 10); + } +} diff --git a/src/main/java/com/hbm/items/machine/ItemTurretChip.java b/src/main/java/com/hbm/items/machine/ItemTurretChip.java index 481142786..a978b1bd6 100644 --- a/src/main/java/com/hbm/items/machine/ItemTurretChip.java +++ b/src/main/java/com/hbm/items/machine/ItemTurretChip.java @@ -1,7 +1,8 @@ package com.hbm.items.machine; import java.util.Arrays; -import com.hbm.blocks.bomb.TurretBase; + +import com.hbm.blocks.turret.TurretBase; import com.hbm.tileentity.turret.TileEntityTurretBase; import net.minecraft.entity.player.EntityPlayer; diff --git a/src/main/java/com/hbm/items/tool/ItemTurretControl.java b/src/main/java/com/hbm/items/tool/ItemTurretControl.java index bc43a016b..aef1458b7 100644 --- a/src/main/java/com/hbm/items/tool/ItemTurretControl.java +++ b/src/main/java/com/hbm/items/tool/ItemTurretControl.java @@ -2,7 +2,7 @@ package com.hbm.items.tool; import java.util.List; -import com.hbm.blocks.bomb.TurretBase; +import com.hbm.blocks.turret.TurretBase; import com.hbm.tileentity.turret.TileEntityTurretBase; import com.hbm.tileentity.turret.TileEntityTurretCheapo; diff --git a/src/main/java/com/hbm/render/tileentity/RenderTurretBase.java b/src/main/java/com/hbm/render/tileentity/RenderTurretBase.java new file mode 100644 index 000000000..065520aa8 --- /dev/null +++ b/src/main/java/com/hbm/render/tileentity/RenderTurretBase.java @@ -0,0 +1,50 @@ +package com.hbm.render.tileentity; + +import org.lwjgl.opengl.GL11; + +import com.hbm.handler.FluidTypeHandler.FluidType; +import com.hbm.lib.Library; +import com.hbm.main.ResourceManager; +import com.hbm.tileentity.turret.TileEntityTurretBaseNT; + +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; + +public abstract class RenderTurretBase extends TileEntitySpecialRenderer { + + protected void renderConnectors(TileEntityTurretBaseNT turret, boolean power, boolean fluid, FluidType type) { + + bindTexture(ResourceManager.turret_connector_tex); + Vec3 pos = turret.getHorizontalOffset(); + int x = (int)(turret.xCoord + pos.xCoord); + int y = turret.yCoord; + int z = (int)(turret.zCoord + pos.zCoord); + + checkPlug(turret.getWorldObj(), x - 2, y, z, true, false, type, 0, 0, 0); + checkPlug(turret.getWorldObj(), x - 2, y, z - 1, true, false, type, 0, -1, 0); + + checkPlug(turret.getWorldObj(), x - 1, y, z + 1, true, false, type, 0, -1, 90); + checkPlug(turret.getWorldObj(), x, y, z + 1, true, false, type, 0, 0, 90); + + checkPlug(turret.getWorldObj(), x + 1, y, z, true, false, type, 0, -1, 180); + checkPlug(turret.getWorldObj(), x + 1, y, z - 1, true, false, type, 0, 0, 180); + + checkPlug(turret.getWorldObj(), x, y, z - 2, true, false, type, 0, -1, 270); + checkPlug(turret.getWorldObj(), x - 1, y, z - 2, true, false, type, 0, 0, 270); + } + + private void checkPlug(World world, int x, int y, int z, boolean power, boolean fluid, FluidType type, int ox, int oz, int rot) { + + if( (power && Library.checkCableConnectables(world, x, y, z)) || + (fluid && Library.checkFluidConnectables(world, x, y, z, type)) ) { + + GL11.glPushMatrix(); + GL11.glRotated(rot, 0, 1, 0); + GL11.glTranslated(ox, 0, oz); + ResourceManager.turret_chekhov.renderPart("Connectors"); + GL11.glPopMatrix(); + } + } + +} diff --git a/src/main/java/com/hbm/render/tileentity/RenderTurretChekhov.java b/src/main/java/com/hbm/render/tileentity/RenderTurretChekhov.java index 1d2eb7b04..aa6de8636 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderTurretChekhov.java +++ b/src/main/java/com/hbm/render/tileentity/RenderTurretChekhov.java @@ -2,27 +2,31 @@ package com.hbm.render.tileentity; import org.lwjgl.opengl.GL11; +import com.hbm.handler.FluidTypeHandler.FluidType; import com.hbm.main.ResourceManager; import com.hbm.tileentity.turret.TileEntityTurretChekhov; -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.Vec3; -public class RenderTurretChekhov extends TileEntitySpecialRenderer { +public class RenderTurretChekhov extends RenderTurretBase { @Override public void renderTileEntityAt(TileEntity te, double x, double y, double z, float interp) { + + TileEntityTurretChekhov turret = (TileEntityTurretChekhov)te; + Vec3 pos = turret.getHorizontalOffset(); GL11.glPushMatrix(); - GL11.glTranslated(x + 1D, y, z + 1D); + GL11.glTranslated(x + pos.xCoord, y, z + pos.zCoord); GL11.glEnable(GL11.GL_LIGHTING); GL11.glEnable(GL11.GL_CULL_FACE); GL11.glShadeModel(GL11.GL_SMOOTH); + + this.renderConnectors(turret, true, false, FluidType.NONE); bindTexture(ResourceManager.turret_base_tex); ResourceManager.turret_chekhov.renderPart("Base"); - - TileEntityTurretChekhov turret = (TileEntityTurretChekhov)te; double yaw = -Math.toDegrees(turret.lastRotationYaw + (turret.rotationYaw - turret.lastRotationYaw) * interp) - 90D; double pitch = Math.toDegrees(turret.lastRotationPitch + (turret.rotationPitch - turret.lastRotationPitch) * interp); diff --git a/src/main/java/com/hbm/render/tileentity/RenderTurretJeremy.java b/src/main/java/com/hbm/render/tileentity/RenderTurretJeremy.java index 3798c03f7..c12ebe9b5 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderTurretJeremy.java +++ b/src/main/java/com/hbm/render/tileentity/RenderTurretJeremy.java @@ -2,27 +2,31 @@ package com.hbm.render.tileentity; import org.lwjgl.opengl.GL11; +import com.hbm.handler.FluidTypeHandler.FluidType; import com.hbm.main.ResourceManager; import com.hbm.tileentity.turret.TileEntityTurretJeremy; -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.Vec3; -public class RenderTurretJeremy extends TileEntitySpecialRenderer { +public class RenderTurretJeremy extends RenderTurretBase { @Override public void renderTileEntityAt(TileEntity te, double x, double y, double z, float interp) { + + TileEntityTurretJeremy turret = (TileEntityTurretJeremy)te; + Vec3 pos = turret.getHorizontalOffset(); GL11.glPushMatrix(); - GL11.glTranslated(x + 1D, y, z + 1D); + GL11.glTranslated(x + pos.xCoord, y, z + pos.zCoord); GL11.glEnable(GL11.GL_LIGHTING); GL11.glEnable(GL11.GL_CULL_FACE); GL11.glShadeModel(GL11.GL_SMOOTH); + + this.renderConnectors(turret, true, false, FluidType.NONE); bindTexture(ResourceManager.turret_base_tex); ResourceManager.turret_chekhov.renderPart("Base"); - - TileEntityTurretJeremy turret = (TileEntityTurretJeremy)te; double yaw = -Math.toDegrees(turret.lastRotationYaw + (turret.rotationYaw - turret.lastRotationYaw) * interp) - 90D; double pitch = Math.toDegrees(turret.lastRotationPitch + (turret.rotationPitch - turret.lastRotationPitch) * interp); diff --git a/src/main/java/com/hbm/render/tileentity/RenderTurretTauon.java b/src/main/java/com/hbm/render/tileentity/RenderTurretTauon.java index a75527496..7cf0e84e4 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderTurretTauon.java +++ b/src/main/java/com/hbm/render/tileentity/RenderTurretTauon.java @@ -2,31 +2,35 @@ package com.hbm.render.tileentity; import org.lwjgl.opengl.GL11; +import com.hbm.handler.FluidTypeHandler.FluidType; import com.hbm.main.ResourceManager; import com.hbm.render.util.BeamPronter; import com.hbm.render.util.BeamPronter.EnumBeamType; import com.hbm.render.util.BeamPronter.EnumWaveType; import com.hbm.tileentity.turret.TileEntityTurretTauon; -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.Vec3; -public class RenderTurretTauon extends TileEntitySpecialRenderer { +public class RenderTurretTauon extends RenderTurretBase { @Override public void renderTileEntityAt(TileEntity te, double x, double y, double z, float interp) { + + TileEntityTurretTauon turret = (TileEntityTurretTauon)te; + Vec3 off = turret.getHorizontalOffset(); GL11.glPushMatrix(); - GL11.glTranslated(x + 1D, y, z + 1D); + GL11.glTranslated(x + off.xCoord, y, z + off.zCoord); GL11.glEnable(GL11.GL_LIGHTING); GL11.glEnable(GL11.GL_CULL_FACE); GL11.glShadeModel(GL11.GL_SMOOTH); + + this.renderConnectors(turret, true, false, FluidType.NONE); bindTexture(ResourceManager.turret_base_tex); ResourceManager.turret_chekhov.renderPart("Base"); - TileEntityTurretTauon turret = (TileEntityTurretTauon)te; double yaw = -Math.toDegrees(turret.lastRotationYaw + (turret.rotationYaw - turret.lastRotationYaw) * interp) - 90D; double pitch = Math.toDegrees(turret.lastRotationPitch + (turret.rotationPitch - turret.lastRotationPitch) * interp); @@ -51,7 +55,7 @@ public class RenderTurretTauon extends TileEntitySpecialRenderer { } GL11.glTranslated(0, 1.375, 0); - GL11.glRotated((te.getWorldObj().getTotalWorldTime() + interp) * 15, -1, 0, 0); + GL11.glRotated((te.getWorldObj().getTotalWorldTime() + interp) * 40, -1, 0, 0); GL11.glTranslated(0, -1.375, 0); ResourceManager.turret_tauon.renderPart("Rotor"); diff --git a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBase.java b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBase.java index e99893b9c..81a536bd8 100644 --- a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBase.java +++ b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBase.java @@ -3,7 +3,7 @@ package com.hbm.tileentity.turret; import java.util.ArrayList; import java.util.List; -import com.hbm.blocks.bomb.TurretBase; +import com.hbm.blocks.turret.TurretBase; import com.hbm.entity.logic.EntityBomber; import com.hbm.entity.missile.EntityMissileBaseAdvanced; import com.hbm.entity.missile.EntityMissileCustom; diff --git a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBaseNT.java b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBaseNT.java index 452ca71a3..efec0368e 100644 --- a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBaseNT.java +++ b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBaseNT.java @@ -2,10 +2,11 @@ package com.hbm.tileentity.turret; import java.util.List; +import com.hbm.blocks.BlockDummyable; import com.hbm.entity.logic.EntityBomber; -import com.hbm.entity.missile.EntityMissileBase; import com.hbm.entity.missile.EntityMissileBaseAdvanced; import com.hbm.handler.BulletConfiguration; +import com.hbm.interfaces.IConsumer; import com.hbm.lib.Library; import com.hbm.tileentity.TileEntityMachineBase; @@ -27,7 +28,7 @@ import net.minecraftforge.common.util.FakePlayer; * @author hbm * */ -public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase { +public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase implements IConsumer { //this time we do all rotations in radians //what way are we facing? @@ -42,6 +43,8 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase { public boolean aligned = false; //how many ticks until the next check public int searchTimer; + + public long power; public boolean targetPlayers = false; public boolean targetAnimals = false; @@ -72,35 +75,49 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase { @Override public void updateEntity() { + if(worldObj.isRemote) { + this.lastRotationPitch = this.rotationPitch; + this.lastRotationYaw = this.rotationYaw; + } + + this.aligned = false; + if(target != null) { if(!this.entityInLOS(this.target)) { this.target = null; } } - if(worldObj.isRemote) { - this.lastRotationPitch = this.rotationPitch; - this.lastRotationYaw = this.rotationYaw; - } - - if(target != null) { - this.aligned = false; - this.alignTurret(); + if(this.isOn) { + + if(target != null) + this.alignTurret(); } else { - this.aligned = false; + + this.target = null; } if(!worldObj.isRemote) { - searchTimer--; - - if(searchTimer <= 0) { - searchTimer = this.getDecetorInterval(); - this.seekNewTarget(); + if(this.isOn) { + searchTimer--; + + if(searchTimer <= 0) { + searchTimer = this.getDecetorInterval(); + this.seekNewTarget(); + } + } else { + searchTimer = 0; } NBTTagCompound data = new NBTTagCompound(); data.setInteger("target", this.target == null ? -1 : this.target.getEntityId()); + data.setLong("power", this.power); + data.setBoolean("isOn", this.isOn); + data.setBoolean("targetPlayers", this.targetPlayers); + data.setBoolean("targetAnimals", this.targetAnimals); + data.setBoolean("targetMobs", this.targetMobs); + data.setBoolean("targetMachines", this.targetMachines); this.networkPack(data, 250); } else { @@ -118,8 +135,6 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase { else this.lastRotationYaw -= Math.PI * 2; } - - worldObj.spawnParticle("cloud", pos.xCoord, pos.yCoord, pos.zCoord, 0.0, 0.1, 0.0); if(this.aligned) worldObj.spawnParticle("flame", pos.xCoord + vec.xCoord, pos.yCoord + vec.yCoord, pos.zCoord + vec.zCoord, vec.xCoord, vec.yCoord, vec.zCoord); @@ -132,9 +147,29 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase { public void networkUnpack(NBTTagCompound nbt) { int t = nbt.getInteger("target"); + this.power = nbt.getLong("power"); + this.isOn = nbt.getBoolean("isOn"); + this.targetPlayers = nbt.getBoolean("targetPlayers"); + this.targetAnimals = nbt.getBoolean("targetAnimals"); + this.targetMobs = nbt.getBoolean("targetMobs"); + this.targetMachines = nbt.getBoolean("targetMachines"); if(t != -1) this.target = worldObj.getEntityByID(t); + else + this.target = null; + } + + @Override + public void handleButtonPacket(int value, int meta) { + + switch(meta) { + case 0:this.isOn = !this.isOn; break; + case 1:this.targetPlayers = !this.targetPlayers; break; + case 2:this.targetAnimals = !this.targetAnimals; break; + case 3:this.targetMobs = !this.targetMobs; break; + case 4:this.targetMachines = !this.targetMachines; break; + } } /** @@ -399,8 +434,25 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase { * @return */ public Vec3 getTurretPos() { - //TODO: account for multiblock rotation - return Vec3.createVectorHelper(xCoord + 1, yCoord + getHeightOffset(), zCoord + 1); + Vec3 offset = getHorizontalOffset(); + return Vec3.createVectorHelper(xCoord + offset.xCoord, yCoord + getHeightOffset(), zCoord + offset.zCoord); + } + + /** + * The XZ offset for a standard 2x2 turret base + * @return + */ + public Vec3 getHorizontalOffset() { + int meta = this.getBlockMetadata() - BlockDummyable.offset; + + if(meta == 2) + return Vec3.createVectorHelper(1, 0, 1); + if(meta == 4) + return Vec3.createVectorHelper(1, 0, 0); + if(meta == 5) + return Vec3.createVectorHelper(0, 0, 1); + + return Vec3.createVectorHelper(0, 0, 0); } /** @@ -417,14 +469,13 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase { */ protected abstract List getAmmoList(); - /* - * the void - * - * - * more stuff pending: the thing that makes the pew pew - * probably a separate method that consumes or checks ammo - * mayhaps some dangly bits that tie together the GUI with the AI chip's whitelist - */ + public void setPower(long i) { + this.power = i; + } + + public long getPower() { + return this.power; + } @Override public AxisAlignedBB getRenderBoundingBox() { diff --git a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretChekhov.java b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretChekhov.java index 5c95fdae0..1999e451b 100644 --- a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretChekhov.java +++ b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretChekhov.java @@ -31,4 +31,9 @@ public class TileEntityTurretChekhov extends TileEntityTurretBaseNT { public double getTurretElevation() { return 45D; } + + @Override + public long getMaxPower() { + return 10000; + } } diff --git a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretJeremy.java b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretJeremy.java index a3c4eaaac..13f3b118e 100644 --- a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretJeremy.java +++ b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretJeremy.java @@ -25,4 +25,9 @@ public class TileEntityTurretJeremy extends TileEntityTurretBaseNT { public double getTurretDepression() { return 35D; } + + @Override + public long getMaxPower() { + return 10000; + } } diff --git a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretTauon.java b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretTauon.java index 79903a416..3fce781ba 100644 --- a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretTauon.java +++ b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretTauon.java @@ -40,4 +40,9 @@ public class TileEntityTurretTauon extends TileEntityTurretBaseNT { public double getTurretDepression() { return 35D; } + + @Override + public long getMaxPower() { + return 10000; + } }