13016 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
68491be847
Merge branch 'next-major' into modern-world-support 2022-05-20 11:21:35 +01:00
Dylan K. Taylor
6d941640a9
Merge branch 'stable' into next-minor 2022-05-20 11:14:59 +01:00
Dylan K. Taylor
0ea3861d43
Fixed paintings not working in newly generated worlds
Paintings would not work unless at least one entity was loaded from disk
(or saved).
2022-05-20 11:13:14 +01:00
Dylan K. Taylor
df3a69dcb7
Modernize private property declarations in Threaded classes
I previously avoided this due to being unsure of the effects; however, it's clear that we already use typed properties on Threaded things in other places anyway, and the only known issues are with uninit properties, and arrays.
2022-05-17 22:42:18 +01:00
Dylan K. Taylor
d4b7f66e15
Promote some constructors 2022-05-17 22:34:58 +01:00
Dylan K. Taylor
8e767da29e
Modernize some final remaining private property declarations 2022-05-17 21:55:57 +01:00
Dylan K. Taylor
c0b15de504
Modernize private static property declarations 2022-05-17 21:55:16 +01:00
Dylan K. Taylor
1d5430937f
Modernize private property declarations in src/timings 2022-05-17 21:54:45 +01:00
Dylan K. Taylor
9de88aa734
Modernize private property declarations in src/scheduler 2022-05-17 21:53:38 +01:00
Dylan K. Taylor
9e59819f06
Modernize private property declarations in src/resourcepacks 2022-05-17 21:52:07 +01:00
Dylan K. Taylor
c60311617d
Modernize private property declarations in src/plugin 2022-05-17 21:37:45 +01:00
Dylan K. Taylor
7bc3dcdefd
Modernize private property declarations in src/player 2022-05-17 21:36:51 +01:00
Dylan K. Taylor
22edca610c
Modernize private property declarations in src/permission 2022-05-17 21:28:42 +01:00
Dylan K. Taylor
6eac2ea7a5
Modernize private property declarations in src/network 2022-05-17 21:22:33 +01:00
Dylan K. Taylor
cd016bedce
Network: Improve typeinfo for PHPStan on bannedIps 2022-05-17 21:19:48 +01:00
Dylan K. Taylor
95ad3f16e1
Modernize private property declarations in src/item 2022-05-17 20:59:24 +01:00
Dylan K. Taylor
fb4d332d1a
Modernize private property declarations in src/inventory/transaction 2022-05-17 20:51:22 +01:00
Dylan K. Taylor
a06b9294df
Modernize private property declarations in src/inventory 2022-05-17 20:49:12 +01:00
Dylan K. Taylor
221c6b8570
Remove useless @var 2022-05-17 20:46:24 +01:00
Dylan K. Taylor
eb95e2a97e
Modernize private property declarations in src/event 2022-05-17 20:45:50 +01:00
Dylan K. Taylor
ec6769a6fc
Modernize private property declarations in src/entity 2022-05-17 20:42:17 +01:00
Dylan K. Taylor
343a12626e
Modernize private property declarations in src/data 2022-05-17 20:35:59 +01:00
Dylan K. Taylor
d11d77d328
Modernize private property declarations in src/crash 2022-05-17 20:35:24 +01:00
Dylan K. Taylor
20eb80fc9a
Modernize private property declarations in src/console 2022-05-17 20:34:55 +01:00
Dylan K. Taylor
071067effb
Fixed flower pot accepting any block 2022-05-17 20:30:02 +01:00
Duo Incure
89cc449808
Update exhaustion values for 1.18.30 (#5034) 2022-05-17 18:28:19 +01:00
ipad54
1e59679ec2
Implemented Stonecutter (#4732) 2022-05-17 16:01:03 +01:00
Dylan T
8b8560a701
Added PlayerPostChunkSendEvent (#4937)
this is primarily useful for debugging plugins, but could also be useful for other things, such as spawning fake blocks, particles, etc.
2022-05-17 15:40:01 +01:00
Dylan K. Taylor
8b1bd5b7ff
World: do not hardcode length of day in computeSunAnglePercentage() 2022-05-16 18:17:32 +01:00
Dylan K. Taylor
d807840d57
Merge branch 'next-major' into modern-world-support 2022-05-16 18:03:10 +01:00
Dylan K. Taylor
4dbac79e86
Merge branch 'stable' into next-minor 2022-05-16 18:02:25 +01:00
Dylan K. Taylor
5abc7f866a
4.3.4 is next 2022-05-16 17:50:41 +01:00
Dylan K. Taylor
9dc2a01c2e
Release 4.3.3 2022-05-16 17:50:29 +01:00
Dylan K. Taylor
2f2ffe0aa4
fix phpstan 2022-05-13 21:03:49 +01:00
Dylan K. Taylor
a75bc5d537
Mojang cannot be relied on ... 2022-05-13 20:50:38 +01:00
Dylan K. Taylor
7c3b78b0a0
ItemFactory: fix missing registration for dead coral fans
closes #5032

this is evidently not an ideal solution, and something more dynamic would be preferred so that we don't have to manually register an item for every permutation.
2022-05-13 13:53:28 +01:00
Dylan K. Taylor
1a598bdfd8
RuntimeBlockMapping: make constructor more useful
this allows providing more customisable data sources.
2022-05-12 21:20:28 +01:00
Dylan K. Taylor
e27f80fd85
Remove unused code 2022-05-12 21:06:33 +01:00
Dylan K. Taylor
4c03aabe0f
I'm going to kill myself... 2022-05-12 16:44:21 +01:00
Dylan K. Taylor
3ae9341c52
[BC break] doors don't have a powered flag in Bedrock 2022-05-12 16:43:44 +01:00
Dylan K. Taylor
d10d660a4d
fix PHPStan 2022-05-12 16:37:50 +01:00
Dylan K. Taylor
107b0e1728
CS again, kill me 2022-05-12 16:35:12 +01:00
Dylan K. Taylor
cb97f37d13
First look at modern-spec serializer/deserializer for items
this is not yet used by anything
2022-05-12 16:26:38 +01:00
Dylan K. Taylor
6c92e73b46
Switch to modernized BedrockData 2022-05-12 15:30:35 +01:00
Dylan K. Taylor
c1a01e91bf
Merge branch 'next-major' into modern-world-support 2022-05-11 20:46:32 +01:00
Dylan T
52e74296de
Stop the server if any plugin failed to load or enable (#4951)
closes #3080 

If plugins fail to load for some reason, it's highly likely that some critical functionality of the server is compromised. For example:
- if an NPC plugin fails to load, all custom entities added by that plugin will be deleted from worlds
- if a world protection plugin fails, players will be able to grief your otherwise immutable lobby map
- if a worldgen plugin fails, worlds using custom generators won't load
- if a permission plugin fails, players might have access to commands and features they aren't supposed to have
- the list goes on...

This change makes the server commit graceful suicide if any plugin fails to load for error-related reasons, including (but not limited to):
- Incompatible API version
- Missing dependencies
- Invalid plugin.yml
- Invalid main class

Plugins prevented from loading by `plugin_list.yml` are not considered errors and **are not** included in this change. If a plugin is disallowed from loading due to the `plugin_list`, the server will continue to run as if the plugin was not present.
2022-05-11 20:43:38 +01:00
Dylan K. Taylor
3b7e274c34
Server: localize 'forcing server shutdown' message 2022-05-11 14:54:29 +01:00
Dylan K. Taylor
db6abfb227
Stop the server if generators specified for new worlds are not valid
I thought I did this already in eff856d8e513a1f01eca16ab55bacf6e83399527, but it looks like my brain slipped a gear.

Without this change, it's possible to crash the server by specifying an invalid generator for the default world if it doesn't yet exist.
2022-05-11 14:35:20 +01:00
Dylan K. Taylor
60d3bddfbc
Merge branch 'next-major' into modern-world-support 2022-05-11 13:14:42 +01:00