3
0
Mirror von https://github.com/PaperMC/Paper.git synchronisiert 2024-12-27 08:30:06 +01:00
Commit graph

1401 Commits

Autor SHA1 Nachricht Datum
Zach Brown
5e2784e941
Switch to a bStats based Metrics system 2017-03-25 00:22:02 -05:00
Zach
246712ed92 Merge pull request #628 from willies952002/feature/reloadCommands
Don't Display Success Message on Alias Reload Fail
2017-03-24 22:34:13 -05:00
Zach Brown
07d0098a9e
Update upstream B/CB/S
Adds /paper command for reloading the paper config.
Closes GH-639

Per-world config logging has been removed in favor of all or nothing
logging for all paper settings. I don't believe it was used enough to
warrant maintaining. If this is not the case it should be possible to
re-add it.
2017-03-24 22:27:43 -05:00
Zach Brown
1d87ea2179
Remove unnecessary blocking of chest minecarts
This is already covered by recent changes.
Closes GH-373
2017-03-19 16:17:24 -05:00
Zach Brown
dbabbdbdbe
Update upstream B/CB 2017-03-18 21:01:13 -05:00
Shane Freeder
02afedb602
Ensure that the world of a dead entity is not changed in a portal 2017-03-19 01:33:31 +00:00
Shane Freeder
09e52007e3
Only set the location of the newly spawned entity 2017-03-17 13:17:52 +00:00
Zach Brown
60182fd473
Just make sure an entity's exit is set properly
Don't re-add, it's redundant and you end up with inconsistent
inconsistencies inconsistently
2017-03-17 00:50:43 -05:00
Zach Brown
08aa6e5f49
Make sure the entity is still added to the world 2017-03-17 00:09:26 -05:00
Shane Freeder
45ad47717e Fix a duplicate alive entity on second world 2017-03-16 22:31:53 -05:00
Zach Brown
7f3aa1ed29
Update upstream B/CB/S
Closes GH-631
2017-03-15 09:32:50 -05:00
willies952002
77fdfd6de1
Don't Display Success Message on Alias Reload Fail
Also add "commands" to Tab Completion
Note: This required a signature change to Bukkit#reloadCommandAliases() so that it returns a boolean based on if the command aliases reloaded or not.
2017-03-12 13:52:04 -04:00
chickeneer
ff73ad6dde Fix tick loop bug - Fixes #624
We were not calculating time after the sleep ,resulting in wrong
calculations. This caused us to go 100ms, 0ms, 100ms, 0 ms repeatedly.
2017-03-10 03:03:49 -05:00
Zach Brown
4b25be6d1f
Alter furnace cookTime based on total cook time
Fixes GH-613
2017-03-02 20:57:20 -06:00
Zach Brown
85aa230650
Do not let ArmorStands drown under water 2017-02-18 19:34:46 -06:00
Zach Brown
ae98591b8c
Update upstream B/CB/S 2017-02-17 20:03:38 -06:00
Zach Brown
5031a31da5
Update upstream B/CB/S 2017-02-10 18:12:58 -06:00
Brokkonaut
6b3c0bb3c6
Make chunk unload targetSize more aggressive
Re: GH-597
2017-02-08 15:16:36 -06:00
Zach Brown
03f1f9b06b
Disable Spigot's chunk unload queue throttling
Seems to be causing more problems than it's solving
Closes GH-597
2017-02-07 17:21:37 -06:00
Zach Brown
919cb9d19a
Update upstream CB, reduce version cache time
Closes GH-602
2017-02-07 16:29:26 -06:00
Aikar
ec31ab32af Shame on you Mojang
Someone wrote some horrible code that throws a world accessing task
onto the HTTP DOWNLOADER Thread Pool, for an activity that is not even
heavy enough to warrant async operation.

This then triggers async chunk loads!

What in the hell were you thinking?
2017-02-05 19:19:35 -05:00
Aikar
c7d8bd43fb Remove CraftScheduler Async Task Debugger
I have not once ever seen this system help debug a crash.
One report of a suspected memory leak with the system.

This adds additional overhead to asynchronous task dispatching
2017-02-05 00:13:28 -05:00
Aikar
d49de13c00 Add more timings to Scheduler and other improvements 2017-02-05 00:13:16 -05:00
Aikar
d033b57b47 More improvements to Timings, RCON now is no longer blocking!
Finally made timings accept "Callback style" reports, so plugins
can listen for when the report is done.

Added new Util interfaces, MessageCommandSender and BufferedCommandSender

This restores and improves using RCON to generate timings reports
2017-02-04 22:47:39 -05:00
Zach Brown
d3544dad18
Update upstream S 2017-02-04 03:59:44 -06:00
Zach Brown
8878ecc5f3
Update upstream CB
Closes GH-596
2017-02-01 22:48:16 -06:00
Zach Brown
1e1541a2e9
Update upstream S 2017-01-30 22:33:54 -06:00
Zach Brown
e08ef5457a
Update upstream CB 2017-01-28 17:36:03 -06:00
Zach Brown
88205cd8fe
Update upstream B/CB/S 2017-01-25 22:27:42 -06:00
Zach Brown
327535741d
Do not allow a zero max height in BiomeJungle
Fixes GH-592

Thanks to the forge team who noticed this issue long ago
2017-01-23 15:11:07 -06:00
Aikar
c9759766a3 Cap Entity Collisions - Resolves #577
Limit a single entity to colliding a max of configurable times per tick.
This will alleviate issues where living entities are hoarded in 1x1 pens

This is not tied to the maxEntityCramming rule. Cramming will still apply
just as it does in Vanilla, but entity pushing logic will be capped.

You can set this to 0 to disable collisions.
2017-01-22 18:24:22 -05:00
Zach Brown
1928933a96
Yank import from last 2017-01-21 17:12:25 -06:00
Zach Brown
3f88bc1ec7
Expose WorldBorder@isInBounds(Location) check 2017-01-21 17:06:28 -06:00
Aikar
10b1631d59 Remove the Vanilla Method Profiler
Spigot rebrought this back after it was removed for years due to the performance hit.

It is unknown if the JIT will optimize it out as effeciently with how it was
added, so we do not want any risk of performance degredation.

