n2 framework, potatOS voice, better mush unwrap

This commit is contained in:
HbmMods 2018-03-26 23:34:22 +02:00
parent aac1c759f9
commit 4ba4857737
29 changed files with 3540 additions and 2344 deletions

View File

@ -497,7 +497,7 @@ item.wire_schrabidium.name=Schrabidium Wire
item.circuit_raw.name=Basic Circuit Assembly item.circuit_raw.name=Basic Circuit Assembly
item.circuit_aluminium.name=Basic Circuit item.circuit_aluminium.name=Basic Circuit
item.circuit_copper.name=Enhanced Circuit item.circuit_copper.name=Enhanced Circuit
item.circuit_red_copper.name=Advanved Circuit item.circuit_red_copper.name=Advanced Circuit
item.circuit_gold.name=Overclocked Circuit item.circuit_gold.name=Overclocked Circuit
item.circuit_schrabidium.name=High Performance Circuit item.circuit_schrabidium.name=High Performance Circuit
item.circuit_targeting_tier1.name=Military Grade Circuit Board (Tier 1) item.circuit_targeting_tier1.name=Military Grade Circuit Board (Tier 1)
@ -1580,4 +1580,4 @@ tile.crystal_pulsar.name=Pulsating Crystal
tile.taint.name=Taint tile.taint.name=Taint
tile.cheater_virus.name=Gelid Euphemium tile.cheater_virus.name=Gelid Euphemium
tile.cheater_virus_seed.name=Unstable Euphemium Schrabide Block tile.cheater_virus_seed.name=Unstable Euphemium Schrabide Block

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

632
assets/hbm/models/n2.obj Normal file
View File

