24f749a933
Merge branch 'release/3.0' into release/3.1
2018-07-13 12:36:10 +01:00
d8cf835f92
BlockFactory: better handling for dodgy IDs
...
I thought I'd already dealt with this, but it seems not.
2018-07-13 12:31:22 +01:00
7ba6e92b6c
Merge branch 'release/3.0' into release/3.1
2018-06-23 13:04:05 +01:00
860c20109b
TNT can now be ignited by burning arrows
2018-06-23 12:54:21 +01:00
dd6b5902a6
EmeraldOre: fixed not dropping XP on break
2018-06-22 21:35:58 +01:00
87852f2fe1
EmeraldOre: remove excess indentation
2018-06-22 21:31:22 +01:00
641a5a5e23
fixed damaged anvils dropping the wrong items
...
they changed this in 1.2.13 to use regular masks instead of bitshifts. The item was fixed, but not the block.
2018-06-22 09:57:39 +01:00
ebacb8525f
SignPost: fixed possible field read on null
2018-06-22 09:12:48 +01:00
31c187f366
Bed: fixed recursion when setting state to something it already is
...
fixes #2236
2018-06-13 04:16:52 -04:00
05af87e1d4
Strip empty lines at the end of classes
2018-06-11 13:19:23 +01:00
e867427f71
Leaves: remove useless $check parameter
...
this is only written to and never read from.
2018-06-10 17:20:34 +01:00
c4c6c58615
Added some missing typehints
2018-06-10 17:18:55 +01:00
41a179e6e1
BlockFactory: fix bug in light filters which could result in negative light levels (and therefore wraparounds)
2018-06-05 18:12:45 +01:00
7b7917939a
Cleaned up Container lock handling
2018-06-03 13:42:04 +01:00
6aaaaefd2f
Make tiles less dependent on runtime NBT, use properties instead
...
This will ultimately culminate in the complete removal of runtime NBT, so plugins should also follow these steps if they have custom data.
2018-06-03 12:50:16 +01:00
ec28612a12
BlockFactory: partial revert of 515e4aabc4
...
it's necessary to register these to fill the static property arrays. Someday these won't be necessary I hope...
2018-06-01 17:08:58 +01:00
d535fe20a3
BlockFactory: split up static ID mapping registration from other things
...
this is actually HUGELY WASTEFUL on memory. An average of 3 MB is wasted per AsyncWorker on this.
2018-06-01 10:28:53 +01:00
515e4aabc4
BlockFactory: minor reduction in memory usage
...
removing useless array and don't pre-populate with UnknownBlock objects
2018-06-01 10:15:20 +01:00
619390c5b7
Sapling: Account for light level when trying to grow on random ticks
2018-05-11 09:53:03 +01:00
b21572774a
Tool: cleanup durability handling, closes #379
...
long overdue... this isn't quite as extensible as the original api3/blocks system was, but this is primarily intended to replace Item->useOn(). If plugins want to use it it can be extended later on.
2018-05-10 19:48:51 +01:00
e7c5d14af3
Fix DoubleSlab name ( #2177 )
2018-05-09 21:17:35 +01:00
532269a484
Implemented block break XP drops
2018-04-15 19:03:18 +01:00
46cbcb0c42
Fixed fire with no nearby flammable blocks burning for too long
2018-04-10 10:07:14 +01:00
af9b0b019d
Added BlockBurnEvent
2018-04-10 10:04:11 +01:00
7db8845375
Fire has a 1/3 chance of aging on a random or scheduled tick
2018-04-10 09:59:54 +01:00
9a1d3aec6b
Flammable blocks adjacent to fire now burn away
...
There are some strange bugs with blockupdating causing invisible client-side-only fires that need to be investigated.
2018-04-10 09:59:10 +01:00
670a53ba3b
Fire: fixed logic of extinguishing
2018-04-10 09:58:58 +01:00
f22ad14c67
Block: added isFlammable()
2018-04-10 09:58:35 +01:00
64540f36be
Block: added burnsForever()
2018-04-10 09:58:21 +01:00
e66b1953de
Block: added flame encouragement and flammability properties
2018-04-10 09:58:08 +01:00
aa6666872a
BlockFactory: added a hack for weird air blocks with non-zero damage values
...
I don't know what causes this to occur, but they should never have non-zero damage values, so we discard the metadata.
2018-04-09 16:35:31 +01:00
5b7b2dd0e2
Merge changes from ALPHA11 for 1.2.13
2018-04-04 11:31:39 +01:00
a1cf5dbd1e
fix doc inconsistency
2018-04-04 11:01:14 +01:00
c86132028e
BlockFactory: add new "dynamic" fake runtime IDs for unknown legacy ID/meta combinations
...
This is basically how blockstate discovery would actually work in the full-blown system. This maps blocks with unrecognized blockstates to static runtimeIDs not known to the client.
This means that all blocks which don't have corresponding runtimeIDs in the new system will translate to update! blocks instead.
Mojang do this differently: they try to a) match id+meta, if that fails b) match id+0, and if that fails, then replace with update! block runtime ID. I can't do that here because I need to be able to convert both ways. They only need to be able to convert from legacy -> new.
2018-04-04 11:00:58 +01:00
5ce55bd3b0
duct tape for block ID remapping
2018-04-04 11:00:39 +01:00
1d5978df98
Fixed falling blocks getting moved by currents, closes #2080
2018-03-30 12:20:59 +01:00
5d32587cf7
DeadBush: match placement condition with break condition, fixes #2116
2018-03-30 11:54:57 +01:00
1f4f8ab3f0
Inventory: Removed BigCraftingGrid, allow arbitrary size parameter
...
This is more flexible and requires less classes.
2018-03-29 11:24:28 +01:00
a4c50d3204
Remove unused imports
2018-03-24 11:59:15 +00:00
1648fff916
Replaced Position->getLevel() null checks with isValid()
2018-03-20 11:10:36 +00:00
ac5a91b67e
Cleaned up bool comparison mess
2018-03-19 14:10:55 +00:00
3d89bf5693
Updated PocketMine Math dependency
2018-03-18 18:08:24 +00:00
eeeef8df51
Fixed concrete powder not falling
2018-03-16 16:43:47 +00:00
bf97eab98f
Block: remove redundant local variable from collidesWithBB()
2018-03-15 09:38:14 +00:00
a9a55e9558
GlowingRedstoneOre: fixed infinite recursion and crash on block update
...
closes #2104
The inheritance of GlowingRedstoneOre from RedstoneOre maybe should be reconsidered. They only share properties in reality.
2018-03-15 09:24:48 +00:00
86eee429bb
Block: Split onUpdate() into several functions, removed Level::BLOCK_UPDATE_* constants
...
This allows the removal of lots of ugly code, and also exposes lots of similarities with how this update type was handled. This can be further improved in the future to more generically handle cases.
I realized in the process of changing this, that it might actually be simpler to treat to treat scheduled updates and neighbour updates as one and the same. They use the same mechanism for being saved on chunks (TileTicks),
and doing that would make updating only require one queue instead of two.
RedstoneOre: use onActivate() to trigger glowing
this is not technically correct behaviour, but this preserves the current behaviour.
2018-03-13 17:29:46 +00:00
6a1f8640f6
Cactus: fix bugs in local block updating
2018-03-13 11:40:45 +00:00
cd35bd6872
git diff-tree --check $(git hash-object -t tree /dev/null) HEAD
2018-03-11 10:31:25 +00:00
73a5788774
Door: remove unused local variable
2018-03-07 18:53:38 +00:00
dc3bf8546e
Refactored effects handling, split up concerns of effect types and instances
...
Removed json insanity for effects
Split up effect types and effect instances
Saturation is an instant effect
2018-03-07 12:42:31 +00:00