Paper has a proper Timings system that makes the Vanilla Method profiler obsolete and inferior.
2017-01-21 02:03:17 -05:00
Zach Brown
2a16ff905f
Fixup patch file 2017-01-20 09:12:47 -06:00
BillyGalbreath
36078e1a3d Add fromBottle flag to Experience Orbs (#584)
* Add fromBottle flag to Experience Orbs
2017-01-20 09:01:53 -06:00
Zach Brown
c1641b8e0c
Update upstream B/CB/S 2017-01-20 05:21:44 -06:00
Zach
099b85f54d Merge pull request #582 from prplz/player-count
Add World.getPlayerCount
2017-01-14 16:07:01 -06:00
Zach Brown
c141e3adf3
Now I am become Death, the destroyer of newlines 2017-01-14 02:12:59 -06:00
Zach Brown
28c0441d02
Update upstream B/CB 2017-01-14 02:11:12 -06:00
Zach Brown
aa86f4829a
Assign the World in WorldGenStronghold
Fixes GH-580
2017-01-14 01:31:38 -06:00
Michael Himing
9606774ee6 Add World.getPlayerCount 2017-01-13 23:00:33 +11:00
Michael Himing
0515329c1a Fix block break desync 2017-01-09 10:19:10 +11:00
Zach Brown
50f2e124a1
Compromise on warning of excessive velocity sets
We have long been receiving feedback about our warning messages when
excessive velocities are set on entities. We have, for the most part,
ignored much of this feedback because these warnings can be vital in
identifying the cause of a watchdog crash. These crashes would otherwise
be more difficult to identify without this information.

However, in many cases these warnings are unnecessarily verbose as the
server handles these excessive sets itself without user intervention.

As a compromise, we will only warn the user as part of a watchdog crash
log, and we will only include the most recent occurrence. This commit
represents a first effort on this front. It may need to be tweaked later
to provide more relevant information, such as the time it occurred,
and/or not printing the warning at all if the occurrence was a certain
time period ago.
2017-01-08 16:48:37 -06:00
Alfie Cleveland
4a6c4f0dc3 Don't allow entities to ride themselves - #572 2017-01-08 04:32:04 +00:00
Zach Brown
3e3743eb0c
Revert "Set head rotation pitch in addition to yaw in TPs"
This reverts commit b6c1b2d3e7.
2017-01-07 22:15:01 -06:00
Zach Brown
b6c1b2d3e7
Set head rotation pitch in addition to yaw in TPs 2017-01-07 21:32:11 -06:00
Aikar
e4ef645032 Enforce Sync Chunk Unloads
Unloading Chunks async is extremely dangerous. This will force it to main
the same way we handle async chunk loads.
2017-01-07 16:10:56 -05:00
Aikar
2e3081d45c Enforce Sync Player Saves
Saving players async is extremely dangerous. This will force it to main
the same way we handle async chunk loads.
2017-01-07 15:48:22 -05:00
Aikar
7e06f2145e Provide E/TE/Chunk count stat methods
Provides counts without the ineffeciency of using .getEntities().size()
which creates copy of the collections.
2017-01-07 15:27:46 -05:00
Zach Brown
63130fd2aa
Update upstream B/CB
Closes GH-569
2017-01-06 15:45:59 -06:00
Aikar
849653ebac SPIGOT-2989: Use correct Horse Inventory 2017-01-04 21:23:16 -05:00
prplz
9b9a43e472 Better container checks (#564) 2017-01-02 17:16:57 -05:00
Aikar
13ac2d8ff8 ShulkerBox Dupe Prevention - Fixes #488
This ensures that Shulker Boxes can never drop their contents twice, and
that the inventory is cleared incase it some how also got saved to the world.
2017-01-02 16:49:08 -05:00
Aikar
6d06f31c10 Defensive copy chunk list to avoid "effective CME" - Fixes #313
Lighting operations apparently can load chunks, which will cause an NPE
in the same fashion you would trigger a CME during the chunk iteration.
2017-01-02 14:08:55 -05:00
Aikar
bd7c76a1cf Use alternate constructor for EndGateway - Fixes #563 2017-01-02 11:49:36 -05:00
Aikar
7a1b393715 MC-112017: Allow 31 instead of 30 for item names 2017-01-02 02:43:50 -05:00
Aikar
0c4ef7349f MC-111699: Ignore Improper Anvil Item Name Packets
The client is improperly sending Item Name Packets to the server BEFORE
the click event. This causes the server to reset before the click event is processed

This breaks the ability to rename more than 1 item at a time.

See: https://bugs.mojang.com/browse/MC-111699
2017-01-02 02:09:31 -05:00
Aikar
61d4b9e2ab Fix build
I totally didn't notice that the patch had a conflict >_>
2017-01-02 02:05:02 -05:00
Aikar
86e5224d94 Update upstream - fixes more Spawn Egg issues 2017-01-02 01:58:15 -05:00
Aikar
16b99d6dab PlayerTeleportEndGatewayEvent
Allows you to access the Gateway being used in a teleport event
2016-12-31 21:46:34 -05:00
Aikar
067c5c3f70 Fix String based Action Bar to use ChatComponent to handle proper escaping 2016-12-29 08:29:09 -05:00
Aikar
ef781648ef Fix ItemStack Data Conversion
Spigot did not copy our version, and their version is not 100% correct.

The current state results in item meta and damage data value conversions clashing for control

For example on a horse egg, on itemstack creation, the 100 Damage is converted to 0 and sets EntityTag

SetItemMeta then drops the previous NBTTagCompound and makes a new one, which has no EntityType associated
to it as the previous stack had no metadata.

This change makes it so that itemstack conversion is delayed until after meta applies

Pretty much restores our previous implementation before Spigot tried to resolve it.
2016-12-29 07:58:49 -05:00
Aikar
cd8f388582 Change Outdated Build Download URL to Paper CI 2016-12-29 00:57:26 -05:00
Aikar
c148342731 Vehicle Dismount Event Improvements
player.getVehicle() was returning null during the event. Paper had added lots of code to
cause the player to remount the entity on cancel.

I've simplified the diff and made player.getVehicle() work during the event by setting the
vehicle back during the event, and only set it to null if the event is not cancelled.
2016-12-29 00:53:02 -05:00
Aikar
49aca0c04d New Firework API's
Get the launcher of a Firework and who it is boosting
2016-12-28 02:25:35 -05:00
Aikar
4bf7275588 Activation Range Improvements
Fixes and adds new Immunities to improve gameplay behavior
2016-12-28 00:19:58 -05:00
Zach Brown
373e390735
Make invalid stat removal use proper config key
Server-wide static config values should always be prefixed by
`settings.`. Get it right @Zbob750, geez

Issue introduced in a81ad3d8a8
2016-12-27 19:23:18 -06:00
Zach Brown
1870320545
Update upstream CB
Closes GH-556
2016-12-27 18:46:41 -06:00
Aikar
d231cef8cd Incremental Auto Save Players
Take same approach we did for chunks, and only save player if its been X time since last save,
instead of doing it all in 1 tick.

This is even more helpful considering Player Saving is done sync for File IO.
2016-12-27 16:11:25 -05:00
Aikar
fc6f3510a2 Change implementation of String based Action Bar API
Appears colors did not work for Bungee version, as Action Bar is stricter
2016-12-27 15:06:14 -05:00
Aikar
64f6edc759 Upstream update 2016-12-27 13:07:43 -05:00
AlfieC
d8b42d5a7a Properly fix item duplication bug (#557)
Credit to prplz for figuring out the real issue
2016-12-27 11:03:37 -05:00
Aikar
c655b3caf3 Respect AsyncCatcher for Async Command Detection - Fixes #555 2016-12-27 11:00:15 -05:00
Alfie Cleveland
043859300f Further optimise hoppers 2016-12-27 10:31:58 -05:00
Zach Brown
fe913c51c4
Update upstream CB 2016-12-22 15:06:59 -06:00
Aikar
d9a999639c continue instead of break for treasure map bounding
per: 01cf3186bd (commitcomment-20268968)

The break may of been skipping attempts at valid chunks. I thought break was the right abort, but maybe it is not.
2016-12-21 21:28:01 -05:00
Aikar
23236ef8aa IllegalPacketEvent - Resolves #419
Fire an event when an illegal packet is received to let plugins handle it

Lets plugins change the kick message and if it should kick or not.
2016-12-21 21:22:02 -05:00
Zach Brown
a4152b2ad1
Fix missed diff causing lava to move too quickly
Missed diff from old patch file was causing lava to always move at the
faster 'nether' speed, ignoring the slower overworld speed entirely.
This is why we use obfuscation helpers now.

Fixes GH-521
2016-12-21 15:29:50 -06:00
Zach Brown
a81ad3d8a8
Add option to remove invalid statistics
Closes GH-550
2016-12-21 12:41:30 -06:00
kashike
c8fb4667af
API for ArmorStand movement and option for entity lookups 2016-12-21 11:56:09 -06:00
Zach Brown
cae453c16b
Update to Paper to MC 1.11.2 2016-12-21 11:21:40 -06:00
Aikar
98e7d01ce8 Optimize isEmpty() to remove Map lookup
Every call to .isEmpty() made a horribly wasteful map lookup just to get the
reference to the Air Item for checking.

We will now cache a copy of that item
2016-12-21 04:21:42 -05:00
Aikar
a18f763412 Revert "Optimize ItemStack.isEmpty()"
This reverts commit 257c591391.

See a bug
2016-12-21 03:51:48 -05:00
Aikar
257c591391 Optimize ItemStack.isEmpty()
Remove hashMap lookup every check, simplify code to remove ternary
2016-12-21 03:50:43 -05:00
Zach Brown
748d86a540
Cleanup 'nerfed spawner mobs can float' patch 2016-12-20 21:57:07 -06:00
Zach Brown
f099ddc99e
Fix a merge conflict that was resolved improperly 2016-12-20 18:01:37 -06:00
Zach Brown
33163525f3
Update Paper to MC 1.11.1 2016-12-20 17:45:00 -06:00
Aikar
99ffe80ebc Configurable Cartographer Treasure Maps
Allow configuring for cartographers to return the same map location

Also allow turning off treasure maps all together as they can eat up Map ID's
which are limited in quantity.
2016-12-20 15:28:32 -05:00
Aikar
01cf3186bd Bound Treasure Maps to World Border
Make it so a Treasure Map does not target a structure outside of the
World Border, where players are not even able to reach.

This also would help the case where a players close to the border, and one
that is outside happens to be closer, but unreachable, yet another reachable
one is in border that would of been missed.
2016-12-20 15:17:18 -05:00
Aikar
2c0075031c Ignore invalid Marker Icon ID's in maps - Fixes #497
Replace with the red marker. Should of only happened by creative abuse.
2016-12-19 23:39:52 -05:00
Aikar
a9f87fd8fe Prevent Pathfinding out of World Border - Fixes #547
This prevents Entities from trying to run outside of the World Border
2016-12-19 23:08:31 -05:00
Aikar
c222ffd4cd Update upstream 2016-12-19 22:58:12 -05:00
Aikar
4ac2cac9f9 Fix worldborder bug
typo in variable name
2016-12-19 01:23:59 -05:00
Zach Brown
d850fc67db
Add obfhelper to vanish patch 2016-12-16 23:02:33 -06:00
Zach Brown
5ff732798d
Update upstream B/CB 2016-12-16 22:23:03 -06:00
Zach Brown
0728696e06
Add ProjectileCollideEvent
Base our vanish changes on top of that event.
2016-12-16 22:13:46 -06:00
Techcable
bf86516043
Change base variables in BlockPos to force diff 2016-12-16 20:02:46 -06:00
Zach Brown
7c567d6ed4
Don't let FishingHooks use portals
Closes GH-531
2016-12-16 16:03:56 -06:00
Zach Brown
1d8b7e2ecc
Update upstream B/CB 2016-12-16 15:00:16 -06:00
Zach Brown
7c210e35b4
Update upstream CB 2016-12-10 17:50:31 -06:00
Zach Brown
b41a5ab566
Update upstream B/CB 2016-12-09 18:07:35 -06:00
Zach Brown
57c2b8de43
Update upstream B/CB 2016-12-06 17:12:19 -06:00
Zach Brown
6c7152dbfe
Update upstream, fix accidental removal from last 2016-12-02 21:11:39 -06:00
Zach Brown
7e6d4b54e1
Don't remove random diffs in update 2016-12-02 21:06:21 -06:00
Zach Brown
f986ebbae5
Update upstream CB 2016-12-02 18:07:07 -06:00
Aikar
4de83c79ab Optimize World.isLoaded(BlockPosition)Z
Reduce method invocations for World.isLoaded(BlockPosition)Z
2016-12-02 00:20:34 -05:00
Aikar
5d1cc02e6a Ignore "Unable to resolve BlockEntity" debug messages - Fixes #489 2016-12-02 00:02:18 -05:00
Techcable
33e453fcfd
Speedup BlockPos by fixing inlining 2016-11-30 21:03:50 -06:00
AlphaBlend
dfdd4e3334
Add source to PlayerExpChangeEvent 2016-11-30 17:33:06 -06:00
Zach Brown
2bfdbc4afa
Update upstream CB 2016-11-29 18:02:20 -06:00
Jamie Mansfield
b4c00f4b27
Resolve previous pr 2016-11-29 19:58:13 +00:00
willies952002
6d966ed034 Allow Reloading of Command Aliases
Use "/reload commands" to reload the aliases stored in commands.yml
2016-11-28 21:54:19 -05:00
Zach Brown
ed6bd4ea4a
Update upstream B/CB - hitEntity added upstream 2016-11-28 17:16:07 -06:00
Jamie Mansfield
b45c0327c8
Update inventory. Fixes #505 2016-11-28 21:32:05 +00:00
Zach Brown
9571357cce
Rebuild patches 2016-11-27 17:39:16 -06:00
Zach Brown
2807fdcf84
Update patch number 2016-11-27 16:54:10 -06:00
Zach
3f5dffc4e5 Merge pull request #517
Don't process packets from offline players
2016-11-27 16:23:17 -06:00
Alfie Cleveland
a2301816d0 Don't process packets from offline players 2016-11-27 22:17:55 +00:00
Alfie Cleveland
a0fce85086
Optimise removeQueue 2016-11-26 22:36:10 -06:00
Alfie Cleveland
ed90e5b3a6
Fix double lock in ServerConnection 2016-11-26 22:06:39 -06:00
Zach Brown
8c27c1fd27
Alter last to force conflicts but keep contents 2016-11-26 22:02:19 -06:00
Alfie Cleveland
324acd64b4
Optimise NetworkManager 2016-11-26 21:48:09 -06:00
Zach Brown
a68f5fbec0
Update upstream B/CB/S 2016-11-24 21:12:18 -06:00
vemacs
ddbf7318b2 Optimize network queue by making size() constant-time
Idea from @AlfieC
2016-11-23 13:20:16 -05:00
Aikar
8d4d85ccb8 Merge branch 'vemacs-cachedthreadpool-login'
* vemacs-cachedthreadpool-login:
  Cache user authenticator threads Idea from @AlfieC
2016-11-23 12:03:34 -05:00
vemacs
4eaa6f6dbc Cache user authenticator threads
Idea from @AlfieC
2016-11-23 08:48:47 -05:00
Zach Brown
4ea87e5378
Update upstream B/CB/S 2016-11-22 18:06:14 -06:00
AlphaBlend
5eebb50cf2 Relocate bad call to ProjectileHitEvent 2016-11-22 01:47:43 -05:00
Aikar
2290e5f85d Update upstream 2016-11-21 18:00:40 -05:00
Zach Brown
97e0eac6e7
Update upstream B/CB 2016-11-21 15:51:27 -06:00
Zach Brown
cb66c8dce7
Add ShulkerBoxes to the LootTable API 2016-11-19 11:31:01 -06:00
Aikar
9725050889 Update Upstream 2016-11-18 23:58:56 -05:00
Aikar
ae5a66ed1b Re-add dependency reduced pom
Learned the correct way to handle that file
2016-11-18 21:09:03 -05:00
Zach Brown
7e37e54053
Simplify the affects spawning API implementation
Get the hell away from EntitySelectors, not that that one right anyway
Fixes GH-482
2016-11-18 18:55:14 -06:00
Zach Brown
a6d146a939
Update Paper to MC 1.11 2016-11-18 16:21:06 -06:00
Black Hole
6c1880847f
@Z750 There are other command block types
Blocks.dc and .dd (don't know why they ain't renamed yet).
cc GH-478
2016-11-13 20:21:37 -06:00
Zach Brown
bd503d35b0
Expand NBT filtering from last commit
cc GH-478
2016-11-13 19:36:23 -06:00
Zach Brown
dec715e07b
Filter bad data from ArmorStand and SpawnEgg items
Fixes GH-478
2016-11-12 23:32:40 -06:00
Zach Brown
65538782cd
Update upstream B/CB/S 2016-11-12 20:21:46 -06:00
Zach Brown
d7276f6ffd
Always cleanup collideRule teams at startup
Fixes GH-463
2016-11-05 13:34:18 -05:00
Zach Brown
f0acdb8df6
Raise packet tolerance in spam threshold patch
Fixes GH-462
2016-11-04 22:35:59 -05:00
Aikar
c0aeab4cf9 Chunk Save Stats Debug Option
Adds a command line flag to enable stats on how chunk saves are processing.

Stats on current queue, how many was processed and how many were queued.
2016-11-04 02:21:33 -04:00
Aikar
4f39daf70a Rework that save cap patch and make it configurable 2016-11-04 01:55:36 -04:00
Aikar
ab7b7d8072 Don't process auto save if the save queue is filled
This avoids ever growing pending NBT objects which eat up memory.
2016-11-04 01:33:08 -04:00
Aikar
4f5d91198f Prevent Hoppers from loading chunks by double chest 2016-11-04 01:32:53 -04:00
Aikar
3725f9d940 Fix faulty logic in Auto Save check - Fixes #443 2016-11-04 01:31:49 -04:00
AlphaBlend
02006e6b24
Add EntityZapEvent 2016-10-30 21:31:02 -05:00
Zach Brown
88e1379b38
Update upstream CB 2016-10-23 01:32:04 -05:00
Zach Brown
557c26bec4
Revert CB's SPIGOT-1903 fix in favor of ours
Fixes GH-453
2016-10-22 15:36:19 -05:00
Zach Brown
812618deba
Remove changes to lava/water cobblestone gen
Unintended side effects in recent versions, this patch has likely
outlived its usefulness.

Closes GH-452
2016-10-21 16:08:34 -05:00
Zach Brown
28d9568ed5
Properly update patches for upstream merge 2016-10-21 15:43:40 -05:00
Zach Brown
92567cc43a
Update upstream B/CB 2016-10-21 15:28:44 -05:00
Aikar
874c7a2ef8 Updated Timings to better detail saves 2016-10-20 00:21:35 -04:00
Aikar
64e537e63c Revert "Option to hide plugins from the Query Protocol"
This already exists

This reverts commit 3407aa3285.
2016-10-19 23:38:18 -04:00
Aikar
3407aa3285 Option to hide plugins from the Query Protocol 2016-10-19 23:37:14 -04:00
Zach Brown
2645ee04ae
Update upstream CB 2016-10-16 15:35:34 -05:00
Zach Brown
8377df063a
Update upstream CB/S 2016-10-13 17:29:38 -05:00
Zach Brown
b2c262e382
Update upstream CB 2016-10-10 21:29:08 -05:00
Zach Brown
5ecb6f1358
Add option to remove corrupt tile entities
Closes GH-437
2016-10-05 16:28:17 -05:00
AlphaBlend
96b534f1f1
Add hit entity to ProjectileHitEvent 2016-10-05 16:07:58 -05:00
Zach Brown
10469dfd46
Remove TE Fixer changes
Ultimately they should be unnecessary now that upstream's fix has been
in place for a while. Removing this reduces our own footprint, and gets
rid of any possible unintended behavior.
2016-10-05 15:46:44 -05:00
Zach Brown
18799efd0d
Update upstream B/CB/S 2016-10-01 11:47:56 -05:00
Aikar
9e6cbc5203 Disable Vanilla Chunk GC in favor of Bukkits 2016-09-26 01:52:01 -04:00
Aikar
a57cf220e8 don't save level every tick for auto save. whoops 2016-09-26 01:50:26 -04:00
Zach Brown
3d2be415cc
Raise bad Y auto fix to avoid gameplay issues
Per discussion here, d3eb13d60d (commitcomment-19153154)
2016-09-23 17:26:14 -05:00
Aikar
f71ef566df Raise string limit for packet serialization
The default limit is possible to hit with 50 page books with color codes, causing clients to disconnect.

Bump the limit up a hair to above currently seen sizes.
2016-09-21 23:56:47 -04:00
Aikar
d3eb13d60d Auto fix bad Y levels on player login
Bring down to a saner Y level if super high, as this can cause the server to crash
2016-09-21 23:49:27 -04:00
Aikar
bd4ececc82 Remove FishingHook reference on Craft Entity removal
This caused some bugs chickeneer reported to me, with fishing.
2016-09-21 23:45:05 -04:00
Aikar
501695c26a Process NMS Data Conversion post ItemMeta on Copy
ItemMeta apply is a destructive process that expects to be the authority on
what the items NBT data is.

When CraftItemStack.asNMSCopy was called, the conversion ran, potentially setting
the converted data into the ItemStacks tag.

Then if that item had ItemMeta, it would completely undo that conversion by
erasing the NBT Tag.

On copy, run conversion post ItemMeta apply.
2016-09-21 23:42:13 -04:00
Aikar
6a4c510df4 add a chunk registration fix
World checks and the Chunk Add logic are inconsistent on how Y > 256, < 0, is treated

Keep them consistent
2016-09-21 22:56:19 -04:00
Aikar
1de58ca308 Log chunk save failures as ERROR level 2016-09-21 22:33:09 -04:00
Aikar
0fc642a189 Auto Save Improvements
Makes Auto Save Rate setting configurable per-world. If the auto save rate is left -1, the global bukkit.yml value will be used.

Process auto save every tick instead of once per auto tick interval, so that chunk saves will distribute over many ticks instead of all at once.

Re-introduce a cap per tick for auto save (Spigot disabled the vanilla cap) and make it configurable.
2016-09-21 22:12:56 -04:00
Aikar
56857ae801 Don't save players every tick, oops 2016-09-19 23:39:21 -04:00
Aikar
a63d6e9ea8 Incremental Auto Saving
Process auto save every tick instead of once per auto tick interval, so that chunk saves will distribute over many ticks instead of all at once.
2016-09-19 23:31:42 -04:00
kashike
53997ebf2c Configurable flying kick messages
Closes #423
2016-09-20 00:59:36 +00:00
Zach Brown
14c974629c
Stop collideRule team from seeing invis 'friends'
More appropriately aligns ourself with the no team option, because the
collideRule team is only a team because it has to be, not because we want
anyone to have any sort of gameplay based relationship.

Also block any options from being set on this team to further enforce that
it is not a persistent team and should not be treated as such.
2016-09-15 16:36:57 -05:00
Zach Brown
eb3ff14afd
Block minecart portal teleports in some instances
Mitigates GH-373
Technically a workaround rather than a true fix
2016-09-14 18:52:41 -05:00
Zach Brown
2b244fb51e
Update upstrean CB/S 2016-09-11 14:55:02 -05:00
Zach Brown
2e880e7676
Make UseItem rate limiting stricter, configurable 2016-09-10 23:27:07 -05:00
Zach Brown
5626ad5f58
Fix patch, need to investigate build issues 2016-09-10 22:45:09 -05:00
Zach Brown
8a8fc89534
[ WHITESPACE ] 2016-09-10 22:09:14 -05:00
Zach Brown
c02c01b2c5
Add rate limiting to PacketPlayInUseItem as well
Also removes our toggle for Spigot's option, I doubt anyone uses it.
2016-09-10 21:44:06 -05:00
Zach Brown
3a128de0c1
Further safety for player collision setting
Hopefully the end of similar problems
Fixes GH-415
2016-09-08 12:39:40 -05:00
Zach Brown
feccc25412
Make collide team removal more patient, safer
Fixes GH-414
2016-09-06 12:33:47 -05:00
Zach Brown
d26051ef63
Create a team as needed for disabling collisions
Fixes GH-383
2016-09-04 17:29:25 -05:00
Zach Brown
eb7e4424fa
Update upstream B/CB 2016-09-04 16:59:06 -05:00
Brokkonaut
e153f46603
Fix an AIOOBE in inventory handling
Closes GH-404
2016-09-04 16:49:29 -05:00
Zach
8d5cd3f054 Merge pull request #408 from kashike/feature/health-conversion
Convert new health to a float
2016-09-04 16:05:38 -05:00
kashike
8f91416dcb @Zbob750 missed a few name changes 2016-09-04 06:35:42 +00:00
Zach Brown
f9f96ea3a5
Update upstream B/CB/S 2016-09-02 22:44:52 -05:00
kashike
e44b71a6b4 Convert new health to a float during set
Convert the new health value to a float before doing any validation logic
2016-09-01 23:32:32 +00:00
Zach Brown
8eb7f073d6
Revert team creation for player collision setting
Needs more work, have redone it locally but its not quite ready for
prime time.
2016-08-31 19:22:43 -05:00
Zach Brown
d8acf96e94
Rename patch file to be more specific 2016-08-31 17:18:54 -05:00
killme
078b6fb1e0 Disable ticking of snow blocks 2016-08-30 23:45:59 +02:00
Zach Brown
8e220b8ef9
Make getEntity dead check more specific 2016-08-28 00:46:21 -05:00
Zach Brown
ba4aaaa607
Restore some timings functionality lost in last 2016-08-27 19:36:26 -05:00
Zach Brown
b170e8cedb
Update upstream B/CB/S
Remove two features added upstream
2016-08-27 18:41:58 -05:00
Aikar
173d0fa33f Timings v2 updates for more chunk related timings (generations) 2016-08-20 00:07:26 -04:00
Alfie Cleveland
d9afd08cee
Optimise BlockStateEnum 2016-08-19 13:06:37 -05:00
Zach Brown
17c9d7d9da
Kick git and rebuild patches 2016-08-15 19:22:10 -05:00
Zach Brown
f80163c4ab
More changes to view distance API implementation
Should fix GH-381
2016-08-13 15:26:40 -05:00
Gabriele C
e51a3a332e
Introduce a setting to handle offline proxies
Servers behind a bungeecord proxy in offline mode
will now properly pull offline mode UUIDs and data
when this setting is set to false. Default is unchanged.
2016-08-12 18:22:58 -05:00
Zach Brown
997fa37ee7
Update upstream B/CB 2016-08-11 15:07:07 -05:00
Zach Brown
15f3ca7ecb
Update upstream B/CB 2016-08-07 00:01:31 -05:00
Zach Brown
9f95fbcd24
Send Bukkit scoreboards as well as vanilla boards
Fixes GH-384
2016-08-04 19:46:35 -05:00
Zach Brown
ae77393ad9
Re-track players that dismount from other players
Fixes GH-265
2016-07-31 16:33:25 -05:00
Zach Brown
af70722300
Fix entity tracking when the player is the vehicle
Fixes GH-378
2016-07-31 15:22:25 -05:00
Zach Brown
2763f8fe5e
Randomly generate team names for earlier commit
[17:17] _MylesC: the biggest issue you run into is bungee not handling
2 teams with same name :(
http://i.imgur.com/jbDigxW.png
2016-07-30 18:13:56 -05:00
Zach Brown
8f6208b1d3
Send a fake team as needed for the collision rule 2016-07-30 17:04:39 -05:00
Zach Brown
46bfd418a8
Update upstream B/CB/S 2016-07-30 18:02:34 -05:00
Zach Brown
c62efac3eb
Default configuration changes
Disable push based hoppers by default
Set chunk unload delay to 15s by default
Neither of these changes are retroactive for old users
2016-07-28 20:57:36 -05:00
Zach Brown
7dcb9b67ea
Make alternative falling block ground detection configurable
Workaround for GH-336
2016-07-28 20:54:48 -05:00
Zach Brown
dff26d883a
More informative vehicle moved wrongly log message 2016-07-28 19:17:26 -05:00
Zach Brown
f9f1a2e97e
Cleanup obfuscation helper comment format 2016-07-28 19:09:54 -05:00
Zach Brown
e30fab8ee6
Update upstream B/CB 2016-07-26 19:30:03 -05:00
Zach Brown
56d669ca52
Push based hoppers cleanup 2016-07-22 18:54:48 -05:00
Zach Brown
9918f90710
Update upstream CB 2016-07-22 17:24:30 -05:00
Zach Brown
4a551284a5
Fix TNTPrimed head hight calculation
Fixes GH-370
2016-07-19 18:48:08 -05:00
Zach Brown
11fabc9552
Less strict skull validation
Fixes GH-367
2016-07-18 18:07:48 -05:00
Gabscap
a6ef4fa064 Fix-Banner Patch: Display correct time in F3 2016-07-17 19:56:16 +02:00
Zach Brown
29e16baccb
Don't try and lookup profiles that have no UUID and no name
Closes GH-347
2016-07-16 20:19:25 -05:00
Zach Brown
c03e56be67
Remove use-hopper-check functionality that we restored
Our improved hopper checking system should provide a better benefit without
as many vanilla behavior issues.
2016-07-16 20:18:38 -05:00
Zach Brown
f1691b34c5
Update upstream B/CB/S 2016-07-15 17:36:53 -05:00
Zach Brown
d67763d7a3
Update upstream B/CB/S 2016-07-12 23:22:58 -05:00
Zach Brown
aea3ab11ab
Block sketchy head items and blocks 2016-07-10 10:45:05 -05:00
Zach Brown
2e2f401132
Update upstream tacos B/CB/S 2016-07-04 18:49:14 -05:00
Zach Brown
97d0490c4a
Disable delayed chunk unloads by default
While the option remains a powerful tool we recommend everyone use, 30s is
proving to be a bit much for certain gametypes and many admins are confused
that after updating they are now facing extreme loaded chunk counts.

We do recommend experienced users configure this value as needed, but we
cannot keep it as a default option given the variety of gametypes, the
potential inexperience of new users, and previous users upgrading and
now facing extreme chunk counts that offer little benefit.
2016-06-30 21:41:10 -05:00
Aikar
2e2842032f More Upstream tacos 2016-06-30 01:38:53 -04:00
Aikar
22f2c98375 Upstream tacos 2016-06-30 01:23:30 -04:00
Zach Brown
66bfe72181
Update upstream CB
It seems they've gotten their own workaround figured out, we'll keep our own fix for TE removal in but let them try theirs and see if it's better now.
2016-06-26 22:51:20 -05:00
Zach Brown
36f28b9cae
Stop overwriting block locations, root issue looks to be the TE fixer itself
Fixes GH-352
2016-06-26 18:39:33 -05:00
Zach Brown
bb3c7b16e5
Move setBlock tile->tile transition workaround into TE removal 2016-06-26 14:13:27 -05:00
Zach Brown
92195ceb57
Update upstream CB
Doesn't change anything except puts the last commit upstream, where it belongs
because we're nice like that, or something
2016-06-25 21:34:09 -05:00
Zach Brown
51e2a4f6d6
Update clients when setting blocks to air 2016-06-25 21:09:08 -05:00
Zach Brown
45d9b4c497
Update to MC 1.10.2 2016-06-25 12:21:26 -05:00
Aikar
18433121dc Fix Old Sign Conversion
1) Sign loading code was trying to parse the JSON before the check for oldSign.
       That code could then skip the old sign converting code if it triggers a JSON parse exception.
    2) New Mojang Schematic system has Tile Entities in the new converted format, but missing the Bukkit.isConverted flag
       This causes Igloos and such to render broken signs. We fix this by ignoring sign conversion for Defined Structures
2016-06-22 22:56:57 -04:00
Aikar
1f940b2ffa Fix Double World Add issues - Fixes #328
Vanilla will double add Spider Jockeys to the world, so ignore already added.

Also add debug if something else tries to, and abort before world gets bad state
2016-06-22 22:50:19 -04:00
Aikar
3faaaab75d Optimize isInvalidYLocation, getType and getBlockData
Some pretty micro optimizations, but this is the hottest method in the server....

This will drastically reduce number of operations to perform getType

the 2 previous patches was squashed into 1
2016-06-22 22:43:02 -04:00
Aikar
0973e46de1 Update upstream 2016-06-22 22:18:41 -04:00
Zach Brown
a656161705
Update upstream B/CB 2016-06-19 21:41:46 -05:00
Jadon Fowler
d61f37c0b2
Toggleable Elytra Wall Damage
Instead of calculating the damage taken from hitting a wall, you can
disable it in the config.
2016-06-18 23:14:58 -07:00
Aikar
0aa71fbf41 Delay Chunk Unloads based on Player Movement
When players are moving in the world, doing things such as building or exploring,
they will commonly go back and forth in a small area. This causes a ton of chunk load
and unload activity on the edge chunks of their view distance.

A simple back and forth movement in 6 blocks could spam a chunk to thrash a
loading and unload cycle over and over again.

This is very wasteful. This system introduces a delay of inactivity on a chunk
before it actually unloads, which is maintained separately from ChunkGC.

This allows servers with smaller worlds who do less long distance exploring to stop
wasting cpu cycles on saving/unloading/reloading chunks repeatedly.
2016-06-18 23:33:57 -04:00
totokaka
4d7917a87d
Fix issue with setting player view distance 2016-06-18 20:52:18 -05:00
Aikar
c8643cef2e Remove the item from the correct hand when spawn egg depletes 2016-06-18 03:44:11 -04:00
Techcable
bf40dd5557
Make entities look for hoppers
Cherry-pick of PR GH-319
2016-06-18 01:06:44 -05:00
Zach Brown
fab2a52fe1
Fix missed case in top of nether void damage patch
General cleanup, etc.
Closes GH-343
2016-06-18 01:06:37 -05:00
Jadon Fowler
f9837e4068
Fix infinite loop when saving chunks
Running `/save-all flush` would start an infinite loop that prints:
    ThreadedAnvilChunkSotrage (world): All chunks are saved
2016-06-17 02:29:57 -07:00
Zach Brown
d73cd6a4bc
Update upstream B/CB/S 2016-06-16 20:27:47 -05:00
Zach Brown
cabb2450ed
Remove timings addition that was fixed upstream 2016-06-15 17:51:30 -05:00
Zach Brown
cd6dadb8bc
Update upstreams 2016-06-15 17:43:51 -05:00
Zach Brown
98d1d2ac57
Update upstream B/CB
Merges fixes for SPIGOT-2404 and SPIGOT-2408 into Paper
2016-06-13 18:42:08 -05:00
Zach Brown
5bad141169
Update upstream CB/S 2016-06-12 12:00:07 -05:00
Zach Brown
14ffaf5d2c
Update upstream B/CB 2016-06-11 22:22:27 -05:00
Jedediah Smith
83191ef7a1
Resolve an ISE in MagmaBlock damage handling 2016-06-11 19:10:37 -05:00
Zach Brown
4924e9398f
MC-80966 - Always send chunk sections 2016-06-11 14:59:28 -05:00
Zach Brown
47db868df1
Update upstream and rebuild 2016-06-11 14:58:54 -05:00
Zach Brown
b864322a18
Simplify getEntity by UUID patch, misc readme changes 2016-06-09 21:43:32 -05:00
Zach Brown
c442e96eb9
Update to Minecraft 1.10 2016-06-08 23:42:46 -05:00
chickeneer
171a079cd2 Fix Potion Equals Bug
Will be in Spigot 1.10, but getting it in for 1.9 users
2016-06-08 20:41:10 -04:00
Aikar
3201cfe07a Fix issue with chests being erased - #322 Fixed 2016-06-07 03:03:51 -04:00
Aikar
a9d8237509 more chunk unload queue fixes, hopefully fix various odd bugs 2016-06-07 02:08:59 -04:00
Aikar
092733e8ff Fix bug with lootable refresh not saving inventory if on 2016-06-06 19:56:51 -04:00
Martin Panzer
cf65e06d96
Make falling block height nerf respect doEntityDrops 2016-06-06 21:14:35 +02:00
Aikar
b394ec0472 Add sub timings to chunk map 2016-06-05 00:10:50 -04:00
Zach
c2fd63eebf Merge pull request #317 from MyPlayPlanet/fix-fence-fallblock
Fix fallingblocks getting stuck on fences
2016-06-04 18:24:27 -05:00
Zach Brown
dbbf2eb27b
Fix a few global configuration options being unavailable 2016-06-04 17:26:11 -05:00
Aikar
e483da14b5 remove part of my hopper patch, not sure its doing what I intended 2016-06-04 11:52:25 -04:00
Aikar
f4a43ec92d Update Upstream 2016-06-04 11:41:04 -04:00
Martin Panzer
96a263cddf
Fix fallingblocks getting stuck on fences 2016-06-04 10:11:03 +02:00
Aikar
4becba32a6 Only send Dragon/Wither Death sounds to same world
Also fix view distance lookup
2016-05-31 23:56:19 -04:00
Aikar
1aef85c2bb Fix skeleton horse spawn chance ignoring difficulty modifier if custom set
Also reduce diff
2016-05-30 12:50:57 -04:00
Zach
a272c3c0cb Merge pull request #310 from MyPlayPlanet/server-name-param
Add server-name as server parameter
2016-05-29 18:35:03 -05:00
Zach Brown
0ae5768736
Update upstreams 2016-05-29 18:32:21 -05:00
Zach Brown
0a98d670fe
Stop relocating jopt-simple
Workaround for GH-189
Relocation breaks the lookup of a resource bundle, and this is easier than forking and maintaining our own version
 AFAIK this should be fine to do. Guess we'll see
2016-05-29 18:26:35 -05:00
Martin Panzer
7add3186a7
Add server-name as server parameter 2016-05-28 16:56:55 +02:00
Aikar
a8d326f367 re-add timing that spigot missed 2016-05-27 22:29:09 -04:00
Aikar
dfd19063f9 Ensure chunks never load async
Force operation to main thread if it occurs async
2016-05-27 22:28:23 -04:00
Zach Brown
06a6c422b4
Update upstreams 2016-05-27 21:22:18 -05:00
Aikar
fe18b38aea Remove unneeded mob spawn cap patch - Fixes #235
I misread the code and thought the code kept looping until the mob spawn cap was hit.

Upon furthur review, this is not true, so this patch doesn't do anything sane.
2016-05-27 21:35:28 -04:00
Aikar
13492455a1 Update Upstream 2016-05-25 12:37:17 -04:00
Martin Panzer
391d0c04f8
Optimize Redstone torch list removal 2016-05-24 20:08:40 -05:00
Zach Brown
b71c0e6f49
Remove comment and fix build }}}}} 2016-05-22 21:20:15 -05:00
Zach Brown
3ab1f229c5
Re-add some method synchronization and move to a SingleThreadedExecutor in MCUtils 2016-05-22 21:17:19 -05:00
Zach Brown
aaf6c3f329
Temporarily remove synchronization from UserCache optimizations
In regards to GH-301
2016-05-22 21:07:45 -05:00
Zach Brown
be3daf857b
Update old TNT cannon mechanics patch to 1.9.4
Behavior may be buggy or otherwise broken, testing with the option is needed.
`fix-cannons` has been removed in favor of `enable-old-tnt-cannon-behaviors`
2016-05-22 20:26:15 -05:00
Zach Brown
08701a47f7
Update upstream CB
Closes GH-303
2016-05-21 22:07:14 -05:00
Zach Brown
df1df5d4b4
Update B/CB/S
Closes GH-288
2016-05-20 17:32:50 -05:00
Aikar
d22f9071ff Avoid blocking on Network Manager creation
Fixes #294

