Experimental stuff, glitches, simmer sledge model
514
assets/hbm/models/shimmer_sledge.obj
Normal file
@ -0,0 +1,514 @@
|
||||
# Blender v2.76 (sub 0) OBJ File: 'shimmer_sledge.blend'
|
||||
# www.blender.org
|
||||
o Cylinder.002
|
||||
v 0.000000 0.000000 -0.025000
|
||||
v 0.012500 0.000000 -0.021651
|
||||
v 0.021651 0.000000 -0.012500
|
||||
v 0.025000 0.000000 0.000000
|
||||
v 0.021651 0.000000 0.012500
|
||||
v 0.012500 0.000000 0.021651
|
||||
v 0.000000 0.000000 0.025000
|
||||
v -0.012500 0.000000 0.021651
|
||||
v -0.021651 0.000000 0.012500
|
||||
v -0.025000 0.000000 0.000000
|
||||
v -0.021651 0.000000 -0.012500
|
||||
v -0.012500 0.000000 -0.021651
|
||||
l 1 2
|
||||
l 2 3
|
||||
l 3 4
|
||||
l 4 5
|
||||
l 5 6
|
||||
l 6 7
|
||||
l 7 8
|
||||
l 8 9
|
||||
l 9 10
|
||||
l 10 11
|
||||
l 11 12
|
||||
l 12 1
|
||||
o Cylinder.001
|
||||
v 0.000000 0.750000 -0.025000
|
||||
v -0.012500 0.000000 -0.021650
|
||||
v 0.012500 0.750000 -0.021651
|
||||
v -0.021651 0.000000 -0.012499
|
||||
v 0.021651 0.750000 -0.012500
|
||||
v -0.025000 0.000000 0.000001
|
||||
v 0.025000 0.750000 -0.000000
|
||||
v -0.021651 0.000000 0.012501
|
||||
v 0.021651 0.750000 0.012500
|
||||
v -0.012500 0.000000 0.021651
|
||||
v 0.012500 0.750000 0.021651
|
||||
v 0.000000 0.000000 0.025001
|
||||
v 0.000000 0.750000 0.025000
|
||||
v 0.012500 0.000000 0.021651
|
||||
v -0.012500 0.750000 0.021651
|
||||
v 0.021651 0.000000 0.012501
|
||||
v -0.021651 0.750000 0.012500
|
||||
v 0.025000 0.000000 0.000001
|
||||
v -0.025000 0.750000 0.000000
|
||||
v 0.021651 0.000000 -0.012499
|
||||
v -0.021651 0.750000 -0.012500
|
||||
v 0.012500 0.000000 -0.021650
|
||||
v -0.012500 0.750000 -0.021651
|
||||
v 0.000000 0.000000 -0.024999
|
||||
v -0.125000 0.750000 -0.065000
|
||||
v 0.125000 0.750000 -0.065000
|
||||
v -0.125000 0.725126 -0.060052
|
||||
v 0.125000 0.725126 -0.060052
|
||||
v -0.125000 0.704038 -0.045962
|
||||
v 0.125000 0.704038 -0.045962
|
||||
v -0.125000 0.689948 -0.024874
|
||||
v 0.125000 0.689948 -0.024874
|
||||
v -0.125000 0.685000 -0.000000
|
||||
v 0.125000 0.685000 0.000000
|
||||
v -0.125000 0.689948 0.024874
|
||||
v 0.125000 0.689948 0.024874
|
||||
v -0.125000 0.704038 0.045962
|
||||
v 0.125000 0.704038 0.045962
|
||||
v -0.125000 0.725126 0.060052
|
||||
v 0.125000 0.725126 0.060052
|
||||
v -0.125000 0.750000 0.065000
|
||||
v 0.125000 0.750000 0.065000
|
||||
v -0.125000 0.774874 0.060052
|
||||
v 0.125000 0.774874 0.060052
|
||||
v -0.125000 0.795962 0.045962
|
||||
v 0.125000 0.795962 0.045962
|
||||
v -0.125000 0.810052 0.024874
|
||||
v 0.125000 0.810052 0.024874
|
||||
v -0.125000 0.815000 -0.000000
|
||||
v 0.125000 0.815000 0.000000
|
||||
v -0.125000 0.810052 -0.024874
|
||||
v 0.125000 0.810052 -0.024874
|
||||
v -0.125000 0.795962 -0.045962
|
||||
v 0.125000 0.795962 -0.045962
|
||||
v -0.125000 0.774874 -0.060052
|
||||
v 0.125000 0.774874 -0.060052
|
||||
v 0.150000 0.732588 -0.042037
|
||||
v 0.150000 0.750000 -0.045500
|
||||
v 0.150000 0.767412 -0.042037
|
||||
v 0.150000 0.782173 -0.032173
|
||||
v 0.150000 0.792037 -0.017412
|
||||
v 0.150000 0.795500 0.000000
|
||||
v 0.150000 0.792037 0.017412
|
||||
v 0.150000 0.782173 0.032173
|
||||
v 0.150000 0.767412 0.042037
|
||||
v 0.150000 0.750000 0.045500
|
||||
v 0.150000 0.732588 0.042037
|
||||
v 0.150000 0.717827 0.032173
|
||||
v 0.150000 0.707964 0.017412
|
||||
v 0.150000 0.704500 0.000000
|
||||
v 0.150000 0.707964 -0.017412
|
||||
v 0.150000 0.717827 -0.032173
|
||||
v -0.150000 0.750000 -0.045500
|
||||
v -0.150000 0.732588 -0.042037
|
||||
v -0.150000 0.717827 -0.032173
|
||||
v -0.150000 0.707963 -0.017412
|
||||
v -0.150000 0.704500 -0.000000
|
||||
v -0.150000 0.707963 0.017412
|
||||
v -0.150000 0.717827 0.032173
|
||||
v -0.150000 0.732588 0.042036
|
||||
v -0.150000 0.750000 0.045500
|
||||
v -0.150000 0.767412 0.042036
|
||||
v -0.150000 0.782173 0.032173
|
||||
v -0.150000 0.792036 0.017412
|
||||
v -0.150000 0.795500 -0.000000
|
||||
v -0.150000 0.792036 -0.017412
|
||||
v -0.150000 0.782173 -0.032173
|
||||
v -0.150000 0.767412 -0.042037
|
||||
vt 0.020688 0.204740
|
||||
vt 0.979279 0.204739
|
||||
vt 0.979276 0.221471
|
||||
vt 0.020691 0.188008
|
||||
vt 0.979282 0.188007
|
||||
vt 0.020694 0.171275
|
||||
vt 0.979286 0.171274
|
||||
vt 0.020698 0.154543
|
||||
vt 0.979289 0.154542
|
||||
vt 0.020711 0.087614
|
||||
vt 0.979302 0.087613
|
||||
vt 0.979299 0.104346
|
||||
vt 0.020701 0.137811
|
||||
vt 0.979292 0.137810
|
||||
vt 0.020714 0.070882
|
||||
vt 0.979306 0.070881
|
||||
vt 0.020708 0.104347
|
||||
vt 0.979295 0.121078
|
||||
vt 0.020704 0.121079
|
||||
vt 0.020718 0.054150
|
||||
vt 0.979309 0.054149
|
||||
vt 0.020721 0.037418
|
||||
vt 0.979312 0.037417
|
||||
vt 0.020725 0.020685
|
||||
vt 0.979316 0.020684
|
||||
vt 0.718366 0.575925
|
||||
vt 0.749409 0.584243
|
||||
vt 0.735002 0.638011
|
||||
vt 0.020685 0.393254
|
||||
vt 0.020685 0.360650
|
||||
vt 0.342065 0.360650
|
||||
vt 0.020685 0.328047
|
||||
vt 0.342065 0.328047
|
||||
vt 0.020685 0.295444
|
||||
vt 0.342065 0.295444
|
||||
vt 0.020685 0.262841
|
||||
vt 0.342065 0.262841
|
||||
vt 0.020685 0.784491
|
||||
vt 0.020685 0.751887
|
||||
vt 0.342065 0.751887
|
||||
vt 0.020684 0.719284
|
||||
vt 0.342065 0.719284
|
||||
vt 0.020684 0.686681
|
||||
vt 0.020685 0.654078
|
||||
vt 0.342065 0.654078
|
||||
vt 0.020685 0.621475
|
||||
vt 0.020685 0.588872
|
||||
vt 0.342065 0.588872
|
||||
vt 0.020685 0.556269
|
||||
vt 0.342065 0.556269
|
||||
vt 0.020685 0.523666
|
||||
vt 0.342065 0.523666
|
||||
vt 0.020685 0.491063
|
||||
vt 0.342065 0.491063
|
||||
vt 0.020685 0.458460
|
||||
vt 0.342065 0.458460
|
||||
vt 0.020685 0.425857
|
||||
vt 0.342065 0.393253
|
||||
vt 0.342065 0.425856
|
||||
vt 0.392168 0.600797
|
||||
vt 0.473297 0.584659
|
||||
vt 0.489435 0.665789
|
||||
vt 0.719842 0.518681
|
||||
vt 0.738963 0.482686
|
||||
vt 0.760257 0.490897
|
||||
vt 0.720239 0.469639
|
||||
vt 0.705162 0.452506
|
||||
vt 0.693093 0.500041
|
||||
vt 0.656467 0.446663
|
||||
vt 0.694601 0.432274
|
||||
vt 0.689164 0.410109
|
||||
vt 0.689164 0.387287
|
||||
vt 0.648700 0.414999
|
||||
vt 0.656468 0.350732
|
||||
vt 0.694601 0.365122
|
||||
vt 0.671556 0.321830
|
||||
vt 0.705163 0.344890
|
||||
vt 0.720240 0.327758
|
||||
vt 0.738965 0.314710
|
||||
vt 0.693094 0.297355
|
||||
vt 0.750264 0.266986
|
||||
vt 0.760259 0.306500
|
||||
vt 0.782896 0.303598
|
||||
vt 0.805572 0.306174
|
||||
vt 0.782602 0.262841
|
||||
vt 0.814995 0.530878
|
||||
vt 0.805571 0.491224
|
||||
vt 0.826981 0.483321
|
||||
vt 0.782600 0.534556
|
||||
vt 0.782894 0.493799
|
||||
vt 0.750262 0.530411
|
||||
vt 0.645539 0.665789
|
||||
vt 0.564409 0.681926
|
||||
vt 0.629401 0.584659
|
||||
vt 0.562938 0.500042
|
||||
vt 0.535792 0.469639
|
||||
vt 0.550869 0.452506
|
||||
vt 0.517067 0.482686
|
||||
vt 0.495773 0.490898
|
||||
vt 0.536189 0.518681
|
||||
vt 0.473136 0.493799
|
||||
vt 0.505769 0.530411
|
||||
vt 0.429050 0.314077
|
||||
vt 0.410139 0.326853
|
||||
vt 0.383434 0.296062
|
||||
vt 0.450460 0.306173
|
||||
vt 0.410449 0.277810
|
||||
vt 0.473430 0.262841
|
||||
vt 0.473136 0.303598
|
||||
vt 0.495773 0.306500
|
||||
vt 0.536188 0.278716
|
||||
vt 0.517067 0.314711
|
||||
vt 0.562938 0.297355
|
||||
vt 0.535792 0.327758
|
||||
vt 0.550869 0.344891
|
||||
vt 0.561430 0.365122
|
||||
vt 0.584476 0.321830
|
||||
vt 0.607331 0.382397
|
||||
vt 0.566867 0.387287
|
||||
vt 0.607331 0.415000
|
||||
vt 0.566867 0.410109
|
||||
vt 0.561430 0.432275
|
||||
vt 0.599564 0.446664
|
||||
vt 0.020684 0.221472
|
||||
vt 0.718366 0.638011
|
||||
vt 0.703959 0.629693
|
||||
vt 0.695641 0.615286
|
||||
vt 0.695641 0.598650
|
||||
vt 0.703959 0.584243
|
||||
vt 0.735002 0.575925
|
||||
vt 0.757727 0.598650
|
||||
vt 0.757727 0.615286
|
||||
vt 0.749409 0.629693
|
||||
vt 0.342065 0.784490
|
||||
vt 0.342065 0.686681
|
||||
vt 0.342065 0.621475
|
||||
vt 0.473298 0.681926
|
||||
vt 0.452213 0.690660
|
||||
vt 0.429390 0.690660
|
||||
vt 0.408305 0.681926
|
||||
vt 0.392168 0.665789
|
||||
vt 0.383434 0.644704
|
||||
vt 0.383434 0.621882
|
||||
vt 0.408305 0.584659
|
||||
vt 0.429390 0.575925
|
||||
vt 0.452212 0.575925
|
||||
vt 0.489435 0.600797
|
||||
vt 0.498169 0.621882
|
||||
vt 0.498169 0.644704
|
||||
vt 0.671554 0.475566
|
||||
vt 0.648700 0.382396
|
||||
vt 0.719844 0.278715
|
||||
vt 0.814997 0.266520
|
||||
vt 0.845581 0.519588
|
||||
vt 0.548271 0.600797
|
||||
vt 0.564409 0.584659
|
||||
vt 0.585494 0.575925
|
||||
vt 0.608316 0.575925
|
||||
vt 0.645539 0.600797
|
||||
vt 0.654272 0.621882
|
||||
vt 0.654272 0.644704
|
||||
vt 0.629401 0.681926
|
||||
vt 0.608316 0.690660
|
||||
vt 0.585494 0.690660
|
||||
vt 0.548271 0.665789
|
||||
vt 0.539538 0.644704
|
||||
vt 0.539538 0.621882
|
||||
vt 0.584477 0.475566
|
||||
vt 0.473430 0.534556
|
||||
vt 0.441035 0.266520
|
||||
vt 0.505768 0.266986
|
||||
vt 0.599564 0.350733
|
||||
vn -0.258800 0.000000 0.965900
|
||||
vn -0.707100 0.000000 0.707100
|
||||
vn -0.965900 0.000000 0.258800
|
||||
vn -0.965900 -0.000000 -0.258800
|
||||
vn 0.707100 -0.000000 -0.707100
|
||||
vn -0.707100 -0.000000 -0.707100
|
||||
vn 0.965900 -0.000000 -0.258800
|
||||
vn 0.258800 -0.000000 -0.965900
|
||||
vn -0.258800 -0.000000 -0.965900
|
||||
vn 0.965900 0.000000 0.258800
|
||||
vn 0.707100 0.000000 0.707100
|
||||
vn 0.258800 0.000000 0.965900
|
||||
vn 0.000000 -1.000000 0.000000
|
||||
vn 0.000000 -0.195100 -0.980800
|
||||
vn 0.000000 -0.555600 -0.831500
|
||||
vn 0.000000 -0.831500 -0.555600
|
||||
vn 0.000000 -0.980800 -0.195100
|
||||
vn -0.000000 -0.980800 0.195100
|
||||
vn -0.000000 -0.831500 0.555600
|
||||
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.831500 0.555600
|
||||
vn -0.000000 0.980800 0.195100
|
||||
vn 0.000000 0.980800 -0.195100
|
||||
vn 0.000000 0.831500 -0.555600
|
||||
vn 0.000000 0.195100 -0.980800
|
||||
vn 0.000000 0.555600 -0.831500
|
||||
vn 1.000000 0.000000 0.000000
|
||||
vn 0.607600 -0.154900 -0.779000
|
||||
vn 0.607600 0.154900 -0.779000
|
||||
vn 0.607600 0.441300 -0.660400
|
||||
vn 0.607600 0.660400 -0.441300
|
||||
vn 0.607600 0.779000 -0.154900
|
||||
vn 0.607600 0.779000 0.154900
|
||||
vn 0.607600 0.660400 0.441300
|
||||
vn 0.607600 0.441300 0.660400
|
||||
vn 0.607600 0.154900 0.779000
|
||||
vn 0.607600 -0.154900 0.779000
|
||||
vn 0.607600 -0.441300 0.660400
|
||||
vn 0.607600 -0.660400 0.441300
|
||||
vn 0.607600 -0.779000 0.154900
|
||||
vn 0.607600 -0.779000 -0.154900
|
||||
vn 0.607600 -0.660400 -0.441300
|
||||
vn 0.607600 -0.441300 -0.660400
|
||||
vn -1.000000 0.000000 -0.000000
|
||||
vn -0.607600 -0.154900 -0.779000
|
||||
vn -0.607600 -0.441300 -0.660400
|
||||
vn -0.607600 -0.660400 -0.441300
|
||||
vn -0.607600 -0.779000 -0.154900
|
||||
vn -0.607600 -0.779000 0.154900
|
||||
vn -0.607600 -0.660400 0.441300
|
||||
vn -0.607600 -0.441300 0.660400
|
||||
vn -0.607600 -0.154900 0.779000
|
||||
vn -0.607600 0.154900 0.779000
|
||||
vn -0.607600 0.441300 0.660400
|
||||
vn -0.607600 0.660400 0.441300
|
||||
vn -0.607600 0.779000 0.154900
|
||||
vn -0.607600 0.779000 -0.154900
|
||||
vn -0.607600 0.660400 -0.441300
|
||||
vn -0.607600 0.441300 -0.660400
|
||||
vn -0.607600 0.154900 -0.779000
|
||||
vn 0.607600 0.779000 -0.155000
|
||||
vn 0.607600 0.779000 0.155000
|
||||
vn 0.607600 -0.155000 0.779000
|
||||
vn -0.607600 -0.779000 0.155000
|
||||
s off
|
||||
f 27/1/1 22/2/1 24/3/1
|
||||
f 29/4/2 20/5/2 22/2/2
|
||||
f 29/4/3 31/6/3 18/7/3
|
||||
f 33/8/4 16/9/4 18/7/4
|
||||
f 17/10/5 32/11/5 34/12/5
|
||||
f 35/13/6 14/14/6 16/9/6
|
||||
f 19/15/7 30/16/7 32/11/7
|
||||
f 15/17/8 34/12/8 36/18/8
|
||||
f 13/19/9 36/18/9 14/14/9
|
||||
f 21/20/10 28/21/10 30/16/10
|
||||
f 21/20/11 23/22/11 26/23/11
|
||||
f 25/24/12 24/25/12 26/23/12
|
||||
f 26/26/13 22/27/13 14/28/13
|
||||
f 38/29/14 40/30/14 39/31/14
|
||||
f 40/30/15 42/32/15 41/33/15
|
||||
f 42/32/16 44/34/16 43/35/16
|
||||
f 44/34/17 46/36/17 45/37/17
|
||||
f 46/38/18 48/39/18 47/40/18
|
||||
f 47/40/19 48/39/19 50/41/19
|
||||
f 49/42/20 50/41/20 52/43/20
|
||||
f 52/43/21 54/44/21 53/45/21
|
||||
f 53/45/22 54/44/22 56/46/22
|
||||
f 56/46/23 58/47/23 57/48/23
|
||||
f 58/47/24 60/49/24 59/50/24
|
||||
f 60/49/25 62/51/25 61/52/25
|
||||
f 62/51/26 64/53/26 63/54/26
|
||||
f 64/53/27 66/55/27 65/56/27
|
||||
f 68/57/28 38/29/28 37/58/28
|
||||
f 66/55/29 68/57/29 67/59/29
|
||||
f 76/60/30 80/61/30 84/62/30
|
||||
f 38/63/31 70/64/31 69/65/31
|
||||
f 71/66/32 70/64/32 38/63/32
|
||||
f 72/67/33 71/66/33 68/68/33
|
||||
f 64/69/34 73/70/34 72/67/34
|
||||
f 74/71/35 73/70/35 64/69/35
|
||||
f 75/72/36 74/71/36 62/73/36
|
||||
f 58/74/37 76/75/37 75/72/37
|
||||
f 56/76/38 77/77/38 76/75/38
|
||||
f 78/78/39 77/77/39 56/76/39
|
||||
f 79/79/40 78/78/40 54/80/40
|
||||
f 50/81/41 80/82/41 79/79/41
|
||||
f 81/83/42 80/82/42 50/81/42
|
||||
f 82/84/43 81/83/43 48/85/43
|
||||
f 44/86/44 83/87/44 82/88/44
|
||||
f 42/89/45 84/90/45 83/87/45
|
||||
f 40/91/46 69/65/46 84/90/46
|
||||
f 92/92/47 96/93/47 88/94/47
|
||||
f 39/95/48 86/96/48 85/97/48
|
||||
f 87/98/49 86/96/49 39/95/49
|
||||
f 88/99/50 87/98/50 41/100/50
|
||||
f 89/101/51 88/99/51 43/102/51
|
||||
f 90/103/52 89/104/52 45/105/52
|
||||
f 91/106/53 90/103/53 47/107/53
|
||||
f 51/108/54 92/109/54 91/106/54
|
||||
f 93/110/55 92/109/55 51/108/55
|
||||
f 55/111/56 94/112/56 93/110/56
|
||||
f 57/113/57 95/114/57 94/112/57
|
||||
f 96/115/58 95/114/58 57/113/58
|
||||
f 97/116/59 96/115/59 59/117/59
|
||||
f 63/118/60 98/119/60 97/116/60
|
||||
f 65/120/61 99/121/61 98/119/61
|
||||
f 100/122/62 99/121/62 65/120/62
|
||||
f 85/97/63 100/122/63 67/123/63
|
||||
f 25/124/1 27/1/1 24/3/1
|
||||
f 27/1/2 29/4/2 22/2/2
|
||||
f 20/5/3 29/4/3 18/7/3
|
||||
f 31/6/4 33/8/4 18/7/4
|
||||
f 15/17/5 17/10/5 34/12/5
|
||||
f 33/8/6 35/13/6 16/9/6
|
||||
f 17/10/7 19/15/7 32/11/7
|
||||
f 13/19/8 15/17/8 36/18/8
|
||||
f 35/13/9 13/19/9 14/14/9
|
||||
f 19/15/10 21/20/10 30/16/10
|
||||
f 28/21/11 21/20/11 26/23/11
|
||||
f 23/22/12 25/24/12 26/23/12
|
||||
f 14/28/13 36/125/13 34/126/13
|
||||
f 34/126/13 32/127/13 14/28/13
|
||||
f 30/128/13 28/129/13 26/26/13
|
||||
f 26/26/13 24/130/13 22/27/13
|
||||
f 22/27/13 20/131/13 18/132/13
|
||||
f 18/132/13 16/133/13 22/27/13
|
||||
f 14/28/13 32/127/13 30/128/13
|
||||
f 30/128/13 26/26/13 14/28/13
|
||||
f 22/27/13 16/133/13 14/28/13
|
||||
f 37/58/14 38/29/14 39/31/14
|
||||
f 39/31/15 40/30/15 41/33/15
|
||||
f 41/33/16 42/32/16 43/35/16
|
||||
f 43/35/17 44/34/17 45/37/17
|
||||
f 45/134/18 46/38/18 47/40/18
|
||||
f 49/42/19 47/40/19 50/41/19
|
||||
f 51/135/20 49/42/20 52/43/20
|
||||
f 51/135/21 52/43/21 53/45/21
|
||||
f 55/136/22 53/45/22 56/46/22
|
||||
f 55/136/23 56/46/23 57/48/23
|
||||
f 57/48/24 58/47/24 59/50/24
|
||||
f 59/50/25 60/49/25 61/52/25
|
||||
f 61/52/26 62/51/26 63/54/26
|
||||
f 63/54/27 64/53/27 65/56/27
|
||||
f 67/59/28 68/57/28 37/58/28
|
||||
f 65/56/29 66/55/29 67/59/29
|
||||
f 84/62/30 69/137/30 70/138/30
|
||||
f 70/138/30 71/139/30 72/140/30
|
||||
f 72/140/30 73/141/30 74/142/30
|
||||
f 74/142/30 75/143/30 72/140/30
|
||||
f 76/60/30 77/144/30 80/61/30
|
||||
f 78/145/30 79/146/30 80/61/30
|
||||
f 80/61/30 81/147/30 84/62/30
|
||||
f 82/148/30 83/149/30 84/62/30
|
||||
f 84/62/30 70/138/30 72/140/30
|
||||
f 72/140/30 75/143/30 76/60/30
|
||||
f 77/144/30 78/145/30 80/61/30
|
||||
f 81/147/30 82/148/30 84/62/30
|
||||
f 84/62/30 72/140/30 76/60/30
|
||||
f 40/91/31 38/63/31 69/65/31
|
||||
f 68/68/32 71/66/32 38/63/32
|
||||
f 66/150/33 72/67/33 68/68/33
|
||||
f 66/150/34 64/69/34 72/67/34
|
||||
f 62/73/64 74/71/64 64/69/64
|
||||
f 60/151/65 75/72/65 62/73/65
|
||||
f 60/151/37 58/74/37 75/72/37
|
||||
f 58/74/38 56/76/38 76/75/38
|
||||
f 54/80/39 78/78/39 56/76/39
|
||||
f 52/152/66 79/79/66 54/80/66
|
||||
f 52/152/41 50/81/41 79/79/41
|
||||
f 48/85/42 81/83/42 50/81/42
|
||||
f 46/153/43 82/84/43 48/85/43
|
||||
f 46/154/44 44/86/44 82/88/44
|
||||
f 44/86/45 42/89/45 83/87/45
|
||||
f 42/89/46 40/91/46 84/90/46
|
||||
f 100/155/47 85/156/47 86/157/47
|
||||
f 86/157/47 87/158/47 100/155/47
|
||||
f 88/94/47 89/159/47 90/160/47
|
||||
f 90/160/47 91/161/47 88/94/47
|
||||
f 92/92/47 93/162/47 96/93/47
|
||||
f 94/163/47 95/164/47 96/93/47
|
||||
f 96/93/47 97/165/47 98/166/47
|
||||
f 98/166/47 99/167/47 100/155/47
|
||||
f 100/155/47 87/158/47 88/94/47
|
||||
f 88/94/47 91/161/47 92/92/47
|
||||
f 93/162/47 94/163/47 96/93/47
|
||||
f 96/93/47 98/166/47 100/155/47
|
||||
f 100/155/47 88/94/47 96/93/47
|
||||
f 37/168/48 39/95/48 85/97/48
|
||||
f 41/100/49 87/98/49 39/95/49
|
||||
f 43/102/50 88/99/50 41/100/50
|
||||
f 45/169/51 89/101/51 43/102/51
|
||||
f 47/107/67 90/103/67 45/105/67
|
||||
f 49/170/53 91/106/53 47/107/53
|
||||
f 49/170/54 51/108/54 91/106/54
|
||||
f 53/171/55 93/110/55 51/108/55
|
||||
f 53/171/56 55/111/56 93/110/56
|
||||
f 55/111/57 57/113/57 94/112/57
|
||||
f 59/117/58 96/115/58 57/113/58
|
||||
f 61/172/59 97/116/59 59/117/59
|
||||
f 61/172/60 63/118/60 97/116/60
|
||||
f 63/118/61 65/120/61 98/119/61
|
||||
f 67/123/62 100/122/62 65/120/62
|
||||
f 37/168/63 85/97/63 67/123/63
|
||||
BIN
assets/hbm/textures/blocks/machine_pumpjack.png
Normal file
|
After Width: | Height: | Size: 373 B |
BIN
assets/hbm/textures/blocks/machine_turbofan.png
Normal file
|
After Width: | Height: | Size: 317 B |
BIN
assets/hbm/textures/items/entanglement_kit.jpg
Normal file
|
After Width: | Height: | Size: 998 B |
BIN
assets/hbm/textures/items/glitch_1.png
Normal file
|
After Width: | Height: | Size: 688 B |
BIN
assets/hbm/textures/items/glitch_2.png
Normal file
|
After Width: | Height: | Size: 573 B |
BIN
assets/hbm/textures/items/glitch_3.png
Normal file
|
After Width: | Height: | Size: 654 B |
BIN
assets/hbm/textures/items/glitch_4.png
Normal file
|
After Width: | Height: | Size: 768 B |
BIN
assets/hbm/textures/items/glitch_5.png
Normal file
|
After Width: | Height: | Size: 761 B |
BIN
assets/hbm/textures/items/glitch_6.png
Normal file
|
After Width: | Height: | Size: 583 B |
BIN
assets/hbm/textures/items/glitch_7.png
Normal file
|
After Width: | Height: | Size: 582 B |
BIN
assets/hbm/textures/items/glitch_8.png
Normal file
|
After Width: | Height: | Size: 602 B |
BIN
assets/hbm/textures/items/glitch_9.png
Normal file
|
After Width: | Height: | Size: 765 B |
BIN
assets/hbm/textures/items/meteor_remote.png
Normal file
|
After Width: | Height: | Size: 264 B |
BIN
assets/hbm/textures/items/void.png
Normal file
|
After Width: | Height: | Size: 837 B |
BIN
assets/hbm/textures/items/void_anim.png
Normal file
|
After Width: | Height: | Size: 2.5 KiB |
3
assets/hbm/textures/items/void_anim.png.mcmeta
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"animation": {}
|
||||
}
|
||||
BIN
assets/hbm/textures/models/shimmer_sledge.png
Normal file
|
After Width: | Height: | Size: 244 B |
BIN
assets/hbm/textures/models/shimmer_sledge_wf.png
Normal file
|
After Width: | Height: | Size: 74 KiB |
@ -160,6 +160,7 @@ public class ModBlocks {
|
||||
public static Block red_barrel;
|
||||
public static Block yellow_barrel;
|
||||
public static Block crashed_balefire;
|
||||
public static Block rejuvinator;
|
||||
|
||||
public static Block crate;
|
||||
|
||||
@ -582,6 +583,7 @@ public class ModBlocks {
|
||||
red_barrel = new RedBarrel(Material.iron).setBlockName("red_barrel").setCreativeTab(MainRegistry.tabNuke).setHardness(0.5F).setResistance(2.5F);
|
||||
yellow_barrel = new YellowBarrel(Material.iron).setBlockName("yellow_barrel").setCreativeTab(MainRegistry.tabNuke).setHardness(0.5F).setResistance(2.5F);
|
||||
crashed_balefire = new BlockCrashedBomb(Material.iron).setBlockName("crashed_bomb").setCreativeTab(MainRegistry.tabNuke).setBlockUnbreakable().setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":crashed_balefire");
|
||||
rejuvinator = new BombRejuvinator(Material.iron).setBlockName("rejuvinator").setCreativeTab(MainRegistry.tabNuke).setBlockUnbreakable().setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":inserter_side");
|
||||
|
||||
machine_difurnace_off = new MachineDiFurnace(false).setBlockName("machine_difurnace_off").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabBlock);
|
||||
machine_difurnace_on = new MachineDiFurnace(true).setBlockName("machine_difurnace_on").setHardness(5.0F).setLightLevel(1.0F).setResistance(10.0F);
|
||||
@ -717,7 +719,7 @@ public class ModBlocks {
|
||||
machine_chemplant = new MachineChemplant(Material.iron).setBlockName("machine_chemplant").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.tabBlock).setBlockTextureName(RefStrings.MODID + ":machine_chemplant");
|
||||
machine_fluidtank = new MachineFluidTank(Material.iron).setBlockName("machine_fluidtank").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.tabBlock).setBlockTextureName(RefStrings.MODID + ":machine_fluidtank");
|
||||
machine_turbofan = new MachineTurbofan(Material.iron).setBlockName("machine_turbofan").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabBlock).setBlockTextureName(RefStrings.MODID + ":machine_turbofan");
|
||||
machine_inserter = new MachineInserter(Material.iron).setBlockName("machine_inserter").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabBlock).setBlockTextureName(RefStrings.MODID + ":inserter_side");
|
||||
machine_inserter = new BombRejuvinator(Material.iron).setBlockName("machine_inserter").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabBlock).setBlockTextureName(RefStrings.MODID + ":inserter_side");
|
||||
|
||||
machine_schrabidium_transmutator = new MachineSchrabidiumTransmutator(Material.iron).setBlockName("machine_schrabidium_transmutator").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.tabBlock);
|
||||
|
||||
@ -926,6 +928,7 @@ public class ModBlocks {
|
||||
GameRegistry.registerBlock(float_bomb, float_bomb.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(therm_endo, therm_endo.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(therm_exo, therm_exo.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(rejuvinator, rejuvinator.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(det_cord, det_cord.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(det_charge, det_charge.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(red_barrel, red_barrel.getUnlocalizedName());
|
||||
|
||||
@ -9,8 +9,6 @@ import net.minecraft.world.World;
|
||||
|
||||
public class BombFlameWar extends Block implements IBomb {
|
||||
|
||||
public World worldObj;
|
||||
|
||||
public BombFlameWar(Material p_i45394_1_) {
|
||||
super(p_i45394_1_);
|
||||
}
|
||||
@ -18,7 +16,6 @@ public class BombFlameWar extends Block implements IBomb {
|
||||
@Override
|
||||
public void onNeighborBlockChange(World p_149695_1_, int x, int y, int z, Block p_149695_5_)
|
||||
{
|
||||
this.worldObj = p_149695_1_;
|
||||
if (p_149695_1_.isBlockIndirectlyGettingPowered(x, y, z))
|
||||
{
|
||||
ExplosionChaos.explode(p_149695_1_, x, y, z, 15);
|
||||
|
||||
109
com/hbm/blocks/bomb/BombRejuvinator.java
Normal file
@ -0,0 +1,109 @@
|
||||
package com.hbm.blocks.bomb;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.explosion.ExplosionChaos;
|
||||
import com.hbm.interfaces.IBomb;
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineInserter;
|
||||
import com.hbm.tileentity.machine.TileEntityNukeFurnace;
|
||||
|
||||
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.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.IIcon;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.WorldServer;
|
||||
import net.minecraft.world.chunk.Chunk;
|
||||
import net.minecraft.world.chunk.IChunkProvider;
|
||||
import net.minecraft.world.gen.ChunkProviderServer;
|
||||
|
||||
public class BombRejuvinator extends Block implements IBomb {
|
||||
|
||||
private final Random field_149933_a = new Random();
|
||||
private Random rand;
|
||||
private static boolean keepInventory;
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
private IIcon iconTop;
|
||||
|
||||
public BombRejuvinator(Material p_i45394_1_) {
|
||||
super(p_i45394_1_);
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerBlockIcons(IIconRegister iconRegister) {
|
||||
|
||||
this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":inserter_top");
|
||||
this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":inserter_side");
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public IIcon getIcon(int side, int metadata) {
|
||||
return side == 1 ? this.iconTop : (side == 0 ? this.iconTop : this.blockIcon);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNeighborBlockChange(World world, int x, int y, int z, Block p_149695_5_) {
|
||||
if (world.isBlockIndirectlyGettingPowered(x, y, z)) {
|
||||
explode(world, x, y, z);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void explode(World worldObj, int x1, int y1, int z1) {
|
||||
if (!worldObj.isRemote) {
|
||||
worldObj.setBlockToAir(x1, y1, z1);
|
||||
try {
|
||||
Chunk oldChunk = worldObj.getChunkFromBlockCoords(x1, z1);
|
||||
|
||||
if (worldObj instanceof WorldServer) {
|
||||
WorldServer worldServer = (WorldServer) worldObj;
|
||||
ChunkProviderServer chunkProviderServer = worldServer.theChunkProviderServer;
|
||||
IChunkProvider chunkProviderGenerate = chunkProviderServer.currentChunkProvider;
|
||||
|
||||
Chunk newChunk = chunkProviderGenerate.provideChunk(oldChunk.xPosition, oldChunk.zPosition);
|
||||
|
||||
for (int x = 0; x < 16; x++) {
|
||||
for (int z = 0; z < 16; z++) {
|
||||
for (int y = 0; y < worldObj.getHeight(); y++) {
|
||||
Block block = newChunk.getBlock(x, y, z);
|
||||
int metadata = newChunk.getBlockMetadata(x, y, z);
|
||||
|
||||
worldServer.setBlock(x + oldChunk.xPosition * 16, y, z + oldChunk.zPosition * 16, block,
|
||||
metadata, 2);
|
||||
|
||||
TileEntity tileEntity = newChunk.getTileEntityUnsafe(x, y, z);
|
||||
|
||||
if (tileEntity != null) {
|
||||
worldServer.setTileEntity(x + oldChunk.xPosition * 16, y,
|
||||
z + oldChunk.zPosition * 16, tileEntity);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
oldChunk.isTerrainPopulated = false;
|
||||
chunkProviderGenerate.populate(chunkProviderGenerate, oldChunk.xPosition, oldChunk.zPosition);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
System.out.println("Rejuvenation Failed!");
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@ -148,6 +148,16 @@ public class TestEventTester extends Block {
|
||||
}*/
|
||||
|
||||
|
||||
/*if(!worldObj.isRemote) {
|
||||
EntityMeteor met = new EntityMeteor(worldObj);
|
||||
met.posX = x1;
|
||||
met.posY = 300;
|
||||
met.posZ = z1;
|
||||
worldObj.spawnEntityInWorld(met);
|
||||
worldObj.setBlockToAir(x1, y1, z1);
|
||||
}*/
|
||||
|
||||
|
||||
if(!worldObj.isRemote) {
|
||||
ModEventHandler.meteorShower = 6000;
|
||||
}
|
||||
|
||||
63
com/hbm/entity/projectile/EntityLaser.java
Normal file
@ -0,0 +1,63 @@
|
||||
package com.hbm.entity.projectile;
|
||||
|
||||
import com.hbm.main.MainRegistry;
|
||||
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.util.Vec3;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class EntityLaser extends Entity {
|
||||
|
||||
public EntityLaser(World world) {
|
||||
super(world);
|
||||
this.ignoreFrustumCheck = true;
|
||||
}
|
||||
|
||||
public EntityLaser(World world, EntityPlayer player) {
|
||||
super(world);
|
||||
this.ignoreFrustumCheck = true;
|
||||
Vec3 vec1 = player.getLook(1.0F);
|
||||
vec1.rotateAroundY(-90);
|
||||
Vec3 vec2 = player.getLook(1.0F);
|
||||
double x = player.posX + (vec1.xCoord * 0.3) + (vec2.xCoord * 0.4);
|
||||
double y = player.posY + (vec1.yCoord * 0.3) + (vec2.yCoord * 0.4) + player.eyeHeight;
|
||||
double z = player.posZ + (vec1.zCoord * 0.3) + (vec2.zCoord * 0.4);
|
||||
this.setPlayerCoord((float)x, (float)y, (float)z);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void entityInit() {
|
||||
this.dataWatcher.addObject(20, Float.valueOf((float)0));
|
||||
this.dataWatcher.addObject(21, Float.valueOf((float)0));
|
||||
this.dataWatcher.addObject(22, Float.valueOf((float)0));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUpdate() {
|
||||
if(!worldObj.isRemote && this.ticksExisted > 1)
|
||||
this.setDead();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void readEntityFromNBT(NBTTagCompound p_70037_1_) {
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void writeEntityToNBT(NBTTagCompound p_70014_1_) {
|
||||
}
|
||||
|
||||
private void setPlayerCoord(float x, float y, float z) {
|
||||
this.dataWatcher.updateObject(20, x);
|
||||
this.dataWatcher.updateObject(21, y);
|
||||
this.dataWatcher.updateObject(22, z);
|
||||
}
|
||||
|
||||
public float[] getPlayerCoord() {
|
||||
return new float[]{ this.dataWatcher.getWatchableObjectFloat(20),
|
||||
this.dataWatcher.getWatchableObjectFloat(21),
|
||||
this.dataWatcher.getWatchableObjectFloat(22) };
|
||||
}
|
||||
|
||||
}
|
||||
@ -23,7 +23,7 @@ public class FuelHandler implements IFuelHandler {
|
||||
if(fuel.getItem().equals(ModItems.powder_fire))
|
||||
return 6400;
|
||||
if(fuel.getItem().equals(Item.getItemFromBlock(ModBlocks.block_scrap)))
|
||||
return 8000;
|
||||
return 4000;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -1462,8 +1462,9 @@ public class MachineRecipes {
|
||||
switch(ItemAssemblyTemplate.EnumAssemblyTemplate.getEnum(stack.getItemDamage())) {
|
||||
case SCHRABIDIUM_HAMMER:
|
||||
list.add(new ItemStack(ModBlocks.block_schrabidium, 15));
|
||||
list.add(new ItemStack(ModItems.ingot_polymer, 128));
|
||||
list.add(new ItemStack(Items.nether_star, 2));
|
||||
list.add(new ItemStack(ModItems.ingot_polymer, 64*2));
|
||||
list.add(new ItemStack(Items.nether_star, 3));
|
||||
list.add(new ItemStack(ModItems.fragment_meteorite, 64*8));
|
||||
break;
|
||||
case MIXED_PLATE:
|
||||
list.add(new ItemStack(ModItems.plate_advanced_alloy, 2));
|
||||
@ -1964,6 +1965,9 @@ public class MachineRecipes {
|
||||
case ANGRY_METAL:
|
||||
list.add(new ItemStack(ModBlocks.block_meteor, 1));
|
||||
break;
|
||||
case METEOR_BLOCK:
|
||||
list.add(new ItemStack(ModItems.fragment_meteorite, 100));
|
||||
break;
|
||||
case CMB_TILE:
|
||||
list.add(new ItemStack(ModItems.ingot_combine_steel, 1));
|
||||
list.add(new ItemStack(ModItems.plate_combine_steel, 8));
|
||||
@ -3071,6 +3075,9 @@ public class MachineRecipes {
|
||||
case ANGRY_METAL:
|
||||
output = new ItemStack(ModItems.plate_dalekanium, 1);
|
||||
break;
|
||||
case METEOR_BLOCK:
|
||||
output = new ItemStack(ModBlocks.block_meteor, 1);
|
||||
break;
|
||||
case CMB_TILE:
|
||||
output = new ItemStack(ModBlocks.cmb_brick, 8);
|
||||
break;
|
||||
|
||||
@ -934,6 +934,7 @@ public class ModItems {
|
||||
public static Item igniter;
|
||||
public static Item detonator;
|
||||
public static Item crate_caller;
|
||||
public static Item meteor_remote;
|
||||
public static Item remote;
|
||||
public static Item turret_control;
|
||||
public static Item turret_chip;
|
||||
@ -954,6 +955,7 @@ public class ModItems {
|
||||
public static Item record_vc;
|
||||
|
||||
public static Item polaroid;
|
||||
public static Item glitch;
|
||||
public static Item letter;
|
||||
public static Item book_secret;
|
||||
public static Item burnt_bark;
|
||||
@ -1030,6 +1032,7 @@ public class ModItems {
|
||||
public static Item ln2_9;
|
||||
public static Item ln2_10;
|
||||
public static Item nothing;
|
||||
public static Item void_anim;
|
||||
|
||||
public static final int guiID_item_folder = 99;
|
||||
|
||||
@ -1606,7 +1609,7 @@ public class ModItems {
|
||||
gun_euthanasia_ammo = new Item().setUnlocalizedName("gun_euthanasia_ammo").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":gun_euthanasia_ammo");
|
||||
gun_euthanasia = new GunEuthanasia().setUnlocalizedName("gun_euthanasia").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":gun_euthanasia");
|
||||
gun_dash_ammo = new Item().setUnlocalizedName("gun_dash_ammo").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":gun_dash_ammo");
|
||||
gun_dash = new GunEuthanasia().setUnlocalizedName("gun_dash").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":gun_dash");
|
||||
gun_dash = new GunDash().setUnlocalizedName("gun_dash").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":gun_dash");
|
||||
gun_twigun_ammo = new Item().setUnlocalizedName("gun_twigun_ammo").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":gun_twigun_ammo");
|
||||
gun_twigun = new GunEuthanasia().setUnlocalizedName("gun_twigun").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":gun_twigun");
|
||||
gun_defabricator_ammo = new Item().setUnlocalizedName("gun_defabricator_ammo").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":gun_defabricator_ammo");
|
||||
@ -1776,6 +1779,7 @@ public class ModItems {
|
||||
igniter = new ItemCustomLore().setUnlocalizedName("igniter").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":trigger");
|
||||
detonator = new ItemDetonator().setUnlocalizedName("detonator").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":detonator");
|
||||
crate_caller = new ItemCrateCaller().setUnlocalizedName("crate_caller").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":crate_caller");
|
||||
meteor_remote = new ItemMeteorRemote().setUnlocalizedName("meteor_remote").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":meteor_remote");
|
||||
remote = new ItemRamManipulator().setUnlocalizedName("remote").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":remote");
|
||||
chopper = new ItemChopper().setUnlocalizedName("chopper").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":chopper");
|
||||
linker = new ItemTeleLink().setUnlocalizedName("linker").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":linker");
|
||||
@ -1944,6 +1948,7 @@ public class ModItems {
|
||||
record_vc = new ItemModRecord("vc").setUnlocalizedName("record_vc").setCreativeTab(CreativeTabs.tabMisc).setTextureName(RefStrings.MODID + ":record_vc");
|
||||
|
||||
polaroid = new ItemPolaroid().setUnlocalizedName("polaroid").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":polaroid_" + MainRegistry.polaroidID);
|
||||
glitch = new ItemPolaroid().setUnlocalizedName("glitch").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":glitch_" + MainRegistry.polaroidID);
|
||||
letter = new ItemStarterKit().setUnlocalizedName("letter").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":letter");
|
||||
book_secret = new ItemCustomLore().setUnlocalizedName("book_secret").setCreativeTab(MainRegistry.polaroidID == 11 ? MainRegistry.tabNuke : null).setTextureName(RefStrings.MODID + ":book_secret");
|
||||
burnt_bark = new ItemCustomLore().setUnlocalizedName("burnt_bark").setCreativeTab(null).setTextureName(RefStrings.MODID + ":burnt_bark");
|
||||
@ -2020,6 +2025,7 @@ public class ModItems {
|
||||
ln2_9 = new Item().setUnlocalizedName("ln2_9").setTextureName(RefStrings.MODID + ":ln2_9");
|
||||
ln2_10 = new Item().setUnlocalizedName("ln2_10").setTextureName(RefStrings.MODID + ":ln2_10");
|
||||
nothing = new Item().setUnlocalizedName("nothing").setTextureName(RefStrings.MODID + ":nothing");
|
||||
void_anim = new Item().setUnlocalizedName("void_anim").setTextureName(RefStrings.MODID + ":void_anim");
|
||||
|
||||
FluidContainerRegistry.registerFluidContainer(new FluidStack(ModBlocks.mud_fluid, 1000), new ItemStack(ModItems.bucket_mud));
|
||||
FluidContainerRegistry.registerFluidContainer(new FluidStack(ModBlocks.acid_fluid, 1000), new ItemStack(ModItems.bucket_acid));
|
||||
@ -2946,6 +2952,7 @@ public class ModItems {
|
||||
GameRegistry.registerItem(igniter, igniter.getUnlocalizedName());
|
||||
GameRegistry.registerItem(detonator, detonator.getUnlocalizedName());
|
||||
GameRegistry.registerItem(crate_caller, crate_caller.getUnlocalizedName());
|
||||
GameRegistry.registerItem(meteor_remote, meteor_remote.getUnlocalizedName());
|
||||
GameRegistry.registerItem(hazmat_helmet, hazmat_helmet.getUnlocalizedName());
|
||||
GameRegistry.registerItem(hazmat_plate, hazmat_plate.getUnlocalizedName());
|
||||
GameRegistry.registerItem(hazmat_legs, hazmat_legs.getUnlocalizedName());
|
||||
@ -2994,6 +3001,7 @@ public class ModItems {
|
||||
//GameRegistry.registerItem(remote, remote.getUnlocalizedName());
|
||||
GameRegistry.registerItem(euphemium_stopper, euphemium_stopper.getUnlocalizedName());
|
||||
GameRegistry.registerItem(polaroid, polaroid.getUnlocalizedName());
|
||||
GameRegistry.registerItem(glitch, glitch.getUnlocalizedName());
|
||||
GameRegistry.registerItem(book_secret, book_secret.getUnlocalizedName());
|
||||
GameRegistry.registerItem(burnt_bark, burnt_bark.getUnlocalizedName());
|
||||
|
||||
@ -3099,5 +3107,6 @@ public class ModItems {
|
||||
GameRegistry.registerItem(ln2_9, ln2_9.getUnlocalizedName());
|
||||
GameRegistry.registerItem(ln2_10, ln2_10.getUnlocalizedName());
|
||||
GameRegistry.registerItem(nothing, nothing.getUnlocalizedName());
|
||||
GameRegistry.registerItem(void_anim, void_anim.getUnlocalizedName());
|
||||
}
|
||||
}
|
||||
|
||||
@ -4,6 +4,7 @@ import java.util.Random;
|
||||
|
||||
import com.hbm.blocks.bomb.BlockCrashedBomb;
|
||||
import com.hbm.entity.logic.EntityNukeExplosionAdvanced;
|
||||
import com.hbm.entity.logic.EntityNukeExplosionMK3;
|
||||
import com.hbm.explosion.ExplosionParticleB;
|
||||
import com.hbm.items.ModItems;
|
||||
|
||||
@ -25,7 +26,7 @@ public class ItemCell extends Item {
|
||||
{
|
||||
if (!world.isRemote)
|
||||
{
|
||||
EntityNukeExplosionAdvanced entity0 = new EntityNukeExplosionAdvanced(world);
|
||||
EntityNukeExplosionMK3 entity0 = new EntityNukeExplosionMK3(world);
|
||||
entity0.posX = p_77648_4_;
|
||||
entity0.posY = p_77648_5_;
|
||||
entity0.posZ = p_77648_6_;
|
||||
|
||||
@ -106,6 +106,7 @@ public class ItemAssemblyTemplate extends Item {
|
||||
THERMO_ELEMENT,
|
||||
LIMITER,
|
||||
ANGRY_METAL,
|
||||
METEOR_BLOCK,
|
||||
CMB_TILE,
|
||||
CMB_BRICKS,
|
||||
HATCH_FRAME,
|
||||
@ -469,6 +470,8 @@ public class ItemAssemblyTemplate extends Item {
|
||||
return 150;
|
||||
case ANGRY_METAL:
|
||||
return 50;
|
||||
case METEOR_BLOCK:
|
||||
return 500;
|
||||
case CMB_TILE:
|
||||
return 100;
|
||||
case CMB_BRICKS:
|
||||
|
||||
59
com/hbm/items/tool/ItemMeteorRemote.java
Normal file
@ -0,0 +1,59 @@
|
||||
package com.hbm.items.tool;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.entity.projectile.EntityMeteor;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.ChatComponentText;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class ItemMeteorRemote extends Item {
|
||||
|
||||
Random rand = new Random();
|
||||
|
||||
public ItemMeteorRemote() {
|
||||
this.canRepair = false;
|
||||
this.setMaxDamage(2);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool)
|
||||
{
|
||||
list.add("Right click to summon a meteorite!");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) {
|
||||
|
||||
stack.damageItem(1, player);
|
||||
|
||||
if(!world.isRemote)
|
||||
{
|
||||
EntityMeteor meteor = new EntityMeteor(world);
|
||||
meteor.posX = player.posX + world.rand.nextInt(201) - 100;
|
||||
meteor.posY = 384;
|
||||
meteor.posZ = player.posZ + world.rand.nextInt(201) - 100;
|
||||
meteor.motionX = world.rand.nextDouble() - 0.5;
|
||||
meteor.motionY = -2.5;
|
||||
meteor.motionZ = world.rand.nextDouble() - 0.5;
|
||||
world.spawnEntityInWorld(meteor);
|
||||
}
|
||||
if(world.isRemote)
|
||||
{
|
||||
player.addChatMessage(new ChatComponentText("Watch your head!"));
|
||||
}
|
||||
|
||||
world.playSoundAtEntity(player, "hbm:item.techBleep", 1.0F, 1.0F);
|
||||
|
||||
player.swingItem();
|
||||
|
||||
return stack;
|
||||
|
||||
}
|
||||
}
|
||||
102
com/hbm/items/weapon/GunDash.java
Normal file
@ -0,0 +1,102 @@
|
||||
package com.hbm.items.weapon;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
|
||||
import com.google.common.collect.Multimap;
|
||||
import com.hbm.entity.projectile.EntityBullet;
|
||||
import com.hbm.entity.projectile.EntityLaser;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.lib.Library;
|
||||
|
||||
import net.minecraft.enchantment.Enchantment;
|
||||
import net.minecraft.enchantment.EnchantmentHelper;
|
||||
import net.minecraft.entity.SharedMonsterAttributes;
|
||||
import net.minecraft.entity.ai.attributes.AttributeModifier;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.EnumAction;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.MovingObjectPosition;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.event.entity.player.ArrowNockEvent;
|
||||
|
||||
public class GunDash extends Item {
|
||||
|
||||
Random rand = new Random();
|
||||
|
||||
public GunDash()
|
||||
{
|
||||
this.maxStackSize = 1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumAction getItemUseAction(ItemStack par1ItemStack) {
|
||||
return EnumAction.bow;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxItemUseDuration(ItemStack p_77626_1_) {
|
||||
return 72000;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack onItemRightClick(ItemStack p_77659_1_, World p_77659_2_, EntityPlayer p_77659_3_) {
|
||||
ArrowNockEvent event = new ArrowNockEvent(p_77659_3_, p_77659_1_);
|
||||
{
|
||||
p_77659_3_.setItemInUse(p_77659_1_, this.getMaxItemUseDuration(p_77659_1_));
|
||||
}
|
||||
|
||||
return p_77659_1_;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUsingTick(ItemStack stack, EntityPlayer player, int count)
|
||||
{
|
||||
World world = player.worldObj;
|
||||
|
||||
boolean flag = player.capabilities.isCreativeMode
|
||||
|| EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, stack) > 0;
|
||||
if ((player.capabilities.isCreativeMode || player.inventory.hasItem(ModItems.gun_dash_ammo))
|
||||
&& count % 2 == 0) {
|
||||
|
||||
EntityLaser laser = new EntityLaser(world, player);
|
||||
MovingObjectPosition pos = Library.rayTrace(player, 200, 1.0F);
|
||||
laser.posX = pos.blockX + 0.5;
|
||||
laser.posY = pos.blockY + 0.5;
|
||||
laser.posZ = pos.blockZ + 0.5;
|
||||
|
||||
world.playSoundAtEntity(player, "hbm:weapon.rifleShoot", 1.0F, 0.8F + (rand.nextFloat() * 0.4F));
|
||||
|
||||
if (!flag) {
|
||||
player.inventory.consumeInventoryItem(ModItems.gun_dash_ammo);
|
||||
}
|
||||
|
||||
if (!world.isRemote) {
|
||||
world.spawnEntityInWorld(laser);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemEnchantability() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) {
|
||||
|
||||
list.add("Ratatatatatatatata!!");
|
||||
list.add("");
|
||||
list.add("Ammo: SMG Round");
|
||||
list.add("Damage: 2 - 8");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Multimap getItemAttributeModifiers() {
|
||||
Multimap multimap = super.getItemAttributeModifiers();
|
||||
multimap.put(SharedMonsterAttributes.attackDamage.getAttributeUnlocalizedName(),
|
||||
new AttributeModifier(field_111210_e, "Weapon modifier", 3, 0));
|
||||
return multimap;
|
||||
}
|
||||
}
|
||||
@ -77,6 +77,7 @@ import com.hbm.entity.projectile.EntityCombineBall;
|
||||
import com.hbm.entity.projectile.EntityDischarge;
|
||||
import com.hbm.entity.projectile.EntityFire;
|
||||
import com.hbm.entity.projectile.EntityLN2;
|
||||
import com.hbm.entity.projectile.EntityLaser;
|
||||
import com.hbm.entity.projectile.EntityLaserBeam;
|
||||
import com.hbm.entity.projectile.EntityMeteor;
|
||||
import com.hbm.entity.projectile.EntityMinerBeam;
|
||||
@ -117,6 +118,7 @@ import com.hbm.render.entity.RenderFireball;
|
||||
import com.hbm.render.entity.RenderFlare;
|
||||
import com.hbm.render.entity.RenderHunterChopper;
|
||||
import com.hbm.render.entity.RenderLN2;
|
||||
import com.hbm.render.entity.RenderLaser;
|
||||
import com.hbm.render.entity.RenderMeteor;
|
||||
import com.hbm.render.entity.RenderMinecartTest;
|
||||
import com.hbm.render.entity.RenderMiniMIRV;
|
||||
@ -169,6 +171,7 @@ import com.hbm.render.item.ItemRenderRevolverNightmare;
|
||||
import com.hbm.render.item.ItemRenderRevolverSchrabidium;
|
||||
import com.hbm.render.item.ItemRenderRpg;
|
||||
import com.hbm.render.item.ItemRenderSatelliteReceiver;
|
||||
import com.hbm.render.item.ItemRenderShim;
|
||||
import com.hbm.render.item.ItemRenderSteelPoles;
|
||||
import com.hbm.render.item.ItemRenderTapeRecorder;
|
||||
import com.hbm.render.item.ItemRenderTestBombAdvanced;
|
||||
@ -428,6 +431,8 @@ public class ClientProxy extends ServerProxy
|
||||
MinecraftForgeClient.registerItemRenderer(ModItems.multitool_joule, new ItemRenderMultitool());
|
||||
MinecraftForgeClient.registerItemRenderer(ModItems.multitool_decon, new ItemRenderMultitool());
|
||||
|
||||
MinecraftForgeClient.registerItemRenderer(ModItems.shimmer_sledge, new ItemRenderShim());
|
||||
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityBullet.class, new RenderRocket());
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityMiniNuke.class, new RenderMiniNuke());
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityMiniMIRV.class, new RenderMiniMIRV());
|
||||
@ -443,6 +448,7 @@ public class ClientProxy extends ServerProxy
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityMinerBeam.class, new RenderBeam3());
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntitySparkBeam.class, new RenderBeam4());
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityLN2.class, new RenderLN2(ModItems.energy_ball));
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityLaser.class, new RenderLaser());
|
||||
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityNukeExplosionAdvanced.class, new RenderSnowball(ModItems.energy_ball));
|
||||
|
||||
|
||||
@ -113,6 +113,8 @@ public class CraftingManager {
|
||||
GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.block_daffergon), 1), new Object[] { "###", "###", "###", '#', ModItems.ingot_daffergon });
|
||||
GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.block_verticium), 1), new Object[] { "###", "###", "###", '#', ModItems.ingot_verticium });
|
||||
GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.block_desh), 1), new Object[] { "###", "###", "###", '#', ModItems.ingot_desh });
|
||||
GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.block_meteor_cobble), 1), new Object[] { "##", "##", '#', ModItems.fragment_meteorite });
|
||||
GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.block_meteor_broken), 1), new Object[] { "###", "###", "###", '#', ModItems.fragment_meteorite });
|
||||
|
||||
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.ingot_uranium_fuel, 1), new Object[] { "nuggetUranium235", "nuggetUranium235", "nuggetUranium235", "nuggetUranium238", "nuggetUranium238", "nuggetUranium238", "nuggetUranium238", "nuggetUranium238", "nuggetUranium238" }));
|
||||
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.ingot_plutonium_fuel, 1), new Object[] { "nuggetPlutonium238", "nuggetPlutonium239", "nuggetPlutonium239", "nuggetPlutonium239", "nuggetPlutonium239", "nuggetPlutonium239", "nuggetPlutonium240", "nuggetPlutonium240", "nuggetPlutonium240" }));
|
||||
@ -508,7 +510,7 @@ public class CraftingManager {
|
||||
//GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_deuterium), 1), new Object[] { "TIT", "RFR", "CCC", 'T', ModItems.tank_steel, 'I', "ingotTitanium", 'R', ModItems.wire_red_copper, 'F', Item.getItemFromBlock(ModBlocks.machine_difurnace_off), 'C', ModItems.coil_tungsten }));
|
||||
//GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_battery), 1), new Object[] { "TST", "RIR", "TLT", 'T', "ingotTungsten", 'I', "ingotRedstoneAlloy", 'R', ModItems.wire_red_copper, 'S', "blockSulfur", 'L', "blockLead" }));
|
||||
//GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_battery), 1), new Object[] { "TLT", "RIR", "TST", 'T', "ingotTungsten", 'I', "ingotRedstoneAlloy", 'R', ModItems.wire_red_copper, 'S', "blockSulfur", 'L', "blockLead" }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_coal_off), 1), new Object[] { "STS", "SCS", "SFS", 'S', "ingotSteel", 'T', ModItems.tank_steel, 'C', "ingotRedstoneAlloy", 'F', Item.getItemFromBlock(ModBlocks.machine_electric_furnace_off) }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_coal_off), 1), new Object[] { "STS", "SCS", "SFS", 'S', "ingotSteel", 'T', ModItems.tank_steel, 'C', "ingotRedstoneAlloy", 'F', Blocks.furnace }));
|
||||
//GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_converter_he_rf), 1), new Object[] { "SSS", "CRC", "SSS", 'S', "ingotSteel", 'C', ModItems.coil_copper, 'R', ModItems.coil_copper_torus }));
|
||||
//GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_converter_rf_he), 1), new Object[] { "SSS", "CRC", "SSS", 'S', ModItems.ingot_beryllium, 'C', ModItems.coil_copper, 'R', ModItems.coil_copper_torus });
|
||||
//GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_schrabidium_transmutator), 1), new Object[] { "TST", "ARA", "BBB", 'S', ModItems.nugget_schrabidium , 'T', "ingotTitanium", 'A', Item.getItemFromBlock(ModBlocks.factory_advanced_hull), 'R', Item.getItemFromBlock(ModBlocks.machine_reactor), 'B', Item.getItemFromBlock(ModBlocks.machine_battery) }));
|
||||
@ -633,8 +635,8 @@ public class CraftingManager {
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_lead_ammo, 16), new Object[] { "L", "S", 'L', "paneGlass", 'S', ModItems.ingot_pu239 }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_lead_ammo, 16), new Object[] { "L", "S", 'L', "paneGlass", 'S', ModItems.nuclear_waste }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_lead_ammo, 16), new Object[] { "L", "S", 'L', "paneGlass", 'S', ModItems.trinitite }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_schrabidium, 1), new Object[] { "SSS", " RW", 'S', ModItems.plate_schrabidium, 'W', "ingotTungsten", 'R', ModItems.wire_schrabidium }));
|
||||
GameRegistry.addRecipe(new ItemStack(ModItems.gun_revolver_schrabidium_ammo, 16), new Object[] { "L", "S", 'L', ModItems.plate_schrabidium, 'S', Items.gunpowder });
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_schrabidium, 1), new Object[] { "SSS", " RW", 'S', ModBlocks.block_schrabidium, 'W', "ingotTungsten", 'R', ModItems.wire_schrabidium }));
|
||||
GameRegistry.addRecipe(new ItemStack(ModItems.gun_revolver_schrabidium_ammo, 16), new Object[] { "L", "N", "S", 'L', ModItems.plate_schrabidium, 'S', Items.gunpowder, 'N', Items.nether_star });
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_cursed, 1), new Object[] { "TTM", "SRI", 'S', "plateSteel", 'I', "ingotSteel", 'R', ModItems.wire_red_copper, 'T', "plateTitanium", 'M', ModItems.motor }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_cursed_ammo, 32), new Object[] { "L", "L", 'L', "plateSteel", 'S', Items.gunpowder }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_nightmare, 1), new Object[] { "SSE", " RW", 'S', "plateSteel", 'W', Item.getItemFromBlock(Blocks.planks), 'R', ModItems.wire_aluminium, 'E', ModItems.powder_power }));
|
||||
|
||||
@ -110,6 +110,7 @@ import com.hbm.entity.projectile.EntityCombineBall;
|
||||
import com.hbm.entity.projectile.EntityDischarge;
|
||||
import com.hbm.entity.projectile.EntityFire;
|
||||
import com.hbm.entity.projectile.EntityLN2;
|
||||
import com.hbm.entity.projectile.EntityLaser;
|
||||
import com.hbm.entity.projectile.EntityLaserBeam;
|
||||
import com.hbm.entity.projectile.EntityMeteor;
|
||||
import com.hbm.entity.projectile.EntityMinerBeam;
|
||||
@ -601,6 +602,7 @@ public class MainRegistry
|
||||
EntityRegistry.registerModEntity(EntityNukeExplosionMK3.class, "entity_nuke_mk3", 82, this, 1000, 1, true);
|
||||
EntityRegistry.registerModEntity(EntityVortex.class, "entity_vortex", 83, this, 250, 1, true);
|
||||
EntityRegistry.registerModEntity(EntityMeteor.class, "entity_meteor", 84, this, 1000, 1, true);
|
||||
EntityRegistry.registerModEntity(EntityLaser.class, "entity_laser", 85, this, 1000, 1, true);
|
||||
|
||||
EntityRegistry.registerGlobalEntityID(EntityNuclearCreeper.class, "entity_mob_nuclear_creeper", EntityRegistry.findGlobalUniqueEntityId(), 0x204131, 0x75CE00);
|
||||
EntityRegistry.registerGlobalEntityID(EntityHunterChopper.class, "entity_mob_hunter_chopper", EntityRegistry.findGlobalUniqueEntityId(), 0x000020, 0x2D2D72);
|
||||
|
||||
@ -30,6 +30,8 @@ public class ModEventHandler
|
||||
if(event.world.rand.nextInt(meteorShower > 0 ? MainRegistry.meteorShowerChance : MainRegistry.meteorStrikeChance) == 0) {
|
||||
if(!event.world.playerEntities.isEmpty()) {
|
||||
EntityPlayer p = (EntityPlayer)event.world.playerEntities.get(event.world.rand.nextInt(event.world.playerEntities.size()));
|
||||
|
||||
if(p.dimension == 0) {
|
||||
EntityMeteor meteor = new EntityMeteor(event.world);
|
||||
meteor.posX = p.posX + event.world.rand.nextInt(201) - 100;
|
||||
meteor.posY = 384;
|
||||
@ -40,6 +42,7 @@ public class ModEventHandler
|
||||
event.world.spawnEntityInWorld(meteor);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(meteorShower > 0) {
|
||||
meteorShower--;
|
||||
|
||||
@ -55,4 +55,14 @@ public class ResourceManager {
|
||||
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");
|
||||
|
||||
////Obj Items
|
||||
|
||||
//Shimmer Sledge
|
||||
public static final IModelCustom shimmer_sledge = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/shimmer_sledge.obj"));
|
||||
|
||||
////Texture Items
|
||||
|
||||
//Shimmer Sledge
|
||||
public static final ResourceLocation shimmer_sledge_tex = new ResourceLocation(RefStrings.MODID, "textures/models/shimmer_sledge.png");
|
||||
|
||||
}
|
||||
|
||||
64
com/hbm/render/entity/RenderLaser.java
Normal file
@ -0,0 +1,64 @@
|
||||
package com.hbm.render.entity;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.hbm.entity.projectile.EntityLaser;
|
||||
|
||||
import net.minecraft.client.renderer.Tessellator;
|
||||
import net.minecraft.client.renderer.entity.Render;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
public class RenderLaser extends Render {
|
||||
|
||||
@Override
|
||||
public void doRender(Entity p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_,
|
||||
float p_76986_9_) {
|
||||
this.doRender((EntityLaser)p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_);
|
||||
}
|
||||
|
||||
public void doRender(EntityLaser laser, double x, double y, double z, float p_76986_8_,
|
||||
float p_76986_9_) {
|
||||
drawPowerLine(x, y, z,
|
||||
x + (laser.getPlayerCoord()[0] - laser.posX),
|
||||
y + (laser.getPlayerCoord()[1] - laser.posY),
|
||||
z + (laser.getPlayerCoord()[2] - laser.posZ));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected ResourceLocation getEntityTexture(Entity p_110775_1_) {
|
||||
return null;
|
||||
}
|
||||
|
||||
public void drawPowerLine(double x, double y, double z, double a, double b, double c) {
|
||||
GL11.glDisable(GL11.GL_TEXTURE_2D);
|
||||
GL11.glDisable(GL11.GL_LIGHTING);
|
||||
GL11.glDisable(GL11.GL_CULL_FACE);
|
||||
Tessellator tessellator = Tessellator.instance;
|
||||
tessellator.startDrawing(5);
|
||||
tessellator.setColorRGBA_F(0.683F, 0.089F, 0.0F, 1.0F);
|
||||
tessellator.addVertex(x, y + 0.05F, z);
|
||||
tessellator.addVertex(x, y - 0.05F, z);
|
||||
tessellator.addVertex(a, b + 0.05F, c);
|
||||
tessellator.addVertex(a, b - 0.05F, c);
|
||||
tessellator.draw();
|
||||
tessellator.startDrawing(5);
|
||||
tessellator.setColorRGBA_F(0.683F, 0.089F, 0.0F, 1.0F);
|
||||
tessellator.addVertex(x + 0.05F, y, z);
|
||||
tessellator.addVertex(x - 0.05F, y, z);
|
||||
tessellator.addVertex(a + 0.05F, b, c);
|
||||
tessellator.addVertex(a - 0.05F, b, c);
|
||||
tessellator.draw();
|
||||
tessellator.startDrawing(5);
|
||||
tessellator.setColorRGBA_F(0.683F, 0.089F, 0.0F, 1.0F);
|
||||
tessellator.addVertex(x, y, z + 0.05F);
|
||||
tessellator.addVertex(x, y, z - 0.05F);
|
||||
tessellator.addVertex(a, b, c + 0.05F);
|
||||
tessellator.addVertex(a, b, c - 0.05F);
|
||||
tessellator.draw();
|
||||
GL11.glEnable(GL11.GL_LIGHTING);
|
||||
GL11.glEnable(GL11.GL_TEXTURE_2D);
|
||||
GL11.glEnable(GL11.GL_CULL_FACE);
|
||||
}
|
||||
|
||||
}
|
||||
@ -39,7 +39,7 @@ public class ItemRenderMIRV implements IItemRenderer {
|
||||
switch(type) {
|
||||
case EQUIPPED_FIRST_PERSON:
|
||||
GL11.glPushMatrix();
|
||||
Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/MIRV.png"));
|
||||
Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/Mirv.png"));
|
||||
GL11.glRotatef(-135.0F, 0.0F, 0.0F, 1.0F);
|
||||
GL11.glTranslatef(-0.5F, 0.0F, -0.2F);
|
||||
//GL11.glScalef(2.0F, 2.0F, 2.0F);
|
||||
@ -51,7 +51,7 @@ public class ItemRenderMIRV implements IItemRenderer {
|
||||
case EQUIPPED:
|
||||
case ENTITY:
|
||||
GL11.glPushMatrix();
|
||||
Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/MIRV.png"));
|
||||
Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/Mirv.png"));
|
||||
GL11.glRotatef(-200.0F, 0.0F, 0.0F, 1.0F);
|
||||
GL11.glRotatef(75.0F, 0.0F, 1.0F, 0.0F);
|
||||
GL11.glRotatef(-30.0F, 1.0F, 0.0F, 0.0F);
|
||||
|
||||
55
com/hbm/render/item/ItemRenderShim.java
Normal file
@ -0,0 +1,55 @@
|
||||
package com.hbm.render.item;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.main.ResourceManager;
|
||||
import com.hbm.render.model.ModelSword;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraftforge.client.IItemRenderer;
|
||||
import net.minecraftforge.client.IItemRenderer.ItemRenderType;
|
||||
import net.minecraftforge.client.IItemRenderer.ItemRendererHelper;
|
||||
|
||||
public class ItemRenderShim implements IItemRenderer {
|
||||
|
||||
public ItemRenderShim() { }
|
||||
|
||||
@Override
|
||||
public boolean handleRenderType(ItemStack item, ItemRenderType type) {
|
||||
switch(type) {
|
||||
case EQUIPPED:
|
||||
case EQUIPPED_FIRST_PERSON:
|
||||
case ENTITY:
|
||||
return true;
|
||||
default: return false;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void renderItem(ItemRenderType type, ItemStack item, Object... data) {
|
||||
switch(type) {
|
||||
case EQUIPPED:
|
||||
case EQUIPPED_FIRST_PERSON:
|
||||
case ENTITY:
|
||||
GL11.glPushMatrix();
|
||||
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.shimmer_sledge_tex);
|
||||
GL11.glRotatef(-135.0F, 0.0F, 0.0F, 1.0F);
|
||||
GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F);
|
||||
GL11.glScalef(1.5F, 1.5F, 1.5F);
|
||||
GL11.glTranslatef(0.45F, -0.3F, 0.0F);
|
||||
ResourceManager.shimmer_sledge.renderAll();
|
||||
GL11.glPopMatrix();
|
||||
default: break;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -16,6 +16,64 @@ public class Meteorite {
|
||||
|
||||
public void generate(World world, Random rand, int x, int y, int z) {
|
||||
|
||||
switch(rand.nextInt(500)) {
|
||||
case 0:
|
||||
//Meteor-only tiny meteorite
|
||||
List<ItemStack> list0 = new ArrayList<ItemStack>();
|
||||
list0.add(new ItemStack(ModBlocks.block_meteor));
|
||||
generateBox(world, rand, x, y, z, list0);
|
||||
return;
|
||||
case 1:
|
||||
//Large ore-only meteorite
|
||||
List<ItemStack> list1 = new ArrayList<ItemStack>();
|
||||
list1.addAll(this.getRandomOre(rand));
|
||||
int i = list1.size();
|
||||
for(int j = 0; j < i; j++)
|
||||
list1.add(new ItemStack(Blocks.stone));
|
||||
generateSphere7x7(world, rand, x, y, z, list1);
|
||||
return;
|
||||
case 2:
|
||||
//Medium ore-only meteorite
|
||||
List<ItemStack> list2 = new ArrayList<ItemStack>();
|
||||
list2.addAll(this.getRandomOre(rand));
|
||||
int k = list2.size() / 2;
|
||||
for(int j = 0; j < k; j++)
|
||||
list2.add(new ItemStack(Blocks.stone));
|
||||
generateSphere5x5(world, rand, x, y, z, list2);
|
||||
return;
|
||||
case 3:
|
||||
//Small pure ore meteorite
|
||||
List<ItemStack> list3 = new ArrayList<ItemStack>();
|
||||
list3.addAll(this.getRandomOre(rand));
|
||||
generateBox(world, rand, x, y, z, list3);
|
||||
return;
|
||||
case 4:
|
||||
//Bamboozle
|
||||
world.createExplosion(null, x + 0.5, y + 0.5, z + 0.5, 15F, true);
|
||||
return;
|
||||
case 5:
|
||||
//Large treasure-only meteorite
|
||||
List<ItemStack> list4 = new ArrayList<ItemStack>();
|
||||
list4.add(new ItemStack(ModBlocks.block_meteor_treasure));
|
||||
list4.add(new ItemStack(ModBlocks.block_meteor_broken));
|
||||
generateSphere7x7(world, rand, x, y, z, list4);
|
||||
return;
|
||||
case 6:
|
||||
//Medium treasure-only meteorite
|
||||
List<ItemStack> list5 = new ArrayList<ItemStack>();
|
||||
list5.add(new ItemStack(ModBlocks.block_meteor_treasure));
|
||||
list5.add(new ItemStack(ModBlocks.block_meteor_treasure));
|
||||
list5.add(new ItemStack(ModBlocks.block_meteor_broken));
|
||||
generateSphere5x5(world, rand, x, y, z, list5);
|
||||
return;
|
||||
case 7:
|
||||
//Small pure treasure meteorite
|
||||
List<ItemStack> list6 = new ArrayList<ItemStack>();
|
||||
list6.add(new ItemStack(ModBlocks.block_meteor_treasure));
|
||||
generateBox(world, rand, x, y, z, list6);
|
||||
return;
|
||||
}
|
||||
|
||||
switch(rand.nextInt(3)) {
|
||||
case 0:
|
||||
generateLarge(world, rand, x, y, z);
|
||||
@ -530,10 +588,33 @@ public class Meteorite {
|
||||
}
|
||||
}
|
||||
|
||||
if(rand.nextInt(5) == 3) {
|
||||
List<ItemStack> list = new ArrayList<ItemStack>();
|
||||
list.add(new ItemStack(ModBlocks.ore_rare, 1).copy());
|
||||
return list;
|
||||
switch(rand.nextInt(15)) {
|
||||
case 0:
|
||||
List<ItemStack> list1 = new ArrayList<ItemStack>();
|
||||
list1.add(new ItemStack(ModBlocks.ore_rare, 1).copy());
|
||||
return list1;
|
||||
case 1:
|
||||
List<ItemStack> list2 = new ArrayList<ItemStack>();
|
||||
list2.add(new ItemStack(ModBlocks.ore_uranium, 1).copy());
|
||||
return list2;
|
||||
case 2:
|
||||
List<ItemStack> list3 = new ArrayList<ItemStack>();
|
||||
list3.add(new ItemStack(ModBlocks.ore_reiium, 1).copy());
|
||||
list3.add(new ItemStack(ModBlocks.ore_weidanium, 1).copy());
|
||||
list3.add(new ItemStack(ModBlocks.ore_australium, 1).copy());
|
||||
list3.add(new ItemStack(ModBlocks.ore_unobtainium, 1).copy());
|
||||
list3.add(new ItemStack(ModBlocks.ore_daffergon, 1).copy());
|
||||
list3.add(new ItemStack(ModBlocks.ore_verticium, 1).copy());
|
||||
return list3;
|
||||
case 3:
|
||||
List<ItemStack> list4 = new ArrayList<ItemStack>();
|
||||
list4.add(new ItemStack(ModBlocks.ore_nether_fire, 1).copy());
|
||||
list4.add(new ItemStack(ModBlocks.ore_nether_plutonium, 1).copy());
|
||||
list4.add(new ItemStack(ModBlocks.ore_nether_schrabidium, 1).copy());
|
||||
list4.add(new ItemStack(ModBlocks.ore_nether_sulfur, 1).copy());
|
||||
list4.add(new ItemStack(ModBlocks.ore_nether_tungsten, 1).copy());
|
||||
list4.add(new ItemStack(ModBlocks.ore_nether_uranium, 1).copy());
|
||||
return list4;
|
||||
}
|
||||
|
||||
if(ores.isEmpty()) {
|
||||
|
||||