mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
new bullet models, relic bomb model and texture, gunbase packets
This commit is contained in:
parent
0e51769e05
commit
6519d80655
535
assets/hbm/models/bale.obj
Normal file
535
assets/hbm/models/bale.obj
Normal file
@ -0,0 +1,535 @@
|
|||||||
|
# Blender v2.76 (sub 0) OBJ File: 'bale.blend'
|
||||||
|
# www.blender.org
|
||||||
|
o Cylinder
|
||||||
|
v 0.000000 1.000000 -0.500000
|
||||||
|
v 0.000000 1.000000 0.750000
|
||||||
|
v 0.250000 0.933013 -0.500000
|
||||||
|
v 0.250000 0.933013 0.750000
|
||||||
|
v 0.433013 0.750000 -0.500000
|
||||||
|
v 0.433013 0.750000 0.750000
|
||||||
|
v 0.500000 0.500000 -0.500000
|
||||||
|
v 0.500000 0.500000 0.750000
|
||||||
|
v 0.433013 0.250000 -0.500000
|
||||||
|
v 0.433013 0.250000 0.750000
|
||||||
|
v 0.250000 0.066987 -0.500000
|
||||||
|
v 0.250000 0.066987 0.750000
|
||||||
|
v 0.000000 -0.000000 -0.500000
|
||||||
|
v 0.000000 0.000000 0.750000
|
||||||
|
v -0.250000 0.066987 -0.500000
|
||||||
|
v -0.250000 0.066987 0.750000
|
||||||
|
v -0.433013 0.250000 -0.500000
|
||||||
|
v -0.433013 0.250000 0.750000
|
||||||
|
v -0.500000 0.500000 -0.500000
|
||||||
|
v -0.500000 0.500000 0.750000
|
||||||
|
v -0.433013 0.750000 -0.500000
|
||||||
|
v -0.433013 0.750000 0.750000
|
||||||
|
v -0.250000 0.933012 -0.500000
|
||||||
|
v -0.250000 0.933013 0.750000
|
||||||
|
v 0.187500 0.824760 1.000000
|
||||||
|
v 0.000000 0.875000 1.000000
|
||||||
|
v 0.324760 0.687500 1.000000
|
||||||
|
v 0.375000 0.500000 1.000000
|
||||||
|
v 0.324760 0.312500 1.000000
|
||||||
|
v 0.187500 0.175241 1.000000
|
||||||
|
v 0.000000 0.125000 1.000000
|
||||||
|
v -0.187500 0.175241 1.000000
|
||||||
|
v -0.324759 0.312500 1.000000
|
||||||
|
v -0.375000 0.500000 1.000000
|
||||||
|
v -0.324760 0.687500 1.000000
|
||||||
|
v -0.187500 0.824759 1.000000
|
||||||
|
v 0.000000 0.500000 1.150000
|
||||||
|
v 0.000000 0.825000 -1.150000
|
||||||
|
v 0.162500 0.781458 -1.150000
|
||||||
|
v 0.281458 0.662500 -1.150000
|
||||||
|
v 0.325000 0.500000 -1.150000
|
||||||
|
v 0.281458 0.337500 -1.150000
|
||||||
|
v 0.162500 0.218542 -1.150000
|
||||||
|
v 0.000000 0.175000 -1.150000
|
||||||
|
v -0.162500 0.218542 -1.150000
|
||||||
|
v -0.281458 0.337500 -1.150000
|
||||||
|
v -0.325000 0.500000 -1.150000
|
||||||
|
v -0.281458 0.662500 -1.150000
|
||||||
|
v -0.162500 0.781458 -1.150000
|
||||||
|
v -0.500000 0.075000 -0.950000
|
||||||
|
v 0.500000 0.075000 -0.950000
|
||||||
|
v -0.500000 0.925000 -0.950000
|
||||||
|
v 0.500000 0.925000 -0.950000
|
||||||
|
v -0.425000 0.000000 -0.950000
|
||||||
|
v 0.425000 0.000000 -0.950000
|
||||||
|
v -0.425000 1.000000 -0.950000
|
||||||
|
v 0.425000 1.000000 -0.950000
|
||||||
|
v -0.425000 0.925000 -0.950000
|
||||||
|
v 0.425000 0.925000 -0.950000
|
||||||
|
v -0.425000 0.075000 -0.950000
|
||||||
|
v 0.425000 0.075000 -0.950000
|
||||||
|
v -0.500000 0.925000 -1.200000
|
||||||
|
v -0.500000 0.075000 -1.200000
|
||||||
|
v 0.425000 0.925000 -1.200000
|
||||||
|
v 0.425000 0.075000 -1.200000
|
||||||
|
v 0.500000 0.075000 -1.200000
|
||||||
|
v 0.500000 0.925000 -1.200000
|
||||||
|
v -0.425000 0.925000 -1.200000
|
||||||
|
v -0.425000 0.075000 -1.200000
|
||||||
|
v -0.425000 -0.000000 -1.200000
|
||||||
|
v 0.425000 -0.000000 -1.200000
|
||||||
|
v 0.425000 1.000000 -1.200000
|
||||||
|
v -0.425000 1.000000 -1.200000
|
||||||
|
v -0.459619 0.075736 -1.000000
|
||||||
|
v 0.424264 0.959619 -1.000000
|
||||||
|
v -0.459619 0.075736 -1.150000
|
||||||
|
v 0.424264 0.959619 -1.150000
|
||||||
|
v -0.424264 0.040381 -1.000000
|
||||||
|
v 0.459619 0.924264 -1.000000
|
||||||
|
v -0.424264 0.040381 -1.150000
|
||||||
|
v 0.459619 0.924264 -1.150000
|
||||||
|
v 0.000000 0.825000 -1.200000
|
||||||
|
v 0.162500 0.781458 -1.200000
|
||||||
|
v 0.281458 0.662500 -1.200000
|
||||||
|
v 0.325000 0.500000 -1.200000
|
||||||
|
v 0.281458 0.337500 -1.200000
|
||||||
|
v 0.162500 0.218542 -1.200000
|
||||||
|
v 0.000000 0.175000 -1.200000
|
||||||
|
v -0.162500 0.218542 -1.200000
|
||||||
|
v -0.281458 0.337500 -1.200000
|
||||||
|
v -0.325000 0.500000 -1.200000
|
||||||
|
v -0.281458 0.662500 -1.200000
|
||||||
|
v -0.162500 0.781458 -1.200000
|
||||||
|
v -0.424264 0.959619 -1.000000
|
||||||
|
v 0.459619 0.075736 -1.000000
|
||||||
|
v -0.424264 0.959619 -1.150000
|
||||||
|
v 0.459619 0.075736 -1.150000
|
||||||
|
v -0.459619 0.924264 -1.000000
|
||||||
|
v 0.424264 0.040381 -1.000000
|
||||||
|
v -0.459619 0.924264 -1.150000
|
||||||
|
v 0.424264 0.040381 -1.150000
|
||||||
|
vt 0.788698 0.361775
|
||||||
|
vt 0.510343 0.361775
|
||||||
|
vt 0.510343 0.304140
|
||||||
|
vt 0.510343 0.246505
|
||||||
|
vt 0.788698 0.246505
|
||||||
|
vt 0.510343 0.188870
|
||||||
|
vt 0.788698 0.188870
|
||||||
|
vt 0.510343 0.131235
|
||||||
|
vt 0.510343 0.073600
|
||||||
|
vt 0.788698 0.073600
|
||||||
|
vt 0.510343 0.015964
|
||||||
|
vt 0.788698 0.015964
|
||||||
|
vt 0.788698 0.707585
|
||||||
|
vt 0.510343 0.707585
|
||||||
|
vt 0.510343 0.649950
|
||||||
|
vt 0.788698 0.649950
|
||||||
|
vt 0.510343 0.592315
|
||||||
|
vt 0.510343 0.534680
|
||||||
|
vt 0.788698 0.534680
|
||||||
|
vt 0.510343 0.477045
|
||||||
|
vt 0.788698 0.477045
|
||||||
|
vt 0.448519 0.124030
|
||||||
|
vt 0.448519 0.080804
|
||||||
|
vt 0.510343 0.419410
|
||||||
|
vt 0.788698 0.419410
|
||||||
|
vt 0.938258 0.198956
|
||||||
|
vt 0.938258 0.236419
|
||||||
|
vt 0.448519 0.181665
|
||||||
|
vt 0.448519 0.138439
|
||||||
|
vt 0.448519 0.412206
|
||||||
|
vt 0.448519 0.354571
|
||||||
|
vt 0.448519 0.311344
|
||||||
|
vt 0.448519 0.239300
|
||||||
|
vt 0.448519 0.196074
|
||||||
|
vt 0.448519 0.469841
|
||||||
|
vt 0.448519 0.296935
|
||||||
|
vt 0.448519 0.253709
|
||||||
|
vt 0.448519 0.527476
|
||||||
|
vt 0.448519 0.484250
|
||||||
|
vt 0.448519 0.585111
|
||||||
|
vt 0.448519 0.541885
|
||||||
|
vt 0.448519 0.642746
|
||||||
|
vt 0.448519 0.599520
|
||||||
|
vt 0.448519 0.700381
|
||||||
|
vt 0.448519 0.657155
|
||||||
|
vt 0.448519 0.066395
|
||||||
|
vt 0.361215 0.678768
|
||||||
|
vt 0.361214 0.621133
|
||||||
|
vt 0.361215 0.563498
|
||||||
|
vt 0.361215 0.505863
|
||||||
|
vt 0.361215 0.448228
|
||||||
|
vt 0.448519 0.426615
|
||||||
|
vt 0.361215 0.390593
|
||||||
|
vt 0.448519 0.368979
|
||||||
|
vt 0.361215 0.332957
|
||||||
|
vt 0.448519 0.023169
|
||||||
|
vt 0.361215 0.044782
|
||||||
|
vt 0.361214 0.102417
|
||||||
|
vt 0.361215 0.160052
|
||||||
|
vt 0.361215 0.217687
|
||||||
|
vt 0.361215 0.275322
|
||||||
|
vt 0.938258 0.141321
|
||||||
|
vt 0.949392 0.141321
|
||||||
|
vt 0.949392 0.178784
|
||||||
|
vt 0.938258 0.429496
|
||||||
|
vt 0.938258 0.466959
|
||||||
|
vt 0.788698 0.304140
|
||||||
|
vt 0.938258 0.256591
|
||||||
|
vt 0.938258 0.487131
|
||||||
|
vt 0.788698 0.592315
|
||||||
|
vt 0.938258 0.544766
|
||||||
|
vt 0.938258 0.602401
|
||||||
|
vt 0.938258 0.639864
|
||||||
|
vt 0.938258 0.660037
|
||||||
|
vt 0.938258 0.697499
|
||||||
|
vt 0.938258 0.026051
|
||||||
|
vt 0.938258 0.063514
|
||||||
|
vt 0.938258 0.083686
|
||||||
|
vt 0.938258 0.121149
|
||||||
|
vt 0.788698 0.131235
|
||||||
|
vt 0.938258 0.178784
|
||||||
|
vt 0.938258 0.371861
|
||||||
|
vt 0.938258 0.409324
|
||||||
|
vt 0.938258 0.314226
|
||||||
|
vt 0.938258 0.351689
|
||||||
|
vt 0.680346 0.943229
|
||||||
|
vt 0.680346 0.959931
|
||||||
|
vt 0.491064 0.959931
|
||||||
|
vt 0.680346 0.753947
|
||||||
|
vt 0.491064 0.753947
|
||||||
|
vt 0.491064 0.737246
|
||||||
|
vt 0.491064 0.943229
|
||||||
|
vt 0.474362 0.943229
|
||||||
|
vt 0.474362 0.753947
|
||||||
|
vt 0.697047 0.753947
|
||||||
|
vt 0.680346 0.737246
|
||||||
|
vt 0.697047 0.943229
|
||||||
|
vt 0.932691 0.959931
|
||||||
|
vt 0.743409 0.959931
|
||||||
|
vt 0.743409 0.943229
|
||||||
|
vt 0.932691 0.737246
|
||||||
|
vt 0.932691 0.753947
|
||||||
|
vt 0.743409 0.753947
|
||||||
|
vt 0.949392 0.753947
|
||||||
|
vt 0.949392 0.943229
|
||||||
|
vt 0.932691 0.943229
|
||||||
|
vt 0.726707 0.753947
|
||||||
|
vt 0.743409 0.737246
|
||||||
|
vt 0.726707 0.943229
|
||||||
|
vt 0.190552 0.394528
|
||||||
|
vt 0.190552 0.205246
|
||||||
|
vt 0.246223 0.205246
|
||||||
|
vt 0.331554 0.228866
|
||||||
|
vt 0.275883 0.228866
|
||||||
|
vt 0.275883 0.205247
|
||||||
|
vt 0.331554 0.418148
|
||||||
|
vt 0.275883 0.418148
|
||||||
|
vt 0.331554 0.631049
|
||||||
|
vt 0.275883 0.631049
|
||||||
|
vt 0.275883 0.441767
|
||||||
|
vt 0.190551 0.015964
|
||||||
|
vt 0.246223 0.015964
|
||||||
|
vt 0.331554 0.867570
|
||||||
|
vt 0.275883 0.867570
|
||||||
|
vt 0.275883 0.843951
|
||||||
|
vt 0.190552 0.583811
|
||||||
|
vt 0.246223 0.583811
|
||||||
|
vt 0.246223 0.773093
|
||||||
|
vt 0.331554 0.654669
|
||||||
|
vt 0.275883 0.654669
|
||||||
|
vt 0.331554 0.205247
|
||||||
|
vt 0.275883 0.015964
|
||||||
|
vt 0.331554 0.843951
|
||||||
|
vt 0.331554 0.441767
|
||||||
|
vt 0.246223 0.394528
|
||||||
|
vt 0.053199 0.941767
|
||||||
|
vt 0.331554 0.941767
|
||||||
|
vt 0.331554 0.975170
|
||||||
|
vt 0.053199 0.930633
|
||||||
|
vt 0.331554 0.930633
|
||||||
|
vt 0.053198 0.897230
|
||||||
|
vt 0.331554 0.897230
|
||||||
|
vt 0.053199 0.975170
|
||||||
|
vt 0.331554 0.986304
|
||||||
|
vt 0.127488 0.015964
|
||||||
|
vt 0.127488 0.294321
|
||||||
|
vt 0.116354 0.294321
|
||||||
|
vt 0.116354 0.015964
|
||||||
|
vt 0.082952 0.294321
|
||||||
|
vt 0.039809 0.445063
|
||||||
|
vt 0.142160 0.342712
|
||||||
|
vt 0.160891 0.412619
|
||||||
|
vt 0.949392 0.429496
|
||||||
|
vt 0.949392 0.466959
|
||||||
|
vt 0.949392 0.314226
|
||||||
|
vt 0.949392 0.351689
|
||||||
|
vt 0.949392 0.602401
|
||||||
|
vt 0.949392 0.639864
|
||||||
|
vt 0.949392 0.083686
|
||||||
|
vt 0.949392 0.121149
|
||||||
|
vt 0.949392 0.371861
|
||||||
|
vt 0.949392 0.409324
|
||||||
|
vt 0.949392 0.256591
|
||||||
|
vt 0.949392 0.294054
|
||||||
|
vt 0.949392 0.544766
|
||||||
|
vt 0.949392 0.582229
|
||||||
|
vt 0.949392 0.026051
|
||||||
|
vt 0.949392 0.198956
|
||||||
|
vt 0.949392 0.236419
|
||||||
|
vt 0.949392 0.487131
|
||||||
|
vt 0.949392 0.524594
|
||||||
|
vt 0.949392 0.660037
|
||||||
|
vt 0.949392 0.697499
|
||||||
|
vt 0.160891 0.015964
|
||||||
|
vt 0.160891 0.294321
|
||||||
|
vt 0.082951 0.015964
|
||||||
|
vt 0.071817 0.294321
|
||||||
|
vt 0.938258 0.294054
|
||||||
|
vt 0.938258 0.524594
|
||||||
|
vt 0.938258 0.582229
|
||||||
|
vt 0.190551 0.773093
|
||||||
|
vt 0.331554 0.015964
|
||||||
|
vt 0.053199 0.986304
|
||||||
|
vt 0.142160 0.445063
|
||||||
|
vt 0.109716 0.463794
|
||||||
|
vt 0.072253 0.463794
|
||||||
|
vt 0.021078 0.412619
|
||||||
|
vt 0.021078 0.375156
|
||||||
|
vt 0.039809 0.342712
|
||||||
|
vt 0.072253 0.323981
|
||||||
|
vt 0.109716 0.323981
|
||||||
|
vt 0.160891 0.375156
|
||||||
|
vt 0.949392 0.063513
|
||||||
|
vt 0.071817 0.015964
|
||||||
|
vn 0.258800 0.965900 0.000000
|
||||||
|
vn 0.707100 0.707100 0.000000
|
||||||
|
vn 0.965900 0.258800 0.000000
|
||||||
|
vn 0.965900 -0.258800 0.000000
|
||||||
|
vn 0.707100 -0.707100 0.000000
|
||||||
|
vn 0.258800 -0.965900 0.000000
|
||||||
|
vn -0.258800 -0.965900 0.000000
|
||||||
|
vn -0.707100 -0.707100 0.000000
|
||||||
|
vn -0.965900 -0.258800 0.000000
|
||||||
|
vn -0.965900 0.258800 -0.000000
|
||||||
|
vn 0.636700 -0.636700 0.434900
|
||||||
|
vn -0.258800 0.965900 -0.000000
|
||||||
|
vn -0.707100 0.707100 -0.000000
|
||||||
|
vn 0.934800 0.250500 -0.251700
|
||||||
|
vn 0.869800 -0.233100 0.434900
|
||||||
|
vn -0.233100 0.869800 0.434900
|
||||||
|
vn 0.233100 0.869800 0.434900
|
||||||
|
vn 0.869800 0.233100 0.434900
|
||||||
|
vn -0.636700 0.636700 0.434900
|
||||||
|
vn 0.636700 0.636700 0.434900
|
||||||
|
vn -0.869800 0.233100 0.434900
|
||||||
|
vn -0.869800 -0.233100 0.434900
|
||||||
|
vn -0.636700 -0.636700 0.434900
|
||||||
|
vn -0.233100 -0.869800 0.434900
|
||||||
|
vn 0.233100 -0.869800 0.434900
|
||||||
|
vn -0.099000 -0.369600 0.923900
|
||||||
|
vn -0.270500 -0.270500 0.923900
|
||||||
|
vn -0.369600 -0.099000 0.923900
|
||||||
|
vn -0.369600 0.099000 0.923900
|
||||||
|
vn -0.270500 0.270500 0.923900
|
||||||
|
vn -0.099000 0.369600 0.923900
|
||||||
|
vn 0.099000 0.369600 0.923900
|
||||||
|
vn 0.099000 -0.369600 0.923900
|
||||||
|
vn 0.270500 -0.270500 0.923900
|
||||||
|
vn 0.369600 -0.099000 0.923900
|
||||||
|
vn 0.369600 0.099000 0.923900
|
||||||
|
vn 0.270500 0.270500 0.923900
|
||||||
|
vn -0.684300 0.684300 -0.251700
|
||||||
|
vn 0.684300 0.684300 -0.251700
|
||||||
|
vn -0.934800 0.250500 -0.251700
|
||||||
|
vn -0.934800 -0.250500 -0.251700
|
||||||
|
vn -0.684300 -0.684300 -0.251700
|
||||||
|
vn -0.250500 -0.934800 -0.251700
|
||||||
|
vn 0.250500 -0.934800 -0.251700
|
||||||
|
vn 0.684300 -0.684300 -0.251700
|
||||||
|
vn 0.934800 -0.250500 -0.251700
|
||||||
|
vn -0.250500 0.934800 -0.251700
|
||||||
|
vn 0.250500 0.934800 -0.251700
|
||||||
|
vn 0.000000 0.000000 1.000000
|
||||||
|
vn 0.000000 -0.000000 -1.000000
|
||||||
|
vn 1.000000 0.000000 0.000000
|
||||||
|
vn -1.000000 0.000000 0.000000
|
||||||
|
vn 0.000000 1.000000 0.000000
|
||||||
|
vn 0.000000 -1.000000 0.000000
|
||||||
|
s off
|
||||||
|
f 1/1/1 2/2/1 4/3/1
|
||||||
|
f 4/3/2 6/4/2 5/5/2
|
||||||
|
f 5/5/3 6/4/3 8/6/3
|
||||||
|
f 7/7/4 8/6/4 10/8/4
|
||||||
|
f 10/8/5 12/9/5 11/10/5
|
||||||
|
f 12/9/6 14/11/6 13/12/6
|
||||||
|
f 13/13/7 14/14/7 16/15/7
|
||||||
|
f 15/16/8 16/15/8 18/17/8
|
||||||
|
f 18/17/9 20/18/9 19/19/9
|
||||||
|
f 20/18/10 22/20/10 21/21/10
|
||||||
|
f 10/8/11 29/22/11 30/23/11
|
||||||
|
f 24/24/12 2/2/12 1/1/12
|
||||||
|
f 22/20/13 24/24/13 23/25/13
|
||||||
|
f 7/7/14 41/26/14 40/27/14
|
||||||
|
f 8/6/15 28/28/15 29/29/15
|
||||||
|
f 2/2/16 24/24/16 36/30/16
|
||||||
|
f 2/2/17 26/31/17 25/32/17
|
||||||
|
f 6/4/18 27/33/18 28/34/18
|
||||||
|
f 24/24/19 22/20/19 35/35/19
|
||||||
|
f 4/3/20 25/36/20 27/37/20
|
||||||
|
f 20/18/21 34/38/21 35/39/21
|
||||||
|
f 18/17/22 33/40/22 34/41/22
|
||||||
|
f 16/15/23 32/42/23 33/43/23
|
||||||
|
f 14/14/24 31/44/24 32/45/24
|
||||||
|
f 14/11/25 12/9/25 30/46/25
|
||||||
|
f 31/44/26 37/47/26 32/45/26
|
||||||
|
f 32/42/27 37/48/27 33/43/27
|
||||||
|
f 33/40/28 37/49/28 34/41/28
|
||||||
|
f 34/38/29 37/50/29 35/39/29
|
||||||
|
f 35/35/30 37/51/30 36/52/30
|
||||||
|
f 36/30/31 37/53/31 26/54/31
|
||||||
|
f 26/31/32 37/55/32 25/32/32
|
||||||
|
f 31/56/33 30/46/33 37/57/33
|
||||||
|
f 29/22/34 37/58/34 30/23/34
|
||||||
|
f 28/28/35 37/59/35 29/29/35
|
||||||
|
f 27/33/36 37/60/36 28/34/36
|
||||||
|
f 25/36/37 37/61/37 27/37/37
|
||||||
|
f 42/62/4 86/63/4 85/64/4
|
||||||
|
f 23/25/38 49/65/38 48/66/38
|
||||||
|
f 3/67/39 5/5/39 40/68/39
|
||||||
|
f 19/19/40 21/21/40 48/69/40
|
||||||
|
f 17/70/41 19/19/41 47/71/41
|
||||||
|
f 17/70/42 46/72/42 45/73/42
|
||||||
|
f 15/16/43 45/74/43 44/75/43
|
||||||
|
f 13/12/44 44/76/44 43/77/44
|
||||||
|
f 11/10/45 43/78/45 42/79/45
|
||||||
|
f 9/80/46 42/62/46 41/81/46
|
||||||
|
f 1/1/47 38/82/47 49/83/47
|
||||||
|
f 3/67/48 39/84/48 38/85/48
|
||||||
|
f 61/86/49 51/87/49 53/88/49
|
||||||
|
f 60/89/49 58/90/49 52/91/49
|
||||||
|
f 59/92/49 57/93/49 56/94/49
|
||||||
|
f 53/88/49 57/93/49 59/92/49
|
||||||
|
f 56/94/49 52/91/49 58/90/49
|
||||||
|
f 54/95/49 60/89/49 50/96/49
|
||||||
|
f 51/87/49 61/86/49 55/97/49
|
||||||
|
f 60/89/49 54/95/49 55/97/49
|
||||||
|
f 67/98/50 66/99/50 65/100/50
|
||||||
|
f 62/101/50 68/102/50 69/103/50
|
||||||
|
f 73/104/50 72/105/50 64/106/50
|
||||||
|
f 67/98/50 64/106/50 72/105/50
|
||||||
|
f 73/104/50 68/102/50 62/101/50
|
||||||
|
f 70/107/50 63/108/50 69/103/50
|
||||||
|
f 66/99/50 71/109/50 65/100/50
|
||||||
|
f 71/109/50 70/107/50 69/103/50
|
||||||
|
f 58/110/51 60/111/51 69/112/51
|
||||||
|
f 50/113/8 63/114/8 70/115/8
|
||||||
|
f 52/116/52 62/117/52 63/114/52
|
||||||
|
f 57/118/53 72/119/53 73/120/53
|
||||||
|
f 61/121/53 65/122/53 69/112/53
|
||||||
|
f 55/123/5 71/124/5 66/125/5
|
||||||
|
f 59/126/52 64/127/52 65/128/52
|
||||||
|
f 53/129/2 67/130/2 72/119/2
|
||||||
|
f 54/131/54 70/115/54 71/132/54
|
||||||
|
f 53/129/51 51/133/51 66/125/51
|
||||||
|
f 56/134/13 73/120/13 62/117/13
|
||||||
|
f 58/110/54 68/135/54 64/127/54
|
||||||
|
f 77/136/13 76/137/13 74/138/13
|
||||||
|
f 81/139/50 80/140/50 76/137/50
|
||||||
|
f 79/141/5 78/142/5 80/140/5
|
||||||
|
f 75/143/49 74/138/49 78/144/49
|
||||||
|
f 101/145/50 100/146/50 96/147/50
|
||||||
|
f 97/148/2 96/147/2 94/149/2
|
||||||
|
f 85/150/50 91/151/50 93/152/50
|
||||||
|
f 49/65/13 93/153/13 92/154/13
|
||||||
|
f 39/84/1 83/155/1 82/156/1
|
||||||
|
f 46/72/8 90/157/8 89/158/8
|
||||||
|
f 43/78/5 87/159/5 86/160/5
|
||||||
|
f 38/82/12 82/161/12 93/162/12
|
||||||
|
f 40/68/2 84/163/2 83/164/2
|
||||||
|
f 47/71/9 91/165/9 90/166/9
|
||||||
|
f 43/77/6 44/76/6 88/167/6
|
||||||
|
f 41/26/3 85/168/3 84/169/3
|
||||||
|
f 48/69/10 92/170/10 91/171/10
|
||||||
|
f 45/74/7 89/172/7 88/173/7
|
||||||
|
f 99/174/8 98/175/8 100/146/8
|
||||||
|
f 95/176/49 94/149/49 98/177/49
|
||||||
|
f 3/67/1 1/1/1 4/3/1
|
||||||
|
f 3/67/2 4/3/2 5/5/2
|
||||||
|
f 7/7/3 5/5/3 8/6/3
|
||||||
|
f 9/80/4 7/7/4 10/8/4
|
||||||
|
f 9/80/5 10/8/5 11/10/5
|
||||||
|
f 11/10/6 12/9/6 13/12/6
|
||||||
|
f 15/16/7 13/13/7 16/15/7
|
||||||
|
f 17/70/8 15/16/8 18/17/8
|
||||||
|
f 17/70/9 18/17/9 19/19/9
|
||||||
|
f 19/19/10 20/18/10 21/21/10
|
||||||
|
f 12/9/11 10/8/11 30/23/11
|
||||||
|
f 23/25/12 24/24/12 1/1/12
|
||||||
|
f 21/21/13 22/20/13 23/25/13
|
||||||
|
f 5/5/14 7/7/14 40/27/14
|
||||||
|
f 10/8/15 8/6/15 29/29/15
|
||||||
|
f 26/54/16 2/2/16 36/30/16
|
||||||
|
f 4/3/17 2/2/17 25/32/17
|
||||||
|
f 8/6/18 6/4/18 28/34/18
|
||||||
|
f 36/52/19 24/24/19 35/35/19
|
||||||
|
f 6/4/20 4/3/20 27/37/20
|
||||||
|
f 22/20/21 20/18/21 35/39/21
|
||||||
|
f 20/18/22 18/17/22 34/41/22
|
||||||
|
f 18/17/23 16/15/23 33/43/23
|
||||||
|
f 16/15/24 14/14/24 32/45/24
|
||||||
|
f 31/56/25 14/11/25 30/46/25
|
||||||
|
f 41/81/4 42/62/4 85/64/4
|
||||||
|
f 21/21/38 23/25/38 48/66/38
|
||||||
|
f 39/178/39 3/67/39 40/68/39
|
||||||
|
f 47/179/40 19/19/40 48/69/40
|
||||||
|
f 46/180/41 17/70/41 47/71/41
|
||||||
|
f 15/16/42 17/70/42 45/73/42
|
||||||
|
f 13/13/43 15/16/43 44/75/43
|
||||||
|
f 11/10/44 13/12/44 43/77/44
|
||||||
|
f 9/80/45 11/10/45 42/79/45
|
||||||
|
f 7/7/46 9/80/46 41/81/46
|
||||||
|
f 23/25/47 1/1/47 49/83/47
|
||||||
|
f 1/1/48 3/67/48 38/85/48
|
||||||
|
f 59/92/49 61/86/49 53/88/49
|
||||||
|
f 50/96/49 60/89/49 52/91/49
|
||||||
|
f 58/90/49 59/92/49 56/94/49
|
||||||
|
f 61/86/49 60/89/49 55/97/49
|
||||||
|
f 64/106/50 67/98/50 65/100/50
|
||||||
|
f 63/108/50 62/101/50 69/103/50
|
||||||
|
f 68/102/50 73/104/50 64/106/50
|
||||||
|
f 65/100/50 71/109/50 69/103/50
|
||||||
|
f 68/135/51 58/110/51 69/112/51
|
||||||
|
f 54/131/8 50/113/8 70/115/8
|
||||||
|
f 50/113/52 52/116/52 63/114/52
|
||||||
|
f 56/134/53 57/118/53 73/120/53
|
||||||
|
f 60/111/53 61/121/53 69/112/53
|
||||||
|
f 51/133/5 55/123/5 66/125/5
|
||||||
|
f 61/181/52 59/126/52 65/128/52
|
||||||
|
f 57/118/2 53/129/2 72/119/2
|
||||||
|
f 55/182/54 54/131/54 71/132/54
|
||||||
|
f 67/130/51 53/129/51 66/125/51
|
||||||
|
f 52/116/13 56/134/13 62/117/13
|
||||||
|
f 59/126/54 58/110/54 64/127/54
|
||||||
|
f 75/143/13 77/136/13 74/138/13
|
||||||
|
f 77/136/50 81/139/50 76/137/50
|
||||||
|
f 81/139/5 79/141/5 80/140/5
|
||||||
|
f 79/183/49 75/143/49 78/144/49
|
||||||
|
f 97/148/50 101/145/50 96/147/50
|
||||||
|
f 95/176/2 97/148/2 94/149/2
|
||||||
|
f 93/152/50 82/184/50 85/150/50
|
||||||
|
f 83/185/50 84/186/50 85/150/50
|
||||||
|
f 85/150/50 86/187/50 87/188/50
|
||||||
|
f 87/188/50 88/189/50 89/190/50
|
||||||
|
f 89/190/50 90/191/50 91/151/50
|
||||||
|
f 91/151/50 92/192/50 93/152/50
|
||||||
|
f 82/184/50 83/185/50 85/150/50
|
||||||
|
f 85/150/50 87/188/50 89/190/50
|
||||||
|
f 89/190/50 91/151/50 85/150/50
|
||||||
|
f 48/66/13 49/65/13 92/154/13
|
||||||
|
f 38/85/1 39/84/1 82/156/1
|
||||||
|
f 45/73/8 46/72/8 89/158/8
|
||||||
|
f 42/79/5 43/78/5 86/160/5
|
||||||
|
f 49/83/12 38/82/12 93/162/12
|
||||||
|
f 39/178/2 40/68/2 83/164/2
|
||||||
|
f 46/180/9 47/71/9 90/166/9
|
||||||
|
f 87/193/6 43/77/6 88/167/6
|
||||||
|
f 40/27/3 41/26/3 84/169/3
|
||||||
|
f 47/179/10 48/69/10 91/171/10
|
||||||
|
f 44/75/7 45/74/7 88/173/7
|
||||||
|
f 101/145/8 99/174/8 100/146/8
|
||||||
|
f 99/194/49 95/176/49 98/177/49
|
||||||
BIN
assets/hbm/textures/models/bale.png
Normal file
BIN
assets/hbm/textures/models/bale.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 28 KiB |
@ -1,26 +1,90 @@
|
|||||||
package com.hbm.entity.projectile;
|
package com.hbm.entity.projectile;
|
||||||
|
|
||||||
|
import com.hbm.handler.BulletConfiguration;
|
||||||
|
|
||||||
import net.minecraft.entity.Entity;
|
import net.minecraft.entity.Entity;
|
||||||
|
import net.minecraft.entity.EntityLivingBase;
|
||||||
import net.minecraft.entity.IProjectile;
|
import net.minecraft.entity.IProjectile;
|
||||||
import net.minecraft.nbt.NBTTagCompound;
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
|
import net.minecraft.util.MathHelper;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
public class EntityBulletBase extends Entity implements IProjectile {
|
public class EntityBulletBase extends Entity implements IProjectile {
|
||||||
|
|
||||||
|
private BulletConfiguration config;
|
||||||
|
private EntityLivingBase shooter;
|
||||||
|
|
||||||
public EntityBulletBase(World p_i1582_1_) {
|
private EntityBulletBase(World world) { super(world); }
|
||||||
super(p_i1582_1_);
|
|
||||||
|
private EntityBulletBase(World world, BulletConfiguration config) {
|
||||||
|
super(world);
|
||||||
|
this.config = config;
|
||||||
|
|
||||||
|
this.setSize(0.5F, 0.5F);
|
||||||
|
}
|
||||||
|
|
||||||
|
public EntityBulletBase(World world, BulletConfiguration config, EntityLivingBase entity, float vel) {
|
||||||
|
super(world);
|
||||||
|
this.config = config;
|
||||||
|
shooter = entity;
|
||||||
|
|
||||||
|
this.setLocationAndAngles(entity.posX, entity.posY + entity.getEyeHeight(), entity.posZ, entity.rotationYaw, entity.rotationPitch);
|
||||||
|
|
||||||
|
this.posX -= MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F;
|
||||||
|
this.posY -= 0.10000000149011612D;
|
||||||
|
this.posZ -= MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F;
|
||||||
|
this.setPosition(this.posX, this.posY, this.posZ);
|
||||||
|
|
||||||
|
this.motionX = -MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI);
|
||||||
|
this.motionZ = MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI);
|
||||||
|
this.motionY = (-MathHelper.sin(this.rotationPitch / 180.0F * (float) Math.PI));
|
||||||
|
|
||||||
|
this.setSize(0.5F, 0.5F);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setThrowableHeading(double p_70186_1_, double p_70186_3_, double p_70186_5_, float p_70186_7_,
|
public void setThrowableHeading(double moX, double moY, double moZ, float mult1, float mult2) {
|
||||||
float p_70186_8_) {
|
|
||||||
// TODO Auto-generated method stub
|
float deviation = 0;
|
||||||
|
|
||||||
|
if(config != null)
|
||||||
|
deviation = config.spread;
|
||||||
|
|
||||||
|
float f2 = MathHelper.sqrt_double(moX * moX + moY * moY + moZ * moZ);
|
||||||
|
moX /= f2;
|
||||||
|
moY /= f2;
|
||||||
|
moZ /= f2;
|
||||||
|
moX += this.rand.nextGaussian() * /*(this.rand.nextBoolean() ? -1 : 1) **/ deviation * mult2;
|
||||||
|
moY += this.rand.nextGaussian() * /*(this.rand.nextBoolean() ? -1 : 1) **/ deviation * mult2;
|
||||||
|
moZ += this.rand.nextGaussian() * /*(this.rand.nextBoolean() ? -1 : 1) **/ deviation * mult2;
|
||||||
|
moX *= mult1;
|
||||||
|
moY *= mult1;
|
||||||
|
moZ *= mult1;
|
||||||
|
this.motionX = moX;
|
||||||
|
this.motionY = moY;
|
||||||
|
this.motionZ = moZ;
|
||||||
|
|
||||||
|
float f3 = MathHelper.sqrt_double(moX * moX + moZ * moZ);
|
||||||
|
this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(moX, moZ) * 180.0D / Math.PI);
|
||||||
|
this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(moY, f3) * 180.0D / Math.PI);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void entityInit() {
|
protected void entityInit() {
|
||||||
// TODO Auto-generated method stub
|
//style
|
||||||
|
this.dataWatcher.addObject(16, Byte.valueOf((byte) 0));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onUpdate() {
|
||||||
|
|
||||||
|
super.onUpdate();
|
||||||
|
|
||||||
|
if(config == null) {
|
||||||
|
this.setDead();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,11 +1,16 @@
|
|||||||
package com.hbm.handler;
|
package com.hbm.handler;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import net.minecraft.item.Item;
|
import net.minecraft.item.Item;
|
||||||
|
import net.minecraft.potion.PotionEffect;
|
||||||
|
|
||||||
public class BulletConfiguration {
|
public class BulletConfiguration {
|
||||||
|
|
||||||
//what item this specific configuration consumes
|
//what item this specific configuration consumes
|
||||||
public Item ammo;
|
public Item ammo;
|
||||||
|
//spread of bullets in gaussian range
|
||||||
|
public float spread;
|
||||||
|
|
||||||
//damage bounds
|
//damage bounds
|
||||||
public float dmgMin;
|
public float dmgMin;
|
||||||
@ -13,6 +18,8 @@ public class BulletConfiguration {
|
|||||||
|
|
||||||
//acceleration torwards neg Y
|
//acceleration torwards neg Y
|
||||||
public double gravity;
|
public double gravity;
|
||||||
|
//max age in ticks before despawning
|
||||||
|
public int maxAge;
|
||||||
|
|
||||||
//whether the projectile should be able to bounce off of blocks
|
//whether the projectile should be able to bounce off of blocks
|
||||||
public boolean doesRicochet;
|
public boolean doesRicochet;
|
||||||
@ -25,18 +32,18 @@ public class BulletConfiguration {
|
|||||||
public boolean doesBreakGlass;
|
public boolean doesBreakGlass;
|
||||||
|
|
||||||
//bullet effects
|
//bullet effects
|
||||||
|
public List<PotionEffect> effects;
|
||||||
public int incendiary;
|
public int incendiary;
|
||||||
public int poison;
|
|
||||||
public int wither;
|
|
||||||
public int emp;
|
public int emp;
|
||||||
public int stun;
|
|
||||||
public int explosive;
|
public int explosive;
|
||||||
public int rainbow;
|
public int rainbow;
|
||||||
public int nuke;
|
public int nuke;
|
||||||
public boolean boxcar;
|
public boolean boxcar;
|
||||||
public boolean destroysBlocks;
|
public boolean destroysBlocks;
|
||||||
|
|
||||||
//appearance for rendering
|
//appearance
|
||||||
public int style;
|
public int style;
|
||||||
|
//0: no plinking, 1: bullet plink, 2: grenade plink
|
||||||
|
public int plink;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
55
com/hbm/handler/GunConfigFactory.java
Normal file
55
com/hbm/handler/GunConfigFactory.java
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
package com.hbm.handler;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
import com.hbm.items.ModItems;
|
||||||
|
|
||||||
|
public class GunConfigFactory {
|
||||||
|
|
||||||
|
public static GunConfiguration getRevolverConfig() {
|
||||||
|
|
||||||
|
BulletConfiguration bullet = new BulletConfiguration();
|
||||||
|
|
||||||
|
bullet.ammo = ModItems.gun_revolver_lead_ammo;
|
||||||
|
bullet.spread = 0F;
|
||||||
|
bullet.dmgMin = 15;
|
||||||
|
bullet.dmgMax = 17;
|
||||||
|
bullet.gravity = 0D;
|
||||||
|
bullet.maxAge = 100;
|
||||||
|
bullet.doesRicochet = true;
|
||||||
|
bullet.ricochetAngle = 15;
|
||||||
|
bullet.doesPenetrate = true;
|
||||||
|
bullet.doesBreakGlass = true;
|
||||||
|
bullet.incendiary = 0;
|
||||||
|
bullet.emp = 0;
|
||||||
|
bullet.rainbow = 0;
|
||||||
|
bullet.nuke = 0;
|
||||||
|
bullet.boxcar = false;
|
||||||
|
bullet.destroysBlocks = false;
|
||||||
|
bullet.style = 0;
|
||||||
|
bullet.plink = 1;
|
||||||
|
|
||||||
|
GunConfiguration config = new GunConfiguration();
|
||||||
|
|
||||||
|
config.rateOfFire = 20;
|
||||||
|
config.bulletsMin = 1;
|
||||||
|
config.bulletsMax = 1;
|
||||||
|
config.gunMode = 0;
|
||||||
|
config.firingMode = 0;
|
||||||
|
config.hasReloadAnim = false;
|
||||||
|
config.hasFiringAnim = false;
|
||||||
|
config.hasSpinup = false;
|
||||||
|
config.hasSpindown = false;
|
||||||
|
config.reloadDuration = 0;
|
||||||
|
config.firingDuration = 0;
|
||||||
|
config.ammoCap = 6;
|
||||||
|
config.reloadType = 1;
|
||||||
|
config.allowsInfinity = true;
|
||||||
|
|
||||||
|
config.config = new ArrayList<BulletConfiguration>();
|
||||||
|
config.config.add(bullet);
|
||||||
|
|
||||||
|
return config;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -14,8 +14,6 @@ public class GunConfiguration {
|
|||||||
public int gunMode;
|
public int gunMode;
|
||||||
//0 = manual, 1 = automatic
|
//0 = manual, 1 = automatic
|
||||||
public int firingMode;
|
public int firingMode;
|
||||||
//spread of bullets in gaussian range
|
|
||||||
public float spread;
|
|
||||||
|
|
||||||
//whether or not there is a reload delay animation
|
//whether or not there is a reload delay animation
|
||||||
public boolean hasReloadAnim;
|
public boolean hasReloadAnim;
|
||||||
|
|||||||
@ -2,6 +2,7 @@ package com.hbm.items;
|
|||||||
|
|
||||||
import com.hbm.blocks.ModBlocks;
|
import com.hbm.blocks.ModBlocks;
|
||||||
import com.hbm.handler.BucketHandler;
|
import com.hbm.handler.BucketHandler;
|
||||||
|
import com.hbm.handler.GunConfigFactory;
|
||||||
import com.hbm.items.bomb.*;
|
import com.hbm.items.bomb.*;
|
||||||
import com.hbm.items.food.*;
|
import com.hbm.items.food.*;
|
||||||
import com.hbm.items.gear.*;
|
import com.hbm.items.gear.*;
|
||||||
@ -2176,7 +2177,8 @@ public class ModItems {
|
|||||||
gun_skystinger = new GunStinger().setUnlocalizedName("gun_skystinger").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_skystinger");
|
gun_skystinger = new GunStinger().setUnlocalizedName("gun_skystinger").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_skystinger");
|
||||||
gun_stinger_ammo = new Item().setUnlocalizedName("gun_stinger_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_stinger_ammo");
|
gun_stinger_ammo = new Item().setUnlocalizedName("gun_stinger_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_stinger_ammo");
|
||||||
gun_revolver_ammo = new Item().setUnlocalizedName("gun_revolver_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_ammo");
|
gun_revolver_ammo = new Item().setUnlocalizedName("gun_revolver_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_ammo");
|
||||||
gun_revolver = new GunRevolver(gun_revolver_ammo, 10, 25, false, false).setMaxDamage(500).setUnlocalizedName("gun_revolver").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver");
|
//gun_revolver = new GunRevolver(gun_revolver_ammo, 10, 25, false, false).setMaxDamage(500).setUnlocalizedName("gun_revolver").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver");
|
||||||
|
gun_revolver = new ItemGunBase(GunConfigFactory.getRevolverConfig()).setUnlocalizedName("gun_revolver").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver");
|
||||||
gun_revolver_saturnite = new GunRevolver(gun_revolver_ammo, 20, 35, false, false).setMaxDamage(2500).setUnlocalizedName("gun_revolver_saturnite").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_saturnite");
|
gun_revolver_saturnite = new GunRevolver(gun_revolver_ammo, 20, 35, false, false).setMaxDamage(2500).setUnlocalizedName("gun_revolver_saturnite").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_saturnite");
|
||||||
gun_revolver_iron_ammo = new Item().setUnlocalizedName("gun_revolver_iron_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_iron_ammo");
|
gun_revolver_iron_ammo = new Item().setUnlocalizedName("gun_revolver_iron_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_iron_ammo");
|
||||||
gun_revolver_iron = new GunRevolver(gun_revolver_iron_ammo, 5, 15, false, false).setMaxDamage(100).setUnlocalizedName("gun_revolver_iron").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_iron");
|
gun_revolver_iron = new GunRevolver(gun_revolver_iron_ammo, 5, 15, false, false).setMaxDamage(100).setUnlocalizedName("gun_revolver_iron").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_iron");
|
||||||
|
|||||||
@ -7,9 +7,12 @@ import org.lwjgl.input.Mouse;
|
|||||||
|
|
||||||
import com.hbm.handler.GunConfiguration;
|
import com.hbm.handler.GunConfiguration;
|
||||||
import com.hbm.interfaces.IHoldableWeapon;
|
import com.hbm.interfaces.IHoldableWeapon;
|
||||||
|
import com.hbm.packet.GunButtonPacket;
|
||||||
|
import com.hbm.packet.PacketDispatcher;
|
||||||
|
|
||||||
import cpw.mods.fml.common.FMLCommonHandler;
|
import cpw.mods.fml.common.FMLCommonHandler;
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
|
import net.minecraft.client.entity.EntityClientPlayerMP;
|
||||||
import net.minecraft.entity.Entity;
|
import net.minecraft.entity.Entity;
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.item.Item;
|
import net.minecraft.item.Item;
|
||||||
@ -21,6 +24,15 @@ public class ItemGunBase extends Item implements IHoldableWeapon {
|
|||||||
|
|
||||||
private GunConfiguration mainConfig;
|
private GunConfiguration mainConfig;
|
||||||
private GunConfiguration altConfig;
|
private GunConfiguration altConfig;
|
||||||
|
|
||||||
|
public ItemGunBase(GunConfiguration config) {
|
||||||
|
mainConfig = config;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ItemGunBase(GunConfiguration config, GunConfiguration alt) {
|
||||||
|
mainConfig = config;
|
||||||
|
altConfig = alt;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) {
|
public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) {
|
||||||
@ -30,50 +42,62 @@ public class ItemGunBase extends Item implements IHoldableWeapon {
|
|||||||
@Override
|
@Override
|
||||||
public void onUpdate(ItemStack stack, World world, Entity entity, int slot, boolean isCurrentItem) {
|
public void onUpdate(ItemStack stack, World world, Entity entity, int slot, boolean isCurrentItem) {
|
||||||
|
|
||||||
if (FMLCommonHandler.instance().getEffectiveSide() == Side.CLIENT) {
|
if (FMLCommonHandler.instance().getEffectiveSide() == Side.CLIENT && entity instanceof EntityPlayer && world.isRemote) {
|
||||||
|
updateClient(stack, world, (EntityPlayer)entity, slot, isCurrentItem);
|
||||||
boolean left = getIsMouseDown(stack);
|
} else {
|
||||||
boolean right = getIsAltDown(stack);
|
updateServer(stack, world, (EntityPlayer)entity, slot, isCurrentItem);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void updateClient(ItemStack stack, World world, EntityPlayer entity, int slot, boolean isCurrentItem) {
|
||||||
|
|
||||||
|
boolean clickLeft = Mouse.isButtonDown(0);
|
||||||
|
boolean clickRight = Mouse.isButtonDown(1);
|
||||||
|
boolean left = getIsMouseDown(stack);
|
||||||
|
boolean right = getIsAltDown(stack);
|
||||||
|
|
||||||
|
if(isCurrentItem) {
|
||||||
if(left && right) {
|
if(left && right) {
|
||||||
//TODO: stop both with packet
|
PacketDispatcher.wrapper.sendToServer(new GunButtonPacket(false, (byte) 0));
|
||||||
|
PacketDispatcher.wrapper.sendToServer(new GunButtonPacket(false, (byte) 1));
|
||||||
setIsMouseDown(stack, false);
|
setIsMouseDown(stack, false);
|
||||||
setIsAltDown(stack, false);
|
setIsAltDown(stack, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!left && !right) {
|
if(!left && !right) {
|
||||||
if(Mouse.isButtonDown(0)) {
|
if(clickLeft) {
|
||||||
//TODO: start with packet
|
PacketDispatcher.wrapper.sendToServer(new GunButtonPacket(true, (byte) 0));
|
||||||
setIsMouseDown(stack, true);
|
setIsMouseDown(stack, true);
|
||||||
} else if(Mouse.isButtonDown(0)) {
|
} else if(clickRight) {
|
||||||
//TODO: start with packet
|
PacketDispatcher.wrapper.sendToServer(new GunButtonPacket(true, (byte) 1));
|
||||||
setIsAltDown(stack, true);
|
setIsAltDown(stack, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(left && !Mouse.isButtonDown(0)) {
|
if(left && !clickLeft) {
|
||||||
//TODO: stop with packet
|
PacketDispatcher.wrapper.sendToServer(new GunButtonPacket(false, (byte) 0));
|
||||||
setIsMouseDown(stack, false);
|
setIsMouseDown(stack, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(right && !Mouse.isButtonDown(1)) {
|
if(right && !clickRight) {
|
||||||
//TODO: stop with packet
|
PacketDispatcher.wrapper.sendToServer(new GunButtonPacket(false, (byte) 1));
|
||||||
setIsAltDown(stack, false);
|
setIsAltDown(stack, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(mainConfig.reloadType != 0 || (altConfig != null && altConfig.reloadType != 0)) {
|
if(mainConfig.reloadType != 0 || (altConfig != null && altConfig.reloadType != 0)) {
|
||||||
|
|
||||||
if(Keyboard.isKeyDown(Keyboard.KEY_R)) {
|
if(Keyboard.isKeyDown(Keyboard.KEY_R)) {
|
||||||
|
PacketDispatcher.wrapper.sendToServer(new GunButtonPacket(true, (byte) 2));
|
||||||
|
setIsReloading(stack, true);
|
||||||
}
|
}
|
||||||
//TODO: reload with packet
|
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
|
||||||
|
private void updateServer(ItemStack stack, World world, EntityPlayer entity, int slot, boolean isCurrentItem) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
//called every time the gun shoots
|
//called every time the gun shoots
|
||||||
private void fire(ItemStack stack, World world, EntityPlayer player) {
|
private void fire(ItemStack stack, World world, EntityPlayer player) {
|
||||||
@ -101,6 +125,16 @@ public class ItemGunBase extends Item implements IHoldableWeapon {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*//returns main config from itemstack
|
||||||
|
public static GunConfiguration extractConfig(ItemStack stack) {
|
||||||
|
|
||||||
|
if(stack != null && stack.getItem() instanceof ItemGunBase) {
|
||||||
|
return ((ItemGunBase)stack.getItem()).mainConfig;
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}*/
|
||||||
|
|
||||||
/// if reloading routine is active ///
|
/// if reloading routine is active ///
|
||||||
public static void setIsReloading(ItemStack stack, boolean b) {
|
public static void setIsReloading(ItemStack stack, boolean b) {
|
||||||
writeNBT(stack, "isReloading", b ? 1 : 0);
|
writeNBT(stack, "isReloading", b ? 1 : 0);
|
||||||
@ -147,11 +181,11 @@ public class ItemGunBase extends Item implements IHoldableWeapon {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// R/W reload animation timer ///
|
/// R/W reload animation timer ///
|
||||||
public static void setReloadAnim(ItemStack stack, int i) {
|
public static void setReloadCycle(ItemStack stack, int i) {
|
||||||
writeNBT(stack, "reload", i);
|
writeNBT(stack, "reload", i);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static int getReloadAnim(ItemStack stack) {
|
public static int getReloadCycle(ItemStack stack) {
|
||||||
return readNBT(stack, "reload");
|
return readNBT(stack, "reload");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
81
com/hbm/packet/GunButtonPacket.java
Normal file
81
com/hbm/packet/GunButtonPacket.java
Normal file
@ -0,0 +1,81 @@
|
|||||||
|
package com.hbm.packet;
|
||||||
|
|
||||||
|
import com.hbm.explosion.ExplosionLarge;
|
||||||
|
import com.hbm.handler.FluidTypeHandler.FluidType;
|
||||||
|
import com.hbm.items.weapon.ItemGunBase;
|
||||||
|
import com.hbm.saveddata.SatelliteSaveStructure;
|
||||||
|
import com.hbm.saveddata.SatelliteSavedData;
|
||||||
|
import com.hbm.tileentity.bomb.TileEntityTurretCIWS;
|
||||||
|
import com.hbm.tileentity.bomb.TileEntityTurretCheapo;
|
||||||
|
import com.hbm.tileentity.machine.TileEntityAMSBase;
|
||||||
|
import com.hbm.tileentity.machine.TileEntityAMSEmitter;
|
||||||
|
import com.hbm.tileentity.machine.TileEntityAMSLimiter;
|
||||||
|
import com.hbm.tileentity.machine.TileEntityForceField;
|
||||||
|
import com.hbm.tileentity.machine.TileEntityMachineDiesel;
|
||||||
|
import com.hbm.tileentity.machine.TileEntityMachineReactorLarge;
|
||||||
|
import com.hbm.tileentity.machine.TileEntityMachineReactorSmall;
|
||||||
|
import com.hbm.tileentity.machine.TileEntityMachineSeleniumEngine;
|
||||||
|
import com.hbm.tileentity.machine.TileEntityRadioRec;
|
||||||
|
import com.hbm.tileentity.machine.TileEntityReactorControl;
|
||||||
|
|
||||||
|
import cpw.mods.fml.common.network.simpleimpl.IMessage;
|
||||||
|
import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
|
||||||
|
import cpw.mods.fml.common.network.simpleimpl.MessageContext;
|
||||||
|
import cpw.mods.fml.relauncher.Side;
|
||||||
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
|
import io.netty.buffer.ByteBuf;
|
||||||
|
import net.minecraft.client.Minecraft;
|
||||||
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
|
import net.minecraft.init.Blocks;
|
||||||
|
import net.minecraft.tileentity.TileEntity;
|
||||||
|
|
||||||
|
public class GunButtonPacket implements IMessage {
|
||||||
|
|
||||||
|
//true or false, whether or not the key is pressed
|
||||||
|
boolean state;
|
||||||
|
//0: [M1]
|
||||||
|
//1: [M2]
|
||||||
|
//2: [R]
|
||||||
|
byte button;
|
||||||
|
|
||||||
|
public GunButtonPacket() { }
|
||||||
|
|
||||||
|
public GunButtonPacket(boolean m1, byte b) {
|
||||||
|
state = m1;
|
||||||
|
button = b;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void fromBytes(ByteBuf buf) {
|
||||||
|
state = buf.readBoolean();
|
||||||
|
button = buf.readByte();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void toBytes(ByteBuf buf) {
|
||||||
|
buf.writeBoolean(state);
|
||||||
|
buf.writeByte(button);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static class Handler implements IMessageHandler<GunButtonPacket, IMessage> {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public IMessage onMessage(GunButtonPacket m, MessageContext ctx) {
|
||||||
|
|
||||||
|
EntityPlayer p = ctx.getServerHandler().playerEntity;
|
||||||
|
|
||||||
|
if(p.getHeldItem() != null && p.getHeldItem().getItem() instanceof ItemGunBase) {
|
||||||
|
|
||||||
|
switch(m.button) {
|
||||||
|
case 0: ItemGunBase.setIsMouseDown(p.getHeldItem(), m.state); break;
|
||||||
|
case 1: ItemGunBase.setIsAltDown(p.getHeldItem(), m.state); break;
|
||||||
|
case 2: ItemGunBase.setIsReloading(p.getHeldItem(), true); break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
System.out.println(m.button + ": " + m.state);
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -79,6 +79,8 @@ public class PacketDispatcher {
|
|||||||
wrapper.registerMessage(TEFFPacket.Handler.class, TEFFPacket.class, i++, Side.CLIENT);
|
wrapper.registerMessage(TEFFPacket.Handler.class, TEFFPacket.class, i++, Side.CLIENT);
|
||||||
//Information packet for the reactor control block
|
//Information packet for the reactor control block
|
||||||
wrapper.registerMessage(TEControlPacket.Handler.class, TEControlPacket.class, i++, Side.CLIENT);
|
wrapper.registerMessage(TEControlPacket.Handler.class, TEControlPacket.class, i++, Side.CLIENT);
|
||||||
|
//Sends button information for ItemGunBase
|
||||||
|
wrapper.registerMessage(GunButtonPacket.Handler.class, GunButtonPacket.class, i++, Side.SERVER);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,6 +4,7 @@ import org.lwjgl.opengl.GL11;
|
|||||||
|
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
|
import net.minecraft.client.renderer.Tessellator;
|
||||||
import net.minecraft.client.renderer.entity.Render;
|
import net.minecraft.client.renderer.entity.Render;
|
||||||
import net.minecraft.entity.Entity;
|
import net.minecraft.entity.Entity;
|
||||||
import net.minecraft.util.ResourceLocation;
|
import net.minecraft.util.ResourceLocation;
|
||||||
@ -40,6 +41,10 @@ public class RenderRocket extends Render {
|
|||||||
bindTexture(new ResourceLocation(RefStrings.MODID + ":textures/models/bullet.png"));
|
bindTexture(new ResourceLocation(RefStrings.MODID + ":textures/models/bullet.png"));
|
||||||
}
|
}
|
||||||
miniNuke.renderAll(0.0625F);
|
miniNuke.renderAll(0.0625F);
|
||||||
|
|
||||||
|
//renderFlechette();
|
||||||
|
//renderDart();
|
||||||
|
|
||||||
GL11.glPopMatrix();
|
GL11.glPopMatrix();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -55,5 +60,216 @@ public class RenderRocket extends Render {
|
|||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void renderFlechette() {
|
||||||
|
GL11.glPushMatrix();
|
||||||
|
GL11.glDisable(GL11.GL_TEXTURE_2D);
|
||||||
|
GL11.glDisable(GL11.GL_LIGHTING);
|
||||||
|
|
||||||
|
GL11.glScalef(1F/16F, 1F/16F, 1F/16F);
|
||||||
|
GL11.glScalef(-1, 1, 1);
|
||||||
|
|
||||||
|
Tessellator tess = Tessellator.instance;
|
||||||
|
|
||||||
|
//back
|
||||||
|
GL11.glColor3f(0.15F, 0.15F, 0.15F);
|
||||||
|
tess.startDrawingQuads();
|
||||||
|
tess.addVertex(0, 1, -1);
|
||||||
|
tess.addVertex(0, -1, -1);
|
||||||
|
tess.addVertex(0, -1, 1);
|
||||||
|
tess.addVertex(0, 1, 1);
|
||||||
|
tess.draw();
|
||||||
|
|
||||||
|
//base
|
||||||
|
tess.startDrawingQuads();
|
||||||
|
tess.addVertex(1, -0.5, -0.5);
|
||||||
|
tess.addVertex(0, -1, -1);
|
||||||
|
tess.addVertex(0, 1, -1);
|
||||||
|
tess.addVertex(1, 0.5, -0.5);
|
||||||
|
tess.draw();
|
||||||
|
|
||||||
|
tess.startDrawingQuads();
|
||||||
|
tess.addVertex(0, -1, 1);
|
||||||
|
tess.addVertex(1, -0.5, 0.5);
|
||||||
|
tess.addVertex(1, 0.5, 0.5);
|
||||||
|
tess.addVertex(0, 1, 1);
|
||||||
|
tess.draw();
|
||||||
|
|
||||||
|
tess.startDrawingQuads();
|
||||||
|
tess.addVertex(0, -1, -1);
|
||||||
|
tess.addVertex(1, -0.5, -0.5);
|
||||||
|
tess.addVertex(1, -0.5, 0.5);
|
||||||
|
tess.addVertex(0, -1, 1);
|
||||||
|
tess.draw();
|
||||||
|
|
||||||
|
tess.startDrawingQuads();
|
||||||
|
tess.addVertex(1, 0.5, -0.5);
|
||||||
|
tess.addVertex(0, 1, -1);
|
||||||
|
tess.addVertex(0, 1, 1);
|
||||||
|
tess.addVertex(1, 0.5, 0.5);
|
||||||
|
tess.draw();
|
||||||
|
|
||||||
|
//pin
|
||||||
|
tess.startDrawing(4);
|
||||||
|
tess.addVertex(1, -0.5, -0.5);
|
||||||
|
tess.addVertex(1, 0.5, -0.5);
|
||||||
|
tess.addVertex(6, 0, 0);
|
||||||
|
tess.draw();
|
||||||
|
|
||||||
|
tess.startDrawing(4);
|
||||||
|
tess.addVertex(1, -0.5, 0.5);
|
||||||
|
tess.addVertex(6, 0, 0);
|
||||||
|
tess.addVertex(1, 0.5, 0.5);
|
||||||
|
tess.draw();
|
||||||
|
|
||||||
|
tess.startDrawing(4);
|
||||||
|
tess.addVertex(1, -0.5, -0.5);
|
||||||
|
tess.addVertex(6, 0, 0);
|
||||||
|
tess.addVertex(1, -0.5, 0.5);
|
||||||
|
tess.draw();
|
||||||
|
|
||||||
|
tess.startDrawing(4);
|
||||||
|
tess.addVertex(1, 0.5, -0.5);
|
||||||
|
tess.addVertex(1, 0.5, 0.5);
|
||||||
|
tess.addVertex(6, 0, 0);
|
||||||
|
tess.draw();
|
||||||
|
|
||||||
|
|
||||||
|
GL11.glEnable(GL11.GL_TEXTURE_2D);
|
||||||
|
|
||||||
|
GL11.glPopMatrix();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void renderDart() {
|
||||||
|
GL11.glPushMatrix();
|
||||||
|
GL11.glDisable(GL11.GL_TEXTURE_2D);
|
||||||
|
GL11.glDisable(GL11.GL_CULL_FACE);
|
||||||
|
GL11.glDisable(GL11.GL_LIGHTING);
|
||||||
|
GL11.glShadeModel(GL11.GL_SMOOTH);
|
||||||
|
GL11.glEnable(GL11.GL_BLEND);
|
||||||
|
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE);
|
||||||
|
GL11.glDisable(GL11.GL_ALPHA_TEST);
|
||||||
|
GL11.glDepthMask(false);
|
||||||
|
|
||||||
|
GL11.glScalef(1F/4F, 1F/8F, 1F/8F);
|
||||||
|
GL11.glScalef(-1, 1, 1);
|
||||||
|
|
||||||
|
Tessellator tess = Tessellator.instance;
|
||||||
|
|
||||||
|
float red = 0.125F;
|
||||||
|
float green = 0.0F;
|
||||||
|
float blue = 1.0F;
|
||||||
|
|
||||||
|
//front
|
||||||
|
tess.startDrawing(4);
|
||||||
|
tess.setColorRGBA_F(red, green, blue, 1);
|
||||||
|
tess.addVertex(6, 0, 0);
|
||||||
|
tess.setColorRGBA_F(red, green, blue, 0);
|
||||||
|
tess.addVertex(3, -1, -1);
|
||||||
|
tess.addVertex(3, 1, -1);
|
||||||
|
tess.draw();
|
||||||
|
|
||||||
|
tess.startDrawing(4);
|
||||||
|
tess.setColorRGBA_F(red, green, blue, 0);
|
||||||
|
tess.addVertex(3, -1, 1);
|
||||||
|
tess.setColorRGBA_F(red, green, blue, 1);
|
||||||
|
tess.addVertex(6, 0, 0);
|
||||||
|
tess.setColorRGBA_F(red, green, blue, 0);
|
||||||
|
tess.addVertex(3, 1, 1);
|
||||||
|
tess.draw();
|
||||||
|
|
||||||
|
tess.startDrawing(4);
|
||||||
|
tess.setColorRGBA_F(red, green, blue, 0);
|
||||||
|
tess.addVertex(3, -1, -1);
|
||||||
|
tess.setColorRGBA_F(red, green, blue, 1);
|
||||||
|
tess.addVertex(6, 0, 0);
|
||||||
|
tess.setColorRGBA_F(red, green, blue, 0);
|
||||||
|
tess.addVertex(3, -1, 1);
|
||||||
|
tess.draw();
|
||||||
|
|
||||||
|
tess.startDrawing(4);
|
||||||
|
tess.setColorRGBA_F(red, green, blue, 1);
|
||||||
|
tess.addVertex(6, 0, 0);
|
||||||
|
tess.setColorRGBA_F(red, green, blue, 0);
|
||||||
|
tess.addVertex(3, 1, -1);
|
||||||
|
tess.setColorRGBA_F(red, green, blue, 0);
|
||||||
|
tess.addVertex(3, 1, 1);
|
||||||
|
tess.draw();
|
||||||
|
|
||||||
|
//mid
|
||||||
|
tess.startDrawing(4);
|
||||||
|
tess.setColorRGBA_F(red, green, blue, 1);
|
||||||
|
tess.addVertex(6, 0, 0);
|
||||||
|
tess.addVertex(4, -0.5, -0.5);
|
||||||
|
tess.addVertex(4, 0.5, -0.5);
|
||||||
|
tess.draw();
|
||||||
|
|
||||||
|
tess.startDrawing(4);
|
||||||
|
tess.setColorRGBA_F(red, green, blue, 1);
|
||||||
|
tess.addVertex(4, -0.5, 0.5);
|
||||||
|
tess.addVertex(6, 0, 0);
|
||||||
|
tess.addVertex(4, 0.5, 0.5);
|
||||||
|
tess.draw();
|
||||||
|
|
||||||
|
tess.startDrawing(4);
|
||||||
|
tess.setColorRGBA_F(red, green, blue, 1);
|
||||||
|
tess.addVertex(4, -0.5, -0.5);
|
||||||
|
tess.addVertex(6, 0, 0);
|
||||||
|
tess.addVertex(4, -0.5, 0.5);
|
||||||
|
tess.draw();
|
||||||
|
|
||||||
|
tess.startDrawing(4);
|
||||||
|
tess.setColorRGBA_F(red, green, blue, 1);
|
||||||
|
tess.addVertex(6, 0, 0);
|
||||||
|
tess.addVertex(4, 0.5, -0.5);
|
||||||
|
tess.addVertex(4, 0.5, 0.5);
|
||||||
|
tess.draw();
|
||||||
|
|
||||||
|
//tail
|
||||||
|
tess.startDrawingQuads();
|
||||||
|
tess.setColorRGBA_F(red, green, blue, 1);
|
||||||
|
tess.addVertex(4, 0.5, -0.5);
|
||||||
|
tess.addVertex(4, 0.5, 0.5);
|
||||||
|
tess.setColorRGBA_F(red, green, blue, 0);
|
||||||
|
tess.addVertex(0, 0.5, 0.5);
|
||||||
|
tess.addVertex(0, 0.5, -0.5);
|
||||||
|
tess.draw();
|
||||||
|
|
||||||
|
tess.startDrawingQuads();
|
||||||
|
tess.setColorRGBA_F(red, green, blue, 1);
|
||||||
|
tess.addVertex(4, -0.5, -0.5);
|
||||||
|
tess.addVertex(4, -0.5, 0.5);
|
||||||
|
tess.setColorRGBA_F(red, green, blue, 0);
|
||||||
|
tess.addVertex(0, -0.5, 0.5);
|
||||||
|
tess.addVertex(0, -0.5, -0.5);
|
||||||
|
tess.draw();
|
||||||
|
|
||||||
|
tess.startDrawingQuads();
|
||||||
|
tess.setColorRGBA_F(red, green, blue, 1);
|
||||||
|
tess.addVertex(4, -0.5, 0.5);
|
||||||
|
tess.addVertex(4, 0.5, 0.5);
|
||||||
|
tess.setColorRGBA_F(red, green, blue, 0);
|
||||||
|
tess.addVertex(0, 0.5, 0.5);
|
||||||
|
tess.addVertex(0, -0.5, 0.5);
|
||||||
|
tess.draw();
|
||||||
|
|
||||||
|
tess.startDrawingQuads();
|
||||||
|
tess.setColorRGBA_F(red, green, blue, 1);
|
||||||
|
tess.addVertex(4, -0.5, -0.5);
|
||||||
|
tess.addVertex(4, 0.5, -0.5);
|
||||||
|
tess.setColorRGBA_F(red, green, blue, 0);
|
||||||
|
tess.addVertex(0, 0.5, -0.5);
|
||||||
|
tess.addVertex(0, -0.5, -0.5);
|
||||||
|
tess.draw();
|
||||||
|
|
||||||
|
GL11.glEnable(GL11.GL_TEXTURE_2D);
|
||||||
|
GL11.glDisable(GL11.GL_BLEND);
|
||||||
|
GL11.glEnable(GL11.GL_LIGHTING);
|
||||||
|
GL11.glEnable(GL11.GL_TEXTURE_2D);
|
||||||
|
GL11.glDisable(GL11.GL_CULL_FACE);
|
||||||
|
GL11.glDepthMask(true);
|
||||||
|
|
||||||
|
GL11.glPopMatrix();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user