12 Commits

Author SHA1 Message Date
ShockedPlot7560
6482aa7c64
Block: introduce logic for face support types (#4886)
fixes #4856
fixes #458
fixes #4529
fixes #3299

Added API method Block::getSupportType(Facing) : SupportType
Added SupportType enum
fixes torch, lantern, door etc. placement on slabs and upside-down stairs
2022-05-20 15:18:34 +01:00
Dylan K. Taylor
79d1feff9c
Replace disallowed operators in src/block/ 2022-01-20 16:57:09 +00:00
SalmonDE
7fd712c1ff
Refactor Block & Tile: getPos() to getPosition() (#4395)
this also changes the name of the class property 'pos' to 'position' as well as Block->getPosOffset() to Block->getPositionOffset()
2021-08-23 14:01:32 +01:00
Dylan K. Taylor
bdac98beaf
Block: get rid of getNonPersistentStateBitmask(), add writeStateToItemMeta()
this is more flexible and less confusing.
2021-08-02 19:17:24 +01:00
Dylan K. Taylor
7a35fdb1bb
Allow Blocks to specify their max stack size 2021-06-30 19:28:16 +01:00
Dylan K. Taylor
9e79d48aeb
BaseBanner: use ColoredTrait 2021-06-30 16:07:45 +01:00
Dylan K. Taylor
f68b9e79e1
Use typed properties in block namespace 2021-05-22 23:52:31 +01:00
Dylan K. Taylor
376d2c4cd4
Consistently declare BlockBreakInfo at the constructor call site
instead of inside the class
2021-05-20 22:49:51 +01:00
Dylan K. Taylor
a44203a3d4
Separate BannerPatternLayer from BannerPatternType 2021-04-28 12:47:42 +01:00
Dylan K. Taylor
a9f8afa077
Banner: remove Deque usages
originally I introduced this to make it easier to implement the various APIs addPattern removePattern etc, but those were later removed in favour of simple getPatterns() and setPatterns(), allowing plugin developers to use ext-ds APIs to manipulate patterns.
However, ds poses a number of headaches because of mutability combined with by-ref semantics, which make it a pain to use these on the APIs because we can't guarantee that they won't be modified.
As much as arrays suck, they have two significant advantages over ext-ds: 1) they have copy-on-write semantics, and 2) they support PHP 8.0 without any extra work from me.
2021-01-15 00:17:56 +00:00
Dylan K. Taylor
4c0c2ebd24 CS cleanup 2020-10-26 15:56:30 +00:00
Dylan K. Taylor
7f9c4355f0 Revert back to floor/wall banner variants
this code largely duplicates the same code in FloorSign/WallSign and needs to be de-duplicated.
2020-10-04 19:05:43 +01:00