Commit Graph
100 Commits
Author SHA1 Message Date
Shane Freeder ffc306a8f6 Updated Upstream (Bukkit/CraftBukkit/Spigot)
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

Bukkit Changes:
9a793cce Remove no longer applicable caveats to setPlayerListName
7137829e SPIGOT-4496: Undeprecate MapView.getId and make int
de33ade0 Remove some draft API designations
a35fa838 SPIGOT-4472: Add Consumer scheduler methods

CraftBukkit Changes:
8cd538e6 SPIGOT-4498: Crash on startup
b4ee04ba SPIGOT-4496: Undeprecate MapView.getId and make int
ec937d0e SPIGOT-4472: Add Consumer scheduler methods

Spigot Changes:
a1f2566f Use monotonic time for watchdog
bc4adcbf SPIGOT-4498: Crash on startup
bb387e6c Rebuild patches
2018-11-24 05:28:04 +00:00
Shane Freeder 9ff1dfc232 Fire entity dismount/vehicle events (but supress their cancellation) for player teleportation
Entities must be dismounted before teleportation in order to avoid
multiple issues in the server with regards to teleportation, shamefully,
too many plugins rely on the events firing, which means that not firing
these events caues more issues than it solves;

In order to counteract this, Entity dismount/exit vehicle events have
been modified to supress cancellation (and has a method to allow plugins
to check if this has been set), noting that cancellation will be silently
surpressed given that plugins are not expecting this event to not be cancellable.

This is a far from ideal scenario, however: given the current state of this
event and other alternatives causing issues elsewhere, I believe that
this is going to be the best soultion all around.

Improvements/suggestions welcome!
2018-11-18 15:39:28 +00:00
Shane Freeder 0eff9195c2 Make the default permission message configurable 2018-11-18 19:54:38 +00:00
Shane Freeder 91c49c37e3 Updated Upstream (Bukkit/CraftBukkit)
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

Bukkit Changes:
689f1565 SPIGOT-4487: Clarify PlayerInteractEvent docs
01ffd1c7 Add Player to BlockCanBuildEvent

CraftBukkit Changes:
1cac9d4f Add Player to BlockCanBuildEvent
2018-11-18 16:52:49 +00:00
Shane Freeder 025a503d3b force entity dismount during teleportation
Entities must be dismounted before teleportation in order to avoid
multiple issues in the server with regards to teleportation, while
we now lose the ability for plugins to monitor this specific case
of entity dismount, the alternative is that we allow a cancellable
event, but silently ignore the cancelled status, which might cause
further issues for plugins tracking state

Given that nobody can be relying on the Cancellable state of those
events during teleportation due to the issues that arise from this,
this is a small trade off
2018-11-15 14:29:04 +00:00
Shane Freeder 3563681dd3 Updated Upstream (CraftBukkit)
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

CraftBukkit Changes:
17ff1e04 SPIGOT-4483: Missing EntityInteractEvent call for zombies on eggs
2018-11-12 18:23:18 +00:00
Shane Freeder ee8db01f1c Don't allow digging into unloaded chunks 2018-11-11 21:10:37 +00:00
Shane Freeder dc253f1ad0 Drop extended BlockStateListPopulator and fix SpongeAbsorbEvent handling
This patch, while would have been nice, would just take too much
in order to re-implement it to retain and handle all of the state
changes possible, and complicates retaining state properly

Fix SpongeAbsortEvent handling

