mining laser: shareware edition

This commit is contained in:
HbmMods 2020-06-14 00:36:32 +02:00
parent 7d7142d02c
commit e77bd03ff9
22 changed files with 11502 additions and 5 deletions

View File

@ -0,0 +1,585 @@
# Blender v2.76 (sub 0) OBJ File: 'mining_laser.blend'
# www.blender.org
o Laser
v -0.250000 -1.500000 0.250000
v 0.250000 -0.500000 -0.125000
v -0.250000 -1.500000 -0.250000
v 0.250000 -0.500000 0.125000
v 0.250000 -1.500000 0.250000
v -0.250000 -0.500000 -0.125000
v 0.250000 -1.500000 -0.250000
v -0.250000 -0.500000 0.125000
v -0.250000 -0.750000 0.250000
v -0.250000 -0.750000 -0.250000
v 0.250000 -0.750000 0.250000
v 0.250000 -0.750000 -0.250000
v -0.062500 -0.750000 0.250000
v -0.062500 -0.750000 -0.250000
v 0.062500 -0.750000 0.250000
v 0.062500 -0.750000 -0.250000
v -0.062500 -0.500000 0.125000
v -0.062500 -0.500000 -0.125000
v 0.062500 -0.500000 0.125000
v 0.062500 -0.500000 -0.125000
v -0.062500 -1.250000 0.250000
v -0.062500 -1.250000 -0.250000
v 0.062500 -1.250000 0.250000
v 0.062500 -1.250000 -0.250000
v 0.312500 -1.000000 0.250000
v 0.312500 -2.250000 0.250000
v -0.000000 -2.500000 -0.125000
v -0.000000 -1.500000 -0.125000
v 0.088388 -2.500000 -0.088388
v 0.088388 -1.500000 -0.088388
v 0.125000 -2.500000 0.000000
v 0.125000 -1.500000 0.000000
v 0.088388 -2.500000 0.088388
v 0.088388 -1.500000 0.088388
v -0.000000 -2.500000 0.125000
v -0.000000 -1.500000 0.125000
v -0.088388 -2.500000 0.088388
v -0.088388 -1.500000 0.088388
v -0.125000 -2.500000 -0.000000
v -0.125000 -1.500000 -0.000000
v -0.088388 -2.500000 -0.088388
v -0.088388 -1.500000 -0.088388
v 0.312500 -2.250000 -0.250000
v 0.312500 -1.000000 -0.250000
v 0.375000 -2.250000 0.250000
v 0.375000 -1.000000 0.250000
v 0.375000 -2.250000 -0.250000
v 0.375000 -1.000000 -0.250000
v -0.375000 -1.000000 0.250000
v -0.375000 -2.250000 0.250000
v -0.375000 -2.250000 -0.250000
v -0.375000 -1.000000 -0.250000
v -0.312500 -2.250000 0.250000
v -0.312500 -1.000000 0.250000
v -0.312500 -2.250000 -0.250000
v -0.312500 -1.000000 -0.250000
v 0.125000 -1.250000 -0.312500
v 0.125000 -2.250000 -0.312500
v -0.125000 -2.250000 -0.312500
v -0.125000 -1.250000 -0.312500
v 0.125000 -2.250000 -0.375000
v 0.125000 -1.250000 -0.375000
v -0.125000 -2.250000 -0.375000
v -0.125000 -1.250000 -0.375000
v 0.125000 -1.250000 0.375000
v 0.125000 -2.250000 0.375000
v -0.125000 -2.250000 0.375000
v -0.125000 -1.250000 0.375000
v 0.125000 -2.250000 0.312500
v 0.125000 -1.250000 0.312500
v -0.125000 -2.250000 0.312500
v -0.125000 -1.250000 0.312500
v 0.031250 -1.500000 -0.312500
v 0.031250 -2.125000 -0.312500
v -0.031250 -2.125000 -0.312500
v -0.031250 -1.500000 -0.312500
v -0.031250 -2.125000 -0.112500
v 0.031250 -2.125000 -0.112500
v 0.031250 -1.500000 -0.112500
v -0.031250 -1.500000 -0.112500
v -0.312500 -1.500000 -0.031250
v -0.312500 -2.125000 -0.031250
v -0.312500 -2.125000 0.031250
v -0.312500 -1.500000 0.031250
v -0.112500 -2.125000 0.031250
v -0.112500 -2.125000 -0.031250
v -0.112500 -1.500000 -0.031250
v -0.112500 -1.500000 0.031250
v -0.031250 -1.500000 0.312500
v -0.031250 -2.125000 0.312500
v 0.031250 -2.125000 0.312500
v 0.031250 -1.500000 0.312500
v 0.031250 -2.125000 0.112500
v -0.031250 -2.125000 0.112500
v -0.031250 -1.500000 0.112500
v 0.031250 -1.500000 0.112500
v 0.312500 -1.500000 0.031250
v 0.312500 -2.125000 0.031250
v 0.312500 -2.125000 -0.031250
v 0.312500 -1.500000 -0.031250
v 0.112500 -2.125000 -0.031250
v 0.112500 -2.125000 0.031250
v 0.112500 -1.500000 0.031250
v 0.112500 -1.500000 -0.031250
vn 0.000000 1.000000 0.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 0.447200 -0.894400
vn 0.000000 0.447200 0.894400
vn 0.000000 0.000000 -1.000000
vn 0.000000 0.000000 1.000000
vn 0.707100 0.000000 -0.707100
vn 0.549000 -0.630200 -0.549000
vn 0.776400 -0.630200 0.000000
vn 0.707100 0.000000 0.707100
vn 0.549000 -0.630200 0.549000
vn 0.000000 -0.630200 0.776400
vn -0.707100 0.000000 0.707100
vn -0.549000 -0.630200 0.549000
vn -0.776400 -0.630200 0.000000
vn -0.707100 0.000000 -0.707100
vn 0.000000 -0.630200 -0.776400
vn -0.549000 -0.630200 -0.549000
s off
f 4//1 2//1 20//1
f 10//2 9//2 8//2
f 6//1 8//1 17//1
f 17//3 13//3 14//3
f 3//4 7//4 5//4
f 11//3 12//3 2//3
f 20//2 16//2 15//2
f 16//2 24//2 23//2
f 21//1 23//1 24//1
f 13//3 21//3 22//3
f 7//3 12//3 11//3
f 1//2 9//2 10//2
f 18//5 14//5 10//5
f 9//6 13//6 17//6
f 15//6 11//6 4//6
f 2//5 12//5 16//5
f 12//7 7//7 24//7
f 22//7 3//7 10//7
f 9//8 1//8 21//8
f 23//8 5//8 11//8
f 23//8 21//8 1//8
f 3//7 22//7 24//7
f 64//1 60//1 57//1
f 48//1 44//1 25//1
f 59//4 63//4 61//4
f 43//4 47//4 45//4
f 56//7 55//7 51//7
f 25//8 26//8 45//8
f 54//3 53//3 55//3
f 46//3 45//3 47//3
f 49//8 50//8 53//8
f 48//7 47//7 43//7
f 51//4 55//4 53//4
f 44//2 43//2 26//2
f 52//2 51//2 50//2
f 56//1 52//1 49//1
f 33//4 37//4 41//4
f 72//2 71//2 67//2
f 57//3 58//3 61//3
f 70//7 69//7 71//7
f 62//7 61//7 63//7
f 65//3 66//3 69//3
f 64//2 63//2 59//2
f 67//4 71//4 69//4
f 60//8 59//8 58//8
f 68//8 67//8 66//8
f 72//1 68//1 65//1
f 81//7 87//7 86//7
f 84//1 88//1 87//1
f 73//3 79//3 78//3
f 73//1 76//1 80//1
f 75//2 77//2 80//2
f 74//4 78//4 77//4
f 83//8 85//8 88//8
f 82//4 86//4 85//4
f 89//2 95//2 94//2
f 92//1 96//1 95//1
f 91//3 93//3 96//3
f 91//4 90//4 94//4
f 97//8 103//8 102//8
f 100//1 104//1 103//1
f 99//7 101//7 104//7
f 98//4 102//4 101//4
f 19//1 4//1 20//1
f 6//2 10//2 8//2
f 18//1 6//1 17//1
f 18//3 17//3 14//3
f 1//4 3//4 5//4
f 4//3 11//3 2//3
f 19//2 20//2 15//2
f 15//2 16//2 23//2
f 22//1 21//1 24//1
f 14//3 13//3 22//3
f 5//3 7//3 11//3
f 3//2 1//2 10//2
f 6//5 18//5 10//5
f 8//6 9//6 17//6
f 19//6 15//6 4//6
f 20//5 2//5 16//5
f 16//7 12//7 24//7
f 14//7 22//7 10//7
f 13//8 9//8 21//8
f 15//8 23//8 11//8
f 5//8 23//8 1//8
f 7//7 3//7 24//7
f 62//1 64//1 57//1
f 46//1 48//1 25//1
f 58//4 59//4 61//4
f 26//4 43//4 45//4
f 52//7 56//7 51//7
f 46//8 25//8 45//8
f 56//3 54//3 55//3
f 48//3 46//3 47//3
f 54//8 49//8 53//8
f 44//7 48//7 43//7
f 50//4 51//4 53//4
f 25//2 44//2 26//2
f 49//2 52//2 50//2
f 54//1 56//1 49//1
f 41//4 27//4 29//4
f 29//4 31//4 41//4
f 33//4 35//4 37//4
f 37//4 39//4 41//4
f 41//4 31//4 33//4
f 68//2 72//2 67//2
f 62//3 57//3 61//3
f 72//7 70//7 71//7
f 64//7 62//7 63//7
f 70//3 65//3 69//3
f 60//2 64//2 59//2
f 66//4 67//4 69//4
f 57//8 60//8 58//8
f 65//8 68//8 66//8
f 70//1 72//1 65//1
f 82//7 81//7 86//7
f 81//1 84//1 87//1
f 74//3 73//3 78//3
f 79//1 73//1 80//1
f 76//2 75//2 80//2
f 75//4 74//4 77//4
f 84//8 83//8 88//8
f 83//4 82//4 85//4
f 90//2 89//2 94//2
f 89//1 92//1 95//1
f 92//3 91//3 96//3
f 93//4 91//4 94//4
f 98//8 97//8 102//8
f 97//1 100//1 103//1
f 100//7 99//7 104//7
f 99//4 98//4 101//4
s 1
f 28//7 30//9 29//10
f 30//9 32//3 31//11
f 32//3 34//12 33//13
f 34//12 36//8 35//14
f 36//8 38//15 37//16
f 38//15 40//2 39//17
f 42//18 28//7 27//19
f 40//2 42//18 41//20
f 27//19 28//7 29//10
f 29//10 30//9 31//11
f 31//11 32//3 33//13
f 33//13 34//12 35//14
f 35//14 36//8 37//16
f 37//16 38//15 39//17
f 41//20 42//18 27//19
f 39//17 40//2 41//20
o Pivot
v 0.000000 -0.125000 -0.500000
v 0.000000 0.000000 -0.500000
v 0.191342 -0.125000 -0.461940
v 0.191342 0.000000 -0.461940
v 0.353553 -0.125000 -0.353553
v 0.353553 0.000000 -0.353553
v 0.461940 -0.125000 -0.191342
v 0.461940 0.000000 -0.191342
v 0.500000 -0.125000 0.000000
v 0.500000 0.000000 0.000000
v 0.461940 -0.125000 0.191342
v 0.461940 0.000000 0.191342
v 0.353553 -0.125000 0.353553
v 0.353553 0.000000 0.353553
v 0.191342 -0.125000 0.461940
v 0.191342 0.000000 0.461940
v 0.000000 -0.125000 0.500000
v 0.000000 0.000000 0.500000
v -0.191342 -0.125000 0.461940
v -0.191342 0.000000 0.461940
v -0.353553 -0.125000 0.353554
v -0.353553 0.000000 0.353554
v -0.461940 -0.125000 0.191342
v -0.461940 0.000000 0.191342
v -0.500000 -0.125000 -0.000000
v -0.500000 0.000000 -0.000000
v -0.461940 -0.125000 -0.191342
v -0.461940 0.000000 -0.191342
v -0.353553 -0.125000 -0.353554
v -0.353553 0.000000 -0.353554
v -0.191341 -0.125000 -0.461940
v -0.191341 0.000000 -0.461940
v -0.062500 -1.000000 -0.250000
v 0.062500 -1.000000 -0.250000
v -0.062500 -1.176777 -0.176777
v 0.062500 -1.176777 -0.176777
v -0.062500 -1.250000 0.000000
v 0.062500 -1.250000 0.000000
v -0.062500 -1.176777 0.176777
v 0.062500 -1.176777 0.176777
v -0.062500 -1.000000 0.250000
v 0.062500 -1.000000 0.250000
v 0.062500 -0.500000 0.250000
v -0.062500 -0.500000 0.250000
v 0.062500 -0.500000 -0.250000
v -0.062500 -0.500000 -0.250000
v 0.000000 -0.125000 -0.312500
v -0.220971 -0.125000 -0.220971
v -0.312500 -0.125000 0.000000
v -0.220971 -0.125000 0.220971
v 0.000000 -0.125000 0.312500
v 0.220971 -0.125000 0.220971
v 0.312500 -0.125000 -0.000000
v 0.220971 -0.125000 -0.220971
v -0.220971 -0.500000 -0.220971
v -0.000000 -0.500000 -0.312500
v -0.312500 -0.500000 0.000000
v -0.220971 -0.500000 0.220971
v 0.000000 -0.500000 0.312500
v 0.220971 -0.500000 0.220971
v 0.312500 -0.500000 -0.000000
v 0.220971 -0.500000 -0.220971
vn 0.000000 -1.000000 0.000000
vn -1.000000 -0.000000 0.000000
vn 1.000000 0.000000 0.000000
vn 0.000000 0.000000 -1.000000
vn 0.382700 0.000000 -0.923900
vn 0.285500 -0.665700 -0.689400
vn 0.707100 0.000000 -0.707100
vn 0.527600 -0.665700 -0.527600
vn 0.923900 0.000000 -0.382700
vn 0.689400 -0.665700 -0.285500
vn 0.746200 -0.665700 0.000000
vn 0.923900 0.000000 0.382700
vn 0.689400 -0.665700 0.285500
vn 0.707100 0.000000 0.707100
vn 0.527600 -0.665700 0.527600
vn 0.382700 0.000000 0.923900
vn 0.285500 -0.665700 0.689400
vn 0.000000 0.000000 1.000000
vn 0.000000 -0.665700 0.746200
vn -0.382700 0.000000 0.923900
vn -0.285500 -0.665700 0.689400
vn -0.707100 0.000000 0.707100
vn -0.527600 -0.665700 0.527600
vn -0.923900 0.000000 0.382700
vn -0.689400 -0.665700 0.285500
vn -0.746200 -0.665700 0.000000
vn -0.923900 0.000000 -0.382700
vn -0.689400 -0.665700 -0.285500
vn -0.707100 0.000000 -0.707100
vn -0.527600 -0.665700 -0.527600
vn -0.382700 0.000000 -0.923900
vn 0.000000 -0.665700 -0.746200
vn -0.285500 -0.665700 -0.689400
vn 0.665700 -0.145600 -0.731900
vn 0.630200 -0.549000 -0.549000
vn -0.630200 -0.549000 -0.549000
vn 0.630200 -0.776400 0.000000
vn -0.630200 -0.776400 0.000000
vn 0.630200 -0.549000 0.549000
vn -0.630200 -0.549000 0.549000
vn 0.665700 -0.145600 0.731900
vn -0.665700 -0.145600 0.731900
vn -0.665700 -0.145600 -0.731900
vn 0.000000 -0.630200 0.776400
vn 0.549000 -0.630200 0.549000
vn -0.776400 -0.630200 0.000000
vn -0.549000 -0.630200 0.549000
vn 0.000000 -0.630200 -0.776400
vn -0.549000 -0.630200 -0.549000
vn 0.549000 -0.630200 -0.549000
vn 0.776400 -0.630200 0.000000
s off
f 119//21 127//21 111//21
f 139//22 145//22 137//22
f 138//23 146//23 144//23
f 165//21 162//21 161//21
f 135//21 105//21 107//21
f 107//21 109//21 135//21
f 111//21 113//21 115//21
f 115//21 117//21 111//21
f 119//21 121//21 127//21
f 123//21 125//21 127//21
f 127//21 129//21 131//21
f 131//21 133//21 135//21
f 135//21 109//21 111//21
f 111//21 117//21 119//21
f 121//21 123//21 127//21
f 127//21 131//21 135//21
f 135//21 111//21 127//21
f 150//22 137//22 148//22
f 139//22 141//22 143//22
f 143//22 145//22 139//22
f 148//22 137//22 145//22
f 142//23 140//23 138//23
f 138//23 149//23 147//23
f 147//23 146//23 138//23
f 144//23 142//23 138//23
f 161//21 159//21 160//21
f 160//21 166//21 161//21
f 165//21 164//21 163//21
f 163//21 162//21 165//21
f 161//21 166//21 165//21
s 1
f 106//24 108//25 107//26
f 108//25 110//27 109//28
f 110//27 112//29 111//30
f 112//29 114//23 113//31
f 114//23 116//32 115//33
f 116//32 118//34 117//35
f 118//34 120//36 119//37
f 120//36 122//38 121//39
f 122//38 124//40 123//41
f 124//40 126//42 125//43
f 126//42 128//44 127//45
f 128//44 130//22 129//46
f 130//22 132//47 131//48
f 132//47 134//49 133//50
f 136//51 106//24 105//52
f 134//49 136//51 135//53
f 138//54 140//55 139//56
f 140//55 142//57 141//58
f 142//57 144//59 143//60
f 144//59 146//61 145//62
f 137//63 150//49 149//27
f 146//61 147//34 148//42
f 155//38 163//64 164//65
f 153//22 161//66 162//67
f 151//24 160//68 159//69
f 158//27 166//70 160//68
f 156//34 164//65 165//71
f 154//42 162//67 163//64
f 152//49 159//69 161//66
f 157//23 165//71 166//70
f 105//52 106//24 107//26
f 107//26 108//25 109//28
f 109//28 110//27 111//30
f 111//30 112//29 113//31
f 113//31 114//23 115//33
f 115//33 116//32 117//35
f 117//35 118//34 119//37
f 119//37 120//36 121//39
f 121//39 122//38 123//41
f 123//41 124//40 125//43
f 125//43 126//42 127//45
f 127//45 128//44 129//46
f 129//46 130//22 131//48
f 131//48 132//47 133//50
f 135//53 136//51 105//52
f 133//50 134//49 135//53
f 137//63 138//54 139//56
f 139//56 140//55 141//58
f 141//58 142//57 143//60
f 143//60 144//59 145//62
f 138//54 137//63 149//27
f 145//62 146//61 148//42
f 156//34 155//38 164//65
f 154//42 153//22 162//67
f 152//49 151//24 159//69
f 151//24 158//27 160//68
f 157//23 156//34 165//71
f 155//38 154//42 163//64
f 153//22 152//49 161//66
f 158//27 157//23 166//70
o Base
v -1.500000 3.000000 0.500000
v -1.500000 3.000000 -0.500000
v -1.500000 0.000000 -0.500000
v -1.500000 0.000000 0.500000
v -0.500000 3.000000 -1.500000
v 0.500000 3.000000 -1.500000
v 0.500000 0.000000 -1.500000
v -0.500000 0.000000 -1.500000
v 1.500000 3.000000 -0.500000
v 1.500000 3.000000 0.500000
v 1.500000 0.000000 0.500000
v 1.500000 0.000000 -0.500000
v 0.500000 3.000000 1.500000
v -0.500000 3.000000 1.500000
v -0.500000 0.000000 1.500000
v 0.500000 0.000000 1.500000
v -1.000000 3.000000 -0.500000
v -1.000000 3.000000 0.500000
v -1.000000 0.000000 -0.500000
v -1.000000 0.000000 0.500000
v 0.500000 3.000000 -1.000000
v -0.500000 3.000000 -1.000000
v 0.500000 0.000000 -1.000000
v -0.500000 0.000000 -1.000000
v 1.000000 3.000000 0.500000
v 1.000000 3.000000 -0.500000
v 1.000000 0.000000 0.500000
v 1.000000 0.000000 -0.500000
v -0.500000 3.000000 1.000000
v 0.500000 3.000000 1.000000
v -0.500000 0.000000 1.000000
v 0.500000 0.000000 1.000000
vn 0.000000 1.000000 0.000000
vn -0.707100 0.000000 -0.707100
vn -1.000000 0.000000 0.000000
vn 0.000000 0.000000 -1.000000
vn 0.000000 -1.000000 0.000000
vn 0.000000 0.000000 1.000000
vn 1.000000 0.000000 0.000000
vn 0.707100 0.000000 0.707100
vn -0.707100 0.000000 0.707100
vn 0.707100 0.000000 -0.707100
s off
f 191//72 187//72 183//72
f 183//73 188//73 190//73
f 168//74 169//74 170//74
f 168//72 167//72 184//72
f 169//75 168//75 183//75
f 170//76 169//76 185//76
f 167//77 170//77 186//77
f 172//75 173//75 174//75
f 172//72 171//72 188//72
f 173//78 172//78 187//78
f 174//76 173//76 189//76
f 171//74 174//74 190//74
f 176//78 177//78 178//78
f 176//72 175//72 192//72
f 177//77 176//77 191//77
f 178//76 177//76 193//76
f 175//75 178//75 194//75
f 180//77 181//77 182//77
f 180//72 179//72 196//72
f 181//74 180//74 195//74
f 182//76 181//76 197//76
f 179//78 182//78 198//78
f 198//79 193//79 191//79
f 189//76 193//76 197//76
f 186//80 197//80 195//80
f 194//81 189//81 187//81
f 183//72 184//72 195//72
f 195//72 196//72 191//72
f 191//72 192//72 187//72
f 187//72 188//72 183//72
f 183//72 195//72 191//72
f 185//73 183//73 190//73
f 167//74 168//74 170//74
f 183//72 168//72 184//72
f 185//75 169//75 183//75
f 186//76 170//76 185//76
f 184//77 167//77 186//77
f 171//75 172//75 174//75
f 187//72 172//72 188//72
f 189//78 173//78 187//78
f 190//76 174//76 189//76
f 188//74 171//74 190//74
f 175//78 176//78 178//78
f 191//72 176//72 192//72
f 193//77 177//77 191//77
f 194//76 178//76 193//76
f 192//75 175//75 194//75
f 179//77 180//77 182//77
f 195//72 180//72 196//72
f 197//74 181//74 195//74
f 198//76 182//76 197//76
f 196//78 179//78 198//78
f 196//79 198//79 191//79
f 197//76 186//76 185//76
f 185//76 190//76 189//76
f 189//76 194//76 193//76
f 193//76 198//76 197//76
f 197//76 185//76 189//76
f 184//80 186//80 195//80
f 192//81 194//81 187//81

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 348 B