Use a pending list to handle new connections so that the netty threads
do not block waiting for the main thread to finish ticking
2016-05-16 23:21:26 -04:00
Aikar
2c6feab963 MC-99914 - ensure EntityItem loads before EntityPotion 2016-05-16 22:54:48 -04:00
Aikar
18b4817a33 bump the default maxMobSpawns default to 250, and add support for unlimited
Use -1 to represent vanilla/unlimited.
Updated PaperWorldConfig to also update the individual worlds limit if it was set
to the new default value.

Should hopefully help #235
2016-05-16 22:07:12 -04:00
Aikar
a8271cdc05 Optimize UserCache / Thread Safe
Because Techable keeps complaining about how this isn't thread safe,
easier to do this than replace the entire thing.

Additionally, move Saving of the User cache to be done async, incase
the user never changed the default setting for Spigot's save on stop only.
2016-05-16 21:14:28 -04:00
Aikar
484a23f437 Add Async Helper method to MCUtil 2016-05-16 20:50:09 -04:00
Aikar
e56bbcdcda Refactor Lighting Queue System
may help #284

Cleans up the lighting queue system, reducing diff and improving implementation.

We no longer stop chunk unloads due to lighting updates, and instead simply flush the lighting queue.
The cost of forcing the chunk (and its neighbors!) to stay loaded waiting for its
lighting work to finish is much greater than simply taking the hit and doing the work.

