diff --git a/assets/hbm/lang/de_DE.lang b/assets/hbm/lang/de_DE.lang index 76d9d4ba9..250e0deca 100644 --- a/assets/hbm/lang/de_DE.lang +++ b/assets/hbm/lang/de_DE.lang @@ -1807,6 +1807,8 @@ tile.absorber_green.name=Fortgeschrittener Strahlungs-Absorber tile.absorber_pink.name=Elite Strahlungs-Absorber tile.decon.name=Spieler-Dekontaminierer tile.machine_amgen.name=Umgebungsstrahlungs-Generator +tile.machine_geo.name=Gepthermiegenerator +tile.machine_minirtg.name=Radioisotopenzelle item.schrabidium_hammer.name=Schrabidiumhammer item.shimmer_sledge.name=Shimmer Sledge diff --git a/assets/hbm/lang/en_US.lang b/assets/hbm/lang/en_US.lang index e6c433b02..ee0aef15b 100644 --- a/assets/hbm/lang/en_US.lang +++ b/assets/hbm/lang/en_US.lang @@ -1807,6 +1807,8 @@ tile.absorber_green.name=Advanced Radiation Absorber tile.absorber_pink.name=Elite Radiation Absorber tile.decon.name=Player Decontaminator tile.machine_amgen.name=Ambience Radiation Generator +tile.machine_geo.name=Geothermal Electric Generator +tile.machine_minirtg.name=Radio Isotope Cell item.schrabidium_hammer.name=Schrabidium Hammer item.shimmer_sledge.name=Shimmer Sledge diff --git a/assets/hbm/models/centrifuge_new.obj b/assets/hbm/models/centrifuge_new.obj index 3410f87b6..357ce15eb 100644 --- a/assets/hbm/models/centrifuge_new.obj +++ b/assets/hbm/models/centrifuge_new.obj @@ -265,62 +265,44 @@ v -0.250000 2.950000 -0.214645 v -0.285355 2.950000 -0.250000 v -0.250000 2.950000 -0.285355 v -0.214645 2.950000 -0.250000 -vt 0.701660 0.375647 -vt 0.946433 0.375647 -vt 0.946433 0.620421 -vt 0.672309 0.620421 -vt 0.427535 0.620421 -vt 0.427535 0.375647 -vt 0.659005 0.781669 -vt 0.636057 0.758722 -vt 0.636057 0.682230 -vt 0.659005 0.659283 -vt 0.559565 0.682230 -vt 0.559565 0.758722 -vt 0.536618 0.781669 -vt 0.804957 0.737815 -vt 0.728465 0.737815 -vt 0.728465 0.661323 -vt 0.069977 0.288624 -vt 0.192364 0.288624 -vt 0.253557 0.349817 -vt 0.192364 0.166237 -vt 0.069977 0.166237 -vt 0.008784 0.105043 -vt 0.804298 0.288624 -vt 0.926685 0.288624 -vt 0.987879 0.349817 -vt 0.926685 0.166237 -vt 0.804298 0.166237 -vt 0.743105 0.105044 -vt 0.559525 0.288624 -vt 0.681911 0.288624 -vt 0.743105 0.349817 -vt 0.681911 0.166237 -vt 0.559525 0.166237 -vt 0.498331 0.105044 -vt 0.314751 0.288624 -vt 0.437138 0.288624 -vt 0.498331 0.349817 -vt 0.437138 0.166237 -vt 0.314751 0.166237 -vt 0.253557 0.105044 -vt 0.987878 0.105043 -vt 0.008784 0.349817 -vt 0.659005 0.796968 -vt 0.536618 0.659282 -vt 0.521320 0.781669 -vt 0.536618 0.643984 -vt 0.674303 0.659282 -vt 0.820255 0.661323 -vt 0.820255 0.737815 -vt 0.728465 0.646025 -vt 0.804957 0.646025 -vt 0.804957 0.661323 -vt 0.713167 0.737815 -vt 0.713167 0.661323 -vt 0.804957 0.753113 -vt 0.728465 0.753113 +vt 0.695312 0.371094 +vt 0.949219 0.371094 +vt 0.949219 0.625000 +vt 0.144531 -0.000000 +vt 0.207031 0.000000 +vt 0.207031 0.062500 +vt 0.136719 0.039062 +vt 0.128906 0.031250 +vt 0.128906 0.015625 +vt 0.136719 0.007812 +vt 0.113281 0.015625 +vt 0.113281 0.031250 +vt 0.105469 0.039062 +vt 0.089844 0.027344 +vt 0.070312 0.027344 +vt 0.070312 0.007812 +vt 0.046875 0.015625 +vt 0.015625 0.015625 +vt -0.000000 0.000000 +vt 0.015625 0.046875 +vt 0.046875 0.046875 +vt 0.062500 0.062500 +vt 0.000000 0.062500 +vt 0.062500 0.000000 +vt 0.136719 0.042969 +vt 0.105469 0.007812 +vt 0.101562 0.039062 +vt 0.105469 0.003906 +vt 0.140625 0.007812 +vt 0.093750 0.007812 +vt 0.093750 0.027344 +vt 0.070312 0.003906 +vt 0.089844 0.003906 +vt 0.089844 0.007812 +vt 0.066406 0.027344 +vt 0.066406 0.007812 +vt 0.089844 0.031250 +vt 0.070312 0.031250 vt 0.050903 0.836838 vt 0.013435 0.836838 vt 0.013433 0.371769 @@ -398,12 +380,12 @@ vt 0.900493 0.732063 vt 0.876015 0.732063 vt 0.876015 0.719824 vt 0.924970 0.732063 -vt 0.701660 0.620421 -vt 0.672309 0.375647 -vt 0.536618 0.796968 -vt 0.521320 0.659282 -vt 0.659005 0.643984 -vt 0.674303 0.781669 +vt 0.695312 0.625000 +vt 0.144531 0.062500 +vt 0.105469 0.042969 +vt 0.101562 0.007812 +vt 0.136719 0.003906 +vt 0.140625 0.039062 vt 0.390170 0.861153 vt 0.313181 0.371768 vt 0.907759 0.690316 @@ -446,59 +428,59 @@ f 59/11/3 60/12/3 50/13/3 f 18/14/4 20/15/4 19/16/4 f 27/17/5 31/18/5 7/19/5 f 32/20/5 28/21/5 4/22/5 -f 35/23/3 39/24/3 3/25/3 -f 40/26/3 36/27/3 2/28/3 -f 29/29/4 25/30/4 1/31/4 -f 26/32/4 30/33/4 6/34/4 -f 37/35/6 33/36/6 5/37/6 -f 34/38/6 38/39/6 8/40/6 -f 6/34/6 5/37/6 33/36/6 -f 29/29/4 5/37/4 6/34/4 -f 2/28/4 1/31/4 25/30/4 -f 35/23/3 1/31/3 2/28/3 -f 4/41/3 3/25/3 39/24/3 -f 27/17/5 3/42/5 4/22/5 -f 8/40/5 7/19/5 31/18/5 -f 37/35/6 7/19/6 8/40/6 -f 42/13/1 41/7/1 28/43/1 -f 43/44/3 42/13/3 32/45/3 -f 44/10/2 43/44/2 31/46/2 -f 41/7/6 44/10/6 27/47/6 -f 46/13/1 45/7/1 30/43/1 -f 47/44/6 46/13/6 26/45/6 -f 48/10/2 47/44/2 25/46/2 -f 45/7/3 48/10/3 29/47/3 -f 50/13/1 49/7/1 36/43/1 -f 51/44/4 50/13/4 40/45/4 -f 52/10/2 51/44/2 39/46/2 -f 49/7/5 52/10/5 35/47/5 -f 54/13/1 53/7/1 38/43/1 -f 55/44/5 54/13/5 34/45/5 -f 56/10/2 55/44/2 33/46/2 -f 53/7/4 56/10/4 37/47/4 -f 47/44/4 67/11/4 68/12/4 -f 58/48/4 57/49/4 10/14/4 -f 59/50/1 58/51/1 9/52/1 -f 60/53/5 59/54/5 11/16/5 -f 57/55/2 60/56/2 12/15/2 +f 35/17/3 39/18/3 3/19/3 +f 40/20/3 36/21/3 2/22/3 +f 29/17/4 25/18/4 1/19/4 +f 26/20/4 30/21/4 6/22/4 +f 37/17/6 33/18/6 5/19/6 +f 34/20/6 38/21/6 8/22/6 +f 6/23/6 5/19/6 33/18/6 +f 29/17/4 5/24/4 6/22/4 +f 2/23/4 1/19/4 25/18/4 +f 35/17/3 1/24/3 2/22/3 +f 4/23/3 3/19/3 39/18/3 +f 27/17/5 3/24/5 4/22/5 +f 8/23/5 7/19/5 31/18/5 +f 37/17/6 7/24/6 8/22/6 +f 42/13/1 41/7/1 28/25/1 +f 43/26/3 42/13/3 32/27/3 +f 44/10/2 43/26/2 31/28/2 +f 41/7/6 44/10/6 27/29/6 +f 46/13/1 45/7/1 30/25/1 +f 47/26/6 46/13/6 26/27/6 +f 48/10/2 47/26/2 25/28/2 +f 45/7/3 48/10/3 29/29/3 +f 50/13/1 49/7/1 36/25/1 +f 51/26/4 50/13/4 40/27/4 +f 52/10/2 51/26/2 39/28/2 +f 49/7/5 52/10/5 35/29/5 +f 54/13/1 53/7/1 38/25/1 +f 55/26/5 54/13/5 34/27/5 +f 56/10/2 55/26/2 33/28/2 +f 53/7/4 56/10/4 37/29/4 +f 47/26/4 67/11/4 68/12/4 +f 58/30/4 57/31/4 10/14/4 +f 59/32/1 58/33/1 9/34/1 +f 60/35/5 59/36/5 11/16/5 +f 57/37/2 60/38/2 12/15/2 f 46/13/4 68/12/4 65/8/4 -f 62/48/5 61/49/5 16/14/5 -f 63/50/1 62/51/1 15/52/1 -f 64/53/4 63/54/4 13/16/4 -f 61/55/2 64/56/2 14/15/2 +f 62/30/5 61/31/5 16/14/5 +f 63/32/1 62/33/1 15/34/1 +f 64/35/4 63/36/4 13/16/4 +f 61/37/2 64/38/2 14/15/2 f 65/8/4 66/9/4 48/10/4 -f 66/48/6 65/49/6 18/14/6 -f 67/50/1 66/51/1 17/52/1 -f 68/53/3 67/54/3 19/16/3 -f 65/55/2 68/56/2 20/15/2 -f 66/9/4 67/11/4 47/44/4 -f 70/48/3 69/49/3 24/14/3 -f 71/50/1 70/51/1 23/52/1 -f 72/53/6 71/54/6 21/16/6 -f 69/55/2 72/56/2 22/15/2 +f 66/30/6 65/31/6 18/14/6 +f 67/32/1 66/33/1 17/34/1 +f 68/35/3 67/36/3 19/16/3 +f 65/37/2 68/38/2 20/15/2 +f 66/9/4 67/11/4 47/26/4 +f 70/30/3 69/31/3 24/14/3 +f 71/32/1 70/33/1 23/34/1 +f 72/35/6 71/36/6 21/16/6 +f 69/37/2 72/38/2 22/15/2 f 60/12/3 57/8/3 49/7/3 -f 43/44/5 71/11/5 72/12/5 -f 70/9/5 71/11/5 43/44/5 +f 43/26/5 71/11/5 72/12/5 +f 70/9/5 71/11/5 43/26/5 f 69/8/5 70/9/5 44/10/5 f 42/13/5 72/12/5 69/8/5 f 63/11/6 64/12/6 54/13/6 @@ -508,385 +490,385 @@ f 64/12/6 61/8/6 53/7/6 f 10/14/3 12/15/3 11/16/3 f 24/14/5 22/15/5 21/16/5 f 16/14/6 14/15/6 13/16/6 -f 100/57/7 102/58/7 101/59/7 -f 76/60/8 78/61/8 77/62/8 -f 98/63/9 100/57/9 99/64/9 -f 78/61/10 80/65/10 79/66/10 -f 96/67/11 98/63/11 97/68/11 -f 80/65/12 82/67/12 81/69/12 -f 200/70/13 199/71/13 195/72/13 -f 94/65/12 96/67/12 95/69/12 -f 82/67/11 84/63/11 83/68/11 -f 102/73/14 104/74/14 103/75/14 -f 92/61/10 94/65/10 93/66/10 -f 84/63/9 86/57/9 85/64/9 -f 104/74/15 73/60/15 74/76/15 -f 73/60/8 92/61/8 91/62/8 -f 86/57/7 88/58/7 87/59/7 -f 170/77/16 169/78/16 173/79/16 -f 90/74/15 76/60/15 75/76/15 -f 88/73/14 90/74/14 89/75/14 -f 174/80/17 173/79/17 175/71/17 -f 198/80/17 197/79/17 199/71/17 -f 132/57/7 134/58/7 133/59/7 -f 108/60/8 110/61/8 109/62/8 -f 130/63/9 132/57/9 131/64/9 -f 110/61/10 112/65/10 111/66/10 -f 128/67/11 130/63/11 129/68/11 -f 112/65/12 114/67/12 113/69/12 -f 194/77/16 193/78/16 197/79/16 -f 126/65/12 128/67/12 127/69/12 -f 114/67/11 116/63/11 115/68/11 -f 134/73/14 136/74/14 135/75/14 -f 124/61/10 126/65/10 125/66/10 -f 116/63/9 118/57/9 117/64/9 -f 136/74/15 105/60/15 106/76/15 -f 105/60/8 124/61/8 123/62/8 -f 118/57/7 120/58/7 119/59/7 -f 176/70/13 175/71/13 171/72/13 -f 122/74/15 108/60/15 107/76/15 -f 120/73/14 122/74/14 121/75/14 -f 172/81/18 171/82/18 169/78/18 -f 140/83/2 142/84/2 144/85/2 -f 76/60/19 138/86/19 137/87/19 -f 139/88/20 138/89/20 76/60/20 -f 140/90/21 139/91/21 90/74/21 -f 141/92/22 140/93/22 88/58/22 -f 142/94/23 141/95/23 86/57/23 -f 143/96/24 142/97/24 84/63/24 -f 144/98/25 143/99/25 82/67/25 -f 137/100/26 144/101/26 80/65/26 -f 148/83/2 150/84/2 152/85/2 -f 73/60/19 146/86/19 145/87/19 -f 104/74/20 147/88/20 146/89/20 -f 148/90/21 147/91/21 104/74/21 -f 100/57/22 149/92/22 148/93/22 -f 98/63/23 150/94/23 149/95/23 -f 151/96/24 150/97/24 98/63/24 -f 152/98/25 151/99/25 96/67/25 -f 92/61/26 145/100/26 152/101/26 -f 156/102/2 158/103/2 160/104/2 -f 108/60/19 154/86/19 153/87/19 -f 155/88/20 154/89/20 108/60/20 -f 156/90/21 155/91/21 122/74/21 -f 118/57/22 157/92/22 156/93/22 -f 158/94/23 157/95/23 118/57/23 -f 114/67/24 159/96/24 158/97/24 -f 160/98/25 159/99/25 114/67/25 -f 153/100/26 160/101/26 112/65/26 -f 164/102/2 166/103/2 168/104/2 -f 162/86/19 161/87/19 124/61/19 -f 136/74/20 163/88/20 162/89/20 -f 164/90/21 163/91/21 136/74/21 -f 132/57/22 165/92/22 164/93/22 -f 166/94/23 165/95/23 132/57/23 -f 128/67/24 167/96/24 166/97/24 -f 168/98/25 167/99/25 128/67/25 -f 124/61/26 161/100/26 168/101/26 -f 186/105/1 185/106/1 174/107/1 -f 179/108/2 178/109/2 177/110/2 -f 170/111/18 177/110/18 178/109/18 -f 174/112/16 180/113/16 177/110/16 -f 172/114/13 178/109/13 179/108/13 -f 183/115/2 182/116/2 181/117/2 -f 185/118/16 189/119/16 192/120/16 -f 179/108/13 182/116/13 186/105/13 -f 181/117/16 185/121/16 188/122/16 -f 183/115/13 187/123/13 186/105/13 -f 184/124/17 188/125/17 187/126/17 -f 180/113/2 181/117/2 182/116/2 -f 187/127/13 191/128/13 190/129/13 -f 188/130/17 192/120/17 191/128/17 -f 186/131/18 190/132/18 189/119/18 -f 174/112/16 185/121/16 181/117/16 -f 196/81/18 195/82/18 193/78/18 -f 210/105/1 209/106/1 198/107/1 -f 203/108/2 202/109/2 201/110/2 -f 194/111/18 201/110/18 202/109/18 -f 198/112/16 204/113/16 201/110/16 -f 196/114/13 202/109/13 203/108/13 -f 207/115/2 206/116/2 205/117/2 -f 209/118/16 213/119/16 216/120/16 -f 203/108/13 206/116/13 210/105/13 -f 205/117/16 209/121/16 212/122/16 -f 207/115/13 211/123/13 210/105/13 -f 208/124/17 212/125/17 211/126/17 -f 204/113/2 205/117/2 206/116/2 -f 211/127/13 215/128/13 214/129/13 -f 212/130/17 216/120/17 215/128/17 -f 210/131/18 214/132/18 213/119/18 -f 198/112/16 209/121/16 205/117/16 -f 224/70/13 223/71/13 219/72/13 -f 222/80/17 221/79/17 223/71/17 -f 218/77/16 217/78/16 221/79/16 -f 220/81/18 219/82/18 217/78/18 -f 234/105/1 233/106/1 222/107/1 -f 227/108/2 226/109/2 225/110/2 -f 218/111/18 225/110/18 226/109/18 -f 222/112/16 228/113/16 225/110/16 -f 220/114/13 226/109/13 227/108/13 -f 231/115/2 230/116/2 229/117/2 -f 233/118/16 237/119/16 240/120/16 -f 227/108/13 230/116/13 234/105/13 -f 229/117/16 233/121/16 236/122/16 -f 231/115/13 235/123/13 234/105/13 -f 232/124/17 236/125/17 235/126/17 -f 228/113/2 229/117/2 230/116/2 -f 235/127/13 239/128/13 238/129/13 -f 236/130/17 240/120/17 239/128/17 -f 234/131/18 238/132/18 237/119/18 -f 222/112/16 233/121/16 229/117/16 -f 248/70/13 247/71/13 243/72/13 -f 246/80/17 245/79/17 247/71/17 -f 242/77/16 241/78/16 245/79/16 -f 244/81/18 243/82/18 241/78/18 -f 258/105/1 257/106/1 246/107/1 -f 251/108/2 250/109/2 249/110/2 -f 242/111/18 249/110/18 250/109/18 -f 246/112/16 252/113/16 249/110/16 -f 244/114/13 250/109/13 251/108/13 -f 255/115/2 254/116/2 253/117/2 -f 257/128/16 261/127/16 264/130/16 -f 251/108/13 254/116/13 258/105/13 -f 253/117/16 257/121/16 260/122/16 -f 255/115/13 259/123/13 258/105/13 -f 256/124/17 260/125/17 259/126/17 -f 252/113/2 253/117/2 254/116/2 -f 259/119/13 263/118/13 262/131/13 -f 260/120/17 264/130/17 263/118/17 -f 258/129/18 262/133/18 261/127/18 -f 246/112/16 257/121/16 253/117/16 -f 1/134/1 3/1/1 5/3/1 -f 6/135/2 8/4/2 2/6/2 +f 100/39/7 102/40/7 101/41/7 +f 76/42/8 78/43/8 77/44/8 +f 98/45/9 100/39/9 99/46/9 +f 78/43/10 80/47/10 79/48/10 +f 96/49/11 98/45/11 97/50/11 +f 80/47/12 82/49/12 81/51/12 +f 200/52/13 199/53/13 195/54/13 +f 94/47/12 96/49/12 95/51/12 +f 82/49/11 84/45/11 83/50/11 +f 102/55/14 104/56/14 103/57/14 +f 92/43/10 94/47/10 93/48/10 +f 84/45/9 86/39/9 85/46/9 +f 104/56/15 73/42/15 74/58/15 +f 73/42/8 92/43/8 91/44/8 +f 86/39/7 88/40/7 87/41/7 +f 170/59/16 169/60/16 173/61/16 +f 90/56/15 76/42/15 75/58/15 +f 88/55/14 90/56/14 89/57/14 +f 174/62/17 173/61/17 175/53/17 +f 198/62/17 197/61/17 199/53/17 +f 132/39/7 134/40/7 133/41/7 +f 108/42/8 110/43/8 109/44/8 +f 130/45/9 132/39/9 131/46/9 +f 110/43/10 112/47/10 111/48/10 +f 128/49/11 130/45/11 129/50/11 +f 112/47/12 114/49/12 113/51/12 +f 194/59/16 193/60/16 197/61/16 +f 126/47/12 128/49/12 127/51/12 +f 114/49/11 116/45/11 115/50/11 +f 134/55/14 136/56/14 135/57/14 +f 124/43/10 126/47/10 125/48/10 +f 116/45/9 118/39/9 117/46/9 +f 136/56/15 105/42/15 106/58/15 +f 105/42/8 124/43/8 123/44/8 +f 118/39/7 120/40/7 119/41/7 +f 176/52/13 175/53/13 171/54/13 +f 122/56/15 108/42/15 107/58/15 +f 120/55/14 122/56/14 121/57/14 +f 172/63/18 171/64/18 169/60/18 +f 140/65/2 142/66/2 144/67/2 +f 76/42/19 138/68/19 137/69/19 +f 139/70/20 138/71/20 76/42/20 +f 140/72/21 139/73/21 90/56/21 +f 141/74/22 140/75/22 88/40/22 +f 142/76/23 141/77/23 86/39/23 +f 143/78/24 142/79/24 84/45/24 +f 144/80/25 143/81/25 82/49/25 +f 137/82/26 144/83/26 80/47/26 +f 148/65/2 150/66/2 152/67/2 +f 73/42/19 146/68/19 145/69/19 +f 104/56/20 147/70/20 146/71/20 +f 148/72/21 147/73/21 104/56/21 +f 100/39/22 149/74/22 148/75/22 +f 98/45/23 150/76/23 149/77/23 +f 151/78/24 150/79/24 98/45/24 +f 152/80/25 151/81/25 96/49/25 +f 92/43/26 145/82/26 152/83/26 +f 156/84/2 158/85/2 160/86/2 +f 108/42/19 154/68/19 153/69/19 +f 155/70/20 154/71/20 108/42/20 +f 156/72/21 155/73/21 122/56/21 +f 118/39/22 157/74/22 156/75/22 +f 158/76/23 157/77/23 118/39/23 +f 114/49/24 159/78/24 158/79/24 +f 160/80/25 159/81/25 114/49/25 +f 153/82/26 160/83/26 112/47/26 +f 164/84/2 166/85/2 168/86/2 +f 162/68/19 161/69/19 124/43/19 +f 136/56/20 163/70/20 162/71/20 +f 164/72/21 163/73/21 136/56/21 +f 132/39/22 165/74/22 164/75/22 +f 166/76/23 165/77/23 132/39/23 +f 128/49/24 167/78/24 166/79/24 +f 168/80/25 167/81/25 128/49/25 +f 124/43/26 161/82/26 168/83/26 +f 186/87/1 185/88/1 174/89/1 +f 179/90/2 178/91/2 177/92/2 +f 170/93/18 177/92/18 178/91/18 +f 174/94/16 180/95/16 177/92/16 +f 172/96/13 178/91/13 179/90/13 +f 183/97/2 182/98/2 181/99/2 +f 185/100/16 189/101/16 192/102/16 +f 179/90/13 182/98/13 186/87/13 +f 181/99/16 185/103/16 188/104/16 +f 183/97/13 187/105/13 186/87/13 +f 184/106/17 188/107/17 187/108/17 +f 180/95/2 181/99/2 182/98/2 +f 187/109/13 191/110/13 190/111/13 +f 188/112/17 192/102/17 191/110/17 +f 186/113/18 190/114/18 189/101/18 +f 174/94/16 185/103/16 181/99/16 +f 196/63/18 195/64/18 193/60/18 +f 210/87/1 209/88/1 198/89/1 +f 203/90/2 202/91/2 201/92/2 +f 194/93/18 201/92/18 202/91/18 +f 198/94/16 204/95/16 201/92/16 +f 196/96/13 202/91/13 203/90/13 +f 207/97/2 206/98/2 205/99/2 +f 209/100/16 213/101/16 216/102/16 +f 203/90/13 206/98/13 210/87/13 +f 205/99/16 209/103/16 212/104/16 +f 207/97/13 211/105/13 210/87/13 +f 208/106/17 212/107/17 211/108/17 +f 204/95/2 205/99/2 206/98/2 +f 211/109/13 215/110/13 214/111/13 +f 212/112/17 216/102/17 215/110/17 +f 210/113/18 214/114/18 213/101/18 +f 198/94/16 209/103/16 205/99/16 +f 224/52/13 223/53/13 219/54/13 +f 222/62/17 221/61/17 223/53/17 +f 218/59/16 217/60/16 221/61/16 +f 220/63/18 219/64/18 217/60/18 +f 234/87/1 233/88/1 222/89/1 +f 227/90/2 226/91/2 225/92/2 +f 218/93/18 225/92/18 226/91/18 +f 222/94/16 228/95/16 225/92/16 +f 220/96/13 226/91/13 227/90/13 +f 231/97/2 230/98/2 229/99/2 +f 233/100/16 237/101/16 240/102/16 +f 227/90/13 230/98/13 234/87/13 +f 229/99/16 233/103/16 236/104/16 +f 231/97/13 235/105/13 234/87/13 +f 232/106/17 236/107/17 235/108/17 +f 228/95/2 229/99/2 230/98/2 +f 235/109/13 239/110/13 238/111/13 +f 236/112/17 240/102/17 239/110/17 +f 234/113/18 238/114/18 237/101/18 +f 222/94/16 233/103/16 229/99/16 +f 248/52/13 247/53/13 243/54/13 +f 246/62/17 245/61/17 247/53/17 +f 242/59/16 241/60/16 245/61/16 +f 244/63/18 243/64/18 241/60/18 +f 258/87/1 257/88/1 246/89/1 +f 251/90/2 250/91/2 249/92/2 +f 242/93/18 249/92/18 250/91/18 +f 246/94/16 252/95/16 249/92/16 +f 244/96/13 250/91/13 251/90/13 +f 255/97/2 254/98/2 253/99/2 +f 257/110/16 261/109/16 264/112/16 +f 251/90/13 254/98/13 258/87/13 +f 253/99/16 257/103/16 260/104/16 +f 255/97/13 259/105/13 258/87/13 +f 256/106/17 260/107/17 259/108/17 +f 252/95/2 253/99/2 254/98/2 +f 259/101/13 263/100/13 262/113/13 +f 260/102/17 264/112/17 263/100/17 +f 258/111/18 262/115/18 261/109/18 +f 246/94/16 257/103/16 253/99/16 +f 1/116/1 3/1/1 5/3/1 +f 6/117/2 8/4/2 2/6/2 f 52/10/3 49/7/3 58/9/3 -f 51/44/3 52/10/3 59/11/3 -f 51/44/3 59/11/3 50/13/3 -f 17/52/4 18/14/4 19/16/4 -f 3/42/5 27/17/5 7/19/5 -f 8/40/5 32/20/5 4/22/5 -f 1/31/3 35/23/3 3/25/3 -f 4/41/3 40/26/3 2/28/3 -f 5/37/4 29/29/4 1/31/4 -f 2/28/4 26/32/4 6/34/4 -f 7/19/6 37/35/6 5/37/6 -f 6/34/6 34/38/6 8/40/6 -f 34/38/6 6/34/6 33/36/6 -f 30/33/4 29/29/4 6/34/4 -f 26/32/4 2/28/4 25/30/4 -f 36/27/3 35/23/3 2/28/3 -f 40/26/3 4/41/3 39/24/3 +f 51/26/3 52/10/3 59/11/3 +f 51/26/3 59/11/3 50/13/3 +f 17/34/4 18/14/4 19/16/4 +f 3/24/5 27/17/5 7/19/5 +f 8/23/5 32/20/5 4/22/5 +f 1/24/3 35/17/3 3/19/3 +f 4/23/3 40/20/3 2/22/3 +f 5/24/4 29/17/4 1/19/4 +f 2/23/4 26/20/4 6/22/4 +f 7/24/6 37/17/6 5/19/6 +f 6/23/6 34/20/6 8/22/6 +f 34/20/6 6/23/6 33/18/6 +f 30/21/4 29/17/4 6/22/4 +f 26/20/4 2/23/4 25/18/4 +f 36/21/3 35/17/3 2/22/3 +f 40/20/3 4/23/3 39/18/3 f 28/21/5 27/17/5 4/22/5 -f 32/20/5 8/40/5 31/18/5 -f 38/39/6 37/35/6 8/40/6 -f 32/136/1 42/13/1 28/43/1 -f 31/137/3 43/44/3 32/45/3 -f 27/138/2 44/10/2 31/46/2 -f 28/139/6 41/7/6 27/47/6 -f 26/136/1 46/13/1 30/43/1 -f 25/137/6 47/44/6 26/45/6 -f 29/138/2 48/10/2 25/46/2 -f 30/139/3 45/7/3 29/47/3 -f 40/136/1 50/13/1 36/43/1 -f 39/137/4 51/44/4 40/45/4 -f 35/138/2 52/10/2 39/46/2 -f 36/139/5 49/7/5 35/47/5 -f 34/136/1 54/13/1 38/43/1 -f 33/137/5 55/44/5 34/45/5 -f 37/138/2 56/10/2 33/46/2 -f 38/139/4 53/7/4 37/47/4 -f 46/13/4 47/44/4 68/12/4 -f 9/52/4 58/48/4 10/14/4 -f 11/16/1 59/50/1 9/52/1 -f 12/15/5 60/53/5 11/16/5 -f 10/14/2 57/55/2 12/15/2 +f 32/20/5 8/23/5 31/18/5 +f 38/21/6 37/17/6 8/22/6 +f 32/118/1 42/13/1 28/25/1 +f 31/119/3 43/26/3 32/27/3 +f 27/120/2 44/10/2 31/28/2 +f 28/121/6 41/7/6 27/29/6 +f 26/118/1 46/13/1 30/25/1 +f 25/119/6 47/26/6 26/27/6 +f 29/120/2 48/10/2 25/28/2 +f 30/121/3 45/7/3 29/29/3 +f 40/118/1 50/13/1 36/25/1 +f 39/119/4 51/26/4 40/27/4 +f 35/120/2 52/10/2 39/28/2 +f 36/121/5 49/7/5 35/29/5 +f 34/118/1 54/13/1 38/25/1 +f 33/119/5 55/26/5 34/27/5 +f 37/120/2 56/10/2 33/28/2 +f 38/121/4 53/7/4 37/29/4 +f 46/13/4 47/26/4 68/12/4 +f 9/34/4 58/30/4 10/14/4 +f 11/16/1 59/32/1 9/34/1 +f 12/15/5 60/35/5 11/16/5 +f 10/14/2 57/37/2 12/15/2 f 45/7/4 46/13/4 65/8/4 -f 15/52/5 62/48/5 16/14/5 -f 13/16/1 63/50/1 15/52/1 -f 14/15/4 64/53/4 13/16/4 -f 16/14/2 61/55/2 14/15/2 +f 15/34/5 62/30/5 16/14/5 +f 13/16/1 63/32/1 15/34/1 +f 14/15/4 64/35/4 13/16/4 +f 16/14/2 61/37/2 14/15/2 f 45/7/4 65/8/4 48/10/4 -f 17/52/6 66/48/6 18/14/6 -f 19/16/1 67/50/1 17/52/1 -f 20/15/3 68/53/3 19/16/3 -f 18/14/2 65/55/2 20/15/2 -f 48/10/4 66/9/4 47/44/4 -f 23/52/3 70/48/3 24/14/3 -f 21/16/1 71/50/1 23/52/1 -f 22/15/6 72/53/6 21/16/6 -f 24/14/2 69/55/2 22/15/2 +f 17/34/6 66/30/6 18/14/6 +f 19/16/1 67/32/1 17/34/1 +f 20/15/3 68/35/3 19/16/3 +f 18/14/2 65/37/2 20/15/2 +f 48/10/4 66/9/4 47/26/4 +f 23/34/3 70/30/3 24/14/3 +f 21/16/1 71/32/1 23/34/1 +f 22/15/6 72/35/6 21/16/6 +f 24/14/2 69/37/2 22/15/2 f 50/13/3 60/12/3 49/7/3 -f 42/13/5 43/44/5 72/12/5 -f 44/10/5 70/9/5 43/44/5 +f 42/13/5 43/26/5 72/12/5 +f 44/10/5 70/9/5 43/26/5 f 41/7/5 69/8/5 44/10/5 f 41/7/5 42/13/5 69/8/5 -f 55/44/6 63/11/6 54/13/6 -f 55/44/6 56/10/6 63/11/6 +f 55/26/6 63/11/6 54/13/6 +f 55/26/6 56/10/6 63/11/6 f 56/10/6 53/7/6 62/9/6 f 54/13/6 64/12/6 53/7/6 -f 9/52/3 10/14/3 11/16/3 -f 23/52/5 24/14/5 21/16/5 -f 15/52/6 16/14/6 13/16/6 -f 99/64/7 100/57/7 101/59/7 -f 75/76/8 76/60/8 77/62/8 -f 97/68/9 98/63/9 99/64/9 -f 77/62/10 78/61/10 79/66/10 -f 95/69/11 96/67/11 97/68/11 -f 79/66/12 80/65/12 81/69/12 -f 196/140/13 200/70/13 195/72/13 -f 93/66/12 94/65/12 95/69/12 -f 81/69/11 82/67/11 83/68/11 -f 101/141/14 102/73/14 103/75/14 -f 91/62/10 92/61/10 93/66/10 -f 83/68/9 84/63/9 85/64/9 -f 103/75/15 104/74/15 74/76/15 -f 74/76/8 73/60/8 91/62/8 -f 85/64/7 86/57/7 87/59/7 -f 174/80/16 170/77/16 173/79/16 -f 89/75/15 90/74/15 75/76/15 -f 87/141/14 88/73/14 89/75/14 -f 176/70/17 174/80/17 175/71/17 -f 200/70/17 198/80/17 199/71/17 -f 131/64/7 132/57/7 133/59/7 -f 107/76/8 108/60/8 109/62/8 -f 129/68/9 130/63/9 131/64/9 -f 109/62/10 110/61/10 111/66/10 -f 127/69/11 128/67/11 129/68/11 -f 111/66/12 112/65/12 113/69/12 -f 198/80/16 194/77/16 197/79/16 -f 125/66/12 126/65/12 127/69/12 -f 113/69/11 114/67/11 115/68/11 -f 133/141/14 134/73/14 135/75/14 -f 123/62/10 124/61/10 125/66/10 -f 115/68/9 116/63/9 117/64/9 -f 135/75/15 136/74/15 106/76/15 -f 106/76/8 105/60/8 123/62/8 -f 117/64/7 118/57/7 119/59/7 -f 172/140/13 176/70/13 171/72/13 -f 121/75/15 122/74/15 107/76/15 -f 119/141/14 120/73/14 121/75/14 -f 170/77/18 172/81/18 169/78/18 -f 144/85/2 137/104/2 138/142/2 -f 138/142/2 139/143/2 140/83/2 -f 140/83/2 141/102/2 142/84/2 -f 142/84/2 143/103/2 144/85/2 -f 144/85/2 138/142/2 140/83/2 -f 78/61/19 76/60/19 137/87/19 -f 90/74/20 139/88/20 76/60/20 -f 88/73/21 140/90/21 90/74/21 -f 86/57/22 141/92/22 88/58/22 -f 84/63/23 142/94/23 86/57/23 -f 82/67/24 143/96/24 84/63/24 -f 80/65/25 144/98/25 82/67/25 -f 78/61/26 137/100/26 80/65/26 -f 152/85/2 145/104/2 146/142/2 -f 146/142/2 147/143/2 148/83/2 -f 148/83/2 149/102/2 150/84/2 -f 150/84/2 151/103/2 152/85/2 -f 152/85/2 146/142/2 148/83/2 -f 92/61/19 73/60/19 145/87/19 -f 73/60/20 104/74/20 146/89/20 -f 102/73/21 148/90/21 104/74/21 -f 102/58/22 100/57/22 148/93/22 -f 100/57/23 98/63/23 149/95/23 -f 96/67/24 151/96/24 98/63/24 -f 94/65/25 152/98/25 96/67/25 -f 94/65/26 92/61/26 152/101/26 -f 160/104/2 153/142/2 154/143/2 -f 154/143/2 155/83/2 156/102/2 -f 156/102/2 157/84/2 158/103/2 -f 158/103/2 159/85/2 160/104/2 -f 160/104/2 154/143/2 156/102/2 -f 110/61/19 108/60/19 153/87/19 -f 122/74/20 155/88/20 108/60/20 -f 120/73/21 156/90/21 122/74/21 -f 120/58/22 118/57/22 156/93/22 -f 116/63/23 158/94/23 118/57/23 -f 116/63/24 114/67/24 158/97/24 -f 112/65/25 160/98/25 114/67/25 -f 110/61/26 153/100/26 112/65/26 -f 168/104/2 161/142/2 162/143/2 -f 162/143/2 163/83/2 164/102/2 -f 164/102/2 165/84/2 166/103/2 -f 166/103/2 167/85/2 168/104/2 -f 168/104/2 162/143/2 164/102/2 -f 105/60/19 162/86/19 124/61/19 -f 105/60/20 136/74/20 162/89/20 -f 134/73/21 164/90/21 136/74/21 -f 134/58/22 132/57/22 164/93/22 -f 130/63/23 166/94/23 132/57/23 -f 130/63/24 128/67/24 166/97/24 -f 126/65/25 168/98/25 128/67/25 -f 126/65/26 124/61/26 168/101/26 -f 176/144/1 186/105/1 174/107/1 -f 180/113/2 179/108/2 177/110/2 -f 172/145/18 170/111/18 178/109/18 -f 170/146/16 174/112/16 177/110/16 -f 176/144/13 172/114/13 179/108/13 -f 184/124/2 183/115/2 181/117/2 -f 188/130/16 185/118/16 192/120/16 -f 176/144/13 179/108/13 186/105/13 -f 184/124/16 181/117/16 188/122/16 -f 182/116/13 183/115/13 186/105/13 -f 183/115/17 184/124/17 187/126/17 -f 179/108/2 180/113/2 182/116/2 -f 186/133/13 187/127/13 190/129/13 -f 187/127/17 188/130/17 191/128/17 -f 185/118/18 186/131/18 189/119/18 -f 180/113/16 174/112/16 181/117/16 -f 194/77/18 196/81/18 193/78/18 -f 200/144/1 210/105/1 198/107/1 -f 204/113/2 203/108/2 201/110/2 -f 196/145/18 194/111/18 202/109/18 -f 194/146/16 198/112/16 201/110/16 -f 200/144/13 196/114/13 203/108/13 -f 208/124/2 207/115/2 205/117/2 -f 212/130/16 209/118/16 216/120/16 -f 200/144/13 203/108/13 210/105/13 -f 208/124/16 205/117/16 212/122/16 -f 206/116/13 207/115/13 210/105/13 -f 207/115/17 208/124/17 211/126/17 -f 203/108/2 204/113/2 206/116/2 -f 210/133/13 211/127/13 214/129/13 -f 211/127/17 212/130/17 215/128/17 -f 209/118/18 210/131/18 213/119/18 -f 204/113/16 198/112/16 205/117/16 -f 220/140/13 224/70/13 219/72/13 -f 224/70/17 222/80/17 223/71/17 -f 222/80/16 218/77/16 221/79/16 -f 218/77/18 220/81/18 217/78/18 -f 224/144/1 234/105/1 222/107/1 -f 228/113/2 227/108/2 225/110/2 -f 220/145/18 218/111/18 226/109/18 -f 218/146/16 222/112/16 225/110/16 -f 224/144/13 220/114/13 227/108/13 -f 232/124/2 231/115/2 229/117/2 -f 236/130/16 233/118/16 240/120/16 -f 224/144/13 227/108/13 234/105/13 -f 232/124/16 229/117/16 236/122/16 -f 230/116/13 231/115/13 234/105/13 -f 231/115/17 232/124/17 235/126/17 -f 227/108/2 228/113/2 230/116/2 -f 234/133/13 235/127/13 238/129/13 -f 235/127/17 236/130/17 239/128/17 -f 233/118/18 234/131/18 237/119/18 -f 228/113/16 222/112/16 229/117/16 -f 244/140/13 248/70/13 243/72/13 -f 248/70/17 246/80/17 247/71/17 -f 246/80/16 242/77/16 245/79/16 -f 242/77/18 244/81/18 241/78/18 -f 248/144/1 258/105/1 246/107/1 -f 252/113/2 251/108/2 249/110/2 -f 244/145/18 242/111/18 250/109/18 -f 242/146/16 246/112/16 249/110/16 -f 248/144/13 244/114/13 251/108/13 -f 256/124/2 255/115/2 253/117/2 -f 260/120/16 257/128/16 264/130/16 -f 248/144/13 251/108/13 258/105/13 -f 256/124/16 253/117/16 260/122/16 -f 254/116/13 255/115/13 258/105/13 -f 255/115/17 256/124/17 259/126/17 -f 251/108/2 252/113/2 254/116/2 -f 258/132/13 259/119/13 262/131/13 -f 259/119/17 260/120/17 263/118/17 -f 257/128/18 258/129/18 261/127/18 -f 252/113/16 246/112/16 253/117/16 +f 9/34/3 10/14/3 11/16/3 +f 23/34/5 24/14/5 21/16/5 +f 15/34/6 16/14/6 13/16/6 +f 99/46/7 100/39/7 101/41/7 +f 75/58/8 76/42/8 77/44/8 +f 97/50/9 98/45/9 99/46/9 +f 77/44/10 78/43/10 79/48/10 +f 95/51/11 96/49/11 97/50/11 +f 79/48/12 80/47/12 81/51/12 +f 196/122/13 200/52/13 195/54/13 +f 93/48/12 94/47/12 95/51/12 +f 81/51/11 82/49/11 83/50/11 +f 101/123/14 102/55/14 103/57/14 +f 91/44/10 92/43/10 93/48/10 +f 83/50/9 84/45/9 85/46/9 +f 103/57/15 104/56/15 74/58/15 +f 74/58/8 73/42/8 91/44/8 +f 85/46/7 86/39/7 87/41/7 +f 174/62/16 170/59/16 173/61/16 +f 89/57/15 90/56/15 75/58/15 +f 87/123/14 88/55/14 89/57/14 +f 176/52/17 174/62/17 175/53/17 +f 200/52/17 198/62/17 199/53/17 +f 131/46/7 132/39/7 133/41/7 +f 107/58/8 108/42/8 109/44/8 +f 129/50/9 130/45/9 131/46/9 +f 109/44/10 110/43/10 111/48/10 +f 127/51/11 128/49/11 129/50/11 +f 111/48/12 112/47/12 113/51/12 +f 198/62/16 194/59/16 197/61/16 +f 125/48/12 126/47/12 127/51/12 +f 113/51/11 114/49/11 115/50/11 +f 133/123/14 134/55/14 135/57/14 +f 123/44/10 124/43/10 125/48/10 +f 115/50/9 116/45/9 117/46/9 +f 135/57/15 136/56/15 106/58/15 +f 106/58/8 105/42/8 123/44/8 +f 117/46/7 118/39/7 119/41/7 +f 172/122/13 176/52/13 171/54/13 +f 121/57/15 122/56/15 107/58/15 +f 119/123/14 120/55/14 121/57/14 +f 170/59/18 172/63/18 169/60/18 +f 144/67/2 137/86/2 138/124/2 +f 138/124/2 139/125/2 140/65/2 +f 140/65/2 141/84/2 142/66/2 +f 142/66/2 143/85/2 144/67/2 +f 144/67/2 138/124/2 140/65/2 +f 78/43/19 76/42/19 137/69/19 +f 90/56/20 139/70/20 76/42/20 +f 88/55/21 140/72/21 90/56/21 +f 86/39/22 141/74/22 88/40/22 +f 84/45/23 142/76/23 86/39/23 +f 82/49/24 143/78/24 84/45/24 +f 80/47/25 144/80/25 82/49/25 +f 78/43/26 137/82/26 80/47/26 +f 152/67/2 145/86/2 146/124/2 +f 146/124/2 147/125/2 148/65/2 +f 148/65/2 149/84/2 150/66/2 +f 150/66/2 151/85/2 152/67/2 +f 152/67/2 146/124/2 148/65/2 +f 92/43/19 73/42/19 145/69/19 +f 73/42/20 104/56/20 146/71/20 +f 102/55/21 148/72/21 104/56/21 +f 102/40/22 100/39/22 148/75/22 +f 100/39/23 98/45/23 149/77/23 +f 96/49/24 151/78/24 98/45/24 +f 94/47/25 152/80/25 96/49/25 +f 94/47/26 92/43/26 152/83/26 +f 160/86/2 153/124/2 154/125/2 +f 154/125/2 155/65/2 156/84/2 +f 156/84/2 157/66/2 158/85/2 +f 158/85/2 159/67/2 160/86/2 +f 160/86/2 154/125/2 156/84/2 +f 110/43/19 108/42/19 153/69/19 +f 122/56/20 155/70/20 108/42/20 +f 120/55/21 156/72/21 122/56/21 +f 120/40/22 118/39/22 156/75/22 +f 116/45/23 158/76/23 118/39/23 +f 116/45/24 114/49/24 158/79/24 +f 112/47/25 160/80/25 114/49/25 +f 110/43/26 153/82/26 112/47/26 +f 168/86/2 161/124/2 162/125/2 +f 162/125/2 163/65/2 164/84/2 +f 164/84/2 165/66/2 166/85/2 +f 166/85/2 167/67/2 168/86/2 +f 168/86/2 162/125/2 164/84/2 +f 105/42/19 162/68/19 124/43/19 +f 105/42/20 136/56/20 162/71/20 +f 134/55/21 164/72/21 136/56/21 +f 134/40/22 132/39/22 164/75/22 +f 130/45/23 166/76/23 132/39/23 +f 130/45/24 128/49/24 166/79/24 +f 126/47/25 168/80/25 128/49/25 +f 126/47/26 124/43/26 168/83/26 +f 176/126/1 186/87/1 174/89/1 +f 180/95/2 179/90/2 177/92/2 +f 172/127/18 170/93/18 178/91/18 +f 170/128/16 174/94/16 177/92/16 +f 176/126/13 172/96/13 179/90/13 +f 184/106/2 183/97/2 181/99/2 +f 188/112/16 185/100/16 192/102/16 +f 176/126/13 179/90/13 186/87/13 +f 184/106/16 181/99/16 188/104/16 +f 182/98/13 183/97/13 186/87/13 +f 183/97/17 184/106/17 187/108/17 +f 179/90/2 180/95/2 182/98/2 +f 186/115/13 187/109/13 190/111/13 +f 187/109/17 188/112/17 191/110/17 +f 185/100/18 186/113/18 189/101/18 +f 180/95/16 174/94/16 181/99/16 +f 194/59/18 196/63/18 193/60/18 +f 200/126/1 210/87/1 198/89/1 +f 204/95/2 203/90/2 201/92/2 +f 196/127/18 194/93/18 202/91/18 +f 194/128/16 198/94/16 201/92/16 +f 200/126/13 196/96/13 203/90/13 +f 208/106/2 207/97/2 205/99/2 +f 212/112/16 209/100/16 216/102/16 +f 200/126/13 203/90/13 210/87/13 +f 208/106/16 205/99/16 212/104/16 +f 206/98/13 207/97/13 210/87/13 +f 207/97/17 208/106/17 211/108/17 +f 203/90/2 204/95/2 206/98/2 +f 210/115/13 211/109/13 214/111/13 +f 211/109/17 212/112/17 215/110/17 +f 209/100/18 210/113/18 213/101/18 +f 204/95/16 198/94/16 205/99/16 +f 220/122/13 224/52/13 219/54/13 +f 224/52/17 222/62/17 223/53/17 +f 222/62/16 218/59/16 221/61/16 +f 218/59/18 220/63/18 217/60/18 +f 224/126/1 234/87/1 222/89/1 +f 228/95/2 227/90/2 225/92/2 +f 220/127/18 218/93/18 226/91/18 +f 218/128/16 222/94/16 225/92/16 +f 224/126/13 220/96/13 227/90/13 +f 232/106/2 231/97/2 229/99/2 +f 236/112/16 233/100/16 240/102/16 +f 224/126/13 227/90/13 234/87/13 +f 232/106/16 229/99/16 236/104/16 +f 230/98/13 231/97/13 234/87/13 +f 231/97/17 232/106/17 235/108/17 +f 227/90/2 228/95/2 230/98/2 +f 234/115/13 235/109/13 238/111/13 +f 235/109/17 236/112/17 239/110/17 +f 233/100/18 234/113/18 237/101/18 +f 228/95/16 222/94/16 229/99/16 +f 244/122/13 248/52/13 243/54/13 +f 248/52/17 246/62/17 247/53/17 +f 246/62/16 242/59/16 245/61/16 +f 242/59/18 244/63/18 241/60/18 +f 248/126/1 258/87/1 246/89/1 +f 252/95/2 251/90/2 249/92/2 +f 244/127/18 242/93/18 250/91/18 +f 242/128/16 246/94/16 249/92/16 +f 248/126/13 244/96/13 251/90/13 +f 256/106/2 255/97/2 253/99/2 +f 260/102/16 257/110/16 264/112/16 +f 248/126/13 251/90/13 258/87/13 +f 256/106/16 253/99/16 260/104/16 +f 254/98/13 255/97/13 258/87/13 +f 255/97/17 256/106/17 259/108/17 +f 251/90/2 252/95/2 254/98/2 +f 258/114/13 259/101/13 262/113/13 +f 259/101/17 260/102/17 263/100/17 +f 257/110/18 258/111/18 261/109/18 +f 252/95/16 246/94/16 253/99/16 diff --git a/assets/hbm/textures/blocks/block_waste.png b/assets/hbm/textures/blocks/block_waste.png index 726fb3b18..8c9c10d4f 100644 Binary files a/assets/hbm/textures/blocks/block_waste.png and b/assets/hbm/textures/blocks/block_waste.png differ diff --git a/assets/hbm/textures/blocks/machine_minirtg_side.png b/assets/hbm/textures/blocks/machine_minirtg_side.png new file mode 100644 index 000000000..fdd31750a Binary files /dev/null and b/assets/hbm/textures/blocks/machine_minirtg_side.png differ diff --git a/assets/hbm/textures/blocks/machine_minirtg_top.png b/assets/hbm/textures/blocks/machine_minirtg_top.png new file mode 100644 index 000000000..b6d0a8511 Binary files /dev/null and b/assets/hbm/textures/blocks/machine_minirtg_top.png differ diff --git a/assets/hbm/textures/blocks/reinforced_stone.png b/assets/hbm/textures/blocks/reinforced_stone.png new file mode 100644 index 000000000..468c8b205 Binary files /dev/null and b/assets/hbm/textures/blocks/reinforced_stone.png differ diff --git a/assets/hbm/textures/blocks/reinforced_stone_alt.png b/assets/hbm/textures/blocks/reinforced_stone_alt.png new file mode 100644 index 000000000..c8b7c7d6b Binary files /dev/null and b/assets/hbm/textures/blocks/reinforced_stone_alt.png differ diff --git a/assets/hbm/textures/items/ammo_20gauge_sleek.png b/assets/hbm/textures/items/ammo_20gauge_sleek.png new file mode 100644 index 000000000..63410fa26 Binary files /dev/null and b/assets/hbm/textures/items/ammo_20gauge_sleek.png differ diff --git a/assets/hbm/textures/models/centrifuge_gas.png b/assets/hbm/textures/models/centrifuge_gas.png index 9b56d8796..acce42990 100644 Binary files a/assets/hbm/textures/models/centrifuge_gas.png and b/assets/hbm/textures/models/centrifuge_gas.png differ diff --git a/assets/hbm/textures/models/centrifuge_new.png b/assets/hbm/textures/models/centrifuge_new.png index 629b4803c..c5f117a3c 100644 Binary files a/assets/hbm/textures/models/centrifuge_new.png and b/assets/hbm/textures/models/centrifuge_new.png differ diff --git a/assets/hbm/textures/models/vault_frame.png b/assets/hbm/textures/models/vault_frame.png index 86622755c..e11049e71 100644 Binary files a/assets/hbm/textures/models/vault_frame.png and b/assets/hbm/textures/models/vault_frame.png differ diff --git a/com/hbm/blocks/ModBlocks.java b/com/hbm/blocks/ModBlocks.java index 8391aa499..f4d5b56b5 100644 --- a/com/hbm/blocks/ModBlocks.java +++ b/com/hbm/blocks/ModBlocks.java @@ -133,6 +133,7 @@ public class ModBlocks { public static Block reinforced_lamp_off; public static Block reinforced_lamp_on; + public static Block reinforced_stone; public static Block concrete_smooth; public static Block concrete; public static Block brick_concrete; @@ -469,6 +470,7 @@ public class ModBlocks { //public static Block machine_rtg_purple; public static Block machine_amgen; public static Block machine_geo; + public static Block machine_minirtg; public static Block machine_well; public static Block oil_pipe; @@ -756,6 +758,7 @@ public class ModBlocks { reinforced_lamp_off = new ReinforcedLamp(Material.rock, false).setBlockName("reinforced_lamp_off").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(300.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_lamp_off"); reinforced_lamp_on = new ReinforcedLamp(Material.rock, true).setBlockName("reinforced_lamp_on").setHardness(15.0F).setResistance(300.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_lamp_on"); + reinforced_stone = new BlockGeneric(Material.rock).setBlockName("reinforced_stone").setCreativeTab(MainRegistry.blockTab).setLightOpacity(15).setHardness(15.0F).setResistance(3000.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_stone"); concrete_smooth = new BlockGeneric(Material.rock).setBlockName("concrete_smooth").setCreativeTab(MainRegistry.blockTab).setLightOpacity(15).setHardness(15.0F).setResistance(4000.0F).setBlockTextureName(RefStrings.MODID + ":concrete"); concrete = new BlockGeneric(Material.rock).setBlockName("concrete").setCreativeTab(MainRegistry.blockTab).setLightOpacity(15).setHardness(15.0F).setResistance(4000.0F).setBlockTextureName(RefStrings.MODID + ":concrete_tile"); brick_concrete = new BlockGeneric(Material.rock).setBlockName("brick_concrete").setCreativeTab(MainRegistry.blockTab).setLightOpacity(15).setHardness(15.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":brick_concrete"); @@ -908,6 +911,7 @@ public class ModBlocks { //machine_rtg_purple = new MachineRTG(Material.iron).setBlockName("machine_rtg_purple").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); machine_amgen = new MachineAmgen(Material.iron).setBlockName("machine_amgen").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); machine_geo = new MachineAmgen(Material.iron).setBlockName("machine_geo").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); + machine_minirtg = new MachineAmgen(Material.iron).setBlockName("machine_minirtg").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); red_wire_coated = new WireCoated(Material.iron).setBlockName("red_wire_coated").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":red_wire_coated"); red_cable = new BlockCable(Material.iron).setBlockName("red_cable").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":red_cable_icon"); @@ -1262,6 +1266,7 @@ public class ModBlocks { GameRegistry.registerBlock(reinforced_lamp_on, reinforced_lamp_on.getUnlocalizedName()); //Bricks + GameRegistry.registerBlock(reinforced_stone, reinforced_stone.getUnlocalizedName()); GameRegistry.registerBlock(concrete_smooth, concrete_smooth.getUnlocalizedName()); GameRegistry.registerBlock(concrete, concrete.getUnlocalizedName()); GameRegistry.registerBlock(brick_concrete, brick_concrete.getUnlocalizedName()); @@ -1436,6 +1441,7 @@ public class ModBlocks { GameRegistry.registerBlock(machine_rtg_grey, machine_rtg_grey.getUnlocalizedName()); GameRegistry.registerBlock(machine_geo, machine_geo.getUnlocalizedName()); GameRegistry.registerBlock(machine_amgen, machine_amgen.getUnlocalizedName()); + GameRegistry.registerBlock(machine_minirtg, machine_minirtg.getUnlocalizedName()); GameRegistry.registerBlock(machine_spp_bottom, machine_spp_bottom.getUnlocalizedName()); GameRegistry.registerBlock(machine_spp_top, machine_spp_top.getUnlocalizedName()); //GameRegistry.registerBlock(machine_rtg_red, machine_rtg_red.getUnlocalizedName()); diff --git a/com/hbm/blocks/bomb/LaunchPad.java b/com/hbm/blocks/bomb/LaunchPad.java index ad9cebf14..ca248d799 100644 --- a/com/hbm/blocks/bomb/LaunchPad.java +++ b/com/hbm/blocks/bomb/LaunchPad.java @@ -2,6 +2,8 @@ package com.hbm.blocks.bomb; import java.util.Random; +import org.apache.logging.log4j.Level; + import com.hbm.blocks.ModBlocks; import com.hbm.entity.logic.EntityMissileTest; import com.hbm.entity.missile.EntityCarrier; @@ -226,6 +228,9 @@ public class LaunchPad extends BlockContainer implements IBomb { { xCoord += 1; } + + if(MainRegistry.enableExtendedLogging) + MainRegistry.logger.log(Level.INFO, "[MISSILE] Tried to launch missile at " + x + " / " + y + " / " + z + " to " + xCoord + " / " + zCoord + "!"); if(entity.slots[0] != null && entity.slots[0].getItem() == ModItems.missile_generic && entity.power >= 75000) { diff --git a/com/hbm/blocks/machine/MachineAmgen.java b/com/hbm/blocks/machine/MachineAmgen.java index 8768c2e52..930c0734e 100644 --- a/com/hbm/blocks/machine/MachineAmgen.java +++ b/com/hbm/blocks/machine/MachineAmgen.java @@ -39,6 +39,10 @@ public class MachineAmgen extends BlockContainer { this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":machine_geo_top"); this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":machine_geo_side"); } + if(this == ModBlocks.machine_minirtg) { + this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":machine_minirtg_top"); + this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":machine_minirtg_side"); + } } @Override diff --git a/com/hbm/entity/effect/EntityFalloutRain.java b/com/hbm/entity/effect/EntityFalloutRain.java index 97e7fa790..28e1b81ed 100644 --- a/com/hbm/entity/effect/EntityFalloutRain.java +++ b/com/hbm/entity/effect/EntityFalloutRain.java @@ -46,7 +46,7 @@ public class EntityFalloutRain extends Entity { for(int i = 0; i < MainRegistry.fSpeed; i++) { - Vec3 vec = Vec3.createVectorHelper(radProgress, 0, 0); + Vec3 vec = Vec3.createVectorHelper(radProgress * 0.5, 0, 0); double circum = radProgress * 2 * Math.PI * 2; double part = 360D / circum; @@ -60,7 +60,9 @@ public class EntityFalloutRain extends Entity { //if(worldObj.getBlock(x, y, z) == Blocks.grass) // worldObj.setBlock(x, y, z, ModBlocks.waste_earth); - stomp(x, z); + double dist = radProgress * 100 / getScale() * 0.5; + + stomp(x, z, dist); revProgress++; @@ -69,7 +71,7 @@ public class EntityFalloutRain extends Entity { radProgress++; } - if(radProgress > getScale()) { + if(radProgress > getScale() * 2D) { this.setDead(); } } @@ -86,7 +88,9 @@ public class EntityFalloutRain extends Entity { } } - private void stomp(int x, int z) { + private void stomp(int x, int z, double dist) { + + int depth = 0; for(int y = 255; y >= 0; y--) { @@ -105,7 +109,23 @@ public class EntityFalloutRain extends Entity { worldObj.setBlock(x, y, z, Blocks.air); } - else if(b == Blocks.grass) { + else if(b == Blocks.stone) { + + depth++; + + if(dist < 5) + worldObj.setBlock(x, y, z, ModBlocks.sellafield_1); + else if(dist < 15) + worldObj.setBlock(x, y, z, ModBlocks.sellafield_0); + else if(dist < 75) + worldObj.setBlock(x, y, z, ModBlocks.sellafield_slaked); + else + return; + + if(depth > 2) + return; + + }else if(b == Blocks.grass) { worldObj.setBlock(x, y, z, ModBlocks.waste_earth); return; diff --git a/com/hbm/entity/grenade/EntityGrenadeBase.java b/com/hbm/entity/grenade/EntityGrenadeBase.java index abc80e78c..bc5ee9d62 100644 --- a/com/hbm/entity/grenade/EntityGrenadeBase.java +++ b/com/hbm/entity/grenade/EntityGrenadeBase.java @@ -1,6 +1,11 @@ package com.hbm.entity.grenade; +import org.apache.logging.log4j.Level; + +import com.hbm.main.MainRegistry; + import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.projectile.EntityThrowable; import net.minecraft.util.DamageSource; import net.minecraft.util.MovingObjectPosition; @@ -35,6 +40,18 @@ public abstract class EntityGrenadeBase extends EntityThrowable p_70184_1_.entityHit.attackEntityFrom(DamageSource.causeThrownDamage(this, this.getThrower()), b0); } + if(!worldObj.isRemote) { + if(MainRegistry.enableExtendedLogging) { + + String s = "null"; + + if(getThrower() != null && getThrower() instanceof EntityPlayer) + s = ((EntityPlayer)getThrower()).getDisplayName(); + + MainRegistry.logger.log(Level.INFO, "[GREN] Set off grenade at " + ((int)posX) + " / " + ((int)posY) + " / " + ((int)posZ) + " by " + s + "!"); + } + } + this.explode(); } diff --git a/com/hbm/entity/grenade/EntityGrenadeBouncyBase.java b/com/hbm/entity/grenade/EntityGrenadeBouncyBase.java index 761c3dfbf..060e8fc8d 100644 --- a/com/hbm/entity/grenade/EntityGrenadeBouncyBase.java +++ b/com/hbm/entity/grenade/EntityGrenadeBouncyBase.java @@ -1,10 +1,15 @@ package com.hbm.entity.grenade; +import org.apache.logging.log4j.Level; + +import com.hbm.main.MainRegistry; + import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.IProjectile; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.MathHelper; import net.minecraft.util.MovingObjectPosition; @@ -211,8 +216,16 @@ public abstract class EntityGrenadeBouncyBase extends Entity implements IProject timer++; - if(timer >= getMaxTimer()) { + if(timer >= getMaxTimer() && !worldObj.isRemote) { explode(); + + String s = "null"; + + if(thrower != null && thrower instanceof EntityPlayer) + s = ((EntityPlayer)thrower).getDisplayName(); + + if(MainRegistry.enableExtendedLogging) + MainRegistry.logger.log(Level.INFO, "[GREN] Set off grenade at " + ((int)posX) + " / " + ((int)posY) + " / " + ((int)posZ) + " by " + s + "!"); } } diff --git a/com/hbm/entity/logic/EntityNukeExplosionMK3.java b/com/hbm/entity/logic/EntityNukeExplosionMK3.java index 1b8bc4bd0..8f41de441 100644 --- a/com/hbm/entity/logic/EntityNukeExplosionMK3.java +++ b/com/hbm/entity/logic/EntityNukeExplosionMK3.java @@ -1,5 +1,7 @@ package com.hbm.entity.logic; +import org.apache.logging.log4j.Level; + import com.hbm.entity.effect.EntityFalloutRain; import com.hbm.explosion.ExplosionFleija; import com.hbm.explosion.ExplosionNukeAdvanced; @@ -107,6 +109,9 @@ public class EntityNukeExplosionMK3 extends Entity { if(!this.did) { + if(MainRegistry.enableExtendedLogging && !worldObj.isRemote) + MainRegistry.logger.log(Level.INFO, "[NUKE] Initialized mk3 explosion at " + posX + " / " + posY + " / " + posZ + " with strength " + destructionRange + "!"); + if(this.waste) { exp = new ExplosionNukeAdvanced((int)this.posX, (int)this.posY, (int)this.posZ, this.worldObj, this.destructionRange, this.coefficient, 0); diff --git a/com/hbm/entity/logic/EntityNukeExplosionMK4.java b/com/hbm/entity/logic/EntityNukeExplosionMK4.java index 5e3dce3a9..9345fa42f 100644 --- a/com/hbm/entity/logic/EntityNukeExplosionMK4.java +++ b/com/hbm/entity/logic/EntityNukeExplosionMK4.java @@ -1,5 +1,7 @@ package com.hbm.entity.logic; +import org.apache.logging.log4j.Level; + import com.hbm.entity.effect.EntityFalloutRain; import com.hbm.explosion.ExplosionLarge; import com.hbm.explosion.ExplosionNukeGeneric; @@ -119,6 +121,9 @@ public class EntityNukeExplosionMK4 extends Entity { public static EntityNukeExplosionMK4 statFac(World world, int r, double x, double y, double z) { + if(MainRegistry.enableExtendedLogging && !world.isRemote) + MainRegistry.logger.log(Level.INFO, "[NUKE] Initialized explosion at " + x + " / " + y + " / " + z + " with strength " + r + "!"); + if(r == 0) r = 25; @@ -135,6 +140,9 @@ public class EntityNukeExplosionMK4 extends Entity { public static EntityNukeExplosionMK4 statFacExperimental(World world, int r, double x, double y, double z) { + if(MainRegistry.enableExtendedLogging && !world.isRemote) + MainRegistry.logger.log(Level.INFO, "[NUKE] Initialized eX explosion at " + x + " / " + y + " / " + z + " with strength " + r + "!"); + r *= 2; EntityNukeExplosionMK4 mk4 = new EntityNukeExplosionMK4(world); @@ -148,6 +156,9 @@ public class EntityNukeExplosionMK4 extends Entity { public static EntityNukeExplosionMK4 statFacNoRad(World world, int r, double x, double y, double z) { + if(MainRegistry.enableExtendedLogging && !world.isRemote) + MainRegistry.logger.log(Level.INFO, "[NUKE] Initialized nR explosion at " + x + " / " + y + " / " + z + " with strength " + r + "!"); + r *= 2; EntityNukeExplosionMK4 mk4 = new EntityNukeExplosionMK4(world); diff --git a/com/hbm/inventory/MachineRecipes.java b/com/hbm/inventory/MachineRecipes.java index 41716c4f8..5adea03b0 100644 --- a/com/hbm/inventory/MachineRecipes.java +++ b/com/hbm/inventory/MachineRecipes.java @@ -4914,6 +4914,10 @@ public class MachineRecipes { list.add(new ItemStack(Blocks.gravel, 2)); list.add(new ItemStack(Blocks.sand, 6)); break; + case CONCRETE: + list.add(new ItemStack(Blocks.gravel, 8)); + list.add(new ItemStack(Blocks.sand, 8)); + break; case COOLANT: list.add(new ItemStack(ModItems.niter, 1)); break; @@ -5073,6 +5077,9 @@ public class MachineRecipes { case ASPHALT: input[0] = new FluidStack(8000, FluidType.BITUMEN); break; + case CONCRETE: + input[0] = new FluidStack(2000, FluidType.WATER); + break; case COOLANT: input[0] = new FluidStack(1800, FluidType.WATER); break; @@ -5195,6 +5202,12 @@ public class MachineRecipes { output[2] = new ItemStack(ModBlocks.asphalt, 4); output[3] = new ItemStack(ModBlocks.asphalt, 4); break; + case CONCRETE: + output[0] = new ItemStack(ModBlocks.concrete_smooth, 4); + output[1] = new ItemStack(ModBlocks.concrete_smooth, 4); + output[2] = new ItemStack(ModBlocks.concrete_smooth, 4); + output[3] = new ItemStack(ModBlocks.concrete_smooth, 4); + break; case DESH: output[0] = new ItemStack(ModItems.ingot_desh, 1); break; diff --git a/com/hbm/items/special/ItemDrop.java b/com/hbm/items/special/ItemDrop.java index 04d9d4102..a69749ddb 100644 --- a/com/hbm/items/special/ItemDrop.java +++ b/com/hbm/items/special/ItemDrop.java @@ -2,6 +2,8 @@ package com.hbm.items.special; import java.util.List; +import org.apache.logging.log4j.Level; + import com.hbm.entity.effect.EntityBlackHole; import com.hbm.entity.effect.EntityCloudFleija; import com.hbm.entity.effect.EntityRagingVortex; @@ -44,6 +46,9 @@ public class ItemDrop extends Item { if(!entityItem.worldObj.isRemote) { ((IBomb)entityItem.worldObj.getBlock(x, y, z)).explode(entityItem.worldObj, x, y, z); + + if(MainRegistry.enableExtendedLogging) + MainRegistry.logger.log(Level.INFO, "[DET] Tried to detonate block at " + x + " / " + y + " / " + z + " by dead man's switch!"); } } } @@ -57,6 +62,9 @@ public class ItemDrop extends Item { if (!entityItem.worldObj.isRemote) { entityItem.worldObj.createExplosion(entityItem, entityItem.posX, entityItem.posY, entityItem.posZ, 15.0F, true); + + if(MainRegistry.enableExtendedLogging) + MainRegistry.logger.log(Level.INFO, "[DET] Detonated dead man's explosive at " + ((int)entityItem.posX) + " / " + ((int)entityItem.posY) + " / " + ((int)entityItem.posZ) + "!"); } entityItem.setDead(); diff --git a/com/hbm/items/tool/ItemChemistryTemplate.java b/com/hbm/items/tool/ItemChemistryTemplate.java index 7d85160c5..8ad5e9ce7 100644 --- a/com/hbm/items/tool/ItemChemistryTemplate.java +++ b/com/hbm/items/tool/ItemChemistryTemplate.java @@ -78,7 +78,8 @@ public class ItemChemistryTemplate extends Item { DYN_EUPH, DYN_DNT, CORDITE, - KEVLAR; + KEVLAR, + CONCRETE; public static EnumChemistryTemplate getEnum(int i) { if(i < EnumChemistryTemplate.values().length) @@ -238,6 +239,8 @@ public class ItemChemistryTemplate extends Item { return 40; case KEVLAR: return 40; + case CONCRETE: + return 100; default: return 100; } diff --git a/com/hbm/items/tool/ItemDetonator.java b/com/hbm/items/tool/ItemDetonator.java index 611ce8df8..55b562158 100644 --- a/com/hbm/items/tool/ItemDetonator.java +++ b/com/hbm/items/tool/ItemDetonator.java @@ -2,7 +2,10 @@ package com.hbm.items.tool; import java.util.List; +import org.apache.logging.log4j.Level; + import com.hbm.interfaces.IBomb; +import com.hbm.main.MainRegistry; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; @@ -71,6 +74,13 @@ public class ItemDetonator extends Item { if(!world.isRemote) { ((IBomb)world.getBlock(x, y, z)).explode(world, x, y, z); + + if(MainRegistry.enableExtendedLogging) + MainRegistry.logger.log(Level.INFO, "[DET] Tried to detonate block at " + x + " / " + y + " / " + z + " by " + player.getDisplayName() + "!"); + } + if(world.isRemote) + { + player.addChatMessage(new ChatComponentText("Detonated!")); } } else { if(world.isRemote) diff --git a/com/hbm/items/tool/ItemLaserDetonator.java b/com/hbm/items/tool/ItemLaserDetonator.java index 31b63a363..3c99ddb5a 100644 --- a/com/hbm/items/tool/ItemLaserDetonator.java +++ b/com/hbm/items/tool/ItemLaserDetonator.java @@ -2,9 +2,12 @@ package com.hbm.items.tool; import java.util.List; +import org.apache.logging.log4j.Level; + import com.hbm.blocks.bomb.LaunchPad; import com.hbm.interfaces.IBomb; import com.hbm.lib.Library; +import com.hbm.main.MainRegistry; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; @@ -35,6 +38,10 @@ public class ItemLaserDetonator extends Item { { if(world.getBlock(x, y, z) instanceof IBomb) { ((IBomb)world.getBlock(x, y, z)).explode(world, x, y, z); + + if(MainRegistry.enableExtendedLogging) + MainRegistry.logger.log(Level.INFO, "[DET] Tried to detonate block at " + x + " / " + y + " / " + z + " by " + player.getDisplayName() + "!"); + player.addChatMessage(new ChatComponentText("Detonated!")); world.playSoundAtEntity(player, "hbm:item.techBleep", 1.0F, 1.0F); } else { diff --git a/com/hbm/items/tool/ItemMultiDetonator.java b/com/hbm/items/tool/ItemMultiDetonator.java index d72d83fc2..2fc237aeb 100644 --- a/com/hbm/items/tool/ItemMultiDetonator.java +++ b/com/hbm/items/tool/ItemMultiDetonator.java @@ -3,8 +3,10 @@ package com.hbm.items.tool; import java.util.List; import org.apache.commons.lang3.ArrayUtils; +import org.apache.logging.log4j.Level; import com.hbm.interfaces.IBomb; +import com.hbm.main.MainRegistry; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; @@ -86,6 +88,9 @@ public class ItemMultiDetonator extends Item { world.playSoundAtEntity(player, "hbm:item.techBleep", 1.0F, 1.0F); if (!world.isRemote) { ((IBomb) world.getBlock(x, y, z)).explode(world, x, y, z); + + if(MainRegistry.enableExtendedLogging) + MainRegistry.logger.log(Level.INFO, "[DET] Tried to detonate block at " + x + " / " + y + " / " + z + " by " + player.getDisplayName() + "!"); } succ++; diff --git a/com/hbm/items/weapon/ItemClip.java b/com/hbm/items/weapon/ItemClip.java index c68cd755c..4c0b49c72 100644 --- a/com/hbm/items/weapon/ItemClip.java +++ b/com/hbm/items/weapon/ItemClip.java @@ -148,7 +148,7 @@ public class ItemClip extends Item { if(this == ModItems.clip_bolt_action) { - if (!player.inventory.addItemStackToInventory(new ItemStack(ModItems.ammo_20gauge_flechette, 24))) + if (!player.inventory.addItemStackToInventory(new ItemStack(ModItems.ammo_20gauge_slug, 24))) { //player.dropPlayerItemWithRandomChoice(new ItemStack(ModItems.gun_bolt_action_ammo, 24), false); } diff --git a/com/hbm/items/weapon/ItemGunBase.java b/com/hbm/items/weapon/ItemGunBase.java index 27fc4f673..e59a7fec6 100644 --- a/com/hbm/items/weapon/ItemGunBase.java +++ b/com/hbm/items/weapon/ItemGunBase.java @@ -272,6 +272,7 @@ public class ItemGunBase extends Item implements IHoldableWeapon { setMagType(stack, mainConfig.config.indexOf(config)); break; } + setIsReloading(stack, false); } //load new type if bullets are present @@ -343,6 +344,14 @@ public class ItemGunBase extends Item implements IHoldableWeapon { list.add("Name: " + mainConfig.name); list.add("Manufacturer: " + mainConfig.manufacturer); } + + if(MainRegistry.enableExtendedLogging) { + list.add(""); + list.add("Type: " + getMagType(stack)); + list.add("Is Reloading: " + getIsReloading(stack)); + list.add("Reload Cycle: " + getReloadCycle(stack)); + list.add("RoF Cooldown: " + getDelay(stack)); + } } public static Item getBeltType(EntityPlayer player, ItemStack stack) { diff --git a/com/hbm/main/CraftingManager.java b/com/hbm/main/CraftingManager.java index 229b4c9f8..e454559b9 100644 --- a/com/hbm/main/CraftingManager.java +++ b/com/hbm/main/CraftingManager.java @@ -720,8 +720,8 @@ public class CraftingManager { //GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.asphalt), 8), new Object[] { "BGB", "GSG", "BGB", 'B', ModItems.canister_bitumen, 'G', Blocks.gravel, 'S', Blocks.sand }); GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.brick_light), 4), new Object[] { "FBF", "BFB", "FBF", 'F', Blocks.fence, 'B', Blocks.brick_block }); - GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.concrete_smooth), 8), new Object[] { "SGS", "GWG", "SGS", 'S', Blocks.sand, 'G', Blocks.gravel, 'W', Items.water_bucket }); - GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.concrete_smooth), 8), new Object[] { "GSG", "SWS", "GSG", 'S', Blocks.sand, 'G', Blocks.gravel, 'W', Items.water_bucket }); + //GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.concrete_smooth), 8), new Object[] { "SGS", "GWG", "SGS", 'S', Blocks.sand, 'G', Blocks.gravel, 'W', Items.water_bucket }); + //GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.concrete_smooth), 8), new Object[] { "GSG", "SWS", "GSG", 'S', Blocks.sand, 'G', Blocks.gravel, 'W', Items.water_bucket }); GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.concrete), 4), new Object[] { "CC", "CC", 'C', ModBlocks.concrete_smooth }); GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.brick_concrete), 4), new Object[] { " C ", "CBC", " C ", 'C', ModBlocks.concrete_smooth, 'B', Items.clay_ball }); GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.brick_concrete), 4), new Object[] { " C ", "CBC", " C ", 'C', ModBlocks.concrete, 'B', Items.clay_ball }); @@ -825,7 +825,7 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_emp_ammo, 8), new Object[] { "IGI", "IPI", "IPI", 'G', "plateGold", 'I', "plateIron", 'P', ModItems.powder_power })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_jack, 1), new Object[] { "WW ", "TSD", " TT", 'W', "ingotWeidanium", 'T', ModItems.toothpicks, 'S', ModItems.gun_uboinik, 'D', ModItems.ducttape })); //GameRegistry.addShapedRecipe(new ItemStack(ModItems.gun_jack_ammo, 3), new Object[] { "PP", "II", "GG", 'G', Items.gunpowder, 'P', ModItems.pellet_buckshot, 'I', ModItems.plate_polymer }); - GameRegistry.addShapelessRecipe(new ItemStack(ModItems.gun_jack_ammo, 1), new Object[] { ModItems.gun_uboinik_ammo, ModItems.gun_uboinik_ammo, ModItems.gun_uboinik_ammo, ModItems.ammo_12gauge }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.gun_jack_ammo, 1), new Object[] { ModItems.ammo_12gauge, ModItems.ammo_12gauge, ModItems.ammo_12gauge, ModItems.ammo_12gauge }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_euthanasia, 1), new Object[] { "TDT", "AAS", " T ", 'A', "ingotAustralium", 'T', ModItems.toothpicks, 'S', ModItems.gun_mp40, 'D', ModItems.ducttape })); GameRegistry.addShapedRecipe(new ItemStack(ModItems.gun_euthanasia_ammo, 12), new Object[] { "P", "S", "N", 'P', ModItems.powder_poison, 'N', ModItems.niter, 'S', ModItems.syringe_metal_empty }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_spark, 1), new Object[] { "TTD", "AAS", " T", 'A', "ingotDaffergon", 'T', ModItems.toothpicks, 'S', ModItems.gun_rpg, 'D', ModItems.ducttape })); @@ -1522,6 +1522,8 @@ public class CraftingManager { GameRegistry.addRecipe(new ItemStack(ModBlocks.absorber_pink, 1), new Object[] { "ICI", "CPC", "ICI", 'I', ModItems.ingot_saturnite, 'C', ModItems.powder_nitan_mix, 'P', ModBlocks.absorber_green }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.decon, 1), new Object[] { "BGB", "SAS", "BSB", 'B', "ingotBeryllium", 'G', Blocks.iron_bars, 'S', "ingotSteel", 'A', ModBlocks.absorber })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.machine_amgen, 1), new Object[] { "ITI", "TAT", "ITI", 'I', "ingotAdvanced", 'T', ModItems.thermo_element, 'A', ModBlocks.absorber })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.machine_geo, 1), new Object[] { "ITI", "PCP", "ITI", 'I', "ingotDuraSteel", 'T', ModItems.thermo_element, 'P', ModItems.board_copper, 'C', ModBlocks.red_wire_coated })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.machine_minirtg, 1), new Object[] { "LLL", "PPP", "TRT", 'L', "plateLead", 'P', "Pu238", 'T', ModItems.thermo_element, 'R', ModItems.rtg_unit })); GameRegistry.addShapelessRecipe(new ItemStack(Items.paper, 1), new Object[] { new ItemStack(ModItems.assembly_template, 1, OreDictionary.WILDCARD_VALUE) }); GameRegistry.addShapelessRecipe(new ItemStack(Items.paper, 1), new Object[] { new ItemStack(ModItems.chemistry_template, 1, OreDictionary.WILDCARD_VALUE) }); diff --git a/com/hbm/main/MainRegistry.java b/com/hbm/main/MainRegistry.java index 1efc3e019..5f75c85fc 100644 --- a/com/hbm/main/MainRegistry.java +++ b/com/hbm/main/MainRegistry.java @@ -232,6 +232,7 @@ public class MainRegistry public static boolean enableVaults = true; public static boolean enableRads = true; public static boolean enableCataclysm = true; + public static boolean enableExtendedLogging = false; public static int uraniumSpawn = 6; public static int thoriumSpawn = 7; @@ -1468,6 +1469,7 @@ public class MainRegistry enableVaults = config.get(CATEGORY_GENERAL, "1.15_enableVaultSpawn", true).getBoolean(true); enableRads = config.get(CATEGORY_GENERAL, "1.16_enableNewRadiation", true).getBoolean(true); enableCataclysm = config.get(CATEGORY_GENERAL, "1.17_enableCataclysm", false).getBoolean(false); + enableExtendedLogging = config.get(CATEGORY_GENERAL, "1.18_enableExtendedLogging", false).getBoolean(false); final String CATEGORY_OREGEN = "02_ores"; Property PuraniumSpawn = config.get(CATEGORY_OREGEN, "2.00_uraniumSpawnrate", 6); diff --git a/com/hbm/saveddata/RadiationSavedData.java b/com/hbm/saveddata/RadiationSavedData.java index 6e6c81223..e14c123b7 100644 --- a/com/hbm/saveddata/RadiationSavedData.java +++ b/com/hbm/saveddata/RadiationSavedData.java @@ -15,6 +15,8 @@ public class RadiationSavedData extends WorldSavedData { public List contamination = new ArrayList(); + private static RadiationSavedData openInstance; + public World worldObj; public RadiationSavedData(String p_i2141_1_) { @@ -180,6 +182,9 @@ public class RadiationSavedData extends WorldSavedData { } public static RadiationSavedData getData(World worldObj) { + + if(openInstance != null && openInstance.worldObj == worldObj) + return openInstance; RadiationSavedData data = (RadiationSavedData)worldObj.perWorldStorage.loadData(RadiationSavedData.class, "radiation"); if(data == null) { @@ -188,7 +193,10 @@ public class RadiationSavedData extends WorldSavedData { data = (RadiationSavedData)worldObj.perWorldStorage.loadData(RadiationSavedData.class, "radiation"); } - return data; + data.worldObj = worldObj; + openInstance = data; + + return openInstance; } public static void incrementRad(World worldObj, int x, int z, float rad, float maxRad) { diff --git a/com/hbm/tileentity/machine/TileEntityBlastDoor.java b/com/hbm/tileentity/machine/TileEntityBlastDoor.java index 70d38988d..fadc107ca 100644 --- a/com/hbm/tileentity/machine/TileEntityBlastDoor.java +++ b/com/hbm/tileentity/machine/TileEntityBlastDoor.java @@ -38,7 +38,7 @@ public class TileEntityBlastDoor extends TileEntityLockableBase { if(!worldObj.isRemote) { - if(worldObj.isBlockIndirectlyGettingPowered(xCoord, yCoord, zCoord) || worldObj.isBlockIndirectlyGettingPowered(xCoord, yCoord + 6, zCoord)) { + if(!isLocked() && worldObj.isBlockIndirectlyGettingPowered(xCoord, yCoord, zCoord) || worldObj.isBlockIndirectlyGettingPowered(xCoord, yCoord + 6, zCoord)) { if(!redstoned) { this.tryToggle(); diff --git a/com/hbm/tileentity/machine/TileEntityMachineAmgen.java b/com/hbm/tileentity/machine/TileEntityMachineAmgen.java index bc4af6c0d..1c1c4cd30 100644 --- a/com/hbm/tileentity/machine/TileEntityMachineAmgen.java +++ b/com/hbm/tileentity/machine/TileEntityMachineAmgen.java @@ -27,7 +27,9 @@ public class TileEntityMachineAmgen extends TileEntity implements ISource { if(!worldObj.isRemote) { - if(worldObj.getBlock(xCoord, yCoord, zCoord) == ModBlocks.machine_amgen) { + Block block = worldObj.getBlock(xCoord, yCoord, zCoord); + + if(block == ModBlocks.machine_amgen) { RadiationSavedData data = RadiationSavedData.getData(worldObj); Chunk c = worldObj.getChunkFromBlockCoords(xCoord, zCoord); float rad = data.getRadNumFromCoord(c.xPosition, c.zPosition); @@ -36,7 +38,11 @@ public class TileEntityMachineAmgen extends TileEntity implements ISource { data.decrementRad(worldObj, xCoord, zCoord, 5F); - } else if(worldObj.getBlock(xCoord, yCoord, zCoord) == ModBlocks.machine_geo) { + } else if(block == ModBlocks.machine_minirtg) { + + power += 25; + + } else if(block == ModBlocks.machine_geo) { Block b = worldObj.getBlock(xCoord, yCoord - 1, zCoord); diff --git a/com/hbm/tileentity/machine/TileEntityMachineReactorSmall.java b/com/hbm/tileentity/machine/TileEntityMachineReactorSmall.java index a68fd56b9..4d2456972 100644 --- a/com/hbm/tileentity/machine/TileEntityMachineReactorSmall.java +++ b/com/hbm/tileentity/machine/TileEntityMachineReactorSmall.java @@ -647,6 +647,9 @@ public class TileEntityMachineReactorSmall extends TileEntity if (item == ModItems.rod_uranium_fuel) { slots[id] = new ItemStack(ModItems.rod_uranium_fuel_depleted); + } else if (item == ModItems.rod_thorium_fuel) { + slots[id] = new ItemStack(ModItems.rod_thorium_fuel_depleted); + } else if (item == ModItems.rod_plutonium_fuel) { slots[id] = new ItemStack(ModItems.rod_plutonium_fuel_depleted); @@ -659,6 +662,9 @@ public class TileEntityMachineReactorSmall extends TileEntity } else if (item == ModItems.rod_dual_uranium_fuel) { slots[id] = new ItemStack(ModItems.rod_dual_uranium_fuel_depleted); + } else if (item == ModItems.rod_dual_thorium_fuel) { + slots[id] = new ItemStack(ModItems.rod_dual_thorium_fuel_depleted); + } else if (item == ModItems.rod_dual_plutonium_fuel) { slots[id] = new ItemStack(ModItems.rod_dual_plutonium_fuel_depleted); @@ -671,6 +677,9 @@ public class TileEntityMachineReactorSmall extends TileEntity } else if (item == ModItems.rod_quad_uranium_fuel) { slots[id] = new ItemStack(ModItems.rod_quad_uranium_fuel_depleted); + } else if (item == ModItems.rod_quad_thorium_fuel) { + slots[id] = new ItemStack(ModItems.rod_quad_thorium_fuel_depleted); + } else if (item == ModItems.rod_quad_plutonium_fuel) { slots[id] = new ItemStack(ModItems.rod_quad_plutonium_fuel_depleted); diff --git a/com/hbm/tileentity/machine/TileEntityVaultDoor.java b/com/hbm/tileentity/machine/TileEntityVaultDoor.java index 5a71c8d8d..1f3d40645 100644 --- a/com/hbm/tileentity/machine/TileEntityVaultDoor.java +++ b/com/hbm/tileentity/machine/TileEntityVaultDoor.java @@ -40,9 +40,8 @@ public class TileEntityVaultDoor extends TileEntityLockableBase { public void updateEntity() { if(!worldObj.isRemote) { - - if(isOpening && state == 1) { - + + if(!isLocked()) { boolean flagX = false; boolean flagZ = false; @@ -86,6 +85,9 @@ public class TileEntityVaultDoor extends TileEntityLockableBase { redstoned = false; } } + } + + if(isOpening && state == 1) { if(timer == 0) this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:block.vaultScrapeNew", 1.0F, 1.0F);