More sounds, pumpjack & turbofan textures, crates, small fixes
@ -54,7 +54,7 @@ chem.COOLANT=Kühlflüssigkeit mischen
|
||||
chem.DESH=Deshherstellung
|
||||
chem.PEROXIDE=Wasserstoffperoxidherstellung
|
||||
chem.CIRCUIT_4=Überstaktete Schaltkreisherstellung
|
||||
chem.CIRCUIT_4=Leistungsstarke Schaltkreisherstellung
|
||||
chem.CIRCUIT_5=Leistungsstarke Schaltkreisherstellung
|
||||
|
||||
item.record.lc.desc=Valve - Diabolic Adrenaline Guitar/Lambda Core
|
||||
item.record.ss.desc=Valve - Sector Sweep
|
||||
@ -239,9 +239,10 @@ tile.machine_fluidtank.name=Tank
|
||||
container.fluidtank=Tank
|
||||
tile.machine_turbofan.name=Turbofan
|
||||
container.turbofan=Turbofan
|
||||
|
||||
tile.crate_iron.name=Eisenkiste
|
||||
container.crateIron=Eisenkiste
|
||||
tile.crate_steel.name=Stahlkiste
|
||||
container.crateSteel=Stahlkiste
|
||||
|
||||
tile.red_pylon.name=Strommasten
|
||||
item.wiring_red_copper.name=Kabeltrommel
|
||||
@ -841,6 +842,7 @@ item.cotton_candy.name=Radioaktive Zuckerwatte
|
||||
item.tem_flakes.name=Tem Flakes
|
||||
item.glowing_stew.name=Leuchtende Pilzsuppe
|
||||
item.lemon.name="Zitrone"
|
||||
item.definitelyfood.name=GarantiertKeinDreck-Marken Feldration
|
||||
|
||||
tile.frozen_grass.name=Gefrorenes Gras
|
||||
tile.frozen_dirt.name=Gefrorene Erde
|
||||
|
||||
@ -239,9 +239,10 @@ tile.machine_fluidtank.name=Tank
|
||||
container.fluidtank=Tank
|
||||
tile.machine_turbofan.name=Turbofan
|
||||
container.turbofan=Turbofan
|
||||
|
||||
tile.crate_iron.name=Iron Crate
|
||||
container.crateIron=Iron Crate
|
||||
tile.crate_steel.name=Steel Crate
|
||||
container.crateSteel=Steel Crate
|
||||
|
||||
tile.red_pylon.name=Electricity Pole
|
||||
item.wiring_red_copper.name=Cable Drum
|
||||
@ -427,7 +428,7 @@ tile.block_reiium.name=Block of Reiium
|
||||
tile.block_unobtainium.name=Block of Unobtainium
|
||||
tile.block_daffergon.name=Block of Daffergon
|
||||
tile.block_verticium.name=Block of Verticium
|
||||
tile.block_desh.name=Reinfoced Block of Desh
|
||||
tile.block_desh.name=Reinforced Block of Desh
|
||||
|
||||
tile.ore_aluminium.name=Aluminium Ore
|
||||
tile.ore_copper.name=Copper Ore
|
||||
@ -841,6 +842,7 @@ item.cotton_candy.name=Radioactive Cotton Candy
|
||||
item.tem_flakes.name=Tem Flakes
|
||||
item.glowing_stew.name=Glowing Mushroom Stew
|
||||
item.lemon.name="Lemon"
|
||||
item.definitelyfood.name=TotallyNotDirt-Brand MRE
|
||||
|
||||
tile.frozen_grass.name=Frozen Grass
|
||||
tile.frozen_dirt.name=Frozen Dirt
|
||||
|
||||
@ -5,8 +5,6 @@ v -0.250000 0.125000 2.000000
|
||||
v -0.250000 0.875000 2.000000
|
||||
v -0.250000 0.125000 -3.500000
|
||||
v -0.250000 0.875000 -3.500000
|
||||
v 0.250000 0.125000 2.000000
|
||||
v 0.250000 0.875000 2.000000
|
||||
v 0.250000 0.125000 -3.500000
|
||||
v 0.250000 0.875000 -3.500000
|
||||
v -0.250000 0.637500 1.950000
|
||||
@ -52,14 +50,12 @@ v 0.375000 0.915367 2.597759
|
||||
v -0.375000 1.564213 2.164214
|
||||
v 0.375000 1.564213 2.164214
|
||||
v -0.375000 0.875000 2.000000
|
||||
v 0.375000 0.875000 2.000000
|
||||
v -0.375000 0.125000 2.000000
|
||||
v 0.375000 0.125000 2.000000
|
||||
v -0.375000 -0.815367 2.247759
|
||||
v -0.325000 -0.815367 2.247759
|
||||
v 0.375000 -0.815367 2.247759
|
||||
v -0.375000 -0.050000 2.450000
|
||||
v -0.325000 -0.050000 2.500000
|
||||
v 0.375000 -0.050000 2.500000
|
||||
v -0.375000 -0.050000 2.150000
|
||||
v -0.325000 -0.050000 2.150000
|
||||
v 0.375000 -0.050000 2.150000
|
||||
v -0.375000 0.100000 2.500000
|
||||
v 0.375000 0.100000 2.500000
|
||||
@ -85,9 +81,9 @@ v 0.325000 0.100000 2.500000
|
||||
v 0.325000 0.700000 2.400000
|
||||
v 0.325000 0.700000 2.150000
|
||||
v 0.325000 1.165367 2.247759
|
||||
v -0.325000 -0.050000 2.450000
|
||||
v -0.325000 -0.050000 2.150000
|
||||
v -0.325000 -0.815367 2.247759
|
||||
v -0.375000 -0.050000 2.150000
|
||||
v -0.375000 -0.050000 2.500000
|
||||
v -0.375000 -0.815367 2.247759
|
||||
v -0.325000 0.100000 2.150000
|
||||
v -0.325000 0.100000 2.500000
|
||||
v -0.325000 0.550000 2.450000
|
||||
@ -111,232 +107,454 @@ v 0.625000 -0.125000 -2.875000
|
||||
v 0.625000 0.125000 -2.875000
|
||||
v 0.625000 -0.125000 -3.125000
|
||||
v 0.625000 0.125000 -3.125000
|
||||
vn 0.000000 -1.000000 0.000000
|
||||
vn 0.000000 1.000000 0.000000
|
||||
v 0.375000 0.875000 2.000000
|
||||
v 0.375000 0.125000 2.000000
|
||||
v 0.250000 0.125000 2.000000
|
||||
v 0.250000 0.875000 2.000000
|
||||
vt 0.018428 0.322540
|
||||
vt 0.649017 0.323468
|
||||
vt 0.656186 0.332143
|
||||
vt 0.658969 0.069734
|
||||
vt 0.658502 0.173021
|
||||
vt 0.651446 0.139467
|
||||
vt 0.019594 0.147805
|
||||
vt 0.019719 0.135425
|
||||
vt 0.011461 0.228410
|
||||
vt 0.018656 0.249230
|
||||
vt 0.018420 0.261919
|
||||
vt 0.650303 0.253635
|
||||
vt 0.658193 0.231814
|
||||
vt 0.650155 0.266025
|
||||
vt 0.650570 0.240730
|
||||
vt 0.019246 0.237418
|
||||
vt 0.746977 0.069780
|
||||
vt 0.658999 0.011062
|
||||
vt 0.016439 0.779721
|
||||
vt 0.016439 0.726930
|
||||
vt 0.632812 0.726930
|
||||
vt 0.632812 0.779722
|
||||
vt 0.632724 0.790479
|
||||
vt 0.010731 0.779721
|
||||
vt 0.016527 0.716173
|
||||
vt 0.638519 0.726930
|
||||
vt 0.016128 0.880525
|
||||
vt 0.016117 0.871100
|
||||
vt 0.556079 0.871100
|
||||
vt 0.556090 0.880525
|
||||
vt 0.556013 0.889948
|
||||
vt 0.010743 0.880531
|
||||
vt 0.016194 0.861676
|
||||
vt 0.561464 0.871093
|
||||
vt 0.632812 0.631162
|
||||
vt 0.632812 0.683953
|
||||
vt 0.016439 0.683953
|
||||
vt 0.016439 0.631162
|
||||
vt 0.016527 0.620405
|
||||
vt 0.638519 0.631162
|
||||
vt 0.632724 0.694710
|
||||
vt 0.010731 0.683953
|
||||
vt 0.556079 0.821365
|
||||
vt 0.556090 0.830790
|
||||
vt 0.016128 0.830790
|
||||
vt 0.016117 0.821365
|
||||
vt 0.016194 0.811942
|
||||
vt 0.561464 0.821359
|
||||
vt 0.556013 0.840213
|
||||
vt 0.010743 0.830796
|
||||
vt 0.897268 0.010731
|
||||
vt 0.989269 0.010731
|
||||
vt 0.989268 0.106457
|
||||
vt 0.989269 0.202182
|
||||
vt 0.897268 0.202182
|
||||
vt 0.989269 0.297907
|
||||
vt 0.897268 0.297907
|
||||
vt 0.989269 0.393632
|
||||
vt 0.897268 0.393632
|
||||
vt 0.783804 0.181143
|
||||
vt 0.783804 0.273144
|
||||
vt 0.768470 0.273144
|
||||
vt 0.572602 0.468990
|
||||
vt 0.541661 0.562876
|
||||
vt 0.535835 0.560956
|
||||
vt 0.584594 0.562876
|
||||
vt 0.584594 0.569009
|
||||
vt 0.578686 0.468213
|
||||
vt 0.842071 0.601697
|
||||
vt 0.842071 0.620097
|
||||
vt 0.811404 0.620097
|
||||
vt 0.842071 0.546496
|
||||
vt 0.799137 0.546496
|
||||
vt 0.799137 0.528096
|
||||
vt 0.802204 0.233277
|
||||
vt 0.839004 0.233277
|
||||
vt 0.832871 0.251677
|
||||
vt 0.802204 0.251677
|
||||
vt 0.814196 0.308763
|
||||
vt 0.845138 0.178077
|
||||
vt 0.875805 0.184210
|
||||
vt 0.857130 0.278096
|
||||
vt 0.840328 0.379151
|
||||
vt 0.830079 0.434210
|
||||
vt 0.787145 0.458744
|
||||
vt 0.768470 0.552630
|
||||
vt 0.805271 0.601697
|
||||
vt 0.787145 0.646515
|
||||
vt 0.830079 0.677182
|
||||
vt 0.661171 0.473204
|
||||
vt 0.661171 0.528404
|
||||
vt 0.624370 0.528404
|
||||
vt 0.667304 0.473204
|
||||
vt 0.661171 0.534537
|
||||
vt 0.618237 0.473204
|
||||
vt 0.618275 0.529081
|
||||
vt 0.618237 0.467070
|
||||
vt 0.665811 0.715468
|
||||
vt 0.696478 0.715468
|
||||
vt 0.684486 0.772554
|
||||
vt 0.665811 0.709335
|
||||
vt 0.690489 0.773815
|
||||
vt 0.678657 0.774461
|
||||
vt 0.666115 0.626538
|
||||
vt 0.709049 0.626538
|
||||
vt 0.702916 0.681739
|
||||
vt 0.666115 0.620405
|
||||
vt 0.715145 0.627216
|
||||
vt 0.666115 0.681739
|
||||
vt 0.702916 0.687872
|
||||
vt 0.659982 0.681739
|
||||
vt 0.706761 0.530289
|
||||
vt 0.694769 0.473204
|
||||
vt 0.725436 0.473204
|
||||
vt 0.688767 0.474464
|
||||
vt 0.694769 0.467070
|
||||
vt 0.731266 0.475111
|
||||
vt 0.256067 0.537608
|
||||
vt 0.256067 0.414940
|
||||
vt 0.317401 0.414940
|
||||
vt 0.164066 0.537608
|
||||
vt 0.164066 0.414940
|
||||
vt 0.102732 0.537608
|
||||
vt 0.102732 0.414940
|
||||
vt 0.010731 0.537608
|
||||
vt 0.010731 0.414940
|
||||
vt 0.010731 0.353606
|
||||
vt 0.102732 0.353606
|
||||
vt 0.102732 0.598942
|
||||
vt 0.010731 0.598942
|
||||
vt 0.676200 0.414940
|
||||
vt 0.676200 0.384273
|
||||
vt 0.706867 0.384273
|
||||
vt 0.522866 0.414940
|
||||
vt 0.522866 0.384273
|
||||
vt 0.492199 0.414940
|
||||
vt 0.492199 0.384273
|
||||
vt 0.338864 0.414940
|
||||
vt 0.338864 0.384273
|
||||
vt 0.338864 0.353606
|
||||
vt 0.492199 0.353606
|
||||
vt 0.492199 0.445607
|
||||
vt 0.338864 0.445607
|
||||
vt 0.503283 0.540451
|
||||
vt 0.514372 0.544425
|
||||
vt 0.448294 0.571964
|
||||
vt 0.448294 0.467070
|
||||
vt 0.453856 0.485351
|
||||
vt 0.457402 0.555660
|
||||
vt 0.802204 0.159676
|
||||
vt 0.845138 0.159676
|
||||
vt 0.802204 0.178077
|
||||
vt 0.803948 0.010731
|
||||
vt 0.814196 0.065791
|
||||
vt 0.857130 0.090324
|
||||
vt 0.860471 0.641564
|
||||
vt 0.860471 0.549563
|
||||
vt 0.840327 0.726108
|
||||
vt 0.011770 0.169617
|
||||
vt 0.013576 0.069403
|
||||
vt 0.842071 0.528096
|
||||
vt 0.875805 0.549563
|
||||
vt 0.875805 0.641564
|
||||
vt 0.650668 0.164006
|
||||
vt 0.651287 0.078805
|
||||
vt 0.340198 0.543493
|
||||
vt 0.338864 0.467081
|
||||
vt 0.426831 0.467070
|
||||
vt 0.860285 0.747571
|
||||
vt 0.768470 0.918769
|
||||
vt 0.768498 0.747571
|
||||
vt 0.010731 0.331605
|
||||
vt 0.651239 0.152166
|
||||
vt 0.747007 0.011107
|
||||
vt 0.016350 0.790478
|
||||
vt 0.010731 0.726930
|
||||
vt 0.632900 0.716173
|
||||
vt 0.638519 0.779722
|
||||
vt 0.016051 0.889948
|
||||
vt 0.010731 0.871106
|
||||
vt 0.556156 0.861676
|
||||
vt 0.561476 0.880518
|
||||
vt 0.632900 0.620405
|
||||
vt 0.638519 0.683953
|
||||
vt 0.016351 0.694710
|
||||
vt 0.010731 0.631162
|
||||
vt 0.556156 0.811942
|
||||
vt 0.561476 0.830783
|
||||
vt 0.016051 0.840213
|
||||
vt 0.010731 0.821372
|
||||
vt 0.897268 0.106457
|
||||
vt 0.768470 0.181143
|
||||
vt 0.566777 0.467070
|
||||
vt 0.541661 0.569009
|
||||
vt 0.590678 0.562099
|
||||
vt 0.803948 0.357688
|
||||
vt 0.667304 0.528404
|
||||
vt 0.624370 0.534538
|
||||
vt 0.612141 0.473881
|
||||
vt 0.661171 0.467070
|
||||
vt 0.696478 0.709335
|
||||
vt 0.702481 0.716729
|
||||
vt 0.659982 0.717376
|
||||
vt 0.709049 0.620405
|
||||
vt 0.709011 0.682416
|
||||
vt 0.666115 0.687872
|
||||
vt 0.659982 0.626538
|
||||
vt 0.700759 0.531550
|
||||
vt 0.725436 0.467070
|
||||
vt 0.712591 0.532196
|
||||
vt 0.317401 0.537608
|
||||
vt 0.706867 0.414940
|
||||
vt 0.020752 0.078070
|
||||
vt 0.019349 0.160700
|
||||
vt 0.013606 0.010731
|
||||
vt 0.426831 0.558777
|
||||
vt 0.340198 0.558777
|
||||
vt 0.340198 0.467070
|
||||
vt 0.860285 0.918769
|
||||
vt 0.768511 0.920371
|
||||
vn -1.000000 -0.000000 0.000000
|
||||
vn 1.000000 0.000000 0.000000
|
||||
vn 0.000000 0.000000 -1.000000
|
||||
vn 0.000000 -1.000000 0.000000
|
||||
vn 0.000000 1.000000 0.000000
|
||||
vn 0.000000 0.000000 1.000000
|
||||
vn 0.000000 -0.555600 0.831500
|
||||
vn 0.000000 -0.195100 0.980800
|
||||
vn 0.000000 0.195100 0.980800
|
||||
vn 0.000000 0.555600 0.831500
|
||||
vn 0.000000 0.231800 -0.972800
|
||||
vn 0.000000 -0.117400 -0.993100
|
||||
vn -0.000000 0.313000 -0.949800
|
||||
vn 0.000000 0.126700 0.991900
|
||||
vn 0.000000 -0.110400 -0.993900
|
||||
vn 0.000000 -0.205600 0.978600
|
||||
vn 0.000000 -0.310900 -0.950400
|
||||
vn 0.000000 0.255500 -0.966800
|
||||
vn 0.000000 -0.313000 0.949800
|
||||
vn 0.000000 0.231800 -0.972800
|
||||
vn 0.000000 -0.117400 -0.993100
|
||||
s off
|
||||
f 3//1 7//1 5//1
|
||||
f 8//2 4//2 2//2
|
||||
f 12//3 11//3 3//3
|
||||
f 7//4 8//4 13//4
|
||||
f 16//4 15//4 5//4
|
||||
f 19//4 6//4 14//4
|
||||
f 18//4 17//4 8//4
|
||||
f 19//4 14//4 13//4
|
||||
f 2//3 24//3 9//3
|
||||
f 23//3 4//3 10//3
|
||||
f 22//3 21//3 2//3
|
||||
f 9//3 24//3 23//3
|
||||
f 8//5 7//5 3//5
|
||||
f 26//4 27//4 28//4
|
||||
f 26//1 25//1 13//1
|
||||
f 27//5 26//5 14//5
|
||||
f 28//2 27//2 15//2
|
||||
f 25//6 28//6 16//6
|
||||
f 30//4 31//4 32//4
|
||||
f 30//1 29//1 17//1
|
||||
f 31//5 30//5 18//5
|
||||
f 32//2 31//2 19//2
|
||||
f 29//6 32//6 20//6
|
||||
f 34//3 35//3 36//3
|
||||
f 34//1 33//1 9//1
|
||||
f 35//6 34//6 10//6
|
||||
f 36//2 35//2 11//2
|
||||
f 33//5 36//5 12//5
|
||||
f 38//3 39//3 40//3
|
||||
f 38//1 37//1 21//1
|
||||
f 39//6 38//6 22//6
|
||||
f 40//2 39//2 23//2
|
||||
f 37//5 40//5 24//5
|
||||
f 41//7 42//7 44//7
|
||||
f 44//8 46//8 45//8
|
||||
f 46//9 48//9 47//9
|
||||
f 48//10 50//10 49//10
|
||||
f 49//11 50//11 2//11
|
||||
f 1//12 41//12 53//12
|
||||
f 54//5 5//5 6//5
|
||||
f 1//5 53//5 51//5
|
||||
f 75//13 77//13 58//13
|
||||
f 77//1 76//1 60//1
|
||||
f 76//14 75//14 56//14
|
||||
f 75//4 76//4 77//4
|
||||
f 68//4 74//4 70//4
|
||||
f 64//4 62//4 58//4
|
||||
f 67//3 65//3 69//3
|
||||
f 57//3 61//3 63//3
|
||||
f 51//3 73//3 71//3
|
||||
f 53//3 67//3 51//3
|
||||
f 63//3 53//3 59//3
|
||||
f 53//3 41//3 55//3
|
||||
f 43//3 55//3 41//3
|
||||
f 55//3 43//3 57//3
|
||||
f 45//3 61//3 57//3
|
||||
f 65//3 61//3 45//3
|
||||
f 65//3 47//3 69//3
|
||||
f 71//3 69//3 47//3
|
||||
f 52//4 50//4 72//4
|
||||
f 68//4 64//4 54//4
|
||||
f 64//4 60//4 54//4
|
||||
f 54//4 60//4 56//4
|
||||
f 42//4 56//4 44//4
|
||||
f 56//4 58//4 44//4
|
||||
f 46//4 44//4 58//4
|
||||
f 46//4 62//4 66//4
|
||||
f 66//4 70//4 48//4
|
||||
f 48//4 70//4 72//4
|
||||
f 78//4 79//4 80//4
|
||||
f 79//6 78//6 64//6
|
||||
f 80//1 79//1 68//1
|
||||
f 81//15 80//15 66//15
|
||||
f 78//2 81//2 62//2
|
||||
f 82//4 83//4 84//4
|
||||
f 83//2 82//2 70//2
|
||||
f 72//16 84//16 83//16
|
||||
f 82//17 84//17 72//17
|
||||
f 85//3 86//3 87//3
|
||||
f 86//1 85//1 57//1
|
||||
f 87//14 86//14 59//14
|
||||
f 85//18 87//18 55//18
|
||||
f 88//3 89//3 90//3
|
||||
f 89//2 88//2 63//2
|
||||
f 90//15 89//15 61//15
|
||||
f 91//1 90//1 65//1
|
||||
f 88//6 91//6 67//6
|
||||
f 92//3 93//3 94//3
|
||||
f 73//16 93//16 92//16
|
||||
f 94//2 93//2 73//2
|
||||
f 92//17 94//17 69//17
|
||||
f 98//3 97//3 95//3
|
||||
f 102//5 101//5 97//5
|
||||
f 100//4 99//4 101//4
|
||||
f 96//6 95//6 99//6
|
||||
f 97//1 101//1 99//1
|
||||
f 102//2 98//2 96//2
|
||||
f 106//3 105//3 103//3
|
||||
f 110//5 109//5 105//5
|
||||
f 108//4 107//4 109//4
|
||||
f 104//6 103//6 107//6
|
||||
f 105//1 109//1 107//1
|
||||
f 110//2 106//2 104//2
|
||||
f 1//1 3//1 5//1
|
||||
f 6//2 8//2 2//2
|
||||
f 1//3 12//3 3//3
|
||||
f 20//4 13//4 8//4
|
||||
f 16//4 7//4 13//4
|
||||
f 8//4 17//4 20//4
|
||||
f 7//4 16//4 5//4
|
||||
f 15//4 14//4 5//4
|
||||
f 19//4 18//4 6//4
|
||||
f 6//4 5//4 14//4
|
||||
f 6//4 18//4 8//4
|
||||
f 20//4 19//4 13//4
|
||||
f 9//3 12//3 1//3
|
||||
f 1//3 2//3 9//3
|
||||
f 21//3 24//3 2//3
|
||||
f 11//3 10//3 3//3
|
||||
f 23//3 22//3 4//3
|
||||
f 4//3 3//3 10//3
|
||||
f 4//3 22//3 2//3
|
||||
f 10//3 9//3 23//3
|
||||
f 4//5 8//5 3//5
|
||||
f 25//4 26//4 28//4
|
||||
f 14//1 26//1 13//1
|
||||
f 15//5 27//5 14//5
|
||||
f 16//2 28//2 15//2
|
||||
f 13//6 25//6 16//6
|
||||
f 29//4 30//4 32//4
|
||||
f 18//1 30//1 17//1
|
||||
f 19//5 31//5 18//5
|
||||
f 20//2 32//2 19//2
|
||||
f 17//6 29//6 20//6
|
||||
f 33//3 34//3 36//3
|
||||
f 10//1 34//1 9//1
|
||||
f 11//6 35//6 10//6
|
||||
f 12//2 36//2 11//2
|
||||
f 9//5 33//5 12//5
|
||||
f 37//3 38//3 40//3
|
||||
f 22//1 38//1 21//1
|
||||
f 23//6 39//6 22//6
|
||||
f 24//2 40//2 23//2
|
||||
f 21//5 37//5 24//5
|
||||
f 43//7 41//7 44//7
|
||||
f 43//8 44//8 45//8
|
||||
f 45//9 46//9 47//9
|
||||
f 47//10 48//10 49//10
|
||||
f 6//11 2//11 50//11
|
||||
f 51//11 49//11 2//11
|
||||
f 50//11 52//11 6//11
|
||||
f 53//6 5//6 1//6
|
||||
f 1//12 54//12 42//12
|
||||
f 42//12 41//12 1//12
|
||||
f 54//6 1//6 5//6
|
||||
f 6//5 52//5 54//5
|
||||
f 51//5 2//5 1//5
|
||||
f 1//6 5//6 53//6
|
||||
f 56//13 75//13 58//13
|
||||
f 58//1 77//1 60//1
|
||||
f 60//14 76//14 56//14
|
||||
f 66//4 68//4 70//4
|
||||
f 60//4 64//4 58//4
|
||||
f 73//3 67//3 69//3
|
||||
f 59//3 57//3 63//3
|
||||
f 49//3 51//3 71//3
|
||||
f 73//3 51//3 67//3
|
||||
f 53//3 63//3 67//3
|
||||
f 59//3 53//3 55//3
|
||||
f 43//3 45//3 57//3
|
||||
f 47//3 65//3 45//3
|
||||
f 49//3 71//3 47//3
|
||||
f 74//4 52//4 72//4
|
||||
f 54//4 52//4 68//4
|
||||
f 74//4 68//4 52//4
|
||||
f 42//4 54//4 56//4
|
||||
f 62//4 46//4 58//4
|
||||
f 48//4 46//4 66//4
|
||||
f 50//4 48//4 72//4
|
||||
f 81//4 78//4 80//4
|
||||
f 68//6 79//6 64//6
|
||||
f 66//1 80//1 68//1
|
||||
f 62//15 81//15 66//15
|
||||
f 64//2 78//2 62//2
|
||||
f 74//2 83//2 70//2
|
||||
f 74//16 72//16 83//16
|
||||
f 70//17 82//17 72//17
|
||||
f 59//1 86//1 57//1
|
||||
f 55//14 87//14 59//14
|
||||
f 57//18 85//18 55//18
|
||||
f 91//3 88//3 90//3
|
||||
f 61//2 89//2 63//2
|
||||
f 65//15 90//15 61//15
|
||||
f 67//1 91//1 65//1
|
||||
f 63//6 88//6 67//6
|
||||
f 71//16 73//16 92//16
|
||||
f 69//2 94//2 73//2
|
||||
f 71//17 92//17 69//17
|
||||
f 96//3 98//3 95//3
|
||||
f 98//5 102//5 97//5
|
||||
f 102//4 100//4 101//4
|
||||
f 100//6 96//6 99//6
|
||||
f 95//1 97//1 99//1
|
||||
f 100//2 102//2 96//2
|
||||
f 104//3 106//3 103//3
|
||||
f 106//5 110//5 105//5
|
||||
f 110//4 108//4 109//4
|
||||
f 108//6 104//6 107//6
|
||||
f 103//1 105//1 107//1
|
||||
f 108//2 110//2 104//2
|
||||
f 10/1/1 9/2/1 3/3/1
|
||||
f 5/4/2 6/5/2 11/6/2
|
||||
f 17/7/2 12/8/2 11/6/2
|
||||
f 2/9/1 22/10/1 7/11/1
|
||||
f 21/12/1 4/13/1 8/14/1
|
||||
f 20/15/1 19/16/1 2/9/1
|
||||
f 7/11/1 22/10/1 21/12/1
|
||||
f 6/17/3 5/4/3 3/18/3
|
||||
f 24/19/2 25/20/2 26/21/2
|
||||
f 24/19/4 23/22/4 11/23/4
|
||||
f 25/20/3 24/19/3 12/24/3
|
||||
f 26/21/5 25/20/5 13/25/5
|
||||
f 23/22/6 26/21/6 14/26/6
|
||||
f 28/27/2 29/28/2 30/29/2
|
||||
f 28/27/4 27/30/4 15/31/4
|
||||
f 29/28/3 28/27/3 16/32/3
|
||||
f 30/29/5 29/28/5 17/33/5
|
||||
f 27/30/6 30/29/6 18/34/6
|
||||
f 32/35/1 33/36/1 34/37/1
|
||||
f 32/35/4 31/38/4 7/39/4
|
||||
f 33/36/6 32/35/6 8/40/6
|
||||
f 34/37/5 33/36/5 9/41/5
|
||||
f 31/38/3 34/37/3 10/42/3
|
||||
f 36/43/1 37/44/1 38/45/1
|
||||
f 36/43/4 35/46/4 19/47/4
|
||||
f 37/44/6 36/43/6 20/48/6
|
||||
f 38/45/5 37/44/5 21/49/5
|
||||
f 35/46/3 38/45/3 22/50/3
|
||||
f 39/51/7 40/52/7 42/53/7
|
||||
f 42/53/8 44/54/8 43/55/8
|
||||
f 44/54/9 46/56/9 45/57/9
|
||||
f 46/56/10 48/58/10 47/59/10
|
||||
f 50/60/3 49/61/3 2/62/3
|
||||
f 71/63/11 73/64/11 54/65/11
|
||||
f 73/64/4 72/66/4 56/67/4
|
||||
f 72/66/12 71/63/12 52/68/12
|
||||
f 71/63/2 72/66/2 73/64/2
|
||||
f 64/69/2 70/70/2 66/71/2
|
||||
f 60/72/2 58/73/2 54/74/2
|
||||
f 63/75/1 61/76/1 65/77/1
|
||||
f 49/61/1 69/78/1 67/79/1
|
||||
f 50/60/1 63/75/1 49/61/1
|
||||
f 61/76/1 57/80/1 43/81/1
|
||||
f 61/76/1 45/82/1 65/77/1
|
||||
f 67/79/1 65/77/1 45/82/1
|
||||
f 40/83/2 52/84/2 42/85/2
|
||||
f 52/84/2 54/74/2 42/85/2
|
||||
f 44/86/2 42/85/2 54/74/2
|
||||
f 44/86/2 58/73/2 62/87/2
|
||||
f 62/87/2 66/71/2 46/88/2
|
||||
f 46/88/2 66/71/2 68/89/2
|
||||
f 74/90/2 75/91/2 76/92/2
|
||||
f 75/91/6 74/90/6 60/93/6
|
||||
f 76/92/4 75/91/4 64/94/4
|
||||
f 77/95/13 76/92/13 62/96/13
|
||||
f 74/90/5 77/95/5 58/97/5
|
||||
f 78/98/2 79/99/2 80/100/2
|
||||
f 79/99/5 78/98/5 66/101/5
|
||||
f 68/102/14 80/100/14 79/99/14
|
||||
f 78/98/15 80/100/15 68/103/15
|
||||
f 84/104/1 85/105/1 86/106/1
|
||||
f 85/105/5 84/104/5 59/107/5
|
||||
f 86/106/13 85/105/13 57/108/13
|
||||
f 87/109/4 86/106/4 61/110/4
|
||||
f 84/104/6 87/109/6 63/111/6
|
||||
f 88/112/1 89/113/1 90/114/1
|
||||
f 69/115/14 89/113/14 88/112/14
|
||||
f 90/114/5 89/113/5 69/116/5
|
||||
f 88/112/15 90/114/15 65/117/15
|
||||
f 94/118/1 93/119/1 91/120/1
|
||||
f 98/121/3 97/122/3 93/119/3
|
||||
f 96/123/2 95/124/2 97/122/2
|
||||
f 92/125/6 91/126/6 95/124/6
|
||||
f 93/127/4 97/128/4 95/124/4
|
||||
f 98/129/5 94/130/5 92/125/5
|
||||
f 102/131/1 101/132/1 99/133/1
|
||||
f 106/134/3 105/135/3 101/132/3
|
||||
f 104/136/2 103/137/2 105/135/2
|
||||
f 100/138/6 99/139/6 103/137/6
|
||||
f 101/140/4 105/141/4 103/137/4
|
||||
f 106/142/5 102/143/5 100/138/5
|
||||
f 53/144/4 82/145/4 81/146/4
|
||||
f 53/144/16 82/145/16 83/147/16
|
||||
f 81/146/12 83/147/12 51/148/12
|
||||
f 51/148/1 53/144/1 55/149/1
|
||||
f 81/150/1 82/151/1 57/80/1
|
||||
f 59/152/1 50/60/1 81/150/1
|
||||
f 50/60/1 39/153/1 83/154/1
|
||||
f 41/155/1 83/154/1 39/153/1
|
||||
f 83/154/1 41/155/1 82/151/1
|
||||
f 43/81/1 57/80/1 82/151/1
|
||||
f 107/156/2 64/69/2 108/157/2
|
||||
f 107/156/2 48/158/2 68/89/2
|
||||
f 12/8/2 110/159/2 109/160/2
|
||||
f 60/72/2 56/161/2 108/157/2
|
||||
f 52/84/2 40/83/2 108/157/2
|
||||
f 109/162/3 110/163/3 107/156/3
|
||||
f 15/164/2 6/5/2 110/159/2
|
||||
f 110/159/5 6/5/5 4/13/5
|
||||
f 109/160/2 5/4/2 14/165/2
|
||||
f 3/18/4 5/4/4 109/160/4
|
||||
f 110/166/17 2/167/17 47/168/17
|
||||
f 39/169/18 109/170/18 40/171/18
|
||||
f 1/172/1 10/1/1 3/3/1
|
||||
f 18/173/2 11/6/2 6/5/2
|
||||
f 14/165/2 5/4/2 11/6/2
|
||||
f 6/5/2 15/164/2 18/173/2
|
||||
f 18/173/2 17/7/2 11/6/2
|
||||
f 7/11/1 10/1/1 1/172/1
|
||||
f 1/172/1 2/9/1 7/11/1
|
||||
f 19/16/1 22/10/1 2/9/1
|
||||
f 9/2/1 8/14/1 3/3/1
|
||||
f 21/12/1 20/15/1 4/13/1
|
||||
f 4/13/1 3/3/1 8/14/1
|
||||
f 4/13/1 20/15/1 2/9/1
|
||||
f 8/14/1 7/11/1 21/12/1
|
||||
f 4/174/3 6/17/3 3/18/3
|
||||
f 23/22/2 24/19/2 26/21/2
|
||||
f 12/175/4 24/19/4 11/23/4
|
||||
f 13/176/3 25/20/3 12/24/3
|
||||
f 14/177/5 26/21/5 13/25/5
|
||||
f 11/178/6 23/22/6 14/26/6
|
||||
f 27/30/2 28/27/2 30/29/2
|
||||
f 16/179/4 28/27/4 15/31/4
|
||||
f 17/180/3 29/28/3 16/32/3
|
||||
f 18/181/5 30/29/5 17/33/5
|
||||
f 15/182/6 27/30/6 18/34/6
|
||||
f 31/38/1 32/35/1 34/37/1
|
||||
f 8/183/4 32/35/4 7/39/4
|
||||
f 9/184/6 33/36/6 8/40/6
|
||||
f 10/185/5 34/37/5 9/41/5
|
||||
f 7/186/3 31/38/3 10/42/3
|
||||
f 35/46/1 36/43/1 38/45/1
|
||||
f 20/187/4 36/43/4 19/47/4
|
||||
f 21/188/6 37/44/6 20/48/6
|
||||
f 22/189/5 38/45/5 21/49/5
|
||||
f 19/190/3 35/46/3 22/50/3
|
||||
f 41/191/7 39/51/7 42/53/7
|
||||
f 41/191/8 42/53/8 43/55/8
|
||||
f 43/55/9 44/54/9 45/57/9
|
||||
f 45/57/10 46/56/10 47/59/10
|
||||
f 1/192/3 50/60/3 2/62/3
|
||||
f 52/193/11 71/63/11 54/65/11
|
||||
f 54/194/4 73/64/4 56/67/4
|
||||
f 56/195/12 72/66/12 52/68/12
|
||||
f 62/87/2 64/69/2 66/71/2
|
||||
f 56/161/2 60/72/2 54/74/2
|
||||
f 69/78/1 63/75/1 65/77/1
|
||||
f 47/196/1 49/61/1 67/79/1
|
||||
f 69/78/1 49/61/1 63/75/1
|
||||
f 50/60/1 59/152/1 63/75/1
|
||||
f 45/82/1 61/76/1 43/81/1
|
||||
f 47/196/1 67/79/1 45/82/1
|
||||
f 58/73/2 44/86/2 54/74/2
|
||||
f 46/88/2 44/86/2 62/87/2
|
||||
f 48/158/2 46/88/2 68/89/2
|
||||
f 77/95/2 74/90/2 76/92/2
|
||||
f 64/197/6 75/91/6 60/93/6
|
||||
f 62/198/4 76/92/4 64/94/4
|
||||
f 58/199/13 77/95/13 62/96/13
|
||||
f 60/200/5 74/90/5 58/97/5
|
||||
f 70/201/5 79/99/5 66/101/5
|
||||
f 70/202/14 68/102/14 79/99/14
|
||||
f 66/203/15 78/98/15 68/103/15
|
||||
f 87/109/1 84/104/1 86/106/1
|
||||
f 57/204/5 85/105/5 59/107/5
|
||||
f 61/205/13 86/106/13 57/108/13
|
||||
f 63/206/4 87/109/4 61/110/4
|
||||
f 59/207/6 84/104/6 63/111/6
|
||||
f 67/208/14 69/115/14 88/112/14
|
||||
f 65/209/5 90/114/5 69/116/5
|
||||
f 67/210/15 88/112/15 65/117/15
|
||||
f 92/211/1 94/118/1 91/120/1
|
||||
f 94/118/3 98/121/3 93/119/3
|
||||
f 98/121/2 96/123/2 97/122/2
|
||||
f 96/123/6 92/125/6 95/124/6
|
||||
f 91/126/4 93/127/4 95/124/4
|
||||
f 96/123/5 98/129/5 92/125/5
|
||||
f 100/212/1 102/131/1 99/133/1
|
||||
f 102/131/3 106/134/3 101/132/3
|
||||
f 106/134/2 104/136/2 105/135/2
|
||||
f 104/136/6 100/138/6 103/137/6
|
||||
f 99/139/4 101/140/4 103/137/4
|
||||
f 104/136/5 106/142/5 100/138/5
|
||||
f 55/149/4 53/144/4 81/146/4
|
||||
f 51/148/16 53/144/16 83/147/16
|
||||
f 55/149/12 81/146/12 51/148/12
|
||||
f 59/152/1 81/150/1 57/80/1
|
||||
f 81/150/1 50/60/1 83/154/1
|
||||
f 41/155/1 43/81/1 82/151/1
|
||||
f 60/72/2 108/157/2 64/69/2
|
||||
f 107/156/2 70/70/2 64/69/2
|
||||
f 70/70/2 107/156/2 68/89/2
|
||||
f 109/160/2 13/213/2 12/8/2
|
||||
f 12/8/2 17/7/2 110/159/2
|
||||
f 16/214/2 110/159/2 17/7/2
|
||||
f 56/161/2 52/84/2 108/157/2
|
||||
f 108/157/3 109/162/3 107/156/3
|
||||
f 16/214/2 15/164/2 110/159/2
|
||||
f 2/9/5 110/159/5 4/13/5
|
||||
f 13/213/2 109/160/2 14/165/2
|
||||
f 1/215/4 3/18/4 109/160/4
|
||||
f 47/168/17 48/216/17 110/166/17
|
||||
f 107/217/17 110/166/17 48/216/17
|
||||
f 2/167/17 49/218/17 47/168/17
|
||||
f 108/170/18 40/171/18 109/170/18
|
||||
f 39/169/18 50/219/18 1/220/18
|
||||
f 1/220/18 109/170/18 39/169/18
|
||||
|
||||
@ -81,6 +81,164 @@ v -0.650000 -0.900000 0.090000
|
||||
v -0.650000 -0.900000 -0.090000
|
||||
v -0.500000 -0.900000 -0.090000
|
||||
v -0.500000 -0.900000 0.090000
|
||||
vt 0.502964 0.376131
|
||||
vt 0.479656 0.376131
|
||||
vt 0.479655 0.071595
|
||||
vt 0.456348 0.376131
|
||||
vt 0.456347 0.071595
|
||||
vt 0.642813 0.376130
|
||||
vt 0.619505 0.376130
|
||||
vt 0.619505 0.071595
|
||||
vt 0.596197 0.376130
|
||||
vt 0.596197 0.071595
|
||||
vt 0.572889 0.376130
|
||||
vt 0.572889 0.071595
|
||||
vt 0.549580 0.376130
|
||||
vt 0.549580 0.071595
|
||||
vt 0.603024 0.415920
|
||||
vt 0.603024 0.392612
|
||||
vt 0.526272 0.376131
|
||||
vt 0.502964 0.071595
|
||||
vt 0.526272 0.071595
|
||||
vt 0.603024 0.055113
|
||||
vt 0.603024 0.031805
|
||||
vt 0.642814 0.015323
|
||||
vt 0.015323 0.903467
|
||||
vt 0.309708 0.903467
|
||||
vt 0.309708 0.984677
|
||||
vt 0.502774 0.842366
|
||||
vt 0.797159 0.842366
|
||||
vt 0.797159 0.872820
|
||||
vt 0.502774 0.761157
|
||||
vt 0.797159 0.761157
|
||||
vt 0.502774 0.730703
|
||||
vt 0.797159 0.730703
|
||||
vt 0.472321 0.842366
|
||||
vt 0.472321 0.761157
|
||||
vt 0.045777 0.761156
|
||||
vt 0.340162 0.761157
|
||||
vt 0.340162 0.842366
|
||||
vt 0.045777 0.730703
|
||||
vt 0.340162 0.730703
|
||||
vt 0.411414 0.903467
|
||||
vt 0.705799 0.903467
|
||||
vt 0.705799 0.984677
|
||||
vt 0.045777 0.842366
|
||||
vt 0.340162 0.872820
|
||||
vt 0.015323 0.761156
|
||||
vt 0.083668 0.676875
|
||||
vt 0.083668 0.541974
|
||||
vt 0.200209 0.518793
|
||||
vt 0.220512 0.035236
|
||||
vt 0.337053 0.058417
|
||||
vt 0.220512 0.216499
|
||||
vt 0.341014 0.213230
|
||||
vt 0.224473 0.236411
|
||||
vt 0.351158 0.207920
|
||||
vt 0.337053 0.193318
|
||||
vt 0.405398 0.127303
|
||||
vt 0.405398 0.104130
|
||||
vt 0.425700 0.104130
|
||||
vt 0.425700 0.127303
|
||||
vt 0.348340 0.041542
|
||||
vt 0.224473 0.015323
|
||||
vt 0.103971 0.058417
|
||||
vt 0.100010 0.038505
|
||||
vt 0.035626 0.104130
|
||||
vt 0.024339 0.087254
|
||||
vt 0.035626 0.127302
|
||||
vt 0.015323 0.127302
|
||||
vt 0.021521 0.141905
|
||||
vt 0.103971 0.193317
|
||||
vt 0.100010 0.213230
|
||||
vt 0.103971 0.445052
|
||||
vt 0.103971 0.310152
|
||||
vt 0.220512 0.286970
|
||||
vt 0.600628 0.518793
|
||||
vt 0.717169 0.541974
|
||||
vt 0.600628 0.700056
|
||||
vt 0.224473 0.267058
|
||||
vt 0.341014 0.290240
|
||||
vt 0.337053 0.310152
|
||||
vt 0.351158 0.295549
|
||||
vt 0.419503 0.361564
|
||||
vt 0.425700 0.399340
|
||||
vt 0.405398 0.399340
|
||||
vt 0.405398 0.376167
|
||||
vt 0.416685 0.416215
|
||||
vt 0.348340 0.461928
|
||||
vt 0.337053 0.445052
|
||||
vt 0.341014 0.464965
|
||||
vt 0.224473 0.488146
|
||||
vt 0.220512 0.468234
|
||||
vt 0.216551 0.488146
|
||||
vt 0.100010 0.464965
|
||||
vt 0.092684 0.461928
|
||||
vt 0.024339 0.416215
|
||||
vt 0.035626 0.399339
|
||||
vt 0.015323 0.399339
|
||||
vt 0.015323 0.376167
|
||||
vt 0.035626 0.376167
|
||||
vt 0.021521 0.361564
|
||||
vt 0.089866 0.295549
|
||||
vt 0.100010 0.290239
|
||||
vt 0.216551 0.267058
|
||||
vt 0.898671 0.820034
|
||||
vt 0.868217 0.820034
|
||||
vt 0.868217 0.783489
|
||||
vt 0.380767 0.925800
|
||||
vt 0.380767 0.962344
|
||||
vt 0.871645 0.842366
|
||||
vt 0.871645 0.872820
|
||||
vt 0.871644 0.730703
|
||||
vt 0.871644 0.761157
|
||||
vt 0.411220 0.783489
|
||||
vt 0.441674 0.783489
|
||||
vt 0.441674 0.820034
|
||||
vt 0.411220 0.820034
|
||||
vt 0.414647 0.730703
|
||||
vt 0.414647 0.761157
|
||||
vt 0.776857 0.925800
|
||||
vt 0.776857 0.962344
|
||||
vt 0.414647 0.842366
|
||||
vt 0.414647 0.872820
|
||||
vt 0.642814 0.071595
|
||||
vt 0.659294 0.392612
|
||||
vt 0.659294 0.415920
|
||||
vt 0.642813 0.432401
|
||||
vt 0.619505 0.432401
|
||||
vt 0.659295 0.031805
|
||||
vt 0.659295 0.055113
|
||||
vt 0.619505 0.015323
|
||||
vt 0.015323 0.984677
|
||||
vt 0.502774 0.872820
|
||||
vt 0.411414 0.984677
|
||||
vt 0.045777 0.872819
|
||||
vt 0.015323 0.842366
|
||||
vt 0.316750 0.541974
|
||||
vt 0.316750 0.676875
|
||||
vt 0.385096 0.607989
|
||||
vt 0.385096 0.631162
|
||||
vt 0.200209 0.700056
|
||||
vt 0.015323 0.631162
|
||||
vt 0.015323 0.607989
|
||||
vt 0.419503 0.141905
|
||||
vt 0.416685 0.087254
|
||||
vt 0.341014 0.038505
|
||||
vt 0.216551 0.015323
|
||||
vt 0.092684 0.041541
|
||||
vt 0.015323 0.104130
|
||||
vt 0.089866 0.207920
|
||||
vt 0.216551 0.236411
|
||||
vt 0.785515 0.610859
|
||||
vt 0.717169 0.676875
|
||||
vt 0.484087 0.676875
|
||||
vt 0.484087 0.541974
|
||||
vt 0.415742 0.610859
|
||||
vt 0.415742 0.587687
|
||||
vt 0.785515 0.587687
|
||||
vt 0.425700 0.376167
|
||||
vt 0.898671 0.783489
|
||||
vn 0.000000 -0.382700 -0.923900
|
||||
vn 0.000000 -0.923900 -0.382700
|
||||
vn 0.000000 -0.923900 0.382700
|
||||
@ -106,143 +264,143 @@ vn 0.000000 -1.000000 0.000000
|
||||
vn 0.000000 -0.299800 -0.954000
|
||||
vn 0.000000 -0.299800 0.954000
|
||||
s off
|
||||
f 2//1 4//1 3//1
|
||||
f 4//2 6//2 5//2
|
||||
f 6//3 8//3 7//3
|
||||
f 8//4 10//4 9//4
|
||||
f 10//5 12//5 11//5
|
||||
f 12//6 14//6 13//6
|
||||
f 12//7 10//7 6//7
|
||||
f 16//8 2//8 1//8
|
||||
f 14//9 16//9 15//9
|
||||
f 9//10 11//10 15//10
|
||||
f 20//10 19//10 17//10
|
||||
f 24//11 23//11 19//11
|
||||
f 22//7 21//7 23//7
|
||||
f 18//12 17//12 21//12
|
||||
f 24//13 20//13 18//13
|
||||
f 28//10 27//10 25//10
|
||||
f 32//11 31//11 27//11
|
||||
f 30//7 29//7 31//7
|
||||
f 26//12 25//12 29//12
|
||||
f 32//13 28//13 26//13
|
||||
f 45//10 38//10 37//10
|
||||
f 50//7 51//7 41//7
|
||||
f 36//14 37//14 41//14
|
||||
f 36//15 42//15 43//15
|
||||
f 52//11 48//11 35//11
|
||||
f 52//16 51//16 47//16
|
||||
f 51//17 50//17 46//17
|
||||
f 50//18 49//18 45//18
|
||||
f 49//19 33//19 44//19
|
||||
f 33//12 34//12 39//12
|
||||
f 39//20 34//20 40//20
|
||||
f 38//21 40//21 41//21
|
||||
f 65//10 58//10 57//10
|
||||
f 70//7 71//7 61//7
|
||||
f 57//14 61//14 62//14
|
||||
f 56//15 62//15 63//15
|
||||
f 72//11 68//11 55//11
|
||||
f 72//16 71//16 67//16
|
||||
f 71//17 70//17 66//17
|
||||
f 70//18 69//18 65//18
|
||||
f 69//19 53//19 64//19
|
||||
f 53//12 54//12 59//12
|
||||
f 59//20 54//20 60//20
|
||||
f 58//21 60//21 61//21
|
||||
f 74//22 75//22 76//22
|
||||
f 74//10 73//10 17//10
|
||||
f 23//23 75//23 74//23
|
||||
f 76//7 75//7 23//7
|
||||
f 73//24 76//24 21//24
|
||||
f 78//22 79//22 80//22
|
||||
f 78//10 77//10 25//10
|
||||
f 79//23 78//23 27//23
|
||||
f 80//7 79//7 31//7
|
||||
f 77//24 80//24 29//24
|
||||
f 1//1 2//1 3//1
|
||||
f 3//2 4//2 5//2
|
||||
f 5//3 6//3 7//3
|
||||
f 7//4 8//4 9//4
|
||||
f 9//5 10//5 11//5
|
||||
f 11//6 12//6 13//6
|
||||
f 6//7 4//7 2//7
|
||||
f 2//7 16//7 6//7
|
||||
f 14//7 12//7 6//7
|
||||
f 10//7 8//7 6//7
|
||||
f 6//7 16//7 14//7
|
||||
f 15//8 16//8 1//8
|
||||
f 13//9 14//9 15//9
|
||||
f 15//10 1//10 3//10
|
||||
f 3//10 5//10 7//10
|
||||
f 7//10 9//10 15//10
|
||||
f 11//10 13//10 15//10
|
||||
f 15//10 3//10 7//10
|
||||
f 18//10 20//10 17//10
|
||||
f 20//11 24//11 19//11
|
||||
f 24//7 22//7 23//7
|
||||
f 22//12 18//12 21//12
|
||||
f 22//13 24//13 18//13
|
||||
f 26//10 28//10 25//10
|
||||
f 28//11 32//11 27//11
|
||||
f 32//7 30//7 31//7
|
||||
f 30//12 26//12 29//12
|
||||
f 30//13 32//13 26//13
|
||||
f 37//10 36//10 47//10
|
||||
f 35//10 48//10 47//10
|
||||
f 47//10 46//10 37//10
|
||||
f 45//10 44//10 39//10
|
||||
f 39//10 38//10 45//10
|
||||
f 36//10 35//10 47//10
|
||||
f 46//10 45//10 37//10
|
||||
f 43//7 42//7 51//7
|
||||
f 41//7 40//7 49//7
|
||||
f 34//7 33//7 49//7
|
||||
f 49//7 50//7 41//7
|
||||
f 51//7 52//7 43//7
|
||||
f 42//7 41//7 51//7
|
||||
f 34//7 49//7 40//7
|
||||
f 42//14 36//14 41//14
|
||||
f 35//15 36//15 43//15
|
||||
f 43//11 52//11 35//11
|
||||
f 48//16 52//16 47//16
|
||||
f 47//17 51//17 46//17
|
||||
f 46//18 50//18 45//18
|
||||
f 45//19 49//19 44//19
|
||||
f 44//12 33//12 39//12
|
||||
f 38//20 39//20 40//20
|
||||
f 37//21 38//21 41//21
|
||||
f 57//10 56//10 67//10
|
||||
f 55//10 68//10 67//10
|
||||
f 67//10 66//10 57//10
|
||||
f 65//10 64//10 59//10
|
||||
f 59//10 58//10 65//10
|
||||
f 56//10 55//10 67//10
|
||||
f 66//10 65//10 57//10
|
||||
f 63//7 62//7 71//7
|
||||
f 61//7 60//7 69//7
|
||||
f 54//7 53//7 69//7
|
||||
f 69//7 70//7 61//7
|
||||
f 71//7 72//7 63//7
|
||||
f 62//7 61//7 71//7
|
||||
f 54//7 69//7 60//7
|
||||
f 56//14 57//14 62//14
|
||||
f 55//15 56//15 63//15
|
||||
f 63//11 72//11 55//11
|
||||
f 68//16 72//16 67//16
|
||||
f 67//17 71//17 66//17
|
||||
f 66//18 70//18 65//18
|
||||
f 65//19 69//19 64//19
|
||||
f 64//12 53//12 59//12
|
||||
f 58//20 59//20 60//20
|
||||
f 57//21 58//21 61//21
|
||||
f 73//22 74//22 76//22
|
||||
f 19//10 74//10 17//10
|
||||
f 19//23 23//23 74//23
|
||||
f 21//7 76//7 23//7
|
||||
f 17//24 73//24 21//24
|
||||
f 77//22 78//22 80//22
|
||||
f 27//10 78//10 25//10
|
||||
f 31//23 79//23 27//23
|
||||
f 29//7 80//7 31//7
|
||||
f 25//24 77//24 29//24
|
||||
f 2/1/1 4/2/1 3/3/1
|
||||
f 4/2/2 6/4/2 5/5/2
|
||||
f 6/6/3 8/7/3 7/8/3
|
||||
f 8/7/4 10/9/4 9/10/4
|
||||
f 10/9/5 12/11/5 11/12/5
|
||||
f 12/11/6 14/13/6 13/14/6
|
||||
f 12/15/7 10/16/7 6/6/7
|
||||
f 16/17/8 2/1/8 1/18/8
|
||||
f 14/13/9 16/17/9 15/19/9
|
||||
f 9/20/10 11/21/10 15/22/10
|
||||
f 20/23/10 19/24/10 17/25/10
|
||||
f 24/26/11 23/27/11 19/28/11
|
||||
f 22/29/7 21/30/7 23/27/7
|
||||
f 18/31/12 17/32/12 21/30/12
|
||||
f 24/26/13 20/33/13 18/34/13
|
||||
f 28/35/10 27/36/10 25/37/10
|
||||
f 32/38/11 31/39/11 27/36/11
|
||||
f 30/40/7 29/41/7 31/42/7
|
||||
f 26/43/12 25/37/12 29/44/12
|
||||
f 32/45/13 28/35/13 26/43/13
|
||||
f 45/46/10 38/47/10 37/48/10
|
||||
f 50/49/7 51/50/7 41/51/7
|
||||
f 36/52/14 37/53/14 41/51/14
|
||||
f 36/54/15 42/55/15 43/56/15
|
||||
f 52/57/11 48/58/11 35/59/11
|
||||
f 52/57/16 51/50/16 47/60/16
|
||||
f 51/50/17 50/49/17 46/61/17
|
||||
f 50/49/18 49/62/18 45/63/18
|
||||
f 49/62/19 33/64/19 44/65/19
|
||||
f 33/64/12 34/66/12 39/67/12
|
||||
f 39/68/20 34/66/20 40/69/20
|
||||
f 38/70/21 40/69/21 41/51/21
|
||||
f 65/71/10 58/72/10 57/73/10
|
||||
f 70/74/7 71/75/7 61/76/7
|
||||
f 57/73/14 61/77/14 62/78/14
|
||||
f 56/79/15 62/80/15 63/81/15
|
||||
f 72/82/11 68/83/11 55/84/11
|
||||
f 72/85/16 71/86/16 67/87/16
|
||||
f 71/88/17 70/89/17 66/90/17
|
||||
f 70/91/18 69/92/18 65/71/18
|
||||
f 69/93/19 53/94/19 64/95/19
|
||||
f 53/96/12 54/97/12 59/98/12
|
||||
f 59/98/20 54/99/20 60/100/20
|
||||
f 58/72/21 60/101/21 61/102/21
|
||||
f 74/103/22 75/104/22 76/105/22
|
||||
f 74/106/10 73/107/10 17/25/10
|
||||
f 23/27/23 75/108/23 74/109/23
|
||||
f 76/105/7 75/104/7 23/27/7
|
||||
f 73/110/24 76/111/24 21/30/24
|
||||
f 78/112/22 79/113/22 80/114/22
|
||||
f 78/112/10 77/115/10 25/37/10
|
||||
f 79/116/23 78/117/23 27/36/23
|
||||
f 80/118/7 79/119/7 31/42/7
|
||||
f 77/120/24 80/121/24 29/44/24
|
||||
f 1/18/1 2/1/1 3/3/1
|
||||
f 3/3/2 4/2/2 5/5/2
|
||||
f 5/122/3 6/6/3 7/8/3
|
||||
f 7/8/4 8/7/4 9/10/4
|
||||
f 9/10/5 10/9/5 11/12/5
|
||||
f 11/12/6 12/11/6 13/14/6
|
||||
f 6/6/7 4/123/7 2/124/7
|
||||
f 2/124/7 16/125/7 6/6/7
|
||||
f 14/126/7 12/15/7 6/6/7
|
||||
f 10/16/7 8/7/7 6/6/7
|
||||
f 6/6/7 16/125/7 14/126/7
|
||||
f 15/19/8 16/17/8 1/18/8
|
||||
f 13/14/9 14/13/9 15/19/9
|
||||
f 15/22/10 1/127/10 3/128/10
|
||||
f 3/128/10 5/122/10 7/8/10
|
||||
f 7/8/10 9/20/10 15/22/10
|
||||
f 11/21/10 13/129/10 15/22/10
|
||||
f 15/22/10 3/128/10 7/8/10
|
||||
f 18/130/10 20/23/10 17/25/10
|
||||
f 20/131/11 24/26/11 19/28/11
|
||||
f 24/26/7 22/29/7 23/27/7
|
||||
f 22/29/12 18/31/12 21/30/12
|
||||
f 22/29/13 24/26/13 18/34/13
|
||||
f 26/43/10 28/35/10 25/37/10
|
||||
f 28/35/11 32/38/11 27/36/11
|
||||
f 32/132/7 30/40/7 31/42/7
|
||||
f 30/133/12 26/43/12 29/44/12
|
||||
f 30/134/13 32/45/13 26/43/13
|
||||
f 37/48/10 36/135/10 47/136/10
|
||||
f 35/137/10 48/138/10 47/136/10
|
||||
f 47/136/10 46/139/10 37/48/10
|
||||
f 45/46/10 44/140/10 39/141/10
|
||||
f 39/141/10 38/47/10 45/46/10
|
||||
f 36/135/10 35/137/10 47/136/10
|
||||
f 46/139/10 45/46/10 37/48/10
|
||||
f 43/56/7 42/55/7 51/50/7
|
||||
f 41/51/7 40/69/7 49/62/7
|
||||
f 34/66/7 33/64/7 49/62/7
|
||||
f 49/62/7 50/49/7 41/51/7
|
||||
f 51/50/7 52/57/7 43/56/7
|
||||
f 42/55/7 41/51/7 51/50/7
|
||||
f 34/66/7 49/62/7 40/69/7
|
||||
f 42/55/14 36/52/14 41/51/14
|
||||
f 35/142/15 36/54/15 43/56/15
|
||||
f 43/56/11 52/57/11 35/59/11
|
||||
f 48/143/16 52/57/16 47/60/16
|
||||
f 47/144/17 51/50/17 46/61/17
|
||||
f 46/145/18 50/49/18 45/63/18
|
||||
f 45/146/19 49/62/19 44/65/19
|
||||
f 44/147/12 33/64/12 39/67/12
|
||||
f 38/148/20 39/68/20 40/69/20
|
||||
f 37/149/21 38/70/21 41/51/21
|
||||
f 57/73/10 56/79/10 67/87/10
|
||||
f 55/84/10 68/83/10 67/87/10
|
||||
f 67/87/10 66/90/10 57/73/10
|
||||
f 65/71/10 64/95/10 59/98/10
|
||||
f 59/98/10 58/72/10 65/71/10
|
||||
f 56/79/10 55/84/10 67/87/10
|
||||
f 66/90/10 65/71/10 57/73/10
|
||||
f 63/150/7 62/151/7 71/75/7
|
||||
f 61/76/7 60/152/7 69/153/7
|
||||
f 54/154/7 53/155/7 69/153/7
|
||||
f 69/153/7 70/74/7 61/76/7
|
||||
f 71/75/7 72/156/7 63/150/7
|
||||
f 62/151/7 61/76/7 71/75/7
|
||||
f 54/154/7 69/153/7 60/152/7
|
||||
f 56/79/14 57/73/14 62/78/14
|
||||
f 55/84/15 56/79/15 63/81/15
|
||||
f 63/157/11 72/82/11 55/84/11
|
||||
f 68/83/16 72/85/16 67/87/16
|
||||
f 67/87/17 71/88/17 66/90/17
|
||||
f 66/90/18 70/91/18 65/71/18
|
||||
f 65/71/19 69/93/19 64/95/19
|
||||
f 64/95/12 53/96/12 59/98/12
|
||||
f 58/72/20 59/98/20 60/100/20
|
||||
f 57/73/21 58/72/21 61/102/21
|
||||
f 73/158/22 74/103/22 76/105/22
|
||||
f 19/24/10 74/106/10 17/25/10
|
||||
f 19/28/23 23/27/23 74/109/23
|
||||
f 21/30/7 76/105/7 23/27/7
|
||||
f 17/32/24 73/110/24 21/30/24
|
||||
f 77/115/22 78/112/22 80/114/22
|
||||
f 27/36/10 78/112/10 25/37/10
|
||||
f 31/39/23 79/116/23 27/36/23
|
||||
f 29/41/7 80/118/7 31/42/7
|
||||
f 25/37/24 77/120/24 29/44/24
|
||||
|
||||
@ -11,6 +11,7 @@
|
||||
"block.chemplantOperate": {"category": "block", "sounds": [{"name": "block/chemplantOperate", "stream": false}]},
|
||||
"block.dieselOperate": {"category": "block", "sounds": [{"name": "block/dieselOperate", "stream": false}]},
|
||||
"block.igeneratorOperate": {"category": "block", "sounds": [{"name": "block/igeneratorOperate", "stream": false}]},
|
||||
"block.turbofanOperate": {"category": "block", "sounds": [{"name": "block/turbofanOperate", "stream": false}]},
|
||||
|
||||
"item.techBleep": {"category": "player", "sounds": [{"name": "tool/techBleep", "stream": false}]},
|
||||
"item.techBoop": {"category": "player", "sounds": [{"name": "tool/techBoop", "stream": false}]},
|
||||
|
||||
BIN
assets/hbm/sounds/block/turbofanOperate.ogg
Normal file
BIN
assets/hbm/textures/items/definitelyfood.png
Normal file
|
After Width: | Height: | Size: 271 B |
BIN
assets/hbm/textures/items/geiger_counter.png
Normal file
|
After Width: | Height: | Size: 312 B |
BIN
assets/hbm/textures/models/pumpjack_base.png
Executable file
|
After Width: | Height: | Size: 72 KiB |
BIN
assets/hbm/textures/models/pumpjack_head.png
Executable file
|
After Width: | Height: | Size: 142 KiB |
BIN
assets/hbm/textures/models/pumpjack_rotor.png
Executable file
|
After Width: | Height: | Size: 5.9 KiB |
BIN
assets/hbm/textures/models/tank_ACID.png
Normal file
|
After Width: | Height: | Size: 5.1 KiB |
BIN
assets/hbm/textures/models/tank_HOTOIL.png
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
assets/hbm/textures/models/tank_STEAM.png
Normal file
|
After Width: | Height: | Size: 3.8 KiB |
BIN
assets/hbm/textures/models/tank_WATZ.png
Normal file
|
After Width: | Height: | Size: 3.0 KiB |
BIN
assets/hbm/textures/models/turbofan_blades.png
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
assets/hbm/textures/models/turbofan_body.png
Executable file
|
After Width: | Height: | Size: 86 KiB |
@ -1,16 +1,35 @@
|
||||
package com.hbm.blocks.generic;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.tileentity.machine.TileEntityCrateIron;
|
||||
import com.hbm.tileentity.machine.TileEntityCrateSteel;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineOilWell;
|
||||
|
||||
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.client.renderer.texture.IIconRegister;
|
||||
import net.minecraft.entity.item.EntityItem;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.inventory.ISidedInventory;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.IIcon;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class BlockStorageCrate extends Block {
|
||||
public class BlockStorageCrate extends BlockContainer {
|
||||
|
||||
private final Random field_149933_a = new Random();
|
||||
private Random rand;
|
||||
private static boolean keepInventory;
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
private IIcon iconTop;
|
||||
@ -40,4 +59,87 @@ public class BlockStorageCrate extends Block {
|
||||
return side == 1 ? this.iconTop : (side == 0 ? this.iconTop : this.blockIcon);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) {
|
||||
if(this == ModBlocks.crate_iron)
|
||||
return new TileEntityCrateIron();
|
||||
if(this == ModBlocks.crate_steel)
|
||||
return new TileEntityCrateSteel();
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void breakBlock(World p_149749_1_, int p_149749_2_, int p_149749_3_, int p_149749_4_, Block p_149749_5_, int p_149749_6_)
|
||||
{
|
||||
if (!keepInventory)
|
||||
{
|
||||
ISidedInventory tileentityfurnace = (ISidedInventory)p_149749_1_.getTileEntity(p_149749_2_, p_149749_3_, p_149749_4_);
|
||||
|
||||
if (tileentityfurnace != null)
|
||||
{
|
||||
for (int i1 = 0; i1 < tileentityfurnace.getSizeInventory(); ++i1)
|
||||
{
|
||||
ItemStack itemstack = tileentityfurnace.getStackInSlot(i1);
|
||||
|
||||
if (itemstack != null)
|
||||
{
|
||||
float f = this.field_149933_a.nextFloat() * 0.8F + 0.1F;
|
||||
float f1 = this.field_149933_a.nextFloat() * 0.8F + 0.1F;
|
||||
float f2 = this.field_149933_a.nextFloat() * 0.8F + 0.1F;
|
||||
|
||||
while (itemstack.stackSize > 0)
|
||||
{
|
||||
int j1 = this.field_149933_a.nextInt(21) + 10;
|
||||
|
||||
if (j1 > itemstack.stackSize)
|
||||
{
|
||||
j1 = itemstack.stackSize;
|
||||
}
|
||||
|
||||
itemstack.stackSize -= j1;
|
||||
EntityItem entityitem = new EntityItem(p_149749_1_, p_149749_2_ + f, p_149749_3_ + f1, p_149749_4_ + f2, new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage()));
|
||||
|
||||
if (itemstack.hasTagCompound())
|
||||
{
|
||||
entityitem.getEntityItem().setTagCompound((NBTTagCompound)itemstack.getTagCompound().copy());
|
||||
}
|
||||
|
||||
float f3 = 0.05F;
|
||||
entityitem.motionX = (float)this.field_149933_a.nextGaussian() * f3;
|
||||
entityitem.motionY = (float)this.field_149933_a.nextGaussian() * f3 + 0.2F;
|
||||
entityitem.motionZ = (float)this.field_149933_a.nextGaussian() * f3;
|
||||
p_149749_1_.spawnEntityInWorld(entityitem);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
p_149749_1_.func_147453_f(p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_);
|
||||
}
|
||||
}
|
||||
|
||||
super.breakBlock(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_, p_149749_6_);
|
||||
}
|
||||
|
||||
@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())
|
||||
{
|
||||
TileEntity entity = world.getTileEntity(x, y, z);
|
||||
if(entity instanceof TileEntityCrateIron)
|
||||
{
|
||||
FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_crate_iron, world, x, y, z);
|
||||
}
|
||||
if(entity instanceof TileEntityCrateSteel)
|
||||
{
|
||||
FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_crate_steel, world, x, y, z);
|
||||
}
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -121,7 +121,7 @@ public class MachinePumpjack extends BlockContainer implements IMultiblock {
|
||||
//
|
||||
DummyBlockPumpjack.safeBreak = true;
|
||||
world.setBlock(x - 2, y, z + 1, ModBlocks.dummy_port_pumpjack);
|
||||
TileEntity te = world.getTileEntity(x + 2, y, z + 1);
|
||||
TileEntity te = world.getTileEntity(x - 2, y, z + 1);
|
||||
if(te instanceof TileEntityDummy) {
|
||||
TileEntityDummy dummy = (TileEntityDummy)te;
|
||||
dummy.targetX = x;
|
||||
@ -129,7 +129,7 @@ public class MachinePumpjack extends BlockContainer implements IMultiblock {
|
||||
dummy.targetZ = z;
|
||||
}
|
||||
world.setBlock(x - 2, y, z - 1, ModBlocks.dummy_port_pumpjack);
|
||||
TileEntity te2 = world.getTileEntity(x + 2, y, z - 1);
|
||||
TileEntity te2 = world.getTileEntity(x - 2, y, z - 1);
|
||||
if(te2 instanceof TileEntityDummy) {
|
||||
TileEntityDummy dummy = (TileEntityDummy)te2;
|
||||
dummy.targetX = x;
|
||||
@ -137,7 +137,7 @@ public class MachinePumpjack extends BlockContainer implements IMultiblock {
|
||||
dummy.targetZ = z;
|
||||
}
|
||||
world.setBlock(x - 3, y, z + 1, ModBlocks.dummy_port_pumpjack);
|
||||
TileEntity te3 = world.getTileEntity(x + 3, y, z + 1);
|
||||
TileEntity te3 = world.getTileEntity(x - 3, y, z + 1);
|
||||
if(te3 instanceof TileEntityDummy) {
|
||||
TileEntityDummy dummy = (TileEntityDummy)te3;
|
||||
dummy.targetX = x;
|
||||
@ -145,7 +145,7 @@ public class MachinePumpjack extends BlockContainer implements IMultiblock {
|
||||
dummy.targetZ = z;
|
||||
}
|
||||
world.setBlock(x - 3, y, z - 1, ModBlocks.dummy_port_pumpjack);
|
||||
TileEntity te4 = world.getTileEntity(x + 3, y, z - 1);
|
||||
TileEntity te4 = world.getTileEntity(x - 3, y, z - 1);
|
||||
if(te4 instanceof TileEntityDummy) {
|
||||
TileEntityDummy dummy = (TileEntityDummy)te4;
|
||||
dummy.targetX = x;
|
||||
|
||||
@ -48,7 +48,7 @@ public class EntityGasFlameFX extends EntityModFX
|
||||
this.prevPosX = this.posX;
|
||||
this.prevPosY = this.posY;
|
||||
this.prevPosZ = this.posZ;
|
||||
|
||||
|
||||
if(maxAge < 30)
|
||||
{
|
||||
maxAge = rand.nextInt(13) + 30;
|
||||
@ -60,9 +60,8 @@ public class EntityGasFlameFX extends EntityModFX
|
||||
{
|
||||
this.setDead();
|
||||
}
|
||||
|
||||
|
||||
this.motionX *= 0.7599999785423279D;
|
||||
//this.motionY *= 0.7599999785423279D;
|
||||
this.motionY += 0.0075D;
|
||||
this.motionZ *= 0.7599999785423279D;
|
||||
|
||||
|
||||
@ -6,7 +6,7 @@ public class FluidTypeHandler {
|
||||
NONE (0x888888, 8947848, 0, 1, "hbmfluid.none"),
|
||||
|
||||
WATER (0x3333FF, 3355647, 1, 1, "hbmfluid.water"),
|
||||
STEAM (0x020202, 3355647, 9, 1, "hbmfluid.steam"),
|
||||
STEAM (0xe5e5e5, 15066597, 9, 1, "hbmfluid.steam"),
|
||||
COOLANT (0xd8fcff, 14220543, 2, 1, "hbmfluid.coolant"),
|
||||
|
||||
LAVA (0xFF3300, 16724736, 3, 1, "hbmfluid.lava"),
|
||||
|
||||
@ -20,6 +20,8 @@ import com.hbm.tileentity.machine.TileEntityConverterHeRf;
|
||||
import com.hbm.tileentity.machine.TileEntityConverterRfHe;
|
||||
import com.hbm.tileentity.machine.TileEntityCoreAdvanced;
|
||||
import com.hbm.tileentity.machine.TileEntityCoreTitanium;
|
||||
import com.hbm.tileentity.machine.TileEntityCrateIron;
|
||||
import com.hbm.tileentity.machine.TileEntityCrateSteel;
|
||||
import com.hbm.tileentity.machine.TileEntityDiFurnace;
|
||||
import com.hbm.tileentity.machine.TileEntityFWatzCore;
|
||||
import com.hbm.tileentity.machine.TileEntityFusionMultiblock;
|
||||
@ -460,6 +462,22 @@ public class GUIHandler implements IGuiHandler {
|
||||
return new ContainerMachineTurbofan(player.inventory, (TileEntityMachineTurbofan) entity);
|
||||
}
|
||||
}
|
||||
|
||||
case ModBlocks.guiID_crate_iron:
|
||||
{
|
||||
if(entity instanceof TileEntityCrateIron)
|
||||
{
|
||||
return new ContainerCrateIron(player.inventory, (TileEntityCrateIron) entity);
|
||||
}
|
||||
}
|
||||
|
||||
case ModBlocks.guiID_crate_steel:
|
||||
{
|
||||
if(entity instanceof TileEntityCrateSteel)
|
||||
{
|
||||
return new ContainerCrateSteel(player.inventory, (TileEntityCrateSteel) entity);
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
@ -864,6 +882,22 @@ public class GUIHandler implements IGuiHandler {
|
||||
return new GUIMachineTurbofan(player.inventory, (TileEntityMachineTurbofan) entity);
|
||||
}
|
||||
}
|
||||
|
||||
case ModBlocks.guiID_crate_iron:
|
||||
{
|
||||
if(entity instanceof TileEntityCrateIron)
|
||||
{
|
||||
return new GUICrateIron(player.inventory, (TileEntityCrateIron) entity);
|
||||
}
|
||||
}
|
||||
|
||||
case ModBlocks.guiID_crate_steel:
|
||||
{
|
||||
if(entity instanceof TileEntityCrateSteel)
|
||||
{
|
||||
return new GUICrateSteel(player.inventory, (TileEntityCrateSteel) entity);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
//CLIENTONLY GUIS
|
||||
|
||||
@ -27,7 +27,7 @@ public class FluidRecipeHandler extends TemplateRecipeHandler {
|
||||
public SmeltingSet(ItemStack input, ItemStack result) {
|
||||
input.stackSize = 1;
|
||||
this.input = new PositionedStack(input, 83 - 27 - 18 + 1, 5 + 18 + 1);
|
||||
this.result = new PositionedStack(result, 83 + 27 + 18 + 1, 5 + 18 + 1);
|
||||
this.result = new PositionedStack(result, 83 + 27 + 18 + 1 - 18, 5 + 18 + 1);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -103,7 +103,7 @@ public class FluidRecipeHandler extends TemplateRecipeHandler {
|
||||
@Override
|
||||
public void loadTransferRects() {
|
||||
|
||||
transferRects.add(new RecipeTransferRect(new Rectangle(74 + 6, 23, 24, 18), "fluidcons"));
|
||||
transferRects.add(new RecipeTransferRect(new Rectangle(74 + 6 - 18, 23, 42, 18), "fluidcons"));
|
||||
RecipeTransferRectHandler.registerRectsToGuis(getRecipeTransferRectGuis(), transferRects);
|
||||
}
|
||||
}
|
||||
|
||||
82
com/hbm/inventory/container/ContainerCrateIron.java
Normal file
@ -0,0 +1,82 @@
|
||||
package com.hbm.inventory.container;
|
||||
|
||||
import com.hbm.inventory.SlotMachineOutput;
|
||||
import com.hbm.tileentity.machine.TileEntityCrateIron;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineTurbofan;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.entity.player.InventoryPlayer;
|
||||
import net.minecraft.inventory.Container;
|
||||
import net.minecraft.inventory.ICrafting;
|
||||
import net.minecraft.inventory.Slot;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public class ContainerCrateIron extends Container {
|
||||
|
||||
private TileEntityCrateIron diFurnace;
|
||||
|
||||
public ContainerCrateIron(InventoryPlayer invPlayer, TileEntityCrateIron tedf) {
|
||||
diFurnace = tedf;
|
||||
|
||||
for(int i = 0; i < 4; i++)
|
||||
{
|
||||
for(int j = 0; j < 9; j++)
|
||||
{
|
||||
this.addSlotToContainer(new Slot(tedf, j + i * 9, 8 + j * 18, 18 + i * 18));
|
||||
}
|
||||
}
|
||||
|
||||
for(int i = 0; i < 3; i++)
|
||||
{
|
||||
for(int j = 0; j < 9; j++)
|
||||
{
|
||||
this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18 + 20));
|
||||
}
|
||||
}
|
||||
|
||||
for(int i = 0; i < 9; i++)
|
||||
{
|
||||
this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142 + 20));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int par2)
|
||||
{
|
||||
ItemStack var3 = null;
|
||||
Slot var4 = (Slot) this.inventorySlots.get(par2);
|
||||
|
||||
if (var4 != null && var4.getHasStack())
|
||||
{
|
||||
ItemStack var5 = var4.getStack();
|
||||
var3 = var5.copy();
|
||||
|
||||
if (par2 <= diFurnace.getSizeInventory() - 1) {
|
||||
if (!this.mergeItemStack(var5, diFurnace.getSizeInventory(), this.inventorySlots.size(), true))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
else if (!this.mergeItemStack(var5, 0, diFurnace.getSizeInventory(), false))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
if (var5.stackSize == 0)
|
||||
{
|
||||
var4.putStack((ItemStack) null);
|
||||
}
|
||||
else
|
||||
{
|
||||
var4.onSlotChanged();
|
||||
}
|
||||
}
|
||||
|
||||
return var3;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canInteractWith(EntityPlayer player) {
|
||||
return diFurnace.isUseableByPlayer(player);
|
||||
}
|
||||
}
|
||||
80
com/hbm/inventory/container/ContainerCrateSteel.java
Normal file
@ -0,0 +1,80 @@
|
||||
package com.hbm.inventory.container;
|
||||
|
||||
import com.hbm.tileentity.machine.TileEntityCrateIron;
|
||||
import com.hbm.tileentity.machine.TileEntityCrateSteel;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.entity.player.InventoryPlayer;
|
||||
import net.minecraft.inventory.Container;
|
||||
import net.minecraft.inventory.Slot;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public class ContainerCrateSteel extends Container {
|
||||
|
||||
private TileEntityCrateSteel diFurnace;
|
||||
|
||||
public ContainerCrateSteel(InventoryPlayer invPlayer, TileEntityCrateSteel tedf) {
|
||||
diFurnace = tedf;
|
||||
|
||||
for(int i = 0; i < 6; i++)
|
||||
{
|
||||
for(int j = 0; j < 9; j++)
|
||||
{
|
||||
this.addSlotToContainer(new Slot(tedf, j + i * 9, 8 + j * 18, 18 + i * 18));
|
||||
}
|
||||
}
|
||||
|
||||
for(int i = 0; i < 3; i++)
|
||||
{
|
||||
for(int j = 0; j < 9; j++)
|
||||
{
|
||||
this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18 + (18 * 3) + 2));
|
||||
}
|
||||
}
|
||||
|
||||
for(int i = 0; i < 9; i++)
|
||||
{
|
||||
this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142 + (18 * 3) + 2));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int par2)
|
||||
{
|
||||
ItemStack var3 = null;
|
||||
Slot var4 = (Slot) this.inventorySlots.get(par2);
|
||||
|
||||
if (var4 != null && var4.getHasStack())
|
||||
{
|
||||
ItemStack var5 = var4.getStack();
|
||||
var3 = var5.copy();
|
||||
|
||||
if (par2 <= diFurnace.getSizeInventory() - 1) {
|
||||
if (!this.mergeItemStack(var5, diFurnace.getSizeInventory(), this.inventorySlots.size(), true))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
else if (!this.mergeItemStack(var5, 0, diFurnace.getSizeInventory(), false))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
if (var5.stackSize == 0)
|
||||
{
|
||||
var4.putStack((ItemStack) null);
|
||||
}
|
||||
else
|
||||
{
|
||||
var4.onSlotChanged();
|
||||
}
|
||||
}
|
||||
|
||||
return var3;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canInteractWith(EntityPlayer player) {
|
||||
return diFurnace.isUseableByPlayer(player);
|
||||
}
|
||||
}
|
||||
@ -15,9 +15,11 @@ public class ContainerMachineTurbofan extends Container {
|
||||
|
||||
private TileEntityMachineTurbofan diFurnace;
|
||||
private int power;
|
||||
private int afterburner;
|
||||
|
||||
public ContainerMachineTurbofan(InventoryPlayer invPlayer, TileEntityMachineTurbofan tedf) {
|
||||
power = 0;
|
||||
afterburner = 0;
|
||||
|
||||
diFurnace = tedf;
|
||||
|
||||
@ -43,6 +45,7 @@ public class ContainerMachineTurbofan extends Container {
|
||||
public void addCraftingToCrafters(ICrafting crafting) {
|
||||
super.addCraftingToCrafters(crafting);
|
||||
crafting.sendProgressBarUpdate(this, 0, this.diFurnace.power);
|
||||
crafting.sendProgressBarUpdate(this, 1, this.diFurnace.afterburner);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -98,6 +101,10 @@ public class ContainerMachineTurbofan extends Container {
|
||||
{
|
||||
par1.sendProgressBarUpdate(this, 0, this.diFurnace.power);
|
||||
}
|
||||
if(this.afterburner != this.diFurnace.afterburner)
|
||||
{
|
||||
par1.sendProgressBarUpdate(this, 1, this.diFurnace.afterburner);
|
||||
}
|
||||
}
|
||||
|
||||
this.power = this.diFurnace.power;
|
||||
@ -109,6 +116,10 @@ public class ContainerMachineTurbofan extends Container {
|
||||
{
|
||||
diFurnace.power = j;
|
||||
}
|
||||
if(i == 1)
|
||||
{
|
||||
diFurnace.afterburner = j;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
45
com/hbm/inventory/gui/GUICrateIron.java
Normal file
@ -0,0 +1,45 @@
|
||||
package com.hbm.inventory.gui;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.hbm.inventory.FluidTank;
|
||||
import com.hbm.inventory.container.ContainerCrateIron;
|
||||
import com.hbm.inventory.container.ContainerMachineTurbofan;
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.tileentity.machine.TileEntityCrateIron;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineTurbofan;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.gui.inventory.GuiContainer;
|
||||
import net.minecraft.client.resources.I18n;
|
||||
import net.minecraft.entity.player.InventoryPlayer;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
public class GUICrateIron extends GuiContainer {
|
||||
|
||||
private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gui_crate_iron.png");
|
||||
private TileEntityCrateIron diFurnace;
|
||||
|
||||
public GUICrateIron(InventoryPlayer invPlayer, TileEntityCrateIron tedf) {
|
||||
super(new ContainerCrateIron(invPlayer, tedf));
|
||||
diFurnace = tedf;
|
||||
|
||||
this.xSize = 176;
|
||||
this.ySize = 186;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void drawGuiContainerForegroundLayer(int i, int j) {
|
||||
String name = this.diFurnace.hasCustomInventoryName() ? this.diFurnace.getInventoryName() : I18n.format(this.diFurnace.getInventoryName());
|
||||
|
||||
this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752);
|
||||
this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) {
|
||||
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
Minecraft.getMinecraft().getTextureManager().bindTexture(texture);
|
||||
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize);
|
||||
}
|
||||
}
|
||||
44
com/hbm/inventory/gui/GUICrateSteel.java
Normal file
@ -0,0 +1,44 @@
|
||||
package com.hbm.inventory.gui;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.hbm.inventory.container.ContainerCrateIron;
|
||||
import com.hbm.inventory.container.ContainerCrateSteel;
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.tileentity.machine.TileEntityCrateIron;
|
||||
import com.hbm.tileentity.machine.TileEntityCrateSteel;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.gui.inventory.GuiContainer;
|
||||
import net.minecraft.client.resources.I18n;
|
||||
import net.minecraft.entity.player.InventoryPlayer;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
public class GUICrateSteel extends GuiContainer {
|
||||
|
||||
private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gui_crate_steel.png");
|
||||
private TileEntityCrateSteel diFurnace;
|
||||
|
||||
public GUICrateSteel(InventoryPlayer invPlayer, TileEntityCrateSteel tedf) {
|
||||
super(new ContainerCrateSteel(invPlayer, tedf));
|
||||
diFurnace = tedf;
|
||||
|
||||
this.xSize = 176;
|
||||
this.ySize = 222;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void drawGuiContainerForegroundLayer(int i, int j) {
|
||||
String name = this.diFurnace.hasCustomInventoryName() ? this.diFurnace.getInventoryName() : I18n.format(this.diFurnace.getInventoryName());
|
||||
|
||||
this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752);
|
||||
this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) {
|
||||
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
Minecraft.getMinecraft().getTextureManager().bindTexture(texture);
|
||||
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize);
|
||||
}
|
||||
}
|
||||
@ -52,6 +52,11 @@ public class GUIMachineTurbofan extends GuiFluidContainer {
|
||||
int i = diFurnace.getPowerScaled(52);
|
||||
drawTexturedModalRect(guiLeft + 152 - 9, guiTop + 69 - i, 176 + 16, 52 - i, 16, i);
|
||||
}
|
||||
|
||||
if(diFurnace.afterburner > 0) {
|
||||
int i = diFurnace.afterburner;
|
||||
drawTexturedModalRect(guiLeft + 107, guiTop + 53, 176, (i - 1) * 16, 16, 16);
|
||||
}
|
||||
|
||||
Minecraft.getMinecraft().getTextureManager().bindTexture(FluidTank.fluidTextures);
|
||||
|
||||
|
||||
@ -649,6 +649,7 @@ public class ModItems {
|
||||
public static Item tem_flakes;
|
||||
public static Item glowing_stew;
|
||||
public static Item lemon;
|
||||
public static Item definitelyfood;
|
||||
|
||||
public static Item flame_pony;
|
||||
public static Item flame_conspiracy;
|
||||
@ -1605,6 +1606,7 @@ public class ModItems {
|
||||
tem_flakes = new ItemTemFlakes(0, 0, false).setUnlocalizedName("tem_flakes").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":tem_flakes");
|
||||
glowing_stew = new ItemSoup(6).setUnlocalizedName("glowing_stew").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":glowing_stew");
|
||||
lemon = new ItemLemon(3, 5, false).setUnlocalizedName("lemon").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":lemon");
|
||||
definitelyfood = new ItemLemon(2, 5, false).setUnlocalizedName("definitelyfood").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":definitelyfood");
|
||||
|
||||
flame_pony = new ItemCustomLore().setUnlocalizedName("flame_pony").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":flame_pony");
|
||||
flame_conspiracy = new ItemCustomLore().setUnlocalizedName("flame_conspiracy").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":flame_conspiracy");
|
||||
@ -2779,6 +2781,7 @@ public class ModItems {
|
||||
GameRegistry.registerItem(tem_flakes, tem_flakes.getUnlocalizedName());
|
||||
GameRegistry.registerItem(glowing_stew, glowing_stew.getUnlocalizedName());
|
||||
GameRegistry.registerItem(lemon, lemon.getUnlocalizedName());
|
||||
GameRegistry.registerItem(definitelyfood, definitelyfood.getUnlocalizedName());
|
||||
|
||||
//Energy Drinks
|
||||
GameRegistry.registerItem(can_empty, can_empty.getUnlocalizedName());
|
||||
@ -2916,7 +2919,7 @@ public class ModItems {
|
||||
GameRegistry.registerItem(wand, wand.getUnlocalizedName());
|
||||
GameRegistry.registerItem(wand_s, wand_s.getUnlocalizedName());
|
||||
GameRegistry.registerItem(wand_d, wand_d.getUnlocalizedName());
|
||||
GameRegistry.registerItem(remote, remote.getUnlocalizedName());
|
||||
//GameRegistry.registerItem(remote, remote.getUnlocalizedName());
|
||||
GameRegistry.registerItem(euphemium_stopper, euphemium_stopper.getUnlocalizedName());
|
||||
GameRegistry.registerItem(polaroid, polaroid.getUnlocalizedName());
|
||||
GameRegistry.registerItem(book_secret, book_secret.getUnlocalizedName());
|
||||
|
||||
@ -2,6 +2,8 @@ package com.hbm.items.food;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.hbm.items.ModItems;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemFood;
|
||||
import net.minecraft.item.ItemStack;
|
||||
@ -15,7 +17,18 @@ public class ItemLemon extends ItemFood {
|
||||
@Override
|
||||
public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool)
|
||||
{
|
||||
list.add("Eh, good enough.");
|
||||
if(this == ModItems.lemon) {
|
||||
list.add("Eh, good enough.");
|
||||
}
|
||||
|
||||
if(this == ModItems.definitelyfood) {
|
||||
list.add("A'right, I got sick and tired of");
|
||||
list.add("having to go out, kill things just");
|
||||
list.add("to get food and not die, so here is ");
|
||||
list.add("my absolutely genius solution:");
|
||||
list.add("");
|
||||
list.add("Have some edible dirt.");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -219,6 +219,7 @@ public class Library {
|
||||
if(checkArmor(player, ModItems.hazmat_helmet, ModItems.hazmat_plate, ModItems.hazmat_legs, ModItems.hazmat_boots) ||
|
||||
checkArmor(player, ModItems.t45_helmet, ModItems.t45_plate, ModItems.t45_legs, ModItems.t45_boots) ||
|
||||
checkArmor(player, ModItems.euphemium_helmet, ModItems.euphemium_plate, ModItems.euphemium_legs, ModItems.euphemium_boots) ||
|
||||
checkArmor(player, ModItems.schrabidium_helmet, ModItems.schrabidium_plate, ModItems.schrabidium_legs, ModItems.schrabidium_boots) ||
|
||||
checkArmor(player, ModItems.hazmat_paa_helmet, ModItems.hazmat_paa_plate, ModItems.hazmat_paa_legs, ModItems.hazmat_paa_boots))
|
||||
{
|
||||
return true;
|
||||
|
||||
@ -447,6 +447,7 @@ public class CraftingManager {
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.shimmer_head, 1), new Object[] { "SSS", "DTD", "SSS", 'S', "ingotSteel", 'D', "blockDesh", 'T', "blockTungsten" }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.shimmer_handle, 1), new Object[] { "GP", "GP", "GP", 'G', "plateGold", 'P', "ingotPolymer" }));
|
||||
GameRegistry.addRecipe(new ItemStack(ModItems.shimmer_sledge, 1), new Object[] { "H", "G", "G", 'G', ModItems.shimmer_handle, 'H', ModItems.shimmer_head });
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.definitelyfood, 1), new Object[] { "DDD", "SDS", "DDD", 'D', Blocks.dirt, 'S', "plateSteel" }));
|
||||
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.toothpicks, 3), new Object[] { Items.stick, Items.stick, Items.stick });
|
||||
GameRegistry.addShapedRecipe(new ItemStack(ModItems.ducttape, 6), new Object[] { "FSF", "SPS", "FSF", 'F', Items.string, 'S', Items.slime_ball, 'P', Items.paper });
|
||||
@ -501,6 +502,8 @@ public class CraftingManager {
|
||||
GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_well), 1), new Object[] { "TPM", "GPG", "GDG", 'T', ModItems.tank_steel, 'P', ModItems.pipes_steel, 'M', ModItems.motor, 'G', ModBlocks.steel_scaffold, 'D', ModItems.drill_titanium });
|
||||
GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_flare), 1), new Object[] { "UHU", "GPG", "GTG", 'U', ModItems.thermo_element, 'H', ModItems.hull_small_steel, 'G', ModBlocks.steel_scaffold, 'P', ModItems.pipes_steel, 'T', ModItems.tank_steel });
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_refinery), 1), new Object[] { "PTP", "CTC", "WFW", 'P', "plateTitanium", 'T', ModItems.tank_steel, 'C', ModItems.coil_tungsten, 'W', ModBlocks.red_wire_coated, 'F', ModBlocks.machine_electric_furnace_off }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.crate_iron), 1), new Object[] { "PPP", "I I", "III", 'P', "plateIron", 'I', "ingotIron" }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.crate_steel), 1), new Object[] { "PPP", "I I", "III", 'P', "plateSteel", 'I', "ingotSteel" }));
|
||||
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.factory_titanium_hull), 1), new Object[] { "PIP", "I I", "PIP", 'P', "plateTitanium", 'I', "ingotTitanium" }));
|
||||
GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.factory_titanium_furnace), 1), new Object[] { "HMH", "MFM", "HMH", 'H', Item.getItemFromBlock(ModBlocks.factory_titanium_hull), 'M', ModItems.motor, 'F', Item.getItemFromBlock(Blocks.furnace) });
|
||||
|
||||
@ -170,6 +170,8 @@ import com.hbm.tileentity.machine.TileEntityConverterHeRf;
|
||||
import com.hbm.tileentity.machine.TileEntityConverterRfHe;
|
||||
import com.hbm.tileentity.machine.TileEntityCoreAdvanced;
|
||||
import com.hbm.tileentity.machine.TileEntityCoreTitanium;
|
||||
import com.hbm.tileentity.machine.TileEntityCrateIron;
|
||||
import com.hbm.tileentity.machine.TileEntityCrateSteel;
|
||||
import com.hbm.tileentity.machine.TileEntityDiFurnace;
|
||||
import com.hbm.tileentity.machine.TileEntityDummy;
|
||||
import com.hbm.tileentity.machine.TileEntityFWatzCore;
|
||||
@ -491,6 +493,8 @@ public class MainRegistry
|
||||
GameRegistry.registerTileEntity(TileEntityTurretTau.class, "tileentity_turret_tau");
|
||||
GameRegistry.registerTileEntity(TileEntityMachinePumpjack.class, "tileentity_machine_pumpjack");
|
||||
GameRegistry.registerTileEntity(TileEntityMachineTurbofan.class, "tileentity_machine_turbofan");
|
||||
GameRegistry.registerTileEntity(TileEntityCrateIron.class, "tileentity_crate_iron");
|
||||
GameRegistry.registerTileEntity(TileEntityCrateSteel.class, "tileentity_crate_steel");
|
||||
|
||||
EntityRegistry.registerModEntity(EntityRocket.class, "entity_rocket", 0, this, 250, 1, true);
|
||||
EntityRegistry.registerModEntity(EntityNukeExplosion.class, "entity_nuke_explosion", 1, this, 250, 1, true);
|
||||
|
||||
@ -28,5 +28,18 @@ public class ResourceManager {
|
||||
//Turbofan
|
||||
public static final IModelCustom turbofan_body = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/turbofan_body.obj"));
|
||||
public static final IModelCustom turbofan_blades = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/turbofan_blades.obj"));
|
||||
|
||||
////Textures TEs
|
||||
|
||||
public static final ResourceLocation universal = new ResourceLocation(RefStrings.MODID, "textures/models/TheGadget3_.png");
|
||||
|
||||
//Pumpjack
|
||||
public static final ResourceLocation pumpjack_base_tex = new ResourceLocation(RefStrings.MODID, "textures/models/pumpjack_base.png");
|
||||
public static final ResourceLocation pumpjack_head_tex = new ResourceLocation(RefStrings.MODID, "textures/models/pumpjack_head.png");
|
||||
public static final ResourceLocation pumpjack_rotor_tex = new ResourceLocation(RefStrings.MODID, "textures/models/pumpjack_rotor.png");
|
||||
|
||||
//Pumpjack
|
||||
public static final ResourceLocation turbofan_body_tex = new ResourceLocation(RefStrings.MODID, "textures/models/turbofan_body.png");
|
||||
public static final ResourceLocation turbofan_blades_tex = new ResourceLocation(RefStrings.MODID, "textures/models/turbofan_blades.png");
|
||||
|
||||
}
|
||||
|
||||
@ -2,10 +2,14 @@ package com.hbm.packet;
|
||||
|
||||
import com.hbm.sound.SoundLoopAssembler;
|
||||
import com.hbm.sound.SoundLoopChemplant;
|
||||
import com.hbm.sound.SoundLoopIGen;
|
||||
import com.hbm.sound.SoundLoopMiner;
|
||||
import com.hbm.sound.SoundLoopTurbofan;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineAssembler;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineChemplant;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineIGenerator;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineMiningDrill;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineTurbofan;
|
||||
|
||||
import cpw.mods.fml.common.network.simpleimpl.IMessage;
|
||||
import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
|
||||
@ -92,6 +96,30 @@ public class LoopedSoundPacket implements IMessage {
|
||||
if(flag && te.getWorldObj().isRemote && ((TileEntityMachineAssembler)te).isProgressing)
|
||||
Minecraft.getMinecraft().getSoundHandler().playSound(new SoundLoopAssembler(new ResourceLocation("hbm:block.assemblerOperate"), te));
|
||||
}
|
||||
|
||||
if (te != null && te instanceof TileEntityMachineIGenerator) {
|
||||
|
||||
boolean flag = true;
|
||||
for(int i = 0; i < SoundLoopIGen.list.size(); i++) {
|
||||
if(SoundLoopIGen.list.get(i).getTE() == te && !SoundLoopIGen.list.get(i).isDonePlaying())
|
||||
flag = false;
|
||||
}
|
||||
|
||||
if(flag && te.getWorldObj().isRemote && ((TileEntityMachineIGenerator)te).torque > 0)
|
||||
Minecraft.getMinecraft().getSoundHandler().playSound(new SoundLoopIGen(new ResourceLocation("hbm:block.igeneratorOperate"), te));
|
||||
}
|
||||
|
||||
if (te != null && te instanceof TileEntityMachineTurbofan) {
|
||||
|
||||
boolean flag = true;
|
||||
for(int i = 0; i < SoundLoopTurbofan.list.size(); i++) {
|
||||
if(SoundLoopTurbofan.list.get(i).getTE() == te && !SoundLoopTurbofan.list.get(i).isDonePlaying())
|
||||
flag = false;
|
||||
}
|
||||
|
||||
if(flag && te.getWorldObj().isRemote && ((TileEntityMachineTurbofan)te).isRunning)
|
||||
Minecraft.getMinecraft().getSoundHandler().playSound(new SoundLoopTurbofan(new ResourceLocation("hbm:block.turbofanOperate"), te));
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@ -45,6 +45,8 @@ public class PacketDispatcher {
|
||||
wrapper.registerMessage(ItemFolderPacket.Handler.class, ItemFolderPacket.class, i++, Side.SERVER);
|
||||
//Pumpjack rotation for animation rendering
|
||||
wrapper.registerMessage(TEPumpjackPacket.Handler.class, TEPumpjackPacket.class, i++, Side.CLIENT);
|
||||
//Turbofan spin for rendering
|
||||
wrapper.registerMessage(TETurbofanPacket.Handler.class, TETurbofanPacket.class, i++, Side.CLIENT);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -15,18 +15,20 @@ public class TEIGeneratorPacket implements IMessage {
|
||||
int y;
|
||||
int z;
|
||||
float spin;
|
||||
int torque;
|
||||
|
||||
public TEIGeneratorPacket()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public TEIGeneratorPacket(int x, int y, int z, float spin)
|
||||
public TEIGeneratorPacket(int x, int y, int z, float spin, int torque)
|
||||
{
|
||||
this.x = x;
|
||||
this.y = y;
|
||||
this.z = z;
|
||||
this.spin = spin;
|
||||
this.torque = torque;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -35,6 +37,7 @@ public class TEIGeneratorPacket implements IMessage {
|
||||
y = buf.readInt();
|
||||
z = buf.readInt();
|
||||
spin = buf.readFloat();
|
||||
torque = buf.readInt();
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -43,6 +46,7 @@ public class TEIGeneratorPacket implements IMessage {
|
||||
buf.writeInt(y);
|
||||
buf.writeInt(z);
|
||||
buf.writeFloat(spin);
|
||||
buf.writeInt(torque);
|
||||
}
|
||||
|
||||
public static class Handler implements IMessageHandler<TEIGeneratorPacket, IMessage> {
|
||||
@ -55,6 +59,7 @@ public class TEIGeneratorPacket implements IMessage {
|
||||
|
||||
TileEntityMachineIGenerator gen = (TileEntityMachineIGenerator) te;
|
||||
gen.rotation = m.spin;
|
||||
gen.torque = m.torque;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
68
com/hbm/packet/TETurbofanPacket.java
Normal file
@ -0,0 +1,68 @@
|
||||
package com.hbm.packet;
|
||||
|
||||
import com.hbm.tileentity.machine.TileEntityMachineIGenerator;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineTurbofan;
|
||||
|
||||
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 io.netty.buffer.ByteBuf;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
|
||||
public class TETurbofanPacket implements IMessage {
|
||||
|
||||
int x;
|
||||
int y;
|
||||
int z;
|
||||
int spin;
|
||||
boolean isRunning;
|
||||
|
||||
public TETurbofanPacket()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public TETurbofanPacket(int x, int y, int z, int spin, boolean isRunning)
|
||||
{
|
||||
this.x = x;
|
||||
this.y = y;
|
||||
this.z = z;
|
||||
this.spin = spin;
|
||||
this.isRunning = isRunning;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void fromBytes(ByteBuf buf) {
|
||||
x = buf.readInt();
|
||||
y = buf.readInt();
|
||||
z = buf.readInt();
|
||||
spin = buf.readInt();
|
||||
isRunning = buf.readBoolean();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void toBytes(ByteBuf buf) {
|
||||
buf.writeInt(x);
|
||||
buf.writeInt(y);
|
||||
buf.writeInt(z);
|
||||
buf.writeInt(spin);
|
||||
buf.writeBoolean(isRunning);
|
||||
}
|
||||
|
||||
public static class Handler implements IMessageHandler<TETurbofanPacket, IMessage> {
|
||||
|
||||
@Override
|
||||
public IMessage onMessage(TETurbofanPacket m, MessageContext ctx) {
|
||||
TileEntity te = Minecraft.getMinecraft().theWorld.getTileEntity(m.x, m.y, m.z);
|
||||
|
||||
if (te != null && te instanceof TileEntityMachineTurbofan) {
|
||||
|
||||
TileEntityMachineTurbofan gen = (TileEntityMachineTurbofan) te;
|
||||
gen.spin = m.spin;
|
||||
gen.isRunning = m.isRunning;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -15,8 +15,6 @@ import net.minecraft.util.ResourceLocation;
|
||||
public class RenderPumpjack extends TileEntitySpecialRenderer {
|
||||
|
||||
public RenderPumpjack() { }
|
||||
|
||||
private ResourceLocation gadgetTexture = new ResourceLocation(RefStrings.MODID, "textures/models/TheGadget3_.png");
|
||||
|
||||
int i;
|
||||
|
||||
@ -44,7 +42,7 @@ public class RenderPumpjack extends TileEntitySpecialRenderer {
|
||||
GL11.glDisable(GL11.GL_CULL_FACE);
|
||||
GL11.glRotatef(180, 0F, 1F, 0F);
|
||||
|
||||
this.bindTexture(gadgetTexture);
|
||||
this.bindTexture(ResourceManager.pumpjack_base_tex);
|
||||
ResourceManager.pumpjack_base.renderAll();
|
||||
|
||||
GL11.glPopMatrix();
|
||||
@ -60,7 +58,7 @@ public class RenderPumpjack extends TileEntitySpecialRenderer {
|
||||
GL11.glDisable(GL11.GL_CULL_FACE);
|
||||
GL11.glRotatef(180, 0F, 1F, 0F);
|
||||
|
||||
this.bindTexture(gadgetTexture);
|
||||
this.bindTexture(ResourceManager.pumpjack_rotor_tex);
|
||||
GL11.glRotated(i - 90, 1F, 0F, 0F);
|
||||
|
||||
ResourceManager.pumpjack_rotor.renderAll();
|
||||
@ -79,7 +77,7 @@ public class RenderPumpjack extends TileEntitySpecialRenderer {
|
||||
GL11.glDisable(GL11.GL_CULL_FACE);
|
||||
GL11.glRotatef(180, 0F, 1F, 0F);
|
||||
|
||||
this.bindTexture(gadgetTexture);
|
||||
this.bindTexture(ResourceManager.pumpjack_head_tex);
|
||||
float t = (float) Math.sin((i / (180 / Math.PI))) * 15;
|
||||
GL11.glRotatef(t, 1F, 0F, 0F);
|
||||
ResourceManager.pumpjack_head.renderAll();
|
||||
|
||||
@ -5,6 +5,7 @@ import org.lwjgl.opengl.GL11;
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.main.ResourceManager;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineIGenerator;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineTurbofan;
|
||||
|
||||
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
@ -13,17 +14,12 @@ import net.minecraftforge.client.model.AdvancedModelLoader;
|
||||
import net.minecraftforge.client.model.IModelCustom;
|
||||
|
||||
public class RenderTurbofan extends TileEntitySpecialRenderer {
|
||||
|
||||
private ResourceLocation gadgetTexture = new ResourceLocation(RefStrings.MODID, "textures/models/TheGadget3_.png");
|
||||
|
||||
public RenderTurbofan() { }
|
||||
|
||||
int i;
|
||||
|
||||
@Override
|
||||
public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f)
|
||||
{
|
||||
i -= 3;
|
||||
GL11.glPushMatrix();
|
||||
GL11.glTranslated(x + 0.5D, y, z + 0.5D);
|
||||
GL11.glEnable(GL11.GL_LIGHTING);
|
||||
@ -42,7 +38,7 @@ public class RenderTurbofan extends TileEntitySpecialRenderer {
|
||||
GL11.glRotatef(0, 0F, 1F, 0F); break;
|
||||
}
|
||||
|
||||
bindTexture(gadgetTexture);
|
||||
bindTexture(ResourceManager.turbofan_body_tex);
|
||||
|
||||
ResourceManager.turbofan_body.renderAll();
|
||||
|
||||
@ -70,9 +66,11 @@ public class RenderTurbofan extends TileEntitySpecialRenderer {
|
||||
case 5:
|
||||
GL11.glRotatef(0, 0F, 1F, 0F); break;
|
||||
}
|
||||
GL11.glRotatef(i, 0F, 0F, 1F);
|
||||
|
||||
if(tileEntity instanceof TileEntityMachineTurbofan)
|
||||
GL11.glRotatef(((TileEntityMachineTurbofan)tileEntity).spin, 0F, 0F, -1F);
|
||||
|
||||
bindTexture(gadgetTexture);
|
||||
bindTexture(ResourceManager.turbofan_blades_tex);
|
||||
ResourceManager.turbofan_blades.renderAll();
|
||||
|
||||
GL11.glPopMatrix();
|
||||
|
||||
41
com/hbm/sound/SoundLoopIGen.java
Normal file
@ -0,0 +1,41 @@
|
||||
package com.hbm.sound;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.hbm.tileentity.machine.TileEntityMachineAssembler;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineIGenerator;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineMiningDrill;
|
||||
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
public class SoundLoopIGen extends SoundLoopMachine {
|
||||
|
||||
public static List<SoundLoopIGen> list = new ArrayList<SoundLoopIGen>();
|
||||
|
||||
public SoundLoopIGen(ResourceLocation path, TileEntity te) {
|
||||
super(path, te);
|
||||
list.add(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void update() {
|
||||
super.update();
|
||||
|
||||
if(te instanceof TileEntityMachineIGenerator) {
|
||||
TileEntityMachineIGenerator drill = (TileEntityMachineIGenerator)te;
|
||||
|
||||
if(this.volume != 3)
|
||||
volume = 3;
|
||||
|
||||
if(drill.torque <= 0)
|
||||
this.donePlaying = true;
|
||||
}
|
||||
}
|
||||
|
||||
public TileEntity getTE() {
|
||||
return te;
|
||||
}
|
||||
|
||||
}
|
||||
41
com/hbm/sound/SoundLoopTurbofan.java
Normal file
@ -0,0 +1,41 @@
|
||||
package com.hbm.sound;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.hbm.tileentity.machine.TileEntityMachineAssembler;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineMiningDrill;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineTurbofan;
|
||||
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
public class SoundLoopTurbofan extends SoundLoopMachine {
|
||||
|
||||
public static List<SoundLoopTurbofan> list = new ArrayList<SoundLoopTurbofan>();
|
||||
|
||||
public SoundLoopTurbofan(ResourceLocation path, TileEntity te) {
|
||||
super(path, te);
|
||||
list.add(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void update() {
|
||||
super.update();
|
||||
|
||||
if(te instanceof TileEntityMachineTurbofan) {
|
||||
TileEntityMachineTurbofan drill = (TileEntityMachineTurbofan)te;
|
||||
|
||||
if(this.volume != 10)
|
||||
volume = 10;
|
||||
|
||||
if(!drill.isRunning)
|
||||
this.donePlaying = true;
|
||||
}
|
||||
}
|
||||
|
||||
public TileEntity getTE() {
|
||||
return te;
|
||||
}
|
||||
|
||||
}
|
||||
168
com/hbm/tileentity/machine/TileEntityCrateIron.java
Normal file
@ -0,0 +1,168 @@
|
||||
package com.hbm.tileentity.machine;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.handler.FluidTypeHandler.FluidType;
|
||||
import com.hbm.inventory.FluidTank;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.items.special.ItemBattery;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.inventory.ISidedInventory;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.nbt.NBTTagList;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
|
||||
public class TileEntityCrateIron extends TileEntity implements ISidedInventory {
|
||||
|
||||
private ItemStack slots[];
|
||||
|
||||
private String customName;
|
||||
|
||||
public TileEntityCrateIron() {
|
||||
slots = new ItemStack[36];
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getSizeInventory() {
|
||||
return slots.length;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getStackInSlot(int i) {
|
||||
return slots[i];
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getStackInSlotOnClosing(int i) {
|
||||
if (slots[i] != null) {
|
||||
ItemStack itemStack = slots[i];
|
||||
slots[i] = null;
|
||||
return itemStack;
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setInventorySlotContents(int i, ItemStack itemStack) {
|
||||
slots[i] = itemStack;
|
||||
if (itemStack != null && itemStack.stackSize > getInventoryStackLimit()) {
|
||||
itemStack.stackSize = getInventoryStackLimit();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getInventoryName() {
|
||||
return this.hasCustomInventoryName() ? this.customName : "container.crateIron";
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasCustomInventoryName() {
|
||||
return this.customName != null && this.customName.length() > 0;
|
||||
}
|
||||
|
||||
public void setCustomName(String name) {
|
||||
this.customName = name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getInventoryStackLimit() {
|
||||
return 64;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isUseableByPlayer(EntityPlayer player) {
|
||||
if (worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) {
|
||||
return false;
|
||||
} else {
|
||||
return player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <= 64;
|
||||
}
|
||||
}
|
||||
|
||||
// You scrubs aren't needed for anything (right now)
|
||||
@Override
|
||||
public void openInventory() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void closeInventory() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isItemValidForSlot(int i, ItemStack stack) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack decrStackSize(int i, int j) {
|
||||
if (slots[i] != null) {
|
||||
if (slots[i].stackSize <= j) {
|
||||
ItemStack itemStack = slots[i];
|
||||
slots[i] = null;
|
||||
return itemStack;
|
||||
}
|
||||
ItemStack itemStack1 = slots[i].splitStack(j);
|
||||
if (slots[i].stackSize == 0) {
|
||||
slots[i] = null;
|
||||
}
|
||||
|
||||
return itemStack1;
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void readFromNBT(NBTTagCompound nbt) {
|
||||
super.readFromNBT(nbt);
|
||||
NBTTagList list = nbt.getTagList("items", 10);
|
||||
|
||||
slots = new ItemStack[getSizeInventory()];
|
||||
|
||||
for (int i = 0; i < list.tagCount(); i++) {
|
||||
NBTTagCompound nbt1 = list.getCompoundTagAt(i);
|
||||
byte b0 = nbt1.getByte("slot");
|
||||
if (b0 >= 0 && b0 < slots.length) {
|
||||
slots[b0] = ItemStack.loadItemStackFromNBT(nbt1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeToNBT(NBTTagCompound nbt) {
|
||||
super.writeToNBT(nbt);
|
||||
|
||||
NBTTagList list = new NBTTagList();
|
||||
|
||||
for (int i = 0; i < slots.length; i++) {
|
||||
if (slots[i] != null) {
|
||||
NBTTagCompound nbt1 = new NBTTagCompound();
|
||||
nbt1.setByte("slot", (byte) i);
|
||||
slots[i].writeToNBT(nbt1);
|
||||
list.appendTag(nbt1);
|
||||
}
|
||||
}
|
||||
nbt.setTag("items", list);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int[] getAccessibleSlotsFromSide(int p_94128_1_) {
|
||||
int[] slots = new int[36];
|
||||
for(int i = 0; i < slots.length; i++)
|
||||
slots[i] = i;
|
||||
return slots;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canInsertItem(int i, ItemStack itemStack, int j) {
|
||||
return this.isItemValidForSlot(i, itemStack);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canExtractItem(int i, ItemStack itemStack, int j) {
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
160
com/hbm/tileentity/machine/TileEntityCrateSteel.java
Normal file
@ -0,0 +1,160 @@
|
||||
package com.hbm.tileentity.machine;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.inventory.ISidedInventory;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.nbt.NBTTagList;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
|
||||
public class TileEntityCrateSteel extends TileEntity implements ISidedInventory {
|
||||
|
||||
private ItemStack slots[];
|
||||
|
||||
private String customName;
|
||||
|
||||
public TileEntityCrateSteel() {
|
||||
slots = new ItemStack[54];
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getSizeInventory() {
|
||||
return slots.length;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getStackInSlot(int i) {
|
||||
return slots[i];
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getStackInSlotOnClosing(int i) {
|
||||
if (slots[i] != null) {
|
||||
ItemStack itemStack = slots[i];
|
||||
slots[i] = null;
|
||||
return itemStack;
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setInventorySlotContents(int i, ItemStack itemStack) {
|
||||
slots[i] = itemStack;
|
||||
if (itemStack != null && itemStack.stackSize > getInventoryStackLimit()) {
|
||||
itemStack.stackSize = getInventoryStackLimit();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getInventoryName() {
|
||||
return this.hasCustomInventoryName() ? this.customName : "container.crateSteel";
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasCustomInventoryName() {
|
||||
return this.customName != null && this.customName.length() > 0;
|
||||
}
|
||||
|
||||
public void setCustomName(String name) {
|
||||
this.customName = name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getInventoryStackLimit() {
|
||||
return 64;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isUseableByPlayer(EntityPlayer player) {
|
||||
if (worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) {
|
||||
return false;
|
||||
} else {
|
||||
return player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <= 64;
|
||||
}
|
||||
}
|
||||
|
||||
// You scrubs aren't needed for anything (right now)
|
||||
@Override
|
||||
public void openInventory() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void closeInventory() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isItemValidForSlot(int i, ItemStack stack) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack decrStackSize(int i, int j) {
|
||||
if (slots[i] != null) {
|
||||
if (slots[i].stackSize <= j) {
|
||||
ItemStack itemStack = slots[i];
|
||||
slots[i] = null;
|
||||
return itemStack;
|
||||
}
|
||||
ItemStack itemStack1 = slots[i].splitStack(j);
|
||||
if (slots[i].stackSize == 0) {
|
||||
slots[i] = null;
|
||||
}
|
||||
|
||||
return itemStack1;
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void readFromNBT(NBTTagCompound nbt) {
|
||||
super.readFromNBT(nbt);
|
||||
NBTTagList list = nbt.getTagList("items", 10);
|
||||
|
||||
slots = new ItemStack[getSizeInventory()];
|
||||
|
||||
for (int i = 0; i < list.tagCount(); i++) {
|
||||
NBTTagCompound nbt1 = list.getCompoundTagAt(i);
|
||||
byte b0 = nbt1.getByte("slot");
|
||||
if (b0 >= 0 && b0 < slots.length) {
|
||||
slots[b0] = ItemStack.loadItemStackFromNBT(nbt1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeToNBT(NBTTagCompound nbt) {
|
||||
super.writeToNBT(nbt);
|
||||
|
||||
NBTTagList list = new NBTTagList();
|
||||
|
||||
for (int i = 0; i < slots.length; i++) {
|
||||
if (slots[i] != null) {
|
||||
NBTTagCompound nbt1 = new NBTTagCompound();
|
||||
nbt1.setByte("slot", (byte) i);
|
||||
slots[i].writeToNBT(nbt1);
|
||||
list.appendTag(nbt1);
|
||||
}
|
||||
}
|
||||
nbt.setTag("items", list);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int[] getAccessibleSlotsFromSide(int p_94128_1_) {
|
||||
int[] slots = new int[54];
|
||||
for(int i = 0; i < slots.length; i++)
|
||||
slots[i] = i;
|
||||
return slots;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canInsertItem(int i, ItemStack itemStack, int j) {
|
||||
return this.isItemValidForSlot(i, itemStack);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canExtractItem(int i, ItemStack itemStack, int j) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@ -260,8 +260,8 @@ public class TileEntityMachineDiesel extends TileEntity implements ISidedInvento
|
||||
}
|
||||
soundCycle++;
|
||||
|
||||
//if (soundCycle >= 3 && this.superTimer <= 0)
|
||||
// soundCycle = 0;
|
||||
if (soundCycle >= 3)
|
||||
soundCycle = 0;
|
||||
//if (this.superTimer > 0)
|
||||
// soundCycle = 0;
|
||||
|
||||
|
||||
@ -8,6 +8,7 @@ import com.hbm.interfaces.IConsumer;
|
||||
import com.hbm.interfaces.ISource;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.lib.Library;
|
||||
import com.hbm.packet.LoopedSoundPacket;
|
||||
import com.hbm.packet.PacketDispatcher;
|
||||
import com.hbm.packet.TEIGeneratorPacket;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
@ -300,8 +301,10 @@ public class TileEntityMachineIGenerator extends TileEntity implements ISidedInv
|
||||
doBatteryTask();
|
||||
}
|
||||
|
||||
if(!worldObj.isRemote)
|
||||
PacketDispatcher.wrapper.sendToAll(new TEIGeneratorPacket(xCoord, yCoord, zCoord, rotation));
|
||||
if(!worldObj.isRemote) {
|
||||
PacketDispatcher.wrapper.sendToAll(new TEIGeneratorPacket(xCoord, yCoord, zCoord, rotation, torque));
|
||||
PacketDispatcher.wrapper.sendToAll(new LoopedSoundPacket(xCoord, yCoord, zCoord));
|
||||
}
|
||||
}
|
||||
|
||||
public void doFuelTask() {
|
||||
|
||||
@ -6,6 +6,7 @@ import java.util.Random;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.entity.particle.EntityDSmokeFX;
|
||||
import com.hbm.entity.particle.EntityGasFlameFX;
|
||||
import com.hbm.entity.particle.EntityTSmokeFX;
|
||||
import com.hbm.handler.FluidTypeHandler.FluidType;
|
||||
import com.hbm.interfaces.IConsumer;
|
||||
@ -17,6 +18,10 @@ import com.hbm.items.ModItems;
|
||||
import com.hbm.items.special.ItemBattery;
|
||||
import com.hbm.lib.Library;
|
||||
import com.hbm.lib.ModDamageSource;
|
||||
import com.hbm.packet.LoopedSoundPacket;
|
||||
import com.hbm.packet.PacketDispatcher;
|
||||
import com.hbm.packet.TEIGeneratorPacket;
|
||||
import com.hbm.packet.TETurbofanPacket;
|
||||
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
@ -39,6 +44,9 @@ public class TileEntityMachineTurbofan extends TileEntity implements ISidedInven
|
||||
public List<IConsumer> list = new ArrayList();
|
||||
public FluidTank tank;
|
||||
Random rand = new Random();
|
||||
public int afterburner;
|
||||
public boolean isRunning;
|
||||
public int spin;
|
||||
|
||||
private static final int[] slots_top = new int[] { 0 };
|
||||
private static final int[] slots_bottom = new int[] { 0, 0 };
|
||||
@ -198,6 +206,29 @@ public class TileEntityMachineTurbofan extends TileEntity implements ISidedInven
|
||||
|
||||
@Override
|
||||
public void updateEntity() {
|
||||
|
||||
int nrg = 1250;
|
||||
int cnsp = 1;
|
||||
|
||||
afterburner = 0;
|
||||
if(slots[2] != null) {
|
||||
if(slots[2].getItem() == ModItems.upgrade_afterburn_1) {
|
||||
nrg *= 2;
|
||||
cnsp *= 2.5;
|
||||
afterburner = 1;
|
||||
}
|
||||
if(slots[2].getItem() == ModItems.upgrade_afterburn_2) {
|
||||
nrg *= 3;
|
||||
cnsp *= 5;
|
||||
afterburner = 2;
|
||||
}
|
||||
if(slots[2].getItem() == ModItems.upgrade_afterburn_3) {
|
||||
nrg *= 4;
|
||||
cnsp *= 7.5;
|
||||
afterburner = 3;
|
||||
}
|
||||
}
|
||||
|
||||
if (!worldObj.isRemote) {
|
||||
age++;
|
||||
if (age >= 20) {
|
||||
@ -206,32 +237,21 @@ public class TileEntityMachineTurbofan extends TileEntity implements ISidedInven
|
||||
|
||||
if (age == 9 || age == 19)
|
||||
ffgeuaInit();
|
||||
|
||||
int nrg = 1250;
|
||||
int cnsp = 1;
|
||||
|
||||
if(slots[2] != null) {
|
||||
if(slots[2].getItem() == ModItems.upgrade_afterburn_1) {
|
||||
nrg *= 2;
|
||||
cnsp *= 2.5;
|
||||
}
|
||||
if(slots[2].getItem() == ModItems.upgrade_afterburn_2) {
|
||||
nrg *= 3;
|
||||
cnsp *= 5;
|
||||
}
|
||||
if(slots[2].getItem() == ModItems.upgrade_afterburn_3) {
|
||||
nrg *= 4;
|
||||
cnsp *= 7.5;
|
||||
}
|
||||
}
|
||||
|
||||
//Tank Management
|
||||
tank.loadTank(0, 1, slots);
|
||||
tank.updateTank(xCoord, yCoord, zCoord);
|
||||
|
||||
isRunning = false;
|
||||
|
||||
if(tank.getFill() >= cnsp) {
|
||||
tank.setFill(tank.getFill() - cnsp);
|
||||
power += nrg;
|
||||
|
||||
isRunning = true;
|
||||
|
||||
spin += 3;
|
||||
spin = spin % 360;
|
||||
|
||||
if(power > maxPower)
|
||||
power = maxPower;
|
||||
@ -243,7 +263,7 @@ public class TileEntityMachineTurbofan extends TileEntity implements ISidedInven
|
||||
double posZ = zCoord + 0.5;
|
||||
|
||||
if(meta == 2) {
|
||||
if(rand.nextInt(3) == 0) {
|
||||
if(afterburner == 0 && rand.nextInt(3) == 0) {
|
||||
EntityTSmokeFX smoke = new EntityTSmokeFX(worldObj);
|
||||
smoke.posX = xCoord + 0.5 + (rand.nextGaussian() * 0.5);
|
||||
smoke.posY = yCoord + 1.5 + (rand.nextGaussian() * 0.5);
|
||||
@ -255,12 +275,28 @@ public class TileEntityMachineTurbofan extends TileEntity implements ISidedInven
|
||||
worldObj.spawnEntityInWorld(smoke);
|
||||
}
|
||||
|
||||
for(int i = 0; i < afterburner * 5; i++)
|
||||
if(afterburner > 0 && rand.nextInt(2) == 0) {
|
||||
EntityGasFlameFX smoke = new EntityGasFlameFX(worldObj);
|
||||
smoke.posX = xCoord + 0.5 + (rand.nextGaussian() * 0.5);
|
||||
smoke.posY = yCoord + 1.5 + (rand.nextGaussian() * 0.5);
|
||||
smoke.posZ = zCoord + 4.25;
|
||||
//smoke.motionX = rand.nextGaussian() * 0.3;
|
||||
//smoke.motionY = rand.nextGaussian() * 0.3;
|
||||
smoke.motionZ = 2.5 + (rand.nextFloat() * 3.5);
|
||||
//smoke.isBurn = true;
|
||||
if(!worldObj.isRemote)
|
||||
worldObj.spawnEntityInWorld(smoke);
|
||||
}
|
||||
|
||||
//Exhaust push
|
||||
List<Entity> list = (List<Entity>)worldObj.getEntitiesWithinAABBExcludingEntity(null,
|
||||
AxisAlignedBB.getBoundingBox(posX - 1.5, posY, posZ + 4.5, posX + 1.5, posY + 3, posZ + 12));
|
||||
|
||||
for(Entity e : list) {
|
||||
e.motionZ += 0.5;
|
||||
if(afterburner > 0)
|
||||
e.setFire(3 * afterburner);
|
||||
}
|
||||
|
||||
//Intake pull
|
||||
@ -280,7 +316,7 @@ public class TileEntityMachineTurbofan extends TileEntity implements ISidedInven
|
||||
}
|
||||
}
|
||||
if(meta == 3) {
|
||||
if(rand.nextInt(3) == 0) {
|
||||
if(afterburner == 0 && rand.nextInt(3) == 0) {
|
||||
EntityTSmokeFX smoke = new EntityTSmokeFX(worldObj);
|
||||
smoke.posX = xCoord + 0.5 + (rand.nextGaussian() * 0.5);
|
||||
smoke.posY = yCoord + 1.5 + (rand.nextGaussian() * 0.5);
|
||||
@ -292,12 +328,28 @@ public class TileEntityMachineTurbofan extends TileEntity implements ISidedInven
|
||||
worldObj.spawnEntityInWorld(smoke);
|
||||
}
|
||||
|
||||
for(int i = 0; i < afterburner * 5; i++)
|
||||
if(afterburner > 0 && rand.nextInt(2) == 0) {
|
||||
EntityGasFlameFX smoke = new EntityGasFlameFX(worldObj);
|
||||
smoke.posX = xCoord + 0.5 + (rand.nextGaussian() * 0.5);
|
||||
smoke.posY = yCoord + 1.5 + (rand.nextGaussian() * 0.5);
|
||||
smoke.posZ = zCoord - 4.25;
|
||||
//smoke.motionX = rand.nextGaussian() * 0.3;
|
||||
//smoke.motionY = rand.nextGaussian() * 0.3;
|
||||
smoke.motionZ = -2.5 - (rand.nextFloat() * 3.5);
|
||||
//smoke.isBurn = true;
|
||||
if(!worldObj.isRemote)
|
||||
worldObj.spawnEntityInWorld(smoke);
|
||||
}
|
||||
|
||||
//Exhaust push
|
||||
List<Entity> list = (List<Entity>)worldObj.getEntitiesWithinAABBExcludingEntity(null,
|
||||
AxisAlignedBB.getBoundingBox(posX - 1.5, posY, posZ - 12, posX + 1.5, posY + 3, posZ - 4.5));
|
||||
|
||||
for(Entity e : list) {
|
||||
e.motionZ -= 0.5;
|
||||
if(afterburner > 0)
|
||||
e.setFire(3 * afterburner);
|
||||
}
|
||||
|
||||
//Intake pull
|
||||
@ -317,17 +369,31 @@ public class TileEntityMachineTurbofan extends TileEntity implements ISidedInven
|
||||
}
|
||||
}
|
||||
if(meta == 4) {
|
||||
if(rand.nextInt(3) == 0) {
|
||||
if(afterburner == 0 && rand.nextInt(3) == 0) {
|
||||
EntityTSmokeFX smoke = new EntityTSmokeFX(worldObj);
|
||||
smoke.posX = xCoord + 4.25;
|
||||
smoke.posY = yCoord + 1.5 + (rand.nextGaussian() * 0.5);
|
||||
smoke.posZ = zCoord + 0.5 + (rand.nextGaussian() * 0.5);
|
||||
smoke.motionX = 2.5 + (rand.nextFloat() * 3.5);
|
||||
smoke.motionY = rand.nextGaussian() * 0.3;
|
||||
smoke.motionZ = rand.nextGaussian() * 0.3;
|
||||
//smoke.motionY = rand.nextGaussian() * 0.3;
|
||||
//smoke.motionZ = rand.nextGaussian() * 0.3;
|
||||
if(!worldObj.isRemote)
|
||||
worldObj.spawnEntityInWorld(smoke);
|
||||
}
|
||||
|
||||
for(int i = 0; i < afterburner * 5; i++)
|
||||
if(afterburner > 0 && rand.nextInt(2) == 0) {
|
||||
EntityGasFlameFX smoke = new EntityGasFlameFX(worldObj);
|
||||
smoke.posX = xCoord + 4.25;
|
||||
smoke.posY = yCoord + 1.5 + (rand.nextGaussian() * 0.5);
|
||||
smoke.posZ = zCoord + 0.5 + (rand.nextGaussian() * 0.5);
|
||||
smoke.motionX = 2.5 + (rand.nextFloat() * 3.5);
|
||||
//smoke.motionY = rand.nextGaussian() * 0.3;
|
||||
//smoke.motionZ = rand.nextGaussian() * 0.3;
|
||||
//smoke.isBurn = true;
|
||||
if(!worldObj.isRemote)
|
||||
worldObj.spawnEntityInWorld(smoke);
|
||||
}
|
||||
|
||||
//Exhaust push
|
||||
List<Entity> list = (List<Entity>)worldObj.getEntitiesWithinAABBExcludingEntity(null,
|
||||
@ -335,6 +401,8 @@ public class TileEntityMachineTurbofan extends TileEntity implements ISidedInven
|
||||
|
||||
for(Entity e : list) {
|
||||
e.motionX += 0.5;
|
||||
if(afterburner > 0)
|
||||
e.setFire(3 * afterburner);
|
||||
}
|
||||
|
||||
//Intake pull
|
||||
@ -354,7 +422,7 @@ public class TileEntityMachineTurbofan extends TileEntity implements ISidedInven
|
||||
}
|
||||
}
|
||||
if(meta == 5) {
|
||||
if(rand.nextInt(3) == 0) {
|
||||
if(afterburner == 0 && rand.nextInt(3) == 0) {
|
||||
EntityTSmokeFX smoke = new EntityTSmokeFX(worldObj);
|
||||
smoke.posX = xCoord - 4.25;
|
||||
smoke.posY = yCoord + 1.5 + (rand.nextGaussian() * 0.5);
|
||||
@ -365,6 +433,20 @@ public class TileEntityMachineTurbofan extends TileEntity implements ISidedInven
|
||||
if(!worldObj.isRemote)
|
||||
worldObj.spawnEntityInWorld(smoke);
|
||||
}
|
||||
|
||||
for(int i = 0; i < afterburner * 5; i++)
|
||||
if(afterburner > 0 && rand.nextInt(2) == 0) {
|
||||
EntityGasFlameFX smoke = new EntityGasFlameFX(worldObj);
|
||||
smoke.posX = xCoord - 4.25;
|
||||
smoke.posY = yCoord + 1.5 + (rand.nextGaussian() * 0.5);
|
||||
smoke.posZ = zCoord + 0.5 + (rand.nextGaussian() * 0.5);
|
||||
smoke.motionX = -2.5 - (rand.nextFloat() * 3.5);
|
||||
//smoke.motionY = rand.nextGaussian() * 0.3;
|
||||
//smoke.motionZ = rand.nextGaussian() * 0.3;
|
||||
//smoke.isBurn = true;
|
||||
if(!worldObj.isRemote)
|
||||
worldObj.spawnEntityInWorld(smoke);
|
||||
}
|
||||
|
||||
//Exhaust push
|
||||
List<Entity> list = (List<Entity>)worldObj.getEntitiesWithinAABBExcludingEntity(null,
|
||||
@ -372,6 +454,8 @@ public class TileEntityMachineTurbofan extends TileEntity implements ISidedInven
|
||||
|
||||
for(Entity e : list) {
|
||||
e.motionX -= 0.5;
|
||||
if(afterburner > 0)
|
||||
e.setFire(3 * afterburner);
|
||||
}
|
||||
|
||||
//Intake pull
|
||||
@ -392,6 +476,11 @@ public class TileEntityMachineTurbofan extends TileEntity implements ISidedInven
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(!worldObj.isRemote) {
|
||||
PacketDispatcher.wrapper.sendToAll(new TETurbofanPacket(xCoord, yCoord, zCoord, spin, isRunning));
|
||||
PacketDispatcher.wrapper.sendToAll(new LoopedSoundPacket(xCoord, yCoord, zCoord));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||