This change also helps reduce the diff and avoid bugs with missed diffs by removing
duplicated logic.

Also switches to a more effecient data structure (ArrayDeque instead of LinkedList) for the queue itself.
2016-05-15 18:48:39 -04:00
Zach Brown
613655eae6
TileEntityLootable can call processRefill with a null player
Seems specific to EntityMinecartChest
Fixes GH-290
2016-05-15 01:41:36 -05:00
Aikar
024bc323bc More cases of avoiding marking active for chunks, to stop potential leaks 2016-05-13 22:27:20 -04:00
Aikar
db83abe17d Bring back an EAR optimization from 1.9.2 2016-05-13 01:39:03 -04:00
Aikar
bf2ed8af45 Fix chunk leak issue with queued light updates 2016-05-13 01:34:37 -04:00
Zach Brown
4cfcd525c4
Make watchdoge disabler its own patch file
Change implementation, smaller diff, less NPE
2016-05-12 23:05:46 -05:00
BlackHole
ad63fd7d6a
Override BlockPosition.MutableBlockPosition.isValidLocation()
Fixes GH-281
2016-05-12 12:58:45 -05:00
Aikar
74a73b7223 Fix T/TE removal list bug
Thanks @Cat6363
2016-05-12 08:55:35 -04:00
Aikar
dba25d1e86 unmark chunk as unloading when unload is cancelled
no obviousy bugs caused by this at the moment, but we may need to clean up process to be like
how I use to have it before vanilla did it, and we shouldn't leave this boolean in an invalid state.
2016-05-12 02:07:39 -04:00
Aikar
8e57fdd12b Fix chunk unload leak issues due to neighbor updates 2016-05-12 01:55:53 -04:00
Aikar
b59e2a51de Paper 1.9.4 Update 2016-05-12 01:01:13 -04:00
Zach Brown
442d190103
Make beacons force secondary potion effect application
Fixes GH-273
Missed case from earlier fix 52f462d52d
2016-05-08 15:34:40 -05:00
Aikar
c10df228a7 Don't save empty scoreboard teams to scoreboard.dat - Fixes #244
While I can't think of any reason to do this except some REALLY weird workflow, I still added a config
to let you save them incase someone runs into issues.
2016-05-07 23:39:22 -04:00
Aikar
0494f36efe fix bug with lootable API
was returning the NMS instance of objects instead of the Bukkit API objects
2016-05-07 21:16:38 -04:00
Gabscap
abd098642a Add null-check to "Entity Tracking Improvement" 2016-05-06 16:42:09 +02:00
Zach Brown
fa24cff5ba
Move this somewhere sane 2016-05-05 20:18:20 -05:00
Zach Brown
32ecc21162
Revert "Add debug property to disable the watchdog"
This reverts commit d1c470756f962801e7d3bc19bee9440f33a4706e.
2016-05-05 20:10:32 -05:00
Zach Brown
4f73ddb766
Add debug property to disable the watchdog
Use at your own risk, we will not waste our time with support
if your server times out and you cant put 2+2 together to
figure out that its because you killed the watchdoge
2016-05-05 20:04:28 -05:00
Aikar
9dffc43aec Fix hopper suck in patch bug
was checking for ItemStack's instead of EntityItem
2016-05-05 20:22:01 -04:00
Aikar
f4a62ba294 Implement getNMSWorld on EntityMinecartContainer
Was missed because the class is abstract and nothing implementing the class was imported in Paper
2016-05-04 20:33:16 -04:00
Aikar
53abbfdc4c Entity Tracking Improvements
If any part of a Vehicle/Passenger relationship is visible to a player,
send all passenger/vehicles to the player in the chain.
2016-05-04 20:10:22 -04:00
Aikar
3f0e24eaf3 Do not load chunks for pathfinding 2016-05-04 19:53:33 -04:00
Aikar
211cba970b LootTable API & Replenishable Lootables Feature
Provides an API to control the loot table for an object.
Also provides a feature that any Lootable Inventory (Chests in Structures)
can automatically replenish after a given time.

