From ca72f41ba8d599bf6ad61c26c47390c37d9a19f8 Mon Sep 17 00:00:00 2001 From: Bob Date: Sun, 27 Feb 2022 22:38:05 +0100 Subject: [PATCH 1/8] laser detonator model + UV --- .../hbm/models/weapons/detonator_laser.obj | 1533 +++++++++++++++++ .../models/weapons/detonator_laser.png | Bin 1109 -> 1881 bytes 2 files changed, 1533 insertions(+) create mode 100644 src/main/resources/assets/hbm/models/weapons/detonator_laser.obj diff --git a/src/main/resources/assets/hbm/models/weapons/detonator_laser.obj b/src/main/resources/assets/hbm/models/weapons/detonator_laser.obj new file mode 100644 index 000000000..82ea5666a --- /dev/null +++ b/src/main/resources/assets/hbm/models/weapons/detonator_laser.obj @@ -0,0 +1,1533 @@ +# Blender v2.79 (sub 0) OBJ File: 'laser_detonator.blend' +# www.blender.org +o Lights +v 0.500000 0.374000 1.375000 +v -0.500000 0.374000 1.375000 +v 0.500000 0.374000 1.437500 +v -0.500000 0.374000 1.437500 +v 0.625000 0.499000 1.375000 +v -0.625000 0.499000 1.375000 +v 0.625000 0.499000 1.437500 +v -0.625000 0.499000 1.437500 +v 0.625000 1.499000 1.375000 +v -0.625000 1.499000 1.375000 +v 0.625000 1.499000 1.437500 +v -0.625000 1.499000 1.437500 +v 0.500000 1.749000 1.375000 +v -0.500000 1.749000 1.375000 +v 0.500000 1.749000 1.437500 +v -0.500000 1.749000 1.437500 +v -0.125000 1.625000 1.375000 +v 0.125000 1.625000 1.375000 +v 0.250000 1.750000 1.375000 +v -0.250000 1.750000 1.375000 +v -0.125000 1.625000 1.437500 +v 0.125000 1.625000 1.437500 +v 0.250000 1.750000 1.437500 +v -0.250000 1.750000 1.437500 +v 0.000000 1.374000 1.375000 +v -0.265165 1.264165 1.375000 +v -0.375000 0.999000 1.375000 +v -0.265165 0.733835 1.375000 +v 0.000000 0.624000 1.375000 +v 0.265165 0.733835 1.375000 +v 0.375000 0.999000 1.375000 +v 0.265165 1.264165 1.375000 +v 0.000000 1.186500 1.437500 +v -0.132582 1.131583 1.437500 +v -0.187500 0.999000 1.437500 +v -0.132582 0.866418 1.437500 +v 0.000000 0.811500 1.437500 +v 0.132583 0.866418 1.437500 +v 0.187500 0.999000 1.437500 +v 0.132583 1.131582 1.437500 +v 0.000000 1.750000 -1.812500 +v -0.088388 1.750000 -1.775888 +v -0.125000 1.750000 -1.687500 +v -0.088388 1.750000 -1.599112 +v 0.000000 1.750000 -1.562500 +v 0.088388 1.750000 -1.599112 +v 0.125000 1.750000 -1.687500 +v 0.088388 1.750000 -1.775888 +v 0.000000 1.781250 -1.812500 +v -0.088388 1.781250 -1.775888 +v -0.125000 1.781250 -1.687500 +v -0.088388 1.781250 -1.599112 +v 0.000000 1.781250 -1.562500 +v 0.088388 1.781250 -1.599112 +v 0.125000 1.781250 -1.687500 +v 0.088388 1.781250 -1.775888 +v 0.000000 1.812500 -1.750000 +v -0.044194 1.812500 -1.731694 +v -0.062500 1.812500 -1.687500 +v -0.044194 1.812500 -1.643306 +v 0.000000 1.812500 -1.625000 +v 0.044194 1.812500 -1.643306 +v 0.062500 1.812500 -1.687500 +v 0.044194 1.812500 -1.731694 +vn 0.0000 -1.0000 0.0000 +vn -0.7071 -0.7071 0.0000 +vn 0.7071 -0.7071 0.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.8944 0.4472 0.0000 +vn -0.8944 0.4472 0.0000 +vn 0.7071 0.7071 0.0000 +vn -0.7071 0.7071 0.0000 +vn 0.0000 1.0000 0.0000 +vn -0.0040 1.0000 0.0000 +vn 0.0040 1.0000 0.0000 +vn 0.0000 0.1986 0.9801 +vn -0.1986 0.0000 0.9801 +vn 0.0000 -0.1986 0.9801 +vn 0.0000 -0.3162 0.9487 +vn -0.1404 -0.1404 0.9801 +vn -0.2236 -0.2236 0.9487 +vn -0.2236 0.2236 0.9487 +vn -0.1404 0.1404 0.9801 +vn 0.2236 0.2236 0.9487 +vn 0.1986 0.0000 0.9801 +vn 0.3162 0.0000 0.9487 +vn 0.1404 -0.1404 0.9801 +vn -0.3162 0.0000 0.9487 +vn 0.0000 0.3162 0.9487 +vn 0.1404 0.1404 0.9801 +vn 0.2236 -0.2236 0.9487 +vn 0.6221 0.4753 0.6221 +vn 0.7071 0.0000 0.7071 +vn 0.0000 0.0000 1.0000 +vn -0.6221 0.4753 0.6221 +vn -0.7071 0.0000 0.7071 +vn -0.6221 0.4753 -0.6221 +vn -0.7071 0.0000 -0.7071 +vn 0.7071 0.0000 -0.7071 +vn 0.8798 0.4753 0.0000 +vn 0.0000 0.4753 0.8798 +vn -0.8798 0.4753 0.0000 +vn 0.0000 0.4753 -0.8798 +vn 0.0000 0.0000 -1.0000 +vn 0.6221 0.4753 -0.6221 +vn 0.2825 0.9593 0.0000 +vn 0.1998 0.9593 0.1998 +vn 0.0000 0.9593 0.2825 +vn -0.2825 0.9593 0.0000 +vn -0.1998 0.9593 -0.1998 +vn 0.0000 0.9593 -0.2825 +vn 0.1998 0.9593 -0.1998 +vn -0.1998 0.9593 0.1998 +s off +f 1//1 4//1 2//1 +f 4//2 6//2 2//2 +f 1//3 7//3 3//3 +f 5//4 11//4 7//4 +f 8//5 10//5 6//5 +f 9//6 15//6 11//6 +f 12//7 14//7 10//7 +f 24//8 17//8 20//8 +f 22//9 19//9 18//9 +f 21//10 18//10 17//10 +f 16//11 20//11 14//11 +f 13//12 23//12 15//12 +f 1//1 3//1 4//1 +f 4//2 8//2 6//2 +f 1//3 5//3 7//3 +f 5//4 9//4 11//4 +f 8//5 12//5 10//5 +f 9//6 13//6 15//6 +f 12//7 16//7 14//7 +f 24//8 21//8 17//8 +f 22//9 23//9 19//9 +f 21//10 22//10 18//10 +f 16//11 24//11 20//11 +f 13//12 19//12 23//12 +s 1 +f 33//13 35//14 37//15 +f 29//16 36//17 28//18 +f 26//19 35//14 34//20 +f 32//21 39//22 31//23 +f 29//16 38//24 37//15 +f 28//18 35//14 27//25 +f 26//19 33//13 25//26 +f 32//21 33//13 40//27 +f 31//23 38//24 30//28 +f 47//4 54//29 46//30 +f 45//31 52//32 44//33 +f 43//5 50//34 42//35 +f 48//36 55//37 47//4 +f 46//30 53//38 45//31 +f 44//33 51//39 43//5 +f 42//35 49//40 41//41 +f 41//41 56//42 48//36 +f 56//42 63//43 55//37 +f 53//38 62//44 61//45 +f 52//32 59//46 51//39 +f 49//40 58//47 57//48 +f 49//40 64//49 56//42 +f 54//29 63//43 62//44 +f 53//38 60//50 52//32 +f 50//34 59//46 58//47 +f 61//45 63//43 57//48 +f 33//13 34//20 35//14 +f 35//14 36//17 37//15 +f 37//15 38//24 39//22 +f 39//22 40//27 37//15 +f 40//27 33//13 37//15 +f 29//16 37//15 36//17 +f 26//19 27//25 35//14 +f 32//21 40//27 39//22 +f 29//16 30//28 38//24 +f 28//18 36//17 35//14 +f 26//19 34//20 33//13 +f 32//21 25//26 33//13 +f 31//23 39//22 38//24 +f 47//4 55//37 54//29 +f 45//31 53//38 52//32 +f 43//5 51//39 50//34 +f 48//36 56//42 55//37 +f 46//30 54//29 53//38 +f 44//33 52//32 51//39 +f 42//35 50//34 49//40 +f 41//41 49//40 56//42 +f 56//42 64//49 63//43 +f 53//38 54//29 62//44 +f 52//32 60//50 59//46 +f 49//40 50//34 58//47 +f 49//40 57//48 64//49 +f 54//29 55//37 63//43 +f 53//38 61//45 60//50 +f 50//34 51//39 59//46 +f 57//48 58//47 59//46 +f 59//46 60//50 61//45 +f 61//45 62//44 63//43 +f 63//43 64//49 57//48 +f 57//48 59//46 61//45 +o Main +v 0.562500 1.124000 1.625000 +v 0.562500 0.499000 1.625000 +v -0.500000 0.500000 -1.000000 +v -0.500000 1.500000 -1.000000 +v -0.500000 0.436500 1.625000 +v 0.500000 0.436500 1.625000 +v 0.500000 0.500000 -1.000000 +v 0.500000 1.500000 -1.000000 +v -0.125000 1.625000 1.000000 +v 0.125000 1.625000 1.000000 +v 0.250000 1.750000 1.000000 +v -0.250000 1.750000 1.000000 +v 0.500000 1.750000 1.000000 +v -0.500000 1.750000 1.000000 +v 0.625000 1.500000 1.000000 +v -0.625000 1.500000 1.000000 +v 0.625000 1.000000 1.187500 +v -0.625000 1.000000 1.187500 +v 0.625000 0.500000 1.187500 +v -0.625000 0.500000 1.187500 +v 0.500000 0.374000 1.187500 +v -0.500000 0.374000 1.187500 +v 0.500000 0.374000 1.375000 +v -0.500000 0.374000 1.375000 +v 0.500000 0.374000 1.437500 +v -0.500000 0.374000 1.437500 +v 0.500000 0.374000 1.625000 +v -0.500000 0.374000 1.625000 +v 0.625000 0.499000 1.375000 +v -0.625000 0.499000 1.375000 +v 0.625000 0.499000 1.437500 +v -0.625000 0.499000 1.437500 +v 0.625000 0.499000 1.625000 +v -0.625000 0.499000 1.625000 +v 0.625000 1.499000 1.375000 +v -0.625000 1.499000 1.375000 +v 0.625000 1.499000 1.437500 +v -0.625000 1.499000 1.437500 +v 0.500000 1.749000 1.375000 +v -0.500000 1.749000 1.375000 +v 0.500000 1.749000 1.437500 +v -0.500000 1.749000 1.437500 +v -0.125000 1.625000 1.375000 +v 0.125000 1.625000 1.375000 +v 0.250000 1.750000 1.375000 +v -0.250000 1.750000 1.375000 +v -0.125000 1.625000 1.437500 +v 0.125000 1.625000 1.437500 +v 0.250000 1.750000 1.437500 +v -0.250000 1.750000 1.437500 +v 0.625000 1.124000 1.625000 +v -0.625000 1.124000 1.625000 +v 0.625000 1.499000 1.812500 +v -0.625000 1.499000 1.812500 +v 0.500000 1.749000 1.812500 +v -0.500000 1.749000 1.812500 +v -0.125000 1.625000 1.812500 +v 0.125000 1.625000 1.812500 +v 0.250000 1.750000 1.812500 +v -0.250000 1.750000 1.812500 +v 0.500000 0.499000 1.187500 +v -0.500000 0.499000 1.187500 +v -0.500000 1.000000 1.187500 +v 0.500000 1.000000 1.187500 +v 0.500000 1.500000 1.000000 +v -0.500000 1.500000 1.000000 +v 0.562500 1.499000 1.812500 +v -0.562500 0.499000 1.625000 +v -0.562500 1.124000 1.625000 +v -0.562500 1.499000 1.812500 +v 0.437500 1.686500 1.812500 +v -0.437500 1.686500 1.812500 +v -0.187500 1.562500 1.812500 +v 0.187500 1.562500 1.812500 +v 0.312500 1.687500 1.812500 +v -0.312500 1.687500 1.812500 +v 0.562500 1.124000 1.375000 +v 0.562500 0.499000 1.375000 +v -0.500000 0.436500 1.375000 +v 0.500000 0.436500 1.375000 +v -0.562500 0.499000 1.375000 +v -0.562500 1.124000 1.375000 +v 0.562500 1.499000 1.375000 +v -0.562500 1.499000 1.375000 +v 0.437500 1.686500 1.375000 +v -0.437500 1.686500 1.375000 +v -0.187500 1.562500 1.375000 +v 0.187500 1.562500 1.375000 +v 0.312500 1.687500 1.375000 +v -0.312500 1.687500 1.375000 +v 0.325000 0.436500 1.531250 +v 0.450000 0.436500 1.500000 +v -0.500000 1.686500 1.468750 +v -0.375000 1.686500 1.437500 +v -0.425000 0.436500 1.500000 +v -0.300000 0.436500 1.531250 +v 0.375000 1.686500 1.437500 +v 0.500000 1.686500 1.468750 +v -0.500000 1.625000 -1.000000 +v 0.500000 1.625000 -1.000000 +v -0.500000 0.375000 -1.000000 +v 0.500000 0.375000 -1.000000 +v 0.625000 0.500000 -1.000000 +v 0.625000 1.500000 -1.000000 +v -0.625000 1.500000 -1.000000 +v -0.625000 0.500000 -1.000000 +v -0.500000 1.625000 -1.250000 +v 0.500000 1.625000 -1.250000 +v -0.500000 0.375000 -1.250000 +v 0.500000 0.375000 -1.250000 +v 0.625000 0.500000 -1.250000 +v 0.625000 1.500000 -1.250000 +v -0.625000 1.500000 -1.250000 +v -0.625000 0.500000 -1.250000 +v -0.500000 1.625000 -1.312500 +v 0.500000 1.625000 -1.312500 +v -0.500000 0.375000 -1.312500 +v 0.500000 0.375000 -1.312500 +v 0.625000 0.500000 -1.312500 +v 0.625000 1.500000 -1.312500 +v -0.625000 1.500000 -1.312500 +v -0.625000 0.500000 -1.312500 +v -0.500000 1.625000 -1.937500 +v 0.500000 1.625000 -1.937500 +v -0.500000 0.375000 -1.937500 +v 0.500000 0.375000 -1.937500 +v 0.625000 0.500000 -1.937500 +v 0.625000 1.500000 -1.937500 +v -0.625000 1.500000 -1.937500 +v -0.625000 0.500000 -1.937500 +v -0.550000 1.687500 -1.250000 +v 0.550000 1.687500 -1.250000 +v -0.550000 0.312500 -1.250000 +v 0.550000 0.312500 -1.250000 +v 0.687500 0.450000 -1.250000 +v 0.687500 1.550000 -1.250000 +v -0.687500 1.550000 -1.250000 +v -0.687500 0.450000 -1.250000 +v -0.550000 1.687500 -1.312500 +v 0.550000 1.687500 -1.312500 +v -0.550000 0.312500 -1.312500 +v 0.550000 0.312500 -1.312500 +v 0.687500 0.450000 -1.312500 +v 0.687500 1.550000 -1.312500 +v -0.687500 1.550000 -1.312500 +v -0.687500 0.450000 -1.312500 +v -0.375000 1.500000 -1.937500 +v 0.375000 1.500000 -1.937500 +v 0.500000 1.375000 -1.937500 +v -0.500000 1.375000 -1.937500 +v -0.375000 0.500000 -1.937500 +v 0.375000 0.500000 -1.937500 +v 0.500000 0.625000 -1.937500 +v -0.500000 0.625000 -1.937500 +v -0.312500 1.437500 -1.875000 +v 0.312500 1.437500 -1.875000 +v 0.437500 1.312500 -1.875000 +v -0.437500 1.312500 -1.875000 +v -0.312500 0.562500 -1.875000 +v 0.312500 0.562500 -1.875000 +v 0.437500 0.687500 -1.875000 +v -0.437500 0.687500 -1.875000 +v -0.250000 1.750000 -2.000000 +v 0.250000 1.750000 -2.000000 +v -0.250000 1.750000 -1.562500 +v 0.250000 1.750000 -1.562500 +v -0.125000 1.750000 -1.436500 +v 0.125000 1.750000 -1.436500 +v -0.250000 1.625000 -1.937500 +v 0.250000 1.625000 -1.937500 +v -0.250000 1.625000 -1.562500 +v 0.250000 1.625000 -1.562500 +v -0.125000 1.625000 -1.436500 +v 0.125000 1.625000 -1.436500 +v -0.250000 1.687500 -2.062500 +v 0.250000 1.687500 -2.062500 +v -0.250000 1.125000 -2.062500 +v 0.250000 1.125000 -2.062500 +v -0.125000 1.000000 -2.062500 +v 0.125000 1.000000 -2.062500 +v -0.250000 1.125000 -1.875000 +v 0.250000 1.125000 -1.875000 +v -0.125000 1.000000 -1.875000 +v 0.125000 1.000000 -1.875000 +v -0.250000 1.437500 -1.875000 +v 0.250000 1.437500 -1.875000 +v -0.250000 1.500000 -1.937500 +v 0.250000 1.500000 -1.937500 +v -0.187500 1.156250 -2.062500 +v 0.187500 1.156250 -2.062500 +v -0.187500 1.343750 -2.062500 +v 0.187500 1.343750 -2.062500 +v -0.093750 1.437500 -2.062500 +v -0.093750 1.062500 -2.062500 +v 0.093750 1.437500 -2.062500 +v 0.093750 1.062500 -2.062500 +v -0.093750 1.343750 -2.031250 +v 0.093750 1.343750 -2.031250 +v -0.093750 1.156250 -2.031250 +v 0.093750 1.156250 -2.031250 +v 0.187500 0.625000 -1.875000 +v 0.312500 0.625000 -1.875000 +v 0.187500 0.750000 -1.875000 +v 0.312500 0.750000 -1.875000 +v -0.312500 0.625000 -1.875000 +v -0.187500 0.625000 -1.875000 +v -0.312500 0.750000 -1.875000 +v -0.187500 0.750000 -1.875000 +v 0.187500 0.750000 -1.937500 +v 0.187500 0.625000 -1.937500 +v 0.312500 0.625000 -1.937500 +v 0.312500 0.750000 -1.937500 +v -0.312500 0.750000 -1.937500 +v -0.312500 0.625000 -1.937500 +v -0.187500 0.625000 -1.937500 +v -0.187500 0.750000 -1.937500 +v -0.250000 0.500000 -0.875000 +v 0.250000 0.500000 -0.875000 +v -0.187500 0.500000 -1.001000 +v 0.187500 0.500000 -1.001000 +v -0.250000 0.500000 -0.250000 +v 0.250000 0.500000 -0.250000 +v -0.250000 -0.750000 -1.000000 +v 0.250000 -0.750000 -1.000000 +v -0.187500 -0.750000 -1.126000 +v 0.187500 -0.750000 -1.126000 +v -0.250000 -0.750000 -0.500000 +v 0.250000 -0.750000 -0.500000 +v -0.187500 -0.750000 -0.375000 +v 0.187500 -0.750000 -0.375000 +v -0.250000 -0.812500 -0.375000 +v 0.250000 -0.812500 -0.375000 +v -0.187500 -0.812500 -0.250000 +v 0.187500 -0.812500 -0.250000 +v -0.250000 -0.875000 -0.375000 +v 0.250000 -0.875000 -0.375000 +v -0.187500 -0.875000 -0.250000 +v 0.187500 -0.875000 -0.250000 +v -0.250000 -0.875000 -1.000000 +v 0.250000 -0.875000 -1.000000 +v -0.187500 -0.875000 -1.126000 +v 0.187500 -0.875000 -1.126000 +v 0.187500 0.083333 -0.959333 +v 0.250000 0.083333 -0.833333 +v -0.187500 0.083333 -0.959333 +v -0.250000 0.083333 -0.833333 +v 0.187500 0.250000 -0.175000 +v -0.187500 0.250000 -0.175000 +v -0.250000 0.375000 0.075000 +v -0.187500 0.375000 0.200000 +v -0.250000 0.250000 -0.300000 +v 0.250000 0.375000 0.075000 +v 0.187500 0.375000 0.200000 +v 0.250000 0.500000 0.125000 +v 0.187500 0.500000 0.250000 +v -0.187500 0.500000 0.250000 +v -0.250000 0.500000 0.125000 +v 0.250000 0.250000 -0.300000 +v 0.125000 0.000000 0.075000 +v -0.125000 0.000000 0.075000 +v -0.125000 0.250000 -0.175000 +v 0.125000 0.250000 -0.175000 +v 0.125000 0.062500 0.137500 +v -0.125000 0.062500 0.137500 +v 0.125000 0.188500 0.012500 +v -0.125000 0.188500 0.012500 +v 0.125000 0.313500 0.012500 +v -0.125000 0.313500 0.012500 +v 0.500000 1.375000 -0.875000 +v 0.500000 0.875000 -0.875000 +v 0.500000 1.375000 -0.375000 +v 0.500000 0.875000 -0.375000 +v 0.562500 1.375000 -0.875000 +v 0.562500 0.875000 -0.875000 +v 0.562500 1.375000 -0.375000 +v 0.562500 0.875000 -0.375000 +v 0.500000 1.375000 -0.250000 +v 0.562500 1.375000 -0.250000 +v 0.500000 1.375000 0.875000 +v 0.562500 1.375000 0.875000 +v 0.500000 1.000000 -0.250000 +v 0.562500 1.000000 -0.250000 +v 0.500000 1.000000 0.875000 +v 0.562500 1.000000 0.875000 +v -0.250000 -0.937500 -0.437500 +v 0.250000 -0.937500 -0.437500 +v -0.187500 -0.937500 -0.312500 +v 0.187500 -0.937500 -0.312500 +v -0.250000 -0.937500 -0.937500 +v 0.250000 -0.937500 -0.937500 +v -0.187500 -0.937500 -1.063500 +v 0.187500 -0.937500 -1.063500 +vt 0.592814 0.223529 +vt 0.383234 0.035294 +vt 0.592814 0.035294 +vt 0.724551 0.294118 +vt 0.628743 0.317647 +vt 0.628743 0.294118 +vt 0.401198 0.600000 +vt 0.592814 0.411765 +vt 0.592814 0.600000 +vt 0.383234 0.317647 +vt 0.383234 0.223529 +vt 0.335329 0.400000 +vt 0.239521 0.411765 +vt 0.239521 0.400000 +vt 0.592814 0.788235 +vt 0.383234 0.694118 +vt 0.239521 0.035294 +vt 0.335329 0.000000 +vt 0.335329 0.035294 +vt 0.335329 0.364706 +vt 0.239521 0.364706 +vt 0.383234 0.400000 +vt 0.365269 0.423529 +vt 0.365269 0.400000 +vt 0.209581 0.400000 +vt 0.191617 0.423529 +vt 0.191617 0.400000 +vt 0.365269 0.035294 +vt 0.383234 0.058824 +vt 0.365269 0.058824 +vt 0.191617 0.058824 +vt 0.209581 0.035294 +vt 0.209581 0.058824 +vt 0.299401 0.364706 +vt 0.275449 0.294118 +vt 0.299401 0.294118 +vt 0.311377 0.364706 +vt 0.311377 0.294118 +vt 0.335329 0.294118 +vt 0.347305 0.247059 +vt 0.383234 0.294118 +vt 0.347305 0.294118 +vt 0.365269 0.152941 +vt 0.383234 0.247059 +vt 0.209581 0.152941 +vt 0.227545 0.247059 +vt 0.191617 0.247059 +vt 0.191617 0.294118 +vt 0.227545 0.294118 +vt 0.263473 0.364706 +vt 0.239521 0.294118 +vt 0.263473 0.294118 +vt 0.275449 0.364706 +vt 0.263473 0.729412 +vt 0.275449 0.658824 +vt 0.275449 0.729412 +vt 0.299401 0.729412 +vt 0.311377 0.658824 +vt 0.311377 0.729412 +vt 0.299401 0.658824 +vt 0.335329 0.729412 +vt 0.347305 0.658824 +vt 0.383234 0.611765 +vt 0.383234 0.658824 +vt 0.347305 0.611765 +vt 0.365269 0.541176 +vt 0.383234 0.423529 +vt 0.209581 0.541176 +vt 0.209581 0.423529 +vt 0.227545 0.611765 +vt 0.191617 0.611765 +vt 0.227545 0.658824 +vt 0.191617 0.658824 +vt 0.239521 0.658824 +vt 0.239521 0.729412 +vt 0.239521 0.058824 +vt 0.347305 0.058824 +vt 0.335329 0.058824 +vt 0.227545 0.058824 +vt 0.335329 0.152941 +vt 0.347305 0.152941 +vt 0.239521 0.152941 +vt 0.227545 0.152941 +vt 0.335329 0.247059 +vt 0.239521 0.247059 +vt 0.275449 0.270588 +vt 0.299401 0.270588 +vt 0.341317 0.517647 +vt 0.347305 0.517647 +vt 0.341317 0.423529 +vt 0.347305 0.423529 +vt 0.227545 0.517647 +vt 0.233533 0.611765 +vt 0.227545 0.423529 +vt 0.233533 0.517647 +vt 0.233533 0.423529 +vt 0.335329 0.411765 +vt 0.257485 0.647059 +vt 0.263473 0.658824 +vt 0.335329 0.658824 +vt 0.317365 0.647059 +vt 0.329341 0.647059 +vt 0.275449 0.635294 +vt 0.305389 0.623529 +vt 0.299401 0.635294 +vt 0.269461 0.623529 +vt 0.245509 0.647059 +vt 0.341317 0.611765 +vt 0.017964 0.047059 +vt 0.041916 0.058824 +vt 0.017964 0.058824 +vt 0.173653 0.176471 +vt 0.149701 0.058824 +vt 0.173653 0.058824 +vt 0.149701 0.047059 +vt 0.173653 0.047059 +vt 0.143713 0.000000 +vt 0.047904 0.047059 +vt 0.047904 -0.000000 +vt 0.041916 0.176471 +vt 0.017964 0.176471 +vt 0.053892 0.364706 +vt 0.065868 0.282353 +vt 0.065868 0.364706 +vt -0.000000 0.247059 +vt 0.041916 0.282353 +vt -0.000000 0.282353 +vt 0.077844 0.364706 +vt 0.113772 0.282353 +vt 0.113772 0.364706 +vt 0.077844 0.282353 +vt 0.191617 0.282353 +vt 0.149701 0.247059 +vt 0.191617 0.247059 +vt 0.125749 0.364706 +vt 0.137725 0.282353 +vt 0.137725 0.364706 +vt 0.125749 0.282353 +vt 0.041916 0.247059 +vt 0.077844 0.258824 +vt 0.113772 0.258824 +vt 0.149701 0.176471 +vt 0.143713 0.047059 +vt 0.017964 0.282353 +vt 0.029940 0.564706 +vt 0.017964 0.564706 +vt 0.041916 0.282353 +vt 0.029940 0.564706 +vt 0.029940 0.282353 +vt 0.628743 0.105882 +vt 0.724551 0.082353 +vt 0.724551 0.105882 +vt 0.736527 0.294118 +vt 0.616766 0.105882 +vt 0.628743 0.082353 +vt 0.616766 0.294118 +vt 0.736527 0.105882 +vt 0.724551 0.317647 +vt 0.736527 0.317647 +vt 0.724551 0.364706 +vt 0.592814 0.105882 +vt 0.628743 0.364706 +vt 0.616766 0.082353 +vt 0.628743 0.035294 +vt 0.736527 0.035294 +vt 0.736527 0.082353 +vt 0.724551 0.035294 +vt 0.616766 0.364706 +vt 0.616766 0.317647 +vt 0.760479 0.294118 +vt 1.000000 0.329412 +vt 0.940120 0.141176 +vt 1.000000 0.141176 +vt 0.940120 0.117647 +vt 0.928144 -0.000000 +vt 0.940120 0.000000 +vt 0.928144 0.117647 +vt 0.832335 -0.000000 +vt 0.820359 0.117647 +vt 0.820359 -0.000000 +vt 0.928144 0.470588 +vt 0.940120 0.352941 +vt 0.940120 0.470588 +vt 0.820359 0.141176 +vt 0.760479 0.329412 +vt 0.760479 0.141176 +vt 0.832335 0.352941 +vt 0.832335 0.470588 +vt 0.820359 0.352941 +vt 0.820359 0.470588 +vt 0.892216 0.788235 +vt 0.874251 0.800000 +vt 0.874251 0.788235 +vt 0.640719 0.788235 +vt 0.622755 0.800000 +vt 0.622755 0.788235 +vt 0.868263 0.788235 +vt 0.766467 0.800000 +vt 0.772455 0.788235 +vt 0.742515 0.788235 +vt 0.640719 0.800000 +vt 0.646707 0.788235 +vt 0.766467 0.788235 +vt 0.748503 0.800000 +vt 0.748503 0.788235 +vt 0.616766 0.788235 +vt 0.514970 0.800000 +vt 0.520958 0.788235 +vt 0.514970 0.788235 +vt 0.497006 0.800000 +vt 0.497006 0.788235 +vt 0.994012 0.788235 +vt 0.892216 0.800000 +vt 0.898204 0.788235 +vt 0.520958 0.823529 +vt 0.622755 0.811765 +vt 0.616766 0.823529 +vt 0.497006 0.823529 +vt 0.514970 0.811765 +vt 0.514970 0.823529 +vt 0.898204 0.823529 +vt 1.000000 0.811765 +vt 0.994012 0.823529 +vt 0.874251 0.823529 +vt 0.892216 0.811765 +vt 0.892216 0.823529 +vt 0.622755 0.823529 +vt 0.640719 0.811765 +vt 0.640719 0.823529 +vt 0.772455 0.823529 +vt 0.874251 0.811765 +vt 0.868263 0.823529 +vt 0.646707 0.823529 +vt 0.748503 0.811765 +vt 0.742515 0.823529 +vt 0.748503 0.823529 +vt 0.766467 0.811765 +vt 0.766467 0.823529 +vt 1.000000 0.800000 +vt 0.820359 0.329412 +vt 0.844311 0.329412 +vt 0.928144 0.352941 +vt 0.928144 0.305882 +vt 0.940120 0.329412 +vt 0.832335 0.117647 +vt 0.832335 0.164706 +vt 0.916168 0.141176 +vt 0.928144 0.164706 +vt 0.916168 0.329412 +vt 0.592814 0.529412 +vt 0.610778 0.541176 +vt 0.604790 0.552941 +vt 0.688623 0.529412 +vt 0.670659 0.541176 +vt 0.682635 0.517647 +vt 0.604790 0.364706 +vt 0.598802 0.400000 +vt 0.592814 0.388235 +vt 0.676647 0.364706 +vt 0.682635 0.400000 +vt 0.670659 0.376471 +vt 0.688623 0.388235 +vt 0.676647 0.552941 +vt 0.137725 0.552941 +vt 0.089820 0.635294 +vt 0.089820 0.552941 +vt 0.137725 0.635294 +vt 0.101796 0.658824 +vt 0.137725 0.658824 +vt 0.125749 0.682353 +vt 0.125749 0.658824 +vt 0.101796 0.682353 +vt 0.041916 0.552941 +vt 0.077844 0.529412 +vt 0.083832 0.552941 +vt 0.089820 0.682353 +vt 0.089820 0.658824 +vt 0.185629 0.552941 +vt 0.149701 0.529412 +vt 0.185629 0.529412 +vt 0.137725 0.541176 +vt 0.089820 0.541176 +vt 0.143713 0.552941 +vt 0.104790 0.441176 +vt 0.122754 0.476471 +vt 0.104790 0.476471 +vt 0.089820 0.411765 +vt 0.101796 0.376471 +vt 0.101796 0.411765 +vt 0.125749 0.411765 +vt 0.137725 0.376471 +vt 0.137725 0.411765 +vt 0.125749 0.376471 +vt 0.137725 0.435294 +vt 0.155689 0.494118 +vt 0.149701 0.505882 +vt 0.077844 0.505882 +vt 0.071856 0.494118 +vt 0.089820 0.435294 +vt 0.122754 0.494118 +vt 0.104790 0.494118 +vt 0.122754 0.423529 +vt 0.104790 0.423529 +vt 0.131737 0.476471 +vt 0.122754 0.441176 +vt 0.131737 0.441176 +vt 0.095808 0.441176 +vt 0.095808 0.476471 +vt 0.155689 1.000000 +vt 0.143713 0.976471 +vt 0.155689 0.976471 +vt 0.095808 1.000000 +vt 0.107784 0.976471 +vt 0.107784 1.000000 +vt 0.083832 0.400000 +vt 0.071856 0.376471 +vt 0.083832 0.376471 +vt 0.155689 0.400000 +vt 0.143713 0.376471 +vt 0.155689 0.376471 +vt 0.143713 0.411765 +vt 0.155689 0.411765 +vt 0.155689 0.364706 +vt 0.143713 0.364706 +vt 0.071856 0.411765 +vt 0.083832 0.411765 +vt 0.083832 0.364706 +vt 0.071856 0.364706 +vt 0.137725 0.376471 +vt 0.143713 0.400000 +vt 0.137725 0.400000 +vt 0.161677 0.400000 +vt 0.161677 0.376471 +vt 0.065868 0.376471 +vt 0.071856 0.400000 +vt 0.065868 0.400000 +vt 0.089820 0.400000 +vt 0.089820 0.376471 +vt 0.263473 0.917647 +vt 0.251497 0.764706 +vt 0.263473 0.764706 +vt 0.107784 0.952941 +vt 0.095808 0.976471 +vt 0.095808 0.952941 +vt 0.191617 0.764706 +vt 0.239521 0.764706 +vt 0.239521 0.917647 +vt 0.299401 0.764706 +vt 0.299401 0.917647 +vt 0.011976 0.917647 +vt 0.059880 0.764706 +vt 0.059880 0.952941 +vt 0.107784 0.764706 +vt 0.143713 0.752941 +vt 0.143713 0.764706 +vt 0.155689 0.752941 +vt 0.155689 0.764706 +vt 0.095808 0.752941 +vt 0.107784 0.752941 +vt 0.143713 0.741176 +vt 0.155689 0.741176 +vt 0.107784 0.741176 +vt 0.263473 0.741176 +vt 0.311377 0.741176 +vt 0.311377 0.764706 +vt 0.299401 0.741176 +vt 0.179641 0.741176 +vt 0.239521 0.741176 +vt 0.071856 0.741176 +vt 0.071856 0.752941 +vt 0.143713 0.729412 +vt 0.311377 1.000000 +vt 0.311377 0.917647 +vt 0.263473 1.000000 +vt 0.299401 1.000000 +vt 0.251497 1.000000 +vt 0.059880 1.000000 +vt 0.155689 0.952941 +vt 0.143713 0.952941 +vt 0.191617 1.000000 +vt 0.191617 0.952941 +vt 0.143713 1.000000 +vt 0.371257 0.788235 +vt 0.347305 0.858824 +vt 0.347305 0.788235 +vt 0.371257 0.858824 +vt 0.347305 0.870588 +vt 0.371257 0.870588 +vt 0.347305 0.905882 +vt 0.371257 0.905882 +vt 0.347305 0.929412 +vt 0.389222 0.870588 +vt 0.407186 0.858824 +vt 0.401198 0.894118 +vt 0.329341 0.870588 +vt 0.311377 0.858824 +vt 0.317365 0.894118 +vt 0.820359 0.741176 +vt 0.604790 0.717647 +vt 0.820359 0.717647 +vt 0.844311 0.682353 +vt 0.940120 0.494118 +vt 0.940120 0.682353 +vt 0.844311 0.705882 +vt 0.940120 0.705882 +vt 0.832335 0.494118 +vt 0.832335 0.682353 +vt 0.940120 0.470588 +vt 0.844311 0.494118 +vt 0.844311 0.470588 +vt 0.952096 0.682353 +vt 0.952096 0.494118 +vt 0.820359 0.576471 +vt 0.592814 0.717647 +vt 0.604790 0.576471 +vt 0.832335 0.576471 +vt 0.832335 0.717647 +vt 0.820359 0.552941 +vt 0.155689 0.729412 +vt 0.095808 0.741176 +vt 0.107784 0.729412 +vt 0.251497 0.741176 +vt 0.263473 0.729412 +vt 0.299401 0.729412 +vt 0.311377 0.729412 +vt 0.233533 0.729412 +vt 0.017964 0.729412 +vt 0.011976 0.741176 +vt 0.455090 0.905882 +vt 0.449102 0.929412 +vt 0.413174 0.929412 +vt 0.401198 0.411765 +vt 0.383234 0.788235 +vt 0.239521 -0.000000 +vt 0.383234 0.035294 +vt 0.191617 0.035294 +vt 0.335329 0.364706 +vt 0.239521 0.364706 +vt 0.041916 0.047059 +vt 0.053892 0.282353 +vt 0.149701 0.282353 +vt 0.029940 0.282353 +vt 0.041916 0.564706 +vt 0.736527 0.364706 +vt 0.592814 0.294118 +vt 0.616766 0.035294 +vt 0.760479 0.105882 +vt 0.497006 0.811765 +vt 0.832335 0.305882 +vt 0.844311 0.141176 +vt 0.598802 0.517647 +vt 0.610778 0.376471 +vt 0.137725 0.682353 +vt 0.041916 0.529412 +vt 0.089820 0.376471 +vt 0.155689 0.435294 +vt 0.071856 0.435294 +vt 0.251497 0.917647 +vt -0.000000 1.000000 +vt 0.011976 0.764706 +vt 0.095808 0.764706 +vt 0.179641 0.752941 +vt 0.371257 0.929412 +vt 0.604790 0.741176 +vt 0.592814 0.576471 +vt 0.604790 0.552941 +vt 0.095808 0.729412 +vt 0.251497 0.729412 +vt 0.185629 0.729412 +vt 0.065868 0.729412 +vt 0.407186 0.905882 +vt 0.407186 0.811765 +vt 0.413174 0.788235 +vt 0.449102 0.788235 +vt 0.455090 0.811765 +vn 0.0000 -1.0000 -0.0005 +vn 0.0000 0.0000 1.0000 +vn 0.0000 1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.7071 -0.7071 0.0000 +vn -0.7071 -0.7071 0.0000 +vn -0.7099 -0.7043 -0.0038 +vn 0.7099 -0.7043 -0.0038 +vn 0.7071 0.7071 0.0000 +vn -0.8944 0.4472 0.0012 +vn 0.8944 0.4472 0.0012 +vn -0.7071 0.7071 0.0000 +vn 0.0040 1.0000 0.0000 +vn 0.8944 0.4472 0.0000 +vn -0.8944 0.4472 0.0000 +vn -0.0040 1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 -0.3511 -0.9363 +vn 0.0000 -0.4472 0.8944 +vn 0.0080 -1.0000 0.0000 +vn 0.8321 -0.5547 0.0000 +vn -0.8321 -0.5547 0.0000 +vn -0.0080 -1.0000 0.0000 +vn 0.2374 0.2042 0.9497 +vn -0.2377 0.1996 0.9506 +vn -0.4082 -0.4082 -0.8165 +vn 0.4082 -0.4082 -0.8165 +vn -0.4082 0.4082 -0.8165 +vn 0.4082 0.4082 -0.8165 +vn 0.7071 0.0000 -0.7071 +vn 0.0000 0.7071 -0.7071 +vn -0.7071 0.0000 -0.7071 +vn 0.0000 -0.7071 -0.7071 +vn -0.7099 0.0000 0.7043 +vn 0.7099 0.0000 0.7043 +vn 0.0000 -0.3162 -0.9487 +vn 0.0000 0.3162 -0.9487 +vn 0.3162 0.0000 -0.9487 +vn 0.3015 -0.3015 -0.9045 +vn 0.3015 0.3015 -0.9045 +vn -0.3015 0.3015 -0.9045 +vn -0.3015 -0.3015 -0.9045 +vn -0.3162 0.0000 -0.9487 +vn 0.8805 -0.1761 0.4402 +vn -0.8805 -0.1761 0.4402 +vn 0.8923 0.0885 -0.4426 +vn -0.5345 -0.8018 0.2673 +vn 0.0000 0.1961 -0.9806 +vn 0.0000 0.8944 0.4472 +vn 0.6667 0.6667 0.3333 +vn -0.6667 0.6667 0.3333 +vn 0.8944 0.0000 0.4472 +vn -0.8944 0.0000 0.4472 +vn 0.8958 0.0000 -0.4444 +vn -0.8958 0.0000 -0.4444 +vn 0.0000 -0.7071 0.7071 +vn -0.8950 -0.0444 -0.4439 +vn 0.0000 -0.0995 -0.9950 +vn 0.8950 -0.0444 -0.4439 +vn -0.8923 0.0885 -0.4426 +vn -0.0000 -0.9487 0.3162 +vn 0.8909 -0.0891 0.4454 +vn 0.5345 -0.8018 0.2673 +vn -0.0000 -0.1961 0.9806 +vn 0.0000 -0.3714 0.9285 +vn -0.8909 -0.0891 0.4454 +vn 0.0000 0.7043 0.7099 +vn 0.8165 -0.4082 0.4082 +vn -0.8165 -0.4082 0.4082 +vn 0.8187 -0.4061 -0.4061 +vn -0.8187 -0.4061 -0.4061 +vn -0.0040 1.0000 0.0027 +vn 0.0040 1.0000 0.0027 +s off +f 71/1/51 126/2/51 67/3/51 +f 72/4/52 163/5/52 68/6/52 +f 130/7/53 72/8/53 68/9/53 +f 128/10/54 125/11/54 71/1/54 +f 91/12/52 69/13/52 92/14/52 +f 67/15/55 127/16/55 130/7/55 +f 85/17/56 88/18/56 86/19/56 +f 89/20/56 92/14/56 90/21/56 +f 89/22/57 97/23/57 91/24/57 +f 92/25/58 96/26/58 90/27/58 +f 86/28/59 94/29/59 84/30/59 +f 93/31/60 85/32/60 83/33/60 +f 107/34/53 74/35/53 73/36/53 +f 110/37/61 73/36/61 76/38/61 +f 78/39/53 110/37/53 76/38/53 +f 80/40/62 104/41/62 78/42/62 +f 82/43/55 100/44/55 80/40/55 +f 94/29/55 82/43/55 84/30/55 +f 81/45/54 93/31/54 83/33/54 +f 79/46/54 99/47/54 81/45/54 +f 103/48/63 79/46/63 77/49/63 +f 109/50/53 77/51/53 75/52/53 +f 108/53/64 75/52/64 74/35/64 +f 114/54/61 121/55/61 111/56/61 +f 112/57/64 123/58/64 113/59/64 +f 111/56/53 122/60/53 112/57/53 +f 123/58/65 105/61/65 113/59/65 +f 119/62/66 101/63/66 105/64/66 +f 117/65/54 115/66/54 101/63/54 +f 95/67/54 115/66/54 97/23/54 +f 116/68/55 96/26/55 98/69/55 +f 116/68/55 118/70/55 102/71/55 +f 102/71/67 120/72/67 106/73/67 +f 120/74/68 114/54/68 106/75/68 +f 86/19/69 125/76/69 85/17/69 +f 86/19/69 84/77/69 126/78/69 +f 85/17/69 125/76/69 83/79/69 +f 127/80/69 84/77/69 82/81/69 +f 83/79/69 128/82/69 81/83/69 +f 127/80/70 80/40/70 130/84/70 +f 81/83/70 129/85/70 79/46/70 +f 77/51/69 79/46/69 129/85/69 +f 130/84/69 78/39/69 76/38/69 +f 74/86/69 130/84/69 73/87/69 +f 117/65/71 65/88/71 115/89/71 +f 115/89/52 66/90/52 97/91/52 +f 116/92/71 134/93/71 118/70/71 +f 98/94/52 133/95/52 116/92/52 +f 132/96/52 92/14/52 69/13/52 +f 97/91/52 70/97/52 91/12/52 +f 120/74/52 140/98/52 124/99/52 +f 119/100/52 139/101/52 135/102/52 +f 121/103/52 138/104/52 122/105/52 +f 124/99/52 137/106/52 121/103/52 +f 138/104/52 123/58/52 122/105/52 +f 120/74/52 134/93/52 136/107/52 +f 119/100/52 131/108/52 117/65/52 +f 69/109/61 145/110/61 132/111/61 +f 65/112/55 142/113/55 66/114/55 +f 66/114/64 144/115/64 70/116/64 +f 70/117/53 143/118/53 69/119/53 +f 132/111/54 146/120/54 133/121/54 +f 136/122/72 154/123/72 140/124/72 +f 134/125/73 150/126/73 136/127/73 +f 137/128/56 152/129/56 138/130/56 +f 140/124/58 151/131/58 137/128/58 +f 135/132/74 147/133/74 131/134/74 +f 139/135/75 149/136/75 135/137/75 +f 138/130/57 153/138/57 139/135/57 +f 133/121/54 148/139/54 134/125/54 +f 147/133/55 65/112/55 131/134/55 +f 148/139/52 151/140/52 154/123/52 +f 152/141/52 141/142/52 147/133/52 +f 146/120/52 144/143/52 141/142/52 +f 155/144/76 158/145/76 157/146/76 +f 160/147/77 161/148/77 159/149/77 +f 67/150/52 166/151/52 71/152/52 +f 71/152/52 168/153/52 72/4/52 +f 67/150/52 170/154/52 165/155/52 +f 68/6/52 170/154/52 67/150/52 +f 68/6/52 163/5/52 169/156/52 +f 71/152/52 166/151/52 167/157/52 +f 72/4/52 168/153/52 164/158/52 +f 168/159/61 172/160/61 164/158/61 +f 169/156/55 178/161/55 170/154/55 +f 164/158/53 171/162/53 163/5/53 +f 170/163/58 173/164/58 165/155/58 +f 166/151/57 175/165/57 167/166/57 +f 165/155/56 174/167/56 166/151/56 +f 163/5/64 177/168/64 169/169/64 +f 167/157/54 176/170/54 168/153/54 +f 185/171/55 194/172/55 186/173/55 +f 194/174/58 181/175/58 186/176/58 +f 189/177/56 182/178/56 181/175/56 +f 182/178/57 191/179/57 183/180/57 +f 179/181/64 193/182/64 185/183/64 +f 191/184/54 184/185/54 183/186/54 +f 188/187/53 179/181/53 180/188/53 +f 192/189/61 180/188/61 184/190/61 +f 174/191/52 199/192/52 175/193/52 +f 171/194/52 201/195/52 177/196/52 +f 175/197/52 200/198/52 176/199/52 +f 172/200/52 195/201/52 171/202/52 +f 176/203/52 196/204/52 172/205/52 +f 177/206/52 202/207/52 178/208/52 +f 178/209/52 197/210/52 173/211/52 +f 173/212/52 198/213/52 174/214/52 +f 186/215/69 209/216/69 185/217/69 +f 181/218/69 210/219/69 186/220/69 +f 182/221/69 205/222/69 181/223/69 +f 183/224/69 206/225/69 182/226/69 +f 185/227/69 203/228/69 179/229/69 +f 184/230/69 207/231/69 183/232/69 +f 179/233/69 204/234/69 180/235/69 +f 180/236/69 208/237/69 184/238/69 +f 208/237/61 196/204/61 200/198/61 +f 204/234/53 195/201/53 196/204/53 +f 195/201/64 209/216/64 201/195/64 +f 201/195/55 210/219/55 202/207/55 +f 210/219/58 197/210/58 202/207/58 +f 205/222/56 198/213/56 197/239/56 +f 198/213/57 207/231/57 199/192/57 +f 207/231/54 200/198/54 199/192/54 +f 192/240/69 212/241/69 188/187/69 +f 187/242/69 214/243/69 193/244/69 +f 190/245/69 217/246/69 191/184/69 +f 194/172/69 215/247/69 189/177/69 +f 215/247/69 190/245/69 189/177/69 +f 193/244/69 218/248/69 194/172/69 +f 217/246/69 192/240/69 191/184/69 +f 188/187/69 211/249/69 187/242/69 +f 213/250/78 220/251/78 212/252/78 +f 214/253/79 219/254/79 222/255/79 +f 216/256/80 225/257/80 217/258/80 +f 215/259/81 226/260/81 223/261/81 +f 214/253/82 226/260/82 218/262/82 +f 223/261/83 216/256/83 215/259/83 +f 225/257/84 213/250/84 217/258/84 +f 212/252/85 219/254/85 211/263/85 +f 220/251/69 225/257/69 223/261/69 +f 227/264/53 230/265/53 228/266/53 +f 229/267/53 232/268/53 230/265/53 +f 229/269/86 237/270/86 231/271/86 +f 231/271/52 238/272/52 232/268/52 +f 230/273/54 234/274/54 228/275/54 +f 232/268/87 236/276/87 230/277/87 +f 229/278/55 233/279/55 235/280/55 +f 228/266/83 239/281/83 227/264/83 +f 228/275/54 234/274/54 240/282/54 +f 227/283/55 239/281/55 233/279/55 +f 264/284/69 261/285/69 262/286/69 +f 242/287/57 248/288/57 244/289/57 +f 243/290/58 245/291/58 241/292/58 +f 244/289/56 247/293/56 243/290/56 +f 241/294/55 249/295/55 251/296/55 +f 239/281/55 251/296/55 233/279/55 +f 252/297/54 240/282/54 234/274/54 +f 250/298/54 242/299/54 252/297/54 +f 262/286/88 257/300/88 259/301/88 +f 258/302/89 264/284/89 260/303/89 +f 255/304/90 263/305/90 253/306/90 +f 257/300/91 261/285/91 255/304/91 +f 258/302/92 253/306/92 263/305/92 +f 260/303/93 264/284/93 254/307/93 +f 259/301/94 256/308/94 262/286/94 +f 254/307/95 262/286/95 256/308/95 +f 240/282/69 257/300/69 239/281/69 +f 242/299/69 256/308/69 240/282/69 +f 255/304/69 241/294/69 239/281/69 +f 241/294/69 258/302/69 243/290/69 +f 258/302/69 244/289/69 243/290/69 +f 260/303/69 242/299/69 244/289/69 +f 318/309/96 317/310/96 316/311/96 +f 321/312/97 314/313/97 320/314/97 +f 273/315/69 275/316/69 274/317/69 +f 277/318/69 279/319/69 278/320/69 +f 272/321/53 277/318/53 271/322/53 +f 269/323/56 279/319/56 270/324/56 +f 268/325/53 273/315/53 267/326/53 +f 265/327/56 275/316/56 266/328/56 +f 270/329/54 280/330/54 272/331/54 +f 271/332/55 278/320/55 269/333/55 +f 266/334/54 276/335/54 268/336/54 +f 267/337/55 274/317/55 265/338/55 +f 307/339/98 288/340/98 290/341/98 +f 312/342/99 313/343/99 315/344/99 +f 292/345/54 288/346/54 308/347/54 +f 307/339/100 289/348/100 309/349/100 +f 310/350/55 291/351/55 315/352/55 +f 293/353/101 298/354/101 294/355/101 +f 294/355/102 296/356/102 292/357/102 +f 293/353/103 295/358/103 297/359/103 +f 297/359/52 302/360/52 298/354/52 +f 298/354/104 300/361/104 296/356/104 +f 295/358/105 301/362/105 297/359/105 +f 288/340/106 306/363/106 290/341/106 +f 289/348/107 303/364/107 287/365/107 +f 290/341/69 305/366/69 289/348/69 +f 292/345/54 300/367/54 304/368/54 +f 299/369/55 295/370/55 291/351/55 +f 301/362/108 352/371/108 302/360/108 +f 281/372/109 309/349/109 310/373/109 +f 284/374/110 309/349/110 283/375/110 +f 282/376/111 307/339/111 284/374/111 +f 309/349/112 287/365/112 310/373/112 +f 285/377/55 313/343/55 321/312/55 +f 312/342/113 317/310/113 314/313/113 +f 322/378/114 294/355/114 292/357/114 +f 311/379/115 316/311/115 317/310/115 +f 286/380/54 316/311/54 322/381/54 +f 312/342/116 294/355/116 311/379/116 +f 320/314/117 317/310/117 319/382/117 +f 315/344/118 293/353/118 312/342/118 +f 326/383/85 324/384/85 325/385/85 +f 323/386/108 328/387/108 324/384/108 +f 327/388/119 330/389/119 328/387/119 +f 329/390/52 332/391/52 330/389/52 +f 329/392/54 323/386/54 326/393/54 +f 329/392/54 326/393/54 331/394/54 +f 324/384/55 330/395/55 325/396/55 +f 330/395/55 332/397/55 325/396/55 +f 341/398/53 344/399/53 342/400/53 +f 339/401/54 338/402/54 337/403/54 +f 335/404/53 337/403/53 333/405/53 +f 336/406/52 339/401/52 335/407/52 +f 334/408/56 340/409/56 336/410/56 +f 333/411/69 338/402/69 334/412/69 +f 344/399/54 346/413/54 342/400/54 +f 343/414/52 348/415/52 344/399/52 +f 342/400/69 345/416/69 341/417/69 +f 348/415/56 345/418/56 346/413/56 +f 300/361/120 352/371/120 350/419/120 +f 299/420/121 351/421/121 301/362/121 +f 304/422/122 356/423/122 306/363/122 +f 303/364/123 355/424/123 353/425/123 +f 306/363/85 355/424/85 305/366/85 +f 300/367/54 354/426/54 304/368/54 +f 353/427/55 299/369/55 303/428/55 +f 350/429/56 352/430/56 351/431/56 +f 71/1/51 125/11/51 126/2/51 +f 72/4/52 164/158/52 163/5/52 +f 130/7/53 129/432/53 72/8/53 +f 71/1/54 72/8/54 129/432/54 +f 129/432/54 128/10/54 71/1/54 +f 91/12/52 70/97/52 69/13/52 +f 130/7/55 68/9/55 67/15/55 +f 67/15/55 126/433/55 127/16/55 +f 85/17/56 87/434/56 88/18/56 +f 89/20/56 91/12/56 92/14/56 +f 89/22/57 95/67/57 97/23/57 +f 92/25/58 98/69/58 96/26/58 +f 86/28/58 88/435/58 94/29/58 +f 93/31/57 87/436/57 85/32/57 +f 107/34/53 108/53/53 74/35/53 +f 110/37/61 107/34/61 73/36/61 +f 78/39/124 104/437/124 110/37/124 +f 80/40/62 100/44/62 104/41/62 +f 94/29/55 100/44/55 82/43/55 +f 81/45/54 99/47/54 93/31/54 +f 103/48/63 99/47/63 79/46/63 +f 109/50/125 103/438/125 77/51/125 +f 108/53/64 109/50/64 75/52/64 +f 114/54/61 124/99/61 121/55/61 +f 112/57/64 122/60/64 123/58/64 +f 111/56/53 121/55/53 122/60/53 +f 123/58/65 119/100/65 105/61/65 +f 119/62/66 117/65/66 101/63/66 +f 95/67/54 101/63/54 115/66/54 +f 116/68/55 102/71/55 96/26/55 +f 102/71/67 118/70/67 120/72/67 +f 120/74/68 124/99/68 114/54/68 +f 86/19/69 126/78/69 125/76/69 +f 127/80/69 126/78/69 84/77/69 +f 83/79/69 125/76/69 128/82/69 +f 127/80/70 82/81/70 80/40/70 +f 81/83/70 128/82/70 129/85/70 +f 129/85/69 74/86/69 75/52/69 +f 75/52/69 77/51/69 129/85/69 +f 76/38/69 73/87/69 130/84/69 +f 130/84/69 80/40/69 78/39/69 +f 74/86/69 129/85/69 130/84/69 +f 117/65/71 131/108/71 65/88/71 +f 115/89/52 65/88/52 66/90/52 +f 116/92/71 133/95/71 134/93/71 +f 98/94/52 132/96/52 133/95/52 +f 132/96/52 98/94/52 92/14/52 +f 97/91/52 66/90/52 70/97/52 +f 120/74/52 136/107/52 140/98/52 +f 119/100/52 123/58/52 139/101/52 +f 121/103/52 137/106/52 138/104/52 +f 124/99/52 140/98/52 137/106/52 +f 138/104/52 139/101/52 123/58/52 +f 120/74/52 118/70/52 134/93/52 +f 119/100/52 135/102/52 131/108/52 +f 69/109/61 143/439/61 145/110/61 +f 65/112/55 141/142/55 142/113/55 +f 66/114/64 142/113/64 144/115/64 +f 70/117/53 144/143/53 143/118/53 +f 132/111/54 145/110/54 146/120/54 +f 136/122/72 150/440/72 154/123/72 +f 134/125/73 148/139/73 150/126/73 +f 137/128/56 151/131/56 152/129/56 +f 140/124/58 154/123/58 151/131/58 +f 135/132/74 149/441/74 147/133/74 +f 139/135/75 153/138/75 149/136/75 +f 138/130/57 152/129/57 153/138/57 +f 133/121/54 146/120/54 148/139/54 +f 147/133/55 141/142/55 65/112/55 +f 154/123/52 150/440/52 148/139/52 +f 148/139/52 146/120/52 151/140/52 +f 147/133/52 149/136/52 153/138/52 +f 153/138/52 152/141/52 147/133/52 +f 142/113/52 141/142/52 144/143/52 +f 141/142/52 152/141/52 146/120/52 +f 152/141/52 151/140/52 146/120/52 +f 146/120/52 145/110/52 143/118/52 +f 143/118/52 144/143/52 146/120/52 +f 155/144/76 156/442/76 158/145/76 +f 160/147/77 162/443/77 161/148/77 +f 67/150/52 165/155/52 166/151/52 +f 71/152/52 167/157/52 168/153/52 +f 68/6/52 169/156/52 170/154/52 +f 168/159/61 176/444/61 172/160/61 +f 169/156/55 177/445/55 178/161/55 +f 164/158/53 172/160/53 171/162/53 +f 170/163/58 178/446/58 173/164/58 +f 166/151/57 174/167/57 175/165/57 +f 165/155/56 173/164/56 174/167/56 +f 163/5/64 171/162/64 177/168/64 +f 167/157/54 175/447/54 176/170/54 +f 185/171/55 193/244/55 194/172/55 +f 194/174/58 189/177/58 181/175/58 +f 189/177/56 190/245/56 182/178/56 +f 182/178/57 190/245/57 191/179/57 +f 179/181/64 187/242/64 193/182/64 +f 191/184/54 192/240/54 184/185/54 +f 188/187/53 187/242/53 179/181/53 +f 192/189/61 188/187/61 180/188/61 +f 174/191/52 198/213/52 199/192/52 +f 171/194/52 195/201/52 201/195/52 +f 175/197/52 199/192/52 200/198/52 +f 172/200/52 196/204/52 195/201/52 +f 176/203/52 200/198/52 196/204/52 +f 177/206/52 201/195/52 202/207/52 +f 178/209/52 202/207/52 197/210/52 +f 173/212/52 197/239/52 198/213/52 +f 186/215/69 210/219/69 209/216/69 +f 181/218/69 205/448/69 210/219/69 +f 182/221/69 206/225/69 205/222/69 +f 183/224/69 207/231/69 206/225/69 +f 185/227/69 209/216/69 203/228/69 +f 184/230/69 208/237/69 207/231/69 +f 179/233/69 203/228/69 204/234/69 +f 180/236/69 204/234/69 208/237/69 +f 208/237/61 204/234/61 196/204/61 +f 204/234/53 203/228/53 195/201/53 +f 195/201/64 203/228/64 209/216/64 +f 201/195/55 209/216/55 210/219/55 +f 210/219/58 205/448/58 197/210/58 +f 205/222/56 206/225/56 198/213/56 +f 198/213/57 206/225/57 207/231/57 +f 207/231/54 208/237/54 200/198/54 +f 192/240/69 213/449/69 212/241/69 +f 187/242/69 211/249/69 214/243/69 +f 190/245/69 216/450/69 217/246/69 +f 194/172/69 218/248/69 215/247/69 +f 215/247/69 216/450/69 190/245/69 +f 193/244/69 214/243/69 218/248/69 +f 217/246/69 213/449/69 192/240/69 +f 188/187/69 212/241/69 211/249/69 +f 213/250/78 221/451/78 220/251/78 +f 214/253/79 211/263/79 219/254/79 +f 216/256/80 224/452/80 225/257/80 +f 215/259/81 218/262/81 226/260/81 +f 214/253/82 222/255/82 226/260/82 +f 223/261/83 224/452/83 216/256/83 +f 225/257/84 221/451/84 213/250/84 +f 212/252/85 220/251/85 219/254/85 +f 222/255/69 219/254/69 220/251/69 +f 220/251/69 221/451/69 225/257/69 +f 225/257/69 224/452/69 223/261/69 +f 223/261/69 226/260/69 222/255/69 +f 222/255/69 220/251/69 223/261/69 +f 227/264/53 229/267/53 230/265/53 +f 229/267/53 231/271/53 232/268/53 +f 229/269/86 235/453/86 237/270/86 +f 231/271/52 237/270/52 238/272/52 +f 230/273/54 236/454/54 234/274/54 +f 232/268/87 238/272/87 236/276/87 +f 229/278/55 227/283/55 233/279/55 +f 228/266/83 240/282/83 239/281/83 +f 264/284/69 263/305/69 261/285/69 +f 242/287/57 246/455/57 248/288/57 +f 243/290/58 247/293/58 245/291/58 +f 244/289/56 248/288/56 247/293/56 +f 241/294/55 245/456/55 249/295/55 +f 239/281/55 241/294/55 251/296/55 +f 252/297/54 242/299/54 240/282/54 +f 250/298/54 246/457/54 242/299/54 +f 262/286/88 261/285/88 257/300/88 +f 258/302/89 263/305/89 264/284/89 +f 255/304/90 261/285/90 263/305/90 +f 254/307/95 264/284/95 262/286/95 +f 240/282/69 256/308/69 259/301/69 +f 257/300/69 255/304/69 239/281/69 +f 240/282/69 259/301/69 257/300/69 +f 242/299/69 254/307/69 256/308/69 +f 255/304/69 253/306/69 241/294/69 +f 241/294/69 253/306/69 258/302/69 +f 258/302/69 260/303/69 244/289/69 +f 260/303/69 254/307/69 242/299/69 +f 318/309/96 319/382/96 317/310/96 +f 321/312/97 313/343/97 314/313/97 +f 273/315/69 276/335/69 275/316/69 +f 277/318/69 280/330/69 279/319/69 +f 272/321/53 280/330/53 277/318/53 +f 269/323/56 278/320/56 279/319/56 +f 268/325/53 276/335/53 273/315/53 +f 265/327/56 274/317/56 275/316/56 +f 270/329/54 279/319/54 280/330/54 +f 271/332/55 277/318/55 278/320/55 +f 266/334/54 275/316/54 276/335/54 +f 267/337/55 273/315/55 274/317/55 +f 307/339/98 308/458/98 288/340/98 +f 312/342/99 314/313/99 313/343/99 +f 308/347/54 282/376/54 322/381/54 +f 282/376/54 286/380/54 322/381/54 +f 322/381/54 292/345/54 308/347/54 +f 307/339/100 290/341/100 289/348/100 +f 315/352/55 285/377/55 281/459/55 +f 310/350/55 287/460/55 291/351/55 +f 315/352/55 281/459/55 310/350/55 +f 293/353/101 297/359/101 298/354/101 +f 294/355/102 298/354/102 296/356/102 +f 293/353/103 291/461/103 295/358/103 +f 297/359/52 301/362/52 302/360/52 +f 298/354/104 302/360/104 300/361/104 +f 295/358/105 299/420/105 301/362/105 +f 288/340/106 304/422/106 306/363/106 +f 289/348/107 305/366/107 303/364/107 +f 290/341/69 306/363/69 305/366/69 +f 304/368/54 288/346/54 292/345/54 +f 292/345/54 296/462/54 300/367/54 +f 291/351/55 287/460/55 303/428/55 +f 303/428/55 299/369/55 291/351/55 +f 301/362/108 351/421/108 352/371/108 +f 281/372/109 283/375/109 309/349/109 +f 284/374/110 307/339/110 309/349/110 +f 282/376/111 308/458/111 307/339/111 +f 309/349/112 289/348/112 287/365/112 +f 285/377/55 315/352/55 313/343/55 +f 312/342/113 311/379/113 317/310/113 +f 322/378/114 311/379/114 294/355/114 +f 311/379/115 322/378/115 316/311/115 +f 286/380/54 318/309/54 316/311/54 +f 312/342/116 293/353/116 294/355/116 +f 320/314/117 314/313/117 317/310/117 +f 315/344/118 291/461/118 293/353/118 +f 326/383/85 323/386/85 324/384/85 +f 323/386/108 327/388/108 328/387/108 +f 327/388/119 329/390/119 330/389/119 +f 329/390/52 331/463/52 332/391/52 +f 329/392/54 327/388/54 323/386/54 +f 324/384/55 328/387/55 330/395/55 +f 341/398/53 343/464/53 344/399/53 +f 339/401/54 340/409/54 338/402/54 +f 335/404/53 339/401/53 337/403/53 +f 336/406/52 340/409/52 339/401/52 +f 334/408/56 338/402/56 340/409/56 +f 333/411/69 337/403/69 338/402/69 +f 344/399/54 348/415/54 346/413/54 +f 343/414/52 347/465/52 348/415/52 +f 342/400/69 346/413/69 345/416/69 +f 348/415/56 347/466/56 345/418/56 +f 300/361/120 302/360/120 352/371/120 +f 299/420/121 349/467/121 351/421/121 +f 304/422/122 354/468/122 356/423/122 +f 303/364/123 305/366/123 355/424/123 +f 306/363/85 356/423/85 355/424/85 +f 300/367/54 350/469/54 354/426/54 +f 353/427/55 349/470/55 299/369/55 +f 351/431/56 349/471/56 350/429/56 +f 349/471/56 353/472/56 350/429/56 +f 353/472/56 355/473/56 356/474/56 +f 356/474/56 354/475/56 353/472/56 +f 354/475/56 350/429/56 353/472/56 diff --git a/src/main/resources/assets/hbm/textures/models/weapons/detonator_laser.png b/src/main/resources/assets/hbm/textures/models/weapons/detonator_laser.png index 2226449e2625f9779800db1db320d4b2cdcd6e91..03202008a2469314d95c2b059bb2dda7e7e919f1 100644 GIT binary patch literal 1881 zcmV-f2d4OmP)zi#9<5XL_SegHQ~k;=tkJe>Ae zbsmlG{5&MXXuQQ~BC$RUodkG=1?D}zp#(E;P9)YM!;Nyqlp28#)>!TkQ`W?sCZe`wIUxGkFD@>Uc_sjO zetsS#hxOn&U1b<`)Rp48hFS0avP@?g<@SD|{2QWTyTA57|47CESSdLhf9r{rU=;!L&gR(f8a4xgBu;bBhG@HFR%@~$TJ<=jdoO&<0yd$7@3$}ub!6t?F zn3oi5DYsMOL3t6LNtP(jxfKw$QreIbT33mL1O&279nH##>@#pFVQmj6NGV+Xh;sPz?*G)P&w>#`K!|riW|n~5yjE_{jFKqN=}L{#*Q1gFYyuQQK&kvXkzM>Y zQD&Kf0eJaVPWdl)7-=4^7BLt7_6Faz_Rf7weWe7eIrGkbUuo~h+4@=UOMz480l%+7Lu z|FvgE1A9&;Sy-G*vV>2Fiffh%I9`m`6ChsSWMYVlId?LzA##1@V}qO@P@e4`o71T? z=Z$<$XP-<`1dCHAhpbjBQB@keAgHZ?Fxv-pq)Rev4syAtFIUs)^X9mXQSbic`mZM7bV`?4`Rp!9stPQpAdKQTm-9%8ser z&VGFt)A;}tM0UFmX&$Nm#;U`$^zkuY##PHd`yHZ`hV)dqh7g~Ssb%Ck$2|xS@INn= zV@{@)PiSGqq=Bv3d(JuID-`W9_1=1j_cQx3Jg-;3vlr*kYnzpP5dxQ)iav7ik-XE? z>IfC4zNd-z@o^V%j$(Vf~!2vFFI5C%mR^PuLHTVjp?j->LmNK8YIju>Vx8MJ`gi_ZKqH+sz8-7~R zBFhC=z7}kVNt#N}sgq30*IWX1x2NC-bBRrR#s&F{agjk`8~g~&zyuBJdbZ{YZtpqY zhiQ?Ms4DCiqBlqXF~*rr8GJ%yLjUz+n||%CAErG{ zT1iW5iV&jm{pCI2dY9%9$UldEg0x6-ol`z_a6V@THkoe8#W}>AC-`j_ObtnTPKE)@ z36VHnERRi*(ma%B>lLq=?sE8*Pb1kWVgRt`WCDmuog01Phv_wU)Xo85Wjj1Eild3h znuhqZTMC-a4EFVx)~0(&u7~Go4ZtXDJ!u0l-6SZH|-zBD_v$ zDMNDkMGBXT=$DCC=Hf;#hCQP$Wc^+fEW7>)lAH$tP3UJKHBnyj^NtXWsF5-_L Tac;Xe00000NkvXXu0mjfZuXN- literal 1109 zcmeAS@N?(olHy`uVBq!ia0y~yV3Y!~dpOvD_9k>>+dP;m6J>J>EGkq9O&R3c1|o*O`Q-#)zsrGA?B8lCaAun*Q}z&Y}-h zLgznwaBS##`}DB?|0Cy8ves^868IARo||Ete@27FLdHieY#qW<3VuV9^Dg#1_l{#G zzQN}|Z@(6G{`29*Mi&_h`Asj{%=)$QHN!Wjzc~_%<%M|#)J+`bTwo}4Vm`tN=gh9_ zd$v}+a(PsIp2fe~#NRdl&F<$fvzz$m&u$X;qUGfU$7goTkwL5)2xCtf?ax9seL zZ5R4hZjBe4x^l{;X?m}}?BDkNw@KdC%NGrVePdtVIQjX&VyS;;6BP1yT)1*T`{)tF zMDI3k-VJuZsBGi%{iNDA-G4*QiVF<2F`~0pZjP?IATE4dTKjQq`Gf!csjC`4`=ABI z9RvAQZ?f!5|Hm!=we$T?$=RK39lNt^XGPCXjl6y7eAyqxyxLb!7d@7_w(zC>#foF? zb!{~-OLp-*_s!a>B_ES;;=+_qGP7fU{yw_x{_D^0?`Q4I_oJ6MC+!;-@f_Y$8!7sb$&qR zqsmjiwe=;;PPrIwUcG*CVV-osPG5f$?`ek$=S0|@*;iX_ck)dC*XQeZ>fF!)M)CHS zoy+w0xPRJe_y6DdUU`Kd1v7eHeQ*7Izog_wpKtrKkiX?~ll71Cx|#W8RITveyPo0Q z;ez)Uujn_vzsDydye(zN1%}taoRGKTf=c|Oik~c}+qify91qQAi!Xi9`n5Iqx%KPE zCspUHnOR+9R1u%Qd&=hHmbTAr@0Q-0x#Pug7v!Y1v0q`$uVwlL*P(&E@p;C(n}w`< zf13Npz25QZ-lJV+-@mXH&0D;1v7-8{Xz@K>vfSIUPIR(GT%RD!yFrgow*1Zb{m^M+ URz|Ovz;c4Y)78&qol`;+00tueLI3~& From d4af86783256df398436d551b05148f73e8d95f7 Mon Sep 17 00:00:00 2001 From: Boblet Date: Mon, 28 Feb 2022 16:58:24 +0100 Subject: [PATCH 2/8] fixed chemplant accepting fluids in output, some new sound stuff --- .../java/com/hbm/sound/nt/ISoundSourceTE.java | 17 ++++ src/main/java/com/hbm/sound/nt/SoundTE.java | 90 ++++++++++++++++++ .../machine/TileEntityMachineChemplant.java | 7 +- .../assets/hbm/textures/armor/wings_black.png | Bin 0 -> 346 bytes 4 files changed, 110 insertions(+), 4 deletions(-) create mode 100644 src/main/java/com/hbm/sound/nt/ISoundSourceTE.java create mode 100644 src/main/java/com/hbm/sound/nt/SoundTE.java create mode 100644 src/main/resources/assets/hbm/textures/armor/wings_black.png diff --git a/src/main/java/com/hbm/sound/nt/ISoundSourceTE.java b/src/main/java/com/hbm/sound/nt/ISoundSourceTE.java new file mode 100644 index 000000000..a3aa01260 --- /dev/null +++ b/src/main/java/com/hbm/sound/nt/ISoundSourceTE.java @@ -0,0 +1,17 @@ +package com.hbm.sound.nt; + +import net.minecraft.util.Vec3; + +public interface ISoundSourceTE { + + public Vec3 getSoundLocation(); + public boolean isPlaying(); + + public default float getVolume() { + return 1F; + } + + public default float getPitch() { + return 1F; + } +} diff --git a/src/main/java/com/hbm/sound/nt/SoundTE.java b/src/main/java/com/hbm/sound/nt/SoundTE.java new file mode 100644 index 000000000..d6cc4b345 --- /dev/null +++ b/src/main/java/com/hbm/sound/nt/SoundTE.java @@ -0,0 +1,90 @@ +package com.hbm.sound.nt; + +import net.minecraft.client.audio.ITickableSound; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.Vec3; + +public class SoundTE implements ITickableSound { + + ISoundSourceTE source; + + private ResourceLocation sound; + private boolean canRepeat = true; + private int repeatDelay = 0; + private boolean donePlaying = true; + private float soundX; + private float soundY; + private float soundZ; + private float volume; + private float pitch; + + public SoundTE(String sound) { + this.sound = new ResourceLocation(sound); + } + + @Override + public ResourceLocation getPositionedSoundLocation() { + return this.sound; + } + + @Override + public boolean canRepeat() { + return this.canRepeat; + } + + @Override + public int getRepeatDelay() { + return this.repeatDelay; + } + + @Override + public float getVolume() { + return this.volume; + } + + @Override + public float getPitch() { + return this.pitch; + } + + @Override + public float getXPosF() { + return this.soundX; + } + + @Override + public float getYPosF() { + return this.soundY; + } + + @Override + public float getZPosF() { + return this.soundZ; + } + + @Override + public AttenuationType getAttenuationType() { + return AttenuationType.LINEAR; + } + + @Override + public void update() { + + if(this.source == null) + return; + + this.volume = this.source.getVolume(); + this.pitch = this.source.getPitch(); + + Vec3 pos = this.source.getSoundLocation(); + this.soundX = (float) pos.xCoord; + this.soundY = (float) pos.yCoord; + this.soundZ = (float) pos.zCoord; + + } + + @Override + public boolean isDonePlaying() { + return this.donePlaying; + } +} diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplant.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplant.java index 24a59581e..17beab8fc 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplant.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplant.java @@ -411,10 +411,9 @@ public class TileEntityMachineChemplant extends TileEntityMachineBase implements @Override public int getMaxFluidFill(FluidType type) { - for(FluidTank tank : tanks) { - if(tank.getTankType() == type) { - - return tank.getMaxFill(); + for(int i = 0; i < 2; i++) { + if(tanks[i].getTankType() == type) { + return tanks[i].getMaxFill(); } } diff --git a/src/main/resources/assets/hbm/textures/armor/wings_black.png b/src/main/resources/assets/hbm/textures/armor/wings_black.png new file mode 100644 index 0000000000000000000000000000000000000000..134a08b53592cdb162256ce0cd2c97c6b56ede11 GIT binary patch literal 346 zcmV-g0j2(lP)mcT(NHM?^$k$C22r4)*yI6O>9s;WX=*ZA8ih!O7zIXuM|kw__{7T}Tq zn9H&RaJ?qR7)U9R=Xuy<2cxxyG3MGswANk$u}INcFW*m_>WyEQaxVjTL5REH*Vz;j zn+)Jih`ae1WdQ%LOz05bL<~P>zCAu=vxg87i0HjIf$95xSG`vVV+=$D#uzx~9|;zU zw}qr>x`?=qGt)H9uKJabEXy8bFvdO>?hJTOh!6sta|j_Igb0x<7%L%N*I}9_SZiUe s#V`yZas^{0q-|S_ Date: Mon, 28 Feb 2022 21:10:40 +0100 Subject: [PATCH 3/8] the bear and the bull and the bear and the bull and the bear and the bul --- .../com/hbm/handler/BobmazonOfferFactory.java | 15 +++ .../hbm/items/tool/ItemLaserDetonator.java | 9 +- src/main/java/com/hbm/lib/Library.java | 2 +- src/main/java/com/hbm/main/ClientProxy.java | 1 + .../java/com/hbm/main/ModEventHandler.java | 9 +- .../com/hbm/main/ModEventHandlerClient.java | 4 +- .../java/com/hbm/main/ResourceManager.java | 3 + .../render/item/ItemRenderDetonatorLaser.java | 100 ++++++++++++++++++ .../com/hbm/render/model/ModelArmorWings.java | 4 +- .../render/util/RenderAccessoryUtility.java | 12 +-- .../models/weapons/detonator_laser.png | Bin 1881 -> 2431 bytes 11 files changed, 145 insertions(+), 14 deletions(-) create mode 100644 src/main/java/com/hbm/render/item/ItemRenderDetonatorLaser.java diff --git a/src/main/java/com/hbm/handler/BobmazonOfferFactory.java b/src/main/java/com/hbm/handler/BobmazonOfferFactory.java index 539594390..3d20d2482 100644 --- a/src/main/java/com/hbm/handler/BobmazonOfferFactory.java +++ b/src/main/java/com/hbm/handler/BobmazonOfferFactory.java @@ -274,6 +274,21 @@ public class BobmazonOfferFactory { new ItemStack(ModItems.pipe_lead).setStackDisplayName("Get Nutted, Dumbass"), new ItemStack(ModItems.gem_alexandrite) ).setStackDisplayName("The Nut Bucket"), Requirement.HIDDEN, 64)); + + special.add(new Offer(ItemKitNBT.create( + new ItemStack(ModItems.rpa_helmet), + new ItemStack(ModItems.rpa_plate), + new ItemStack(ModItems.rpa_legs), + new ItemStack(ModItems.rpa_boots), + new ItemStack(ModItems.gun_lacunae), + new ItemStack(ModItems.ammo_5mm_star, 64), + new ItemStack(ModItems.ammo_5mm_star, 64), + new ItemStack(ModItems.ammo_5mm_star, 64), + new ItemStack(ModItems.ammo_5mm_star, 64), + new ItemStack(ModItems.ammo_5mm_star, 64), + new ItemStack(ModItems.ammo_5mm_star, 64), + new ItemStack(ModItems.ammo_5mm_star, 64) + ).setStackDisplayName("Frenchman's Reward"), Requirement.HIDDEN, 32)); } public static List getOffers(ItemStack stack) { diff --git a/src/main/java/com/hbm/items/tool/ItemLaserDetonator.java b/src/main/java/com/hbm/items/tool/ItemLaserDetonator.java index 7f8f244eb..6a8fe97e1 100644 --- a/src/main/java/com/hbm/items/tool/ItemLaserDetonator.java +++ b/src/main/java/com/hbm/items/tool/ItemLaserDetonator.java @@ -7,8 +7,10 @@ import org.apache.logging.log4j.Level; import com.hbm.config.GeneralConfig; import com.hbm.interfaces.IBomb; import com.hbm.interfaces.IBomb.BombReturnCode; +import com.hbm.interfaces.IHoldableWeapon; import com.hbm.lib.Library; import com.hbm.main.MainRegistry; +import com.hbm.render.util.RenderScreenOverlay.Crosshair; import com.hbm.util.ChatBuilder; import net.minecraft.entity.player.EntityPlayer; @@ -19,7 +21,7 @@ import net.minecraft.util.MovingObjectPosition; import net.minecraft.util.Vec3; import net.minecraft.world.World; -public class ItemLaserDetonator extends Item { +public class ItemLaserDetonator extends Item implements IHoldableWeapon { @Override public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { @@ -70,4 +72,9 @@ public class ItemLaserDetonator extends Item { return stack; } + + @Override + public Crosshair getCrosshair() { + return Crosshair.L_ARROWS; + } } diff --git a/src/main/java/com/hbm/lib/Library.java b/src/main/java/com/hbm/lib/Library.java index a6733bb29..a1791721e 100644 --- a/src/main/java/com/hbm/lib/Library.java +++ b/src/main/java/com/hbm/lib/Library.java @@ -60,7 +60,6 @@ public class Library { public static String Hoboy03new = "d7f29d9c-5103-4f6f-88e1-2632ff95973f"; public static String Dragon59MC = "dc23a304-0f84-4e2d-b47d-84c8d3bfbcdb"; public static String Steelcourage = "ac49720b-4a9a-4459-a26f-bee92160287a"; - public static String GOD___TM = "57146e3f-16b5-4e9f-b0b8-139bec2ca2cb"; public static String ZippySqrl = "03c20435-a229-489a-a1a1-671b803f7017"; public static String Schrabby = "3a4a1944-5154-4e67-b80a-b6561e8630b7"; public static String SweatySwiggs = "5544aa30-b305-4362-b2c1-67349bb499d5"; @@ -74,6 +73,7 @@ public class Library { public static String Tankish = "609268ad-5b34-49c2-abba-a9d83229af03"; public static String SolsticeUnlimitd = "f5574fd2-ec28-4927-9d11-3c0c731771f4"; public static String FrizzleFrazzle = "fc4cc2ee-12e8-4097-b26a-1c6cb1b96531"; + public static String the_NCR = "28ae585f-4431-4491-9ce8-3def6126e3c6"; public static Set contributors = Sets.newHashSet(new String[] { "06ab7c03-55ce-43f8-9d3c-2850e3c652de", //mustang_rudolf diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index 45aae560c..d7dd5518f 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -415,6 +415,7 @@ public class ClientProxy extends ServerProxy { MinecraftForgeClient.registerItemRenderer(ModItems.gun_bolter_digamma, new ItemRenderWeaponBolter()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_fireext, new ItemRenderFireExt()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_ar15, new ItemRenderWeaponAR15()); + MinecraftForgeClient.registerItemRenderer(ModItems.detonator_laser, new ItemRenderDetonatorLaser()); //multitool MinecraftForgeClient.registerItemRenderer(ModItems.multitool_dig, new ItemRenderMultitool()); MinecraftForgeClient.registerItemRenderer(ModItems.multitool_silk, new ItemRenderMultitool()); diff --git a/src/main/java/com/hbm/main/ModEventHandler.java b/src/main/java/com/hbm/main/ModEventHandler.java index cb0112dc3..04f216920 100644 --- a/src/main/java/com/hbm/main/ModEventHandler.java +++ b/src/main/java/com/hbm/main/ModEventHandler.java @@ -1004,9 +1004,10 @@ public class ModEventHandler { if(player.getCurrentArmor(2) == null && !player.onGround) { boolean isBob = player.getUniqueID().toString().equals(Library.HbMinecraft) || player.getDisplayName().equals("HbMinecraft"); - boolean isSol = player.getUniqueID().toString().equals(Library.SolsticeUnlimitd) || player.getDisplayName().equals("SolsticeUnlimitd"); + boolean isOther = player.getUniqueID().toString().equals(Library.SolsticeUnlimitd) || player.getDisplayName().equals("SolsticeUnlimitd") || + player.getUniqueID().toString().equals(Library.the_NCR) || player.getDisplayName().equals("the_NCR"); - if(isBob || isSol) { + if(isBob || isOther) { ArmorUtil.resetFlightTime(player); @@ -1029,7 +1030,7 @@ public class ModEventHandler { else player.motionY = cap + 0.15D; - if(isSol) { + if(isOther) { if(player.getFoodStats().getSaturationLevel() > 0F) player.addExhaustion(4F); //burn up saturation so that super-saturating foods have no effect else @@ -1045,7 +1046,7 @@ public class ModEventHandler { else if(player.motionY < 0) player.motionY = 0; - if(isSol && !player.onGround) { + if(isOther && !player.onGround) { if(player.getFoodStats().getSaturationLevel() > 0F) player.addExhaustion(4F); else diff --git a/src/main/java/com/hbm/main/ModEventHandlerClient.java b/src/main/java/com/hbm/main/ModEventHandlerClient.java index 95068fd96..a61f82536 100644 --- a/src/main/java/com/hbm/main/ModEventHandlerClient.java +++ b/src/main/java/com/hbm/main/ModEventHandlerClient.java @@ -335,7 +335,9 @@ public class ModEventHandlerClient { if(player.getUniqueID().toString().equals(Library.SolsticeUnlimitd) || player.getDisplayName().equals("SolsticeUnlimitd")) RenderAccessoryUtility.renderSol(event); if(player.getUniqueID().toString().equals(Library.HbMinecraft) || player.getDisplayName().equals("HbMinecraft")) - RenderAccessoryUtility.renderWings(event); + RenderAccessoryUtility.renderWings(event, 2); + if(player.getUniqueID().toString().equals(Library.the_NCR) || player.getDisplayName().equals("the_NCR")) + RenderAccessoryUtility.renderWings(event, 3); } } diff --git a/src/main/java/com/hbm/main/ResourceManager.java b/src/main/java/com/hbm/main/ResourceManager.java index cd3adf9cf..705fd69ce 100644 --- a/src/main/java/com/hbm/main/ResourceManager.java +++ b/src/main/java/com/hbm/main/ResourceManager.java @@ -624,6 +624,7 @@ public class ResourceManager { public static final IModelCustom mg42 = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/mg42.obj")); public static final IModelCustom rem700 = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/rem700.obj")); public static final IModelCustom cursed_revolver = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/cursed.obj")); + public static final IModelCustom detonator_laser = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/detonator_laser.obj")); public static final IModelCustom lance = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/lance.obj")); @@ -692,6 +693,7 @@ public class ResourceManager { public static final ResourceLocation sky_stinger_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/sky_stinger.png"); public static final ResourceLocation mg42_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/ff/mg42.png"); public static final ResourceLocation rem700_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/ff/rem700.png"); + public static final ResourceLocation detonator_laser_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/detonator_laser.png"); public static final ResourceLocation lance_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/lance.png"); @@ -756,6 +758,7 @@ public class ResourceManager { public static final ResourceLocation wings_murk = new ResourceLocation(RefStrings.MODID, "textures/armor/wings_murk.png"); public static final ResourceLocation wings_bob = new ResourceLocation(RefStrings.MODID, "textures/armor/wings_bob.png"); + public static final ResourceLocation wings_black = new ResourceLocation(RefStrings.MODID, "textures/armor/wings_black.png"); public static final ResourceLocation wings_solstice = new ResourceLocation(RefStrings.MODID, "textures/armor/wings_solstice.png"); public static final ResourceLocation hat = new ResourceLocation(RefStrings.MODID, "textures/armor/hat.png"); diff --git a/src/main/java/com/hbm/render/item/ItemRenderDetonatorLaser.java b/src/main/java/com/hbm/render/item/ItemRenderDetonatorLaser.java new file mode 100644 index 000000000..f7e2f7e35 --- /dev/null +++ b/src/main/java/com/hbm/render/item/ItemRenderDetonatorLaser.java @@ -0,0 +1,100 @@ +package com.hbm.render.item; + +import org.lwjgl.opengl.GL11; + +import com.hbm.main.ResourceManager; +import com.hbm.render.anim.HbmAnimations; + +import net.minecraft.client.Minecraft; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraftforge.client.IItemRenderer; +import net.minecraftforge.client.IItemRenderer.ItemRenderType; +import net.minecraftforge.client.IItemRenderer.ItemRendererHelper; + +public class ItemRenderDetonatorLaser implements IItemRenderer { + + @Override + public boolean handleRenderType(ItemStack item, ItemRenderType type) { + switch(type) { + case EQUIPPED: + case EQUIPPED_FIRST_PERSON: + case ENTITY: + case INVENTORY: + return true; + default: return false; + } + } + + @Override + public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { + + return type == ItemRenderType.ENTITY && (helper == ItemRendererHelper.ENTITY_ROTATION || helper == ItemRendererHelper.ENTITY_BOBBING); + } + + @Override + public void renderItem(ItemRenderType type, ItemStack item, Object... data) { + + GL11.glPushMatrix(); + GL11.glEnable(GL11.GL_CULL_FACE); + GL11.glShadeModel(GL11.GL_SMOOTH); + + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.detonator_laser_tex); + + switch(type) { + + case EQUIPPED_FIRST_PERSON: + + double s0 = 0.25D; + GL11.glScaled(s0, s0, s0); + + GL11.glRotatef(80F, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(-20F, 1.0F, 0.0F, 0.0F); + GL11.glTranslatef(1.0F, 0.5F, 3.0F); + + break; + + case EQUIPPED: + + double scale = 0.125D; + GL11.glScaled(-scale, -scale, -scale); + GL11.glRotatef(85F, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(145F, 1.0F, 0.0F, 0.0F); + GL11.glTranslatef(-0.5F, -1.0F, 6.5F); + break; + + case ENTITY: + + double s1 = 0.25D; + GL11.glRotatef(-90F, 0.0F, 1.0F, 0.0F); + GL11.glScaled(s1, s1, s1); + break; + + case INVENTORY: + + GL11.glEnable(GL11.GL_LIGHTING); + + double s = 3.5D; + GL11.glScaled(s, s, -s); + GL11.glTranslatef(1.5F, 2.75F, 0.0F); + GL11.glRotatef(180F, 1.0F, 0.0F, 0.0F); + GL11.glRotatef(-90F, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(-45F, 1.0F, 0.0F, 0.0F); + + break; + + default: break; + } + + ResourceManager.detonator_laser.renderPart("Main"); + GL11.glDisable(GL11.GL_TEXTURE_2D); + GL11.glColor3f(1F, 0F, 0F); + ResourceManager.detonator_laser.renderPart("Lights"); + GL11.glColor3f(1F, 1F, 1F); + GL11.glEnable(GL11.GL_TEXTURE_2D); + + GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glPopMatrix(); + } +} diff --git a/src/main/java/com/hbm/render/model/ModelArmorWings.java b/src/main/java/com/hbm/render/model/ModelArmorWings.java index f5524256c..280da5bdc 100644 --- a/src/main/java/com/hbm/render/model/ModelArmorWings.java +++ b/src/main/java/com/hbm/render/model/ModelArmorWings.java @@ -160,9 +160,11 @@ public class ModelArmorWings extends ModelArmorBase { } protected ResourceLocation getTexture() { - + if(this.type == 2) return ResourceManager.wings_bob; + if(this.type == 3) + return ResourceManager.wings_black; return ResourceManager.wings_murk; } diff --git a/src/main/java/com/hbm/render/util/RenderAccessoryUtility.java b/src/main/java/com/hbm/render/util/RenderAccessoryUtility.java index a001801af..7103eebad 100644 --- a/src/main/java/com/hbm/render/util/RenderAccessoryUtility.java +++ b/src/main/java/com/hbm/render/util/RenderAccessoryUtility.java @@ -143,17 +143,17 @@ public class RenderAccessoryUtility { solModel.render(event.entityPlayer, 0.0F, 0.0F, yawWrapped, yaw, pitch, 0.0625F); } - private static ModelBiped wingModel; - public static void renderWings(RenderPlayerEvent.SetArmorModel event) { + private static ModelBiped[] wingModels = new ModelBiped[10]; + public static void renderWings(RenderPlayerEvent.SetArmorModel event, int mode) { - if(wingModel == null) - wingModel = new ModelArmorWings(2); + if(wingModels[mode] == null) + wingModels[mode] = new ModelArmorWings(mode); RenderPlayer renderer = event.renderer; ModelBiped model = renderer.modelArmor; EntityPlayer player = event.entityPlayer; - wingModel.isSneak = model.isSneak; + wingModels[mode].isSneak = model.isSneak; float interp = event.partialRenderTick; float yawHead = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * interp; @@ -162,6 +162,6 @@ public class RenderAccessoryUtility { float yawWrapped = MathHelper.wrapAngleTo180_float(yawHead - yawOffset); float pitch = player.rotationPitch; - wingModel.render(event.entityPlayer, 0.0F, 0.0F, yawWrapped, yaw, pitch, 0.0625F); + wingModels[mode].render(event.entityPlayer, 0.0F, 0.0F, yawWrapped, yaw, pitch, 0.0625F); } } diff --git a/src/main/resources/assets/hbm/textures/models/weapons/detonator_laser.png b/src/main/resources/assets/hbm/textures/models/weapons/detonator_laser.png index 03202008a2469314d95c2b059bb2dda7e7e919f1..e77117fd4a3824ad24673079a80ca2c9a2da96ac 100644 GIT binary patch delta 2405 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 XTCrGQ<4r2-00000NkvXXu0mjfRH&R6 delta 1851 zcmV-B2gLaQ64?%rGk*sVNklzi#9<5XL_SegHQ~k;=tk3(Kx;&irSalwa?)*F?!)Uz4X(F*c44njcg$3q4zM%v&Z%!oEBEyYx#grO>57t=j z5L4E~oF=AF6~0vpm9U1yT9D@-0W%#q=46tk(Xc*7vXbYOu+Qoj8PtO8Hg*K;B(Dba z#R-7@u$g8YsDDF%CgB4!Zf4^-sr0jSv~zh){n^fSBhxyQ6Q>@&UBhw zPKe4eW?OBU{+OKSq~iC=b{zneLy*6<{zObuCMQne7|zRLbhW!;FPaRK9oCug!{TI; zWpcy%kX)(vkYGpc*ff{6=4O+{Sz<@-wa&U}~eq_NnXjW}Ji z^XzkJcK!z754(+z08nmkV%+yJ@c95h-W@+<7duj8vB?u6CRq-iv#yp$=UtZbI(;+Y z<(=K0cMVa)ewgtRU#8J8TgX?G%zW|ANPoYf=sDF(9)pEeMTYjLW5c>X0$bcx#Zk;T zAo|%aE`KhPc_sjOetsS#hxOn&U1b<`)Rp48hFS0avP@?g<@SD|{2QWTyTA57|47CE zSSdLhf9r{rU=;!L&gR(f8a4xgBu;bBhG@HFR%@~$TJ<=jdoO&<0 zyd$7@3$}ub!6t?Fn3oi5DYsMOL3t6LNtP(jxqlT9wo=-V5?WV@gaib#OdZY2iR?3Q zDPe67C`c(>{fKi2y&T4*MU>}UWbXges?UNELO_UjL1vbK+`Lw9&y12N&*@5y($}Ms z0c-*kLO`kfI+0!cHc@7og5;Xsv5|hvSr(i2imrcE_qw{^Gd+`J@TDYjT$e=N;;KYS z0e__wIXox(({veJoF>$hZCgJnOpN~dcgWt;BgtVs^t6tlY%<-Fl;@l~dha^ftfZfR z@AbI~;@oUD3IJYTUjYC_)VsIo(!)u>x!%d7N2TYiT*svPLZ&MPRn>;ix;%zlOJw!; zP40Kucv!D0p*7ot&_`S-fn<;H*1|kHJAVth@AdT+M5LxB&`NQ-JX`4Q4|_;|LWQaC z(V^IsNOHCg;5gGg6s@%z}!&T@bMwP!{Hdrl@9{rk0Te_=;1ADJl~Tlta#8x7AIgrY+|GV|7t{Fw6hwBr4{08${>G}qwe;~ZU&d9-Kl>e`l!o+F zxrPv*kf~+lI>$W-5AZ)Pm19n(mQQG5#iW6)*?Z18<0};HG4XOxX_1qvvROTxH{~GKiazMgKCD0OZ;5^BfzF(wH%I?5 z#+gnTd_rVG|Mg>=e(kOwraewtNlR;r5Tf$^AC-`j_ObtnTPKE)@36VHnERRi*(ma%B>lLq=?sE8*Pb1kWVgRt`WCDmu zog01Phv_wU)Xo85Wjj1Eild3hnuNx&tkvDK}!=VX$l=s8O}IroyHcZu#n$N8M*afFUEIinURD&9Jr1Y)F(7SiWp zj5D256lW Date: Mon, 28 Feb 2022 21:15:28 +0100 Subject: [PATCH 4/8] CCC dependency - bottom text --- src/main/java/com/hbm/main/ModEventHandler.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/hbm/main/ModEventHandler.java b/src/main/java/com/hbm/main/ModEventHandler.java index 04f216920..10d4ea820 100644 --- a/src/main/java/com/hbm/main/ModEventHandler.java +++ b/src/main/java/com/hbm/main/ModEventHandler.java @@ -62,7 +62,6 @@ import com.hbm.util.EntityDamageUtil; import com.hbm.world.WorldProviderNTM; import com.hbm.world.generator.TimedGenerator; -import codechicken.lib.math.MathHelper; import cpw.mods.fml.common.eventhandler.Event.Result; import cpw.mods.fml.common.eventhandler.EventPriority; import cpw.mods.fml.common.eventhandler.SubscribeEvent; @@ -114,6 +113,7 @@ import net.minecraft.util.DamageSource; import net.minecraft.util.EntityDamageSource; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.FoodStats; +import net.minecraft.util.MathHelper; import net.minecraft.util.Vec3; import net.minecraft.world.EnumSkyBlock; import net.minecraft.world.World; From 6441aee9d31d11778a860809cff54ed5d4ac20c8 Mon Sep 17 00:00:00 2001 From: Boblet Date: Tue, 1 Mar 2022 11:55:32 +0100 Subject: [PATCH 5/8] handheld barrel yeeting --- .../hbm/handler/BulletConfigSyncingUtil.java | 2 ++ .../com/hbm/handler/BulletConfiguration.java | 1 + .../hbm/handler/guncfg/GunFatmanFactory.java | 34 +++++++++++++++++- src/main/java/com/hbm/items/ModItems.java | 3 ++ .../entity/projectile/RenderBullet.java | 8 +++++ .../textures/gui/processing/gui_chemfac.png | Bin 15176 -> 5056 bytes .../hbm/textures/items/ammo_nuke_barrel.png | Bin 0 -> 423 bytes .../hbm/textures/items/ammo_nuke_hive.png | Bin 0 -> 315 bytes 8 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 src/main/resources/assets/hbm/textures/items/ammo_nuke_barrel.png create mode 100644 src/main/resources/assets/hbm/textures/items/ammo_nuke_hive.png diff --git a/src/main/java/com/hbm/handler/BulletConfigSyncingUtil.java b/src/main/java/com/hbm/handler/BulletConfigSyncingUtil.java index a4e6294a1..64d4a98eb 100644 --- a/src/main/java/com/hbm/handler/BulletConfigSyncingUtil.java +++ b/src/main/java/com/hbm/handler/BulletConfigSyncingUtil.java @@ -210,6 +210,7 @@ public class BulletConfigSyncingUtil { public static int NUKE_TOTS = i++; public static int NUKE_SAFE = i++; public static int NUKE_PUMPKIN = i++; + public static int NUKE_BARREL = i++; public static int NUKE_PROTO_NORMAL = i++; public static int NUKE_PROTO_LOW = i++; public static int NUKE_PROTO_HIGH = i++; @@ -451,6 +452,7 @@ public class BulletConfigSyncingUtil { configSet.put(NUKE_TOTS, GunFatmanFactory.getNukeTotsConfig()); configSet.put(NUKE_SAFE, GunFatmanFactory.getNukeSafeConfig()); configSet.put(NUKE_PUMPKIN, GunFatmanFactory.getNukePumpkinConfig()); + configSet.put(NUKE_BARREL, GunFatmanFactory.getNukeBarrelConfig()); configSet.put(NUKE_PROTO_NORMAL, GunFatmanFactory.getNukeConfig().accuracyMod(20F)); configSet.put(NUKE_PROTO_LOW, GunFatmanFactory.getNukeLowConfig().accuracyMod(20F)); configSet.put(NUKE_PROTO_HIGH, GunFatmanFactory.getNukeHighConfig().accuracyMod(20F)); diff --git a/src/main/java/com/hbm/handler/BulletConfiguration.java b/src/main/java/com/hbm/handler/BulletConfiguration.java index 656119fa4..4aa8c75ee 100644 --- a/src/main/java/com/hbm/handler/BulletConfiguration.java +++ b/src/main/java/com/hbm/handler/BulletConfiguration.java @@ -120,6 +120,7 @@ public class BulletConfiguration { public static final int STYLE_METEOR = 13; public static final int STYLE_APDS = 14; public static final int STYLE_BLADE = 15; + public static final int STYLE_BARREL = 16; public static final int PLINK_NONE = 0; public static final int PLINK_BULLET = 1; diff --git a/src/main/java/com/hbm/handler/guncfg/GunFatmanFactory.java b/src/main/java/com/hbm/handler/guncfg/GunFatmanFactory.java index 8348012fc..3b69fecce 100644 --- a/src/main/java/com/hbm/handler/guncfg/GunFatmanFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/GunFatmanFactory.java @@ -213,7 +213,39 @@ public class GunFatmanFactory { @Override public void behaveBlockHit(EntityBulletBase bullet, int x, int y, int z) { - if(bullet.worldObj.isRemote) { + if(!bullet.worldObj.isRemote) { + + double posX = bullet.posX; + double posY = bullet.posY + 0.5; + double posZ = bullet.posZ; + + if(y >= 0) { + posX = x + 0.5; + posY = y + 1.5; + posZ = z + 0.5; + } + + ExplosionLarge.spawnParticles(bullet.worldObj, posX, posY, posZ, 45); + } + } + }; + + return bullet; + } + + public static BulletConfiguration getNukeBarrelConfig() { + + BulletConfiguration bullet = BulletConfigFactory.standardNukeConfig(); + bullet.ammo = ModItems.ammo_nuke_pumpkin; + bullet.explosive = 3F; + bullet.style = bullet.STYLE_BARREL; + + bullet.bImpact = new IBulletImpactBehavior() { + + @Override + public void behaveBlockHit(EntityBulletBase bullet, int x, int y, int z) { + + if(!bullet.worldObj.isRemote) { double posX = bullet.posX; double posY = bullet.posY + 0.5; diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 4e7fe4e28..1ebf0c8ff 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -1551,6 +1551,7 @@ public class ModItems { public static Item ammo_nuke_tots; public static Item ammo_nuke_safe; public static Item ammo_nuke_pumpkin; + public static Item ammo_nuke_barrel; public static Item ammo_mirv; public static Item ammo_mirv_low; public static Item ammo_mirv_high; @@ -4216,6 +4217,7 @@ public class ModItems { ammo_nuke_tots = new ItemAmmo().setUnlocalizedName("ammo_nuke_tots"); ammo_nuke_safe = new ItemAmmo().setUnlocalizedName("ammo_nuke_safe"); ammo_nuke_pumpkin = new ItemAmmo().setUnlocalizedName("ammo_nuke_pumpkin"); + ammo_nuke_barrel = new ItemAmmo().setUnlocalizedName("ammo_nuke_barrel"); ammo_mirv = new ItemAmmo().setUnlocalizedName("ammo_mirv"); ammo_mirv_low = new ItemAmmo().setUnlocalizedName("ammo_mirv_low"); ammo_mirv_high = new ItemAmmo().setUnlocalizedName("ammo_mirv_high"); @@ -7251,6 +7253,7 @@ public class ModItems { GameRegistry.registerItem(ammo_nuke_tots, ammo_nuke_tots.getUnlocalizedName()); GameRegistry.registerItem(ammo_nuke_safe, ammo_nuke_safe.getUnlocalizedName()); GameRegistry.registerItem(ammo_nuke_pumpkin, ammo_nuke_pumpkin.getUnlocalizedName()); + GameRegistry.registerItem(ammo_nuke_barrel, ammo_nuke_barrel.getUnlocalizedName()); GameRegistry.registerItem(ammo_mirv, ammo_mirv.getUnlocalizedName()); GameRegistry.registerItem(ammo_mirv_low, ammo_mirv_low.getUnlocalizedName()); GameRegistry.registerItem(ammo_mirv_high, ammo_mirv_high.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/render/entity/projectile/RenderBullet.java b/src/main/java/com/hbm/render/entity/projectile/RenderBullet.java index b19c898bb..deffd0ab3 100644 --- a/src/main/java/com/hbm/render/entity/projectile/RenderBullet.java +++ b/src/main/java/com/hbm/render/entity/projectile/RenderBullet.java @@ -68,6 +68,7 @@ public class RenderBullet extends Render { case BulletConfiguration.STYLE_METEOR: renderMeteor(trail); break; case BulletConfiguration.STYLE_APDS: renderAPDS(); break; case BulletConfiguration.STYLE_BLADE: renderBlade(); break; + case BulletConfiguration.STYLE_BARREL: renderNuke(3); break; default: renderBullet(trail); break; } @@ -217,6 +218,13 @@ public class RenderBullet extends Render { case 2: bindTexture(new ResourceLocation(RefStrings.MODID + ":textures/models/BaleFlare.png")); bf.renderAll(0.0625F); break; + case 3: + GL11.glScaled(0.5, 0.5, 0.5); + GL11.glRotated(90, 0, 0, 1); + GL11.glRotated(90, 0, 1, 0); + bindTexture(ResourceManager.waste_drum_tex); + ResourceManager.waste_drum.renderAll(); + break; } } diff --git a/src/main/resources/assets/hbm/textures/gui/processing/gui_chemfac.png b/src/main/resources/assets/hbm/textures/gui/processing/gui_chemfac.png index 3ec12aba3973d977e96b49347bda8450cd890b26..9f8823a1971dd90b5046583069f442b21b0e160d 100755 GIT binary patch literal 5056 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


