mirror of https://github.com/basinserver/basin/
580 lines
18 KiB
C
580 lines
18 KiB
C
/*
|
|
* block.h
|
|
*
|
|
* Created on: Dec 22, 2016
|
|
* Author: root
|
|
*/
|
|
|
|
#ifndef BASIN_BLOCK_H_
|
|
#define BASIN_BLOCK_H_
|
|
|
|
#include <stdint.h>
|
|
|
|
typedef uint16_t block;
|
|
|
|
#include <basin/world.h>
|
|
#include <basin/player.h>
|
|
#include <basin/item.h>
|
|
|
|
#define BLK_AIR 0
|
|
#define BLK_STONE 16
|
|
#define BLK_STONE_GRANITE 17
|
|
#define BLK_STONE_GRANITESMOOTH 18
|
|
#define BLK_STONE_DIORITE 19
|
|
#define BLK_STONE_DIORITESMOOTH 20
|
|
#define BLK_STONE_ANDESITE 21
|
|
#define BLK_STONE_ANDESITESMOOTH 22
|
|
#define BLK_GRASS 32
|
|
#define BLK_DIRT 48
|
|
#define BLK_DIRT_COARSE 49
|
|
#define BLK_DIRT_PODZOL 50
|
|
#define BLK_COBBLESTONE 64
|
|
#define BLK_WOOD_OAK 80
|
|
#define BLK_WOOD_SPRUCE 81
|
|
#define BLK_WOOD_BIRCH 82
|
|
#define BLK_WOOD_JUNGLE 83
|
|
#define BLK_WOOD_ACACIA 84
|
|
#define BLK_WOOD_BIG_OAK 85
|
|
#define BLK_SAPLING_OAK 96
|
|
#define BLK_SAPLING_SPRUCE 97
|
|
#define BLK_SAPLING_BIRCH 98
|
|
#define BLK_SAPLING_JUNGLE 99
|
|
#define BLK_SAPLING_ACACIA 100
|
|
#define BLK_SAPLING_BIG_OAK 101
|
|
#define BLK_SAPLING_OAK_1 105
|
|
#define BLK_SAPLING_OAK_2 106
|
|
#define BLK_SAPLING_OAK_3 107
|
|
#define BLK_SAPLING_OAK_4 108
|
|
#define BLK_SAPLING_OAK_5 109
|
|
#define BLK_BEDROCK 112
|
|
#define BLK_WATER 128
|
|
#define BLK_WATER_1 144
|
|
#define BLK_LAVA 160
|
|
#define BLK_LAVA_1 176
|
|
#define BLK_SAND 192
|
|
#define BLK_SAND_RED 193
|
|
#define BLK_GRAVEL 208
|
|
#define BLK_OREGOLD 224
|
|
#define BLK_OREIRON 240
|
|
#define BLK_ORECOAL 256
|
|
#define BLK_LOG_OAK 272
|
|
#define BLK_LOG_SPRUCE 273
|
|
#define BLK_LOG_BIRCH 274
|
|
#define BLK_LOG_JUNGLE 275
|
|
#define BLK_LOG_ACACIA 276
|
|
#define BLK_LOG_BIG_OAK 277
|
|
#define BLK_LOG_OAK_1 278
|
|
#define BLK_LOG_OAK_2 279
|
|
#define BLK_LOG_OAK_3 281
|
|
#define BLK_LOG_OAK_4 282
|
|
#define BLK_LOG_OAK_5 283
|
|
#define BLK_LOG_OAK_6 285
|
|
#define BLK_LOG_OAK_7 286
|
|
#define BLK_LOG_OAK_8 287
|
|
#define BLK_LEAVES_OAK 288
|
|
#define BLK_LEAVES_SPRUCE 289
|
|
#define BLK_LEAVES_BIRCH 290
|
|
#define BLK_LEAVES_JUNGLE 291
|
|
#define BLK_LEAVES_OAK_2 292
|
|
#define BLK_LEAVES_SPRUCE_1 293
|
|
#define BLK_LEAVES_BIRCH_1 294
|
|
#define BLK_LEAVES_JUNGLE_1 295
|
|
#define BLK_LEAVES_SPRUCE_2 297
|
|
#define BLK_LEAVES_BIRCH_2 298
|
|
#define BLK_LEAVES_JUNGLE_2 299
|
|
#define BLK_LEAVES_OAK_3 300
|
|
#define BLK_LEAVES_SPRUCE_3 301
|
|
#define BLK_LEAVES_BIRCH_3 302
|
|
#define BLK_LEAVES_JUNGLE_3 303
|
|
#define BLK_SPONGE_DRY 304
|
|
#define BLK_SPONGE_WET 305
|
|
#define BLK_GLASS 320
|
|
#define BLK_ORELAPIS 336
|
|
#define BLK_BLOCKLAPIS 352
|
|
#define BLK_DISPENSER 368
|
|
#define BLK_SANDSTONE 384
|
|
#define BLK_SANDSTONE_CHISELED 385
|
|
#define BLK_SANDSTONE_SMOOTH 386
|
|
#define BLK_MUSICBLOCK 400
|
|
#define BLK_BED 416
|
|
#define BLK_BED_1 424
|
|
#define BLK_BED_2 425
|
|
#define BLK_BED_3 426
|
|
#define BLK_BED_4 427
|
|
#define BLK_BED_5 428
|
|
#define BLK_BED_6 429
|
|
#define BLK_BED_7 430
|
|
#define BLK_BED_8 431
|
|
#define BLK_GOLDENRAIL 432
|
|
#define BLK_DETECTORRAIL 448
|
|
#define BLK_PISTONSTICKYBASE 464
|
|
#define BLK_WEB 480
|
|
#define BLK_TALLGRASS_SHRUB 496
|
|
#define BLK_TALLGRASS_GRASS 497
|
|
#define BLK_TALLGRASS_FERN 498
|
|
#define BLK_DEADBUSH 512
|
|
#define BLK_PISTONBASE 528
|
|
#define BLK_PISTONBASE_1 544
|
|
#define BLK_CLOTH_WHITE 560
|
|
#define BLK_CLOTH_ORANGE 561
|
|
#define BLK_CLOTH_MAGENTA 562
|
|
#define BLK_CLOTH_LIGHTBLUE 563
|
|
#define BLK_CLOTH_YELLOW 564
|
|
#define BLK_CLOTH_LIME 565
|
|
#define BLK_CLOTH_PINK 566
|
|
#define BLK_CLOTH_GRAY 567
|
|
#define BLK_CLOTH_SILVER 568
|
|
#define BLK_CLOTH_CYAN 569
|
|
#define BLK_CLOTH_PURPLE 570
|
|
#define BLK_CLOTH_BLUE 571
|
|
#define BLK_CLOTH_BROWN 572
|
|
#define BLK_CLOTH_GREEN 573
|
|
#define BLK_CLOTH_RED 574
|
|
#define BLK_CLOTH_BLACK 575
|
|
#define BLK_PISTONMOVING 576
|
|
#define BLK_FLOWER1_DANDELION 592
|
|
#define BLK_FLOWER2_POPPY 608
|
|
#define BLK_FLOWER2_BLUEORCHID 609
|
|
#define BLK_FLOWER2_ALLIUM 610
|
|
#define BLK_FLOWER2_HOUSTONIA 611
|
|
#define BLK_FLOWER2_TULIPRED 612
|
|
#define BLK_FLOWER2_TULIPORANGE 613
|
|
#define BLK_FLOWER2_TULIPWHITE 614
|
|
#define BLK_FLOWER2_TULIPPINK 615
|
|
#define BLK_FLOWER2_OXEYEDAISY 616
|
|
#define BLK_MUSHROOM 624
|
|
#define BLK_MUSHROOM_1 640
|
|
#define BLK_BLOCKGOLD 656
|
|
#define BLK_BLOCKIRON 672
|
|
#define BLK_STONESLAB 688
|
|
#define BLK_STONESLAB_1 689
|
|
#define BLK_STONESLAB_2 690
|
|
#define BLK_STONESLAB_3 691
|
|
#define BLK_STONESLAB_4 692
|
|
#define BLK_STONESLAB_5 693
|
|
#define BLK_STONESLAB_6 694
|
|
#define BLK_STONESLAB_7 695
|
|
#define BLK_STONESLAB_8 697
|
|
#define BLK_STONESLAB_9 698
|
|
#define BLK_STONESLAB_10 699
|
|
#define BLK_STONESLAB_11 700
|
|
#define BLK_STONESLAB_12 701
|
|
#define BLK_STONESLAB_13 702
|
|
#define BLK_STONESLAB_14 703
|
|
#define BLK_STONESLAB_STONE 704
|
|
#define BLK_STONESLAB_SAND 705
|
|
#define BLK_STONESLAB_WOOD 706
|
|
#define BLK_STONESLAB_COBBLE 707
|
|
#define BLK_STONESLAB_BRICK 708
|
|
#define BLK_STONESLAB_SMOOTHSTONEBRICK 709
|
|
#define BLK_STONESLAB_NETHERBRICK 710
|
|
#define BLK_STONESLAB_QUARTZ 711
|
|
#define BLK_STONESLAB_STONE_1 713
|
|
#define BLK_STONESLAB_STONE_2 714
|
|
#define BLK_STONESLAB_STONE_3 715
|
|
#define BLK_STONESLAB_STONE_4 716
|
|
#define BLK_STONESLAB_STONE_5 717
|
|
#define BLK_STONESLAB_STONE_6 718
|
|
#define BLK_STONESLAB_STONE_7 719
|
|
#define BLK_BRICK 720
|
|
#define BLK_TNT 736
|
|
#define BLK_BOOKSHELF 752
|
|
#define BLK_STONEMOSS 768
|
|
#define BLK_OBSIDIAN 784
|
|
#define BLK_TORCH 800
|
|
#define BLK_FIRE 816
|
|
#define BLK_MOBSPAWNER 832
|
|
#define BLK_STAIRSWOOD 848
|
|
#define BLK_CHEST 864
|
|
#define BLK_REDSTONEDUST 880
|
|
#define BLK_OREDIAMOND 896
|
|
#define BLK_BLOCKDIAMOND 912
|
|
#define BLK_WORKBENCH 928
|
|
#define BLK_CROPS 944
|
|
#define BLK_CROPS_1 951
|
|
#define BLK_FARMLAND 960
|
|
#define BLK_FURNACE 976
|
|
#define BLK_FURNACE_1 992
|
|
#define BLK_SIGN 1008
|
|
#define BLK_DOOROAK 1024
|
|
#define BLK_LADDER 1040
|
|
#define BLK_RAIL 1056
|
|
#define BLK_STAIRSSTONE 1072
|
|
#define BLK_SIGN_1 1088
|
|
#define BLK_LEVER 1104
|
|
#define BLK_PRESSUREPLATESTONE 1120
|
|
#define BLK_DOORIRON 1136
|
|
#define BLK_PRESSUREPLATEWOOD 1152
|
|
#define BLK_OREREDSTONE 1168
|
|
#define BLK_OREREDSTONE_1 1184
|
|
#define BLK_NOTGATE 1200
|
|
#define BLK_NOTGATE_1 1216
|
|
#define BLK_BUTTON 1232
|
|
#define BLK_SNOW 1248
|
|
#define BLK_ICE 1264
|
|
#define BLK_SNOW_1 1280
|
|
#define BLK_CACTUS 1296
|
|
#define BLK_CLAY 1312
|
|
#define BLK_REEDS 1328
|
|
#define BLK_JUKEBOX 1344
|
|
#define BLK_FENCE 1360
|
|
#define BLK_PUMPKIN 1376
|
|
#define BLK_HELLROCK 1392
|
|
#define BLK_HELLSAND 1408
|
|
#define BLK_LIGHTGEM 1424
|
|
#define BLK_PORTAL 1440
|
|
#define BLK_LITPUMPKIN 1456
|
|
#define BLK_CAKE 1472
|
|
#define BLK_DIODE 1488
|
|
#define BLK_DIODE_1 1504
|
|
#define BLK_STAINEDGLASS_WHITE 1520
|
|
#define BLK_STAINEDGLASS_ORANGE 1521
|
|
#define BLK_STAINEDGLASS_MAGENTA 1522
|
|
#define BLK_STAINEDGLASS_LIGHTBLUE 1523
|
|
#define BLK_STAINEDGLASS_YELLOW 1524
|
|
#define BLK_STAINEDGLASS_LIME 1525
|
|
#define BLK_STAINEDGLASS_PINK 1526
|
|
#define BLK_STAINEDGLASS_GRAY 1527
|
|
#define BLK_STAINEDGLASS_SILVER 1528
|
|
#define BLK_STAINEDGLASS_CYAN 1529
|
|
#define BLK_STAINEDGLASS_PURPLE 1530
|
|
#define BLK_STAINEDGLASS_BLUE 1531
|
|
#define BLK_STAINEDGLASS_BROWN 1532
|
|
#define BLK_STAINEDGLASS_GREEN 1533
|
|
#define BLK_STAINEDGLASS_RED 1534
|
|
#define BLK_STAINEDGLASS_BLACK 1535
|
|
#define BLK_TRAPDOOR 1536
|
|
#define BLK_MONSTERSTONEEGG_STONE 1552
|
|
#define BLK_MONSTERSTONEEGG_COBBLE 1553
|
|
#define BLK_MONSTERSTONEEGG_BRICK 1554
|
|
#define BLK_MONSTERSTONEEGG_MOSSYBRICK 1555
|
|
#define BLK_MONSTERSTONEEGG_CRACKEDBRICK 1556
|
|
#define BLK_MONSTERSTONEEGG_CHISELEDBRICK 1557
|
|
#define BLK_STONEBRICKSMOOTH 1568
|
|
#define BLK_STONEBRICKSMOOTH_MOSSY 1569
|
|
#define BLK_STONEBRICKSMOOTH_CRACKED 1570
|
|
#define BLK_STONEBRICKSMOOTH_CHISELED 1571
|
|
#define BLK_MUSHROOM_2 1584
|
|
#define BLK_MUSHROOM_3 1600
|
|
#define BLK_FENCEIRON 1616
|
|
#define BLK_THINGLASS 1632
|
|
#define BLK_MELON 1648
|
|
#define BLK_PUMPKINSTEM 1664
|
|
#define BLK_PUMPKINSTEM_1 1680
|
|
#define BLK_VINE 1696
|
|
#define BLK_FENCEGATE 1712
|
|
#define BLK_STAIRSBRICK 1728
|
|
#define BLK_STAIRSSTONEBRICKSMOOTH 1744
|
|
#define BLK_MYCEL 1760
|
|
#define BLK_WATERLILY 1776
|
|
#define BLK_NETHERBRICK 1792
|
|
#define BLK_NETHERFENCE 1808
|
|
#define BLK_STAIRSNETHERBRICK 1824
|
|
#define BLK_NETHERSTALK 1840
|
|
#define BLK_ENCHANTMENTTABLE 1856
|
|
#define BLK_BREWINGSTAND 1872
|
|
#define BLK_CAULDRON 1888
|
|
#define BLK_NULL_1 1904
|
|
#define BLK_ENDPORTALFRAME 1920
|
|
#define BLK_WHITESTONE 1936
|
|
#define BLK_DRAGONEGG 1952
|
|
#define BLK_REDSTONELIGHT 1968
|
|
#define BLK_REDSTONELIGHT_1 1984
|
|
#define BLK_WOODSLAB 2000
|
|
#define BLK_WOODSLAB_1 2001
|
|
#define BLK_WOODSLAB_2 2002
|
|
#define BLK_WOODSLAB_3 2003
|
|
#define BLK_WOODSLAB_4 2004
|
|
#define BLK_WOODSLAB_5 2005
|
|
#define BLK_WOODSLAB_6 2009
|
|
#define BLK_WOODSLAB_7 2010
|
|
#define BLK_WOODSLAB_8 2011
|
|
#define BLK_WOODSLAB_9 2012
|
|
#define BLK_WOODSLAB_10 2013
|
|
#define BLK_WOODSLAB_OAK 2016
|
|
#define BLK_WOODSLAB_SPRUCE 2017
|
|
#define BLK_WOODSLAB_BIRCH 2018
|
|
#define BLK_WOODSLAB_JUNGLE 2019
|
|
#define BLK_WOODSLAB_ACACIA 2020
|
|
#define BLK_WOODSLAB_BIG_OAK 2021
|
|
#define BLK_WOODSLAB_OAK_1 2025
|
|
#define BLK_WOODSLAB_OAK_2 2026
|
|
#define BLK_WOODSLAB_OAK_3 2027
|
|
#define BLK_WOODSLAB_OAK_4 2028
|
|
#define BLK_WOODSLAB_OAK_5 2029
|
|
#define BLK_COCOA 2032
|
|
#define BLK_STAIRSSANDSTONE 2048
|
|
#define BLK_OREEMERALD 2064
|
|
#define BLK_ENDERCHEST 2080
|
|
#define BLK_TRIPWIRESOURCE 2096
|
|
#define BLK_TRIPWIRE 2112
|
|
#define BLK_BLOCKEMERALD 2128
|
|
#define BLK_STAIRSWOODSPRUCE 2144
|
|
#define BLK_STAIRSWOODBIRCH 2160
|
|
#define BLK_STAIRSWOODJUNGLE 2176
|
|
#define BLK_COMMANDBLOCK 2192
|
|
#define BLK_BEACON 2208
|
|
#define BLK_COBBLEWALL_NORMAL 2224
|
|
#define BLK_COBBLEWALL_MOSSY 2225
|
|
#define BLK_FLOWERPOT 2240
|
|
#define BLK_CARROTS 2256
|
|
#define BLK_POTATOES 2272
|
|
#define BLK_BUTTON_1 2288
|
|
#define BLK_SKULL 2304
|
|
#define BLK_ANVIL 2320
|
|
#define BLK_CHESTTRAP 2336
|
|
#define BLK_WEIGHTEDPLATE_LIGHT 2352
|
|
#define BLK_WEIGHTEDPLATE_HEAVY 2368
|
|
#define BLK_COMPARATOR 2384
|
|
#define BLK_COMPARATOR_1 2400
|
|
#define BLK_DAYLIGHTDETECTOR 2416
|
|
#define BLK_BLOCKREDSTONE 2432
|
|
#define BLK_NETHERQUARTZ 2448
|
|
#define BLK_HOPPER 2464
|
|
#define BLK_QUARTZBLOCK 2480
|
|
#define BLK_QUARTZBLOCK_CHISELED 2481
|
|
#define BLK_QUARTZBLOCK_LINES 2482
|
|
#define BLK_QUARTZBLOCK_1 2483
|
|
#define BLK_QUARTZBLOCK_2 2484
|
|
#define BLK_STAIRSQUARTZ 2496
|
|
#define BLK_ACTIVATORRAIL 2512
|
|
#define BLK_DROPPER 2528
|
|
#define BLK_CLAYHARDENEDSTAINED_WHITE 2544
|
|
#define BLK_CLAYHARDENEDSTAINED_ORANGE 2545
|
|
#define BLK_CLAYHARDENEDSTAINED_MAGENTA 2546
|
|
#define BLK_CLAYHARDENEDSTAINED_LIGHTBLUE 2547
|
|
#define BLK_CLAYHARDENEDSTAINED_YELLOW 2548
|
|
#define BLK_CLAYHARDENEDSTAINED_LIME 2549
|
|
#define BLK_CLAYHARDENEDSTAINED_PINK 2550
|
|
#define BLK_CLAYHARDENEDSTAINED_GRAY 2551
|
|
#define BLK_CLAYHARDENEDSTAINED_SILVER 2552
|
|
#define BLK_CLAYHARDENEDSTAINED_CYAN 2553
|
|
#define BLK_CLAYHARDENEDSTAINED_PURPLE 2554
|
|
#define BLK_CLAYHARDENEDSTAINED_BLUE 2555
|
|
#define BLK_CLAYHARDENEDSTAINED_BROWN 2556
|
|
#define BLK_CLAYHARDENEDSTAINED_GREEN 2557
|
|
#define BLK_CLAYHARDENEDSTAINED_RED 2558
|
|
#define BLK_CLAYHARDENEDSTAINED_BLACK 2559
|
|
#define BLK_THINSTAINEDGLASS_WHITE 2560
|
|
#define BLK_THINSTAINEDGLASS_ORANGE 2561
|
|
#define BLK_THINSTAINEDGLASS_MAGENTA 2562
|
|
#define BLK_THINSTAINEDGLASS_LIGHTBLUE 2563
|
|
#define BLK_THINSTAINEDGLASS_YELLOW 2564
|
|
#define BLK_THINSTAINEDGLASS_LIME 2565
|
|
#define BLK_THINSTAINEDGLASS_PINK 2566
|
|
#define BLK_THINSTAINEDGLASS_GRAY 2567
|
|
#define BLK_THINSTAINEDGLASS_SILVER 2568
|
|
#define BLK_THINSTAINEDGLASS_CYAN 2569
|
|
#define BLK_THINSTAINEDGLASS_PURPLE 2570
|
|
#define BLK_THINSTAINEDGLASS_BLUE 2571
|
|
#define BLK_THINSTAINEDGLASS_BROWN 2572
|
|
#define BLK_THINSTAINEDGLASS_GREEN 2573
|
|
#define BLK_THINSTAINEDGLASS_RED 2574
|
|
#define BLK_THINSTAINEDGLASS_BLACK 2575
|
|
#define BLK_LEAVES_ACACIA 2576
|
|
#define BLK_LEAVES_BIG_OAK 2577
|
|
#define BLK_LEAVES_ACACIA_1 2580
|
|
#define BLK_LEAVES_BIG_OAK_1 2581
|
|
#define BLK_LEAVES_ACACIA_2 2584
|
|
#define BLK_LEAVES_BIG_OAK_2 2585
|
|
#define BLK_LEAVES_ACACIA_3 2588
|
|
#define BLK_LEAVES_BIG_OAK_3 2589
|
|
#define BLK_LOG_ACACIA_1 2592
|
|
#define BLK_LOG_BIG_OAK_1 2593
|
|
#define BLK_LOG_OAK_9 2596
|
|
#define BLK_LOG_OAK_10 2597
|
|
#define BLK_LOG_OAK_11 2600
|
|
#define BLK_LOG_OAK_12 2601
|
|
#define BLK_LOG_OAK_13 2604
|
|
#define BLK_LOG_OAK_14 2605
|
|
#define BLK_STAIRSWOODACACIA 2608
|
|
#define BLK_STAIRSWOODDARKOAK 2624
|
|
#define BLK_SLIME 2640
|
|
#define BLK_BARRIER 2656
|
|
#define BLK_IRONTRAPDOOR 2672
|
|
#define BLK_PRISMARINE_ROUGH 2688
|
|
#define BLK_PRISMARINE_BRICKS 2689
|
|
#define BLK_PRISMARINE_DARK 2690
|
|
#define BLK_SEALANTERN 2704
|
|
#define BLK_HAYBLOCK 2720
|
|
#define BLK_WOOLCARPET_WHITE 2736
|
|
#define BLK_WOOLCARPET_ORANGE 2737
|
|
#define BLK_WOOLCARPET_MAGENTA 2738
|
|
#define BLK_WOOLCARPET_LIGHTBLUE 2739
|
|
#define BLK_WOOLCARPET_YELLOW 2740
|
|
#define BLK_WOOLCARPET_LIME 2741
|
|
#define BLK_WOOLCARPET_PINK 2742
|
|
#define BLK_WOOLCARPET_GRAY 2743
|
|
#define BLK_WOOLCARPET_SILVER 2744
|
|
#define BLK_WOOLCARPET_CYAN 2745
|
|
#define BLK_WOOLCARPET_PURPLE 2746
|
|
#define BLK_WOOLCARPET_BLUE 2747
|
|
#define BLK_WOOLCARPET_BROWN 2748
|
|
#define BLK_WOOLCARPET_GREEN 2749
|
|
#define BLK_WOOLCARPET_RED 2750
|
|
#define BLK_WOOLCARPET_BLACK 2751
|
|
#define BLK_CLAYHARDENED 2752
|
|
#define BLK_BLOCKCOAL 2768
|
|
#define BLK_ICEPACKED 2784
|
|
#define BLK_DOUBLEPLANT_SUNFLOWER 2800
|
|
#define BLK_DOUBLEPLANT_SYRINGA 2801
|
|
#define BLK_DOUBLEPLANT_GRASS 2802
|
|
#define BLK_DOUBLEPLANT_FERN 2803
|
|
#define BLK_DOUBLEPLANT_ROSE 2804
|
|
#define BLK_DOUBLEPLANT_PAEONIA 2805
|
|
#define BLK_DOUBLEPLANT_SUNFLOWER_1 2808
|
|
#define BLK_DOUBLEPLANT_SUNFLOWER_2 2809
|
|
#define BLK_DOUBLEPLANT_SUNFLOWER_3 2810
|
|
#define BLK_DOUBLEPLANT_SUNFLOWER_4 2811
|
|
#define BLK_DOUBLEPLANT_SUNFLOWER_5 2812
|
|
#define BLK_DOUBLEPLANT_SUNFLOWER_6 2813
|
|
#define BLK_DOUBLEPLANT_SUNFLOWER_7 2814
|
|
#define BLK_DOUBLEPLANT_SUNFLOWER_8 2815
|
|
#define BLK_BANNER 2816
|
|
#define BLK_BANNER_1 2832
|
|
#define BLK_DAYLIGHTDETECTOR_1 2848
|
|
#define BLK_REDSANDSTONE 2864
|
|
#define BLK_REDSANDSTONE_CHISELED 2865
|
|
#define BLK_REDSANDSTONE_SMOOTH 2866
|
|
#define BLK_STAIRSREDSANDSTONE 2880
|
|
#define BLK_STONESLAB2 2896
|
|
#define BLK_STONESLAB2_RED_SANDSTONE 2912
|
|
#define BLK_SPRUCEFENCEGATE 2928
|
|
#define BLK_BIRCHFENCEGATE 2944
|
|
#define BLK_JUNGLEFENCEGATE 2960
|
|
#define BLK_DARKOAKFENCEGATE 2976
|
|
#define BLK_ACACIAFENCEGATE 2992
|
|
#define BLK_SPRUCEFENCE 3008
|
|
#define BLK_BIRCHFENCE 3024
|
|
#define BLK_JUNGLEFENCE 3040
|
|
#define BLK_DARKOAKFENCE 3056
|
|
#define BLK_ACACIAFENCE 3072
|
|
#define BLK_DOORSPRUCE 3088
|
|
#define BLK_DOORBIRCH 3104
|
|
#define BLK_DOORJUNGLE 3120
|
|
#define BLK_DOORACACIA 3136
|
|
#define BLK_DOORDARKOAK 3152
|
|
#define BLK_ENDROD 3168
|
|
#define BLK_CHORUSPLANT 3184
|
|
#define BLK_CHORUSFLOWER 3200
|
|
#define BLK_PURPURBLOCK 3216
|
|
#define BLK_PURPURPILLAR 3232
|
|
#define BLK_STAIRSPURPUR 3248
|
|
#define BLK_PURPURSLAB 3264
|
|
#define BLK_PURPURSLAB_1 3280
|
|
#define BLK_ENDBRICKS 3296
|
|
#define BLK_BEETROOTS 3312
|
|
#define BLK_BEETROOTS_1 3315
|
|
#define BLK_GRASSPATH 3328
|
|
#define BLK_NULL_2 3344
|
|
#define BLK_REPEATINGCOMMANDBLOCK 3360
|
|
#define BLK_CHAINCOMMANDBLOCK 3376
|
|
#define BLK_FROSTEDICE 3392
|
|
#define BLK_MAGMA 3408
|
|
#define BLK_NETHERWARTBLOCK 3424
|
|
#define BLK_REDNETHERBRICK 3440
|
|
#define BLK_BONEBLOCK 3456
|
|
#define BLK_STRUCTUREVOID 3472
|
|
#define BLK_OBSERVER 3488
|
|
#define BLK_SHULKERBOXWHITE 3504
|
|
#define BLK_SHULKERBOXORANGE 3520
|
|
#define BLK_SHULKERBOXMAGENTA 3536
|
|
#define BLK_SHULKERBOXLIGHTBLUE 3552
|
|
#define BLK_SHULKERBOXYELLOW 3568
|
|
#define BLK_SHULKERBOXLIME 3584
|
|
#define BLK_SHULKERBOXPINK 3600
|
|
#define BLK_SHULKERBOXGRAY 3616
|
|
#define BLK_SHULKERBOXSILVER 3632
|
|
#define BLK_SHULKERBOXCYAN 3648
|
|
#define BLK_SHULKERBOXPURPLE 3664
|
|
#define BLK_SHULKERBOXBLUE 3680
|
|
#define BLK_SHULKERBOXBROWN 3696
|
|
#define BLK_SHULKERBOXGREEN 3712
|
|
#define BLK_SHULKERBOXRED 3728
|
|
#define BLK_SHULKERBOXBLACK 3744
|
|
#define BLK_STRUCTUREBLOCK 4080
|
|
|
|
struct block_material {
|
|
char* name;
|
|
uint8_t flammable;
|
|
uint8_t replacable;
|
|
uint8_t requiresnotool;
|
|
uint8_t mobility;
|
|
uint8_t adventure_exempt;
|
|
uint8_t liquid;
|
|
uint8_t solid;
|
|
uint8_t blocksLight;
|
|
uint8_t blocksMovement;
|
|
uint8_t opaque;
|
|
};
|
|
|
|
struct block_material* getBlockMaterial(char* name);
|
|
|
|
struct block_info* getBlockInfo(block b);
|
|
|
|
struct block_info* getBlockInfoLoose(block b);
|
|
|
|
uint8_t getFaceFromPlayer(struct player* player);
|
|
|
|
item getItemFromName(const char* name);
|
|
|
|
struct block_info {
|
|
int (*onBlockDestroyed)(struct world* world, block blk, int32_t x, int32_t y, int32_t z, block replacedBy);
|
|
int (*onBlockDestroyedPlayer)(struct player* player, struct world* world, block blk, int32_t x, int32_t y, int32_t z);
|
|
block (*onBlockPlaced)(struct world* world, block blk, int32_t x, int32_t y, int32_t z, block replaced);
|
|
block (*onBlockPlacedPlayer)(struct player* player, struct world* world, block blk, int32_t x, int32_t y, int32_t z, uint8_t face);
|
|
void (*onBlockInteract)(struct world* world, block blk, int32_t x, int32_t y, int32_t z, struct player* player, uint8_t face, float curPosX, float curPosY, float curPosZ);
|
|
void (*onBlockCollide)(struct world* world, block blk, int32_t x, int32_t y, int32_t z, struct entity* entity);
|
|
void (*onBlockUpdate)(struct world* world, block blk, int32_t x, int32_t y, int32_t z);
|
|
void (*dropItems)(struct world* world, block blk, int32_t x, int32_t y, int32_t z, int fortune);
|
|
int (*canBePlaced)(struct world* world, block blk, int32_t x, int32_t y, int32_t z);
|
|
void (*randomTick)(struct world* world, struct chunk* ch, block blk, int32_t x, int32_t y, int32_t z);
|
|
int (*scheduledTick)(struct world* world, block blk, int32_t x, int32_t y, int32_t z);
|
|
struct boundingbox* boundingBoxes;
|
|
size_t boundingBox_count;
|
|
float hardness;
|
|
struct block_material* material;
|
|
float slipperiness;
|
|
item drop;
|
|
int16_t drop_damage;
|
|
uint8_t drop_min;
|
|
uint8_t drop_max;
|
|
uint8_t fullCube;
|
|
uint8_t canProvidePower;
|
|
uint8_t lightOpacity;
|
|
uint8_t lightEmission;
|
|
float resistance;
|
|
};
|
|
|
|
int falling_canFallThrough(block b);
|
|
|
|
int isNormalCube(struct block_info* bi);
|
|
|
|
void init_materials();
|
|
|
|
void init_blocks();
|
|
|
|
size_t getBlockSize();
|
|
|
|
void add_block_material(struct block_material* bm);
|
|
|
|
void add_block_info(block blk, struct block_info* bm);
|
|
|
|
void onBlockInteract_workbench(struct world* world, block blk, int32_t x, int32_t y, int32_t z, struct player* player, uint8_t face, float curPosX, float curPosY, float curPosZ);
|
|
|
|
void onBlockInteract_chest(struct world* world, block blk, int32_t x, int32_t y, int32_t z, struct player* player, uint8_t face, float curPosX, float curPosY, float curPosZ);
|
|
|
|
void onBlockInteract_furnace(struct world* world, block blk, int32_t x, int32_t y, int32_t z, struct player* player, uint8_t face, float curPosX, float curPosY, float curPosZ);
|
|
|
|
void update_furnace(struct world* world, struct tile_entity* te);
|
|
|
|
int onBlockDestroyed_chest(struct world* world, block blk, int32_t x, int32_t y, int32_t z, block replacedBy);
|
|
|
|
int onBlockDestroyed_furnace(struct world* world, block blk, int32_t x, int32_t y, int32_t z, block replacedBy);
|
|
|
|
int canBePlaced_reeds(struct world* world, block blk, int32_t x, int32_t y, int32_t z);
|
|
|
|
void randomTick_sapling(struct world* world, struct chunk* chunk, block blk, int32_t x, int32_t y, int32_t z);
|
|
|
|
#endif /* BLOCK_H_ */
|