This feature is good for long term worlds so that newer players
do not suffer with "Every chest has been looted"

API and Event added to control the Auto Replenish feature for players.
2016-05-04 19:46:28 -04:00
Aikar
368a822c47 Rename a Timings class and split up Tracker timings 2016-04-29 21:23:40 -04:00
Aikar
5aa3237a21 Improve Maps (in item frames) performance and bug fixes
Maps used a modified version of rendering to support plugin controlled
imaging on maps. The Craft Map Renderer is much slower than Vanilla,
causing maps in item frames to cause a noticeable hit on server performance.

This updates the map system to not use the Craft system if we detect that no
custom renderers are in use, defaulting to the much simpler Vanilla system.

Additionally, numerous issues to player position tracking on maps has been fixed.
2016-04-29 20:04:12 -04:00
Aikar
242ddc939b comment out the other update call instead
otherwise might break stuff
2016-04-27 22:22:35 -04:00
Aikar
28bf70ee16 Improve Minecraft Hopper Performance
Removes unnecessary extra calls to .update() that are very expensive
Also reset cooldown each hopper tick that a hopper is full.
2016-04-27 22:15:57 -04:00
willies952002
02494f5be7
Reimplement PlayerEditBookEvent 2016-04-26 23:04:20 -04:00
kashike
db8f9e663c
Add ability to disable, and to set min/max next tick delay, of frosted_ice. Resolves #172 2016-04-25 13:36:21 -07:00
kashike
0cfd3c0dc6 Merge pull request #230 from kashike/feature/arrow-pickup
Arrow pickup rule API
2016-04-25 13:27:51 -07:00
Zach Brown
ef64712c6c
SPIGOT-1401: Fix dispenser/dropper/furnace placement being different from SP 2016-04-24 19:56:04 -05:00
Aikar
9381554475 update upstream 2016-04-23 22:41:46 -04:00
Aikar
2cbd400e17 Fix Player View Distance API corrupting Chunk Sending - Fixes #207
The Player View Distance patch has been screwing with the configured world view distance.

The world a player was created in would set the players view distance, which would be locked to that distance.

Then switching worlds would not give you an updated view distance.

This then caused issues with what view distance the player should have in the chunk map and did not send chunks to the client correctly during movement.

This patch has now been changed to use a -1 default for "default" and will not override view distance until someone has actually used the API to change it.
2016-04-23 21:39:22 -04:00
Aikar
422f32484b remove potentially bad check 2016-04-23 13:10:55 -04:00
Aikar
55afa33cbc Fix a vanilla bug thats likely causing the mob spawn issues 2016-04-23 12:27:46 -04:00
Aikar
485ad4238b improve the jackass test 2016-04-23 11:57:39 -04:00
Zach Brown
3591fb7ed9
Update upstream Spigot and rebuild 2016-04-22 22:21:10 -05:00
kashike
784ba17340
Fix wrong variable being checked. Fixes #233 2016-04-22 19:02:57 -07:00
Zach Brown
a1e3c0b12b
Check entity count adds and mark entities removed as needed 2016-04-22 20:35:24 -05:00
Zach Brown
e9ffa94994
More involved workaround for vehicle event cancellation 2016-04-22 18:43:22 -05:00
Zach Brown
4f7b7bb31a
Fix EntityDismountEvent and VehicleExitEvent cancellation
Perhaps "workaround" would be the better term
2016-04-22 15:45:22 -05:00
kashike
7ac2b8139e Arrow pickup rule API 2016-04-22 00:07:58 -07:00
Zach Brown
a6536804fd
EntityHealthRegain isFastRegen API 2016-04-22 01:48:49 -05:00
Zach
b3a6b5d2a1 Merge pull request #212 from willies952002/feature/permReload
Also Reload Plugin-Defined Permissions
2016-04-22 00:58:32 -05:00
Zach Brown
9abe6f6882
Update upstream CB and rebuild 2016-04-20 11:58:49 -05:00
willies952002
a313078d97 Also Reload Plugin Defined Permissions
Closes https://github.com/PaperMC/Paper/issues/210
2016-04-19 17:29:33 -04:00
Zach Brown
c08f771081
Re-add PlayerLocaleChangeEvent implementation
Apparently this was missed at some point, likely during the 1.9 update"
2016-04-19 14:25:05 -05:00
Zach Brown
1bce5c2438
Here have a rebuild while we're at it 2016-04-18 09:43:19 -05:00
Zach Brown
68cdc4fa90
Remove non-zero BlockIterator block and Loading chunks earlier in player TP patches
Allowing only non-zero BlockIterators breaks an API contract explicitly allowing them
(*eyeroll*)

And loading chunks earlier in the TP patch did not resolve the original issue, and now
that it is resolved, shouldn't actually provide any tangible benefits
2016-04-18 09:41:11 -05:00
Aikar
ce9e19cfed Prevent Fire from loading chunks
This causes the nether to spam unload/reload chunks, plus overall
bad behavior.
2016-04-17 17:28:16 -04:00
Zach Brown
2e57c5774e
Don't check velocities on Projectiles
Closes GH-217
2016-04-17 13:32:19 -05:00
Aikar
8ba4b64739 Configurable RCON IP address to bind to 2016-04-16 00:46:01 -04:00
Aikar
ba9266a37b Allow capping number of attempts at spawning mobs
By default, this logic would loop endlessly trying to fill the world
with entities until it hits the worlds spawn.

This patch will cap the # of attempts to so that the tick does not spend
extra long time on mob spawning
2016-04-15 22:35:03 -04:00
Aikar
845090e570 Ensure we actually removed entity from chunk before decrementing counts
If a plugin hacks into NMS and triggers entity removal, it could
result in an entity being attempted to remove from the chunk twice.

The 2nd pass will return false, as it did not find the entity in the list.

We should not touch entity counts if the entity was not removed, to avoid
going negative.
2016-04-15 21:31:12 -04:00
Zach Brown
8672653871
Check the block water mobs spawn in, not the block under 2016-04-15 15:49:39 -05:00
Aikar
77cdcc281b Fix Bugs with Spigot Mob Spawn Logic - Fixes #138
Spigot drastically altered vanilla mob spawn logic and caused a few issues.
1) Used only spawnable chunks vs entire world for entity counting, resulting in ignoring
other entities in the world, and causing the world to go over its intended limit.

Specially with servers using smaller mob spawn ranges than view distance, as well as affects spawning API

2) Spigot was using 16x16 division instead of vanilla 17x17 division.

Issues got worse in 1.9 due to more chunks being loaded due to 1.9 changes, that fall out
of the monster spawn radius.

This patch returns mob counting to use all loaded chunks, and 17x17 division.
2016-04-14 21:03:57 -04:00
Zach Brown
794a848857
Revert "Only check for async callers, do not remove potentially used variables"
This reverts commit da7320fc42.
2016-04-14 19:26:57 -05:00
Zach Brown
8ccd31ed38 Water mobs should only spawn in the water
Closes GH-199
2016-04-14 18:06:29 -05:00
Zach Brown
da7320fc42 Only check for async callers, do not remove potentially used variables
Potentially resolves GH-138
2016-04-14 16:48:52 -05:00
Zach
2924ae631e Merge pull request #205 from kashike/feature/handshake
Add handshake event
2016-04-13 23:10:34 -05:00
kashike
66d3688b39
Add handshake event to allow plugins to handle client handshaking logic themselves 2016-04-13 21:12:57 -07:00
Zach Brown
d07eac31bc
Update bungeecord chat API graduations 2016-04-13 22:21:42 -05:00
Zach Brown
0084b02703
Re-add Configurable Player Collision
Nothing to see here, move along
2016-04-13 16:12:44 -05:00
Jedediah Smith
7ab9a51731 Fix some players not being kicked on shutdown
Closes GH-8
2016-04-13 16:04:21 -05:00
Jedediah Smith
15cdfc7472 Update SB's affectsSpawning API to use filters
Closes GH-169
2016-04-13 16:03:49 -05:00
Aikar
4ee5d3eb31 Configurable Player Collision - Resolves #161 2016-04-13 02:11:40 -04:00
Aikar
d98f9cc5ae Don't tick Skulls - unused code - Fixes #202 2016-04-13 00:32:05 -04:00
Aikar
e177666bfb Remove unused World Tile Entity List
Massive hit to performance and it is completely unnecessary.
2016-04-13 00:27:38 -04:00
Aikar
3f68b7f930 Update PlayerConnection for all teleportation of players
Previous fix for SPIGOT-1903 only applied to world changes, but many other
cases of players been teleporting can cause that same bug. So call it any time
setPosition is called to ensure we never falsely trigger "moved too quickly"

