46 Commits

Author SHA1 Message Date
Dylan K. Taylor
ae564e445d
Start migrating EnumTrait enums to PHP 8.1 native enums 2023-09-07 17:20:52 +01:00
Dylan K. Taylor
ab75838c89
First shot at implementing acacia trees
this is mostly working, but due to some issue with leaf decay, the edges of the larger canopy will decay within minutes.

I don't know why this is yet, but it's likely some incorrect implementation of Leaves causing the problem.

In addition, the secondary branch of acacia may generate next to the base block of the trunk, which I've never observed to happen in vanilla. This has a 2% chance of occurring, so I haven't been able to rule it out yet, but it probably shouldn't happen.
2023-06-10 18:35:42 +01:00
Dylan K. Taylor
2c81446e5b
Move TreeType to generator package, added dedicated SaplingType enum
TreeType includes a bunch of stuff that don't have regular saplings associated with them, such as mangrove and azalea trees.
Mangrove has a dedicated propagule block with different behaviour than the others, and azalea trees are grown from azalea blocks, which are solid and have different behaviour to saplings.

We may also want to account for crimson and warped 'trees' in TreeType too, although I'm not sure if those belong there or not.
2023-05-04 16:54:10 +01:00
Dylan K. Taylor
6c0ad9589b
Block: rename isSameType() to hasSameTypeId()
this should remove any ambiguity about its behaviour.
2023-04-21 20:25:21 +01:00
Dylan K. Taylor
1ff69136a3
Merge branch 'next-major' into modern-world-support 2022-06-07 20:01:40 +01:00
Dylan K. Taylor
aa9f8781ff
Merge branch 'next-minor' into next-major 2022-06-07 19:56:26 +01:00
Dylan K. Taylor
d2613039ed
Replace BlockLegacyIds usages with BlockTypeIds where possible 2022-06-05 21:17:10 +01:00
Dylan K. Taylor
083a35f970
Modernize property type declarations 2022-06-04 18:16:32 +01:00
Dylan K. Taylor
38d6284671
Use PHP-CS-Fixer to enforce file header presence 2022-06-04 17:34:49 +01:00
Dylan K. Taylor
b88a47929f
Modernize property declarations in src/world/* 2022-04-28 15:06:17 +01:00
Dylan K. Taylor
aae5962f6a
Replace disallowed operators in src/world/ 2022-01-20 19:05:23 +00:00
Dylan K. Taylor
e0d6357eb7
OreType: use promoted constructo properties 2021-08-30 00:18:34 +01:00
Dylan K. Taylor
6c1fec8a29
Tree: renamed generateChunkHeight to generateTrunkHeight
I guess it must have been late at night when I originally wrote this code.
2021-08-27 20:32:07 +01:00
Dylan K. Taylor
beba0ffe15
Remove circular dependency between Tree and its children 2021-08-27 20:25:21 +01:00
Dylan K. Taylor
4778c1483a
Tree: fixed formatting error 2021-08-27 20:14:31 +01:00
Colin
8f89c04c51
Refactor Tree classes (#4407) 2021-08-27 20:11:05 +01:00
Colin
4189fbdaef
Added StructureGrowEvent (#4354)
This event is currently fired for tree and bamboo growth. Its intended use is for any plant growth that affects multiple blocks at once.

TODO: We could explore using this for cacti and sugarcane?
2021-08-25 14:05:30 +01:00
Dylan K. Taylor
aa682a865e Allow injecting arbitrary preimage block for ore generation
this will be useful for nether ore generation.
2020-08-06 12:46:07 +01:00
Dylan K. Taylor
fb1126797a Merge branch 'stable' 2020-02-07 18:13:55 +00:00
Dylan K. Taylor
055b13a6cf strip extra blank lines (php-cs-fixer) 2020-01-22 15:14:10 +00:00
Dylan K. Taylor
67bcc1c0fb phpdoc armageddon for master, pass 1 2020-01-22 11:55:03 +00:00
Dylan K. Taylor
5499ac620c Removed pocketmine subdirectory, map PSR-4 style 2019-07-30 19:14:57 +01:00
Shoghi Cervantes
5ea31b57ce First step to namespaces 2014-03-05 23:43:16 +01:00
Shoghi Cervantes
23b8fc32ff removed DocBlock header for logo 2014-03-05 11:15:47 +01:00
Shoghi Cervantes
a529e7566a Removed not needed network steps, corrected slot methods 2014-03-05 00:54:12 +01:00
Shoghi Cervantes
f1b5f83fd4 Lots of typos fixed, undefined variables, unused code 2014-02-19 01:55:42 +01:00
Shoghi Cervantes
da554fbf23 Fixed Trees 2014-02-14 00:25:44 +01:00
Shoghi Cervantes
f8b270e33f such fix. I even made a regular expression to find these 2014-01-28 12:50:24 +01:00
Shoghi Cervantes
4002d3013d More OCD 2014-01-28 11:36:18 +01:00
Shoghi Cervantes
6e9b70c9cb Better Tall Grass generation with bonemeal 2013-11-26 13:32:19 +01:00
Shoghi Cervantes
3968f3b298 Jungle Tree generation placeholder 2013-11-24 15:12:31 +01:00
Shoghi Cervantes
b3c51c6d2e Faster level generator 2013-09-09 03:32:24 +02:00
Shoghi Cervantes
a21bb5ab6d Revert "Revert "Roll back""
This reverts commit e1e804ffe35f9e6c6411b8ed6425af3f8e72f608.
2013-08-29 18:52:12 +02:00
Shoghi Cervantes
e1e804ffe3 Revert "Roll back"
This reverts commit 29504c09f263e73492c6ffecea201a81dcf3591d.
2013-08-28 20:55:58 +02:00
Shoghi Cervantes
093b86fa43 Fixed URL 2013-08-27 19:16:11 +02:00
Shoghi Cervantes
36ff8331b7 Updated headers 2013-08-27 18:16:57 +02:00
Shoghi Cervantes
579175b3bc Ore Generation 2013-06-10 17:11:04 +02:00
Shoghi Cervantes
8bf10c523e Fixed Level Generation block updates 2013-06-04 20:08:14 +02:00
Shoghi Cervantes
7622151a21 Pine & Spruce trees fixed 2013-05-26 13:36:33 +02:00
Shoghi Cervantes
aefcfad296 Added more features to the World Generator 2013-05-26 13:22:22 +02:00
Greyson Fischer
c29d3a3e56 Better (more original) looking trees 2013-05-21 14:03:42 -04:00
Shoghi Cervantes Pueyo
f485124190 Fixed #257 2013-05-18 19:12:50 +02:00
Shoghi Cervantes Pueyo
e81d68c8d0 Added trees to teh SuperflatGenerator 2013-05-18 11:02:00 +02:00
Shoghi Cervantes Pueyo
244fde8143 Chunk unloading 2013-05-15 23:30:43 +02:00
Shoghi Cervantes Pueyo
3f532d419c Saplings 2013-05-15 23:30:43 +02:00
Shoghi Cervantes Pueyo
874571d572 Changes made to be compatible with the DevTools plugin 2013-02-14 20:37:16 +01:00