Only process drops when the block is actually going to be removed
2018-11-10 05:19:45 +00:00
Shane Freeder 1f5ddf73ba Cleanup after plugins which don't sucessfully enable
This change closes the plugin via the plugin manager, which disables
the plugin, as intended, but also cleans up after the plugin, preventing
any further errors or issues caused by tasks scheduled by the plugin before
it failed.
2018-11-09 21:45:16 +00:00
Shane Freeder cf1be6f026 Further extend BlockStateListPopulator
Upon "real world testing", there was needed and unimplemented methods
on BlockStateListPopulator; This commit (which should fix #1663) aims
to improve the coverage of this class.

We should aim to look into expanding this class down the line, or aim to
improve the servers ability to capture these changes
2018-11-09 18:11:32 +00:00
Shane Freeder 4d266118e2 Extend BlockStateListPopulator
extends BlockStateListPopulator to suppport checking block types in the
physical world it's representing, allowing for blocks making modifications
to the world to maintain proper state.
2018-11-08 05:37:12 +00:00
Shane Freeder e76d475d7f Restore custom InventoryHolder support
Upstream removed the ability to consistently use a custom InventoryHolder,
However, the implementation does not use an InventoryHolder in any form
outside of custom inventories.

We can take that knowledge and apply some expected behavior, if we're given
an inventory holder, we should use it and return a custom inventory with the
holder, otherwise, create an inventory backed by the intended inventory, as
per upstream behavior.

This provides a "best of both worlds" scenario: plugins with InventoryHolder's
will always work as intended in the past, those without will create implementation
based inventories.
2018-11-05 04:57:31 +00:00
Shane Freeder d2ff9c662c Updated Upstream (Bukkit/CraftBukkit/Spigot)
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

Bukkit Changes:
9d0221aa API to get client side view distance.
9be7f0ea SPIGOT-4395: Additions to PlayerBedEnterEvent.
01e534c6 Minor cosmetic cleanups to imports etc

CraftBukkit Changes:
96c461b3 API to get client side view distance.
e2785f4e Remove note about development build
a8000588 SPIGOT-4395: Additions to PlayerBedEnterEvent.

Spigot Changes:
117d4f7e Rebuild patches
2018-11-03 00:23:27 +00:00
Shane Freeder a596ff6bdb Fix resource pack api (Fixes #1634) 2018-10-29 13:02:56 +00:00
Shane Freeder 7941af6fec Process chunks blocking main urgently (#1627)
A chunk load on the main thread will be added to the high priority queue, however, due to existing work on this queue, there was no guarantee that the load would occur within a reasonable amount of time, potentially causing a server to crash while waiting for a chunk in the queue

In order to counteract this, a new urgent priority has been added, allowing us to prioritize these tasks over standard chunk gen/loading

(#1625 #1615 #1575 #1558 (and probably more))
2018-10-28 14:40:30 +00:00
Shane Freeder e4a5ddd929 fix "avoid hopper searches" and make it use an obfhelper 2018-10-25 21:27:54 +01:00
Shane Freeder 66c2497101 Revert field order changes in AxisAlignedBB 2018-10-25 17:07:54 +01:00
Shane Freeder 7391c5bbbb Fix javadoc issues 2018-10-25 14:38:19 +01:00
Shane Freeder b6a24ca199 [CI-SKIP] Don't run animal sniffer by default
Changes upstream moved this to a profile a while back, however,
when updating (for some unknown reason) I kept it enabled by default,
however, leaving this enabled breaks building the server in newer
versions of java, which while this wasn't a concern before, is now
an issue for users.
2018-10-24 20:19:29 +01:00
Shane Freeder 18ac1d68c0 Update for Minecraft 1.13.2 2018-10-23 00:16:21 +01:00
Shane Freeder 442538c84f Share the main thread queue for AsyncChunkProvider
fixes an issue in which thread requests are only processed
for the current provider which can cause a deadlock should
multiple requests exist across providers
2018-10-12 15:41:15 +01:00
Shane Freeder ec5b88b7c1 Updated Upstream (Bukkit/CraftBukkit)
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

Bukkit Changes:
867794b2 Make setPersistent also control player saving

CraftBukkit Changes:
02518f92 Make setPersistent also control player saving
2018-10-03 20:19:35 +01:00
Shane Freeder 7ac317a863 Fix FileIOThread concurrency issues (fixes #1505)
FileIOThread was using two volatile counters in order to track if
any pending work was in the queue, this causes potential concurrency
issues when this counter is updated from multiple threads, potentially
causing these counters to desync due to the unsafe volatile update
2018-10-03 19:07:08 +01:00
Shane Freeder fc0af24140 Updated Upstream (Bukkit/CraftBukkit)
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

Bukkit Changes:
c71bb9ca Add PlayerRecipeDiscoverEvent and methods to (un/)discover recipes

CraftBukkit Changes:
7a2f4867 Implement PlayerRecipeDiscoverEvent and methods to (un/)discover recipes
2018-10-02 11:01:56 +01:00
Shane Freeder eeb1a0e07b Configurable connection throttle kick message (Closes #1515) 2018-10-02 10:00:16 +01:00
Shane Freeder e5959a7bb9 Fix custom flying kick message 2018-10-02 06:54:45 +01:00
Shane Freeder fec83779c6 Cleanup tab completion
During testing, I could not find any case of TabCompleteEvent firing,
however, upon reinspection of the code, and additional testing, this
appears to work fine without any changes on our part.
2018-10-02 06:38:51 +01:00
Shane Freeder 84993e3fca fix newlines in spigot tab list API
Spigots implementation around the header/footer strips newlines from the
header/footer, this patch allows the tab list header/footer to retain newlines.
2018-09-01 11:33:50 +01:00
Shane Freeder 1294a18cf9 fix paper tab list API 2018-09-01 11:09:13 +01:00
Shane Freeder b39ff2b12d Update CB 2018-08-29 17:26:24 +01:00
Shane Freeder fb13965fbf Merge branch 'master' into pre/1.13 2018-08-29 04:07:50 +01:00
Shane Freeder db5a924b1c Fixup AsyncTabCompletionEvent handling 2018-08-28 19:45:14 +01:00
Shane Freeder 26b15531e0 Cleanup javadoc warnings for 1.13 2018-08-17 05:29:16 +01:00
Shane Freeder 1186b23a8d Merge branch 'master' into pre/1.13 2018-08-17 05:10:45 +01:00
Shane Freeder 69928187c9 Cleanup javadoc warnings 2018-08-16 12:20:58 +01:00
Shane Freeder b1f15b91ad Merge branch 'master' into pre/1.13 2018-08-14 16:26:01 +01:00
Shane Freeder 3eaefbe3fc Don't reset current tick based on system time 2018-08-10 15:25:45 +01:00
Shane Freeder 84c52bd9b1 re: Fixup improve tick loop patch 2018-08-09 14:14:17 +01:00
Shane Freeder cde57e0819 Fixup improve tick loop patch 2018-08-09 14:02:05 +01:00
Shane Freeder 87cbe8e40c Fixup keepalive logic (closes #1274) 2018-07-31 16:39:08 +01:00
Shane Freeder 6de5639fe3 Fix misapplied line in keepalive changes 2018-07-31 15:19:18 +01:00
Shane Freeder 897d804c62 Cleanup PortalCreateEvent patch 2018-07-31 15:14:54 +01:00
Shane Freeder a8c3640efd Merge branch 'fix-portal-create-event' of https://github.com/prplz/Paper into pre/1.13 2018-07-31 15:07:41 +01:00
Shane Freeder 09b6ad6501 Merge branch 'master' into pre/1.13 2018-07-31 14:50:40 +01:00
Shane Freeder d72dce83ad Break up and make tab spam limits configurable
Due to the changes in 1.13, clients will send a tab completion request
for all bukkit commands in order to factor in the lack of support for
brigadier and provide backwards support in the API.

Craftbukkit, however; has moved the chat spam limiter to also interact
with the tab completion request, which while good for avoiding abuse,
causes 1.13 clients to easilly be kicked from a server in bukkit due
to this. Removing the spam limit could cause issues for servers, however,
there is no way for servers to manipulate this without blindly cancelling
kick events, which only causes additional complications. This also causes
issues in that the tab spam limit and chat share the same field but different
limits, meaning that a player having typed a long command may be kicked from
the server.

Splitting the field up and making it configurable allows for server owners
to take the burden of this into their own hand without having to rely on
plugins doing unsafe things.

This patch has been applied to 1.12.2 in order to allow people using
plugins which allow clients of newer versions to connect, this is
not a common practice, however is being done as a level of nicety
given the current status of 1.13
2018-07-31 13:53:49 +01:00
Shane Freeder 5abfd8100e Update CB/S 2018-07-28 03:38:13 +01:00
Shane Freeder 9629d65220 Fix EntityDismountEvent changes
While upstream has now made this event cancellable, their changes
result in the vechicle being removed before the event is called,
thus leading cancellation to not behave as expected.
2018-07-26 18:41:00 +01:00
Shane Freeder ff4fc52552 Update B/CB/S 2018-07-26 16:20:37 +01:00
Shane Freeder 10ed7dc6b4 Explictly reset chat format in vanilla scoreboard display (fixes #1263)
Vanilla now uses chat components for scoreboards, thus no longer
returns a string which also resets the chat the chat format, add
this back ourselves.
2018-07-25 09:58:03 +01:00
Shane Freeder ceedd8c4f1 Update S
Also drop a few patches which are no longer needed/already merged in.
2018-07-23 18:21:07 +01:00
Shane Freeder fea7cd7e3c Avoid ArithmeticException should server be stopped before worlds are loaded
Our changes for the spawn radius have the potential to throw an ArithmeticException
should the server be stopped before we've loaded worlds, we check if the server is
running earlier to check if we should even consider attempting to load chunks, which
would cause us to, 1) not load chunks anyways, as we're disabled; 2) throw an
ArithmeticException due to us expecting that we're going to be loading more than 0 chunks.
2018-07-23 10:24:51 +01:00
Shane Freeder 0c14fc6ee6 Update B/CB/S 2018-07-23 09:39:55 +01:00
Shane Freeder 7dd591d1a6 update B/CB/S 2018-07-20 20:57:43 +01:00
Shane Freeder 62511066e1 Merge branch 'master' into pre/1.13 2018-07-19 20:23:18 +01:00
Shane Freeder d8f0bdc3d9 Update CB 2018-07-19 19:43:08 +01:00
Shane Freeder bd34c3623b NOT FINISHED! She compiles, and she... suffers the wrath of chunkgen... 2018-07-19 05:42:43 +01:00
Shane Freeder aea45cba34 NF! 1.13 - more fixes 2018-07-19 00:31:45 +01:00
Shane Freeder 20e3b69061 NOT FINISHED! 1.13 pre-7
I need more creative commit messages.
2018-07-19 00:16:19 +01:00
Shane Freeder 37f7038e10 NOT FINISHED! 1.13 pre-7 - Holy moley, more patches!
Really, don't touch! may harm your cat!
2018-07-18 19:55:52 +01:00
Shane Freeder 68f8952459 NOT FINISHED! restore dropped patches, fix one more! 2018-07-18 01:37:30 +01:00
Shane Freeder 3cb169aa7c NOT FINISHED! 1.13-pre7 - even more patches!
Patches, patches everywhere!
2018-07-18 01:08:13 +01:00
Shane Freeder c8d8659ad3 NOT WORKING! Even even more patches! 2018-07-17 21:32:05 +01:00
Shane Freeder 828dea48de NOT FINISHED! Fixed a few decomp issues 2018-07-17 16:14:23 +01:00
Shane Freeder e7cf7c9168 NOT FINISHED! even more 1.13-pre patches! 2018-07-16 21:08:09 +01:00
Shane Freeder 93a7205ba8 NOT FINISHED!!! More progress on 1.13-pre7
This work is unfinished, keep your paws off this branch!
2018-07-16 16:34:55 +01:00
Shane Freeder 7754b35d8f Don't send digged block updates for unloaded chunks 2018-07-12 15:19:33 +01:00
Shane Freeder 5ef91b3293 hopefully fix entity issues - #1199
@Aikar
2018-07-09 19:48:49 +01:00
Shane Freeder 702bbe6f8a Cleanup allocated favicon ByteBuf (fixes #1191)
Cleanups a bytebuffer which was allocated during the encoding of the
favicon to be sent to the client.
2018-07-03 19:19:47 +01:00
Shane Freeder 9d16e77b90 Extend Player Interact cancellation to handle FlowerPots 2018-07-03 04:33:21 +01:00
Shane Freeder 1470add5c4 Fix compat with PluginClassloader implementations 2018-06-12 16:10:01 +01:00
Shane Freeder 4d3ec19658 [CI-SKIP] Fix comment on unlit chunk sending patch 2018-06-12 15:46:08 +01:00
Shane Freeder d8e8748f70 Fix missed change inside of CraftSkullMeta 2018-06-10 12:45:04 +01:00
Shane Freeder 50eaba9503 Cleanup last commit (Remember, always git diff!)
Because the one time you don't...
2018-06-09 20:03:42 +01:00
Shane Freeder 6812a948db Only close classloaders unless implict, reload or error on enabling (Closes #1120)
We also expose the control of this behavior to the API, while retaining
the old behavior unless implictly requested.
2018-06-09 18:58:04 +01:00
Shane Freeder 056199bd92 Add EntityTeleportEndGatewayEvent for entities (closes #1124) 2018-06-09 14:21:40 +01:00
Shane Freeder 463d2a2bc0 Allow plugins to replace texture if already set on skulls 2018-06-09 12:09:21 +01:00
Shane Freeder f6f8ff278f Update B/CB 2018-05-08 23:09:45 +01:00
Shane Freeder 45f29dbd99 re-revert Better reloading of pending unload chunks 2018-04-18 13:03:59 +01:00
Shane Freeder 72bd990d87 Allow logger instances to be used across reloads 2018-04-08 02:02:48 +01:00
Shane Freeder 0ed67b50a3 remove warning for custom entities in precreaturespawn (closes #1069)
There can be no survivors.
2018-04-08 01:44:14 +01:00
Shane Freeder 492ed12781 revert "Better reloading of pending unload chunks"
This change by spigot ensures that many interactins with chunks,
e.g. getting a list of TEs will cause the chunk to be marked for not
unloading and will block their unload. This is especially true for
servers using Timings (it needs to access the TE list of chunks), or
any plugins which need to access entity/TE lists periodically.
2018-04-08 01:26:37 +01:00
Shane Freeder 4502a946d7 Flag to disable the channel limit
In some enviroments, the channel limit set by spigot can cause issues,
e.g. servers which allow and support the usage of mod packs.

provide an optional flag to disable this check, at your own risk.
2018-03-31 17:07:09 +01:00
Shane Freeder 75a9b9e07d Delay initial ping sent to the client 2018-03-31 15:27:41 +01:00
Shane Freeder 1872a94c83 Update CB/S 2018-03-31 10:34:25 +01:00
Shane Freeder d0ccbd3161 Return null instead of players location on EnderChests opened by plugins 2018-03-10 20:26:05 +00:00
Shane Freeder d207b66009 Add OBFHELPER - InventoryEnderChest#getTileEntity 2018-03-10 17:11:51 +00:00
Shane Freeder 3af34bfe45 Fix NPE when getting location from players EnderChest (fixes #1041) 2018-03-10 13:07:40 +00:00
Shane Freeder db23ad30cb Fix ItemStack.damage OBFHelper (fixes #1036) 2018-03-08 19:41:00 +00:00
Shane Freeder ab5b167d08 Update CB/S 2018-03-08 19:36:35 +00:00
Shane Freeder 11625293d1 [CI-SKIP] The power of MIT compells me 2018-03-07 12:15:43 +00:00
Shane Freeder 9488fd00fc [CI-SKIP] Merge 'Add me (Mystiflow) to MIT list' 2018-03-07 12:13:50 +00:00
Shane Freeder cf2f346ccb Update B/CB 2018-02-24 04:03:32 +00:00
Shane Freeder f10fedcc19 Update CB 2018-02-18 14:41:40 +00:00
Shane Freeder ca86dc72f6 Extend Player Interact to cover CommandBlocks (@Phoenix616) 2018-02-18 14:39:02 +00:00
Shane Freeder 808e2dff16 Update B/CB 2018-02-12 18:04:05 +00:00
Shane Freeder a95873bd35 Close Structure Window when PlayerInteractEvent is cancelled
This is opened on the client, and so we send a CloseWindow packet
2018-02-11 10:52:04 +00:00
Shane Freeder 26144e31b3 Update B/CB 2018-02-08 10:07:27 +00:00
Shane Freeder 6d2da5e46e Update B/CB 2018-01-24 17:31:43 +00:00
Shane Freeder b7c8cb0244 Update B/CB 2017-12-31 13:45:47 +00:00
Shane Freeder 743c6f83d4 Update B/CB 2017-12-30 08:55:15 +00:00