More vault textures, functionality, multi detonator
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
57
assets/hbm/models/vault_label.obj
Normal file
@ -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
|
||||
BIN
assets/hbm/textures/blocks/vault_door.png
Normal file
|
After Width: | Height: | Size: 428 B |
BIN
assets/hbm/textures/models/stable_cog.png
Normal file
|
After Width: | Height: | Size: 31 KiB |
BIN
assets/hbm/textures/models/stable_label.png
Normal file
|
After Width: | Height: | Size: 750 B |
BIN
assets/hbm/textures/models/vault4_cog.png
Normal file
|
After Width: | Height: | Size: 30 KiB |
BIN
assets/hbm/textures/models/vault4_label_111.png
Normal file
|
After Width: | Height: | Size: 776 B |
BIN
assets/hbm/textures/models/vault4_label_81.png
Normal file
|
After Width: | Height: | Size: 808 B |
|
Before Width: | Height: | Size: 41 KiB After Width: | Height: | Size: 27 KiB |
BIN
assets/hbm/textures/models/vault_label_101.png
Normal file
|
After Width: | Height: | Size: 909 B |
BIN
assets/hbm/textures/models/vault_label_106.png
Normal file
|
After Width: | Height: | Size: 954 B |
BIN
assets/hbm/textures/models/vault_label_87.png
Normal file
|
After Width: | Height: | Size: 892 B |
@ -519,6 +519,7 @@ public class ModBlocks {
|
||||
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 @@ public class ModBlocks {
|
||||
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 @@ public class ModBlocks {
|
||||
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 @@ public class ModBlocks {
|
||||
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());
|
||||
|
||||
129
com/hbm/blocks/machine/DummyBlockVault.java
Normal file
@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@ -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 class VaultDoor extends BlockContainer {
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -2377,6 +2377,16 @@ public class MachineRecipes {
|
||||
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 class MachineRecipes {
|
||||
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;
|
||||
|
||||
@ -1142,6 +1142,7 @@ public class ModItems {
|
||||
|
||||
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 class ModItems {
|
||||
|
||||
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 @@ public class ModItems {
|
||||
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());
|
||||
|
||||
@ -140,6 +140,7 @@ public class ItemAssemblyTemplate extends Item {
|
||||
CMB_BRICKS,
|
||||
HATCH_FRAME,
|
||||
HATCH_CONTROLLER,
|
||||
BLAST_DOOR,
|
||||
CENTRIFUGE,
|
||||
BREEDING_REACTOR,
|
||||
RTG_FURNACE,
|
||||
@ -585,6 +586,8 @@ public class ItemAssemblyTemplate extends Item {
|
||||
return 50;
|
||||
case HATCH_CONTROLLER:
|
||||
return 100;
|
||||
case BLAST_DOOR:
|
||||
return 300;
|
||||
case CENTRIFUGE:
|
||||
return 250;
|
||||
case BREEDING_REACTOR:
|
||||
|
||||
145
com/hbm/items/tool/ItemMultiDetonator.java
Normal file
@ -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 };
|
||||
}
|
||||
}
|
||||
@ -571,6 +571,7 @@ public class CraftingManager {
|
||||
//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 });
|
||||
|
||||
@ -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");
|
||||
|
||||
|
||||
|
||||
|
||||
@ -65,6 +65,8 @@ public class PacketDispatcher {
|
||||
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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
82
com/hbm/packet/TEVaultPacket.java
Normal file
@ -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<TEVaultPacket, IMessage> {
|
||||
|
||||
@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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -5,6 +5,7 @@ import org.lwjgl.opengl.GL11;
|
||||
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,6 +14,11 @@ 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);
|
||||
@ -20,6 +26,18 @@ public class RenderVaultDoor extends TileEntitySpecialRenderer {
|
||||
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();
|
||||
GL11.glTranslated(-1.0D, 0.0D, 0.0D);
|
||||
@ -30,8 +48,16 @@ public class RenderVaultDoor extends TileEntitySpecialRenderer {
|
||||
|
||||
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]);
|
||||
|
||||
@ -39,9 +65,27 @@ public class RenderVaultDoor extends TileEntitySpecialRenderer {
|
||||
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();
|
||||
}
|
||||
|
||||
|
||||
@ -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 class TileEntityVaultDoor extends TileEntity {
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||