4608ecde9b
Merge branch 'release/3.3'
2018-10-05 18:29:37 +01:00
495fdbd19f
Move block and network namespaces away from PluginManager->callEvent()
...
the original step that wasn't supposed to cause conflicts, caused messy conflicts... so I might as well do this part too
2018-10-05 18:22:49 +01:00
75f364fcf2
Level: Remove obsolete \$direct parameter from setBlock()
...
this parameter was previously used to send blocks with a different set of flags, immediately, to players. However, the flags have been demonstrated useless and the direct sending is pointless now since packets are buffered now per session, so we might as well take advantage of the batched block update sending.
2018-09-27 16:15:07 +01:00
56d9943b0d
Nuke Block->meta, split into variant and state properties, lots of cleanup
...
This is a major change to the way block metadata is handled within the PM core. This separates variant metadata (which really ought to be part of the ID) from state metadata, and in a couple of cases flattens separate states of blocks together.
The result of this is that invalid variants can be much more easily detected, and additionally state handling is much cleaner since meta is only needed at the serialize layer instead of throughout the code.
2018-09-21 19:28:10 +01:00
f7f06c993d
Make block constructors not write to this->meta directly
2018-09-16 14:10:40 +01:00
f488e594f6
Remove hardcoded facing literals in for loops
2018-09-13 19:34:27 +01:00
f218868338
Separate facing/bearing handling from Vector3, deobfusticate a ton of @shoghicp old code
2018-09-05 19:56:14 +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
64540f36be
Block: added burnsForever()
2018-04-10 09:58:21 +01: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
4f8e4f0522
Add EOF newlines where missing (bulk) ( #1836 )
...
This should solve issues with people making GitHub PRs and having the web editor messing things up. GitHub Web Editor sucks :(
2017-12-20 11:56:36 +00:00
56f1a6ba37
Block: Migrated all trivial drops code to getDropsForCompatibleTool()
...
getDrops() should now be overridden only for special cases. There are some non-trivial overrides left that are going to need some extra work to clean up.
2017-12-13 12:49:58 +00:00
584810780a
Moved projectile-related classes to their own namespace
2017-10-19 12:27:44 +01:00
d8b1757ebc
added some nullable and void typehints to Block API
2017-10-11 18:45:40 +01:00
1b5fed983b
Revert "Fixed slab placement, close #145 ", reopen #145 , close #1314
...
This reverts commit f2ff0198cc
.
2017-09-21 14:41:18 +01:00
ebda6ec19b
Cleaned up random-block-ticking registration
2017-08-25 11:47:38 +01:00
456ddd3fb3
Removed obsolete parameters from Entity->attack() and Entity->heal()
2017-08-21 13:25:11 +01:00
02f42eba48
Move block registration to its own class
2017-08-20 18:05:01 +01:00
f2ff0198cc
Fixed slab placement, close #145
2017-08-20 10:52:07 +01:00
0e24596aed
Changed block construction calls to Block::get()
2017-08-19 13:46:17 +01:00
d8f0dd6db8
Changed Block->getDrops() to return Item[]
2017-08-18 11:21:33 +01:00
83af4dcd59
Block API typehints
2017-08-17 13:50:19 +01:00
6b5c0af161
Separation of effect handling from Entity, fixes #886
2017-08-07 16:03:54 +01:00
2103c981a9
Replaced literal ints with Vector3 constants for Block->getSide() calls
2017-08-04 13:33:23 +01:00
51b0673b4b
Bite the bullet and enable strict types on everything
2017-06-07 12:53:16 +01:00
9004417456
Fixed file headers ( #255 )
2017-01-13 16:57:05 +00:00
0b06a4f703
Fixed #3692 ; fixed "arrows should not catch fire in fire blocks"
2016-03-10 17:45:06 +08:00
ebc8928c21
Implemented effect colors
2015-03-20 02:31:54 +01:00
d34499e67b
Revert "Implemented proportional armor modifier, applied armor in other damage types and consume armor when player is damaged"
2015-03-18 17:26:06 +01:00
8aa8ae5094
Implemented proportional armor modifier, applied armor in other damage types and consume armor when player is damaged
2015-03-17 20:04:59 +08:00
747f7685e7
Fix formatting issues due to bad IDE settings
2014-12-07 16:30:04 +01:00
a98da3bab1
Renamed old getID() calls to getId()
2014-12-07 15:21:32 +01:00
a0d4bff385
Block creating and property handling rewrite, part1
2014-12-07 01:53:27 +01:00
b3c3f896a3
Implemented light population, added Level->getFullLight()
2014-11-28 14:44:27 +01:00
8601405a88
Fixed CPU leak
2014-10-31 21:07:00 +01:00
8a768cea33
EntityDamageEvent and children now only fire if the attack is possible, moved event trigger to Entity->attack()
2014-10-29 16:02:40 +01:00
350cee3d41
Added Event allocation pool, updated SPL with Class::onClassLoaded()
2014-10-28 10:47:40 +01:00
0af3dfedd5
Improved Living entity ticking
2014-10-11 17:35:13 +02:00
62af784d37
Removed unused imports
2014-10-08 17:00:23 +02:00
4346773e25
Added EntityDamageByBlockEvent (child of EntityDamageEvent)
2014-10-08 16:13:18 +02:00
b0c314526d
Added EntityCombustEvent and childs
2014-10-08 15:51:27 +02:00
e9a2f88847
Added Fire, Lava damage
2014-09-16 10:42:29 +02:00
ac4b4b08fd
Fixed Level::setBlock() old calls
2014-09-05 11:00:13 +02:00
c47e359262
Updated blocks bounding boxes
2014-08-24 16:30:56 +02:00
6cbd39de9b
Added Inventory interfaces and types, updated long array() to []
2014-05-22 18:59:16 +02:00
c1546aac9c
Updated Position to use Weak / strong references for Level objects
2014-05-22 04:14:06 +02:00