And this commit may be considered evil to some people.
2016-04-12 23:26:42 -04:00
Zach Brown
189235906d
Update upstream 2016-04-12 11:31:54 -05:00
Zach Brown
ef3f6a481a
Update upstreams 2016-04-11 10:30:12 -05:00
Aikar
a0d38c0b55 update MCUtil.cmpFromMessage to use proper JSON 2016-04-11 01:06:28 -04:00
Aikar
8f89e0f84c SPIGOT-1903: Update PlayerConnection on world change - Fixes #120 2016-04-10 22:36:56 -04:00
Zach Brown
a3358b1915
Ugly workaround for SPIGOT-1915 & GH-114
Closes GH-114
2016-04-10 03:24:54 -05:00
Zach Brown
6fc0a013a5
Apply the Ensure inv drag is in bounds patch properly
Closes GH-174
2016-04-09 21:33:29 -05:00
Zach Brown
a97fe29d9d
Can't expect others to follow formatting if I don't 2016-04-09 13:54:47 -05:00
Zach Brown
4ed5672cd9
Backport a memory cleanup change from 16w14a 2016-04-09 13:50:56 -05:00
Zach Brown
38d2939ff1
Update upstreams and rebuild 2016-04-08 17:24:26 -05:00
Zach Brown
44a1d43781
Simplify vanilla scoreboard nickname coloring patch
Closes GH-195
2016-04-07 17:31:09 -05:00
Zach Brown
6b75dac6f4
Add basic support for using vanilla style, world-based, scoreboard name coloring
Closes GH-188
2016-04-06 01:10:26 -05:00
Aikar
11d1937145 Include Redstone Torches in the redstone physics event optimization 2016-04-05 23:20:46 -04:00
Aikar
539e1e024c Remove Debug checks from DataBits
These are super hot and causing noticeable hits

Before: http://i.imgur.com/nQsMzAE.png
After: http://i.imgur.com/nJ46crB.png
2016-04-05 21:55:07 -04:00
Aikar
cdd926c1e9 Re-add fastutil map to Chunk map. Amaranth confirmed its faster by 3x 2016-04-05 20:43:11 -04:00
Aikar
8e68f444f1 Fix Nether/End world unloading spawn chunks - Fixes #92 2016-04-05 19:53:30 -04:00
Zach Brown
bce92696c6 Update upstream and rebuild 2016-04-04 09:53:03 -05:00
Aikar
94fd16aa4a fix keep spawn loaded config 2016-04-03 23:08:13 -04:00
Aikar
62071aad36 Fix errorneous call of EntityDismountEvent 2016-04-03 19:11:25 -04:00
Aikar
d46dec88b4 Fix Cancelling BlockPlaceEvent triggering physics 2016-04-03 17:49:31 -04:00
Aikar
e11a8f0bd5 Configurable Keep Spawn Loaded range per world
This lets you disable it for some worlds and lower it for others.
2016-04-03 17:34:38 -04:00
Aikar
47221671ba Configurable Grass Spread Tick Rate
Raise this value to make grass spread slower. Set to 0 to turn off grass spreading all together.
2016-04-03 16:29:39 -04:00
kashike
73fc582824 Fix reducedDebugInfo not initialized on client 2016-04-03 05:09:42 -05:00
Zach Brown
f6782d5738 Rebuild 2016-04-03 05:06:48 -05:00
Zach Brown
d463cc6139 Merge branch 'feature/unknown-use' of https://github.com/kashike/Paper into kashike-feature/unknown-use 2016-04-03 04:52:36 -05:00
Zach Brown
2f79610112 Mark chunk as active if ChunkUnloadEvent is cancelled
Potentially related to GH-169
2016-04-03 02:02:06 -05:00
Zach Brown
bb265b967d We don't need to go fast anymore 2016-04-03 02:00:35 -05:00
kashike
871920f2f5 Add PlayerUseUnknownEntityEvent 2016-04-02 18:10:41 -07:00
Aikar
cd3d8fb27e Update upstream 2016-04-01 22:08:40 -04:00
DemonWav
2b99b1095e <~Z750> sex it up for me 2016-04-01 01:59:59 -05:00
Zach Brown
d8c6c41507 gottagofast 2016-04-01 01:33:12 -05:00
Aikar
081420d738 improve implementation of chunk access patch 2016-04-01 00:35:44 -04:00
Aikar
c0e1410682 Fix pom to be compile instead of provided for fastutil 2016-04-01 00:35:21 -04:00
Aikar
c92ce02363 Move fastutil from a patch file to a library, and improve EAR 2016-04-01 00:18:18 -04:00
Aikar
78202f87b7 Remove Long2ObjectHashMap for Chunks
Speaking with Amaranth, his point of his implementation was that most
of the lookups are on loaded chunks, so that code is optimized for that case.

While Long2Object should be faster as a general purpose map,
for MC uses, Amaranth's version should be faster. Will try to benchmark
the 2 at some future.
2016-03-31 22:17:33 -04:00
Aikar
d03da137f2 Fix isEdgeOfChunk check for MCUtils 2016-03-31 22:17:33 -04:00
Aikar
578af64827 Update upstream for memory leak patch 2016-03-31 21:47:17 -04:00
Aikar
dea2d41b86 Do not load chunks for light checks
Should only happen for blocks on the edge that uses neighbors light level
(certain blocks). In that case, there will be 3-4 other neighbors to get a light level from.
2016-03-31 19:29:06 -04:00
Aikar
0ba94906ad Fix Massive Memory Leak
Pathfinder objects are storing references to ChunkCache's, and never cleaning up.

These ChunkCache's then leak other entity objects. Those entity objects then have leaks to their
own chunk cache. A recursive problem....

Clean up the ChunkCache reference after it is done being used.
2016-03-31 19:08:27 -04:00
Zach Brown
fb52abdf7e Upstream merge CB, rebuild patch 2016-03-31 12:58:20 -05:00
Zach Brown
582ad801b5 Missed diff, unused config entry, general cleanup
cc GH-170
2016-03-30 22:56:30 -05:00
Aikar
3b2d6fd59e add null check to getEntity API 2016-03-30 21:56:07 -04:00
Aikar
fb74f6dbfd Use paperclip.properties so CI can work 2016-03-30 21:27:13 -04:00
Aikar
38df6e505c Paper 1.9.2 Update 2016-03-30 20:50:23 -04:00
Aikar
f051ea2ab3 Use FastUtil Long/Int HashMap's
For DataWatcher, swap out plain Integer key HashMap for a Int2ObjectOpenHashMap
For ChunkProviderServer, swap out CB's custom LongHashMap with Long2ObjectOpenHashMap

These collections are super fast as seen
http://java-performance.info/hashmap-overview-jdk-fastutil-goldman-sachs-hppc-koloboke-trove-january-2015/
2016-03-30 09:43:11 -05:00
Zach Brown
a785a9460e Skip dead entities in getEntity(UUID) API 2016-03-30 09:41:12 -05:00
DemonWav
4bf9c3c177 Add getEntity by UUID API 2016-03-30 01:20:36 -05:00
Zach Brown
d46c56abf0 Put this patch in the patches folder, so it's actually used 2016-03-29 13:56:19 -05:00
Antony Riley
af65eaaa3b Sanitise RegionFileCache and make cache size configurable. 2016-03-29 19:09:43 +03:00
Fabse
d71444f966 Add a workaround for bugged Minecart drop names 2016-03-28 22:41:27 -05:00
Aikar
48dff29f31 Remove, not invalidate, Metadata on reload
Objects loaded over different class loaders are not the same. Nasty dragons lie here.

Also clean up the previous patch to no longer butcher imports.
2016-03-28 22:43:05 -04:00
Aikar
c09424fd33 Prevent Waterflow BlockFromToEvent from loading chunks
Many protection plugins would unintentionally trigger chunk loads
by calling .getToBlock() on an unloaded chunk, killing performance.

Simply skip the event call. as CraftBukkit blocks changing the block
of unloaded chunks anyways.

This keeps behavior consistent, vs inconsistent flowing based on plugin triggered loads.
2016-03-28 22:05:22 -04:00
Aikar
b99e8381ab EntityPathfindEvent
Fires when an Entity decides to start moving to a location.

This is not the same as a move event. This only fires when an entity chooses
to start moving to a location, and allows cancelling that pathfind.

Additionally, only get is supported for now. Unsure if changing target location
is safe to do.
2016-03-28 21:24:45 -04:00
Aikar
9ff01b16ab Add MCUtils helper
This will be used by my next commit. But trying to get the build going
since CI blew up
2016-03-28 21:01:42 -04:00
Aikar
fb3834f805 And AddTo is a different event than RemoveFrom 2016-03-28 20:58:42 -04:00
Aikar
53309e9172 Actually fire those events 2016-03-28 20:57:15 -04:00
Aikar
89c912061b Configurable Chunk Inhabited Timer
Vanilla stores how long a chunk has been active on a server, and dynamically scales some
aspects of vanilla gameplay to this factor.

For people who want all chunks to be treated equally, you can disable the timer.
2016-03-28 20:47:46 -04:00
Aikar
22b248d631 Entity AddTo/RemoveFrom World Events
These events will give plugins a reliable way to track every entity that is added
or removed from a world, so that one may always ensure they are in a desired state.
2016-03-28 20:33:10 -04:00
Aikar
030de0f42a Update upstream 2016-03-28 20:27:56 -04:00
Aikar
d52a49cfa1 Option to disable BlockPhysicsEvent for Redstone
Not sure of any reason a plugin would need to act on a Physics event
for redstone. There is a BlockRedstoneEvent that plugins can also use
for accessing redstone activity.

Defaulting this to false will provide substantial performance improvement
by saving millions of event calls on redstone heavy servers.
2016-03-28 19:57:13 -04:00
Zach Brown
0363644455 Don't set spawn world in PlayerInitialSpawnEvent
Fixes GH-85 and GH-157
2016-03-28 13:00:47 -05:00
Zach Brown
249e52e7a8 Fix player tab list API 2016-03-28 10:41:04 -05:00
Zach Brown
b210aa7dfe Update upstream B/CB/Spigot and rebuild 2016-03-27 20:48:50 -05:00
Zach Brown
bf877b9a72 Check async spawn chunk check, remove unused variables, GH-159 2016-03-27 20:31:23 -05:00
DemonWav
34973fe898 Add same infi-loop fix to other identical block of code I missed earlier 2016-03-27 05:42:02 -05:00
Zach
5108183346 Merge pull request #153 from kashike/feature/slot
Access items by EquipmentSlot
2016-03-27 02:24:12 -05:00
Zach Brown
85ee80938b Update upstream and rebuild 2016-03-27 01:40:17 -05:00
kashike
eeb64630cd Access items by EquipmentSlot 2016-03-26 22:23:42 -07:00
DemonWav
ef3d40bf2a Prevent possible infinite loop in BlockPosition iterator 2016-03-26 22:06:33 -05:00
Gabscap
f356b447b7 Load chunk before player teleport - Fixes #147 2016-03-26 19:05:31 +01:00
Zach Brown
79c54e4434 Pull in ArrowPickupItemEvent and legacy dataconverter fix from SportBukkit 2016-03-26 03:38:02 -05:00
Zach Brown
47b71ea411 Update upstream CB/Spigot
cc GH-146
2016-03-26 01:38:02 -05:00
Zach Brown
451ede36cf Merge upstream changes and rebuild patches 2016-03-25 18:21:38 -05:00
Byteflux
8b76c66f4b Entity#getOrigin() should return a cloned Location 2016-03-25 09:39:58 -07:00
Byteflux
5bd7a9ab62 Always try to load entity origin location from new NBT tag 2016-03-25 09:32:20 -07:00
Byteflux
ced183982a Add Entity Origin API
This replaces the TNT and Falling Block Source Location API with a more
general purpose API that works with all entities.
2016-03-25 02:24:27 -07:00
Zach Brown
a6a5b12b9e Re-add TileEntity removal list, fix build 2016-03-25 02:50:56 -05:00
Zach Brown
dab9d40bfd Update upstream CB 2016-03-25 02:30:39 -05:00
Byteflux
074838e0f3 Fix timings config being removed by another patch 2016-03-24 23:46:53 -07:00
Byteflux
3fd3544a36 Add Lighting Queue
The lighting queue spreads out the processing of light updates across
multiple ticks based on how much free time the server has left at the end
of the tick.
2016-03-24 23:38:38 -07:00
Byteflux
1d88720b2c Relocate Timings v2 patch 2016-03-24 22:04:44 -07:00
Byteflux
2f0866fef0 Fix decompile errors in mc-dev imports patch 2016-03-24 19:57:01 -07:00
Gabscap
a897a66edf rebuild 2016-03-25 02:23:23 +01:00
Aikar
f5eb0e04bc rebuild 2016-03-24 20:29:40 -04:00
Zach Brown
7d084c8b67 Update upstream B/CB
Remove patch 0099: Pulled into upstream CraftBukkit
2016-03-24 01:39:29 -05:00
Aikar
4b35a6d530 remove blockstate cache patch 2016-03-23 21:19:45 -04:00
Zach Brown
6c16a295b5 Clean up title and tab list patch
Remember kids, the Ballmer peak is hard to hit https://xkcd.com/323/
Finally fixes #126 and #94 (I tested, it does, please, really, promise)
2016-03-23 01:05:09 -05:00
Aikar
f794ca4eca Optimize isValidLocation for inlining - Resolves #123 2016-03-22 23:44:46 -04:00
Aikar
30748518b4 Setting the cache is important to access a cache 2016-03-22 23:44:35 -04:00
Zach Brown
222a306fb9 How does typing work?
Closes GH-125
2016-03-22 14:55:42 -05:00
Zach Brown
3f3fc8b6dc Configurable spawn chances for skeleton horses
Closes feature request GH-111
2016-03-22 12:07:34 -05:00
Aikar
06e453017f rebuild patches 2016-03-22 01:49:52 -04:00
Aikar
e11c563e9f Optimize Chunk Access
getting a loaded chunk is one of the most hottest pieces of code in the game.
Often, getChunkAt is called for the same chunk multiple times in a row, often
from getType();