@ -0,0 +1,632 @@
# Blender v2.76 (sub 0) OBJ File: 'n2.blend'
# www.blender.org
o Cylinder
v 0.250000 4.250000 0.000000
v 0.175000 4.293302 0.000000
v 0.175000 4.206698 0.000000
v 0.176777 4.250000 -0.176777
v 0.123744 4.293302 -0.123744
v 0.123744 4.206698 -0.123744
v -0.000000 4.250000 -0.250000
v -0.000000 4.293302 -0.175000
v -0.000000 4.206698 -0.175000
v -0.176777 4.250000 -0.176777
v -0.123744 4.293302 -0.123744
v -0.123744 4.206698 -0.123744
v -0.250000 4.250000 0.000000
v -0.175000 4.293302 0.000000
v -0.175000 4.206698 0.000000
v -0.176777 4.250000 0.176777
v -0.123744 4.293302 0.123744
v -0.123744 4.206698 0.123744
v -0.000000 4.250000 0.250000
v -0.000000 4.293302 0.175000
v -0.000000 4.206698 0.175000
v 0.176777 4.250000 0.176777
v 0.123744 4.293302 0.123744
v 0.123744 4.206698 0.123744
v 0.000000 0.000000 -0.850000
v 0.000000 0.250000 -1.000000
v 0.325281 0.000000 -0.785298
v 0.382683 0.250000 -0.923880
v 0.601041 0.000000 -0.601041
v 0.707107 0.250000 -0.707107
v 0.785298 0.000000 -0.325281
v 0.923880 0.250000 -0.382683
v 0.850000 0.000000 0.000000
v 1.000000 0.250000 0.000000
v 0.785298 0.000000 0.325281
v 0.923880 0.250000 0.382684
v 0.601041 0.000000 0.601041
v 0.707107 0.250000 0.707107
v 0.325281 0.000000 0.785298
v 0.382683 0.250000 0.923880
v 0.000000 0.000000 0.850000
v 0.000000 0.250000 1.000000
v -0.325281 0.000000 0.785298
v -0.382683 0.250000 0.923880
v -0.601041 0.000000 0.601041
v -0.707107 0.250000 0.707107
v -0.785298 0.000000 0.325281
v -0.923880 0.250000 0.382684
v -0.850000 0.000000 -0.000000
v -1.000000 0.250000 -0.000000
v -0.785298 0.000000 -0.325281
v -0.923879 0.250000 -0.382684
v -0.601041 0.000000 -0.601041
v -0.707107 0.250000 -0.707107
v -0.325281 0.000000 -0.785298
v -0.382683 0.250000 -0.923880
v 0.382683 3.000000 -0.923880
v 0.000000 3.000000 -1.000000
v 0.707107 3.000000 -0.707107
v 0.923880 3.000000 -0.382683
v 1.000000 3.000000 0.000000
v 0.923880 3.000000 0.382684
v 0.707107 3.000000 0.707107
v 0.382683 3.000000 0.923880
v 0.000000 3.000000 1.000000
v -0.382683 3.000000 0.923880
v -0.707107 3.000000 0.707107
v -0.923880 3.000000 0.382684
v -1.000000 3.000000 -0.000000
v -0.923879 3.000000 -0.382684
v -0.707107 3.000000 -0.707107
v -0.382683 3.000000 -0.923880
v 0.057403 4.000000 -0.138582
v 0.000000 4.000000 -0.150000
v 0.106066 4.000000 -0.106066
v 0.138582 4.000000 -0.057403
v 0.150000 4.000000 -0.000000
v 0.138582 4.000000 0.057403
v 0.106066 4.000000 0.106066
v 0.057403 4.000000 0.138582
v 0.000000 4.000000 0.150000
v -0.057402 4.000000 0.138582
v -0.106066 4.000000 0.106066
v -0.138582 4.000000 0.057403
v -0.150000 4.000000 -0.000000
v -0.138582 4.000000 -0.057403
v -0.106066 4.000000 -0.106066
v -0.057402 4.000000 -0.138582
v 0.057403 4.500000 -0.138582
v 0.000000 4.500000 -0.150000
v 0.106066 4.500000 -0.106066
v 0.138582 4.500000 -0.057403
v 0.150000 4.500000 -0.000000
v 0.138582 4.500000 0.057403
v 0.106066 4.500000 0.106066
v 0.057403 4.500000 0.138582
v 0.000000 4.500000 0.150000
v -0.057402 4.500000 0.138582
v -0.106066 4.500000 0.106066
v -0.138582 4.500000 0.057403
v -0.150000 4.500000 -0.000000
v -0.138582 4.500000 -0.057403
v -0.106066 4.500000 -0.106066
v -0.057402 4.500000 -0.138582
v 0.000000 4.650000 0.000000
vt 0.763805 0.825843
vt 0.792402 0.825843
vt 0.788113 0.838055
vt 0.788113 0.850999
vt 0.768094 0.850999
vt 0.768094 0.813631
vt 0.788113 0.813631
vt 0.763805 0.750495
vt 0.768094 0.738283
vt 0.788113 0.738283
vt 0.768094 0.725339
vt 0.788113 0.725339
vt 0.768094 0.762707
vt 0.792402 0.750495
vt 0.516469 0.750495
vt 0.520758 0.738283
vt 0.540777 0.738283
vt 0.520758 0.725339
vt 0.540777 0.725339
vt 0.540777 0.762707
vt 0.520758 0.762707
vt 0.684282 0.838787
vt 0.688572 0.826575
vt 0.708591 0.826575
vt 0.688572 0.813631
vt 0.708591 0.813631
vt 0.688572 0.850999
vt 0.712880 0.838787
vt 0.545066 0.838787
vt 0.516469 0.838787
vt 0.520758 0.826575
vt 0.520758 0.813631
vt 0.540777 0.813631
vt 0.520758 0.850999
vt 0.712880 0.737551
vt 0.708591 0.749763
vt 0.688572 0.749763
vt 0.708591 0.762707
vt 0.688572 0.762707
vt 0.708591 0.725339
vt 0.684282 0.737551
vt 0.595991 0.817073
vt 0.624588 0.817073
vt 0.620299 0.829285
vt 0.620299 0.842229
vt 0.600280 0.842229
vt 0.620299 0.804861
vt 0.608203 0.725339
vt 0.620415 0.729629
vt 0.620415 0.749647
vt 0.633358 0.729629
vt 0.633358 0.749647
vt 0.595991 0.749647
vt 0.595991 0.729629
vt 0.725256 0.068817
vt 0.666940 0.068817
vt 0.671314 0.025462
vt 0.608624 0.068817
vt 0.612998 0.025462
vt 0.604250 0.025462
vt 0.550308 0.068817
vt 0.491992 0.068817
vt 0.496365 0.025462
vt 0.433676 0.068817
vt 0.438049 0.025462
vt 0.375360 0.068817
vt 0.379733 0.025462
vt 0.317043 0.068817
vt 0.321417 0.025462
vt 0.258727 0.068817
vt 0.263101 0.025462
vt 0.200411 0.068817
vt 0.204785 0.025462
vt 0.196037 0.025462
vt 0.142095 0.068817
vt 0.083779 0.068817
vt 0.088153 0.025462
vt 0.025463 0.068817
vt 0.029837 0.025462
vt 0.954147 0.025462
vt 0.958521 0.068817
vt 0.900205 0.068817
vt 0.841888 0.068817
vt 0.846262 0.025462
vt 0.608624 0.479830
vt 0.550308 0.479830
vt 0.783572 0.068817
vt 0.729630 0.025462
vt 0.837515 0.025462
vt 0.255692 0.920518
vt 0.079481 0.955569
vt 0.220641 0.744308
vt 0.433676 0.479830
vt 0.491992 0.479830
vt 0.467207 0.674414
vt 0.317043 0.479830
vt 0.258727 0.479830
vt 0.725256 0.479830
vt 0.666940 0.479830
vt 0.958521 0.479830
vt 0.900205 0.479830
vt 0.375359 0.479830
vt 0.142095 0.479830
vt 0.083778 0.479830
vt 0.783572 0.479830
vt 0.200411 0.479830
vt 0.841889 0.479830
vt 0.025462 0.479830
vt 0.351828 0.725339
vt 0.351827 0.800069
vt 0.343080 0.800069
vt 0.933737 0.674415
vt 0.408891 0.674414
vt 0.400144 0.674414
vt 0.875421 0.674415
vt 0.866674 0.674415
vt 0.350575 0.674414
vt 0.817105 0.674415
vt 0.808357 0.674415
vt 0.292259 0.674414
vt 0.700472 0.674414
vt 0.758788 0.674415
vt 0.233942 0.674414
vt 0.225195 0.674414
vt 0.642156 0.674414
vt 0.175626 0.674414
vt 0.583840 0.674414
vt 0.117310 0.674415
vt 0.108563 0.674415
vt 0.525524 0.674414
vt 0.516776 0.674414
vt 0.058994 0.674415
vt 0.050246 0.674415
vt 0.360575 0.800069
vt 0.356201 0.831471
vt 0.413060 0.725339
vt 0.413059 0.800069
vt 0.404312 0.800069
vt 0.343080 0.725339
vt 0.334333 0.800069
vt 0.404312 0.725339
vt 0.395564 0.800069
vt 0.334333 0.725339
vt 0.325585 0.800069
vt 0.395565 0.725339
vt 0.386817 0.800069
vt 0.465544 0.725340
vt 0.465544 0.800070
vt 0.456796 0.800070
vt 0.386817 0.725339
vt 0.378070 0.800069
vt 0.456797 0.725340
vt 0.448049 0.800070
vt 0.378070 0.725339
vt 0.369322 0.800069
vt 0.448049 0.725340
vt 0.439301 0.800070
vt 0.369322 0.725339
vt 0.430555 0.725340
vt 0.430554 0.800069
vt 0.421806 0.800069
vt 0.439302 0.725340
vt 0.360575 0.725339
vt 0.421807 0.725339
vt 0.364948 0.831471
vt 0.329959 0.831471
vt 0.461169 0.831472
vt 0.347454 0.831471
vt 0.434927 0.831471
vt 0.452422 0.831472
vt 0.443675 0.831471
vt 0.426180 0.831471
vt 0.417433 0.831471
vt 0.408685 0.831471
vt 0.399938 0.831471
vt 0.391190 0.831471
vt 0.382443 0.831471
vt 0.373696 0.831471
vt 0.338706 0.831471
vt 0.768094 0.838055
vt 0.788113 0.762707
vt 0.545066 0.750495
vt 0.708591 0.850999
vt 0.540777 0.826575
vt 0.540777 0.850999
vt 0.688572 0.725339
vt 0.600280 0.829285
vt 0.600280 0.804861
vt 0.608203 0.753937
vt 0.720883 0.025462
vt 0.662566 0.025462
vt 0.554682 0.025462
vt 0.545934 0.025462
vt 0.487618 0.025462
vt 0.429302 0.025462
vt 0.370986 0.025462
vt 0.312670 0.025462
vt 0.254354 0.025462
vt 0.146469 0.025462
vt 0.137721 0.025462
vt 0.079405 0.025462
vt 0.904578 0.025462
vt 0.895831 0.025462
vt 0.779199 0.025462
vt 0.787946 0.025462
vt 0.044431 0.779359
vt 0.079482 0.744308
vt 0.125277 0.725339
vt 0.174846 0.725339
vt 0.255692 0.779359
vt 0.274661 0.825154
vt 0.274661 0.874723
vt 0.220641 0.955569
vt 0.174846 0.974538
vt 0.125277 0.974538
vt 0.044431 0.920518
vt 0.025462 0.874723
vt 0.025462 0.825154
vt 0.458460 0.674414
vt 0.924990 0.674415
vt 0.341828 0.674414
vt 0.283511 0.674414
vt 0.691725 0.674414
vt 0.750041 0.674415
vt 0.633408 0.674414
vt 0.166879 0.674414
vt 0.575092 0.674414
vt 0.325585 0.725339
vn 0.489600 0.848000 -0.202800
vn -0.923900 0.000000 0.382700
vn 0.489600 -0.848000 -0.202800
vn 0.202800 0.848000 -0.489600
vn -0.382700 0.000000 0.923900
vn 0.202800 -0.848000 -0.489600
vn -0.202800 0.848000 -0.489600
vn 0.382700 0.000000 0.923900
vn -0.202800 -0.848000 -0.489600
vn -0.489600 0.848000 -0.202800
vn 0.923900 0.000000 0.382700
vn -0.489600 -0.848000 -0.202800
vn -0.489600 0.848000 0.202800
vn 0.923900 0.000000 -0.382700
vn -0.489600 -0.848000 0.202800
vn -0.202800 0.848000 0.489600
vn 0.382700 0.000000 -0.923900
vn -0.202800 -0.848000 0.489600
vn 0.202800 0.848000 0.489600
vn -0.382700 0.000000 -0.923900
vn 0.202800 -0.848000 0.489600
vn 0.489600 0.848000 0.202800
vn -0.923900 0.000000 -0.382700
vn 0.489600 -0.848000 0.202800
vn 0.168100 -0.507200 -0.845300
vn 0.478800 -0.507200 -0.716600
vn 0.716600 -0.507200 -0.478800
vn 0.845300 -0.507200 -0.168100
vn 0.845300 -0.507200 0.168100
vn 0.716600 -0.507200 0.478800
vn 0.478800 -0.507200 0.716600
vn 0.168100 -0.507200 0.845300
vn -0.168100 -0.507200 0.845300
vn -0.478800 -0.507200 0.716600
vn -0.716600 -0.507200 0.478800
vn -0.845300 -0.507200 0.168100
vn -0.845300 -0.507200 -0.168100
vn -0.716600 -0.507200 -0.478800
vn 0.831500 0.000000 -0.555600
vn -0.168100 -0.507200 -0.845300
vn -0.478800 -0.507200 -0.716600
vn 0.000000 -1.000000 0.000000
vn 0.753300 0.640300 0.149800
vn 0.195100 0.000000 0.980800
vn 0.195100 0.000000 -0.980800
vn -0.980800 0.000000 -0.195100
vn 0.831500 0.000000 0.555600
vn -0.831500 0.000000 0.555600
vn -0.195100 0.000000 -0.980800
vn 0.980800 0.000000 -0.195100
vn -0.195100 0.000000 0.980800
vn -0.831500 0.000000 -0.555600
vn 0.555600 0.000000 -0.831500
vn 0.555600 0.000000 0.831500
vn -0.980800 0.000000 0.195100
vn 0.980800 0.000000 0.195100
vn -0.555600 0.000000 0.831500
vn -0.555600 0.000000 -0.831500
vn -0.753300 0.640300 -0.149800
vn 0.638600 0.640300 0.426700
vn -0.638600 0.640300 -0.426700
vn 0.426700 0.640300 0.638600
vn -0.426700 0.640300 -0.638600
vn 0.149800 0.640300 0.753300
vn 0.149800 0.640300 -0.753300
vn -0.149800 0.640300 -0.753300
vn -0.149800 0.640300 0.753300
vn 0.426700 0.640300 -0.638600
vn -0.426700 0.640300 0.638600
vn 0.638600 0.640300 -0.426700
vn -0.638600 0.640300 0.426700
vn 0.753300 0.640300 -0.149800
vn -0.753300 0.640300 0.149800
vn -0.139300 0.700200 0.700200
vn 0.139300 0.700200 0.700200
vn -0.700200 0.700200 0.139300
vn -0.700200 0.700200 -0.139300
vn -0.396600 0.700200 0.593600
vn -0.139300 0.700200 -0.700200
vn -0.593600 0.700200 -0.396600
vn -0.396600 0.700200 -0.593600
vn 0.139300 0.700200 -0.700200
vn 0.396600 0.700200 -0.593600
vn 0.593600 0.700200 -0.396600
vn 0.700200 0.700200 -0.139300
vn 0.700200 0.700200 0.139300
vn 0.593600 0.700200 0.396600
vn 0.396600 0.700200 0.593600
vn -0.593600 0.700200 0.396600
s off
f 1/1/1 4/2/1 5/3/1
f 5/3/2 6/4/2 3/5/2
f 3/6/3 6/7/3 4/2/3
f 7/8/4 8/9/4 5/10/4
f 8/9/5 9/11/5 6/12/5
f 9/13/6 7/8/6 4/14/6
f 10/15/7 11/16/7 8/17/7
f 11/16/8 12/18/8 9/19/8
f 9/20/9 12/21/9 10/15/9
f 13/22/10 14/23/10 11/24/10
f 14/23/11 15/25/11 12/26/11
f 15/27/12 13/22/12 10/28/12
f 13/29/13 16/30/13 17/31/13
f 17/31/14 18/32/14 15/33/14
f 18/34/15 16/30/15 13/29/15
f 19/35/16 20/36/16 17/37/16
f 20/36/17 21/38/17 18/39/17
f 21/40/18 19/35/18 16/41/18
f 19/42/19 22/43/19 23/44/19
f 23/44/20 24/45/20 21/46/20
f 24/47/21 22/43/21 19/42/21
f 1/48/22 2/49/22 23/50/22
f 2/49/23 3/51/23 24/52/23
f 24/53/24 3/54/24 1/48/24
f 26/55/25 28/56/25 27/57/25
f 28/56/26 30/58/26 29/59/26
f 29/60/27 30/58/27 32/61/27
f 32/61/28 34/62/28 33/63/28
f 34/62/29 36/64/29 35/65/29
f 36/64/30 38/66/30 37/67/30
f 38/66/31 40/68/31 39/69/31
f 40/68/32 42/70/32 41/71/32
f 42/70/33 44/72/33 43/73/33
f 43/74/34 44/72/34 46/75/34
f 46/75/35 48/76/35 47/77/35
f 48/76/36 50/78/36 49/79/36
f 49/80/37 50/81/37 52/82/37
f 52/82/38 54/83/38 53/84/38
f 30/58/39 59/85/39 60/86/39
f 56/87/40 26/55/40 25/88/40
f 53/89/41 54/83/41 56/87/41
f 39/90/42 47/91/42 31/92/42
f 62/93/43 61/94/43 77/95/43
f 40/68/44 64/96/44 65/97/44
f 26/55/45 58/98/45 57/99/45
f 50/81/46 69/100/46 70/101/46
f 36/64/47 62/93/47 63/102/47
f 46/75/48 67/103/48 68/104/48
f 56/87/49 72/105/49 58/98/49
f 32/61/50 60/86/50 61/94/50
f 42/70/51 65/97/51 66/106/51
f 52/82/52 70/101/52 71/107/52
f 28/56/53 57/99/53 59/85/53
f 38/66/54 63/102/54 64/96/54
f 48/76/55 68/104/55 69/108/55
f 34/62/56 61/94/56 62/93/56
f 44/72/57 66/106/57 67/103/57
f 54/83/58 71/107/58 72/105/58
f 82/109/57 98/110/57 99/111/57
f 70/101/59 69/100/59 85/112/59
f 62/93/60 78/113/60 79/114/60
f 70/101/61 86/115/61 87/116/61
f 64/96/62 63/102/62 79/117/62
f 71/107/63 87/118/63 88/119/63
f 65/97/64 64/96/64 80/120/64
f 57/99/65 58/98/65 74/121/65
f 58/98/66 72/105/66 88/122/66
f 65/97/67 81/123/67 82/124/67
f 59/85/68 57/99/68 73/125/68
f 67/103/69 66/106/69 82/126/69
f 60/86/70 59/85/70 75/127/70
f 67/103/71 83/128/71 84/129/71
f 60/86/72 76/130/72 77/131/72
f 68/104/73 84/132/73 85/133/73
f 97/134/74 105/135/74 98/110/74
f 75/136/39 91/137/39 92/138/39
f 83/139/48 99/111/48 100/140/48
f 76/141/50 92/138/50 93/142/50
f 84/143/55 100/140/55 101/144/55
f 77/145/56 93/142/56 94/146/56
f 85/147/46 101/148/46 102/149/46
f 78/150/47 94/146/47 95/151/47
f 86/152/52 102/149/52 103/153/52
f 79/154/54 95/151/54 96/155/54
f 87/156/58 103/153/58 104/157/58
f 80/158/44 96/155/44 97/134/44
f 74/159/45 90/160/45 89/161/45
f 88/162/49 104/157/49 90/160/49
f 81/163/51 97/134/51 98/110/51
f 73/164/53 89/161/53 91/137/53
f 97/134/75 96/155/75 105/165/75
f 100/140/76 105/166/76 101/144/76
f 101/148/77 105/167/77 102/149/77
f 98/110/78 105/168/78 99/111/78
f 104/157/79 105/169/79 90/160/79
f 102/149/80 105/170/80 103/153/80
f 103/153/81 105/171/81 104/157/81
f 90/160/82 105/172/82 89/161/82
f 89/161/83 105/173/83 91/137/83
f 91/137/84 105/174/84 92/138/84
f 92/138/85 105/175/85 93/142/85
f 93/142/86 105/176/86 94/146/86
f 94/146/87 105/177/87 95/151/87
f 95/151/88 105/178/88 96/155/88
f 99/111/89 105/179/89 100/140/89
f 2/180/1 1/1/1 5/3/1
f 2/180/2 5/3/2 3/5/2
f 1/1/3 3/6/3 4/2/3
f 4/14/4 7/8/4 5/10/4
f 5/10/5 8/9/5 6/12/5
f 6/181/6 9/13/6 4/14/6
f 7/182/7 10/15/7 8/17/7
f 8/17/8 11/16/8 9/19/8
f 7/182/9 9/20/9 10/15/9
f 10/28/10 13/22/10 11/24/10
f 11/24/11 14/23/11 12/26/11
f 12/183/12 15/27/12 10/28/12
f 14/184/13 13/29/13 17/31/13
f 14/184/14 17/31/14 15/33/14
f 15/185/15 18/34/15 13/29/15
f 16/41/16 19/35/16 17/37/16
f 17/37/17 20/36/17 18/39/17
f 18/186/18 21/40/18 16/41/18
f 20/187/19 19/42/19 23/44/19
f 20/187/20 23/44/20 21/46/20
f 21/188/21 24/47/21 19/42/21
f 22/189/22 1/48/22 23/50/22
f 23/50/23 2/49/23 24/52/23
f 22/189/24 24/53/24 1/48/24
f 25/190/25 26/55/25 27/57/25
f 27/191/26 28/56/26 29/59/26
f 31/192/27 29/60/27 32/61/27
f 31/193/28 32/61/28 33/63/28
f 33/194/29 34/62/29 35/65/29
f 35/195/30 36/64/30 37/67/30
f 37/196/31 38/66/31 39/69/31
f 39/197/32 40/68/32 41/71/32
f 41/198/33 42/70/33 43/73/33
f 45/199/34 43/74/34 46/75/34
f 45/200/35 46/75/35 47/77/35
f 47/201/36 48/76/36 49/79/36
f 51/202/37 49/80/37 52/82/37
f 51/203/38 52/82/38 53/84/38
f 32/61/39 30/58/39 60/86/39
f 55/204/40 56/87/40 25/88/40
f 55/205/41 53/89/41 56/87/41
f 55/206/42 25/207/42 31/92/42
f 27/208/42 29/209/42 31/92/42
f 31/92/42 33/210/42 39/90/42
f 35/211/42 37/212/42 39/90/42
f 39/90/42 41/213/42 43/214/42
f 43/214/42 45/215/42 39/90/42
f 47/91/42 49/216/42 51/217/42
f 51/217/42 53/218/42 47/91/42
f 25/207/42 27/208/42 31/92/42
f 33/210/42 35/211/42 39/90/42
f 39/90/42 45/215/42 47/91/42
f 47/91/42 53/218/42 55/206/42
f 55/206/42 31/92/42 47/91/42
f 78/219/43 62/93/43 77/95/43
f 42/70/44 40/68/44 65/97/44
f 28/56/45 26/55/45 57/99/45
f 52/82/46 50/81/46 70/101/46
f 38/66/47 36/64/47 63/102/47
f 48/76/48 46/75/48 68/104/48
f 26/55/49 56/87/49 58/98/49
f 34/62/50 32/61/50 61/94/50
f 44/72/51 42/70/51 66/106/51
f 54/83/52 52/82/52 71/107/52
f 30/58/53 28/56/53 59/85/53
f 40/68/54 38/66/54 64/96/54
f 50/78/55 48/76/55 69/108/55
f 36/64/56 34/62/56 62/93/56
f 46/75/57 44/72/57 67/103/57
f 56/87/58 54/83/58 72/105/58
f 83/139/57 82/109/57 99/111/57
f 86/220/59 70/101/59 85/112/59
f 63/102/60 62/93/60 79/114/60
f 71/107/61 70/101/61 87/116/61
f 80/221/62 64/96/62 79/117/62
f 72/105/63 71/107/63 88/119/63
f 81/222/64 65/97/64 80/120/64
f 73/223/65 57/99/65 74/121/65
f 74/224/66 58/98/66 88/122/66
f 66/106/67 65/97/67 82/124/67
f 75/225/68 59/85/68 73/125/68
f 83/226/69 67/103/69 82/126/69
f 76/227/70 60/86/70 75/127/70
f 68/104/71 67/103/71 84/129/71
f 61/94/72 60/86/72 77/131/72
f 69/108/73 68/104/73 85/133/73
f 76/141/39 75/136/39 92/138/39
f 84/143/48 83/139/48 100/140/48
f 77/145/50 76/141/50 93/142/50
f 85/228/55 84/143/55 101/144/55
f 78/150/56 77/145/56 94/146/56
f 86/152/46 85/147/46 102/149/46
f 79/154/47 78/150/47 95/151/47
f 87/156/52 86/152/52 103/153/52
f 80/158/54 79/154/54 96/155/54
f 88/162/58 87/156/58 104/157/58
f 81/163/44 80/158/44 97/134/44
f 73/164/45 74/159/45 89/161/45
f 74/159/49 88/162/49 90/160/49
f 82/109/51 81/163/51 98/110/51
f 75/136/53 73/164/53 91/137/53

