diff --git a/assets/hbm/lang/de_DE.lang b/assets/hbm/lang/de_DE.lang index 1598a11c94..f3a629899f 100644 --- a/assets/hbm/lang/de_DE.lang +++ b/assets/hbm/lang/de_DE.lang @@ -647,6 +647,8 @@ tile.seal_frame.name=Siloluke (Rahmen) tile.seal_controller.name=Silolukenöffner tile.seal_hatch.name=Siloluke (Deckel) +tile.vault_door.name=Vault-Tec Sprengtür + item.nugget_uranium.name=Urannugget item.nugget_plutonium.name=Plutoniumnugget item.nugget_neptunium.name=Neptuniumnugget @@ -1473,6 +1475,7 @@ item.shimmer_handle.name=Verstärketer Polymergriff item.redcoil_capacitor.name=Rotspulenkondensator item.detonator.name=Fernzünder +item.detonator_multi.name=Mehrfach-Fernzünder item.crate_caller.name=Nachschub-Requester item.meteor_remote.name=Meteoritenkontroller diff --git a/assets/hbm/lang/en_US.lang b/assets/hbm/lang/en_US.lang index 4a00110f8f..d72211c662 100644 --- a/assets/hbm/lang/en_US.lang +++ b/assets/hbm/lang/en_US.lang @@ -647,6 +647,8 @@ tile.seal_frame.name=Silo Hatch Frame tile.seal_controller.name=Silo Hatch Opener tile.seal_hatch.name=Silo Hatch +tile.vault_door.name=Vault-Tec Blast Door + item.nugget_uranium.name=Uranium Nugget item.nugget_plutonium.name=Plutonium Nugget item.nugget_neptunium.name=Neptunium Nugget @@ -1473,6 +1475,7 @@ item.shimmer_handle.name=Reinforced Polymer Handle item.redcoil_capacitor.name=Redcoil Capacitor item.detonator.name=Detonator +item.detonator_multi.name=Multi-Detonator item.crate_caller.name=Supply Drop Requester item.meteor_remote.name=Meteorite Remote diff --git a/assets/hbm/models/vault_cog.obj b/assets/hbm/models/vault_cog.obj index 6332a2c081..4521ab8f7b 100644 --- a/assets/hbm/models/vault_cog.obj +++ b/assets/hbm/models/vault_cog.obj @@ -714,8 +714,9 @@ vt 0.547184 0.376963 vt 0.525794 0.364585 vt 0.519555 0.353779 vt 0.587454 0.329066 -vt 0.497115 0.828869 -vt 0.567181 0.841294 +vt 0.394877 0.551666 +vt 0.430535 0.531125 +vt 0.456956 0.562674 vt 0.561925 0.866367 vt 0.558706 0.864509 vt 0.565014 0.853582 @@ -724,8 +725,10 @@ vt 0.513019 0.809953 vt 0.510630 0.807106 vt 0.503354 0.818063 vt 0.570842 0.840648 +vt 0.567181 0.841294 vt 0.564990 0.828869 vt 0.493454 0.828224 +vt 0.497115 0.828869 vt 0.494924 0.841294 vt 0.493872 0.855441 vt 0.497091 0.853582 @@ -937,6 +940,21 @@ vt 0.609756 0.323022 vt 0.541268 0.399299 vt 0.522280 0.391673 vt 0.524744 0.801968 +vt 0.449448 0.583243 +vt 0.440978 0.590349 +vt 0.430474 0.594173 +vt 0.419418 0.594173 +vt 0.408914 0.590349 +vt 0.400445 0.583243 +vt 0.394856 0.573562 +vt 0.392936 0.562674 +vt 0.400405 0.542091 +vt 0.408968 0.534906 +vt 0.419357 0.531125 +vt 0.440924 0.534906 +vt 0.449487 0.542091 +vt 0.455015 0.551666 +vt 0.455037 0.573562 vt 0.568233 0.855441 vt 0.511748 0.806460 vt 0.500965 0.815215 @@ -1267,70 +1285,70 @@ f 208/361/1 226/388/1 228/387/1 f 209/311/1 227/389/1 220/374/1 f 200/335/1 199/334/1 217/386/1 f 216/337/1 234/382/1 225/383/1 -f 251/390/1 237/372/1 241/391/1 -f 221/392/15 239/393/15 240/394/15 -f 230/395/10 248/373/10 249/396/10 -f 231/397/27 249/396/27 250/398/27 -f 223/399/18 241/391/18 242/400/18 -f 233/401/30 251/390/30 252/402/30 -f 225/403/33 243/404/33 244/405/33 -f 218/406/3 236/407/3 239/393/3 -f 224/408/7 242/400/7 245/409/7 -f 229/410/4 247/411/4 235/412/4 -f 229/413/36 228/414/36 246/415/36 -f 226/416/5 244/405/5 246/415/5 -f 220/417/21 227/418/21 245/409/21 -f 217/419/11 235/412/11 236/407/11 -f 234/420/8 252/402/8 243/404/8 -f 222/421/2 240/394/2 241/391/2 -f 220/422/6 238/423/6 237/372/6 -f 233/424/9 232/425/9 250/398/9 -f 262/426/57 272/427/57 271/428/57 -f 274/429/58 273/430/58 254/431/58 -f 276/432/59 275/433/59 256/434/59 -f 257/435/60 278/436/60 277/437/60 -f 280/438/61 279/439/61 260/440/61 -f 264/441/62 282/442/62 281/443/62 -f 284/444/63 283/445/63 265/446/63 -f 286/447/64 285/448/64 267/449/64 -f 270/450/65 288/451/65 287/452/65 -f 290/453/66 257/435/66 258/454/66 -f 293/455/67 294/456/67 262/426/67 -f 292/457/68 253/458/68 254/431/68 -f 297/459/69 298/460/69 266/461/69 -f 263/462/70 295/463/70 296/464/70 -f 300/465/71 255/466/71 256/434/71 -f 302/467/72 259/468/72 260/440/72 -f 303/469/73 304/470/73 270/450/73 -f 305/471/74 306/472/74 268/473/74 -f 286/447/18 322/474/18 321/475/18 -f 288/451/15 324/476/15 323/477/15 -f 280/438/11 316/478/11 315/479/11 -f 275/433/36 276/432/36 312/480/36 -f 284/444/33 320/481/33 319/482/33 -f 317/483/75 295/484/75 263/462/75 -f 264/441/76 296/485/76 318/486/76 -f 281/443/30 282/442/30 318/487/30 -f 278/436/21 314/488/21 313/489/21 -f 274/429/24 310/490/24 309/491/24 -f 272/427/27 308/492/27 307/493/27 -f 262/426/77 294/494/77 308/495/77 -f 307/496/78 293/497/78 261/498/78 -f 309/499/79 291/500/79 254/431/79 -f 253/458/80 292/501/80 310/502/80 -f 266/461/81 298/503/81 320/504/81 -f 319/505/82 297/506/82 265/446/82 -f 255/466/83 300/507/83 312/508/83 -f 311/509/84 299/510/84 256/434/84 -f 259/468/85 302/511/85 316/512/85 -f 315/513/86 301/514/86 260/440/86 -f 270/450/87 304/515/87 324/516/87 -f 323/517/88 303/518/88 269/519/88 -f 268/473/89 306/520/89 322/521/89 -f 321/522/90 305/523/90 267/449/90 -f 313/524/91 289/525/91 258/454/91 -f 257/435/92 290/526/92 314/527/92 -f 33/528/14 41/123/14 47/529/14 +f 251/390/1 237/391/1 241/392/1 +f 221/393/15 239/394/15 240/395/15 +f 230/396/10 248/373/10 249/397/10 +f 231/398/27 249/397/27 250/399/27 +f 223/400/18 241/401/18 242/402/18 +f 233/403/30 251/404/30 252/405/30 +f 225/406/33 243/407/33 244/408/33 +f 218/409/3 236/410/3 239/394/3 +f 224/411/7 242/402/7 245/412/7 +f 229/413/4 247/414/4 235/415/4 +f 229/416/36 228/417/36 246/418/36 +f 226/419/5 244/408/5 246/418/5 +f 220/420/21 227/421/21 245/412/21 +f 217/422/11 235/415/11 236/410/11 +f 234/423/8 252/405/8 243/407/8 +f 222/424/2 240/395/2 241/401/2 +f 220/425/6 238/426/6 237/372/6 +f 233/427/9 232/428/9 250/399/9 +f 262/429/57 272/430/57 271/431/57 +f 274/432/58 273/433/58 254/434/58 +f 276/435/59 275/436/59 256/437/59 +f 257/438/60 278/439/60 277/440/60 +f 280/441/61 279/442/61 260/443/61 +f 264/444/62 282/445/62 281/446/62 +f 284/447/63 283/448/63 265/449/63 +f 286/450/64 285/451/64 267/452/64 +f 270/453/65 288/454/65 287/455/65 +f 290/456/66 257/438/66 258/457/66 +f 293/458/67 294/459/67 262/429/67 +f 292/460/68 253/461/68 254/434/68 +f 297/462/69 298/463/69 266/464/69 +f 263/465/70 295/466/70 296/467/70 +f 300/468/71 255/469/71 256/437/71 +f 302/470/72 259/471/72 260/443/72 +f 303/472/73 304/473/73 270/453/73 +f 305/474/74 306/475/74 268/476/74 +f 286/450/18 322/477/18 321/478/18 +f 288/454/15 324/479/15 323/480/15 +f 280/441/11 316/481/11 315/482/11 +f 275/436/36 276/435/36 312/483/36 +f 284/447/33 320/484/33 319/485/33 +f 317/486/75 295/487/75 263/465/75 +f 264/444/76 296/488/76 318/489/76 +f 281/446/30 282/445/30 318/490/30 +f 278/439/21 314/491/21 313/492/21 +f 274/432/24 310/493/24 309/494/24 +f 272/430/27 308/495/27 307/496/27 +f 262/429/77 294/497/77 308/498/77 +f 307/499/78 293/500/78 261/501/78 +f 309/502/79 291/503/79 254/434/79 +f 253/461/80 292/504/80 310/505/80 +f 266/464/81 298/506/81 320/507/81 +f 319/508/82 297/509/82 265/449/82 +f 255/469/83 300/510/83 312/511/83 +f 311/512/84 299/513/84 256/437/84 +f 259/471/85 302/514/85 316/515/85 +f 315/516/86 301/517/86 260/443/86 +f 270/453/87 304/518/87 324/519/87 +f 323/520/88 303/521/88 269/522/88 +f 268/476/89 306/523/89 322/524/89 +f 321/525/90 305/526/90 267/452/90 +f 313/527/91 289/528/91 258/457/91 +f 257/438/92 290/529/92 314/530/92 +f 33/531/14 41/123/14 47/532/14 f 52/141/1 48/1/1 2/3/1 f 7/2/1 48/1/1 8/5/1 f 46/4/1 42/6/1 8/5/1 @@ -1340,89 +1358,89 @@ f 36/10/1 34/12/1 19/11/1 f 20/13/1 34/12/1 25/15/1 f 30/14/1 28/16/1 25/15/1 f 26/17/1 28/16/1 31/19/1 -f 11/530/2 12/20/2 15/22/2 -f 9/531/3 5/23/3 10/25/3 -f 3/532/4 53/26/4 4/28/4 -f 52/533/5 51/29/5 48/31/5 -f 27/534/6 23/32/6 28/34/6 -f 21/535/7 17/35/7 22/37/7 -f 45/536/8 41/38/8 46/40/8 -f 35/537/9 36/41/9 39/43/9 +f 11/533/2 12/20/2 15/22/2 +f 9/534/3 5/23/3 10/25/3 +f 3/535/4 53/26/4 4/28/4 +f 52/536/5 51/29/5 48/31/5 +f 27/537/6 23/32/6 28/34/6 +f 21/538/7 17/35/7 22/37/7 +f 45/539/8 41/38/8 46/40/8 +f 35/540/9 36/41/9 39/43/9 f 1/50/1 50/44/1 54/46/1 -f 33/538/10 29/47/10 34/49/10 +f 33/541/10 29/47/10 34/49/10 f 52/141/1 2/3/1 54/46/1 f 55/55/11 56/51/11 58/53/11 -f 3/539/12 4/54/12 55/55/12 +f 3/542/12 4/54/12 55/55/12 f 6/152/1 57/56/1 4/45/1 f 5/23/13 58/53/13 6/24/13 -f 3/540/14 55/58/14 5/60/14 +f 3/543/14 55/58/14 5/60/14 f 59/65/15 60/61/15 62/63/15 -f 9/541/16 10/64/16 59/65/16 +f 9/544/16 10/64/16 59/65/16 f 12/149/1 61/66/1 10/68/1 -f 12/542/17 11/69/17 61/62/17 -f 9/543/14 59/70/14 11/72/14 +f 12/545/17 11/69/17 61/62/17 +f 9/546/14 59/70/14 11/72/14 f 63/76/18 64/73/18 66/75/18 -f 16/544/19 64/73/19 15/77/19 +f 16/547/19 64/73/19 15/77/19 f 16/147/1 18/78/1 64/80/1 f 17/35/20 66/75/20 18/36/20 -f 15/545/14 63/81/14 17/83/14 +f 15/548/14 63/81/14 17/83/14 f 70/90/21 67/84/21 69/86/21 -f 22/546/22 68/85/22 21/87/22 +f 22/549/22 68/85/22 21/87/22 f 22/145/1 24/18/1 68/89/1 f 23/32/23 70/90/23 24/33/23 -f 23/547/14 21/91/14 70/93/14 +f 23/550/14 21/91/14 70/93/14 f 74/100/24 71/94/24 73/96/24 -f 28/548/25 72/95/25 27/97/25 +f 28/551/25 72/95/25 27/97/25 f 28/16/1 30/14/1 72/99/1 f 29/47/26 74/100/26 30/48/26 -f 29/549/14 27/101/14 74/103/14 +f 29/552/14 27/101/14 74/103/14 f 75/107/27 76/104/27 78/106/27 -f 34/550/28 76/104/28 33/108/28 +f 34/553/28 76/104/28 33/108/28 f 36/10/1 77/109/1 34/12/1 -f 35/537/29 78/106/29 36/41/29 -f 33/528/14 75/111/14 35/113/14 +f 35/540/29 78/106/29 36/41/29 +f 33/531/14 75/111/14 35/113/14 f 79/117/30 80/114/30 82/116/30 -f 40/551/31 80/114/31 39/118/31 +f 40/554/31 80/114/31 39/118/31 f 42/6/1 81/119/1 40/8/1 f 41/38/32 82/116/32 42/39/32 -f 39/552/14 79/121/14 41/123/14 +f 39/555/14 79/121/14 41/123/14 f 83/127/33 84/124/33 86/126/33 -f 46/553/34 84/124/34 45/128/34 +f 46/556/34 84/124/34 45/128/34 f 48/1/1 85/129/1 46/4/1 f 47/30/35 86/126/35 48/31/35 -f 47/529/14 45/131/14 86/133/14 +f 47/532/14 45/131/14 86/133/14 f 87/138/36 88/134/36 90/136/36 -f 51/554/37 52/137/37 87/138/37 +f 51/557/37 52/137/37 87/138/37 f 54/46/1 89/139/1 52/141/1 f 54/27/38 53/26/38 89/135/38 -f 51/555/14 87/142/14 53/144/14 -f 32/556/1 31/19/1 22/145/1 -f 32/556/1 22/145/1 37/146/1 +f 51/558/14 87/142/14 53/144/14 +f 32/559/1 31/19/1 22/145/1 +f 32/559/1 22/145/1 37/146/1 f 18/78/1 16/147/1 37/146/1 f 38/148/1 16/147/1 43/150/1 f 10/68/1 44/151/1 12/149/1 f 49/153/1 44/151/1 6/152/1 f 6/152/1 4/45/1 49/153/1 -f 25/557/39 26/154/39 91/156/39 +f 25/560/39 26/154/39 91/156/39 f 96/191/1 95/157/1 114/159/1 -f 49/558/40 50/160/40 105/162/40 +f 49/561/40 50/160/40 105/162/40 f 92/195/41 20/163/41 91/156/41 f 100/186/42 32/165/42 99/167/42 -f 1/559/43 2/168/43 93/170/43 -f 7/560/44 8/171/44 101/173/44 +f 1/562/43 2/168/43 93/170/43 +f 7/563/44 8/171/44 101/173/44 f 96/191/45 14/174/45 95/157/45 -f 50/561/46 1/176/46 104/161/46 +f 50/564/46 1/176/46 104/161/46 f 103/155/47 26/177/47 102/179/47 -f 8/562/48 13/180/48 98/172/48 -f 44/563/49 49/182/49 106/183/49 -f 2/564/50 7/184/50 94/169/50 -f 31/565/51 32/185/51 102/179/51 +f 8/565/48 13/180/48 98/172/48 +f 44/566/49 49/182/49 106/183/49 +f 2/567/50 7/184/50 94/169/50 +f 31/568/51 32/185/51 102/179/51 f 108/193/52 38/187/52 107/189/52 -f 13/566/53 14/190/53 97/181/53 -f 37/567/54 38/192/54 99/167/54 -f 19/568/55 20/194/55 95/157/55 +f 13/569/53 14/190/53 97/181/53 +f 37/570/54 38/192/54 99/167/54 +f 19/571/55 20/194/55 95/157/55 f 107/189/56 43/196/56 106/183/56 -f 116/569/18 115/198/18 134/200/18 +f 116/572/18 115/198/18 134/200/18 f 123/202/1 105/162/1 122/201/1 f 106/183/1 105/162/1 124/203/1 f 98/172/1 97/181/1 116/205/1 @@ -1441,24 +1459,24 @@ f 111/216/1 93/170/1 112/215/1 f 125/206/1 107/189/1 124/203/1 f 104/161/1 93/170/1 122/201/1 f 154/263/1 136/217/1 153/219/1 -f 126/570/30 125/220/30 144/222/30 -f 118/571/33 117/223/33 136/217/33 -f 113/572/3 110/224/3 131/226/3 -f 119/573/7 116/227/7 137/228/7 -f 109/574/4 121/229/4 127/231/4 -f 121/575/36 120/232/36 139/230/36 -f 120/576/5 118/234/5 138/233/5 -f 112/577/21 119/235/21 130/236/21 -f 110/578/11 109/237/11 128/225/11 -f 117/579/8 126/238/8 135/218/8 -f 115/580/2 114/239/2 133/199/2 -f 111/581/6 112/241/6 129/242/6 -f 125/582/9 124/243/9 143/221/9 -f 122/583/24 111/245/24 140/246/24 +f 126/573/30 125/220/30 144/222/30 +f 118/574/33 117/223/33 136/217/33 +f 113/575/3 110/224/3 131/226/3 +f 119/576/7 116/227/7 137/228/7 +f 109/577/4 121/229/4 127/231/4 +f 121/578/36 120/232/36 139/230/36 +f 120/579/5 118/234/5 138/233/5 +f 112/580/21 119/235/21 130/236/21 +f 110/581/11 109/237/11 128/225/11 +f 117/582/8 126/238/8 135/218/8 +f 115/583/2 114/239/2 133/199/2 +f 111/584/6 112/241/6 129/242/6 +f 125/585/9 124/243/9 143/221/9 +f 122/586/24 111/245/24 140/246/24 f 132/240/15 114/247/15 131/226/15 f 141/252/10 123/249/10 140/246/10 -f 124/584/27 123/251/27 142/244/27 -f 155/585/33 152/253/33 173/255/33 +f 124/587/27 123/251/27 142/244/27 +f 155/588/33 152/253/33 173/255/33 f 131/226/1 128/225/1 149/257/1 f 137/228/1 134/200/1 155/259/1 f 127/231/1 139/230/1 145/261/1 @@ -1477,24 +1495,24 @@ f 142/244/1 141/252/1 160/269/1 f 134/200/1 133/199/1 152/258/1 f 162/265/1 144/222/1 161/272/1 f 193/329/1 175/273/1 192/275/1 -f 145/586/24 157/276/24 163/277/24 -f 157/587/6 156/278/6 175/273/6 -f 156/588/21 154/279/21 174/274/21 -f 148/589/5 155/281/5 166/282/5 -f 146/590/10 145/283/10 164/284/10 -f 153/591/18 162/285/18 171/287/18 -f 151/592/30 150/288/30 169/290/30 +f 145/589/24 157/276/24 163/277/24 +f 157/590/6 156/278/6 175/273/6 +f 156/591/21 154/279/21 174/274/21 +f 148/592/5 155/281/5 166/282/5 +f 146/593/10 145/283/10 164/284/10 +f 153/594/18 162/285/18 171/287/18 +f 151/595/30 150/288/30 169/290/30 f 165/297/36 147/291/36 166/282/36 f 179/306/15 161/293/15 178/295/15 -f 158/593/4 147/296/4 176/298/4 -f 150/594/9 149/299/9 168/289/9 -f 159/595/11 158/301/11 177/302/11 -f 160/596/3 159/303/3 178/295/3 -f 152/597/8 151/304/8 170/254/8 -f 162/598/2 161/305/2 180/286/2 +f 158/596/4 147/296/4 176/298/4 +f 150/597/9 149/299/9 168/289/9 +f 159/598/11 158/301/11 177/302/11 +f 160/599/3 159/303/3 178/295/3 +f 152/600/8 151/304/8 170/254/8 +f 162/601/2 161/305/2 180/286/2 f 172/280/7 154/307/7 171/287/7 -f 149/599/27 146/309/27 167/300/27 -f 184/600/5 191/310/5 202/312/5 +f 149/602/27 146/309/27 167/300/27 +f 184/603/5 191/310/5 202/312/5 f 192/275/1 174/274/1 190/313/1 f 166/282/1 173/255/1 184/315/1 f 182/328/1 164/284/1 181/316/1 @@ -1513,24 +1531,24 @@ f 167/300/1 164/284/1 185/323/1 f 191/314/1 173/255/1 188/326/1 f 163/277/1 175/273/1 181/316/1 f 205/358/1 204/330/1 223/332/1 -f 182/601/10 181/333/10 200/335/10 -f 189/602/18 198/336/18 207/338/18 +f 182/604/10 181/333/10 200/335/10 +f 189/605/18 198/336/18 207/338/18 f 205/358/30 187/339/30 204/330/30 f 201/347/36 183/341/36 202/312/36 -f 197/603/15 196/343/15 215/345/15 -f 194/604/4 183/346/4 212/348/4 -f 186/605/9 185/349/9 204/330/9 +f 197/606/15 196/343/15 215/345/15 +f 194/607/4 183/346/4 212/348/4 +f 186/608/9 185/349/9 204/330/9 f 213/355/11 195/351/11 212/348/11 f 214/344/3 196/353/3 213/355/3 f 206/364/8 188/356/8 205/358/8 -f 198/606/2 197/359/2 216/337/2 -f 190/607/7 189/360/7 208/361/7 -f 185/608/27 182/362/27 203/350/27 -f 191/609/33 188/363/33 209/311/33 -f 181/610/24 193/365/24 199/334/24 -f 193/611/6 192/367/6 211/366/6 +f 198/609/2 197/359/2 216/337/2 +f 190/610/7 189/360/7 208/361/7 +f 185/611/27 182/362/27 203/350/27 +f 191/612/33 188/363/33 209/311/33 +f 181/613/24 193/365/24 199/334/24 +f 193/614/6 192/367/6 211/366/6 f 210/368/21 192/369/21 208/361/21 -f 230/612/24 219/371/24 248/373/24 +f 230/615/24 219/371/24 248/373/24 f 201/347/1 202/312/1 219/375/1 f 233/381/1 215/345/1 232/376/1 f 212/348/1 201/347/1 230/377/1 @@ -1548,95 +1566,95 @@ f 210/368/1 208/361/1 228/387/1 f 202/312/1 209/311/1 220/374/1 f 218/384/1 200/335/1 217/386/1 f 207/338/1 216/337/1 225/383/1 -f 239/393/1 236/407/1 235/412/1 -f 235/412/1 247/411/1 239/393/1 -f 246/415/1 244/405/1 251/390/1 -f 243/404/1 252/402/1 251/390/1 -f 251/390/1 250/398/1 249/396/1 -f 249/396/1 248/373/1 237/372/1 -f 237/372/1 238/423/1 245/409/1 -f 245/409/1 242/400/1 241/391/1 -f 241/391/1 240/394/1 246/415/1 -f 239/393/1 247/411/1 246/415/1 -f 244/405/1 243/404/1 251/390/1 -f 251/390/1 249/396/1 237/372/1 -f 237/372/1 245/409/1 241/391/1 -f 240/394/1 239/393/1 246/415/1 -f 246/415/1 251/390/1 241/391/1 -f 222/613/15 221/392/15 240/394/15 -f 231/614/10 230/395/10 249/396/10 -f 232/615/27 231/397/27 250/398/27 -f 224/616/18 223/399/18 242/400/18 -f 234/617/30 233/401/30 252/402/30 -f 226/618/33 225/403/33 244/405/33 -f 221/619/3 218/406/3 239/393/3 -f 227/620/7 224/408/7 245/409/7 -f 217/621/4 229/410/4 235/412/4 -f 247/411/36 229/413/36 246/415/36 -f 228/622/5 226/416/5 246/415/5 -f 238/423/21 220/417/21 245/409/21 -f 218/623/11 217/419/11 236/407/11 -f 225/624/8 234/420/8 243/404/8 -f 223/625/2 222/421/2 241/391/2 -f 219/626/6 220/422/6 237/372/6 -f 251/390/9 233/424/9 250/398/9 -f 261/498/57 262/426/57 271/428/57 -f 253/458/58 274/429/58 254/431/58 -f 255/466/59 276/432/59 256/434/59 -f 258/454/60 257/435/60 277/437/60 -f 259/468/61 280/438/61 260/440/61 -f 263/462/62 264/441/62 281/443/62 -f 266/461/63 284/444/63 265/446/63 -f 268/473/64 286/447/64 267/449/64 -f 269/519/65 270/450/65 287/452/65 -f 289/627/66 290/453/66 258/454/66 -f 261/498/67 293/455/67 262/426/67 -f 291/628/68 292/457/68 254/431/68 -f 265/446/69 297/459/69 266/461/69 -f 264/441/70 263/462/70 296/464/70 -f 299/629/71 300/465/71 256/434/71 -f 301/630/72 302/467/72 260/440/72 -f 269/519/73 303/469/73 270/450/73 -f 267/449/74 305/471/74 268/473/74 -f 285/448/18 286/447/18 321/475/18 -f 287/452/15 288/451/15 323/477/15 -f 279/439/11 280/438/11 315/479/11 -f 311/631/36 275/433/36 312/480/36 -f 283/445/33 284/444/33 319/482/33 -f 281/443/75 317/483/75 263/462/75 -f 282/442/76 264/441/76 318/486/76 -f 317/632/30 281/443/30 318/487/30 -f 277/437/21 278/436/21 313/489/21 -f 273/430/24 274/429/24 309/491/24 -f 271/428/27 272/427/27 307/493/27 -f 272/427/77 262/426/77 308/495/77 -f 271/428/78 307/496/78 261/498/78 -f 273/430/79 309/499/79 254/431/79 -f 274/429/80 253/458/80 310/502/80 -f 284/444/81 266/461/81 320/504/81 -f 283/445/82 319/505/82 265/446/82 -f 276/432/83 255/466/83 312/508/83 -f 275/433/84 311/509/84 256/434/84 -f 280/438/85 259/468/85 316/512/85 -f 279/439/86 315/513/86 260/440/86 -f 288/451/87 270/450/87 324/516/87 -f 287/452/88 323/517/88 269/519/88 -f 286/447/89 268/473/89 322/521/89 -f 285/448/90 321/522/90 267/449/90 -f 277/437/91 313/524/91 258/454/91 -f 278/436/92 257/435/92 314/527/92 -f 53/144/14 3/540/14 11/72/14 -f 5/60/14 9/543/14 11/72/14 -f 11/72/14 15/545/14 47/529/14 -f 17/83/14 21/91/14 15/545/14 -f 23/547/14 27/101/14 29/549/14 -f 29/549/14 33/528/14 23/547/14 -f 35/113/14 39/552/14 33/528/14 -f 41/123/14 45/131/14 47/529/14 -f 47/529/14 51/555/14 53/144/14 -f 3/540/14 5/60/14 11/72/14 -f 15/545/14 21/91/14 23/547/14 -f 23/547/14 33/528/14 15/545/14 -f 39/552/14 41/123/14 33/528/14 -f 47/529/14 53/144/14 11/72/14 -f 15/545/14 33/528/14 47/529/14 +f 239/616/1 236/617/1 235/618/1 +f 235/618/1 247/619/1 239/616/1 +f 246/620/1 244/621/1 251/390/1 +f 243/622/1 252/623/1 251/390/1 +f 251/390/1 250/624/1 249/625/1 +f 249/625/1 248/626/1 237/391/1 +f 237/391/1 238/627/1 245/628/1 +f 245/628/1 242/629/1 241/392/1 +f 241/392/1 240/630/1 246/620/1 +f 239/616/1 247/619/1 246/620/1 +f 244/621/1 243/622/1 251/390/1 +f 251/390/1 249/625/1 237/391/1 +f 237/391/1 245/628/1 241/392/1 +f 240/630/1 239/616/1 246/620/1 +f 246/620/1 251/390/1 241/392/1 +f 222/631/15 221/393/15 240/395/15 +f 231/632/10 230/396/10 249/397/10 +f 232/633/27 231/398/27 250/399/27 +f 224/634/18 223/400/18 242/402/18 +f 234/635/30 233/403/30 252/405/30 +f 226/636/33 225/406/33 244/408/33 +f 221/637/3 218/409/3 239/394/3 +f 227/638/7 224/411/7 245/412/7 +f 217/639/4 229/413/4 235/415/4 +f 247/414/36 229/416/36 246/418/36 +f 228/640/5 226/419/5 246/418/5 +f 238/426/21 220/420/21 245/412/21 +f 218/641/11 217/422/11 236/410/11 +f 225/642/8 234/423/8 243/407/8 +f 223/643/2 222/424/2 241/401/2 +f 219/644/6 220/425/6 237/372/6 +f 251/404/9 233/427/9 250/399/9 +f 261/501/57 262/429/57 271/431/57 +f 253/461/58 274/432/58 254/434/58 +f 255/469/59 276/435/59 256/437/59 +f 258/457/60 257/438/60 277/440/60 +f 259/471/61 280/441/61 260/443/61 +f 263/465/62 264/444/62 281/446/62 +f 266/464/63 284/447/63 265/449/63 +f 268/476/64 286/450/64 267/452/64 +f 269/522/65 270/453/65 287/455/65 +f 289/645/66 290/456/66 258/457/66 +f 261/501/67 293/458/67 262/429/67 +f 291/646/68 292/460/68 254/434/68 +f 265/449/69 297/462/69 266/464/69 +f 264/444/70 263/465/70 296/467/70 +f 299/647/71 300/468/71 256/437/71 +f 301/648/72 302/470/72 260/443/72 +f 269/522/73 303/472/73 270/453/73 +f 267/452/74 305/474/74 268/476/74 +f 285/451/18 286/450/18 321/478/18 +f 287/455/15 288/454/15 323/480/15 +f 279/442/11 280/441/11 315/482/11 +f 311/649/36 275/436/36 312/483/36 +f 283/448/33 284/447/33 319/485/33 +f 281/446/75 317/486/75 263/465/75 +f 282/445/76 264/444/76 318/489/76 +f 317/650/30 281/446/30 318/490/30 +f 277/440/21 278/439/21 313/492/21 +f 273/433/24 274/432/24 309/494/24 +f 271/431/27 272/430/27 307/496/27 +f 272/430/77 262/429/77 308/498/77 +f 271/431/78 307/499/78 261/501/78 +f 273/433/79 309/502/79 254/434/79 +f 274/432/80 253/461/80 310/505/80 +f 284/447/81 266/464/81 320/507/81 +f 283/448/82 319/508/82 265/449/82 +f 276/435/83 255/469/83 312/511/83 +f 275/436/84 311/512/84 256/437/84 +f 280/441/85 259/471/85 316/515/85 +f 279/442/86 315/516/86 260/443/86 +f 288/454/87 270/453/87 324/519/87 +f 287/455/88 323/520/88 269/522/88 +f 286/450/89 268/476/89 322/524/89 +f 285/451/90 321/525/90 267/452/90 +f 277/440/91 313/527/91 258/457/91 +f 278/439/92 257/438/92 314/530/92 +f 53/144/14 3/543/14 11/72/14 +f 5/60/14 9/546/14 11/72/14 +f 11/72/14 15/548/14 47/532/14 +f 17/83/14 21/91/14 15/548/14 +f 23/550/14 27/101/14 29/552/14 +f 29/552/14 33/531/14 23/550/14 +f 35/113/14 39/555/14 33/531/14 +f 41/123/14 45/131/14 47/532/14 +f 47/532/14 51/558/14 53/144/14 +f 3/543/14 5/60/14 11/72/14 +f 15/548/14 21/91/14 23/550/14 +f 23/550/14 33/531/14 15/548/14 +f 39/555/14 41/123/14 33/531/14 +f 47/532/14 53/144/14 11/72/14 +f 15/548/14 33/531/14 47/532/14 diff --git a/assets/hbm/models/vault_frame.obj b/assets/hbm/models/vault_frame.obj index bba3dc819a..ee5a5df5af 100644 --- a/assets/hbm/models/vault_frame.obj +++ b/assets/hbm/models/vault_frame.obj @@ -81,184 +81,859 @@ v -0.500001 0.466298 -0.956410 v 0.499999 0.466297 -0.956411 v 0.499999 0.327326 -0.574590 v -0.500001 0.327326 -0.574590 -vt 0.634532 0.555277 -vt 0.705319 0.555277 -vt 0.705319 0.598899 -vt 0.583903 0.779422 -vt 0.513117 0.779422 -vt 0.513117 0.735800 -vt 0.178588 0.634805 -vt 0.222210 0.634805 -vt 0.222210 0.705592 -vt 0.798753 0.388013 -vt 0.798753 0.431635 -vt 0.727966 0.431635 -vt 0.735528 0.722541 -vt 0.779150 0.722541 -vt 0.779150 0.793328 -vt 0.634532 0.431635 -vt 0.634532 0.388013 -vt 0.705319 0.388013 -vt 0.112319 0.634805 -vt 0.155941 0.634805 -vt 0.155941 0.705592 -vt 0.155941 0.728239 -vt 0.155941 0.799026 -vt 0.112319 0.799026 -vt 0.490470 0.634805 -vt 0.490470 0.705592 -vt 0.446848 0.705592 -vt 0.583903 0.699684 -vt 0.513117 0.699684 -vt 0.513117 0.670921 -vt 0.513117 0.634805 -vt 0.583903 0.634805 -vt 0.583903 0.670921 -vt 0.634532 0.635016 -vt 0.705319 0.635016 -vt 0.705319 0.663778 -vt 0.705319 0.699895 -vt 0.634532 0.699895 -vt 0.634532 0.663778 -vt 0.634532 0.598899 -vt 0.634532 0.496514 -vt 0.634532 0.467751 -vt 0.705319 0.467751 -vt 0.634532 0.532631 -vt 0.705319 0.496514 -vt 0.705319 0.431635 -vt 0.699411 0.722541 -vt 0.699411 0.793328 -vt 0.670649 0.793328 -vt 0.634532 0.722541 -vt 0.670649 0.722541 -vt 0.735528 0.793328 -vt 0.381969 0.634805 -vt 0.410731 0.634805 -vt 0.410731 0.705592 -vt 0.345852 0.634805 -vt 0.381969 0.705592 -vt 0.047440 0.728239 -vt 0.076202 0.728239 -vt 0.076202 0.799026 -vt 0.011323 0.728239 -vt 0.047440 0.799026 -vt 0.112319 0.728239 -vt 0.076203 0.634805 -vt 0.076202 0.705592 -vt 0.047440 0.705592 -vt 0.011324 0.634805 -vt 0.047440 0.634805 -vt 0.112319 0.705592 -vt 0.727966 0.467751 -vt 0.798753 0.467751 -vt 0.798753 0.496514 -vt 0.727966 0.532631 -vt 0.727966 0.496514 -vt 0.287089 0.705592 -vt 0.258327 0.705592 -vt 0.258327 0.634805 -vt 0.323206 0.705592 -vt 0.287089 0.634805 -vt 0.297378 0.470271 -vt 0.326384 0.470230 -vt 0.488528 0.488674 -vt 0.153181 0.325152 -vt 0.158178 0.353487 -vt 0.134719 0.488890 -vt 0.198870 0.423956 -vt 0.220920 0.442448 -vt 0.290187 0.434828 -vt 0.249185 0.419929 -vt 0.374348 0.419918 -vt 0.402557 0.442378 -vt 0.333452 0.434814 -vt 0.424562 0.423918 -vt 0.465211 0.353530 -vt 0.134741 0.134771 -vt 0.470220 0.325228 -vt 0.488795 0.134917 -vt 0.429081 0.269031 -vt 0.456148 0.245123 -vt 0.374119 0.203605 -vt 0.379483 0.167887 -vt 0.441780 0.220205 -vt 0.289947 0.188819 -vt 0.271091 0.158005 -vt 0.352454 0.158036 -vt 0.215959 0.231600 -vt 0.181706 0.220118 -vt 0.244051 0.167836 -vt 0.186792 0.311925 -vt 0.167316 0.245031 -vt 0.770935 0.034477 -vt 0.852297 0.034494 -vt 0.833426 0.065293 -vt 0.749246 0.080042 -vt 0.715823 0.108086 -vt 0.681565 0.096612 -vt 0.694247 0.145460 -vt 0.686673 0.188428 -vt 0.653058 0.201662 -vt 0.634583 0.011272 -vt 0.988626 0.011347 -vt 0.743898 0.044314 -vt 0.667180 0.121530 -vt 0.634624 0.365417 -vt 0.658060 0.229996 -vt 0.698761 0.300444 -vt 0.715991 0.268690 -vt 0.720816 0.318925 -vt 0.749062 0.296401 -vt 0.790072 0.311284 -vt 0.797244 0.346737 -vt 0.826265 0.346684 -vt 0.833351 0.311231 -vt 0.988453 0.365070 -vt 0.874258 0.296336 -vt 0.902472 0.318790 -vt 0.924473 0.300330 -vt 0.965104 0.229956 -vt 0.929040 0.230889 -vt 0.970104 0.201654 -vt 0.879326 0.044338 -vt 0.907382 0.108105 -vt 0.873969 0.080057 -vt 0.936520 0.188430 -vt 0.928946 0.145475 -vt 0.956009 0.121558 -vt 0.941634 0.096643 -vt 0.063895 0.488886 -vt 0.488571 0.559436 -vt 0.134762 0.559652 -vt 0.559547 0.134971 -vt 0.559279 0.488728 -vt 0.134771 0.063960 -vt 0.488825 0.064107 -vt 0.583903 0.735800 -vt 0.178588 0.705592 -vt 0.727966 0.388013 -vt 0.446848 0.634805 -vt 0.705319 0.532631 -vt 0.634532 0.793328 -vt 0.345852 0.705592 -vt 0.011323 0.799026 -vt 0.011323 0.705592 -vt 0.798753 0.532631 -vt 0.323206 0.634805 -vt 0.194293 0.354418 -vt 0.216117 0.392198 -vt 0.407342 0.392212 -vt 0.429137 0.354459 -vt 0.436634 0.311988 -vt 0.407526 0.231659 -vt 0.333578 0.188833 -vt 0.249390 0.203565 -vt 0.194374 0.268964 -vt 0.789797 0.065286 -vt 0.694169 0.230921 -vt 0.907254 0.268636 -vt 0.063917 0.134766 +v 0.750000 1.894833 1.657669 +v 0.750000 2.501716 1.764679 +v 0.750000 0.970886 0.880854 +v 0.750000 1.367000 1.352926 +v 0.750000 0.762428 0.308123 +v 0.750000 0.762429 -0.308124 +v 0.750000 1.367001 -1.352925 +v 0.750000 0.970886 -0.880855 +v 0.750000 4.027399 0.883825 +v 0.750000 4.238167 0.304744 +v 0.750000 3.101944 1.658843 +v 0.750000 3.635628 1.350719 +v 0.750000 2.501716 -1.764678 +v 0.750000 1.894833 -1.657669 +v 0.750000 3.635627 -1.350720 +v 0.749999 3.101943 -1.658842 +v 0.750000 4.238167 -0.304744 +v 0.750000 4.027398 -0.883825 +v 0.562500 0.327325 0.574589 +v 0.562500 0.466296 0.956409 +v 0.562500 1.204973 1.836729 +v 0.562500 1.556861 2.039891 +v 0.562500 2.688578 2.239443 +v 0.562500 3.088730 2.168886 +v 0.562500 4.083945 1.594298 +v 0.562500 4.345126 1.283035 +v 0.562500 4.738167 0.203162 +v 0.562500 4.738167 -0.203163 +v 0.562500 4.345125 -1.283035 +v 0.562500 4.083944 -1.594298 +v 0.562499 3.088729 -2.168885 +v 0.562500 2.688578 -2.239443 +v 0.562500 1.556861 -2.039891 +v 0.562500 1.204973 -1.836729 +v 0.562499 0.466297 -0.956411 +v 0.562499 0.327326 -0.574590 +v 0.750000 1.947966 1.711219 +v 0.750000 2.433472 1.796827 +v 0.750000 0.977166 0.956029 +v 0.750000 1.294058 1.333687 +v 0.750000 0.718918 0.246499 +v 0.750000 0.718919 -0.246500 +v 0.750000 1.294059 -1.333686 +v 0.750000 0.977167 -0.956030 +v 0.750000 4.089362 0.840798 +v 0.750000 4.257977 0.377533 +v 0.750000 3.177068 1.665711 +v 0.750000 3.604014 1.419213 +v 0.750000 2.433472 -1.796827 +v 0.750000 1.947966 -1.711219 +v 0.750000 3.604013 -1.419213 +v 0.749999 3.177067 -1.665711 +v 0.750000 4.257977 -0.377534 +v 0.750000 4.089361 -0.840798 +v 0.562500 0.370835 0.459671 +v 0.562500 0.573495 1.016473 +v 0.562500 1.164436 1.720729 +v 0.562500 1.677588 2.016997 +v 0.562500 2.582962 2.176639 +v 0.562500 3.166496 2.073746 +v 0.562500 3.962668 1.614075 +v 0.562500 4.343544 1.160166 +v 0.562500 4.657976 0.296268 +v 0.562500 4.657976 -0.296269 +v 0.562500 4.343543 -1.160166 +v 0.562500 3.962667 -1.614076 +v 0.562499 3.166496 -2.073745 +v 0.562500 2.582962 -2.176638 +v 0.562500 1.677588 -2.016997 +v 0.562500 1.164437 -1.720729 +v 0.562499 0.573496 -1.016474 +v 0.562500 0.370836 -0.459672 +v 0.625000 1.947966 1.711219 +v 0.625000 2.433472 1.796827 +v 0.625000 0.977166 0.956029 +v 0.625000 1.294058 1.333687 +v 0.625000 0.718918 0.246499 +v 0.625000 0.718919 -0.246500 +v 0.625000 1.294059 -1.333686 +v 0.625000 0.977167 -0.956030 +v 0.625000 4.089362 0.840798 +v 0.625000 4.257977 0.377533 +v 0.625000 3.177068 1.665711 +v 0.625000 3.604014 1.419213 +v 0.625000 2.433472 -1.796827 +v 0.625000 1.947966 -1.711219 +v 0.625000 3.604013 -1.419213 +v 0.624999 3.177067 -1.665711 +v 0.625000 4.257977 -0.377534 +v 0.625000 4.089361 -0.840798 +v 0.625000 0.370835 0.459671 +v 0.625000 0.573495 1.016473 +v 0.625000 1.164436 1.720729 +v 0.625000 1.677588 2.016997 +v 0.625000 2.582962 2.176639 +v 0.625000 3.166496 2.073746 +v 0.625000 3.962668 1.614075 +v 0.625000 4.343544 1.160166 +v 0.625000 4.657976 0.296268 +v 0.625000 4.657976 -0.296269 +v 0.625000 4.343543 -1.160166 +v 0.625000 3.962667 -1.614076 +v 0.624999 3.166496 -2.073745 +v 0.625000 2.582962 -2.176638 +v 0.625000 1.677588 -2.016997 +v 0.625000 1.164437 -1.720729 +v 0.624999 0.573496 -1.016474 +v 0.625000 0.370836 -0.459672 +v 0.750000 2.045067 1.728341 +v 0.750000 2.142168 1.745462 +v 0.750000 2.239269 1.762584 +v 0.750000 2.336371 1.779706 +v 0.750000 1.040545 1.031561 +v 0.750000 1.103923 1.107092 +v 0.750000 1.167301 1.182624 +v 0.750000 1.230680 1.258155 +v 0.750000 0.718918 0.147899 +v 0.750000 0.718918 0.049299 +v 0.750000 0.718918 -0.049300 +v 0.750000 0.718918 -0.147900 +v 0.750000 1.230681 -1.258155 +v 0.750000 1.167302 -1.182624 +v 0.750000 1.103924 -1.107092 +v 0.750000 1.040545 -1.031561 +v 0.750000 4.123085 0.748145 +v 0.750000 4.156808 0.655492 +v 0.750000 4.190531 0.562839 +v 0.750000 4.224254 0.470186 +v 0.750000 3.262457 1.616412 +v 0.750000 3.347846 1.567112 +v 0.750000 3.433236 1.517812 +v 0.750000 3.518625 1.468513 +v 0.750000 2.336371 -1.779705 +v 0.750000 2.239269 -1.762584 +v 0.750000 2.142168 -1.745462 +v 0.750000 2.045067 -1.728341 +v 0.750000 3.518624 -1.468513 +v 0.749999 3.433235 -1.517812 +v 0.749999 3.347846 -1.567112 +v 0.749999 3.262456 -1.616411 +v 0.750000 4.224254 -0.470187 +v 0.750000 4.190530 -0.562840 +v 0.750000 4.156807 -0.655493 +v 0.750000 4.123084 -0.748146 +v 0.625000 2.045067 1.728341 +v 0.625000 2.142168 1.745462 +v 0.625000 2.239269 1.762584 +v 0.625000 2.336371 1.779706 +v 0.625000 1.040545 1.031561 +v 0.625000 1.103923 1.107092 +v 0.625000 1.167301 1.182624 +v 0.625000 1.230680 1.258155 +v 0.625000 0.718918 0.147899 +v 0.625000 0.718918 0.049299 +v 0.625000 0.718918 -0.049300 +v 0.625000 0.718918 -0.147900 +v 0.625000 1.230681 -1.258155 +v 0.625000 1.167302 -1.182624 +v 0.625000 1.103924 -1.107092 +v 0.625000 1.040545 -1.031561 +v 0.625000 4.123085 0.748145 +v 0.625000 4.156808 0.655492 +v 0.625000 4.190531 0.562839 +v 0.625000 4.224254 0.470186 +v 0.625000 3.262457 1.616412 +v 0.625000 3.347846 1.567112 +v 0.625000 3.433236 1.517812 +v 0.625000 3.518625 1.468513 +v 0.625000 2.336371 -1.779705 +v 0.625000 2.239269 -1.762584 +v 0.625000 2.142168 -1.745462 +v 0.625000 2.045067 -1.728341 +v 0.625000 3.518624 -1.468513 +v 0.624999 3.433235 -1.517812 +v 0.624999 3.347846 -1.567112 +v 0.624999 3.262456 -1.616411 +v 0.625000 4.224254 -0.470187 +v 0.625000 4.190530 -0.562840 +v 0.625000 4.156807 -0.655493 +v 0.625000 4.123084 -0.748146 +v 0.625000 4.553145 -0.589894 +v 0.625000 4.519423 -0.682547 +v 0.562500 4.519423 -0.682547 +v 0.562500 4.553145 -0.589894 +v 0.625000 4.485700 -0.775200 +v 0.625000 4.451977 -0.867853 +v 0.562500 4.451977 -0.867853 +v 0.562500 4.485700 -0.775200 +v 0.625000 3.693624 -1.771622 +v 0.624999 3.608234 -1.820921 +v 0.562499 3.608234 -1.820921 +v 0.562500 3.693624 -1.771622 +v 0.624999 3.522846 -1.870220 +v 0.624999 3.437456 -1.919520 +v 0.562499 3.437456 -1.919520 +v 0.562499 3.522846 -1.870220 +v 0.625000 2.275594 -2.124388 +v 0.625000 2.178493 -2.107266 +v 0.562500 2.178493 -2.107266 +v 0.562500 2.275594 -2.124388 +v 0.625000 2.081392 -2.090145 +v 0.625000 1.984291 -2.073024 +v 0.562500 1.984291 -2.073024 +v 0.562500 2.081392 -2.090145 +v 0.625000 3.437457 1.919520 +v 0.625000 3.522846 1.870221 +v 0.562500 3.522846 1.870221 +v 0.562500 3.437457 1.919520 +v 0.625000 3.608236 1.820921 +v 0.625000 3.693625 1.771621 +v 0.562500 3.693625 1.771621 +v 0.562500 3.608236 1.820921 +v 0.625000 4.451978 0.867852 +v 0.625000 4.485701 0.775199 +v 0.562500 4.485701 0.775199 +v 0.562500 4.451978 0.867852 +v 0.625000 4.519423 0.682546 +v 0.625000 4.553146 0.589893 +v 0.562500 4.553146 0.589893 +v 0.562500 4.519423 0.682546 +v 0.625000 0.962565 -1.483131 +v 0.625000 0.899187 -1.407600 +v 0.562500 0.899187 -1.407600 +v 0.562500 0.962565 -1.483131 +v 0.625000 0.835809 -1.332069 +v 0.625000 0.772430 -1.256537 +v 0.562500 0.772430 -1.256537 +v 0.562500 0.835809 -1.332069 +v 0.625000 0.368918 -0.147900 +v 0.625000 0.368918 -0.049301 +v 0.562500 0.368918 -0.049301 +v 0.562500 0.368918 -0.147900 +v 0.625000 0.368918 0.049299 +v 0.625000 0.368918 0.147898 +v 0.562500 0.368918 0.147898 +v 0.562500 0.368918 0.049299 +v 0.625000 0.772429 1.256536 +v 0.625000 0.835807 1.332068 +v 0.562500 0.835807 1.332068 +v 0.562500 0.772429 1.256536 +v 0.625000 0.899186 1.407599 +v 0.625000 0.962564 1.483131 +v 0.562500 0.962564 1.483131 +v 0.562500 0.899186 1.407599 +v 0.625000 1.984290 2.073024 +v 0.625000 2.081391 2.090145 +v 0.562500 2.081391 2.090145 +v 0.562500 1.984290 2.073024 +v 0.625000 2.178493 2.107267 +v 0.625000 2.275594 2.124388 +v 0.562500 2.275594 2.124388 +v 0.562500 2.178493 2.107267 +vt 0.674495 0.301724 +vt 0.744051 0.301724 +vt 0.744051 0.344587 +vt 0.634294 0.063011 +vt 0.564738 0.062987 +vt 0.564753 0.020124 +vt 0.616871 0.301724 +vt 0.616871 0.344588 +vt 0.547315 0.344588 +vt 0.590179 0.454379 +vt 0.547315 0.454379 +vt 0.547315 0.384823 +vt 0.585249 0.674595 +vt 0.628113 0.674595 +vt 0.628113 0.744151 +vt 0.761489 0.020118 +vt 0.761489 0.062981 +vt 0.691933 0.062981 +vt 0.586800 0.548190 +vt 0.629663 0.548190 +vt 0.629663 0.617746 +vt 0.451201 0.674595 +vt 0.451201 0.744151 +vt 0.408338 0.744151 +vt 0.451201 0.547415 +vt 0.451201 0.616971 +vt 0.408338 0.616971 +vt 0.547315 0.237973 +vt 0.616871 0.237973 +vt 0.616871 0.266236 +vt 0.547315 0.301724 +vt 0.547315 0.266236 +vt 0.616871 0.202485 +vt 0.634272 0.126762 +vt 0.564716 0.126738 +vt 0.564726 0.098475 +vt 0.634282 0.098499 +vt 0.634260 0.162250 +vt 0.564704 0.162226 +vt 0.674495 0.266236 +vt 0.674495 0.237973 +vt 0.744051 0.237973 +vt 0.744051 0.266236 +vt 0.744051 0.202485 +vt 0.761489 0.126732 +vt 0.691933 0.126732 +vt 0.691933 0.098469 +vt 0.761489 0.098469 +vt 0.691933 0.162220 +vt 0.663601 0.674595 +vt 0.691863 0.674595 +vt 0.691863 0.744151 +vt 0.663601 0.744151 +vt 0.727352 0.744151 +vt 0.486689 0.547415 +vt 0.514952 0.547415 +vt 0.514952 0.616971 +vt 0.486689 0.616971 +vt 0.550440 0.547415 +vt 0.550440 0.616971 +vt 0.514952 0.674595 +vt 0.514952 0.744151 +vt 0.486689 0.744151 +vt 0.486689 0.674595 +vt 0.550440 0.744151 +vt 0.693414 0.548190 +vt 0.693414 0.617746 +vt 0.665151 0.617746 +vt 0.665151 0.548190 +vt 0.728902 0.617746 +vt 0.625667 0.384823 +vt 0.653929 0.384823 +vt 0.653929 0.454379 +vt 0.590179 0.384823 +vt 0.625667 0.454379 +vt 0.689417 0.384823 +vt 0.689418 0.454379 +vt 0.249545 0.419394 +vt 0.278078 0.419377 +vt 0.437273 0.437603 +vt 0.107759 0.276798 +vt 0.112671 0.304627 +vt 0.089639 0.437603 +vt 0.174332 0.392033 +vt 0.152666 0.373861 +vt 0.352849 0.392119 +vt 0.374458 0.373974 +vt 0.414381 0.304802 +vt 0.761440 0.301724 +vt 0.486689 0.621318 +vt 0.674544 0.162220 +vt 0.687586 0.126732 +vt 0.689418 0.471767 +vt 0.653929 0.458726 +vt 0.089637 0.089759 +vt 0.419307 0.276979 +vt 0.437594 0.089923 +vt 0.687586 0.098469 +vt 0.625667 0.458726 +vt 0.547315 0.162220 +vt 0.560369 0.126736 +vt 0.585249 0.744151 +vt 0.628113 0.761540 +vt 0.550440 0.761540 +vt 0.514952 0.748498 +vt 0.121648 0.198105 +vt 0.135789 0.173628 +vt 0.197051 0.122258 +vt 0.223619 0.112599 +vt 0.405488 0.198235 +vt 0.391371 0.173744 +vt 0.330152 0.122319 +vt 0.303590 0.112636 +vt 0.154148 0.570166 +vt 0.234094 0.570183 +vt 0.215552 0.600446 +vt 0.132836 0.614938 +vt 0.099994 0.642495 +vt 0.066333 0.631220 +vt 0.078794 0.679218 +vt 0.071352 0.721439 +vt 0.038321 0.734443 +vt 0.020167 0.547365 +vt 0.368053 0.547438 +vt 0.127581 0.579832 +vt 0.052198 0.655705 +vt 0.020208 0.895350 +vt 0.043237 0.762285 +vt 0.083229 0.831507 +vt 0.100160 0.800306 +vt 0.104901 0.849667 +vt 0.132656 0.827534 +vt 0.172952 0.842159 +vt 0.180000 0.876995 +vt 0.208515 0.876943 +vt 0.215478 0.842107 +vt 0.367883 0.895009 +vt 0.255674 0.827470 +vt 0.283397 0.849534 +vt 0.305016 0.831395 +vt 0.344940 0.762245 +vt 0.309503 0.763161 +vt 0.349853 0.734435 +vt 0.260653 0.579856 +vt 0.288222 0.642514 +vt 0.255390 0.614954 +vt 0.316853 0.721441 +vt 0.309411 0.679233 +vt 0.336003 0.655732 +vt 0.321878 0.631251 +vt 0.020071 0.437604 +vt 0.437273 0.507130 +vt 0.089640 0.507130 +vt 0.507130 0.089988 +vt 0.506809 0.437667 +vt 0.089670 0.020167 +vt 0.437627 0.020332 +vt 0.788301 0.887799 +vt 0.792587 0.890825 +vt 0.776111 0.917371 +vt 0.728604 0.806122 +vt 0.720610 0.809148 +vt 0.656665 0.809148 +vt 0.750092 0.501493 +vt 0.729653 0.469684 +vt 0.737902 0.471921 +vt 0.773013 0.672556 +vt 0.781006 0.669530 +vt 0.844951 0.669530 +vt 0.792956 0.501493 +vt 0.788669 0.498466 +vt 0.805145 0.471921 +vt 0.768839 0.842054 +vt 0.776832 0.839028 +vt 0.840778 0.839028 +vt 0.621218 0.266236 +vt 0.674544 0.062981 +vt 0.674544 0.020118 +vt 0.550440 0.634360 +vt 0.514952 0.621318 +vt 0.547350 0.062981 +vt 0.547364 0.020118 +vt 0.634260 0.202485 +vt 0.621218 0.237973 +vt 0.629663 0.635135 +vt 0.586800 0.635135 +vt 0.665151 0.622093 +vt 0.877731 0.250212 +vt 0.797799 0.250212 +vt 0.797799 0.245865 +vt 0.748398 0.266236 +vt 0.604561 0.801775 +vt 0.604561 0.806122 +vt 0.524629 0.806122 +vt 0.634260 0.301724 +vt 0.634260 0.344588 +vt 0.728902 0.635135 +vt 0.693414 0.622093 +vt 0.451201 0.761540 +vt 0.809585 0.384823 +vt 0.809585 0.389170 +vt 0.729653 0.389170 +vt 0.761440 0.202485 +vt 0.748398 0.237973 +vt 0.663601 0.748498 +vt 0.488270 0.801775 +vt 0.488270 0.806122 +vt 0.408338 0.806122 +vt 0.877731 0.286572 +vt 0.877731 0.290919 +vt 0.797799 0.290919 +vt 0.768839 0.846401 +vt 0.848771 0.842054 +vt 0.727352 0.761540 +vt 0.691863 0.748498 +vt 0.486689 0.748498 +vt 0.590179 0.471768 +vt 0.547315 0.471768 +vt 0.773013 0.676903 +vt 0.852944 0.672556 +vt 0.560379 0.098474 +vt 0.773013 0.592041 +vt 0.773013 0.587694 +vt 0.852944 0.587694 +vt 0.451201 0.634360 +vt 0.408338 0.634360 +vt 0.728604 0.801775 +vt 0.648672 0.806122 +vt 0.807648 0.053565 +vt 0.824123 0.027020 +vt 0.828922 0.034270 +vt 0.908061 0.387849 +vt 0.924536 0.414395 +vt 0.903262 0.395099 +vt 0.874890 0.053565 +vt 0.853615 0.034270 +vt 0.858414 0.027019 +vt 0.795834 0.556109 +vt 0.781006 0.580320 +vt 0.777299 0.578050 +vt 0.820620 0.214280 +vt 0.805793 0.238491 +vt 0.802085 0.236221 +vt 0.830124 0.556110 +vt 0.848659 0.578050 +vt 0.844951 0.580321 +vt 0.465803 0.890438 +vt 0.482279 0.916984 +vt 0.461004 0.897688 +vt 0.415036 0.916984 +vt 0.431512 0.890438 +vt 0.436311 0.897688 +vt 0.869738 0.238491 +vt 0.854911 0.214280 +vt 0.873445 0.236221 +vt 0.805793 0.242838 +vt 0.869738 0.242838 +vt 0.831164 0.887799 +vt 0.851602 0.919608 +vt 0.843353 0.917371 +vt 0.596568 0.809148 +vt 0.532623 0.809148 +vt 0.869484 0.384823 +vt 0.873770 0.387849 +vt 0.857294 0.414395 +vt 0.801592 0.392196 +vt 0.737646 0.392197 +vt 0.912347 0.384823 +vt 0.932785 0.416631 +vt 0.480277 0.809148 +vt 0.819837 0.023993 +vt 0.869738 0.293945 +vt 0.805792 0.293945 +vt 0.862700 0.023993 +vt 0.883139 0.055802 +vt 0.781006 0.584668 +vt 0.844951 0.584668 +vt 0.427226 0.887412 +vt 0.793451 0.748947 +vt 0.773013 0.717138 +vt 0.781262 0.719375 +vt 0.470089 0.887412 +vt 0.490528 0.919220 +vt 0.915012 0.502892 +vt 0.910726 0.499866 +vt 0.927202 0.473320 +vt 0.863476 0.124745 +vt 0.859190 0.121718 +vt 0.875665 0.095173 +vt 0.872149 0.502892 +vt 0.851711 0.471084 +vt 0.859960 0.473320 +vt 0.820612 0.124745 +vt 0.800174 0.092936 +vt 0.808423 0.095173 +vt 0.705638 0.921545 +vt 0.701352 0.918519 +vt 0.717828 0.891973 +vt 0.836315 0.748947 +vt 0.832028 0.745920 +vt 0.848504 0.719375 +vt 0.662775 0.921545 +vt 0.642337 0.889737 +vt 0.650586 0.891973 +vt 0.776832 0.834680 +vt 0.773125 0.832410 +vt 0.791660 0.810469 +vt 0.840778 0.834681 +vt 0.581741 0.837707 +vt 0.596568 0.813496 +vt 0.600275 0.815766 +vt 0.781006 0.665182 +vt 0.844951 0.665182 +vt 0.824899 0.121718 +vt 0.829698 0.114468 +vt 0.854911 0.205585 +vt 0.720610 0.813496 +vt 0.656665 0.813496 +vt 0.854391 0.114468 +vt 0.532623 0.813496 +vt 0.547450 0.837707 +vt 0.528916 0.815766 +vt 0.786765 0.420755 +vt 0.801592 0.396544 +vt 0.805299 0.398814 +vt 0.737646 0.396544 +vt 0.827229 0.738670 +vt 0.480277 0.813496 +vt 0.416331 0.813496 +vt 0.797737 0.745920 +vt 0.802537 0.738670 +vt 0.869738 0.298293 +vt 0.805792 0.298292 +vt 0.752474 0.420755 +vt 0.733939 0.398814 +vt 0.820619 0.331198 +vt 0.820619 0.322503 +vt 0.854910 0.322504 +vt 0.533851 0.958558 +vt 0.532389 0.954464 +vt 0.556777 0.950371 +vt 0.556777 0.973605 +vt 0.532389 0.969511 +vt 0.533851 0.965417 +vt 0.465449 0.837707 +vt 0.431159 0.837707 +vt 0.559701 0.965417 +vt 0.667061 0.918519 +vt 0.529504 0.965417 +vt 0.529504 0.958558 +vt 0.431159 0.846401 +vt 0.923476 0.281118 +vt 0.922014 0.277024 +vt 0.946402 0.272930 +vt 0.876435 0.499866 +vt 0.946402 0.296164 +vt 0.922014 0.292070 +vt 0.923476 0.287976 +vt 0.949327 0.281118 +vt 0.919129 0.287976 +vt 0.919129 0.281118 +vt 0.928109 0.109699 +vt 0.926647 0.105605 +vt 0.951035 0.101511 +vt 0.786765 0.429449 +vt 0.752474 0.429449 +vt 0.951035 0.124745 +vt 0.926647 0.120651 +vt 0.928109 0.116557 +vt 0.953959 0.116557 +vt 0.547450 0.846401 +vt 0.923762 0.116557 +vt 0.923762 0.109699 +vt 0.162464 0.945359 +vt 0.161002 0.941265 +vt 0.185390 0.937171 +vt 0.185390 0.960405 +vt 0.161002 0.956311 +vt 0.162464 0.952217 +vt 0.188314 0.945359 +vt 0.158117 0.952217 +vt 0.158117 0.945359 +vt 0.255186 0.951558 +vt 0.256648 0.955652 +vt 0.232259 0.959746 +vt 0.795834 0.547415 +vt 0.830124 0.547415 +vt 0.232260 0.936512 +vt 0.256648 0.940606 +vt 0.255186 0.944700 +vt 0.229335 0.944700 +vt 0.259533 0.944700 +vt 0.259533 0.951558 +vt 0.907387 0.955893 +vt 0.911481 0.954430 +vt 0.915575 0.978819 +vt 0.892341 0.978819 +vt 0.896435 0.954430 +vt 0.900529 0.955893 +vt 0.907387 0.981743 +vt 0.900529 0.951545 +vt 0.907387 0.951545 +vt 0.949224 0.035551 +vt 0.950687 0.039645 +vt 0.926298 0.043739 +vt 0.926298 0.020505 +vt 0.950687 0.024599 +vt 0.949224 0.028693 +vt 0.923374 0.028693 +vt 0.953572 0.028693 +vt 0.953572 0.035551 +vt 0.896897 0.896055 +vt 0.895435 0.891961 +vt 0.919824 0.887867 +vt 0.919824 0.911101 +vt 0.895435 0.907007 +vt 0.896897 0.902913 +vt 0.922748 0.896055 +vt 0.892550 0.902913 +vt 0.895977 0.663020 +vt 0.894514 0.658926 +vt 0.918903 0.654832 +vt 0.918903 0.678066 +vt 0.894514 0.673972 +vt 0.895977 0.669878 +vt 0.921827 0.663020 +vt 0.891629 0.669878 +vt 0.891629 0.663020 +vt 0.024465 0.950581 +vt 0.020118 0.950581 +vt 0.020118 0.943723 +vt 0.050315 0.950581 +vt 0.024465 0.943723 +vt 0.047391 0.958769 +vt 0.023003 0.954675 +vt 0.023003 0.939629 +vt 0.047391 0.935535 +vt 0.908225 0.573265 +vt 0.908225 0.577613 +vt 0.901367 0.577613 +vt 0.901367 0.573265 +vt 0.901367 0.547415 +vt 0.916413 0.550339 +vt 0.912319 0.574728 +vt 0.897273 0.574728 +vt 0.893179 0.550339 +vt 0.968594 0.574816 +vt 0.968594 0.579163 +vt 0.961736 0.579163 +vt 0.968594 0.548965 +vt 0.961736 0.574816 +vt 0.976782 0.551889 +vt 0.972688 0.576278 +vt 0.957642 0.576278 +vt 0.953548 0.551889 +vt 0.914856 0.809963 +vt 0.919204 0.809963 +vt 0.919204 0.816821 +vt 0.914856 0.816821 +vt 0.889006 0.816821 +vt 0.891930 0.801775 +vt 0.916319 0.805869 +vt 0.916319 0.820915 +vt 0.891930 0.825009 +vt 0.557214 0.894864 +vt 0.561561 0.894864 +vt 0.561561 0.901723 +vt 0.557214 0.901723 +vt 0.531363 0.901723 +vt 0.534287 0.886677 +vt 0.558676 0.890771 +vt 0.558676 0.905817 +vt 0.534287 0.909911 +vt 0.903238 0.723036 +vt 0.903238 0.718688 +vt 0.910097 0.718688 +vt 0.903238 0.748886 +vt 0.910097 0.723036 +vt 0.895051 0.745962 +vt 0.899145 0.721574 +vt 0.914191 0.721574 +vt 0.918285 0.745962 +vt 0.116401 0.943723 +vt 0.120748 0.943723 +vt 0.120748 0.950581 +vt 0.116401 0.950581 +vt 0.090550 0.950581 +vt 0.093475 0.935535 +vt 0.117863 0.939629 +vt 0.117863 0.954675 +vt 0.093475 0.958769 +vt 0.309225 0.939882 +vt 0.309225 0.935535 +vt 0.316083 0.935535 +vt 0.309225 0.965733 +vt 0.316083 0.939882 +vt 0.301037 0.962809 +vt 0.305131 0.938420 +vt 0.320177 0.938420 +vt 0.324271 0.962809 +vt 0.934169 0.229504 +vt 0.934169 0.233852 +vt 0.927311 0.233852 +vt 0.927311 0.229504 +vt 0.927311 0.203654 +vt 0.942357 0.206578 +vt 0.938263 0.230966 +vt 0.923217 0.230966 +vt 0.919123 0.206578 +vt 0.825950 0.801775 +vt 0.825950 0.810469 +vt 0.795833 0.640971 +vt 0.830124 0.640971 +vt 0.830124 0.632277 +vt 0.826878 0.890825 +vt 0.754378 0.498466 +vt 0.671492 0.846401 +vt 0.671492 0.837707 +vt 0.705783 0.837707 +vt 0.844485 0.832410 +vt 0.878569 0.395099 +vt 0.822079 0.898076 +vt 0.797386 0.898076 +vt 0.777299 0.662912 +vt 0.759177 0.491216 +vt 0.783870 0.491216 +vt 0.724318 0.815766 +vt 0.652958 0.815766 +vt 0.671860 0.911269 +vt 0.802085 0.300562 +vt 0.696553 0.911269 +vt 0.873445 0.300563 +vt 0.412624 0.815766 +vt 0.881234 0.492616 +vt 0.905927 0.492616 +vt 0.483984 0.815766 +vt 0.848659 0.662912 +vt 0.674495 0.344587 +vt 0.634309 0.020148 +vt 0.691933 0.020118 +vt 0.586800 0.617746 +vt 0.408338 0.674595 +vt 0.408338 0.547415 +vt 0.547315 0.202485 +vt 0.674495 0.202485 +vt 0.761489 0.162220 +vt 0.727352 0.674595 +vt 0.550440 0.674595 +vt 0.728902 0.548190 +vt 0.761440 0.344587 +vt 0.585249 0.761540 +vt 0.172682 0.600439 +vt 0.078717 0.763193 +vt 0.288096 0.800252 +vt 0.020068 0.089759 +vt 0.767862 0.919608 +vt 0.813394 0.469684 +vt 0.877731 0.245865 +vt 0.524629 0.801775 +vt 0.408338 0.761540 +vt 0.729653 0.384823 +vt 0.408338 0.801775 +vt 0.797799 0.286572 +vt 0.848771 0.846401 +vt 0.852944 0.676903 +vt 0.852944 0.592042 +vt 0.648672 0.801775 +vt 0.849045 0.416631 +vt 0.416331 0.809148 +vt 0.799399 0.055802 +vt 0.406787 0.919220 +vt 0.935451 0.471084 +vt 0.883914 0.092936 +vt 0.726077 0.889737 +vt 0.856753 0.717138 +vt 0.820620 0.205585 +vt 0.854910 0.331198 +vt 0.559701 0.958558 +vt 0.465449 0.846401 +vt 0.949327 0.287976 +vt 0.953959 0.109699 +vt 0.581741 0.846401 +vt 0.188314 0.952218 +vt 0.229335 0.951558 +vt 0.900529 0.981743 +vt 0.923374 0.035551 +vt 0.922748 0.902913 +vt 0.892550 0.896055 +vt 0.921827 0.669878 +vt 0.050315 0.943723 +vt 0.908225 0.547415 +vt 0.961736 0.548965 +vt 0.889006 0.809963 +vt 0.531363 0.894864 +vt 0.910097 0.748886 +vt 0.090550 0.943723 +vt 0.316083 0.965733 +vt 0.934169 0.203654 +vt 0.791660 0.801775 +vt 0.795833 0.632277 +vt 0.705783 0.846401 vn 0.000000 0.173600 -0.984800 vn 0.000000 0.766000 -0.642800 vn 0.000000 1.000000 0.000000 @@ -299,6 +974,85 @@ vn 1.000000 -0.000000 -0.000000 vn -1.000000 -0.000000 0.000000 vn 0.000000 0.000000 1.000000 vn 0.000000 0.000000 -1.000000 +vn 0.908400 0.238500 0.343500 +vn 0.857500 0.082800 0.507700 +vn 0.908400 -0.038100 0.416400 +vn 0.000000 -0.477400 -0.878700 +vn 0.000000 0.782400 0.622700 +vn 0.000000 0.999700 -0.025900 +vn 0.000000 0.749100 -0.662400 +vn 0.000000 -0.930500 -0.366200 +vn 0.857500 0.389800 0.335700 +vn 0.908400 0.403500 0.109800 +vn 0.857500 0.514400 0.006600 +vn 0.908400 0.379700 -0.175200 +vn 0.857500 0.398300 -0.325600 +vn 0.908400 0.178200 -0.378300 +vn 0.857500 -0.481100 -0.182200 +vn 0.857500 0.095800 -0.505400 +vn 0.908400 -0.416700 0.034800 +vn 0.908400 -0.106600 -0.404300 +vn 0.857500 -0.485600 0.169700 +vn 0.857500 -0.251500 -0.448800 +vn 0.908400 -0.296800 0.294500 +vn 0.908400 -0.341600 -0.241200 +vn 0.857500 -0.262900 0.442200 +vn 0.000000 0.148100 -0.989000 +vn 0.000000 -0.948200 0.317600 +vn 0.000000 -0.522300 0.852800 +vn 0.000000 -0.522300 -0.852800 +vn 0.000000 -0.342000 0.939700 +vn 0.000000 0.342000 -0.939700 +vn 0.941700 0.316100 0.115000 +vn 0.000000 -0.866000 0.500000 +vn 0.000000 0.866000 -0.500000 +vn 0.941700 0.168200 0.291300 +vn 0.000000 0.984800 -0.173600 +vn 0.000000 -0.984800 0.173600 +vn 0.941700 -0.058400 -0.331200 +vn 0.000000 0.866000 0.500000 +vn 0.000000 -0.866000 -0.500000 +vn 0.941700 0.168200 -0.291300 +vn 0.000000 0.342000 0.939700 +vn 0.000000 -0.342000 -0.939700 +vn 0.941700 0.316100 -0.115000 +vn 0.941700 -0.257600 -0.216200 +vn 0.000000 -0.642800 0.766000 +vn 0.000000 0.642800 -0.766000 +vn 0.941700 -0.336300 0.000000 +vn 0.941700 -0.257600 0.216200 +vn 0.000000 0.642800 0.766000 +vn 0.000000 -0.642800 -0.766000 +vn 0.941700 -0.058400 0.331200 +vn 0.000000 0.984800 0.173600 +vn 0.000000 -0.984800 -0.173600 +vn 0.000000 0.199100 -0.980000 +vn 0.000000 0.199100 0.980000 +vn 0.000000 0.782400 -0.622700 +vn 0.000000 -0.477400 0.878700 +vn 0.000000 0.999700 0.025900 +vn 0.000000 -0.930500 0.366200 +vn 0.000000 0.749100 0.662400 +vn 0.000000 -0.948200 -0.317600 +vn 0.000000 0.148100 0.989000 +vn 0.857500 0.514400 -0.006600 +vn 0.908400 0.379700 0.175200 +vn 0.857500 0.398300 0.325600 +vn 0.908400 0.403500 -0.109800 +vn 0.857500 0.389800 -0.335700 +vn 0.908400 0.238500 -0.343500 +vn 0.857500 0.082800 -0.507700 +vn 0.908400 -0.038100 -0.416400 +vn 0.857500 -0.262900 -0.442200 +vn 0.908400 -0.341600 0.241200 +vn 0.908400 -0.296800 -0.294500 +vn 0.857500 -0.251500 0.448800 +vn 0.857500 -0.485600 -0.169700 +vn 0.908400 -0.106600 0.404300 +vn 0.908400 -0.416700 -0.034800 +vn 0.857500 0.095800 0.505400 +vn 0.857500 -0.481100 0.182200 +vn 0.908400 0.178200 0.378300 s off f 17/1/1 18/2/1 16/3/1 f 13/4/2 14/5/2 12/6/2 @@ -310,153 +1064,513 @@ f 35/19/7 37/20/7 38/21/7 f 33/22/8 34/23/8 32/24/8 f 29/25/9 30/26/9 28/27/9 f 48/28/10 47/29/10 46/30/10 -f 10/31/11 9/32/11 45/33/11 -f 12/6/12 47/29/12 48/28/12 +f 10/7/11 9/31/11 45/32/11 +f 12/33/12 47/29/12 48/28/12 f 52/34/13 51/35/13 50/36/13 -f 14/37/14 13/38/14 49/39/14 -f 15/40/15 16/3/15 51/35/15 -f 53/41/16 56/42/16 55/43/16 -f 17/44/17 53/41/17 54/45/17 -f 20/46/18 55/43/18 56/42/18 -f 60/47/19 59/48/19 58/49/19 -f 21/50/20 57/51/20 58/49/20 -f 24/52/21 59/48/21 60/47/21 -f 61/53/22 64/54/22 63/55/22 -f 25/56/23 61/53/23 62/57/23 -f 28/27/24 63/55/24 64/54/24 -f 65/58/25 68/59/25 67/60/25 -f 29/61/26 65/58/26 66/62/26 -f 31/63/27 32/24/27 67/60/27 -f 72/64/28 71/65/28 70/66/28 -f 33/67/29 69/68/29 70/66/29 -f 36/69/30 71/65/30 72/64/30 -f 76/70/31 75/71/31 74/72/31 -f 37/73/32 73/74/32 74/72/32 -f 40/11/33 75/71/33 76/70/33 -f 77/75/34 80/76/34 79/77/34 -f 41/78/35 77/75/35 78/79/35 -f 43/9/36 44/8/36 79/77/36 -f 62/80/37 63/81/37 3/82/37 -f 54/83/37 55/84/37 1/85/37 -f 58/86/37 1/85/37 55/84/37 -f 58/86/37 59/87/37 1/85/37 -f 62/80/37 1/85/37 59/87/37 -f 26/88/37 59/87/37 24/89/37 -f 30/90/37 66/91/37 28/92/37 -f 63/81/37 28/92/37 3/82/37 -f 66/91/37 3/82/37 28/92/37 -f 66/91/37 67/93/37 3/82/37 -f 70/94/37 3/82/37 67/93/37 -f 1/85/37 2/95/37 54/83/37 -f 70/94/37 71/96/37 3/82/37 -f 3/82/37 71/96/37 4/97/37 -f 38/98/37 74/99/37 71/96/37 -f 42/100/37 78/101/37 75/102/37 -f 10/103/37 46/104/37 79/105/37 -f 14/106/37 50/107/37 47/108/37 -f 18/109/37 54/83/37 51/110/37 -f 54/83/37 2/95/37 51/110/37 -f 51/110/37 2/95/37 50/107/37 +f 14/5/14 13/4/14 49/37/14 +f 15/38/15 16/39/15 51/35/15 +f 53/40/16 56/41/16 55/42/16 +f 17/1/17 53/40/17 54/43/17 +f 20/44/18 55/42/18 56/41/18 +f 60/45/19 59/46/19 58/47/19 +f 21/17/20 57/48/20 58/47/20 +f 24/49/21 59/46/21 60/45/21 +f 61/50/22 64/51/22 63/52/22 +f 25/14/23 61/50/23 62/53/23 +f 28/54/24 63/52/24 64/51/24 +f 65/55/25 68/56/25 67/57/25 +f 29/25/26 65/55/26 66/58/26 +f 31/59/27 32/60/27 67/57/27 +f 72/61/28 71/62/28 70/63/28 +f 33/22/29 69/64/29 70/63/29 +f 36/65/30 71/62/30 72/61/30 +f 76/66/31 75/67/31 74/68/31 +f 37/20/32 73/69/32 74/68/32 +f 40/70/33 75/67/33 76/66/33 +f 77/71/34 80/72/34 79/73/34 +f 41/74/35 77/71/35 78/75/35 +f 43/76/36 44/77/36 79/73/36 +f 62/78/37 63/79/37 3/80/37 +f 54/81/37 55/82/37 1/83/37 +f 1/83/37 59/84/37 62/78/37 +f 58/85/37 59/84/37 1/83/37 +f 3/80/37 63/79/37 66/86/37 +f 3/80/37 67/87/37 70/88/37 +f 16/3/1 18/2/1 82/89/1 +f 30/26/26 66/58/26 109/90/26 +f 24/49/21 89/91/21 106/92/21 +f 66/86/37 67/87/37 3/80/37 +f 44/77/36 86/93/36 116/94/36 +f 1/83/37 2/95/37 54/81/37 +f 70/88/37 71/96/37 3/80/37 +f 3/80/37 71/96/37 4/97/37 +f 22/18/20 58/47/20 105/98/20 +f 42/10/35 78/75/35 115/99/35 +f 16/39/15 81/100/15 102/101/15 +f 24/102/5 26/15/5 90/103/5 +f 36/65/30 93/104/30 112/105/30 +f 54/81/37 2/95/37 51/106/37 +f 51/106/37 2/95/37 50/107/37 f 50/107/37 2/95/37 47/108/37 -f 46/104/37 47/108/37 2/95/37 -f 71/96/37 74/99/37 4/97/37 -f 74/99/37 75/102/37 4/97/37 -f 78/101/37 4/97/37 75/102/37 -f 78/101/37 79/105/37 4/97/37 -f 4/97/37 79/105/37 46/104/37 -f 80/111/38 45/112/38 9/113/38 -f 41/114/38 39/115/38 76/116/38 -f 37/117/38 35/118/38 72/119/38 -f 8/120/38 6/121/38 45/112/38 -f 80/111/38 77/122/38 8/120/38 -f 77/122/38 76/116/38 8/120/38 -f 76/116/38 73/123/38 8/120/38 -f 73/123/38 72/119/38 8/120/38 -f 8/120/38 72/119/38 7/124/38 -f 72/119/38 69/125/38 7/124/38 -f 68/126/38 69/125/38 31/127/38 -f 68/126/38 65/128/38 7/124/38 -f 29/129/38 27/130/38 65/128/38 -f 65/128/38 27/130/38 7/124/38 -f 27/130/38 64/131/38 7/124/38 -f 7/124/38 64/131/38 61/132/38 -f 61/132/38 25/133/38 5/134/38 -f 25/133/38 23/135/38 60/136/38 -f 5/134/38 25/133/38 60/136/38 -f 60/136/38 57/137/38 5/134/38 -f 56/138/38 57/137/38 19/139/38 -f 56/138/38 53/140/38 5/134/38 -f 5/134/38 53/140/38 6/121/38 -f 45/112/38 6/121/38 48/141/38 -f 13/142/38 11/143/38 48/141/38 -f 17/144/38 15/145/38 52/146/38 -f 53/140/38 52/146/38 6/121/38 -f 52/146/38 49/147/38 6/121/38 -f 6/121/38 49/147/38 48/141/38 -f 2/95/39 1/85/39 5/148/39 -f 3/82/3 7/149/3 5/150/3 -f 4/97/40 8/151/40 7/152/40 -f 2/95/22 6/153/22 8/154/22 -f 15/40/1 17/1/1 16/3/1 -f 11/155/2 13/4/2 12/6/2 -f 9/156/3 10/7/3 43/9/3 -f 41/157/4 42/10/4 39/12/4 -f 24/52/5 23/13/5 26/15/5 -f 20/46/6 19/16/6 22/18/6 -f 36/69/7 35/19/7 38/21/7 -f 31/63/8 33/22/8 32/24/8 -f 27/158/9 29/25/9 28/27/9 -f 45/33/10 48/28/10 46/30/10 -f 46/30/11 10/31/11 45/33/11 -f 11/155/12 12/6/12 48/28/12 -f 49/39/13 52/34/13 50/36/13 -f 50/36/14 14/37/14 49/39/14 -f 52/34/15 15/40/15 51/35/15 -f 54/45/16 53/41/16 55/43/16 -f 18/159/17 17/44/17 54/45/17 -f 19/16/18 20/46/18 56/42/18 -f 57/51/19 60/47/19 58/49/19 -f 22/160/20 21/50/20 58/49/20 -f 23/13/21 24/52/21 60/47/21 -f 62/57/22 61/53/22 63/55/22 -f 26/161/23 25/56/23 62/57/23 -f 27/158/24 28/27/24 64/54/24 -f 66/62/25 65/58/25 67/60/25 -f 30/162/26 29/61/26 66/62/26 -f 68/59/27 31/63/27 67/60/27 -f 69/68/28 72/64/28 70/66/28 -f 34/163/29 33/67/29 70/66/29 -f 35/19/30 36/69/30 72/64/30 -f 73/74/31 76/70/31 74/72/31 -f 38/164/32 37/73/32 74/72/32 -f 39/12/33 40/11/33 76/70/33 -f 78/79/34 77/75/34 79/77/34 -f 42/165/35 41/78/35 78/79/35 -f 80/76/36 43/9/36 79/77/36 -f 1/85/37 62/80/37 3/82/37 -f 55/84/37 20/166/37 22/167/37 -f 22/167/37 58/86/37 55/84/37 -f 26/88/37 62/80/37 59/87/37 -f 67/93/37 32/168/37 34/169/37 -f 34/169/37 70/94/37 67/93/37 -f 36/170/37 38/98/37 71/96/37 -f 40/171/37 42/100/37 75/102/37 -f 44/172/37 10/103/37 79/105/37 -f 12/173/37 14/106/37 47/108/37 -f 16/174/37 18/109/37 51/110/37 -f 2/95/37 4/97/37 46/104/37 -f 43/175/38 80/111/38 9/113/38 -f 77/122/38 41/114/38 76/116/38 -f 73/123/38 37/117/38 72/119/38 -f 80/111/38 8/120/38 45/112/38 -f 33/176/38 31/127/38 69/125/38 -f 68/126/38 7/124/38 69/125/38 -f 5/134/38 7/124/38 61/132/38 -f 21/177/38 19/139/38 57/137/38 -f 56/138/38 5/134/38 57/137/38 -f 49/147/38 13/142/38 48/141/38 -f 53/140/38 17/144/38 52/146/38 -f 6/178/39 2/95/39 5/148/39 -f 1/85/3 3/82/3 5/150/3 -f 3/82/40 4/97/40 7/152/40 -f 4/97/22 2/95/22 8/154/22 +f 46/109/37 47/108/37 2/95/37 +f 71/96/37 74/110/37 4/97/37 +f 74/110/37 75/111/37 4/97/37 +f 78/112/37 4/97/37 75/111/37 +f 78/112/37 79/113/37 4/97/37 +f 4/97/37 79/113/37 46/109/37 +f 80/114/38 45/115/38 9/116/38 +f 41/117/38 39/118/38 76/119/38 +f 37/120/38 35/121/38 72/122/38 +f 8/123/38 6/124/38 45/115/38 +f 80/114/38 77/125/38 8/123/38 +f 77/125/38 76/119/38 8/123/38 +f 76/119/38 73/126/38 8/123/38 +f 73/126/38 72/122/38 8/123/38 +f 8/123/38 72/122/38 7/127/38 +f 72/122/38 69/128/38 7/127/38 +f 68/129/38 69/128/38 31/130/38 +f 68/129/38 65/131/38 7/127/38 +f 29/132/38 27/133/38 65/131/38 +f 65/131/38 27/133/38 7/127/38 +f 27/133/38 64/134/38 7/127/38 +f 7/127/38 64/134/38 61/135/38 +f 61/135/38 25/136/38 5/137/38 +f 25/136/38 23/138/38 60/139/38 +f 5/137/38 25/136/38 60/139/38 +f 60/139/38 57/140/38 5/137/38 +f 56/141/38 57/140/38 19/142/38 +f 56/141/38 53/143/38 5/137/38 +f 5/137/38 53/143/38 6/124/38 +f 45/115/38 6/124/38 48/144/38 +f 13/145/38 11/146/38 48/144/38 +f 17/147/38 15/148/38 52/149/38 +f 53/143/38 52/149/38 6/124/38 +f 52/149/38 49/150/38 6/124/38 +f 6/124/38 49/150/38 48/144/38 +f 2/95/39 1/83/39 5/151/39 +f 3/80/3 7/152/3 5/153/3 +f 4/97/40 8/154/40 7/155/40 +f 2/95/22 6/156/22 8/157/22 +f 1/83/37 55/82/37 58/85/37 +f 89/158/41 125/159/41 142/160/41 +f 104/161/37 140/162/37 141/163/37 +f 92/164/42 105/165/42 141/166/42 +f 106/167/37 142/168/37 143/169/37 +f 91/170/43 127/171/43 140/172/43 +f 108/173/37 144/174/37 145/175/37 +f 10/7/11 46/30/11 99/176/11 +f 22/18/6 92/177/6 91/178/6 +f 32/60/27 95/179/27 110/180/27 +f 14/5/2 84/181/2 83/182/2 +f 12/33/12 83/183/12 100/184/12 +f 38/21/7 94/185/7 93/186/7 +f 38/21/32 74/68/32 113/187/32 +f 74/188/16 71/189/16 112/190/16 +f 18/2/17 54/43/17 103/191/17 +f 75/192/19 114/193/19 115/194/19 +f 10/7/3 85/195/3 86/196/3 +f 40/70/33 87/197/33 114/198/33 +f 32/24/8 34/23/8 96/199/8 +f 79/200/22 116/201/22 99/202/22 +f 20/44/18 91/203/18 104/204/18 +f 26/15/23 62/53/23 107/205/23 +f 47/206/25 100/207/25 101/208/25 +f 51/209/28 102/210/28 103/211/28 +f 63/212/10 108/173/10 109/213/10 +f 28/54/24 97/214/24 108/215/24 +f 34/23/29 70/63/29 111/216/29 +f 42/10/4 88/217/4 87/218/4 +f 59/219/34 106/167/34 107/220/34 +f 14/5/14 50/36/14 101/221/14 +f 67/222/13 110/223/13 111/224/13 +f 30/26/9 98/225/9 97/226/9 +f 55/227/31 104/161/31 105/228/31 +f 146/229/44 131/230/44 167/231/44 +f 134/232/45 145/233/45 170/234/45 +f 147/235/46 168/236/46 132/237/46 +f 167/238/27 182/239/27 146/240/27 +f 165/241/30 184/242/30 148/243/30 +f 168/244/29 147/245/29 183/246/29 +f 130/247/47 149/248/47 166/249/47 +f 148/250/48 129/251/48 165/252/48 +f 185/253/32 166/254/32 149/255/32 +f 112/190/37 148/256/37 149/257/37 +f 90/258/49 107/259/49 143/260/49 +f 114/193/37 150/261/37 151/262/37 +f 97/263/50 133/264/50 144/265/50 +f 116/201/37 152/266/37 135/267/37 +f 98/268/51 109/269/51 145/233/51 +f 101/208/37 100/207/37 136/270/37 +f 95/271/52 131/230/52 146/229/52 +f 102/210/37 138/272/37 139/273/37 +f 96/274/53 111/275/53 147/235/53 +f 110/223/37 146/276/37 147/277/37 +f 93/278/54 129/251/54 148/250/54 +f 85/279/55 99/280/55 135/281/55 +f 94/282/56 113/283/56 149/248/56 +f 83/284/57 119/285/57 136/286/57 +f 87/287/58 123/288/58 150/289/58 +f 84/290/59 101/291/59 137/292/59 +f 88/293/60 115/294/60 151/295/60 +f 81/296/61 117/297/61 138/298/61 +f 86/299/62 122/300/62 152/301/62 +f 82/302/63 103/303/63 139/304/63 +f 134/232/37 133/264/37 97/263/37 +f 180/305/24 144/306/24 169/307/24 +f 144/174/10 180/305/10 181/308/10 +f 159/309/33 186/310/33 150/311/33 +f 142/168/34 178/312/34 179/313/34 +f 124/314/64 151/295/64 160/315/64 +f 130/316/16 166/254/16 165/241/16 +f 140/162/31 176/317/31 177/318/31 +f 150/289/65 123/288/65 159/319/65 +f 148/256/16 184/242/16 185/253/16 +f 187/320/35 160/321/35 151/322/35 +f 150/261/19 186/310/19 187/320/19 +f 158/323/36 188/324/36 152/325/36 +f 152/266/22 188/324/22 171/326/22 +f 152/301/66 122/300/66 158/327/66 +f 136/270/25 172/328/25 173/329/25 +f 121/330/67 135/281/67 157/331/67 +f 138/272/28 174/332/28 175/333/28 +f 171/326/11 157/334/11 135/335/11 +f 146/276/13 182/239/13 183/246/13 +f 118/336/28 154/337/28 153/338/28 +f 293/339/68 296/340/68 241/341/68 +f 153/338/37 154/337/37 175/333/37 +f 242/342/69 295/343/69 294/344/69 +f 172/328/37 155/345/37 156/346/37 +f 206/347/70 294/344/70 293/339/70 +f 118/348/37 117/297/37 81/296/37 +f 294/344/34 295/349/34 296/350/34 +f 120/351/25 156/346/25 155/345/25 +f 289/352/71 292/353/71 247/354/71 +f 84/290/37 120/355/37 119/285/37 +f 248/356/72 291/357/72 290/358/72 +f 85/279/37 121/330/37 122/300/37 +f 290/358/73 289/352/73 211/359/73 +f 188/324/37 158/323/37 157/334/37 +f 290/358/31 291/360/31 292/361/31 +f 159/309/37 160/321/37 187/320/37 +f 285/362/71 288/363/71 245/364/71 +f 158/323/22 122/365/22 121/366/22 +f 246/367/72 287/368/72 286/369/72 +f 124/314/37 123/288/37 87/287/37 +f 210/370/73 286/369/73 285/362/73 +f 124/371/19 160/321/19 159/309/19 +f 286/369/31 287/372/31 288/373/31 +f 281/374/74 284/375/74 251/376/74 +f 94/282/37 130/247/37 129/251/37 +f 252/377/75 283/378/75 282/379/75 +f 96/274/37 132/237/37 131/230/37 +f 282/379/76 281/374/76 215/380/76 +f 184/242/37 165/241/37 166/254/37 +f 282/379/16 283/381/16 284/382/16 +f 167/238/37 168/244/37 183/246/37 +f 277/383/74 280/384/74 249/385/74 +f 167/238/13 131/386/13 132/387/13 +f 250/388/75 279/389/75 278/390/75 +f 214/391/76 278/390/76 277/383/76 +f 278/390/16 279/392/16 280/393/16 +f 273/394/77 276/395/77 255/396/77 +f 256/397/78 275/398/78 274/399/78 +f 274/399/79 273/394/79 219/400/79 +f 274/399/13 275/401/13 276/402/13 +f 269/403/77 272/404/77 253/405/77 +f 254/406/78 271/407/78 270/408/78 +f 218/409/79 270/408/79 269/403/79 +f 270/408/13 271/410/13 272/411/13 +f 265/412/80 268/413/80 259/414/80 +f 260/415/81 267/416/81 266/417/81 +f 266/417/82 265/412/82 223/418/82 +f 265/412/10 266/417/10 267/419/10 +f 261/420/80 264/421/80 257/422/80 +f 258/423/81 263/424/81 262/425/81 +f 262/425/82 261/420/82 221/426/82 +f 262/425/10 263/427/10 264/428/10 +f 298/429/34 299/430/34 300/431/34 +f 208/432/70 298/429/70 297/433/70 +f 244/434/69 299/435/69 298/429/69 +f 297/433/68 300/436/68 243/437/68 +f 302/438/19 303/439/19 304/440/19 +f 302/438/83 301/441/83 201/442/83 +f 238/443/84 303/444/84 302/438/84 +f 301/441/85 304/445/85 237/446/85 +f 306/447/19 307/448/19 308/449/19 +f 204/450/83 306/447/83 305/451/83 +f 240/452/84 307/453/84 306/447/84 +f 305/451/85 308/454/85 239/455/85 +f 310/456/22 311/457/22 312/458/22 +f 310/456/86 309/459/86 200/460/86 +f 235/461/39 311/462/39 310/456/39 +f 309/459/40 312/463/40 236/464/40 +f 314/465/22 315/466/22 316/467/22 +f 314/465/86 313/468/86 198/469/86 +f 233/470/39 315/471/39 314/465/39 +f 313/468/40 316/472/40 234/473/40 +f 318/474/25 319/475/25 320/476/25 +f 194/477/87 318/474/87 317/478/87 +f 230/479/88 319/480/88 318/474/88 +f 317/478/89 320/481/89 229/482/89 +f 322/483/25 323/484/25 324/485/25 +f 322/483/87 321/486/87 195/487/87 +f 232/488/88 323/489/88 322/483/88 +f 321/486/89 324/490/89 231/491/89 +f 326/492/28 327/493/28 328/494/28 +f 190/495/90 326/492/90 325/496/90 +f 226/497/91 327/498/91 326/492/91 +f 325/496/92 328/499/92 225/500/92 +f 330/501/28 331/502/28 332/503/28 +f 330/501/90 329/504/90 191/505/90 +f 228/506/91 331/507/91 330/501/91 +f 329/504/92 332/508/92 227/509/92 +f 134/510/10 170/511/10 169/307/10 +f 169/307/37 170/511/37 181/308/37 +f 161/512/37 162/513/37 179/313/37 +f 126/514/34 162/513/34 161/512/34 +f 90/258/37 126/515/37 125/159/37 +f 128/516/37 127/171/37 91/170/37 +f 128/517/31 164/518/31 163/519/31 +f 163/519/37 164/518/37 177/318/37 +f 170/511/26 145/520/26 181/308/26 +f 144/265/93 133/264/93 169/521/93 +f 126/515/94 143/260/94 162/522/94 +f 142/160/95 125/159/95 161/523/95 +f 161/512/21 178/312/21 142/524/21 +f 128/516/96 141/166/96 164/525/96 +f 140/172/97 127/171/97 163/526/97 +f 163/519/18 176/317/18 140/527/18 +f 164/518/20 141/528/20 177/318/20 +f 118/348/98 139/304/98 154/529/98 +f 154/337/17 139/530/17 175/333/17 +f 138/298/99 117/297/99 153/531/99 +f 153/338/15 174/332/15 138/532/15 +f 173/329/14 156/346/14 137/533/14 +f 120/355/100 137/292/100 156/534/100 +f 136/286/101 119/285/101 155/535/101 +f 155/345/12 172/328/12 136/536/12 +f 162/513/23 143/537/23 179/313/23 +f 15/538/1 17/1/1 16/3/1 +f 11/539/2 13/4/2 12/6/2 +f 9/31/3 10/7/3 43/9/3 +f 41/74/4 42/10/4 39/12/4 +f 24/102/5 23/13/5 26/15/5 +f 20/540/6 19/16/6 22/18/6 +f 36/541/7 35/19/7 38/21/7 +f 31/542/8 33/22/8 32/24/8 +f 27/543/9 29/25/9 28/27/9 +f 45/32/10 48/28/10 46/30/10 +f 46/30/11 10/7/11 45/32/11 +f 11/544/12 12/33/12 48/28/12 +f 49/37/13 52/34/13 50/36/13 +f 50/36/14 14/5/14 49/37/14 +f 52/34/15 15/38/15 51/35/15 +f 54/43/16 53/40/16 55/42/16 +f 18/2/17 17/1/17 54/43/17 +f 19/545/18 20/44/18 56/41/18 +f 57/48/19 60/45/19 58/47/19 +f 22/18/20 21/17/20 58/47/20 +f 23/546/21 24/49/21 60/45/21 +f 62/53/22 61/50/22 63/52/22 +f 26/15/23 25/14/23 62/53/23 +f 27/547/24 28/54/24 64/51/24 +f 66/58/25 65/55/25 67/57/25 +f 30/26/26 29/25/26 66/58/26 +f 68/56/27 31/59/27 67/57/27 +f 69/64/28 72/61/28 70/63/28 +f 34/23/29 33/22/29 70/63/29 +f 35/548/30 36/65/30 72/61/30 +f 73/69/31 76/66/31 74/68/31 +f 38/21/32 37/20/32 74/68/32 +f 39/549/33 40/70/33 76/66/33 +f 78/75/34 77/71/34 79/73/34 +f 42/10/35 41/74/35 78/75/35 +f 80/72/36 43/76/36 79/73/36 +f 1/83/37 62/78/37 3/80/37 +f 81/550/1 16/3/1 82/89/1 +f 98/225/26 30/26/26 109/90/26 +f 59/46/21 24/49/21 106/92/21 +f 79/73/36 44/77/36 116/94/36 +f 92/177/20 22/18/20 105/98/20 +f 88/217/35 42/10/35 115/99/35 +f 51/35/15 16/39/15 102/101/15 +f 89/551/5 24/102/5 90/103/5 +f 71/62/30 36/65/30 112/105/30 +f 2/95/37 4/97/37 46/109/37 +f 43/552/38 80/114/38 9/116/38 +f 77/125/38 41/117/38 76/119/38 +f 73/126/38 37/120/38 72/122/38 +f 80/114/38 8/123/38 45/115/38 +f 33/553/38 31/130/38 69/128/38 +f 68/129/38 7/127/38 69/128/38 +f 5/137/38 7/127/38 61/135/38 +f 21/554/38 19/142/38 57/140/38 +f 56/141/38 5/137/38 57/140/38 +f 49/150/38 13/145/38 48/144/38 +f 53/143/38 17/147/38 52/149/38 +f 6/555/39 2/95/39 5/151/39 +f 1/83/3 3/80/3 5/153/3 +f 3/80/40 4/97/40 7/155/40 +f 4/97/22 2/95/22 8/157/22 +f 106/556/102 89/158/102 142/160/102 +f 105/228/37 104/161/37 141/163/37 +f 128/516/103 92/164/103 141/166/103 +f 107/220/37 106/167/37 143/169/37 +f 104/557/104 91/170/104 140/172/104 +f 109/213/37 108/173/37 145/175/37 +f 85/195/11 10/7/11 99/176/11 +f 20/540/6 22/18/6 91/178/6 +f 67/57/27 32/60/27 110/180/27 +f 12/6/2 14/5/2 83/182/2 +f 47/29/12 12/33/12 100/184/12 +f 36/541/7 38/21/7 93/186/7 +f 94/185/32 38/21/32 113/187/32 +f 113/558/16 74/188/16 112/190/16 +f 82/89/17 18/2/17 103/191/17 +f 78/559/19 75/192/19 115/194/19 +f 44/8/3 10/7/3 86/196/3 +f 75/67/33 40/70/33 114/198/33 +f 95/560/8 32/24/8 96/199/8 +f 46/561/22 79/200/22 99/202/22 +f 55/42/18 20/44/18 104/204/18 +f 90/103/23 26/15/23 107/205/23 +f 50/562/25 47/206/25 101/208/25 +f 54/563/28 51/209/28 103/211/28 +f 66/564/10 63/212/10 109/213/10 +f 63/52/24 28/54/24 108/215/24 +f 96/199/29 34/23/29 111/216/29 +f 40/11/4 42/10/4 87/218/4 +f 62/565/34 59/219/34 107/220/34 +f 84/181/14 14/5/14 101/221/14 +f 70/566/13 67/222/13 111/224/13 +f 28/27/9 30/26/9 97/226/9 +f 58/567/31 55/227/31 105/228/31 +f 113/558/37 112/190/37 149/257/37 +f 126/515/105 90/258/105 143/260/105 +f 115/194/37 114/193/37 151/262/37 +f 108/568/106 97/263/106 144/265/106 +f 99/202/37 116/201/37 135/267/37 +f 134/232/107 98/268/107 145/233/107 +f 137/569/37 101/208/37 136/270/37 +f 110/570/108 95/271/108 146/229/108 +f 103/211/37 102/210/37 139/273/37 +f 132/237/109 96/274/109 147/235/109 +f 111/224/37 110/223/37 147/277/37 +f 112/571/110 93/278/110 148/250/110 +f 121/330/111 85/279/111 135/281/111 +f 130/247/112 94/282/112 149/248/112 +f 100/572/113 83/284/113 136/286/113 +f 114/573/114 87/287/114 150/289/114 +f 120/355/115 84/290/115 137/292/115 +f 124/314/116 88/293/116 151/295/116 +f 102/574/117 81/296/117 138/298/117 +f 116/575/118 86/299/118 152/301/118 +f 118/348/119 82/302/119 139/304/119 +f 98/268/37 134/232/37 97/263/37 +f 145/175/10 144/174/10 181/308/10 +f 143/169/34 142/168/34 179/313/34 +f 129/576/16 130/316/16 165/241/16 +f 141/163/31 140/162/31 177/318/31 +f 149/257/16 148/256/16 185/253/16 +f 151/262/19 150/261/19 187/320/19 +f 135/267/22 152/266/22 171/326/22 +f 137/569/25 136/270/25 173/329/25 +f 139/273/28 138/272/28 175/333/28 +f 147/277/13 146/276/13 183/246/13 +f 117/577/28 118/336/28 153/338/28 +f 205/578/68 293/339/68 241/341/68 +f 174/332/37 153/338/37 175/333/37 +f 206/347/69 242/342/69 294/344/69 +f 173/329/37 172/328/37 156/346/37 +f 205/578/70 206/347/70 293/339/70 +f 82/302/37 118/348/37 81/296/37 +f 293/339/34 294/344/34 296/350/34 +f 119/579/25 120/351/25 155/345/25 +f 211/359/71 289/352/71 247/354/71 +f 83/284/37 84/290/37 119/285/37 +f 212/580/72 248/356/72 290/358/72 +f 86/299/37 85/279/37 122/300/37 +f 212/580/73 290/358/73 211/359/73 +f 171/326/37 188/324/37 157/334/37 +f 289/352/31 290/358/31 292/361/31 +f 186/310/37 159/309/37 187/320/37 +f 209/581/71 285/362/71 245/364/71 +f 157/334/22 158/323/22 121/366/22 +f 210/370/72 246/367/72 286/369/72 +f 88/293/37 124/314/37 87/287/37 +f 209/581/73 210/370/73 285/362/73 +f 123/582/19 124/371/19 159/309/19 +f 285/362/31 286/369/31 288/373/31 +f 215/380/74 281/374/74 251/376/74 +f 93/278/37 94/282/37 129/251/37 +f 216/583/75 252/377/75 282/379/75 +f 95/271/37 96/274/37 131/230/37 +f 216/583/76 282/379/76 215/380/76 +f 185/253/37 184/242/37 166/254/37 +f 281/374/16 282/379/16 284/382/16 +f 182/239/37 167/238/37 183/246/37 +f 213/584/74 277/383/74 249/385/74 +f 168/244/13 167/238/13 132/387/13 +f 214/391/75 250/388/75 278/390/75 +f 213/584/76 214/391/76 277/383/76 +f 277/383/16 278/390/16 280/393/16 +f 219/400/77 273/394/77 255/396/77 +f 220/585/78 256/397/78 274/399/78 +f 220/585/79 274/399/79 219/400/79 +f 273/394/13 274/399/13 276/402/13 +f 217/586/77 269/403/77 253/405/77 +f 218/409/78 254/406/78 270/408/78 +f 217/586/79 218/409/79 269/403/79 +f 269/403/13 270/408/13 272/411/13 +f 223/418/80 265/412/80 259/414/80 +f 224/587/81 260/415/81 266/417/81 +f 224/587/82 266/417/82 223/418/82 +f 268/588/10 265/412/10 267/419/10 +f 221/426/80 261/420/80 257/422/80 +f 222/589/81 258/423/81 262/425/81 +f 222/589/82 262/425/82 221/426/82 +f 261/420/10 262/425/10 264/428/10 +f 297/433/34 298/429/34 300/431/34 +f 207/590/70 208/432/70 297/433/70 +f 208/432/69 244/434/69 298/429/69 +f 207/590/68 297/433/68 243/437/68 +f 301/441/19 302/438/19 304/440/19 +f 202/591/83 302/438/83 201/442/83 +f 202/591/84 238/443/84 302/438/84 +f 201/442/85 301/441/85 237/446/85 +f 305/451/19 306/447/19 308/449/19 +f 203/592/83 204/450/83 305/451/83 +f 204/450/84 240/452/84 306/447/84 +f 203/592/85 305/451/85 239/455/85 +f 309/459/22 310/456/22 312/458/22 +f 199/593/86 310/456/86 200/460/86 +f 199/593/39 235/461/39 310/456/39 +f 200/460/40 309/459/40 236/464/40 +f 313/468/22 314/465/22 316/467/22 +f 197/594/86 314/465/86 198/469/86 +f 197/594/39 233/470/39 314/465/39 +f 198/469/40 313/468/40 234/473/40 +f 317/478/25 318/474/25 320/476/25 +f 193/595/87 194/477/87 317/478/87 +f 194/477/88 230/479/88 318/474/88 +f 193/595/89 317/478/89 229/482/89 +f 321/486/25 322/483/25 324/485/25 +f 196/596/87 322/483/87 195/487/87 +f 196/596/88 232/488/88 322/483/88 +f 195/487/89 321/486/89 231/491/89 +f 325/496/28 326/492/28 328/494/28 +f 189/597/90 190/495/90 325/496/90 +f 190/495/91 226/497/91 326/492/91 +f 189/597/92 325/496/92 225/500/92 +f 329/504/28 330/501/28 332/503/28 +f 192/598/90 330/501/90 191/505/90 +f 192/598/91 228/506/91 330/501/91 +f 191/505/92 329/504/92 227/509/92 +f 133/599/10 134/510/10 169/307/10 +f 180/305/37 169/307/37 181/308/37 +f 178/312/37 161/512/37 179/313/37 +f 125/600/34 126/514/34 161/512/34 +f 89/158/37 90/258/37 125/159/37 +f 92/164/37 128/516/37 91/170/37 +f 127/601/31 128/517/31 163/519/31 +f 176/317/37 163/519/37 177/318/37 diff --git a/assets/hbm/models/vault_label.obj b/assets/hbm/models/vault_label.obj new file mode 100644 index 0000000000..1ab776d74f --- /dev/null +++ b/assets/hbm/models/vault_label.obj @@ -0,0 +1,57 @@ +# Blender v2.76 (sub 0) OBJ File: 'vault_label.blend' +# www.blender.org +o Cylinder +v 0.450000 2.978691 -0.083927 +v 0.450000 2.920645 -0.243406 +v 0.450000 2.021473 -0.084857 +v 0.450000 2.078882 -0.242588 +v 0.450000 2.812752 -0.371988 +v 0.450000 2.665775 -0.456845 +v 0.450000 2.500473 -0.485992 +v 0.450000 2.333337 -0.456522 +v 0.450000 2.665775 0.456845 +v 0.450000 2.812752 0.371988 +v 0.450000 2.187972 -0.372596 +v 0.450000 2.920646 0.243405 +v 0.450000 2.978691 0.083926 +v 0.450000 2.021473 0.084857 +v 0.450000 2.078882 0.242587 +v 0.450000 2.187972 0.372596 +v 0.450000 2.333337 0.456522 +v 0.450000 2.500473 0.485992 +vt 0.037266 0.323502 +vt 0.586012 0.007394 +vt 0.992606 0.492912 +vt 0.877051 0.809440 +vt 0.746718 0.918803 +vt 0.585069 0.977638 +vt 0.414932 0.977638 +vt 0.253283 0.918803 +vt 0.122950 0.809441 +vt 0.036938 0.660464 +vt 0.007394 0.492912 +vt 0.122334 0.176159 +vt 0.254112 0.065584 +vt 0.413988 0.007394 +vt 0.745889 0.065585 +vt 0.877666 0.176159 +vt 0.962735 0.323502 +vt 0.963062 0.660464 +vn 1.000000 -0.000000 -0.000000 +s off +f 17/1/1 3/2/1 7/3/1 +f 5/4/1 2/5/1 1/6/1 +f 1/6/1 13/7/1 5/4/1 +f 12/8/1 10/9/1 17/1/1 +f 9/10/1 18/11/1 17/1/1 +f 17/1/1 16/12/1 15/13/1 +f 15/13/1 14/14/1 3/2/1 +f 3/2/1 4/15/1 11/16/1 +f 11/16/1 8/17/1 7/3/1 +f 7/3/1 6/18/1 12/8/1 +f 5/4/1 13/7/1 12/8/1 +f 10/9/1 9/10/1 17/1/1 +f 17/1/1 15/13/1 3/2/1 +f 3/2/1 11/16/1 7/3/1 +f 6/18/1 5/4/1 12/8/1 +f 12/8/1 17/1/1 7/3/1 diff --git a/assets/hbm/textures/blocks/vault_door.png b/assets/hbm/textures/blocks/vault_door.png new file mode 100644 index 0000000000..65c281c12b Binary files /dev/null and b/assets/hbm/textures/blocks/vault_door.png differ diff --git a/assets/hbm/textures/models/stable_cog.png b/assets/hbm/textures/models/stable_cog.png new file mode 100644 index 0000000000..d5a137f7b0 Binary files /dev/null and b/assets/hbm/textures/models/stable_cog.png differ diff --git a/assets/hbm/textures/models/stable_label.png b/assets/hbm/textures/models/stable_label.png new file mode 100644 index 0000000000..39e4d0dac4 Binary files /dev/null and b/assets/hbm/textures/models/stable_label.png differ diff --git a/assets/hbm/textures/models/vault4_cog.png b/assets/hbm/textures/models/vault4_cog.png new file mode 100644 index 0000000000..b48e110ee9 Binary files /dev/null and b/assets/hbm/textures/models/vault4_cog.png differ diff --git a/assets/hbm/textures/models/vault4_label_111.png b/assets/hbm/textures/models/vault4_label_111.png new file mode 100644 index 0000000000..e3e614b89d Binary files /dev/null and b/assets/hbm/textures/models/vault4_label_111.png differ diff --git a/assets/hbm/textures/models/vault4_label_81.png b/assets/hbm/textures/models/vault4_label_81.png new file mode 100644 index 0000000000..3b899d4ff7 Binary files /dev/null and b/assets/hbm/textures/models/vault4_label_81.png differ diff --git a/assets/hbm/textures/models/vault_frame.png b/assets/hbm/textures/models/vault_frame.png index 6f08b95201..acf06d5d73 100644 Binary files a/assets/hbm/textures/models/vault_frame.png and b/assets/hbm/textures/models/vault_frame.png differ diff --git a/assets/hbm/textures/models/vault_label_101.png b/assets/hbm/textures/models/vault_label_101.png new file mode 100644 index 0000000000..f58b877fd2 Binary files /dev/null and b/assets/hbm/textures/models/vault_label_101.png differ diff --git a/assets/hbm/textures/models/vault_label_106.png b/assets/hbm/textures/models/vault_label_106.png new file mode 100644 index 0000000000..a8652565b0 Binary files /dev/null and b/assets/hbm/textures/models/vault_label_106.png differ diff --git a/assets/hbm/textures/models/vault_label_87.png b/assets/hbm/textures/models/vault_label_87.png new file mode 100644 index 0000000000..b2fec9ee5f Binary files /dev/null and b/assets/hbm/textures/models/vault_label_87.png differ diff --git a/com/hbm/blocks/ModBlocks.java b/com/hbm/blocks/ModBlocks.java index 7475b580da..752c4d5359 100644 --- a/com/hbm/blocks/ModBlocks.java +++ b/com/hbm/blocks/ModBlocks.java @@ -519,6 +519,7 @@ public static void mainRegistry() public static Block dummy_port_radgen; public static Block dummy_block_reactor_small; public static Block dummy_port_reactor_small; + public static Block dummy_block_vault; public static Block ntm_dirt; @@ -801,7 +802,7 @@ private static void initializeBlock() { seal_controller = new BlockSeal(Material.iron).setBlockName("seal_controller").setHardness(10.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab); seal_hatch = new BlockHatch(Material.iron).setBlockName("seal_hatch").setHardness(Float.POSITIVE_INFINITY).setResistance(Float.POSITIVE_INFINITY).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":seal_hatch_3"); - vault_door = new VaultDoor(Material.iron).setBlockName("vault_door").setHardness(10.0F).setResistance(100.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":vault_door"); + vault_door = new VaultDoor(Material.iron).setBlockName("vault_door").setHardness(10.0F).setResistance(10000.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":vault_door"); marker_structure = new BlockMarker(Material.iron).setBlockName("marker_structure").setHardness(0.0F).setResistance(0.0F).setLightLevel(1.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":marker_structure"); @@ -920,6 +921,7 @@ private static void initializeBlock() { dummy_port_radgen = new DummyBlockRadGen(Material.iron).setBlockName("dummy_port_radgen").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel"); dummy_block_reactor_small = new DummyBlockMachine(Material.iron, guiID_reactor_small, machine_reactor_small).setBlockName("dummy_block_reactor_small").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel"); dummy_port_reactor_small = new DummyBlockMachine(Material.iron, guiID_reactor_small, machine_reactor_small).setBlockName("dummy_port_reactor_small").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel"); + dummy_block_vault = new DummyBlockVault(Material.iron).setBlockName("dummy_block_vault").setHardness(10.0F).setResistance(10000.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel"); ntm_dirt = new BlockNTMDirt().setBlockName("ntm_dirt").setHardness(0.5F).setStepSound(Block.soundTypeGravel).setCreativeTab(null).setBlockTextureName("dirt"); } @@ -1315,6 +1317,7 @@ private static void registerBlock() { GameRegistry.registerBlock(dummy_port_radgen, dummy_port_radgen.getUnlocalizedName()); GameRegistry.registerBlock(dummy_block_reactor_small, dummy_block_reactor_small.getUnlocalizedName()); GameRegistry.registerBlock(dummy_port_reactor_small, dummy_port_reactor_small.getUnlocalizedName()); + GameRegistry.registerBlock(dummy_block_vault, dummy_block_vault.getUnlocalizedName()); //Other Technical Blocks GameRegistry.registerBlock(oil_pipe, oil_pipe.getUnlocalizedName()); diff --git a/com/hbm/blocks/machine/DummyBlockVault.java b/com/hbm/blocks/machine/DummyBlockVault.java new file mode 100644 index 0000000000..9558e73b52 --- /dev/null +++ b/com/hbm/blocks/machine/DummyBlockVault.java @@ -0,0 +1,129 @@ +package com.hbm.blocks.machine; + +import java.util.Random; + +import com.hbm.blocks.ModBlocks; +import com.hbm.interfaces.IBomb; +import com.hbm.interfaces.IDummy; +import com.hbm.main.MainRegistry; +import com.hbm.tileentity.machine.TileEntityDummy; +import com.hbm.tileentity.machine.TileEntityMachineRadGen; +import com.hbm.tileentity.machine.TileEntityVaultDoor; + +import cpw.mods.fml.common.network.internal.FMLNetworkHandler; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; + +public class DummyBlockVault extends BlockContainer implements IDummy, IBomb { + + public static boolean safeBreak = false; + + public DummyBlockVault(Material p_i45386_1_) { + super(p_i45386_1_); + } + + @Override + public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { + return new TileEntityDummy(); + } + + @Override + public void breakBlock(World world, int x, int y, int z, Block block, int i) + { + if(!safeBreak) { + TileEntity te = world.getTileEntity(x, y, z); + if(te != null && te instanceof TileEntityDummy) { + int a = ((TileEntityDummy)te).targetX; + int b = ((TileEntityDummy)te).targetY; + int c = ((TileEntityDummy)te).targetZ; + + if(!world.isRemote) + world.func_147480_a(a, b, c, true); + } + } + world.removeTileEntity(x, y, z); + } + + @Override + public int getRenderType() { + return -1; + } + + @Override + public boolean isOpaqueCube() { + return false; + } + + @Override + public boolean renderAsNormalBlock() { + return false; + } + + @Override + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) + { + return null; + } + + @Override + @SideOnly(Side.CLIENT) + public Item getItem(World world, int x, int y, int z) + { + return Item.getItemFromBlock(ModBlocks.vault_door); + } + + @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()) + { + explode(world, x, y, z); + + return true; + } else { + TileEntity te = world.getTileEntity(x, y, z); + if(te != null && te instanceof TileEntityDummy) { + int a = ((TileEntityDummy)te).targetX; + int b = ((TileEntityDummy)te).targetY; + int c = ((TileEntityDummy)te).targetZ; + + TileEntityVaultDoor entity = (TileEntityVaultDoor) world.getTileEntity(a, b, c); + if(entity != null) + { + entity.type++; + if(entity.type >= entity.maxTypes) + entity.type = 0; + } + } + + return true; + } + } + + @Override + public void explode(World world, int x, int y, int z) { + + TileEntity te = world.getTileEntity(x, y, z); + if(te != null && te instanceof TileEntityDummy) { + int a = ((TileEntityDummy)te).targetX; + int b = ((TileEntityDummy)te).targetY; + int c = ((TileEntityDummy)te).targetZ; + + TileEntityVaultDoor entity = (TileEntityVaultDoor) world.getTileEntity(a, b, c); + if(entity != null) + { + entity.tryToggle(); + } + } + + } +} diff --git a/com/hbm/blocks/machine/VaultDoor.java b/com/hbm/blocks/machine/VaultDoor.java index bb43b86c67..26bbb6fad6 100644 --- a/com/hbm/blocks/machine/VaultDoor.java +++ b/com/hbm/blocks/machine/VaultDoor.java @@ -1,13 +1,19 @@ package com.hbm.blocks.machine; +import com.hbm.interfaces.IBomb; +import com.hbm.interfaces.IMultiblock; import com.hbm.tileentity.machine.TileEntityVaultDoor; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.MathHelper; import net.minecraft.world.World; -public class VaultDoor extends BlockContainer { +public class VaultDoor extends BlockContainer implements IBomb, IMultiblock { public VaultDoor(Material p_i45386_1_) { super(p_i45386_1_); @@ -33,4 +39,209 @@ public boolean renderAsNormalBlock() { return false; } + @Override + public void explode(World world, int x, int y, int z) { + TileEntityVaultDoor te = (TileEntityVaultDoor) world.getTileEntity(x, y, z); + + te.tryToggle(); + } + + @Override + public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { + + TileEntityVaultDoor te = (TileEntityVaultDoor) world.getTileEntity(x, y, z); + + int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; + + if(i == 0) + { + world.setBlockMetadataWithNotify(x, y, z, 2, 2); + + //frame + if(!(te.placeDummy(x + 1, y, z) && + te.placeDummy(x + 2, y, z) && + te.placeDummy(x + 2, y + 1, z) && + te.placeDummy(x + 2, y + 2, z) && + te.placeDummy(x + 2, y + 3, z) && + te.placeDummy(x + 2, y + 4, z) && + te.placeDummy(x + 1, y + 4, z) && + te.placeDummy(x, y + 4, z) && + te.placeDummy(x - 1, y + 4, z) && + te.placeDummy(x - 2, y + 4, z) && + te.placeDummy(x - 2, y + 3, z) && + te.placeDummy(x - 2, y + 2, z) && + te.placeDummy(x - 2, y + 1, z) && + te.placeDummy(x - 2, y, z) && + te.placeDummy(x - 1, y, z) && + //cog + te.placeDummy(x - 1, y + 1, z) && + te.placeDummy(x - 1, y + 2, z) && + te.placeDummy(x - 1, y + 3, z) && + te.placeDummy(x, y + 1, z) && + te.placeDummy(x, y + 2, z) && + te.placeDummy(x, y + 3, z) && + te.placeDummy(x + 1, y + 1, z) && + te.placeDummy(x + 1, y + 2, z) && + te.placeDummy(x + 1, y + 3, z) && + //teeth + te.placeDummy(x + 2, y, z + 1) && + te.placeDummy(x + 1, y, z + 1) && + te.placeDummy(x, y, z + 1) && + te.placeDummy(x - 1, y, z + 1) && + te.placeDummy(x - 2, y, z + 1))) { + + world.func_147480_a(x, y, z, true); + } + } + if(i == 1) + { + world.setBlockMetadataWithNotify(x, y, z, 5, 2); + + //frame + if(!(te.placeDummy(x, y, z + 1) && + te.placeDummy(x, y, z + 2) && + te.placeDummy(x, y + 1, z + 2) && + te.placeDummy(x, y + 2, z + 2) && + te.placeDummy(x, y + 3, z + 2) && + te.placeDummy(x, y + 4, z + 2) && + te.placeDummy(x, y + 4, z + 1) && + te.placeDummy(x, y + 4, z) && + te.placeDummy(x, y + 4, z - 1) && + te.placeDummy(x, y + 4, z - 2) && + te.placeDummy(x, y + 3, z - 2) && + te.placeDummy(x, y + 2, z - 2) && + te.placeDummy(x, y + 1, z - 2) && + te.placeDummy(x, y, z - 2) && + te.placeDummy(x, y, z - 1) && + //cog + te.placeDummy(x, y + 1, z - 1) && + te.placeDummy(x, y + 2, z - 1) && + te.placeDummy(x, y + 3, z - 1) && + te.placeDummy(x, y + 1, z) && + te.placeDummy(x, y + 2, z) && + te.placeDummy(x, y + 3, z) && + te.placeDummy(x, y + 1, z + 1) && + te.placeDummy(x, y + 2, z + 1) && + te.placeDummy(x, y + 3, z + 1) && + //teeth + te.placeDummy(x - 1, y, z + 2) && + te.placeDummy(x - 1, y, z + 1) && + te.placeDummy(x - 1, y, z) && + te.placeDummy(x - 1, y, z - 1) && + te.placeDummy(x - 1, y, z - 2))) { + + world.func_147480_a(x, y, z, true); + } + } + if(i == 2) + { + world.setBlockMetadataWithNotify(x, y, z, 3, 2); + + //frame + if(!(te.placeDummy(x + 1, y, z) && + te.placeDummy(x + 2, y, z) && + te.placeDummy(x + 2, y + 1, z) && + te.placeDummy(x + 2, y + 2, z) && + te.placeDummy(x + 2, y + 3, z) && + te.placeDummy(x + 2, y + 4, z) && + te.placeDummy(x + 1, y + 4, z) && + te.placeDummy(x, y + 4, z) && + te.placeDummy(x - 1, y + 4, z) && + te.placeDummy(x - 2, y + 4, z) && + te.placeDummy(x - 2, y + 3, z) && + te.placeDummy(x - 2, y + 2, z) && + te.placeDummy(x - 2, y + 1, z) && + te.placeDummy(x - 2, y, z) && + te.placeDummy(x - 1, y, z) && + //cog + te.placeDummy(x - 1, y + 1, z) && + te.placeDummy(x - 1, y + 2, z) && + te.placeDummy(x - 1, y + 3, z) && + te.placeDummy(x, y + 1, z) && + te.placeDummy(x, y + 2, z) && + te.placeDummy(x, y + 3, z) && + te.placeDummy(x + 1, y + 1, z) && + te.placeDummy(x + 1, y + 2, z) && + te.placeDummy(x + 1, y + 3, z) && + //teeth + te.placeDummy(x + 2, y, z - 1) && + te.placeDummy(x + 1, y, z - 1) && + te.placeDummy(x, y, z - 1) && + te.placeDummy(x - 1, y, z - 1) && + te.placeDummy(x - 2, y, z - 1))) { + + world.func_147480_a(x, y, z, true); + } + } + if(i == 3) + { + world.setBlockMetadataWithNotify(x, y, z, 4, 2); + + //frame + if(!(te.placeDummy(x, y, z + 1) && + te.placeDummy(x, y, z + 2) && + te.placeDummy(x, y + 1, z + 2) && + te.placeDummy(x, y + 2, z + 2) && + te.placeDummy(x, y + 3, z + 2) && + te.placeDummy(x, y + 4, z + 2) && + te.placeDummy(x, y + 4, z + 1) && + te.placeDummy(x, y + 4, z) && + te.placeDummy(x, y + 4, z - 1) && + te.placeDummy(x, y + 4, z - 2) && + te.placeDummy(x, y + 3, z - 2) && + te.placeDummy(x, y + 2, z - 2) && + te.placeDummy(x, y + 1, z - 2) && + te.placeDummy(x, y, z - 2) && + te.placeDummy(x, y, z - 1) && + //cog + te.placeDummy(x, y + 1, z - 1) && + te.placeDummy(x, y + 2, z - 1) && + te.placeDummy(x, y + 3, z - 1) && + te.placeDummy(x, y + 1, z) && + te.placeDummy(x, y + 2, z) && + te.placeDummy(x, y + 3, z) && + te.placeDummy(x, y + 1, z + 1) && + te.placeDummy(x, y + 2, z + 1) && + te.placeDummy(x, y + 3, z + 1) && + //teeth + te.placeDummy(x + 1, y, z + 2) && + te.placeDummy(x + 1, y, z + 1) && + te.placeDummy(x + 1, y, z) && + te.placeDummy(x + 1, y, z - 1) && + te.placeDummy(x + 1, y, z - 2))) { + + world.func_147480_a(x, y, z, true); + } + } + } + + @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()) + { + + TileEntityVaultDoor entity = (TileEntityVaultDoor) world.getTileEntity(x, y, z); + if(entity != null) + { + entity.tryToggle(); + } + + return true; + } else { + + TileEntityVaultDoor entity = (TileEntityVaultDoor) world.getTileEntity(x, y, z); + if(entity != null) + { + entity.type++; + if(entity.type >= entity.maxTypes) + entity.type = 0; + } + + return true; + } + } + } diff --git a/com/hbm/inventory/MachineRecipes.java b/com/hbm/inventory/MachineRecipes.java index f7bd7f520d..61e9456fff 100644 --- a/com/hbm/inventory/MachineRecipes.java +++ b/com/hbm/inventory/MachineRecipes.java @@ -2377,6 +2377,16 @@ public static List getRecipeFromTempate(ItemStack stack) { list.add(new ItemStack(Items.redstone, 4)); list.add(new ItemStack(ModBlocks.steel_roof, 5)); break; + case BLAST_DOOR: + list.add(new ItemStack(ModItems.ingot_steel, 128)); + list.add(new ItemStack(ModItems.ingot_tungsten, 32)); + list.add(new ItemStack(ModItems.plate_lead, 48)); + list.add(new ItemStack(ModItems.plate_advanced_alloy, 8)); + list.add(new ItemStack(ModItems.plate_polymer, 16)); + list.add(new ItemStack(ModItems.bolt_tungsten, 18)); + list.add(new ItemStack(ModItems.bolt_dura_steel, 27)); + list.add(new ItemStack(ModItems.motor, 5)); + break; case CENTRIFUGE: list.add(new ItemStack(ModItems.centrifuge_tower, 1)); list.add(new ItemStack(ModItems.ingot_steel, 4)); @@ -3746,6 +3756,9 @@ public static ItemStack getOutputFromTempate(ItemStack stack) { case HATCH_CONTROLLER: output = new ItemStack(ModBlocks.seal_controller, 1); break; + case BLAST_DOOR: + output = new ItemStack(ModBlocks.vault_door, 1); + break; case CENTRIFUGE: output = new ItemStack(ModBlocks.machine_centrifuge, 1); break; diff --git a/com/hbm/items/ModItems.java b/com/hbm/items/ModItems.java index 195b90ac34..fcb750eb3f 100644 --- a/com/hbm/items/ModItems.java +++ b/com/hbm/items/ModItems.java @@ -1142,6 +1142,7 @@ public static void mainRegistry() public static Item igniter; public static Item detonator; + public static Item detonator_multi; public static Item crate_caller; public static Item meteor_remote; public static Item remote; @@ -2188,6 +2189,7 @@ public static void initializeItem() igniter = new ItemCustomLore().setUnlocalizedName("igniter").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":trigger"); detonator = new ItemDetonator().setUnlocalizedName("detonator").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":detonator"); + detonator_multi = new ItemMultiDetonator().setUnlocalizedName("detonator_multi").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":detonator_multi"); crate_caller = new ItemCrateCaller().setUnlocalizedName("crate_caller").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":crate_caller"); meteor_remote = new ItemMeteorRemote().setUnlocalizedName("meteor_remote").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":meteor_remote"); remote = new ItemRamManipulator().setUnlocalizedName("remote").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":remote"); @@ -3596,6 +3598,7 @@ private static void registerItem() { GameRegistry.registerItem(chainsaw, chainsaw.getUnlocalizedName()); GameRegistry.registerItem(igniter, igniter.getUnlocalizedName()); GameRegistry.registerItem(detonator, detonator.getUnlocalizedName()); + GameRegistry.registerItem(detonator_multi, detonator_multi.getUnlocalizedName()); GameRegistry.registerItem(crate_caller, crate_caller.getUnlocalizedName()); GameRegistry.registerItem(meteor_remote, meteor_remote.getUnlocalizedName()); GameRegistry.registerItem(hazmat_helmet, hazmat_helmet.getUnlocalizedName()); diff --git a/com/hbm/items/tool/ItemAssemblyTemplate.java b/com/hbm/items/tool/ItemAssemblyTemplate.java index 21c63e9577..184d6e015d 100644 --- a/com/hbm/items/tool/ItemAssemblyTemplate.java +++ b/com/hbm/items/tool/ItemAssemblyTemplate.java @@ -140,6 +140,7 @@ public enum EnumAssemblyTemplate { CMB_BRICKS, HATCH_FRAME, HATCH_CONTROLLER, + BLAST_DOOR, CENTRIFUGE, BREEDING_REACTOR, RTG_FURNACE, @@ -585,6 +586,8 @@ public static int getProcessTime(ItemStack stack) { return 50; case HATCH_CONTROLLER: return 100; + case BLAST_DOOR: + return 300; case CENTRIFUGE: return 250; case BREEDING_REACTOR: diff --git a/com/hbm/items/tool/ItemMultiDetonator.java b/com/hbm/items/tool/ItemMultiDetonator.java new file mode 100644 index 0000000000..d72d83fc27 --- /dev/null +++ b/com/hbm/items/tool/ItemMultiDetonator.java @@ -0,0 +1,145 @@ +package com.hbm.items.tool; + +import java.util.List; + +import org.apache.commons.lang3.ArrayUtils; + +import com.hbm.interfaces.IBomb; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.ChatComponentText; +import net.minecraft.world.World; + +public class ItemMultiDetonator extends Item { + + @Override + public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) + { + list.add("Shift right-click block to add position,"); + list.add("right-click to detonate!"); + list.add("Shift right-click in the air to clear postitions."); + + if(itemstack.getTagCompound() == null || getLocations(itemstack) == null) + { + list.add("No position set!"); + } else { + + int[][] locs = getLocations(itemstack); + + for(int i = 0; i < locs[0].length; i++) { + + list.add(locs[0][i] + " / " + locs[1][i] + " / " + locs[2][i]); + } + } + } + + @Override + public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int p_77648_7_, float p_77648_8_, float p_77648_9_, float p_77648_10_) + { + if(stack.stackTagCompound == null) + { + stack.stackTagCompound = new NBTTagCompound(); + } + + if(player.isSneaking()) + { + addLocation(stack, x, y, z); + + if(world.isRemote) + { + player.addChatMessage(new ChatComponentText("Position added!")); + } + + world.playSoundAtEntity(player, "hbm:item.techBoop", 2.0F, 1.0F); + + return true; + } + + return false; + } + + @Override + public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { + + if(stack.stackTagCompound == null || getLocations(stack) == null) + { + if(world.isRemote) + player.addChatMessage(new ChatComponentText("Error: Position not set.")); + + } else { + + if(!player.isSneaking()) { + int[][] locs = getLocations(stack); + + int succ = 0; + + for (int i = 0; i < locs[0].length; i++) { + + int x = locs[0][i]; + int y = locs[1][i]; + int z = locs[2][i]; + + if (world.getBlock(x, y, z) instanceof IBomb) { + world.playSoundAtEntity(player, "hbm:item.techBleep", 1.0F, 1.0F); + if (!world.isRemote) { + ((IBomb) world.getBlock(x, y, z)).explode(world, x, y, z); + } + + succ++; + } + } + + if (world.isRemote) { + player.addChatMessage(new ChatComponentText("Detonated! (" + succ + "/" + locs[0].length + ")")); + } + } else { + + stack.stackTagCompound.setIntArray("xValues", new int[0]); + stack.stackTagCompound.setIntArray("yValues", new int[0]); + stack.stackTagCompound.setIntArray("zValues", new int[0]); + + world.playSoundAtEntity(player, "hbm:item.techBoop", 2.0F, 1.0F); + + if(world.isRemote) + { + player.addChatMessage(new ChatComponentText("All positions removed.")); + } + } + } + + return stack; + + } + + private static void addLocation(ItemStack stack, int x, int y, int z) { + + if(stack.stackTagCompound == null) + { + stack.stackTagCompound = new NBTTagCompound(); + } + + int[] xs = stack.stackTagCompound.getIntArray("xValues"); + int[] ys = stack.stackTagCompound.getIntArray("yValues"); + int[] zs = stack.stackTagCompound.getIntArray("zValues"); + + stack.stackTagCompound.setIntArray("xValues", ArrayUtils.add(xs, x)); + stack.stackTagCompound.setIntArray("yValues", ArrayUtils.add(ys, y)); + stack.stackTagCompound.setIntArray("zValues", ArrayUtils.add(zs, z)); + } + + private static int[][] getLocations(ItemStack stack) { + + int[] xs = stack.stackTagCompound.getIntArray("xValues"); + int[] ys = stack.stackTagCompound.getIntArray("yValues"); + int[] zs = stack.stackTagCompound.getIntArray("zValues"); + + if(xs == null || ys == null || zs == null || xs.length == 0 || ys.length == 0 || zs.length == 0) { + return null; + } + + return new int[][] { xs, ys, zs }; + } +} diff --git a/com/hbm/main/CraftingManager.java b/com/hbm/main/CraftingManager.java index 8ca2450ab5..5c0fe5dd46 100644 --- a/com/hbm/main/CraftingManager.java +++ b/com/hbm/main/CraftingManager.java @@ -571,6 +571,7 @@ public static void AddCraftingRec() //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.redcoil_capacitor, 1), new Object[] { "PFP", "CBC", "CBC", 'P', "plateGold", 'B', Item.getItemFromBlock(Blocks.redstone_block), 'C', ModItems.coil_advanced_alloy, 'F', ModItems.fuse })); //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.titanium_filter, 1), new Object[] { "PFP", "CBC", "CBC", 'P', "plateLead", 'B', "U238", 'C', "plateTitanium", 'F', ModItems.fuse })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.detonator, 1), new Object[] { " W", "SC", "CE", 'S', "plateSteel", 'W', ModItems.wire_red_copper, 'C', ModItems.circuit_red_copper, 'E', "ingotSteel" })); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.detonator_multi, 1), new Object[] { ModItems.detonator, ModItems.circuit_targeting_tier3 }); GameRegistry.addRecipe(new ItemStack(ModItems.singularity, 1), new Object[] { "ESE", "SBS", "ESE", 'E', ModItems.nugget_euphemium, 'S', ModItems.cell_anti_schrabidium, 'B', Item.getItemFromBlock(ModBlocks.block_schrabidium) }); GameRegistry.addRecipe(new ItemStack(ModItems.singularity_counter_resonant, 1), new Object[] { "CTC", "TST", "CTC", 'C', ModItems.plate_combine_steel, 'T', ModItems.ingot_magnetized_tungsten, 'S', ModItems.singularity }); diff --git a/com/hbm/main/ResourceManager.java b/com/hbm/main/ResourceManager.java index 865e120a39..d4edf3ca0f 100644 --- a/com/hbm/main/ResourceManager.java +++ b/com/hbm/main/ResourceManager.java @@ -101,6 +101,7 @@ public class ResourceManager { public static final IModelCustom vault_cog = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/vault_cog.obj")); public static final IModelCustom vault_frame = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/vault_frame.obj")); public static final IModelCustom vault_teeth = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/vault_teeth.obj")); + public static final IModelCustom vault_label = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/vault_label.obj")); ////Textures TEs @@ -178,6 +179,14 @@ public class ResourceManager { //Vault Door public static final ResourceLocation vault_cog_tex = new ResourceLocation(RefStrings.MODID, "textures/models/vault_cog.png"); public static final ResourceLocation vault_frame_tex = new ResourceLocation(RefStrings.MODID, "textures/models/vault_frame.png"); + public static final ResourceLocation vault_label_101_tex = new ResourceLocation(RefStrings.MODID, "textures/models/vault_label_101.png"); + public static final ResourceLocation vault_label_87_tex = new ResourceLocation(RefStrings.MODID, "textures/models/vault_label_87.png"); + public static final ResourceLocation vault_label_106_tex = new ResourceLocation(RefStrings.MODID, "textures/models/vault_label_106.png"); + public static final ResourceLocation stable_cog_tex = new ResourceLocation(RefStrings.MODID, "textures/models/stable_cog.png"); + public static final ResourceLocation stable_label_tex = new ResourceLocation(RefStrings.MODID, "textures/models/stable_label.png"); + public static final ResourceLocation vault4_cog_tex = new ResourceLocation(RefStrings.MODID, "textures/models/vault4_cog.png"); + public static final ResourceLocation vault4_label_111_tex = new ResourceLocation(RefStrings.MODID, "textures/models/vault4_label_111.png"); + public static final ResourceLocation vault4_label_81_tex = new ResourceLocation(RefStrings.MODID, "textures/models/vault4_label_81.png"); diff --git a/com/hbm/packet/PacketDispatcher.java b/com/hbm/packet/PacketDispatcher.java index b7b13672a4..a872337304 100644 --- a/com/hbm/packet/PacketDispatcher.java +++ b/com/hbm/packet/PacketDispatcher.java @@ -65,6 +65,8 @@ public static final void registerPackets() wrapper.registerMessage(SatLaserPacket.Handler.class, SatLaserPacket.class, i++, Side.SERVER); //Universal package for sending small info packs back to server wrapper.registerMessage(AuxButtonPacket.Handler.class, AuxButtonPacket.class, i++, Side.SERVER); + //Siren packet for looped sounds + wrapper.registerMessage(TEVaultPacket.Handler.class, TEVaultPacket.class, i++, Side.CLIENT); } } diff --git a/com/hbm/packet/TEVaultPacket.java b/com/hbm/packet/TEVaultPacket.java new file mode 100644 index 0000000000..9ebcf67b97 --- /dev/null +++ b/com/hbm/packet/TEVaultPacket.java @@ -0,0 +1,82 @@ +package com.hbm.packet; + +import com.hbm.tileentity.machine.TileEntityMachineRadar; +import com.hbm.tileentity.machine.TileEntityVaultDoor; + +import cpw.mods.fml.common.network.simpleimpl.IMessage; +import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; +import cpw.mods.fml.common.network.simpleimpl.MessageContext; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; +import net.minecraft.client.Minecraft; +import net.minecraft.tileentity.TileEntity; + +public class TEVaultPacket implements IMessage { + + int x; + int y; + int z; + boolean isOpening; + int state; + long sysTime; + int type; + + public TEVaultPacket() { + + } + + public TEVaultPacket(int x, int y, int z, boolean isOpening, int state, long sysTime, int type) { + this.x = x; + this.y = y; + this.z = z; + this.isOpening = isOpening; + this.state = state; + this.sysTime = sysTime; + this.type = type; + } + + @Override + public void fromBytes(ByteBuf buf) { + x = buf.readInt(); + y = buf.readInt(); + z = buf.readInt(); + isOpening = buf.readBoolean(); + state = buf.readInt(); + sysTime = buf.readLong(); + type = buf.readInt(); + } + + @Override + public void toBytes(ByteBuf buf) { + buf.writeInt(x); + buf.writeInt(y); + buf.writeInt(z); + buf.writeBoolean(isOpening); + buf.writeInt(state); + buf.writeLong(sysTime); + buf.writeInt(type); + } + + public static class Handler implements IMessageHandler { + + @Override + @SideOnly(Side.CLIENT) + public IMessage onMessage(TEVaultPacket m, MessageContext ctx) { + TileEntity te = Minecraft.getMinecraft().theWorld.getTileEntity(m.x, m.y, m.z); + + try { + if (te != null && te instanceof TileEntityVaultDoor) { + + TileEntityVaultDoor vault = (TileEntityVaultDoor) te; + vault.isOpening = m.isOpening; + vault.state = m.state; + vault.sysTime = m.sysTime; + vault.type = m.type; + } + } catch (Exception x) { + } + return null; + } + } +} diff --git a/com/hbm/render/tileentity/RenderVaultDoor.java b/com/hbm/render/tileentity/RenderVaultDoor.java index e5cb1ed28b..1ae9202341 100644 --- a/com/hbm/render/tileentity/RenderVaultDoor.java +++ b/com/hbm/render/tileentity/RenderVaultDoor.java @@ -5,6 +5,7 @@ import com.hbm.main.MainRegistry; import com.hbm.main.ResourceManager; import com.hbm.tileentity.machine.TileEntityMachineReactorSmall; +import com.hbm.tileentity.machine.TileEntityVaultDoor; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.tileentity.TileEntity; @@ -13,12 +14,29 @@ public class RenderVaultDoor extends TileEntitySpecialRenderer { @Override public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) + { + renderDoor((TileEntityVaultDoor)tileEntity, x, y, z, f); + } + + public void renderDoor(TileEntityVaultDoor tileEntity, double x, double y, double z, float f) { GL11.glPushMatrix(); GL11.glTranslated(x + 0.5D, y, z + 0.5D); GL11.glEnable(GL11.GL_LIGHTING); GL11.glDisable(GL11.GL_CULL_FACE); GL11.glRotatef(180, 0F, 1F, 0F); + + switch(tileEntity.getBlockMetadata()) + { + case 2: + GL11.glRotatef(270, 0F, 1F, 0F); break; + case 4: + GL11.glRotatef(0, 0F, 1F, 0F); break; + case 3: + GL11.glRotatef(90, 0F, 1F, 0F); break; + case 5: + GL11.glRotatef(180, 0F, 1F, 0F); break; + } bindTexture(ResourceManager.vault_frame_tex); ResourceManager.vault_frame.renderAll(); @@ -30,17 +48,43 @@ public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double GL11.glTranslated(0.0D, -2.5D, 0.0D); - double[] timer = getAnimationFromSysTime(System.currentTimeMillis() - MainRegistry.time); - //double[] timer = getAnimationFromSysTime(MainRegistry.time + 12500 - System.currentTimeMillis()); + double[] timer; + + if(tileEntity.state == 0) + timer = new double[] { 0, 0, 0, 0, 0 }; + else if(tileEntity.state == 2) + timer = getAnimationFromSysTime(12500); + else if(tileEntity.isOpening) + timer = getAnimationFromSysTime(System.currentTimeMillis() - tileEntity.sysTime); + else + timer = getAnimationFromSysTime(tileEntity.sysTime + 12500 - System.currentTimeMillis()); GL11.glTranslated(-timer[0], 0, timer[1]); GL11.glTranslated(0.0D, 5D, 0.0D); GL11.glRotated(timer[2], 1, 0, 0); GL11.glTranslated(0.0D, -2.5D, 0.0D); + - bindTexture(ResourceManager.vault_cog_tex); + switch(tileEntity.type) { + case 1: + case 2: bindTexture(ResourceManager.vault_cog_tex); break; + case 3: bindTexture(ResourceManager.stable_cog_tex); break; + case 4: + case 5: bindTexture(ResourceManager.vault4_cog_tex); break; + default: bindTexture(ResourceManager.vault_cog_tex); break; + } ResourceManager.vault_cog.renderAll(); + + switch(tileEntity.type) { + case 1: bindTexture(ResourceManager.vault_label_87_tex); break; + case 2: bindTexture(ResourceManager.vault_label_106_tex); break; + case 3: bindTexture(ResourceManager.stable_label_tex); break; + case 4: bindTexture(ResourceManager.vault4_label_111_tex); break; + case 5: bindTexture(ResourceManager.vault4_label_81_tex); break; + default: bindTexture(ResourceManager.vault_label_101_tex); break; + } + ResourceManager.vault_label.renderAll(); GL11.glPopMatrix(); } diff --git a/com/hbm/tileentity/machine/TileEntityVaultDoor.java b/com/hbm/tileentity/machine/TileEntityVaultDoor.java index 08dd075f34..e2c931acf4 100644 --- a/com/hbm/tileentity/machine/TileEntityVaultDoor.java +++ b/com/hbm/tileentity/machine/TileEntityVaultDoor.java @@ -1,12 +1,28 @@ package com.hbm.tileentity.machine; +import com.hbm.blocks.ModBlocks; +import com.hbm.blocks.machine.DummyBlockVault; +import com.hbm.packet.AuxGaugePacket; +import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.TEVaultPacket; + import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.init.Blocks; +import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; public class TileEntityVaultDoor extends TileEntity { + public boolean isOpening = false; + //0: closed, 1: opening/closing, 2:open + public int state = 0; + public long sysTime; + private int timer = 0; + public int type; + public static final int maxTypes = 6; + @Override public AxisAlignedBB getRenderBoundingBox() { return TileEntity.INFINITE_EXTENT_AABB; @@ -19,4 +35,221 @@ public double getMaxRenderDistanceSquared() return 65536.0D; } + @Override + public void updateEntity() { + + if(!worldObj.isRemote) { + if(state != 1) { + timer = 0; + } else { + timer++; + + if(timer >= 250) { + + if(isOpening) + finishOpen(); + else + finishClose(); + } + } + + PacketDispatcher.wrapper.sendToAll(new TEVaultPacket(xCoord, yCoord, zCoord, isOpening, state, sysTime, type)); + } + } + + public void open() { + if(state == 0) { + sysTime = System.currentTimeMillis(); + isOpening = true; + state = 1; + + openHatch(); + } + } + + public void finishOpen() { + state = 2; + //play sound + } + + public void close() { + if(state == 2) { + sysTime = System.currentTimeMillis(); + isOpening = false; + state = 1; + + closeHatch(); + } + } + + public void finishClose() { + state = 0; + //play sound + } + + public boolean canOpen() { + return state == 0; + } + + public boolean canClose() { + return state == 2 && isHatchFree(); + } + + public void tryToggle() { + + if(canOpen()) + open(); + else if(canClose()) + close(); + } + + public boolean placeDummy(int x, int y, int z) { + + if(!worldObj.getBlock(x, y, z).isReplaceable(worldObj, x, y, z)) + return false; + + worldObj.setBlock(x, y, z, ModBlocks.dummy_block_vault); + + TileEntity te = worldObj.getTileEntity(x, y, z); + + if(te instanceof TileEntityDummy) { + TileEntityDummy dummy = (TileEntityDummy)te; + dummy.targetX = xCoord; + dummy.targetY = yCoord; + dummy.targetZ = zCoord; + } + + return true; + } + + public void removeDummy(int x, int y, int z) { + + if(worldObj.getBlock(x, y, z) == ModBlocks.dummy_block_vault) { + DummyBlockVault.safeBreak = true; + worldObj.setBlock(x, y, z, Blocks.air); + DummyBlockVault.safeBreak = false; + } + } + + private boolean isHatchFree() { + + if(this.getBlockMetadata() == 2 || this.getBlockMetadata() == 3) + return checkNS(); + else if(this.getBlockMetadata() == 4 || this.getBlockMetadata() == 5) + return checkEW(); + else + return true; + } + + private void closeHatch() { + + if(this.getBlockMetadata() == 2 || this.getBlockMetadata() == 3) + fillNS(); + else if(this.getBlockMetadata() == 4 || this.getBlockMetadata() == 5) + fillEW(); + } + + private void openHatch() { + + if(this.getBlockMetadata() == 2 || this.getBlockMetadata() == 3) + removeNS(); + else if(this.getBlockMetadata() == 4 || this.getBlockMetadata() == 5) + removeEW(); + } + + private boolean checkNS() { + return worldObj.getBlock(xCoord - 1, yCoord + 1, zCoord).isReplaceable(worldObj, xCoord - 1, yCoord + 1, zCoord) && + worldObj.getBlock(xCoord, yCoord + 1, zCoord).isReplaceable(worldObj, xCoord, yCoord + 1, zCoord) && + worldObj.getBlock(xCoord + 1, yCoord + 1, zCoord).isReplaceable(worldObj, xCoord + 1, yCoord + 1, zCoord) && + worldObj.getBlock(xCoord - 1, yCoord + 2, zCoord).isReplaceable(worldObj, xCoord - 1, yCoord + 2, zCoord) && + worldObj.getBlock(xCoord, yCoord + 2, zCoord).isReplaceable(worldObj, xCoord, yCoord + 2, zCoord) && + worldObj.getBlock(xCoord + 1, yCoord + 2, zCoord).isReplaceable(worldObj, xCoord + 1, yCoord + 2, zCoord) && + worldObj.getBlock(xCoord - 1, yCoord + 3, zCoord).isReplaceable(worldObj, xCoord - 1, yCoord + 3, zCoord) && + worldObj.getBlock(xCoord, yCoord + 3, zCoord).isReplaceable(worldObj, xCoord, yCoord + 3, zCoord) && + worldObj.getBlock(xCoord + 1, yCoord + 3, zCoord).isReplaceable(worldObj, xCoord + 1, yCoord + 3, zCoord); + } + + private boolean checkEW() { + return worldObj.getBlock(xCoord, yCoord + 1, zCoord - 1).isReplaceable(worldObj, xCoord, yCoord + 1, zCoord -1) && + worldObj.getBlock(xCoord, yCoord + 1, zCoord).isReplaceable(worldObj, xCoord, yCoord, zCoord) && + worldObj.getBlock(xCoord, yCoord + 1, zCoord + 1).isReplaceable(worldObj, xCoord, yCoord + 1, zCoord + 1) && + worldObj.getBlock(xCoord, yCoord + 2, zCoord - 1).isReplaceable(worldObj, xCoord, yCoord + 2, zCoord - 1) && + worldObj.getBlock(xCoord, yCoord + 2, zCoord).isReplaceable(worldObj, xCoord, yCoord + 2, zCoord) && + worldObj.getBlock(xCoord, yCoord + 2, zCoord + 1).isReplaceable(worldObj, xCoord, yCoord + 2, zCoord + 1) && + worldObj.getBlock(xCoord, yCoord + 3, zCoord - 1).isReplaceable(worldObj, xCoord, yCoord + 3, zCoord - 1) && + worldObj.getBlock(xCoord, yCoord + 3, zCoord).isReplaceable(worldObj, xCoord, yCoord + 3, zCoord) && + worldObj.getBlock(xCoord, yCoord + 3, zCoord + 1).isReplaceable(worldObj, xCoord, yCoord + 3, zCoord + 1); + } + + private void fillNS() { + + placeDummy(xCoord - 1, yCoord + 1, zCoord); + placeDummy(xCoord - 1, yCoord + 2, zCoord); + placeDummy(xCoord - 1, yCoord + 3, zCoord); + placeDummy(xCoord, yCoord + 1, zCoord); + placeDummy(xCoord, yCoord + 2, zCoord); + placeDummy(xCoord, yCoord + 3, zCoord); + placeDummy(xCoord + 1, yCoord + 1, zCoord); + placeDummy(xCoord + 1, yCoord + 2, zCoord); + placeDummy(xCoord + 1, yCoord + 3, zCoord); + } + + private void fillEW() { + + placeDummy(xCoord, yCoord + 1, zCoord - 1); + placeDummy(xCoord, yCoord + 2, zCoord - 1); + placeDummy(xCoord, yCoord + 3, zCoord - 1); + placeDummy(xCoord, yCoord + 1, zCoord); + placeDummy(xCoord, yCoord + 2, zCoord); + placeDummy(xCoord, yCoord + 3, zCoord); + placeDummy(xCoord, yCoord + 1, zCoord + 1); + placeDummy(xCoord, yCoord + 2, zCoord + 1); + placeDummy(xCoord, yCoord + 3, zCoord + 1); + } + + private void removeNS() { + + removeDummy(xCoord - 1, yCoord + 1, zCoord); + removeDummy(xCoord - 1, yCoord + 2, zCoord); + removeDummy(xCoord - 1, yCoord + 3, zCoord); + removeDummy(xCoord, yCoord + 1, zCoord); + removeDummy(xCoord, yCoord + 2, zCoord); + removeDummy(xCoord, yCoord + 3, zCoord); + removeDummy(xCoord + 1, yCoord + 1, zCoord); + removeDummy(xCoord + 1, yCoord + 2, zCoord); + removeDummy(xCoord + 1, yCoord + 3, zCoord); + } + + private void removeEW() { + + removeDummy(xCoord, yCoord + 1, zCoord - 1); + removeDummy(xCoord, yCoord + 2, zCoord - 1); + removeDummy(xCoord, yCoord + 3, zCoord - 1); + removeDummy(xCoord, yCoord + 1, zCoord); + removeDummy(xCoord, yCoord + 2, zCoord); + removeDummy(xCoord, yCoord + 3, zCoord); + removeDummy(xCoord, yCoord + 1, zCoord + 1); + removeDummy(xCoord, yCoord + 2, zCoord + 1); + removeDummy(xCoord, yCoord + 3, zCoord + 1); + } + + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + + isOpening = nbt.getBoolean("isOpening"); + state = nbt.getInteger("state"); + sysTime = nbt.getLong("sysTime"); + timer = nbt.getInteger("timer"); + type = nbt.getInteger("type"); + } + + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + + nbt.setBoolean("isOpening", isOpening); + nbt.setInteger("state", state); + nbt.setLong("sysTime", sysTime); + nbt.setInteger("timer", timer); + nbt.setInteger("type", type); + } }