After

Width:  |  Height:  |  Size: 513 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 539 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View File

@ -461,6 +461,7 @@ public class ModBlocks {
public static Block struct_launcher_core;
public static Block struct_launcher_core_large;
public static Block struct_soyuz_core;
public static Block struct_iter_core;
public static Block factory_titanium_hull;
public static Block factory_titanium_furnace;
@ -596,6 +597,9 @@ public class ModBlocks {
public static Block drill_pipe;
public static final int guiID_machine_drill = 45;
public static Block machine_mining_laser;
public static final int guiID_mining_laser = 45;
public static Block machine_assembler;
public static final int guiID_machine_assembler = 48;
@ -1126,6 +1130,7 @@ public class ModBlocks {
struct_launcher_core = new BlockStruct(Material.iron).setBlockName("struct_launcher_core").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":struct_launcher_core");
struct_launcher_core_large = new BlockStruct(Material.iron).setBlockName("struct_launcher_core_large").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":struct_launcher_core_large");
struct_soyuz_core = new BlockSoyuzStruct(Material.iron).setBlockName("struct_soyuz_core").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":struct_soyuz_core");
struct_iter_core = new BlockITERStruct(Material.iron).setBlockName("struct_iter_core").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":struct_iter_core");
factory_titanium_hull = new BlockGeneric(Material.iron).setBlockName("factory_titanium_hull").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":factory_titanium_hull");
factory_titanium_furnace = new FactoryHatch(Material.iron).setBlockName("factory_titanium_furnace").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":factory_titanium_furnace");
@ -1144,7 +1149,7 @@ public class ModBlocks {
reactor_conductor = new BlockPillar(Material.iron, RefStrings.MODID + ":reactor_conductor_top").setBlockName("reactor_conductor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":reactor_conductor_side");
reactor_computer = new ReactorCore(Material.iron).setBlockName("reactor_computer").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":reactor_computer");
fusion_conductor = new BlockPillar(Material.iron, RefStrings.MODID + ":block_steel").setBlockName("fusion_conductor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fusion_conductor_side_alt3");
fusion_conductor = new BlockPillar(Material.iron, RefStrings.MODID + ":deco_steel").setBlockName("fusion_conductor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fusion_conductor_side_alt3");
fusion_center = new BlockPillar(Material.iron, RefStrings.MODID + ":fusion_center_top_alt").setBlockName("fusion_center").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fusion_center_side_alt");
fusion_motor = new BlockPillar(Material.iron, RefStrings.MODID + ":fusion_motor_top_alt").setBlockName("fusion_motor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fusion_motor_side_alt");
fusion_heater = new BlockPillar(Material.iron, RefStrings.MODID + ":fusion_heater_top").setBlockName("fusion_heater").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fusion_heater_side");
@ -1260,6 +1265,7 @@ public class ModBlocks {
machine_refinery = new MachineRefinery(Material.iron).setBlockName("machine_refinery").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_refinery");
machine_drill = new MachineMiningDrill(Material.iron).setBlockName("machine_drill").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_drill");
drill_pipe = new BlockNoDrop(Material.iron).setBlockName("drill_pipe").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":drill_pipe");
machine_mining_laser = new MachineMiningLaser(Material.iron).setBlockName("machine_mining_laser").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_mining_laser");
machine_assembler = new MachineAssembler(Material.iron).setBlockName("machine_assembler").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_assembler");
machine_chemplant = new MachineChemplant(Material.iron).setBlockName("machine_chemplant").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_chemplant");
machine_fluidtank = new MachineFluidTank(Material.iron).setBlockName("machine_fluidtank").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_fluidtank");
@ -1785,6 +1791,7 @@ public class ModBlocks {
GameRegistry.registerBlock(machine_flare, machine_flare.getUnlocalizedName());
GameRegistry.registerBlock(machine_refinery, machine_refinery.getUnlocalizedName());
GameRegistry.registerBlock(machine_drill, machine_drill.getUnlocalizedName());
GameRegistry.registerBlock(machine_mining_laser, machine_mining_laser.getUnlocalizedName());
GameRegistry.registerBlock(machine_turbofan, machine_turbofan.getUnlocalizedName());
GameRegistry.registerBlock(machine_schrabidium_transmutator, machine_schrabidium_transmutator.getUnlocalizedName());
GameRegistry.registerBlock(machine_combine_factory, machine_combine_factory.getUnlocalizedName());
@ -1808,6 +1815,7 @@ public class ModBlocks {
GameRegistry.registerBlock(struct_launcher_core, struct_launcher_core.getUnlocalizedName());
GameRegistry.registerBlock(struct_launcher_core_large, struct_launcher_core_large.getUnlocalizedName());
GameRegistry.registerBlock(struct_soyuz_core, struct_soyuz_core.getUnlocalizedName());
GameRegistry.registerBlock(struct_iter_core, struct_iter_core.getUnlocalizedName());
//Absorbers
GameRegistry.registerBlock(absorber, absorber.getUnlocalizedName());

View File

@ -0,0 +1,25 @@
package com.hbm.blocks.machine;
import com.hbm.tileentity.machine.TileEntityITERStruct;
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
public class BlockITERStruct extends BlockContainer {
public BlockITERStruct(Material mat) {
super(mat);
}
@Override
public TileEntity createNewTileEntity(World world, int meta) {
return new TileEntityITERStruct();
}
public boolean isOpaqueCube() {
return false;
}
}

View File

@ -22,5 +22,4 @@ public class BlockSoyuzStruct extends BlockContainer {
return false;
}
}

View File

@ -0,0 +1,34 @@
package com.hbm.blocks.machine;
import com.hbm.blocks.BlockDummyable;
import com.hbm.tileentity.machine.TileEntityMachineMiningLaser;
import net.minecraft.block.material.Material;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
public class MachineMiningLaser extends BlockDummyable {
public MachineMiningLaser(Material mat) {
super(mat);
}
@Override
public TileEntity createNewTileEntity(World p_149915_1_, int meta) {
if(meta >= ForgeDirection.UNKNOWN.ordinal())
return new TileEntityMachineMiningLaser();
return null;
}
@Override
public int[] getDimensions() {
return new int[] {2, 0, 1, 1, 1, 1};
}
@Override
public int getOffset() {
return 1;
}
}

View File

@ -357,7 +357,7 @@ public class EntityBulletBase extends Entity implements IProjectile {
if(worldObj.isRemote && !config.vPFX.isEmpty()) {
double motion = Vec3.createVectorHelper(-motionX, -motionY, -motionZ).lengthVector();
double motion = Math.min(Vec3.createVectorHelper(motionX, motionY, motionZ).lengthVector(), 0.1);
for(double d = 0; d < 1; d += 1 / motion) {

View File

@ -128,6 +128,7 @@ public class ClientProxy extends ServerProxy
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineOilWell.class, new RenderDerrick());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineGasFlare.class, new RenderGasFlare());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineMiningDrill.class, new RenderMiningDrill());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineMiningLaser.class, new RenderLaserMiner());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineAssembler.class, new RenderAssembler());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineChemplant.class, new RenderChemplant());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineFluidTank.class, new RenderFluidTank());
@ -360,6 +361,7 @@ public class ClientProxy extends ServerProxy
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityStructureMarker.class, new RenderStructureMaker());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMultiblock.class, new RenderMultiblock());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntitySoyuzStruct.class, new RenderSoyuzMultiblock());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityITERStruct.class, new RenderITERMultiblock());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityAMSBase.class, new RenderAMSBase());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityAMSEmitter.class, new RenderAMSEmitter());