View File

@ -63,6 +63,9 @@
"weapon.sawShoot": {"category": "player", "sounds": [{"name": "weapon/sawShoot", "stream": false}]}, "weapon.sawShoot": {"category": "player", "sounds": [{"name": "weapon/sawShoot", "stream": false}]},
"weapon.spinup": {"category": "player", "sounds": [{"name": "weapon/spinup", "stream": false}]}, "weapon.spinup": {"category": "player", "sounds": [{"name": "weapon/spinup", "stream": false}]},
"weapon.spindown": {"category": "player", "sounds": [{"name": "weapon/spindown", "stream": false}]}, "weapon.spindown": {"category": "player", "sounds": [{"name": "weapon/spindown", "stream": false}]},
"weapon.ciwsFiringLoop": {"category": "player", "sounds": [{"name": "weapon/ciwsFiringLoop", "stream": false}]},
"weapon.ciwsSpinup": {"category": "player", "sounds": [{"name": "weapon/ciwsSpinup", "stream": false}]},
"weapon.ciwsSpindown": {"category": "player", "sounds": [{"name": "weapon/ciwsSpindown", "stream": false}]},
"weapon.reloadTurret": {"category": "player", "sounds": [{"name": "weapon/reloadTurret", "stream": false}]}, "weapon.reloadTurret": {"category": "player", "sounds": [{"name": "weapon/reloadTurret", "stream": false}]},
"weapon.switchmode1": {"category": "player", "sounds": [{"name": "weapon/switchmode1", "stream": false}]}, "weapon.switchmode1": {"category": "player", "sounds": [{"name": "weapon/switchmode1", "stream": false}]},
@ -76,6 +79,8 @@
"entity.chopperCrashingLoop": {"category": "hostile", "sounds": [{"name": "entity/chopperCrashingLoop", "stream": true}]}, "entity.chopperCrashingLoop": {"category": "hostile", "sounds": [{"name": "entity/chopperCrashingLoop", "stream": true}]},
"entity.oldExplosion": {"category": "ambient", "sounds": [{"name": "entity/oldExplosion", "stream": false}]}, "entity.oldExplosion": {"category": "ambient", "sounds": [{"name": "entity/oldExplosion", "stream": false}]},
"potatos.random": {"category": "player", "sounds": ["potatos/randResponse0", "potatos/randResponse1", "potatos/randResponse2", "potatos/randResponse3", "potatos/randResponse4", "potatos/randResponse5", "potatos/randResponse6", "potatos/randResponse7"]},
"alarm.amsSiren": {"category": "record", "sounds": [{"name": "alarm/amsSiren", "stream": false}]}, "alarm.amsSiren": {"category": "record", "sounds": [{"name": "alarm/amsSiren", "stream": false}]},
"alarm.apcLoop": {"category": "record", "sounds": [{"name": "alarm/apcLoop", "stream": false}]}, "alarm.apcLoop": {"category": "record", "sounds": [{"name": "alarm/apcLoop", "stream": false}]},
"alarm.apcPass": {"category": "record", "sounds": [{"name": "alarm/apcPass", "stream": false}]}, "alarm.apcPass": {"category": "record", "sounds": [{"name": "alarm/apcPass", "stream": false}]},

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 438 B

