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
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
6abf880e44
Block: Drop unnecessary parameters for ItemFactory::get()
2017-12-13 18:37:04 +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
55d0684565
Move block-breaking tool-type constants to a BlockToolType interface
2017-12-12 13:45:52 +00:00
18e4e5364f
Fixed getBlock() performance degradation caused by 781de3efab
, added Level->getBlockAt() to avoid creating vectors everywhere
2017-10-20 13:22:49 +01:00
6e961ae897
Addition of Coarse Dirt ( #1396 )
2017-09-23 22:25:03 +01:00
8ce833bf74
Stripped redundant trailing commas
2017-08-25 12:41:49 +01:00
ebda6ec19b
Cleaned up random-block-ticking registration
2017-08-25 11:47:38 +01:00
876659cc73
Item factory refactor and added capability to register custom items
2017-08-21 17:49:26 +01:00
02f42eba48
Move block registration to its own class
2017-08-20 18:05:01 +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
6b7a382625
import cleanup and missing strict types declare
2017-08-07 15:42:46 +01:00
2103c981a9
Replaced literal ints with Vector3 constants for Block->getSide() calls
2017-08-04 13:33:23 +01:00
caff686827
Fixed grass growth and death, close #436
...
way too fast to grow back though :S
2017-07-31 08:00:03 +01:00
6ae24c5c19
Removed unnecessary methods Block->canBeActivated() and Item->canBeActivated() (needless extra confusion)
2017-07-30 18:14:43 +01:00
51b0673b4b
Bite the bullet and enable strict types on everything
2017-06-07 12:53:16 +01:00
61d354a4ea
Block constructor mass-replace to fix #963 and related issues
2017-06-05 10:02:27 +01:00
9004417456
Fixed file headers ( #255 )
2017-01-13 16:57:05 +00:00
35f0f36524
Update Grass.php
...
@PEMapModder is that all correct now?
2016-02-24 12:06:28 +01:00
f35db4a183
Fixed commit #3595
...
See https://github.com/PocketMine/PocketMine-MP/pull/3595
2015-11-20 13:01:28 +01:00
f3c46b12c5
Block breaking part 1
2015-07-27 20:31:55 +02:00
3224cd7dc5
Added Grass Path block, fixed redstone blocks not being able to be placed
2015-04-10 19:05:10 +02: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
32dae93ef9
Removed unused imports
2014-11-04 12:08:24 +01:00
8601405a88
Fixed CPU leak
2014-10-31 21:07:00 +01:00
6f64af3066
Reuse even more objects!
2014-10-29 14:23:51 +01:00
350cee3d41
Added Event allocation pool, updated SPL with Class::onClassLoaded()
2014-10-28 10:47:40 +01:00
144a871c07
Improved Vector3 and Block handling, less allocation on Positions
2014-10-28 10:03:10 +01:00
4076fb4657
Added BlockSpreadEvent
2014-10-11 19:27:43 +02:00
b761a97660
Fixed crash due to class name conflict
2014-08-31 01:05:15 +02:00
c40f9f65a5
Optimize imports
2014-08-26 11:54:24 +02:00
f74af12914
Improved chunk ticking, enabled again. Disable it setting chunk-ticking.per-tick to 0
2014-08-26 11:52:45 +02:00
049103ab7a
Improved Block selection and construction performance
2014-08-25 16:39:47 +02:00
6b361389ad
Fixed mirrored chunk sending
2014-07-06 12:36:23 +02:00
36cdfd969d
Fixed #799 Added Grass growth algorithm
2014-06-22 22:26:36 +02:00
0be2bd911f
Fixed block updates not getting broadcasted
2014-06-22 21:56:58 +02:00
0be679c9d5
Updated method names: getMetadata() & setMetadata() to getDamage() & setDamage() on Block and Item classes
2014-05-22 18:37:28 +02:00
c1546aac9c
Updated Position to use Weak / strong references for Level objects
2014-05-22 04:14:06 +02:00
89138ae4ce
Added a few things
2014-04-08 13:00:52 +02:00
dd17652aca
Fixed wrong paths
2014-04-01 05:06:12 +02:00