View File

@ -561,6 +561,8 @@ public class MainRegistry
GameRegistry.registerTileEntity(TileEntitySoyuzCapsule.class, "tileentity_soyuz_capsule");
GameRegistry.registerTileEntity(TileEntityMachineCrystallizer.class, "tileentity_acidomatic");
GameRegistry.registerTileEntity(TileEntitySoyuzStruct.class, "tileentity_soyuz_struct");
GameRegistry.registerTileEntity(TileEntityITERStruct.class, "tileentity_iter_struct");
GameRegistry.registerTileEntity(TileEntityMachineMiningLaser.class, "tileentity_mining_laser");
EntityRegistry.registerModEntity(EntityRocket.class, "entity_rocket", 0, this, 250, 1, true);
EntityRegistry.registerModEntity(EntityNukeExplosion.class, "entity_nuke_explosion", 1, this, 250, 1, true);

View File

@ -69,6 +69,9 @@ public class ResourceManager {
//Centrifuge
public static final IModelCustom centrifuge_new = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/centrifuge_new.obj"));
//Lase Miner
public static final IModelCustom mining_laser = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/mining_laser.obj"));
//Anti Mass Spectrometer
public static final IModelCustom ams_base = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/ams_base.obj"));
public static final IModelCustom ams_emitter = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/ams_emitter.obj"));
@ -92,8 +95,11 @@ public class ResourceManager {
public static final IModelCustom radgen_rotor = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/rad_gen_rotor.obj"));
//Small Reactor
public static final IModelCustom reactor_small_base = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/reactor_small_base.obj"));
public static final IModelCustom reactor_small_rods = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/reactor_small_rods.obj"));
public static final IModelCustom reactor_small_base = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/reactors/reactor_small_base.obj"));
public static final IModelCustom reactor_small_rods = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/reactors/reactor_small_rods.obj"));
//ITER
public static final IModelCustom iter = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/reactors/iter.obj"));
//Radar
public static final IModelCustom radar_body = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/radar_base.obj"));
@ -233,6 +239,16 @@ public class ResourceManager {
public static final ResourceLocation reactor_small_base_tex = new ResourceLocation(RefStrings.MODID, "textures/models/reactor_small_base.png");
public static final ResourceLocation reactor_small_rods_tex = new ResourceLocation(RefStrings.MODID, "textures/models/reactor_small_rods.png");
//ITER
public static final ResourceLocation iter_glass = new ResourceLocation(RefStrings.MODID, "textures/models/iter/glass.png");
public static final ResourceLocation iter_microwave = new ResourceLocation(RefStrings.MODID, "textures/models/iter/microwave.png");
public static final ResourceLocation iter_motor = new ResourceLocation(RefStrings.MODID, "textures/models/iter/motor.png");
public static final ResourceLocation iter_plasma = new ResourceLocation(RefStrings.MODID, "textures/models/iter/plasma.png");
public static final ResourceLocation iter_rails = new ResourceLocation(RefStrings.MODID, "textures/models/iter/rails.png");
public static final ResourceLocation iter_solenoid = new ResourceLocation(RefStrings.MODID, "textures/models/iter/solenoid.png");
public static final ResourceLocation iter_toroidal = new ResourceLocation(RefStrings.MODID, "textures/models/iter/toroidal.png");
public static final ResourceLocation iter_torus = new ResourceLocation(RefStrings.MODID, "textures/models/iter/torus.png");
//Radar
public static final ResourceLocation radar_body_tex = new ResourceLocation(RefStrings.MODID, "textures/models/radar_base.png");
public static final ResourceLocation radar_head_tex = new ResourceLocation(RefStrings.MODID, "textures/models/radar_head.png");

View File

@ -0,0 +1,49 @@
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 RenderITERMultiblock extends TileEntitySpecialRenderer {
@Override
public void renderTileEntityAt(TileEntity te, double x, double y, double z, float f) {
GL11.glPushMatrix();
GL11.glTranslatef((float)x + 0.5F, (float)y, (float)z + 0.5F);
GL11.glShadeModel(GL11.GL_SMOOTH);
bindTexture(ResourceManager.iter_glass);
ResourceManager.iter.renderPart("Windows");
bindTexture(ResourceManager.iter_motor);
ResourceManager.iter.renderPart("Motors");
bindTexture(ResourceManager.iter_rails);
ResourceManager.iter.renderPart("Rails");
bindTexture(ResourceManager.iter_toroidal);
ResourceManager.iter.renderPart("Toroidal");
bindTexture(ResourceManager.iter_torus);
ResourceManager.iter.renderPart("Torus");
GL11.glPushMatrix();
GL11.glRotated(System.currentTimeMillis() / 5D % 360, 0, 1, 0);
bindTexture(ResourceManager.iter_solenoid);
ResourceManager.iter.renderPart("Solenoid");
GL11.glPopMatrix();
GL11.glPushMatrix();
GL11.glRotated(System.currentTimeMillis() / 50D % 360, 0, 1, 0);
GL11.glDisable(GL11.GL_LIGHTING);
bindTexture(ResourceManager.iter_plasma);
ResourceManager.iter.renderPart("Plasma");
GL11.glShadeModel(GL11.GL_FLAT);
GL11.glPopMatrix();
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glPopMatrix();
}
}

View File

@ -0,0 +1,81 @@
package com.hbm.render.tileentity;
import org.lwjgl.opengl.GL11;
import com.hbm.main.ResourceManager;
import com.hbm.render.util.BeamPronter;
import com.hbm.render.util.BeamPronter.EnumBeamType;
import com.hbm.render.util.BeamPronter.EnumWaveType;
import com.hbm.tileentity.machine.TileEntityMachineMiningLaser;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.MathHelper;
import net.minecraft.util.Vec3;
public class RenderLaserMiner extends TileEntitySpecialRenderer {
@Override
public void renderTileEntityAt(TileEntity te, double x, double y, double z, float interpolation) {
GL11.glPushMatrix();
GL11.glTranslated(x + 0.5, y, z + 0.5);
TileEntityMachineMiningLaser laser = (TileEntityMachineMiningLaser)te;
double tx = (laser.targetX - laser.lastTargetX) * interpolation + laser.lastTargetX;
double ty = (laser.targetY - laser.lastTargetY) * interpolation + laser.lastTargetY;
double tz = (laser.targetZ - laser.lastTargetZ) * interpolation + laser.lastTargetZ;
double vx = tx - laser.xCoord;
double vy = ty - laser.yCoord + 1.5;
double vz = tz - laser.zCoord;
Vec3 nVec = Vec3.createVectorHelper(vx, vy, vz);
nVec = nVec.normalize();
double d = 1.5D;
nVec.xCoord *= d;
nVec.yCoord *= d;
nVec.zCoord *= d;
Vec3 vec = Vec3.createVectorHelper(vx - nVec.xCoord, vy - nVec.yCoord, vz - nVec.zCoord);
double length = vec.lengthVector();
double yaw = Math.toDegrees(Math.atan2(vec.xCoord, vec.zCoord));
double sqrt = MathHelper.sqrt_double(vec.xCoord * vec.xCoord + vec.zCoord * vec.zCoord);
double pitch = Math.toDegrees(Math.atan2(vec.yCoord, sqrt));
//turns out using tan(vec.yCoord, length) was inaccurate,
//the emitter wouldn't match the laser perfectly when pointing down
bindTexture(ResourceManager.universal);
ResourceManager.mining_laser.renderPart("Base");
GL11.glShadeModel(GL11.GL_SMOOTH);
GL11.glPushMatrix();
GL11.glRotated(yaw, 0, 1, 0);
ResourceManager.mining_laser.renderPart("Pivot");
GL11.glPopMatrix();
GL11.glPushMatrix();
GL11.glRotated(yaw, 0, 1, 0);
GL11.glTranslated(0, -1, 0);
GL11.glRotated(pitch + 90, -1, 0, 0);
GL11.glTranslated(0, 1, 0);
ResourceManager.mining_laser.renderPart("Laser");
GL11.glPopMatrix();
GL11.glShadeModel(GL11.GL_FLAT);
if(laser.beam) {
length = vec.lengthVector();
GL11.glTranslated(nVec.xCoord, nVec.yCoord - 1, nVec.zCoord);
int range = (int)Math.ceil(length * 0.5);
//BeamPronter.prontBeam(vec, EnumWaveType.SPIRAL, EnumBeamType.SOLID, 0xa00000, 0xa00000, 0, 1, 0F, 8, 0.0625F);
BeamPronter.prontBeam(vec, EnumWaveType.SPIRAL, EnumBeamType.SOLID, 0xa00000, 0xa00000, (int)te.getWorldObj().getTotalWorldTime() * -25 % 360, range * 2, 0.125F, 4, 0.0625F);
BeamPronter.prontBeam(vec, EnumWaveType.SPIRAL, EnumBeamType.SOLID, 0xa00000, 0xa00000, (int)te.getWorldObj().getTotalWorldTime() * -25 % 360 + 120, range * 2, 0.125F, 4, 0.0625F);
BeamPronter.prontBeam(vec, EnumWaveType.SPIRAL, EnumBeamType.SOLID, 0xa00000, 0xa00000, (int)te.getWorldObj().getTotalWorldTime() * -25 % 360 + 240, range * 2, 0.125F, 4, 0.0625F);
}
GL11.glPopMatrix();
}
}

View File

@ -23,6 +23,7 @@ public class BeamPronter {
public static void prontBeam(Vec3 skeleton, EnumWaveType wave, EnumBeamType beam, int outerColor, int innerColor, int start, int segments, float size, int layers, float thickness) {
GL11.glPushMatrix();
GL11.glDepthMask(false);
float sYaw = (float)(Math.atan2(skeleton.xCoord, skeleton.zCoord) * 180F / Math.PI);
float sqrt = MathHelper.sqrt_double(skeleton.xCoord * skeleton.xCoord + skeleton.zCoord * skeleton.zCoord);
@ -141,6 +142,7 @@ public class BeamPronter {
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glEnable(GL11.GL_TEXTURE_2D);
GL11.glPopMatrix();
GL11.glDepthMask(true);
GL11.glPopMatrix();
}

View File

@ -0,0 +1,36 @@
package com.hbm.tileentity.machine;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.AxisAlignedBB;
public class TileEntityITERStruct extends TileEntity {
int age;
@Override
public void updateEntity() {
if(worldObj.isRemote)
return;
age++;
if(age < 20)
return;
age = 0;
}
@Override
public AxisAlignedBB getRenderBoundingBox() {
return TileEntity.INFINITE_EXTENT_AABB;
}
@Override
@SideOnly(Side.CLIENT)
public double getMaxRenderDistanceSquared() {
return 65536.0D;
}
}

View File

@ -0,0 +1,184 @@
package com.hbm.tileentity.machine;
import com.hbm.lib.Library;
import com.hbm.tileentity.TileEntityMachineBase;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.Block;
import net.minecraft.init.Blocks;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.AxisAlignedBB;
public class TileEntityMachineMiningLaser extends TileEntityMachineBase {
public long power;
public static final long maxPower = 1000000;
public static final int consumption = 10000;
public int targetX;
public int targetY;
public int targetZ;
public int lastTargetX;
public int lastTargetY;
public int lastTargetZ;
public boolean beam;
boolean lock = false;
double breakProgress;
public TileEntityMachineMiningLaser() {
super(30);
}
@Override
public String getName() {
return "container.miningLaser";
}
@Override
public void updateEntity() {
if(!worldObj.isRemote) {
power = Library.chargeTEFromItems(slots, 0, power, maxPower);
//reset progress if the position changes
if(lastTargetX != targetX ||
lastTargetY != targetY ||
lastTargetZ != targetZ)
breakProgress = 0;
//set last positions for interpolation and the like
lastTargetX = targetX;
lastTargetY = targetY;
lastTargetZ = targetZ;
for(int i = 0; i < 1; i++) {
if(targetY <= 0)
targetY = yCoord -1;
scan();
if(beam && canBreak(worldObj.getBlock(targetX, targetY, targetZ))) {
breakProgress += getSpeed();
if(breakProgress < 1) {
worldObj.destroyBlockInWorldPartially(-1, targetX, targetY, targetZ, (int) Math.floor(breakProgress * 10));
} else {
worldObj.func_147480_a(targetX, targetY, targetZ, false);
breakProgress = 0;
}
}
}
NBTTagCompound data = new NBTTagCompound();
data.setInteger("lastX", lastTargetX);
data.setInteger("lastY", lastTargetY);
data.setInteger("lastZ", lastTargetZ);
data.setInteger("x", targetX);
data.setInteger("y", targetY);
data.setInteger("z", targetZ);
data.setBoolean("beam", beam);
this.networkPack(data, 250);
}
}
public void networkUnpack(NBTTagCompound data) {
this.lastTargetX = data.getInteger("lastX");
this.lastTargetY = data.getInteger("lastY");
this.lastTargetZ = data.getInteger("lastZ");
this.targetX = data.getInteger("x");
this.targetY = data.getInteger("y");
this.targetZ = data.getInteger("z");
this.beam = data.getBoolean("beam");
}
public double getSpeed() {
float hardness = worldObj.getBlock(targetX, targetY, targetZ).getBlockHardness(worldObj, targetX, targetY, targetZ) * 10;
if(hardness == 0)
return 1;
return 1 / hardness;
}
public void scan() {
int range = getRange();
for(int x = -range; x <= range; x++) {
for(int z = -range; z <= range; z++) {
if(canBreak(worldObj.getBlock(x + xCoord, targetY, z + zCoord))) {
targetX = x + xCoord;
targetZ = z + zCoord;
beam = true;
return;
}
}
}
beam = false;
targetY--;
}
private boolean canBreak(Block block) {
return block != Blocks.air && block != Blocks.water && block != Blocks.flowing_water;
}
/*public int targetHeight(int x, int z) {
for(int y = yCoord - 1; y > 0; y--) {
if(worldObj.getBlock(x, y, z) != Blocks.air)
return y;
}
return 0;
}*/
public int getRange() {
return 20;
/*int range = 1;
for(int i = 1; i < 9; i++) {
if(slots[i] != null) {
if(slots[i].getItem() == ModItems.upgrade_effect_1)
range += 2;
else if(slots[i].getItem() == ModItems.upgrade_effect_2)
range += 4;
else if(slots[i].getItem() == ModItems.upgrade_effect_3)
range += 6;
}
}
return Math.min(range, 26);*/
}
public int getWidth() {
return 1 + getRange() * 2;
}
@Override
public AxisAlignedBB getRenderBoundingBox() {
return TileEntity.INFINITE_EXTENT_AABB;
}
@Override
@SideOnly(Side.CLIENT)
public double getMaxRenderDistanceSquared()
{
return 65536.0D;
}
}