After

Width:  |  Height:  |  Size: 357 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

View File

@ -213,6 +213,9 @@ public class ModBlocks {
public static Block nuke_solinium; public static Block nuke_solinium;
public static final int guiID_nuke_solinium = 60; public static final int guiID_nuke_solinium = 60;
public static Block nuke_n2;
public static final int guiID_nuke_n2 = 61;
public static Block bomb_multi; public static Block bomb_multi;
public static final int guiID_bomb_multi = 10; public static final int guiID_bomb_multi = 10;
@ -622,6 +625,7 @@ public class ModBlocks {
nuke_prototype = new NukePrototype(Material.iron).setBlockName("nuke_prototype").setCreativeTab(MainRegistry.tabNuke).setHardness(5.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":prototype"); nuke_prototype = new NukePrototype(Material.iron).setBlockName("nuke_prototype").setCreativeTab(MainRegistry.tabNuke).setHardness(5.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":prototype");
nuke_custom = new NukeCustom(Material.iron).setBlockName("nuke_custom").setCreativeTab(MainRegistry.tabNuke).setHardness(5.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":custom"); nuke_custom = new NukeCustom(Material.iron).setBlockName("nuke_custom").setCreativeTab(MainRegistry.tabNuke).setHardness(5.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":custom");
nuke_solinium = new NukeSolinium(Material.iron).setBlockName("nuke_solinium").setCreativeTab(MainRegistry.tabNuke).setHardness(5.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":nuke_solinium"); nuke_solinium = new NukeSolinium(Material.iron).setBlockName("nuke_solinium").setCreativeTab(MainRegistry.tabNuke).setHardness(5.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":nuke_solinium");
nuke_n2 = new NukeN2(Material.iron).setBlockName("nuke_n2").setCreativeTab(MainRegistry.tabNuke).setHardness(5.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":nuke_n2");
bomb_multi = new BombMulti(Material.iron).setBlockName("bomb_multi").setCreativeTab(MainRegistry.tabNuke).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":bomb_multi1"); bomb_multi = new BombMulti(Material.iron).setBlockName("bomb_multi").setCreativeTab(MainRegistry.tabNuke).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":bomb_multi1");
//bomb_multi_large = new BombMultiLarge(Material.iron).setBlockName("bomb_multi_large").setCreativeTab(MainRegistry.tabNuke).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":bomb_multi_large"); //bomb_multi_large = new BombMultiLarge(Material.iron).setBlockName("bomb_multi_large").setCreativeTab(MainRegistry.tabNuke).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":bomb_multi_large");
@ -995,6 +999,7 @@ public class ModBlocks {
GameRegistry.registerBlock(nuke_prototype, ItemPrototypeBlock.class, nuke_prototype.getUnlocalizedName()); GameRegistry.registerBlock(nuke_prototype, ItemPrototypeBlock.class, nuke_prototype.getUnlocalizedName());
GameRegistry.registerBlock(nuke_fleija, nuke_fleija.getUnlocalizedName()); GameRegistry.registerBlock(nuke_fleija, nuke_fleija.getUnlocalizedName());
GameRegistry.registerBlock(nuke_solinium, nuke_solinium.getUnlocalizedName()); GameRegistry.registerBlock(nuke_solinium, nuke_solinium.getUnlocalizedName());
GameRegistry.registerBlock(nuke_n2, nuke_n2.getUnlocalizedName());
GameRegistry.registerBlock(nuke_custom, nuke_custom.getUnlocalizedName()); GameRegistry.registerBlock(nuke_custom, nuke_custom.getUnlocalizedName());
//Generic Bombs //Generic Bombs

View File

@ -0,0 +1,214 @@
package com.hbm.blocks.bomb;
import java.util.HashMap;
import java.util.Map;
import java.util.Random;
import com.hbm.blocks.ModBlocks;
import com.hbm.entity.effect.EntityCloudSolinium;
import com.hbm.entity.logic.EntityNukeExplosionMK3;
import com.hbm.interfaces.IBomb;
import com.hbm.main.MainRegistry;
import com.hbm.tileentity.bomb.TileEntityNukeN2;
import cpw.mods.fml.common.network.internal.FMLNetworkHandler;
import net.minecraft.block.Block;
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.MathHelper;
import net.minecraft.world.World;
public class NukeN2 extends BlockContainer implements IBomb {
private final Random field_149933_a = new Random();
private static boolean keepInventory = false;
private Map field_77288_k = new HashMap();
public NukeN2(Material p_i45386_1_) {
super(p_i45386_1_);
}
@Override
public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) {
return new TileEntityNukeN2();
}
@Override
public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_)
{
return Item.getItemFromBlock(ModBlocks.nuke_n2);
}
@Override
public void breakBlock(World p_149749_1_, int p_149749_2_, int p_149749_3_, int p_149749_4_, Block p_149749_5_, int p_149749_6_)
{
if (!keepInventory)
{
TileEntityNukeN2 tileentityfurnace = (TileEntityNukeN2)p_149749_1_.getTileEntity(p_149749_2_, p_149749_3_, p_149749_4_);
if (tileentityfurnace != null)
{
for (int i1 = 0; i1 < tileentityfurnace.getSizeInventory(); ++i1)
{
ItemStack itemstack = tileentityfurnace.getStackInSlot(i1);
if (itemstack != null)
{
float f = this.field_149933_a.nextFloat() * 0.8F + 0.1F;
float f1 = this.field_149933_a.nextFloat() * 0.8F + 0.1F;
float f2 = this.field_149933_a.nextFloat() * 0.8F + 0.1F;
while (itemstack.stackSize > 0)
{
int j1 = this.field_149933_a.nextInt(21) + 10;
if (j1 > itemstack.stackSize)
{
j1 = itemstack.stackSize;
}
itemstack.stackSize -= j1;
EntityItem entityitem = new EntityItem(p_149749_1_, p_149749_2_ + f, p_149749_3_ + f1, p_149749_4_ + f2, new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage()));
if (itemstack.hasTagCompound())
{
entityitem.getEntityItem().setTagCompound((NBTTagCompound)itemstack.getTagCompound().copy());
}
float f3 = 0.05F;
entityitem.motionX = (float)this.field_149933_a.nextGaussian() * f3;
entityitem.motionY = (float)this.field_149933_a.nextGaussian() * f3 + 0.2F;
entityitem.motionZ = (float)this.field_149933_a.nextGaussian() * f3;
p_149749_1_.spawnEntityInWorld(entityitem);
}
}
}
p_149749_1_.func_147453_f(p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_);
}
}
super.breakBlock(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_, p_149749_6_);
}
@Override
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) {
if(world.isRemote)
{
return true;
} else if(!player.isSneaking())
{
TileEntityNukeN2 entity = (TileEntityNukeN2) world.getTileEntity(x, y, z);
if(entity != null)
{
FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_nuke_n2, world, x, y, z);
}
return true;
} else {
return false;
}
}
@Override
public void onNeighborBlockChange(World p_149695_1_, int x, int y, int z, Block p_149695_5_)
{
TileEntityNukeN2 entity = (TileEntityNukeN2) p_149695_1_.getTileEntity(x, y, z);
if (p_149695_1_.isBlockIndirectlyGettingPowered(x, y, z) && !p_149695_1_.isRemote)
{
if(entity.isReady())
{
this.onBlockDestroyedByPlayer(p_149695_1_, x, y, z, 1);
entity.clearSlots();
p_149695_1_.setBlockToAir(x, y, z);
igniteTestBomb(p_149695_1_, x, y, z, MainRegistry.fleijaRadius);
}
}
}
public boolean igniteTestBomb(World world, int x, int y, int z, int r)
{
if (!world.isRemote)
{
world.playSoundEffect(x, y, z, "random.explode", 1.0f, world.rand.nextFloat() * 0.1F + 0.9F);
EntityNukeExplosionMK3 entity = new EntityNukeExplosionMK3(world);
entity.posX = x;
entity.posY = y;
entity.posZ = z;
entity.destructionRange = r;
entity.speed = MainRegistry.blastSpeed;
entity.coefficient = 1.0F;
entity.waste = false;
entity.extType = 1;
world.spawnEntityInWorld(entity);
EntityCloudSolinium cloud = new EntityCloudSolinium(world, r);
cloud.posX = x;
cloud.posY = y;
cloud.posZ = z;
world.spawnEntityInWorld(cloud);
}
return false;
}
@Override
public int getRenderType(){
return -1;
}
@Override
public boolean isOpaqueCube() {
return false;
}
@Override
public boolean renderAsNormalBlock() {
return false;
}
@Override
public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) {
int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3;
if(i == 0)
{
world.setBlockMetadataWithNotify(x, y, z, 5, 2);
}
if(i == 1)
{
world.setBlockMetadataWithNotify(x, y, z, 3, 2);
}
if(i == 2)
{
world.setBlockMetadataWithNotify(x, y, z, 4, 2);
}
if(i == 3)
{
world.setBlockMetadataWithNotify(x, y, z, 2, 2);
}
}
@Override
public void explode(World world, int x, int y, int z) {
TileEntityNukeN2 entity = (TileEntityNukeN2) world.getTileEntity(x, y, z);
//if (p_149695_1_.isBlockIndirectlyGettingPowered(x, y, z))
{
if(entity.isReady())
{
this.onBlockDestroyedByPlayer(world, x, y, z, 1);
entity.clearSlots();
world.setBlockToAir(x, y, z);
igniteTestBomb(world, x, y, z, MainRegistry.fleijaRadius);
}
}
}
}

