624 Commits

Author SHA1 Message Date
Dylan K. Taylor
5c4288de01
block/Light: fixed placement when clicking on another light block
closes #5132
2022-07-06 14:23:32 +01:00
Alexey
494cb580f3
Add sound after wood stripping (#5124) 2022-07-06 14:06:52 +01:00
Dylan K. Taylor
fe93609c8d
Added mud bricks and related blocks 2022-07-06 00:02:51 +01:00
Dylan K. Taylor
ebe6782295
Remove TODO comment 2022-07-05 23:37:55 +01:00
Dylan K. Taylor
638d03846c
Added blast resistance for cobbled and polished deepslate 2022-07-05 23:11:12 +01:00
Dylan K. Taylor
f57cd95ad5
Added blast resistances to some blocks
following values extracted from BDS
2022-07-05 23:02:04 +01:00
Dylan K. Taylor
d725ded7b6
Added new ores 2022-07-05 21:43:47 +01:00
Dylan K. Taylor
e5b038ebcd
Lava: implement basalt generators 2022-07-05 20:50:11 +01:00
Dylan K. Taylor
a42bb9626d
Added another handful of blocks
clearing out my workspace...
2022-07-05 20:42:22 +01:00
Dylan K. Taylor
412dcaa744
Implemented crimson, warped and mangrove signs 2022-07-05 16:18:54 +01:00
Dylan K. Taylor
6be92ea6f7
fix CS 2022-07-05 14:14:27 +01:00
Dylan K. Taylor
325f1cf82e
Generalize runtime block data serialization
we want to reuse this code for item type data
2022-07-05 14:13:37 +01:00
Dylan K. Taylor
0a23e91329
Rename BlockFactory::fromFullBlock() -> BlockFactory::fromStateId() 2022-07-05 13:46:19 +01:00
Dylan K. Taylor
a059d03b37
Remove BlockFactory::get(), optimise fromFullBlock() pathway 2022-07-05 13:43:26 +01:00
Dylan K. Taylor
bd773c2f84
VanillaBlocks: use BlockFactory::fromTypeId() 2022-07-05 13:40:07 +01:00
Dylan K. Taylor
d9544b5d0e
Added soul fire 2022-07-04 22:32:35 +01:00
Dylan K. Taylor
cbebb70af6
Planks: remove useless constructor 2022-07-03 19:58:04 +01:00
Dylan K. Taylor
6604d22ceb
BlockLegacyIdHelper: clean up code 2022-07-03 19:53:34 +01:00
Dylan K. Taylor
dd615c775d
Added various blocks made from mangrove, crimson and warped wood 2022-07-03 19:01:34 +01:00
Dylan K. Taylor
33eef99d1f
Added axis support for all-sided logs 2022-07-03 17:27:25 +01:00
Dylan K. Taylor
3e7d34c8ad
BlockFactory: remove TODO list
we're tracking this somewhere else now
2022-07-03 14:33:42 +01:00
Dylan K. Taylor
e302e5a85f
Implemented chiseled deepslate, chiseled nether brick and cracked nether brick 2022-07-03 03:04:06 +01:00
Dylan K. Taylor
4acf7aadbd
Added quartz bricks 2022-07-03 02:11:50 +01:00
Dylan K. Taylor
a3016abf53
Added polished deepslate block/slab/stair/wall 2022-07-03 02:00:43 +01:00
Dylan K. Taylor
89632f3514
Added deepslate, cobbled/tiles/bricks walls/slabs/stairs/cubes 2022-07-03 01:43:27 +01:00
Dylan K. Taylor
c7ba791ff8
Block: remove obsolete note from Block::isSameType() 2022-07-03 00:49:57 +01:00
Dylan K. Taylor
db9c7de35c
Remove obsolete shim items for Bed and Skull
now that the colour and skull type are included in the block type data, it's no longer necessary to maintain shim items to retain this information in the item data.
2022-07-03 00:47:42 +01:00
Dylan K. Taylor
3f937605ac
Added calcite 2022-07-02 23:54:51 +01:00
Dylan K. Taylor
0e0b858b69
Added raw copper, gold and iron blocks 2022-07-02 23:17:10 +01:00
Dylan K. Taylor
0d0296d535
Light block brightness can be changed by right-clicking on it 2022-07-02 22:48:10 +01:00
Dylan K. Taylor
2a0fade893
Implemented Light blocks 2022-07-02 22:39:11 +01:00
Dylan K. Taylor
30149c6ed4
wtf happened here ... 2022-07-02 22:06:47 +01:00
Dylan K. Taylor
172214386a
Added a batch of simple blocks from 1.16 and 1.17 2022-07-02 21:53:59 +01:00
Dylan K. Taylor
ff90c83d66
Implemented log stripping via axe right-click 2022-07-02 19:16:15 +01:00
Dylan K. Taylor
248eacd042
GlazedTerracotta: make colour dynamic, like all other coloured blocks
made possible by stripping out legacy mess
2022-07-02 18:30:23 +01:00
Dylan K. Taylor
7430e1fbc0
Coral: remove obsolete workaround 2022-07-02 17:51:48 +01:00
Dylan K. Taylor
b125d4d25f
Strip all remaining legacy item ID/meta stuff from blocks
the doors are now finally open, we can:
- make all the wood types dynamic
- fix glazed terracotta
- add all the new blocks

LET'S GOOOOOOOOOOOO
2022-07-02 17:48:11 +01:00
Dylan K. Taylor
323c563684
Break Block's dependence on ItemFactory, and item legacy IDs
let's GOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
2022-07-02 17:29:28 +01:00
Dylan K. Taylor
9740891a2f
Move BlockLegacyMetadata to pocketmine\data package 2022-07-02 17:01:10 +01:00
Dylan K. Taylor
3792ef5a50
Move blockstate data runtime serialization to a more appropriate package 2022-07-02 16:48:41 +01:00
Dylan K. Taylor
ba079bd9aa
Avoid implicit ItemFactory reliance for blocks with special items
this hasn't yet been addressed for signs, since they are a bit of a pain in the ass.
2022-06-30 20:00:41 +01:00
Dylan K. Taylor
4bd087fc83
Fix CS 2022-06-30 19:09:49 +01:00
Dylan K. Taylor
af8f2c47f3
ShulkerBoxInventory: avoid usage of legacy ItemIds 2022-06-30 19:03:07 +01:00
Dylan K. Taylor
2a0b500010
Block: Separate encoding of type and state data
the terminology of this needs improvement, but...

the basic concept here is that 'type' data will persist on an itemstack, while 'state' data will not.

Type data consists of things like:
- Colour
- Coral type
- Wet/dry (sponges)
- Live/dead (coral)
- Wood type

State data consists of things like:
- Facing
- Axis
- Powered/unpowered
- Open/closed

In the past, with the old system, this information was separated by way of getStateBitmask(). This solution was fraught with problems, but achieved the basic goal: removing unwanted block properties from items.
2022-06-30 18:08:34 +01:00
Dylan K. Taylor
c22a840d27
Update VanillaBlocks:
for some reason some stuff was returned using non-default states
2022-06-30 17:52:07 +01:00
Dylan K. Taylor
cab56b0479
fix PHPStan 2022-06-29 17:18:44 +01:00
Dylan K. Taylor
8831dff61b
Leaves: remove ItemFactory dependency
this is ugly, but it should only be temporary while we liberate the core from legacy nastiness.
Once the liberation is complete, we'll be able to do a lot of cool stuff like making wood types dynamic.
2022-06-29 16:09:55 +01:00
Dylan K. Taylor
dd63681f94
Assign auto-generated runtime type IDs to all items 2022-06-29 13:50:58 +01:00
Dylan K. Taylor
c0e178c19c
fix CS 2022-06-27 17:15:16 +01:00
Dylan K. Taylor
2fd9b751b6
Log: remove dead code 2022-06-27 16:26:53 +01:00