Dylan K. Taylor
6543d96910
Inventory: Split up armor and player inventory ( #1957 )
...
* Inventory: Split up PlayerInventory and armour handling
* Fixed other players don't see armour changes. This bug also exists on master.
2018-01-23 20:01:26 +00:00
Dylan K. Taylor
0bf5ab76fb
Remove WeakRef leftovers
2018-01-23 19:04:37 +00:00
Dylan K. Taylor
8e1394bf53
MemoryManager: Use get_declared_classes() to build lists of static properties
...
This makes memory dumping independent from the autoloader implementation, and fixes #1958 .
2018-01-23 18:23:53 +00:00
Dylan K. Taylor
6ddbdc9dc1
Fixed worker memory dump crash
...
$GLOBALS does not exist at all on threads :(
2018-01-23 17:21:24 +00:00
Dylan K. Taylor
2a8be527d7
Remove redundant paths from BaseClassLoader
...
Everything under src is now handled by the Composer autoloader, and SPL doesn't exist anymore (it's a Composer library now).
2018-01-23 17:03:04 +00:00
Dylan K. Taylor
aca1422fca
Updated pthreads version for Travis
2018-01-23 16:49:32 +00:00
Dylan K. Taylor
b0d0932ed9
DoubleChestInventory: Fixed items getting rearranged in single chests when creating a double chest
...
I fixed this elsewhere more than 18 months ago, why is this still here?
2018-01-23 15:50:13 +00:00
Dylan K. Taylor
fd5557861b
Changed how login verification is handled, add more useful error messages
...
closes #1955
2018-01-28 14:13:59 +00:00
Dylan K. Taylor
1de7c5b114
Inventory: Added includeEmpty parameter to getContents()
2018-01-22 22:33:57 +00:00
Dylan K. Taylor
2fb580db26
Inventory: Removed need for Inventory to have an InventoryHolder
...
Inventory holders are now freed from BaseInventory. They are now declared by subclasses by convention, but are not required in most cases.
Ideally, this would be followed by the removal of the need for inventories to know their holders at all. They should just be simple containers of items.
This fixes #1560 by removing FakeBlockMenu.
2018-01-22 19:44:52 +00:00
Dylan K. Taylor
e5ca22a9a6
Player: Simplified implementation of windows => window ID map
...
it is not necessary to reference the actual objects here. Doing so makes the implementation more confusing. Hashes are sufficient.
2018-01-22 18:58:19 +00:00
Dylan K. Taylor
69ddaacc28
Inventory: Add a $send parameter to clearAll()
2018-01-22 18:39:39 +00:00
Dylan K. Taylor
897a31e608
Player: Moved logic of setUsingItem()
...
plugins might be using this method, or the item may have been dropped involuntarily due to server-side logic. Therefore it should be handled when the transaction is received and not when the item is dropped into the world.
2018-01-22 18:36:48 +00:00
Dylan K. Taylor
4943ff9dfc
Not sure how this got missed :<
2018-01-21 19:36:42 +00:00
Dylan K. Taylor
e36b38939c
Lever: fix placement
2018-01-21 17:53:41 +00:00
Dylan K. Taylor
ecb3f9aeac
Level: Allow broadcastLevelEvent() to accept a null position to broadcast to everyone in the Level
2018-01-21 17:41:00 +00:00
Dylan K. Taylor
f0696f77ef
Level: Added global packet broadcast mechanism
2018-01-21 17:40:31 +00:00
Dylan K. Taylor
6813838754
EntityDamageEvent: Remove redundant TODO
...
Armor does absorb lightning damage by default.
2018-01-21 17:40:03 +00:00
Dylan K. Taylor
65fe19ca71
Entity: Fixed logic error in getBlocksAround() which caused yet another firebug
...
Try setting a fire at z = -204, then stand on the edge between -205 and -206.
The coordinates that a BB's corners are encapsulated in are always the floor()ed coordinates
If you stand at -205.0, your BB min is -205.3 and your BB max is -204.7, which then incorrectly tells you that the BB intersects with block -204
because ceil(-204.7) == -204
when you actually are only intersecting with -205 and -206
this is as bad as using (int) to floor integers :kms:
2018-01-21 15:43:03 +00:00
Dylan K. Taylor
a4f5cab12d
Entity: Added getDataPropertyManager()
2018-01-20 20:07:11 +00:00
Muqsit
29e06e30b2
Fix projectiles throwing errors on launching, fix #1942 ( #1943 )
...
* Fix Projectile::setOwningEntity() on null error
2018-01-20 18:07:53 +00:00
Dylan K. Taylor
3939e2d9dd
NetworkBinaryStream: add some typehints
2018-01-20 11:05:41 +00:00
Dylan K. Taylor
2579438b84
NetworkBinaryStream: Use nullable typehint for putVector3Nullable() instead of default value
...
the parameter is not optional
2018-01-20 11:01:16 +00:00
Dylan K. Taylor
95d42b9907
Network: Remove legacy Vector3 primitive encode/decode methods
2018-01-20 10:58:39 +00:00
Dylan K. Taylor
2eb6e075ae
Refactored entity metadata handling into its own class, with type-safe methods ( #1876 )
...
This includes several other changes, including:
- SLOT data properties now accept items directly
- POS data properties now accept floored Vector3s (in future this will be block positions) or null for 0,0,0
- VECTOR3F data properties now accept Vector3s or null for 0,0,0
2018-01-20 10:52:14 +00:00
Dylan K. Taylor
8f928915d9
Merge PR #1936 : Vector3:: setComponents() documentation fix
...
Vector3::setComponents() and override changes/removal
2018-01-19 08:12:44 +00:00
jasonwynn10
3af8cf48b2
Removed setComponents() override in Position
2018-01-18 19:03:53 -05:00
jasonwynn10
21c03670b6
PhpDoc fix for my sanity
2018-01-18 18:04:54 -05:00
Dylan K. Taylor
0c868b16b6
Network: Added config to pocketmine.yml to allow changing max MTU size
...
This might be useful for people with older routers where the connection MTU is actually lower than the router allows.
2018-01-18 18:15:14 +00:00
Dylan K. Taylor
1e67360048
SpawnEgg: Remove redundant isSurvival() check
2018-01-18 17:04:25 +00:00
Dylan K. Taylor
3520dafd29
Entity: Make fall distance explicit float to shut a PhpStorm bug up
2018-01-18 16:52:17 +00:00
Dylan K. Taylor
857b63ba8f
Entity: Added recalculateBoundingBox()
2018-01-18 16:35:38 +00:00
Dylan K. Taylor
9551e5b8e5
Durable: Allow subclasses to override behaviour when the item breaks
2018-01-18 14:37:22 +00:00
Dylan K. Taylor
c7f15a556d
Durable: Don't allow damage to exceed max damage
2018-01-18 14:34:50 +00:00
Dylan K. Taylor
efca9f0450
Item: Moved getMaxDurability() to Durable class only, and make it abstract
...
It's only now used in the Durable class, so it does not make sense to keep it in Item anymore. This is a leftover from the days where Durable did not exist.
2018-01-18 14:16:30 +00:00
Dylan K. Taylor
d728154e87
Level: Fixed entities getting deleted when switching levels
...
So this came from a bugfix (795d6c8ddf1148dfe6de8ff5ef38a96aee6124fe) which fixed a memory leak related to entities getting kill()ed on chunk unload.
HOWEVER, me2016 did NOT realize that this code is actually entirely pointless and causes unexpected behaviour.
removeEntity() is used in 2 places in the core code:
1. in Entity->close() (so close() doesn't need to be called again, obviously)
2. in Entity->switchLevel() (which then causes the entirely unexpected behaviour of close()ing the entity on level change.
Conclusion: This code is pointless. This fixes the bugfix.
2018-01-17 11:30:59 +00:00
Encritary
2e1a167bed
Arrow class: No need to import Item class with other name ( #1932 )
2018-01-17 10:59:50 +00:00
Dylan K. Taylor
6f6e3aaa21
Fixed projectiles collding with spectator players
...
closes #1857
2018-01-17 10:57:04 +00:00
Dylan K. Taylor
9c65a2b890
Furnace: Fixed lit furnaces dropping the wrong item
...
closes #1915
2018-01-17 10:24:01 +00:00
Muqsit
beb5bf6dda
Add API methods: Entity::isInvisible(), Entity::setInvisible() ( #1930 )
...
* Make use of the API function in Effect class
2018-01-17 09:56:59 +00:00
Dylan K. Taylor
7a5e5773b7
Updated RakLib dependency
2018-01-16 20:01:41 +00:00
Dylan K. Taylor
f1b0a4f1de
Not sure why we are still blaming @shoghicp for this :<
2018-01-15 11:17:01 +00:00
Dylan K. Taylor
751345c736
Updated BinaryUtils dependency
2018-01-14 18:56:31 +00:00
DaPorkchop_
e850f34d76
Fix TNT block not setting fuse NBT correctly ( #1917 )
2018-01-14 18:10:57 +00:00
Dylan K. Taylor
8d7c65585c
Enchantment: Implement Silk Touch ( #1912 )
2018-01-14 13:37:27 +00:00
Dylan K. Taylor
96f6362117
Fixed glowing redstone ore giving itself when block-picked
2018-01-14 13:35:41 +00:00
Dylan K. Taylor
66c768d453
PR template: Make clear that "tested" is not acceptable test information
...
[ci skip]
2018-01-14 11:44:29 +00:00
Dylan K. Taylor
6fe7763db9
Contributing: require details of tests done
...
[ci skip]
2018-01-14 11:37:51 +00:00
Dylan K. Taylor
fda97decaa
Contributing: batch commit of changes
...
very hypocritical of me, I know...
[ci skip]
2018-01-14 11:35:04 +00:00
Dylan K. Taylor
b3f44562e9
Contributing: updated example
...
[ci skip]
2018-01-14 11:04:46 +00:00