View File

@ -6,6 +6,7 @@ import com.hbm.entity.particle.EntityGasFlameFX;
import com.hbm.entity.projectile.EntityBullet; import com.hbm.entity.projectile.EntityBullet;
import com.hbm.lib.ModDamageSource; import com.hbm.lib.ModDamageSource;
import com.hbm.tileentity.bomb.TileEntityTurretCIWS; import com.hbm.tileentity.bomb.TileEntityTurretCIWS;
import com.hbm.tileentity.bomb.TileEntityTurretCheapo;
import com.hbm.tileentity.bomb.TileEntityTurretSpitfire; import com.hbm.tileentity.bomb.TileEntityTurretSpitfire;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
@ -38,6 +39,9 @@ public class TurretCIWS extends TurretBase {
TileEntityTurretCIWS te = (TileEntityTurretCIWS)world.getTileEntity(x, y, z); TileEntityTurretCIWS te = (TileEntityTurretCIWS)world.getTileEntity(x, y, z);
if(i == 0 && te.spin < 10)
world.playSoundEffect(x, y, z, "hbm:weapon.ciwsSpinup", 1.0F, 1.0F);
if(te.spin < 35) if(te.spin < 35)
te.spin += 5; te.spin += 5;
@ -65,7 +69,7 @@ public class TurretCIWS extends TurretBase {
world.spawnEntityInWorld(smoke); world.spawnEntityInWorld(smoke);
} }
world.playSoundEffect(x, y, z, "hbm:weapon.sawShoot", 1.0F, 1.25F); world.playSoundEffect(x, y, z, "hbm:weapon.ciwsFiringLoop", 1.0F, 1.25F);
flag = true; flag = true;
} }
@ -96,5 +100,12 @@ public class TurretCIWS extends TurretBase {
} }
@Override @Override
public void executeReleaseAction(World world, int i, double yaw, double pitch, int x, int y, int z) { } public void executeReleaseAction(World world, int i, double yaw, double pitch, int x, int y, int z) {
TileEntityTurretCIWS te = (TileEntityTurretCIWS)world.getTileEntity(x, y, z);
if(te.spin > 10)
world.playSoundEffect(x, y, z, "hbm:weapon.ciwsSpindown", 1.0F, 1.0F);
}
} }