Optimize this look up by using a Last Access cache.
2016-03-22 01:48:05 -04:00
Aikar
15dd8f0692 Don't teleport dead entities
Had some issue with this in past, and this is the vanilla logic.
Potentially an old CB change that's no longer needed.
2016-03-22 01:48:05 -04:00
Aikar
2e29af3df0 Use a Shared Random for Entities
Reduces memory usage and provides ensures more randomness, Especially since a lot of garbage entity objects get created.
2016-03-22 01:48:05 -04:00
Gabscap
6b4b7d300c Add "Waving banner workaround" 2016-03-22 00:37:00 -05:00
Aikar
17a08203ed Make Chunk IO Thread Base count configurable 2016-03-21 23:53:04 -04:00
Aikar
816fccea08 Fix skull cache case bug
missing cache hits on players with uppercase letters in name
2016-03-21 23:38:24 -04:00
Aikar
9a2f82feca Cache BlockState for Blocks
Improve performance for many plugins that call .getState() multiple
times for things like signs that have to "build" sign data.
2016-03-21 23:38:19 -04:00
Aikar
8d0fbc5c1d Another attempt at unload queue, including EAR improvements.
should be fully working now as I pretty much fell back to existing
methods so anything touching the unloadQueue set should behave correctly.

And maintained NMS Reflection safe change too
2016-03-21 23:04:38 -04:00
Aikar
646b62a220 Make /reload require typing confirm to actually reload 2016-03-21 21:40:29 -04:00
willies952002
62580304f4 Add Bukkit#reloadPermissions()
Fix issues with Paper build #544
2016-03-21 21:29:41 -04:00
Aikar
def021fb9b fix rebuild patches and rebuild current patches 2016-03-21 20:46:54 -04:00
Daniel Ennis
8616dc012c Merge pull request #91 from willies952002/feature/permReload
Allow Reloading of Custom Permissions - resolves #49
2016-03-21 20:24:27 -04:00
William
869ab5202e Allow Reloading of Custom Permissions
Add the ability to reload the custom permissions file by doing "/reload permissions"

Implements Feature Request: https://github.com/PaperMC/Paper/issues/49
2016-03-21 19:28:52 -04:00
Zach Brown
ca7c627ded Use singleton in Village class to work around null issue that evades 2016-03-21 10:28:45 -05:00
Zach Brown
836ec9dc1a Upstream merge Bukkit, update Paperclip 2016-03-21 09:04:19 -05:00
Zach Brown
e2bbf2228d Support offline mode from the whitelist command
Closes GH-79
2016-03-21 00:53:32 -05:00
Zach Brown
ef3a9f1286 Also handle original end case that spawned the issue
Final commit for GH-96 if there's any justine in the world
2016-03-20 23:15:37 -05:00
Zach
082e07406f Merge pull request #118 from Techcable/fix/spigot-title-compatibility
Fix backwards compatibility with spigot title api
2016-03-20 22:53:57 -05:00
Techcable
a96fcc9206 Fix backwards compatibility with spigot title api
I shouldn't have assumed their api was anything other but a thin (and incomplete) wrapper over the packets.

Fixes #94
2016-03-20 20:46:31 -07:00
Zach Brown
84b54438c1 Only mark player as invulnerable if they're actually changing worlds
Fixes GH-96
2016-03-20 22:39:00 -05:00
Zach Brown
537c4994db Only mark player as invulnerable if they're going to the end
cc GH-96
2016-03-20 19:44:49 -05:00
Zach Brown
f01982bf4c Upstream merge 2016-03-20 16:05:42 -05:00
Daniel Ennis
aa054b6838 Catch Async PlayerChunkMap operations - Fixes #113 2016-03-20 15:25:30 -04:00
Aikar
a1651ffd8e Disable Chunk Unload Queue Patch for now 2016-03-20 00:54:23 -04:00
Aikar
532e229c28 handle NaN health/absorb values and repair bad data
Undoes damage from Damage API bugs
2016-03-20 00:35:02 -04:00
Aikar
480a87933a Improve chunk unload queue to maintain some previous expectations
While the previous logic was logically correct, some CB API's before
would request a chunk without removing it from the unload queue.

While this is logically wrong, some plugins seem to be causing unload issues.

This change will make anything using that one API that use to not remove from
queue, no longer remove from queue.

Hopefully other activities on the server will touch the chunk if it REALLY is in use.
2016-03-20 00:13:20 -04:00
Zach Brown
6760f394ef Update upstream and rebuild patches 2016-03-19 20:20:25 -05:00
Zach Brown
924ce8be30 Remove patch pulled upstream and rebuild patches 2016-03-19 17:52:09 -05:00
Zach Brown
9d4a2cf8b3 Patch rebuild 2016-03-19 17:36:53 -05:00
kashike
918e177370 Set health before death event 2016-03-19 17:31:55 -05:00
kashike
3b15da52db Custom replacement for eaten items 2016-03-19 17:31:06 -05:00
Aikar
ea051e14d1 Fixes #95 - Vanilla bug with Villages 2016-03-19 15:21:39 -04:00
Zach
57aa8b7451 Merge pull request #101 from DemonWav/master
Revert Spigot changes to blocking damage code
/me glances at imports
/me will fix later
2016-03-19 12:25:22 -05:00
DemonWav
ba0da2d2dd Revert Spigot changes to blocking code, fix issue where entities cannot die 2016-03-19 12:20:27 -05:00
Aikar
c331e8978a Fix chunk unload issues - Resolves #97 2016-03-19 11:29:46 -04:00
Aikar
027eb66188 forgot to rebuild after last light change, another fix 2016-03-19 10:57:22 -04:00
Aikar
afd40e5d12 fix light level check on monsters 2016-03-19 10:45:28 -04:00
Aikar
7c7f8b83ab Optimized Light Level Comparisons
Use an optimized method to test if a block position meets a desired light level.

This method benefits from returning as soon as the desired light level matches.

Also Optimize Grass more
2016-03-18 23:55:31 -04:00
Zach Brown
148f3809ca Re-add comment to navigation patch 2016-03-18 21:41:50 -05:00
Zach Brown
c19e52a63f Update upstream and rebuild patches 2016-03-18 21:37:58 -05:00
Zach Brown
c909c3b884 Fix furnace cook time bug 2016-03-18 21:32:31 -05:00
Zach Brown
fa8f621d56 Make spawner nerfed mobs float AI toggleable
closes GH-57
2016-03-18 21:10:20 -05:00
Zach Brown
52f462d52d Force potion effect application in BeaconEffectEvent 2016-03-18 20:45:22 -05:00
Aikar
c51bf9d9f3 Optimize BlockStateList/BlockData
Mojang included some sanity checks on arguments passed to the BlockData.
This code results in the Hash look up occuring twice per call, one to test if it exists
and another to retrieve the result.

This code should ideally never be hit, unless mojang released a bad build. We can discover bugs with this as furthur code that never expects a null
would then NPE, so it would not result in hidden issues.

This is super hot code, so removing those checks should give decent gains.
2016-03-18 19:25:43 -04:00
Aikar
e546c55b6e Optimize Chunk Unload Queue
Removing chunks from the unload queue when performing chunk lookups is a costly activity.

It drastically slows down server performance as many methods call getChunkAt, resulting in a bandaid
to skip removing chunks from the unload queue.

This patch optimizes the unload queue to instead use a boolean on the Chunk object itself to mark
if the chunk is active, and then insert into a LinkedList queue.

The benefits here is that all chunk unload queue actions are now O(1) constant time.

A LinkedList will never need to resize, and can be removed from in constant time when
used in a queue like method.

We mark the chunk as active in many places that notify it is still being used, so that
when the chunk unload queue reaches that chunk, and sees the chunk became active again,
it will skip it and move to next.
2016-03-18 18:03:44 -04:00
Zach Brown
310448d4ce Move config change into config patch 2016-03-18 16:41:26 -05:00
Aikar
fec4578d74 Add comment to Navigation patch on why its done that way
to avoid accidently changing it in future and breaking things
2016-03-18 17:12:30 -04:00
Aikar
ef251a8f81 Remove checkIfActive timings
Unneeded and adds extra timings cost to every entity tick
2016-03-18 17:11:53 -04:00
Aikar
6c5117b21c Configurable Non Player Arrow Despawn Rate
Can set a much shorter despawn rate for arrows that players can not pick up.
2016-03-18 15:13:03 -04:00
Aikar
e9222c0be7 Handle Item Meta Inconsistencies
First, Enchantment order would blow away seeing 2 items as the same,
however the Client forces enchantment list in a certain order, as well
as does the /enchant command. Anvils can insert it into forced order,
causing 2 same items to be considered different.

This change makes unhandled NBT Tags and Enchantments use a sorted tree map,
so they will always be in a consistent order.

Additionally, the old enchantment API was never updated when ItemMeta
was added, resulting in 2 different ways to modify an items enchantments.

For consistency, the old API methods now forward to use the
ItemMeta API equivalents, and should deprecate the old API's.
2016-03-18 14:56:16 -04:00
Aikar
dc477811ed Fix Furnace cook time bug
If the server lags out and skips multiple ticks, Furnace cooking behavior would not
cook in the expected amount of time as the cook time was not decremented correctly.

This patch ensures that furnaces cook to the correct wall time expectation.
2016-03-18 14:27:53 -04:00
Aikar
8fea9b93ce Undead horse leashing
default false to match vanilla, but option to allow undead horse types to be leashed.
2016-03-18 14:20:11 -04:00
Aikar
b41bd5a1e2 Invalidate Metadata on reload
Metadata is not meant to persist reload as things break badly with non primitive types
This will invalidate metadata on reload so it does not crash everything if a plugin uses it.
2016-03-18 13:50:33 -04:00
Aikar
6e76be51bb reduce sleep rate if file io thread sleep is enabled
so we will still give it time to sleep to avoid the issue, but reduce the
known negative effects of that sleeping.
2016-03-18 13:41:18 -04:00
Aikar
460104c3fe Default loading permissions.yml before plugins
Under previous behavior, plugins were not able to check if a player had a permission
if it was defined in permissions.yml. there is no clean way for a plugin to fix that either.

This will change the order so that by default, permissions.yml loads BEFORE plugins instead of after.

This gives plugins expected permission checks.

It also helps improve the expected logic, as servers should set the initial defaults, and then let plugins
modify that. Under the previous logic, plugins were unable (cleanly) override permissions.yml.

A config option has been added for those who depend on the previous behavior, but I don't expect that.
2016-03-18 13:23:48 -04:00
Aikar
82db846be6 set default goals on all pom poms </cheer> 2016-03-18 02:13:51 -04:00
Aikar
7e81240343 patch rebuild 2016-03-18 01:47:31 -04:00
Aikar
98b86017fa Chunk Save Reattempt
Sometimes a chunk region file is closed prematurely, resulting in a "Stream Closed" error on chunk saving.
Ultimately there is a race condition that causes it, but re-trying the save will avoid the issue.

