forked from EXTERNAL/bareiron
improve item-to-block mapping
This commit is contained in:
@@ -429,7 +429,7 @@ int cs_useItemOn (int client_fd) {
|
||||
if (getPlayerData(client_fd, &player)) return 1;
|
||||
|
||||
uint16_t item = player->inventory_items[player->hotbar];
|
||||
uint8_t block = item == 320 ? B_crafting_table : I_to_B[item]; // hack!!
|
||||
uint8_t block = I_to_B(item);
|
||||
|
||||
// if the selected item doesn't correspond to a block, exit
|
||||
if (block == 0) return 0;
|
||||
|
263
src/registries.c
263
src/registries.c
@@ -482,9 +482,266 @@ uint8_t registries_bin[] = {
|
||||
0x6c, 0x61, 0x6e, 0x64, 0x73, 0x00
|
||||
};
|
||||
|
||||
// Block palette
|
||||
uint16_t block_palette[] = { 0, 1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 25, 26, 27, 28, 29, 31, 33, 35, 37, 39, 41, 43, 50, 85, 86, 118, 119, 123, 124, 125, 129, 130, 131, 132, 133, 134, 135, 137, 140, 143, 146, 149, 152, 155, 158, 161, 164, 166, 169, 172, 175, 178, 181, 184, 187, 190, 193, 196, 199, 202, 205, 208, 211, 214, 217, 220, 223, 226, 229, 232, 235, 238, 241, 244, 247, 250, 279, 307, 335, 363, 391, 419, 447, 475, 503, 531, 559, 560, 561, 562, 563, 564, 565, 567, 578, 579, 580, 582, 1734, 1750, 1766, 1782, 1798, 1814, 1830, 1846, 1862, 1878, 1894, 1910, 1926, 1942, 1958, 1974, 2000, 2024, 2041, 2047, 2048, 2049, 2050, 2051, 2052, 2053, 2054, 2063, 2093, 2094, 2095, 2096, 2097, 2098, 2099, 2100, 2101, 2102, 2103, 2104, 2105, 2106, 2107, 2108, 2121, 2122, 2123, 2124, 2125, 2126, 2127, 2128, 2129, 2130, 2131, 2132, 2133, 2134, 2135, 2136, 2137, 2138, 2139, 2141, 2142, 2206, 2399, 2400, 2401, 2919, 2927, 2949, 3019, 4338, 4339, 4340, 4341, 4342, 4350, 4359, 4367, 4399, 4431, 4463, 4495, 4527, 4559, 4591, 4623, 4655, 4697, 4751, 4759, 4789, 4971, 5035, 5099, 5163, 5227, 5291, 5355, 5419, 5483, 5547, 5611, 5675, 5811, 5827, 5839, 5893, 5895, 5897, 5899, 5901, 5903, 5905, 5907, 5909, 5911, 5913, 5915, 5916, 5935, 5950, 5958, 5959, 5960, 5976, 5977, 5978, 5995, 6027, 6028, 6029, 6030, 6032, 6035, 6037, 6042, 6045, 6049, 6053, 6063, 6124, 6125, 6126, 6127 };
|
||||
// Block-to-item mapping
|
||||
uint8_t B_to_I[] = { 0, 1, 2, 3, 4, 5, 6, 7, 27, 28, 29, 30, 35, 36, 37, 38, 39, 40, 41, 42, 177, 43, 44, 45, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 0, 59, 60, 62, 63, 61, 70, 71, 66, 67, 64, 65, 80, 134, 135, 136, 137, 138, 139, 141, 140, 142, 143, 144, 147, 149, 150, 151, 152, 153, 154, 155, 148, 156, 170, 171, 172, 173, 174, 175, 176, 178, 179, 159, 160, 161, 162, 163, 164, 165, 166, 167, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 76, 77, 197, 0, 198, 199, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 201, 202, 203, 207, 204, 209, 210, 211, 0, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 244, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 243, 242, 247, 248, 92, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, 79, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; // 256
|
||||
// Item-to-block mapping
|
||||
uint8_t I_to_B[] = { 0, 1, 2, 3, 4, 5, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 9, 10, 11, 0, 0, 0, 0, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 0, 0, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 37, 40, 38, 39, 45, 46, 43, 44, 0, 0, 41, 42, 228, 229, 0, 0, 101, 102, 182, 183, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 170, 0, 169, 184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 49, 50, 51, 52, 53, 55, 54, 56, 57, 58, 0, 0, 59, 67, 60, 61, 62, 63, 64, 65, 66, 68, 0, 0, 78, 79, 80, 81, 82, 83, 84, 85, 86, 0, 0, 69, 70, 71, 72, 73, 74, 75, 20, 76, 77, 0, 0, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 0, 103, 105, 106, 107, 128, 129, 130, 132, 0, 0, 131, 0, 133, 134, 135, 0, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 0, 0, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 166, 165, 154, 0, 0, 167, 168, 0, 0, 0, 0, 0, 0, 0 }; // 256
|
||||
// Block palette
|
||||
uint16_t block_palette[] = { 0, 1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 25, 26, 27, 28, 29, 31, 33, 35, 37, 39, 41, 43, 50, 85, 86, 118, 119, 123, 124, 125, 129, 130, 131, 132, 133, 134, 135, 137, 140, 143, 146, 149, 152, 155, 158, 161, 164, 166, 169, 172, 175, 178, 181, 184, 187, 190, 193, 196, 199, 202, 205, 208, 211, 214, 217, 220, 223, 226, 229, 232, 235, 238, 241, 244, 247, 250, 279, 307, 335, 363, 391, 419, 447, 475, 503, 531, 559, 560, 561, 562, 563, 564, 565, 567, 578, 579, 580, 582, 1734, 1750, 1766, 1782, 1798, 1814, 1830, 1846, 1862, 1878, 1894, 1910, 1926, 1942, 1958, 1974, 2000, 2024, 2041, 2047, 2048, 2049, 2050, 2051, 2052, 2053, 2054, 2063, 2093, 2094, 2095, 2096, 2097, 2098, 2099, 2100, 2101, 2102, 2103, 2104, 2105, 2106, 2107, 2108, 2121, 2122, 2123, 2124, 2125, 2126, 2127, 2128, 2129, 2130, 2131, 2132, 2133, 2134, 2135, 2136, 2137, 2138, 2139, 2141, 2142, 2206, 2399, 2400, 2401, 2919, 2927, 2949, 3019, 4338, 4339, 4340, 4341, 4342, 4350, 4359, 4367, 4399, 4431, 4463, 4495, 4527, 4559, 4591, 4623, 4655, 4697, 4751, 4759, 4789, 4971, 5035, 5099, 5163, 5227, 5291, 5355, 5419, 5483, 5547, 5611, 5675, 5811, 5827, 5839, 5893, 5895, 5897, 5899, 5901, 5903, 5905, 5907, 5909, 5911, 5913, 5915, 5916, 5935, 5950, 5958, 5959, 5960, 5976, 5977, 5978, 5995, 6027, 6028, 6029, 6030, 6032, 6035, 6037, 6042, 6045, 6049, 6053, 6063, 6124, 6125, 6126, 6127 };
|
||||
uint8_t I_to_B (uint16_t item) {
|
||||
if (item == 0) return 0;
|
||||
if (item == 1) return 1;
|
||||
if (item == 2) return 2;
|
||||
if (item == 3) return 3;
|
||||
if (item == 4) return 4;
|
||||
if (item == 5) return 5;
|
||||
if (item == 6) return 6;
|
||||
if (item == 7) return 7;
|
||||
if (item == 27) return 8;
|
||||
if (item == 28) return 9;
|
||||
if (item == 29) return 10;
|
||||
if (item == 30) return 11;
|
||||
if (item == 35) return 12;
|
||||
if (item == 36) return 13;
|
||||
if (item == 37) return 14;
|
||||
if (item == 38) return 15;
|
||||
if (item == 39) return 16;
|
||||
if (item == 40) return 17;
|
||||
if (item == 41) return 18;
|
||||
if (item == 42) return 19;
|
||||
if (item == 177) return 20;
|
||||
if (item == 43) return 21;
|
||||
if (item == 44) return 22;
|
||||
if (item == 45) return 23;
|
||||
if (item == 48) return 24;
|
||||
if (item == 49) return 25;
|
||||
if (item == 50) return 26;
|
||||
if (item == 51) return 27;
|
||||
if (item == 52) return 28;
|
||||
if (item == 53) return 29;
|
||||
if (item == 54) return 30;
|
||||
if (item == 55) return 31;
|
||||
if (item == 56) return 32;
|
||||
if (item == 57) return 33;
|
||||
if (item == 58) return 34;
|
||||
if (item == 59) return 36;
|
||||
if (item == 60) return 37;
|
||||
if (item == 62) return 38;
|
||||
if (item == 63) return 39;
|
||||
if (item == 61) return 40;
|
||||
if (item == 70) return 41;
|
||||
if (item == 71) return 42;
|
||||
if (item == 66) return 43;
|
||||
if (item == 67) return 44;
|
||||
if (item == 64) return 45;
|
||||
if (item == 65) return 46;
|
||||
if (item == 80) return 47;
|
||||
if (item == 134) return 48;
|
||||
if (item == 135) return 49;
|
||||
if (item == 136) return 50;
|
||||
if (item == 137) return 51;
|
||||
if (item == 138) return 52;
|
||||
if (item == 139) return 53;
|
||||
if (item == 141) return 54;
|
||||
if (item == 140) return 55;
|
||||
if (item == 142) return 56;
|
||||
if (item == 143) return 57;
|
||||
if (item == 144) return 58;
|
||||
if (item == 147) return 59;
|
||||
if (item == 149) return 60;
|
||||
if (item == 150) return 61;
|
||||
if (item == 151) return 62;
|
||||
if (item == 152) return 63;
|
||||
if (item == 153) return 64;
|
||||
if (item == 154) return 65;
|
||||
if (item == 155) return 66;
|
||||
if (item == 148) return 67;
|
||||
if (item == 156) return 68;
|
||||
if (item == 170) return 69;
|
||||
if (item == 171) return 70;
|
||||
if (item == 172) return 71;
|
||||
if (item == 173) return 72;
|
||||
if (item == 174) return 73;
|
||||
if (item == 175) return 74;
|
||||
if (item == 176) return 75;
|
||||
if (item == 178) return 76;
|
||||
if (item == 179) return 77;
|
||||
if (item == 159) return 78;
|
||||
if (item == 160) return 79;
|
||||
if (item == 161) return 80;
|
||||
if (item == 162) return 81;
|
||||
if (item == 163) return 82;
|
||||
if (item == 164) return 83;
|
||||
if (item == 165) return 84;
|
||||
if (item == 166) return 85;
|
||||
if (item == 167) return 86;
|
||||
if (item == 182) return 87;
|
||||
if (item == 183) return 88;
|
||||
if (item == 184) return 89;
|
||||
if (item == 185) return 90;
|
||||
if (item == 186) return 91;
|
||||
if (item == 187) return 92;
|
||||
if (item == 188) return 93;
|
||||
if (item == 189) return 94;
|
||||
if (item == 190) return 95;
|
||||
if (item == 191) return 96;
|
||||
if (item == 192) return 97;
|
||||
if (item == 193) return 98;
|
||||
if (item == 194) return 99;
|
||||
if (item == 195) return 100;
|
||||
if (item == 76) return 101;
|
||||
if (item == 77) return 102;
|
||||
if (item == 197) return 103;
|
||||
if (item == 699) return 104;
|
||||
if (item == 198) return 105;
|
||||
if (item == 199) return 106;
|
||||
if (item == 200) return 107;
|
||||
if (item == 712) return 108;
|
||||
if (item == 1041) return 109;
|
||||
if (item == 1042) return 110;
|
||||
if (item == 1043) return 111;
|
||||
if (item == 1044) return 112;
|
||||
if (item == 1045) return 113;
|
||||
if (item == 1046) return 114;
|
||||
if (item == 1047) return 115;
|
||||
if (item == 1048) return 116;
|
||||
if (item == 1049) return 117;
|
||||
if (item == 1050) return 118;
|
||||
if (item == 1051) return 119;
|
||||
if (item == 1052) return 120;
|
||||
if (item == 1053) return 121;
|
||||
if (item == 1054) return 122;
|
||||
if (item == 1055) return 123;
|
||||
if (item == 1056) return 124;
|
||||
if (item == 797) return 125;
|
||||
if (item == 798) return 126;
|
||||
if (item == 694) return 127;
|
||||
if (item == 201) return 128;
|
||||
if (item == 202) return 129;
|
||||
if (item == 203) return 130;
|
||||
if (item == 207) return 131;
|
||||
if (item == 204) return 132;
|
||||
if (item == 209) return 133;
|
||||
if (item == 210) return 134;
|
||||
if (item == 211) return 135;
|
||||
if (item == 693) return 136;
|
||||
if (item == 213) return 137;
|
||||
if (item == 214) return 138;
|
||||
if (item == 215) return 139;
|
||||
if (item == 216) return 140;
|
||||
if (item == 217) return 141;
|
||||
if (item == 218) return 142;
|
||||
if (item == 219) return 143;
|
||||
if (item == 220) return 144;
|
||||
if (item == 221) return 145;
|
||||
if (item == 222) return 146;
|
||||
if (item == 223) return 147;
|
||||
if (item == 224) return 148;
|
||||
if (item == 225) return 149;
|
||||
if (item == 226) return 150;
|
||||
if (item == 227) return 151;
|
||||
if (item == 228) return 152;
|
||||
if (item == 229) return 153;
|
||||
if (item == 244) return 154;
|
||||
if (item == 232) return 155;
|
||||
if (item == 233) return 156;
|
||||
if (item == 234) return 157;
|
||||
if (item == 235) return 158;
|
||||
if (item == 236) return 159;
|
||||
if (item == 237) return 160;
|
||||
if (item == 238) return 161;
|
||||
if (item == 239) return 162;
|
||||
if (item == 240) return 163;
|
||||
if (item == 241) return 164;
|
||||
if (item == 243) return 165;
|
||||
if (item == 242) return 166;
|
||||
if (item == 247) return 167;
|
||||
if (item == 248) return 168;
|
||||
if (item == 92) return 169;
|
||||
if (item == 90) return 170;
|
||||
if (item == 304) return 171;
|
||||
if (item == 710) return 172;
|
||||
if (item == 305) return 173;
|
||||
if (item == 306) return 174;
|
||||
if (item == 308) return 175;
|
||||
if (item == 309) return 176;
|
||||
if (item == 310) return 177;
|
||||
if (item == 317) return 178;
|
||||
if (item == 318) return 179;
|
||||
if (item == 412) return 180;
|
||||
if (item == 319) return 181;
|
||||
if (item == 78) return 182;
|
||||
if (item == 79) return 183;
|
||||
if (item == 93) return 184;
|
||||
if (item == 320) return 185;
|
||||
if (item == 911) return 186;
|
||||
if (item == 321) return 187;
|
||||
if (item == 322) return 188;
|
||||
if (item == 943) return 189;
|
||||
if (item == 944) return 190;
|
||||
if (item == 945) return 191;
|
||||
if (item == 947) return 192;
|
||||
if (item == 948) return 193;
|
||||
if (item == 946) return 194;
|
||||
if (item == 949) return 195;
|
||||
if (item == 950) return 196;
|
||||
if (item == 951) return 197;
|
||||
if (item == 952) return 198;
|
||||
if (item == 744) return 199;
|
||||
if (item == 323) return 200;
|
||||
if (item == 799) return 201;
|
||||
if (item == 324) return 202;
|
||||
if (item == 955) return 203;
|
||||
if (item == 956) return 204;
|
||||
if (item == 957) return 205;
|
||||
if (item == 959) return 206;
|
||||
if (item == 960) return 207;
|
||||
if (item == 958) return 208;
|
||||
if (item == 961) return 209;
|
||||
if (item == 962) return 210;
|
||||
if (item == 965) return 211;
|
||||
if (item == 966) return 212;
|
||||
if (item == 963) return 213;
|
||||
if (item == 964) return 214;
|
||||
if (item == 703) return 215;
|
||||
if (item == 727) return 216;
|
||||
if (item == 743) return 217;
|
||||
if (item == 731) return 218;
|
||||
if (item == 732) return 219;
|
||||
if (item == 733) return 220;
|
||||
if (item == 734) return 221;
|
||||
if (item == 735) return 222;
|
||||
if (item == 736) return 223;
|
||||
if (item == 737) return 224;
|
||||
if (item == 738) return 225;
|
||||
if (item == 739) return 226;
|
||||
if (item == 740) return 227;
|
||||
if (item == 72) return 228;
|
||||
if (item == 73) return 229;
|
||||
if (item == 689) return 230;
|
||||
if (item == 713) return 231;
|
||||
if (item == 325) return 232;
|
||||
if (item == 326) return 233;
|
||||
if (item == 327) return 234;
|
||||
if (item == 328) return 235;
|
||||
if (item == 329) return 236;
|
||||
if (item == 330) return 237;
|
||||
if (item == 256) return 238;
|
||||
if (item == 331) return 239;
|
||||
if (item == 332) return 240;
|
||||
if (item == 347) return 241;
|
||||
if (item == 348) return 242;
|
||||
if (item == 349) return 243;
|
||||
if (item == 350) return 244;
|
||||
if (item == 351) return 245;
|
||||
if (item == 353) return 246;
|
||||
if (item == 354) return 247;
|
||||
if (item == 345) return 248;
|
||||
if (item == 346) return 249;
|
||||
if (item == 1040) return 250;
|
||||
if (item == 691) return 251;
|
||||
if (item == 501) return 252;
|
||||
if (item == 502) return 253;
|
||||
if (item == 503) return 254;
|
||||
if (item == 504) return 255;
|
||||
return 0;
|
||||
}
|
@@ -5,9 +5,9 @@
|
||||
|
||||
extern uint8_t registries_bin[5718];
|
||||
|
||||
extern uint8_t B_to_I[256]; // Block-to-item mapping
|
||||
extern uint8_t I_to_B[256]; // Item-to-block mapping
|
||||
extern uint16_t block_palette[256]; // Block palette
|
||||
extern uint8_t B_to_I[256]; // Block-to-item mapping
|
||||
uint8_t I_to_B (uint16_t item); // Item-to-block mapping
|
||||
|
||||
// Block identifiers
|
||||
#define B_acacia_hanging_sign 206
|
||||
|
Reference in New Issue
Block a user