View File

@ -1968,7 +1968,7 @@ public class ModItems {
battery_spark_cell_25 = new ItemBattery(1000000 * 25).setUnlocalizedName("battery_spark_cell_25").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_spark_cell_25"); battery_spark_cell_25 = new ItemBattery(1000000 * 25).setUnlocalizedName("battery_spark_cell_25").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_spark_cell_25");
battery_potato = new ItemBattery(1).setUnlocalizedName("battery_potato").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_potato"); battery_potato = new ItemBattery(1).setUnlocalizedName("battery_potato").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_potato");
battery_potatos = new ItemBattery(50).setUnlocalizedName("battery_potatos").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_potatos"); battery_potatos = new ItemPotatos(50).setUnlocalizedName("battery_potatos").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_potatos");
battery_su = new ItemBattery(15).setUnlocalizedName("battery_su").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_su"); battery_su = new ItemBattery(15).setUnlocalizedName("battery_su").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_su");
battery_su_l = new ItemBattery(35).setUnlocalizedName("battery_su_l").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_su_l"); battery_su_l = new ItemBattery(35).setUnlocalizedName("battery_su_l").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_su_l");
fusion_core = new ItemBattery(200000).setUnlocalizedName("fusion_core").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":fusion_core"); fusion_core = new ItemBattery(200000).setUnlocalizedName("fusion_core").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":fusion_core");