Retry the save 5 times to try our best to avoid rollbacks due to chunk save failures.
2016-03-18 01:37:16 -04:00
Zach Brown
ca2ddce0ac Upstream changes 2016-03-17 23:31:20 -05:00
Techcable
c2c40a2562 Don't pass null title to constructor
Fixes #83
Fix resetTitle()
@Zbob750 shouldn't be doing these updates in the middle of the night
2016-03-16 18:59:34 -07:00
Zach Brown
4209e6184c Someone questioned my professionality today 2016-03-16 03:16:12 -05:00
Zach Brown
30f02fe6e5 Fix the end credits toggle
I think its pretty clear that no one uses this given that it didn't work at all before
2016-03-16 02:41:38 -05:00
Aikar
06def38a47 Re-add chunk save queue improvements 2016-03-12 14:23:17 -06:00
Zach Brown
bdb9292082 Re-add Spigot's hopper-check feature
Closes GH-77
2016-03-12 13:41:26 -06:00
Techcable
752452373d Handle static methods 2016-03-12 09:43:39 -07:00
Zach Brown
244196f8cb Rebuild some patches 2016-03-12 00:40:16 -06:00
Zach Brown
3fc67691fc Fix BeaconEffectEvent
It is no longer 5 am
2016-03-11 20:36:47 -06:00
Zach Brown
5dcb658e3e Update upstream and rebuild patches 2016-03-11 20:13:31 -06:00
Zach Brown
fdf80f055f Update upstream and rebuild patches 2016-03-11 15:24:37 -06:00
Zach Brown
e208ee6102 Update patch numbers for PR merges 2016-03-09 19:48:14 -06:00
Zach Brown
b4e8b79728 Merge pull request #73 from kashike/feature/you-are-very-resourceful-you-know-yes-you-are-very-resourceful-yes 2016-03-09 19:45:55 -06:00
Zach Brown
962d24acb2 Merge pull request #71 from kashike/feature/what-are-these-pokey-things-OH-MY-GOD-HELP-THEY-HURT 2016-03-09 19:44:18 -06:00
kashike
9216a46316 Add more complete resource pack API 2016-03-08 22:24:16 -08:00
kashike
a8ecaee65f Add methods for working with arrows stuck in living entities 2016-03-08 21:11:46 -08:00
Zach Brown
7603bda87f Fix a patch number after a few PRs 2016-03-08 23:09:32 -06:00
Zach
3a5c806a3e Merge pull request #70 from starlis/fixCollisionLag
Disable Scoreboards for non players by default
2016-03-08 22:58:36 -06:00
Aikar
cecc8e3eba Disable Scoreboards for non players by default
Entities collision is checking for scoreboards setting.
This is very heavy to do map lookups for every collision to check
this setting.

So avoid looking up scoreboards and short circuit to the "not on a team"
logic which is most likely to be true.
2016-03-08 23:51:52 -05:00
kashike
dcb7708f0c Don't nest if we don't need to when cerealising text components 2016-03-08 18:29:39 -08:00
Aikar
354ed8ed65 Improve NavigationListener patches.
reduces diff and cleans up implementation of goals greatly.
2016-03-08 21:01:33 -05:00
Zach Brown
b5a7d7fd29 Forcibly disable async light updates for the time being 2016-03-08 16:23:28 -06:00
kashike
9a9033c6c1 Add BaseComponent sendMessage methods to CommandSender 2016-03-08 13:16:54 -08:00
Aikar
017c6f73be Optimize NavigationListener Iteration
I don't know what the person who wrote that code was smoking, but I
don't think it was good.

Gets rid of the WeakHashMap that mojang was abusing purely to be lazy
on clean up, and handles registering and deregistering navigation
upon world add/remove operations.
2016-03-08 00:42:48 -05:00
Aikar
e2906382a1 Optimize NavigationListener 2016-03-07 20:45:17 -06:00
Techcable
abc4f8df61 Re-add BlocksPos inlining patch 2016-03-07 16:01:34 -06:00
Zach Brown
a05bf5ab9f Rebuild patches 2016-03-07 15:54:14 -06:00
Zach Brown
46d8cd6ca7 Rebuild patches 2016-03-07 00:57:19 -06:00
Zach Brown
f429e9e043 Update and rebuild patches 2016-03-06 14:59:17 -06:00
Zach Brown
a34a886ff7 Revert "Update to latest and rebuild ALL patches"
This reverts commit 141ef5a6dc.
2016-03-06 14:49:47 -06:00
Zach Brown
141ef5a6dc Update to latest and rebuild ALL patches 2016-03-06 14:37:28 -06:00
Zach Brown
35f085a017 Remove our own changes to the chunk save queue 2016-03-05 16:10:11 -06:00
Aikar
417017308c Chunk save queue improvements 2016-03-04 20:24:42 -06:00
Zach Brown
43091edd3a Fix chest sound playing at the wrong locaton
Closes GH-48
2016-03-04 17:49:32 -06:00
Zach Brown
4076ee569b Update against latest 2016-03-04 15:59:51 -06:00
Zach Brown
142defbe03 Rebuild patches 2016-03-04 15:20:13 -06:00
Zach Brown
7e7db629ed Update against latest upstream versions 2016-03-03 23:50:05 -06:00
Zach Brown
a54fb8d270 Silence BeaconEffectEvent, swallow exception in version checking 2016-03-03 04:48:46 -06:00
Zach Brown
6287e97b6b Update for upstream changes 2016-03-03 04:07:25 -06:00
Zach Brown
99fec76702 Paper 1.9 2016-03-03 03:46:49 -06:00
Joseph Hirschfeld
010c651473 Add exception reporting events 2016-03-03 03:46:48 -06:00
Sudzzy
18b55ae547 Fix inter-world teleportation glitches
People are able to abuse the way Bukkit handles teleportation across worlds since it provides a built in teleportation safety check.

To abuse the safety check, players are required to get into a location deemed unsafe by Bukkit e.g. be within a chest or door block. While they are in this block, they accept a teleport request from a player within a different world. Once the player teleports, Minecraft will recursively search upwards for a safe location, this could eventually land within a player's skybase.

Example setup to perform the glitch: http://puu.sh/ng3PC/cf072dcbdb.png
The wanted destination was on top of the emerald block however the player ended on top of the diamond block. This only is the case if the player is teleporting between worlds.
2016-03-03 03:46:48 -06:00
Aikar
9dbab1fcf8 More timings for scheduler 2016-03-03 03:46:48 -06:00
Techcable
dcad4c6ea7 Improve title API
Uses title objects instead of individual update methods
2016-03-03 03:46:48 -06:00
Joseph Hirschfeld
c04cff4f82 Add velocity warnings
Issues #12 & #18
2016-02-22 21:31:56 -06:00
Joseph Hirschfeld
7ad220f6e6 Add configurable portal search radius 2016-02-21 14:50:05 -05:00
Joseph Hirschfeld
a861cc6d8c Change implementation of tile entity removal list 2016-02-20 21:34:45 -06:00
Joseph Hirschfeld
1d78a73b5d Ensure inv drag is in bounds - Fixes #30 2016-02-20 20:07:15 -06:00
Jedediah Smith
ee63dbebdc Player Tab List and Title APIs 2016-02-16 20:01:30 -06:00
Zach Brown
52398f034c Move bungeecord chat APIs out of spigot subclasses 2016-02-16 19:55:05 -06:00
kashike
e8118c4a31 Be a bit more informative in maxHealth exception 2016-02-16 14:37:28 -08:00
Thinkofdeath
3ebeccc109 Fix Furnace Minecarts losing all of their velocity on corners 2016-02-15 23:19:43 -06:00
Zach
7bea05be51 Merge pull request #27 from kashike/feature/commandmap
Expose server CommandMap
2016-02-15 12:07:29 -06:00
kashike
edc2cd686e Expose server CommandMap 2016-02-15 07:13:16 -08:00
Zach Brown
29616a64bb Some people just have bad days 2016-02-15 08:24:39 -06:00
Zach Brown
bf58a0d278 Downgrade versioning plugin, fix build 2016-02-15 08:22:37 -06:00
Zach Brown
2cf460f29e Update version handling for our new build system
CC GH-19
2016-02-15 06:02:47 -06:00
Zach Brown
7022e9325f Missed a comment 2016-02-13 20:11:49 -06:00
CullanP
258dd89aa6 Avoid hopper searches if there are no items
Closes PR #23
2016-02-13 19:55:53 -06:00
Aikar
17e043b0fe Optimize getBlockData 2016-02-13 19:41:55 -06:00
Aikar
e1db75896c Optimize Pathfinding 2016-02-13 19:41:55 -06:00
Zach Brown
505386c5cb Add BlockBrewingStand and BlockEnchantmentTable to flying entity collisions patch 2016-02-13 19:41:55 -06:00
Zach Brown
2052670adf Make timings verbose by default
More useful data by default for server administrators
2016-02-13 19:41:55 -06:00
Zach Brown
b1492af86b Update CraftBukkit 2016-02-05 04:12:16 -06:00
Nik Gil
b9d98ad6e8 Make EntityDismountEvent Cancellable 2016-02-01 23:57:27 -07:00
Zach Brown
43876bb104 Squash these tab complete patches 2016-01-31 17:00:30 -06:00
DemonWav
00f91edaec Fix infinite recursion with plugin tab completers
Make block location tab completion be a per-world configurable value
2016-01-31 01:21:47 -06:00
DemonWav
7a0c30a707 Add Location support to tab-completes
This is a feature in vanilla Minecraft that has somehow been missing from CraftBukkit for years
2016-01-30 19:20:18 -06:00
Techcable
4715d9c9d2 Fix mutable block position construction
Should fix #3
2016-01-29 13:49:01 -07:00
Aikar
33f207e3c2 Remove completely invalid Redstone event for Netherrack 2016-01-29 03:40:25 -06:00
Techcable
bb17101d59 Speedup BlockPos by fixing inlining 2016-01-29 03:26:50 -06:00
Zach Brown
972d71a30b Squash Java 8 patches into pom changes patches 2016-01-29 02:51:53 -06:00
vemacs
c0920b08dc Option to make all chunks capable of spawning slimes 2016-01-29 02:39:21 -06:00
Zach Brown
a26fef50ef Re-introduce an option to limit the height of a flying tnt entity 2016-01-18 16:24:29 -06:00
Zach Brown
56c14f8f07 Force commands to be dispatched synchronously
[22:29:12] <Aikar> just add that
[22:29:17] <Aikar> that forces it fixed
[22:29:31] <Aikar> and then when his users spam him hell fix it :P
2016-01-12 23:02:36 -06:00
Zach Brown
314212b236 Add an option to disable chest's detection of Ocelots/Cats 2016-01-10 20:47:21 -06:00
Zach Brown
85dd26898d Migrate timings classes to new package 2016-01-10 01:33:27 -06:00
Zach Brown
9172103531 Migrate PaperSpigot to Timings version 2 2016-01-09 00:32:38 -06:00
Zach Brown
e9c23b0c38 Require Java 8 - Tell your shitty hosts to update 2016-01-09 00:13:58 -06:00
chickeneer
06ada7cc6d Resolve bed issues on unloaded chunks 2016-01-04 00:24:44 -06:00
Aikar
d02fb4e971 Entity teleport fix 2016-01-04 00:23:20 -06:00
Zach Brown
a55011eb68 Make the duplicate entity UUID warning toggleable 2015-12-28 20:15:28 -06:00
Steve Anton
5063a0613d Add PlayerInitialSpawnEvent 2015-12-22 22:06:43 -06:00
Jedediah Smith
0265f4eaef Fix player leak from entity tracker and item frames
3005a20c5c
2015-12-22 21:55:24 -06:00
Aikar
ff621fcb04 EAR: Fix bug with teleporting entities 2015-12-22 18:23:08 -06:00
Zach Brown
d709888852 [17:15:29] * Z750 kicks jetbrains right in the scrotum 2015-12-06 17:16:51 -06:00
Zach Brown
a7600285a6 Restore a constructor that was removed in EntityFallingBlock 2015-12-06 17:14:41 -06:00
ItsHarry
60136e77fe Also apply the "vanished players don't have rights" patch to Fishing Hook entities. 2015-11-26 19:51:30 -06:00
Aikar
0d986bbce5 Don't create a chunk just to unload it 2015-11-15 19:46:37 -06:00