CXi8bDC7*ll;vL1Hg0xhq zw3CDOjvfhdUC)Asz1_dg|HW@q-~tv}BkVP^;mC%Wk`bw!zp<&vGoza2##x0j$pIRDEd)%iP-XA*Q$ejvVhfI&qCvLxJ;vSxxw%d-Q-&NtIPZ6 zZQ0Qh7laguX$wA9_aZ@1uHL}!{>$anc7^J?E071DJABNbgkGyx(qh=(dP)lR?{h)- zA?VQZFS@a2L5xc%NxQ)I#F^E|{EyV&@u~XSfUsdA*pZ>`lLRD$?``bnwr8XTGeLG7 zn?(KiB>6~<78Y!xBFFIws0TT`gRili->z~SrWrBm#hXG?UTw>XVW70BU-CE4BgB{8 zcQkdhi05P`cmj<`+<3j7-JWI?R`7q>LJro>o#*6?1xYWzXP9#`xMXV&1RqyvYCpBP2O)H zn6TvkUBVD{XZRWZ{^O??l+v*q?XRY6e-|G{Oq9T1q&FsLWPW6PoFPqR>Mnx-z|eXe z>CVq0Dy-!w5i98Ag_eGNqMts+r%F>$*mD-FxnnTI3HHA^F6&quQk(o{c9CaD8Vy^h zOm4Fx;RdwN)+il?#%T@QBtkCd>O1cH1O5&yfvU^AgAmE}_}}OWEn8*ONWkJ87_5YVMRw6rFv#qg}w61fKu{KBPEW$0fkHgF5fm}=vUYa{K3 z{Xmh=lp0QY?>Y6}Z!{~Su^3TZ1RyKjuMp!IFrQ*FGgo%DA!UNy$ z5Psr>SpyT^1e2+lGJ=u-ulU!BTRYGgx@fn$?C9i`%MWwqSlPx9KCNCm(*4*jEN}0i z;&33ZK>FaHlsv^NqwB*r9O0F8navXnnu&(AFIwKR)m!|Jz|r7?@^?Kek_0~-*|$qkf{HrDK>he=p_{>k0uKG3_D!?^RtmQs%3lT8ybF(=9D} zX<3r35)SZW);FYmXwFPVQpyM9w7k;#%I%FeRFKzJ$NdrU^Apj(kP0AX^J~BJ$zzu& z!@DVN%@Op1h4n>Qb-OFfJuIFA;L?4k8T=z7lMvljMon6lauG+x=tqg7EHrl2XcPi| z*D`UtK;|cYwoF}J-mgAEHMy6@q3{M8U?H(kkL>~?Y!xUKoDQsP^dQbX(V&!sP zt%v~9r;>^IbBCp?^geZMZ!(HZfO6A-xh zEph1Vxn+P?%aAA+Qw$KGH@+EW?bF{1cY}`0hx9(#bU}O^MlTD1h!oN#;-u4zS@rz< zsKt!Q$?M%k`jQtcwC(&^@uq~D_=k7TXrfCk&$X6X2Ok=^F+jM}q5t_v;{9R=ffxB* z3`^lWf4m6b3;^?s*;KZvkEyas1<_91gOtK4%65ttCnE$ec@Y^T!fw^A4;Pa-~ z$T#?4b+ryZNw`>}-#_B@nNv(Nt~`Cu3K6&0z_gW>-Fdp zcTI=0drfz^>+sj2bq!nzU>kbX2j<+V2+?h~Ify}@61+CdurrC1S&RQWq_ zVOJ92H((*Up&_~l?Tgf#|c;}!U>#Txs0(D@OnRoeA_ zaJK5Ff*Nm3QNT}K3(~;PbcfUiA8c+=MZCNMg;+3~Nsl%S3BR0#zYMI;(>7l-2k5Vm zzOj)szB~_~b2MAsV|Wn)j#gR=TYV0t1FmDpgJyj@@p4^yfYETc8fe637>1BxRo-8) z>o4#l$;9WSxjcbkc?pE#+%RXOHpPS8wR1{dKxuNe1l_JzzK_q7)TAchIHZtjOp~Up};ckvXKM<$f}#31JW>DfGo{sP!kk@ z(L1E``zF%2EXEIaUgIE4l$s07VE9q!y(3}+bSP{jba=36MLw4;7Q4f)e0plDYW-)yXz*nj^94YXZIC zJe4NS1cn#77>k}!(=CXv28*I=jmdXS?N#D;1NWzn0#{i_Xn6`)1G$WR@T?Oa0$Z?3 z=pzh35B^x zt=V%E&|MAd8D@A}DAKL7vcF>T7s?KF7BXa57?j&nDvvNeG?72o`vJjw@3ui-700hA|>%)h1Ib|6FzN}$j(tbVbptQ1eE9rBzY@Ms{ z3%GKhp$p*!X(0U}35hnLuNf!lwGgdm>c+FWoVj!6&Y3eXBRrE9ve~SoltOEb)|z}i zKel&%l*nWj)u;$Kx)6TrP((X8IMjR_^%tK1521Wm)|7!0-2?wZ=DBneM^fMwvz5 z0#@?~+qO|kp_F2CxlG6I@$x!lf?6|5DA)ub5iap*cW8IMXxlwHcE9K8Z5?P#o}kj$ zM@q@TuI1uypLft&1Me<=Zq$PTZtjzuU-s+jLu|;eEj>;a78Ea3Q_{!T~ zxq8g<`<^#*4qNo)w`r=j2y8IldG%P7_N#^8|Mfa|pL`hOwKB-ECi#-A Date: Tue, 1 Mar 2022 13:09:13 +0100 Subject: [PATCH 6/8] removed excessive markDirty operations from hadron and RBMK --- .../com/hbm/tileentity/machine/TileEntityHadronPower.java | 2 +- .../hbm/tileentity/machine/rbmk/TileEntityRBMKBase.java | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityHadronPower.java b/src/main/java/com/hbm/tileentity/machine/TileEntityHadronPower.java index 0d32c35f9..348e78347 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityHadronPower.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityHadronPower.java @@ -30,7 +30,7 @@ public class TileEntityHadronPower extends TileEntity implements IEnergyUser { @Override public void setPower(long i) { power = i; - this.markDirty(); + this.worldObj.markTileEntityChunkModified(this.xCoord, this.yCoord, this.zCoord, this); } @Override diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBase.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBase.java index aae6cb8c3..d38c0e3e7 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBase.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBase.java @@ -213,6 +213,14 @@ public abstract class TileEntityRBMKBase extends TileEntity implements INBTPacke } } + @Override + public void markDirty() { + + if(this.worldObj != null) { + this.worldObj.markTileEntityChunkModified(this.xCoord, this.yCoord, this.zCoord, this); + } + } + protected void coolPassively() { if(ModEventHandler.fire > 0) { From 833e028aa2042913ef04eaa0a4612897314d87ee Mon Sep 17 00:00:00 2001 From: Boblet Date: Wed, 2 Mar 2022 15:53:06 +0100 Subject: [PATCH 7/8] some quackery, missing chemplant features and barrel yeet implementation --- .../com/hbm/entity/mob/EntityQuackos.java | 15 +++++++++- .../hbm/handler/guncfg/GunFatmanFactory.java | 29 +++++++++++++++++++ .../machine/TileEntityMachineChemplant.java | 11 ++----- 3 files changed, 46 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/hbm/entity/mob/EntityQuackos.java b/src/main/java/com/hbm/entity/mob/EntityQuackos.java index e3b77722b..ce4e728cd 100644 --- a/src/main/java/com/hbm/entity/mob/EntityQuackos.java +++ b/src/main/java/com/hbm/entity/mob/EntityQuackos.java @@ -6,6 +6,7 @@ import com.hbm.items.ModItems; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.entity.EntityAgeable; +import net.minecraft.entity.EntityLeashKnot; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.boss.IBossDisplayData; import net.minecraft.entity.player.EntityPlayer; @@ -134,7 +135,10 @@ public class EntityQuackos extends EntityDuck implements IBossDisplayData { public float getShadowSize() { return 7.5F; } - + + /** + * BOW + */ @Override public void onLivingUpdate() { super.onLivingUpdate(); @@ -143,4 +147,13 @@ public class EntityQuackos extends EntityDuck implements IBossDisplayData { this.setPosition(this.posX + rand.nextGaussian() * 30, 256, this.posZ + rand.nextGaussian() * 30); } } + + @Override + protected void updateLeashedState() { + + if(this.getLeashedToEntity() instanceof EntityLeashKnot) + this.getLeashedToEntity().setDead(); + + super.updateLeashedState(); + } } diff --git a/src/main/java/com/hbm/handler/guncfg/GunFatmanFactory.java b/src/main/java/com/hbm/handler/guncfg/GunFatmanFactory.java index 3b69fecce..c9091dc50 100644 --- a/src/main/java/com/hbm/handler/guncfg/GunFatmanFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/GunFatmanFactory.java @@ -2,6 +2,7 @@ package com.hbm.handler.guncfg; import java.util.ArrayList; +import com.hbm.blocks.ModBlocks; import com.hbm.entity.projectile.EntityBulletBase; import com.hbm.explosion.ExplosionLarge; import com.hbm.explosion.ExplosionNT; @@ -9,6 +10,7 @@ import com.hbm.explosion.ExplosionNT.ExAttrib; import com.hbm.handler.BulletConfigSyncingUtil; import com.hbm.handler.BulletConfiguration; import com.hbm.handler.GunConfiguration; +import com.hbm.handler.radiation.ChunkRadiationManager; import com.hbm.interfaces.IBulletImpactBehavior; import com.hbm.interfaces.IBulletUpdateBehavior; import com.hbm.items.ModItems; @@ -17,7 +19,9 @@ import com.hbm.packet.PacketDispatcher; import com.hbm.render.util.RenderScreenOverlay.Crosshair; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; +import net.minecraft.init.Blocks; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.world.World; public class GunFatmanFactory { @@ -256,6 +260,31 @@ public class GunFatmanFactory { posY = y + 1.5; posZ = z + 0.5; } + + x = (int)Math.floor(posX); + y = (int)Math.floor(posY); + z = (int)Math.floor(posZ); + + World worldObj = bullet.worldObj; + + for(int ix = x - 3; ix <= x + 3; ix++) { + for(int iy = y - 3; iy <= y + 3; iy++) { + for(int iz = z - 3; iz <= z + 3; iz++) { + + if(worldObj.rand.nextInt(3) == 0 && worldObj.getBlock(ix, iy, iz).isReplaceable(worldObj, ix, iy, iz) && ModBlocks.fallout.canPlaceBlockAt(worldObj, ix, iy, iz)) { + worldObj.setBlock(ix, iy, iz, ModBlocks.fallout); + } else if(worldObj.getBlock(ix, iy, iz) == Blocks.air) { + + if(worldObj.rand.nextBoolean()) + worldObj.setBlock(ix, iy, iz, ModBlocks.gas_radon); + else + worldObj.setBlock(ix, iy, iz, ModBlocks.gas_radon_dense); + } + } + } + } + + ChunkRadiationManager.proxy.incrementRad(worldObj, x, y, z, 100F); ExplosionLarge.spawnParticles(bullet.worldObj, posX, posY, posZ, 45); } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplant.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplant.java index 17beab8fc..bac29cd64 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplant.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplant.java @@ -4,7 +4,6 @@ import java.util.ArrayList; import java.util.List; import com.hbm.blocks.BlockDummyable; -import com.hbm.blocks.ModBlocks; import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidSource; import com.hbm.inventory.FluidTank; @@ -17,17 +16,13 @@ import com.hbm.inventory.recipes.ChemplantRecipes.ChemRecipe; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType; import com.hbm.lib.Library; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.util.InventoryUtil; import api.hbm.energy.IEnergyUser; -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import net.minecraft.inventory.IInventory; 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; import net.minecraftforge.common.util.ForgeDirection; @@ -220,6 +215,9 @@ public class TileEntityMachineChemplant extends TileEntityMachineBase implements this.power -= this.consumption; this.progress++; + if(slots[0] != null && slots[0].getItem() == ModItems.meteorite_sword_machined) + slots[0] = new ItemStack(ModItems.meteorite_sword_treated); //fisfndmoivndlmgindgifgjfdnblfm + ChemRecipe recipe = ChemplantRecipes.indexMapping.get(slots[4].getItemDamage()); this.maxProgress = recipe.getDuration() * this.speed / 100; @@ -475,9 +473,6 @@ public class TileEntityMachineChemplant extends TileEntityMachineBase implements } } - @Deprecated - public void handleButtonPacket(int value, int meta) { } - @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); From c3b2838e7a81d5a6526c7b164f3740f91d8dc69f Mon Sep 17 00:00:00 2001 From: Bob Date: Wed, 2 Mar 2022 22:32:53 +0100 Subject: [PATCH 8/8] small amounts of trolling --- .../inventory/recipes/AssemblerRecipes.java | 6 ++--- .../inventory/recipes/RefineryRecipes.java | 3 ++- .../java/com/hbm/lib/ModDamageSource.java | 1 + .../TileEntityMachineCatalyticCracker.java | 22 +++++++++++-------- .../turret/TileEntityTurretMaxwell.java | 2 +- src/main/resources/assets/hbm/lang/de_DE.lang | 1 + src/main/resources/assets/hbm/lang/en_US.lang | 1 + 7 files changed, 21 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java b/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java index b05d6ce3f..654135df1 100644 --- a/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java @@ -950,15 +950,13 @@ public class AssemblerRecipes { }, 200); makeRecipe(new ComparableStack(ModBlocks.machine_radiolysis), new AStack[] { - new OreDictStack(STEEL.ingot(), 8), + new OreDictStack(STEEL.ingot(), 12), new OreDictStack(TCALLOY.ingot(), 4), - new ComparableStack(ModBlocks.steel_beam, 16), new OreDictStack(DURA.ingot(), 10), - new OreDictStack(DESH.ingot(), 4), + new OreDictStack(RUBBER.ingot(), 4), new OreDictStack(PB.plate(), 12), new ComparableStack(ModItems.board_copper, 4), new ComparableStack(ModItems.thermo_element, 10), - new ComparableStack(ModItems.circuit_copper, 3), new ComparableStack(ModItems.wire_red_copper, 8), new ComparableStack(ModItems.tank_steel, 3) }, 200); diff --git a/src/main/java/com/hbm/inventory/recipes/RefineryRecipes.java b/src/main/java/com/hbm/inventory/recipes/RefineryRecipes.java index 17e3ea6bb..8cb7824e3 100644 --- a/src/main/java/com/hbm/inventory/recipes/RefineryRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/RefineryRecipes.java @@ -162,7 +162,8 @@ public class RefineryRecipes { }; ItemStack[] out = new ItemStack[] { ItemFluidIcon.make(recipe.getValue().getKey()), - ItemFluidIcon.make(recipe.getValue().getValue()) + ItemFluidIcon.make(recipe.getValue().getValue()), + ItemFluidIcon.make(Fluids.SPENTSTEAM, 2) }; recipes.put(in, recipe.getValue().getValue().type == Fluids.NONE ? ItemFluidIcon.make(recipe.getValue().getKey()) : out); diff --git a/src/main/java/com/hbm/lib/ModDamageSource.java b/src/main/java/com/hbm/lib/ModDamageSource.java index 3101718c0..0c5e3ba5a 100644 --- a/src/main/java/com/hbm/lib/ModDamageSource.java +++ b/src/main/java/com/hbm/lib/ModDamageSource.java @@ -52,6 +52,7 @@ public class ModDamageSource extends DamageSource { public static DamageSource mku = (new DamageSource("mku")).setDamageIsAbsolute().setDamageBypassesArmor(); public static DamageSource vacuum = (new DamageSource("vacuum")).setDamageIsAbsolute().setDamageBypassesArmor(); public static DamageSource overdose = (new DamageSource("overdose")).setDamageIsAbsolute().setDamageBypassesArmor(); + public static DamageSource microwave = (new DamageSource("microwave")).setDamageIsAbsolute().setDamageBypassesArmor(); public static final String s_bullet = "revolverBullet"; public static final String s_emplacer = "chopperBullet"; diff --git a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineCatalyticCracker.java b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineCatalyticCracker.java index 2fb0a2a57..26ae435e8 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineCatalyticCracker.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineCatalyticCracker.java @@ -4,7 +4,6 @@ import java.util.ArrayList; import java.util.List; import com.hbm.blocks.BlockDummyable; -import com.hbm.blocks.ModBlocks; import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidSource; import com.hbm.inventory.FluidStack; @@ -14,29 +13,28 @@ import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.recipes.RefineryRecipes; import com.hbm.lib.Library; import com.hbm.util.Tuple.Pair; -import com.hbm.util.Tuple.Quartet; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.block.Block; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraftforge.common.util.ForgeDirection; -import scala.actors.threadpool.Arrays; public class TileEntityMachineCatalyticCracker extends TileEntity implements IFluidSource, IFluidAcceptor { public FluidTank[] tanks; public List list1 = new ArrayList(); public List list2 = new ArrayList(); + public List list3 = new ArrayList(); public TileEntityMachineCatalyticCracker() { - tanks = new FluidTank[4]; + tanks = new FluidTank[5]; tanks[0] = new FluidTank(Fluids.BITUMEN, 4000, 0); tanks[1] = new FluidTank(Fluids.STEAM, 8000, 1); tanks[2] = new FluidTank(Fluids.OIL, 4000, 2); tanks[3] = new FluidTank(Fluids.PETROLEUM, 4000, 3); + tanks[4] = new FluidTank(Fluids.SPENTSTEAM, 800, 4); } @Override @@ -52,6 +50,7 @@ public class TileEntityMachineCatalyticCracker extends TileEntity implements IFl if(worldObj.getTotalWorldTime() % 10 == 0) { fillFluidInit(tanks[2].getTankType()); fillFluidInit(tanks[3].getTankType()); + fillFluidInit(tanks[4].getTankType()); } } } @@ -70,12 +69,13 @@ public class TileEntityMachineCatalyticCracker extends TileEntity implements IFl tanks[1].setFill(tanks[1].getFill() - 200); tanks[2].setFill(tanks[2].getFill() + left); tanks[3].setFill(tanks[3].getFill() + right); + tanks[4].setFill(tanks[4].getFill() + 2); //LPS has the density of WATER not STEAM (1%!) } } } private boolean hasSpace(int left, int right) { - return tanks[2].getFill() + left <= tanks[2].getMaxFill() && tanks[3].getFill() + right <= tanks[3].getMaxFill(); + return tanks[2].getFill() + left <= tanks[2].getMaxFill() && tanks[3].getFill() + right <= tanks[3].getMaxFill() && tanks[4].getFill() + 200 <= tanks[4].getMaxFill(); } private void setupTanks() { @@ -86,11 +86,13 @@ public class TileEntityMachineCatalyticCracker extends TileEntity implements IFl tanks[1].setTankType(Fluids.STEAM); tanks[2].setTankType(quart.getKey().type); tanks[3].setTankType(quart.getValue().type); + tanks[4].setTankType(Fluids.SPENTSTEAM); } else { tanks[0].setTankType(Fluids.NONE); tanks[1].setTankType(Fluids.NONE); tanks[2].setTankType(Fluids.NONE); tanks[3].setTankType(Fluids.NONE); + tanks[4].setTankType(Fluids.NONE); } } @@ -98,7 +100,7 @@ public class TileEntityMachineCatalyticCracker extends TileEntity implements IFl public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); - for(int i = 0; i < 3; i++) + for(int i = 0; i < 5; i++) tanks[i].readFromNBT(nbt, "tank" + i); } @@ -106,13 +108,13 @@ public class TileEntityMachineCatalyticCracker extends TileEntity implements IFl public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); - for(int i = 0; i < 3; i++) + for(int i = 0; i < 5; i++) tanks[i].writeToNBT(nbt, "tank" + i); } @Override public void setFillForSync(int fill, int index) { - if(index < 4 && tanks[index] != null) + if(index < 5 && tanks[index] != null) tanks[index].setFill(fill); } @@ -181,6 +183,7 @@ public class TileEntityMachineCatalyticCracker extends TileEntity implements IFl public List getFluidList(FluidType type) { if(type == tanks[2].getTankType()) return list1; if(type == tanks[3].getTankType()) return list2; + if(type == tanks[4].getTankType()) return list3; return new ArrayList(); } @@ -188,6 +191,7 @@ public class TileEntityMachineCatalyticCracker extends TileEntity implements IFl public void clearFluidList(FluidType type) { if(type == tanks[2].getTankType()) list1.clear(); if(type == tanks[3].getTankType()) list2.clear(); + if(type == tanks[4].getTankType()) list3.clear(); } AxisAlignedBB bb = null; diff --git a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretMaxwell.java b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretMaxwell.java index aa7652ca5..8af2b30ce 100644 --- a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretMaxwell.java +++ b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretMaxwell.java @@ -152,7 +152,7 @@ public class TileEntityTurretMaxwell extends TileEntityTurretBaseNT { if(this.target != null && this.getPower() >= demand) { - EntityDamageUtil.attackEntityFromIgnoreIFrame(this.target, ModDamageSource.shrapnel, (this.blackLevel * 10 + this.redLevel + 1F) * 0.25F); + EntityDamageUtil.attackEntityFromIgnoreIFrame(this.target, ModDamageSource.microwave, (this.blackLevel * 10 + this.redLevel + 1F) * 0.25F); if(pinkLevel > 0) this.target.setFire(this.pinkLevel * 3); diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index 838409c55..a92ed133e 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -349,6 +349,7 @@ death.attack.laser.item=%1$s wurde von %2$s mit %3$s zerbröselt. death.attack.lead=%1$s starb an Bleivergiftung. death.attack.lunar=%1$s vergaß lebenswichtige Organe aufzuladen. death.attack.meteorite=%1$s wurde von einem fallenden Stein aus dem Weltall erschlagen. +death.attack.microwave=%1$s explodierte wegen Mikrowellenstrahlung. death.attack.mku=%1$s starb aus unbekannten Gründen. death.attack.monoxide=%1$s vergaß, die Batterien im Kohlenmonoxid-Detektor auszutauschen. death.attack.mudPoisoning=%1$s starb an Giftschlamm. diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index b5c658b3f..153cc38ab 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -521,6 +521,7 @@ death.attack.laser.item=%1$s was turned into ash by %2$s using %3$s. death.attack.lead=%1$s died from lead poisoning. death.attack.lunar=%1$s forgot to charge their vital organs. death.attack.meteorite=%1$s was hit by a falling rock from outer space. +death.attack.microwave=%1$s was exploded by microwave radiation. death.attack.mku=%1$s died from unknown causes. death.attack.monoxide=%1$s forgot to change the batteries in their carbon monoxide detector. death.attack.mudPoisoning=%1$s died in poisonous mud.