View File

@ -0,0 +1,57 @@
package com.hbm.items.special;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
public class ItemPotatos extends ItemBattery {
public ItemPotatos(long dura) {
super(dura);
}
@Override
public void onUpdate(ItemStack stack, World world, Entity entity, int i, boolean b) {
if(getCharge(stack) == 0)
return;
if(getTimer(stack) > 0) {
setTimer(stack, getTimer(stack) - 1);
} else {
if(entity instanceof EntityPlayer) {
EntityPlayer p = (EntityPlayer) entity;
if(p.getHeldItem() == stack) {
float pitch = (float)getCharge(stack) / (float)this.getMaxCharge() * 0.5F + 0.5F;
world.playSoundAtEntity(p, "hbm:potatos.random", 1.0F, pitch);
setTimer(stack, 200 + itemRand.nextInt(100));
}
}
}
}
private static int getTimer(ItemStack stack) {
if(stack.stackTagCompound == null) {
stack.stackTagCompound = new NBTTagCompound();
return 0;
}
return stack.stackTagCompound.getInteger("timer");
}
private static void setTimer(ItemStack stack, int i) {
if(stack.stackTagCompound == null) {
stack.stackTagCompound = new NBTTagCompound();
}
stack.stackTagCompound.setInteger("timer", i);
}
}

View File

@ -36,11 +36,14 @@ public class HbmWorldGen implements IWorldGenerator {
IChunkProvider chunkProvider) { IChunkProvider chunkProvider) {
switch (world.provider.dimensionId) { switch (world.provider.dimensionId) {
case -1: case -1:
generateNether(world, rand, chunkX * 16, chunkZ * 16); generateNether(world, rand, chunkX * 16, chunkZ * 16); break;
case 0: case 0:
generateSurface(world, rand, chunkX * 16, chunkZ * 16); generateSurface(world, rand, chunkX * 16, chunkZ * 16); break;
case 1: case 1:
generateEnd(world, rand, chunkX * 16, chunkZ * 16); generateEnd(world, rand, chunkX * 16, chunkZ * 16); break;
default:
if(MainRegistry.enableMDOres)
generateSurface(world, rand, chunkX * 16, chunkZ * 16); break;
} }
} }
@ -260,7 +263,7 @@ public class HbmWorldGen implements IWorldGenerator {
} }
} }
if (rand.nextInt(MainRegistry.dungeonStructure) == 0 && world.provider.dimensionId == 0) { if (rand.nextInt(MainRegistry.dungeonStructure) == 0) {
int x = i + rand.nextInt(16); int x = i + rand.nextInt(16);
int y = rand.nextInt(256); int y = rand.nextInt(256);
int z = j + rand.nextInt(16); int z = j + rand.nextInt(16);
@ -346,7 +349,7 @@ public class HbmWorldGen implements IWorldGenerator {
int z = j + rand.nextInt(16); int z = j + rand.nextInt(16);
int y = world.getHeightValue(x, z); int y = world.getHeightValue(x, z);
if(world.getBlock(x, y - 1, z).isBlockNormalCube()) if(world.getBlock(x, y - 1, z).canPlaceTorchOnTop(world, x, y - 1, z))
world.setBlock(x, y, z, ModBlocks.broadcaster_pc, rand.nextInt(4) + 2, 2); world.setBlock(x, y, z, ModBlocks.broadcaster_pc, rand.nextInt(4) + 2, 2);
if(MainRegistry.enableDebugMode) if(MainRegistry.enableDebugMode)

View File

@ -59,6 +59,7 @@ public class ClientProxy extends ServerProxy
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityNukeBoy.class, new RenderNukeBoy()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityNukeBoy.class, new RenderNukeBoy());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityNukeCustom.class, new RenderNukeCustom()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityNukeCustom.class, new RenderNukeCustom());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityNukeSolinium.class, new RenderNukeSolinium()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityNukeSolinium.class, new RenderNukeSolinium());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityNukeN2.class, new RenderNukeN2());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineCentrifuge.class, new RenderCentrifuge()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineCentrifuge.class, new RenderCentrifuge());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityNukeMan.class, new RenderNukeMan()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityNukeMan.class, new RenderNukeMan());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineUF6Tank.class, new RenderUF6Tank()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineUF6Tank.class, new RenderUF6Tank());

View File

@ -172,6 +172,7 @@ import com.hbm.tileentity.bomb.TileEntityNukeFleija;
import com.hbm.tileentity.bomb.TileEntityNukeGadget; import com.hbm.tileentity.bomb.TileEntityNukeGadget;
import com.hbm.tileentity.bomb.TileEntityNukeMan; import com.hbm.tileentity.bomb.TileEntityNukeMan;
import com.hbm.tileentity.bomb.TileEntityNukeMike; import com.hbm.tileentity.bomb.TileEntityNukeMike;
import com.hbm.tileentity.bomb.TileEntityNukeN2;
import com.hbm.tileentity.bomb.TileEntityNukePrototype; import com.hbm.tileentity.bomb.TileEntityNukePrototype;
import com.hbm.tileentity.bomb.TileEntityNukeSolinium; import com.hbm.tileentity.bomb.TileEntityNukeSolinium;
import com.hbm.tileentity.bomb.TileEntityNukeTsar; import com.hbm.tileentity.bomb.TileEntityNukeTsar;
@ -588,6 +589,7 @@ public class MainRegistry
GameRegistry.registerTileEntity(TileEntityBroadcaster.class, "tileentity_pink_cloud_broadcaster"); GameRegistry.registerTileEntity(TileEntityBroadcaster.class, "tileentity_pink_cloud_broadcaster");
GameRegistry.registerTileEntity(TileEntityTurretCheapo.class, "tileentity_turret_cheapo"); GameRegistry.registerTileEntity(TileEntityTurretCheapo.class, "tileentity_turret_cheapo");
GameRegistry.registerTileEntity(TileEntityNukeSolinium.class, "tileentity_nuke_solinium"); GameRegistry.registerTileEntity(TileEntityNukeSolinium.class, "tileentity_nuke_solinium");
GameRegistry.registerTileEntity(TileEntityNukeN2.class, "tileentity_nuke_n2");
EntityRegistry.registerModEntity(EntityRocket.class, "entity_rocket", 0, this, 250, 1, true); EntityRegistry.registerModEntity(EntityRocket.class, "entity_rocket", 0, this, 250, 1, true);
EntityRegistry.registerModEntity(EntityNukeExplosion.class, "entity_nuke_explosion", 1, this, 250, 1, true); EntityRegistry.registerModEntity(EntityNukeExplosion.class, "entity_nuke_explosion", 1, this, 250, 1, true);

View File

@ -68,6 +68,7 @@ public class ResourceManager {
//Bombs //Bombs
public static final IModelCustom bomb_solinium = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/ufp.obj")); public static final IModelCustom bomb_solinium = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/ufp.obj"));
public static final IModelCustom n2 = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/n2.obj"));
////Textures TEs ////Textures TEs
@ -119,6 +120,7 @@ public class ResourceManager {
//Bombs //Bombs
public static final ResourceLocation bomb_solinium_tex = new ResourceLocation(RefStrings.MODID, "textures/models/ufp.png"); public static final ResourceLocation bomb_solinium_tex = new ResourceLocation(RefStrings.MODID, "textures/models/ufp.png");
public static final ResourceLocation n2_tex = new ResourceLocation(RefStrings.MODID, "textures/models/n2.png");

View File

@ -0,0 +1,41 @@
package com.hbm.render.tileentity;
import org.lwjgl.opengl.GL11;
import com.hbm.main.ResourceManager;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.tileentity.TileEntity;
public class RenderNukeN2 extends TileEntitySpecialRenderer {
@Override
public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f)
{
GL11.glPushMatrix();
GL11.glTranslated(x + 0.5D, y, z + 0.5D);
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glDisable(GL11.GL_CULL_FACE);
GL11.glRotatef(180, 0F, 1F, 0F);
switch(tileEntity.getBlockMetadata())
{
case 2:
GL11.glRotatef(90, 0F, 1F, 0F); break;
case 4:
GL11.glRotatef(180, 0F, 1F, 0F); break;
case 3:
GL11.glRotatef(270, 0F, 1F, 0F); break;
case 5:
GL11.glRotatef(0, 0F, 1F, 0F); break;
}
bindTexture(ResourceManager.n2_tex);
ResourceManager.n2.renderAll();
GL11.glEnable(GL11.GL_CULL_FACE);
GL11.glPopMatrix();
}
}

View File

@ -0,0 +1,209 @@
package com.hbm.tileentity.bomb;
import com.hbm.items.ModItems;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Items;
import net.minecraft.inventory.ISidedInventory;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.AxisAlignedBB;
public class TileEntityNukeN2 extends TileEntity implements ISidedInventory {
public ItemStack slots[];
private String customName;
public TileEntityNukeN2() {
slots = new ItemStack[9];
}
@Override
public int getSizeInventory() {
return slots.length;
}
@Override
public ItemStack getStackInSlot(int i) {
return slots[i];
}
@Override
public ItemStack decrStackSize(int i, int j) {
if(slots[i] != null)
{
if(slots[i].stackSize <= j)
{
ItemStack itemStack = slots[i];
slots[i] = null;
return itemStack;
}
ItemStack itemStack1 = slots[i].splitStack(j);
if (slots[i].stackSize == 0)
{
slots[i] = null;
}
return itemStack1;
} else {
return null;
}
}
@Override
public ItemStack getStackInSlotOnClosing(int i) {
if(slots[i] != null)
{
ItemStack itemStack = slots[i];
slots[i] = null;
return itemStack;
} else {
return null;
}
}
@Override
public void setInventorySlotContents(int i, ItemStack itemStack) {
slots[i] = itemStack;
if(itemStack != null && itemStack.stackSize > getInventoryStackLimit())
{
itemStack.stackSize = getInventoryStackLimit();
}
}
@Override
public String getInventoryName() {
return this.hasCustomInventoryName() ? this.customName : "container.nukeSolinium";
}
@Override
public boolean hasCustomInventoryName() {
return this.customName != null && this.customName.length() > 0;
}
public void setCustomName(String name) {
this.customName = name;
}
@Override
public int getInventoryStackLimit() {
return 64;
}
@Override
public boolean isUseableByPlayer(EntityPlayer player) {
if(worldObj.getTileEntity(xCoord, yCoord, zCoord) != this)
{
return false;
}else{
return player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <=64;
}
}
@Override
public void openInventory() {
}
@Override
public void closeInventory() {
}
@Override
public boolean isItemValidForSlot(int p_94041_1_, ItemStack p_94041_2_) {
return false;
}
@Override
public int[] getAccessibleSlotsFromSide(int p_94128_1_) {
return null;
}
@Override
public boolean canInsertItem(int i, ItemStack itemStack, int j) {
return this.isItemValidForSlot(i, itemStack);
}
@Override
public boolean canExtractItem(int i, ItemStack itemStack, int j) {
return j != 0 || i != 1 || itemStack.getItem() == Items.bucket;
}
@Override
public void readFromNBT(NBTTagCompound nbt) {
super.readFromNBT(nbt);
NBTTagList list = nbt.getTagList("items", 10);
slots = new ItemStack[getSizeInventory()];
for(int i = 0; i < list.tagCount(); i++)
{
NBTTagCompound nbt1 = list.getCompoundTagAt(i);
byte b0 = nbt1.getByte("slot");
if(b0 >= 0 && b0 < slots.length)
{
slots[b0] = ItemStack.loadItemStackFromNBT(nbt1);
}
}
}
@Override
public void writeToNBT(NBTTagCompound nbt) {
super.writeToNBT(nbt);
NBTTagList list = new NBTTagList();
for(int i = 0; i < slots.length; i++)
{
if(slots[i] != null)
{
NBTTagCompound nbt1 = new NBTTagCompound();
nbt1.setByte("slot", (byte)i);
slots[i].writeToNBT(nbt1);
list.appendTag(nbt1);
}
}
nbt.setTag("items", list);
}
public boolean isReady() {
if(slots[0] != null && slots[1] != null && slots[2] != null && slots[3] != null && slots[4] != null && slots[5] != null && slots[6] != null && slots[7] != null && slots[8] != null)
if(slots[0].getItem() == ModItems.solinium_igniter &&
slots[1].getItem() == ModItems.solinium_propellant &&
slots[2].getItem() == ModItems.solinium_propellant &&
slots[3].getItem() == ModItems.solinium_igniter &&
slots[4].getItem() == ModItems.solinium_core &&
slots[5].getItem() == ModItems.solinium_igniter &&
slots[6].getItem() == ModItems.solinium_propellant &&
slots[7].getItem() == ModItems.solinium_propellant &&
slots[8].getItem() == ModItems.solinium_igniter)
{
return true;
}
return false;
}
public void clearSlots() {
for(int i = 0; i < slots.length; i++)
{
slots[i] = null;
}
}
@Override
public AxisAlignedBB getRenderBoundingBox() {
return TileEntity.INFINITE_EXTENT_AABB;
}
@Override
@SideOnly(Side.CLIENT)
public double getMaxRenderDistanceSquared()
{
return 65536.0D;
}
}