Commit graph

2064 Commits

Autor SHA1 Nachricht Datum
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
Aikar
a4e0b24594 Don't create region files when checking if a chunk exists 2015-11-15 19:44:34 -06:00
Aikar
61aa4a801b Bump thread count for chunk loading 2015-11-15 19:41:14 -06:00
Aikar
fa810f3d47 Don't damage ArmorStands that are already dead 2015-11-15 19:40:53 -06:00
Zach Brown
4a647dc40b Remove TE/E Removal Optimizations
Causes pistons to eat blocks in certain circumstances, double piston extenders most notably
2015-10-24 02:20:30 -05:00
Aikar
04daf845d4 Update tick limiter removal and TE/E removal optimizations 2015-10-24 02:13:27 -05:00
Aikar
c725b9cb96 Implement EMC's optimized entity and tileentity removal 2015-10-16 22:23:28 -05:00
Zach Brown
43c3a7b169 Don't point users at spigotmc when watchdog kills the server 2015-10-16 21:50:04 -05:00
Zach Brown
7d86a674eb Disable spigot tick limiters 2015-10-16 21:43:03 -05:00
Zach Brown
978982edfd Rebuild patch for upstream changes 2015-10-07 21:32:01 -05:00
Aikar
19619f8450 Remove an unused list of TileEntities slowing down removal 2015-10-06 23:36:43 -05:00
Zach Brown
9365b36050 Rebuild patches for upstream changes 2015-10-02 22:58:02 -05:00
Zach Brown
7aa4900879 Remove our own (outdated) TE handling, for one that's closer to vanilla 2015-09-19 09:34:17 -05:00
Zach Brown
ea565eff61 Rebuild patches 2015-09-18 20:44:37 -05:00
vemacs
502ffa0833 Re-add entity/tile entity tick limiters 2015-09-14 20:37:51 -05:00
Zach Brown
f243a4024d Remove several broken or unnecessary patches.
Removes PlayerMicroMoveEvent API, the ability to disable the AsyncCatcher, and the TeleportPassengerVehicleWithPlayer patch
2015-09-12 19:57:39 -05:00
Zach Brown
1f41387610 Rebuild patches 2015-09-01 20:14:41 -05:00
Zach Brown
477b22d36c Use spigot.yml's view distance setting 2015-08-29 03:12:41 -05:00
Techcable
25a137f3a3 Lookup game profiles for users that aren't onine 2015-08-15 14:05:29 -05:00
Byteflux
a16e54d332 Re-add Spigot's hopper-check feature 2015-08-13 10:36:58 -07:00
Techcable
6d0a86a9b6 Use the server usercache for player heads 2015-08-11 01:27:37 -05:00
Zach Brown
e786f4635b [23:29:51] <Byteflux> no tacoz 4 clippeh 2015-08-08 23:33:19 -05:00
Byteflux
4021394904 Fix NPE in recheckGaps when using async lighting 2015-08-06 21:44:03 -07:00
Byteflux
4eadccd3e2 Add beds and enderchests to list of collidable blocks 2015-08-05 02:31:55 -07:00
Iceee
e12f1faed1 Fix lava/water some times creating air instead of cobblestone 2015-08-04 18:24:39 -07:00
Byteflux
bde7f6bbbd Temporarily use getDouble() internally for calls to getFloat() in Paper configs
getFloat() seems to have an issue with reading modified values and always
returns the default value instead. This needs further investigating, but
for now making it use getDouble() internally appears to resolve the issue.
2015-08-04 17:57:17 -07:00
Byteflux
80e87de54f Configurable TNT explosion volume 2015-08-04 17:47:57 -07:00
Byteflux
8ba82c550a Add chests and soul sand to list of types falling blocks can collide with 2015-08-04 17:25:16 -07:00
Byteflux
c38e8ec349 Make the recheckGaps method async like other lighting updates 2015-08-04 15:44:54 -07:00
Byteflux
eaaf2c2cf3 Optimize getCubes() 2015-08-04 15:25:37 -07:00
Zach Brown
0febdc8b44 Rebuild patches 2015-08-02 01:56:08 -05:00
Zach Brown
f6fba00cbc Temporarily remove PlayerMicroMoveEvent implementation
Breaks the existing PlayerMoveEvent, to be re-worked soon
2015-07-30 22:47:22 -05:00
Zach Brown
0daad69443 Update for upstream NMS mapping changes 2015-07-30 22:41:53 -05:00
Zach Brown
881dfe09c2 Update PaperSpigot to 1.8.8 2015-07-27 17:26:21 -05:00
Zach Brown
fe4c7c88ac Re-add recentTps array for plugins that make bad choices 2015-07-26 15:58:37 -05:00
Zach Brown
56afbe3f71 Rebuild 2015-07-25 18:00:37 -05:00
Sudzzy
f9e5f65987 Configurable container update tick rate 2015-07-23 22:06:57 -07:00
Byteflux
633137c1a8 Rebuild patches 2015-07-23 13:37:52 -07:00
Byteflux
7d9632e328 Add BeaconEffectEvent 2015-07-23 12:57:12 -07:00
Byteflux
16ab69f11b Fix package naming of PaperSpigot events to be consistent with Bukkit/Spigot
Right now this only affects the recently added PlayerMicroMoveEvent. I
figured this should be done to keep the events organized in the same way
Bukkit and Spigot do. This should lead to a less cluttered event package
when we do add more events.
2015-07-23 09:56:24 -07:00
Techcable
23f4ae7bbd Add PlayerMicroMoveEvent 2015-07-23 04:30:13 -07:00
Iceee
e139db70f1 Optimize Spigot's Anti X-Ray 2015-07-23 04:24:24 -07:00
Jedediah Smith
579868e0c1 Send absolute position the first time an entity is seen 2015-07-23 04:13:26 -07:00
Zach Brown
58a75fef88 Rebuild patches 2015-07-20 20:14:39 -05:00
Byteflux
4d70f421f6 Unload client chunks + only cache whole chunk maps 2015-07-16 14:06:33 -07:00
Byteflux
e3e7539232 Configurable chunk map caching 2015-07-15 16:16:27 -07:00
Byteflux
b5666dd9e8 Improvements to ChunkMap caching 2015-07-15 13:31:34 -07:00
Iceee
7562f087f8 ChunkMap caching 2015-07-15 02:42:49 -07:00
Byteflux
536af803c4 Lookup neighbor chunks more efficiently in async lighting 2015-07-15 02:01:49 -07:00
Byteflux
8de3946478 Nerfed spawner mobs should use PathfinderGoalFloat to swim if available 2015-07-14 10:51:38 -07:00
Byteflux
04705fd392 Optimize item movement 2015-07-14 10:17:39 -07:00
Byteflux
4d0466c559 Configurable mob spawner tick rate 2015-07-14 10:01:28 -07:00
Byteflux
4cd1afddde Various configurable toggles
- Disable explosion knockback for players
- Disable thunder logic
- Disable ice and snow formation
- Disable mood sounds
2015-07-14 09:34:10 -07:00
Byteflux
c17e209dc1 Rebuild patches 2015-07-14 08:59:57 -07:00
Byteflux
a5bb700ee9 Remove obsolete patch 2015-07-10 03:45:20 -07:00
Byteflux
c3a07a7060 Remove bad condition in async lighting check 2015-07-10 03:20:10 -07:00
Byteflux
edfdff2218 Load chunks in getCubes() 2015-07-07 13:44:35 -07:00
Byteflux
f1652c14d8 Fix off-by-one in async lighting neighbor loop 2015-07-04 17:42:28 -07:00
Byteflux
5ceee0e6e0 Fix liquids stuck in fast drain loop 2015-07-03 12:38:43 -07:00
Byteflux
7f032d52e6 Add player view distance API 2015-07-01 01:01:42 -07:00
Byteflux
d07fe95b65 Configurable lava flow speed 2015-07-01 00:39:31 -07:00
Byteflux
6d7eed6d75 Clean up async lighting patch 2015-07-01 00:27:58 -07:00
Byteflux
ca8627834d Clean up forced chunk loading patch 2015-06-30 22:58:11 -07:00
Byteflux
41064e2faa Fast draining 2015-06-30 20:22:24 -07:00
Byteflux
7ef5da4a4d Stop updating flowing block if material has changed 2015-06-30 19:46:05 -07:00
Byteflux
2811124265 Always use optimized draining fix 2015-06-30 19:23:17 -07:00
Zach Brown
929b5b0452 Patch rebuild 2015-06-27 01:18:29 -05:00
Zach Brown
5d7c5da500 Rebuild patches 2015-06-20 22:05:36 -05:00
Byteflux
111ed5569b Optimize explosions 2015-06-16 05:55:15 -07:00
Byteflux
d3a270e365 Do not filter out large getEntities call 2015-06-16 05:34:03 -07:00
Zach Brown
6b6eb8f7f7 Rebuild patches for upstream API addition
Removes ArmorStand Marker API as that was added to Bukkit
2015-06-10 22:35:26 -05:00
Zach Brown
b537fcb6cd Rebuild a patch for upstream changes 2015-06-07 15:51:24 -05:00
Zach Brown
55b35d8a6f Rebuild patches 2015-06-06 12:15:22 -05:00
Byteflux
f6bd873c1d Update to 1.8.7 2015-06-05 05:45:30 -07:00
Byteflux
d6fa7c2b99 FallingBlock and TNT entities collide with specific blocks 2015-06-05 01:24:22 -07:00
Byteflux
e82e438855 Add configurable fix for TNT cannnons.
This attempts to revert cannoning mechanics to pre-1.8 behavior. A huge
thanks to TheIceAP who championed almost every fix in this patch.

Another shoutout to Jebediah Smith from SportBukkit for the velocity
update patch which mostly fixes the client issue of TNT moving in water.
2015-06-04 14:25:07 -07:00
Byteflux
d75469a33d Migrate old TNT height nerf settings to falling block height nerf 2015-06-04 03:57:23 -07:00
Byteflux
9420859807 Remove giant TNT changes patch 2015-06-04 01:42:09 -07:00
Byteflux
a5158e4b5c Fix another structure generator NPE 2015-06-02 02:13:19 -07:00
Byteflux
4bd0540daa Fix NPE when disabling certain structure generators 2015-06-02 01:47:50 -07:00
Byteflux
1a53596cb0 Add generator settings from Paper 1.7
As of 1.8, it is possible to customize worlds beyond what these settings
allow using a Customized world type, however, this is still useful for
non-Customized worlds and Nether worlds.
2015-06-02 00:44:06 -07:00
Iceee
a34f61611b Fix lag from explosions processing dead entities 2015-06-01 22:56:10 -07:00
Byteflux
3cf6c48811 Stackable Buckets 2015-06-01 22:27:22 -07:00
Zach Brown
9ac5394f72 Re-add the teleport passenger/vehicel with player patch from 1.7.10 2015-05-31 01:52:17 -05:00
Zach Brown
233814297b Remove the spigot TileEntity/Entity capping feature
It appears to cause visual glitching issues with certain TNT entities
fired from cannons. TileEntity tick capping has already been removed
for some time, Entity tick capping removal is new to this patch.
2015-05-30 01:39:20 -05:00
Zach Brown
31fe931194 Rebuild Patches for upstream changes 2015-05-30 01:11:16 -05:00
Zach Brown
32f10ee552 Bring chunkloading TNT/FallingBlocks/EnderPearls to 1.8
Forward ported from PaperSpigot 1.7.10
2015-05-28 22:19:49 -05:00
DoctorDark
7752c5973f Configurable end credits when leaving the end 2015-05-28 20:30:05 -05:00
Zach Brown
efaef117d3 Rebuild patches for upstream changes 2015-05-28 00:11:18 -05:00
Zach Brown
dfdbaa3bd8 Update to 1.8.6 2015-05-25 15:59:30 -05:00
Zach Brown
ebb90ceeae Things compile better when you update mc-dev 2015-05-23 13:04:28 -05:00
Zach Brown
d69690af14 Update PaperSpigot to 1.8.5 2015-05-23 12:09:55 -05:00
Zach Brown
51360537c1 Misc. cleanup from 1.8.4 update 2015-05-18 19:22:48 -05:00
Jedediah Smith
06c96d094f Fix jar being shaded multiple times 2015-05-18 19:06:27 -05:00
Zach Brown
41cc0debed Re-enable Metrics so that we can better understand our userbase 2015-05-18 19:03:24 -05:00
Zach Brown
4c8a717466 Update PaperSpigot to 1.8.4 2015-05-18 18:41:57 -05:00
Zach Brown
07ff818e53 Rebuild patches 2015-05-10 19:24:52 -05:00
Zach Brown
9012499383 Add ArmorStand Marker NBT API 2015-05-03 17:47:28 -05:00
Zach Brown
d167eb42de Fix a typo in the server POM 2015-05-03 16:28:13 -05:00
Isaac Moore
4651b50153 Add PlayerLocaleChangeEvent 2015-04-27 21:44:11 -05:00
Zach Brown
0348f3fb5e Rebuild patch for update 2015-04-21 17:29:36 -05:00
Zach Brown
6c710c1692 Rebuild a patch for an upstream merge 2015-04-18 16:00:48 -05:00
Zach Brown
8022d678b3 Fix the repo's patches because I can't merge things today
Thanks to Byteflux for all the PRs you see below bringing 1.8 PaperSpigot that much closer to feature parity with it's 1.7 branch
2015-04-18 15:50:17 -05:00
Byteflux
1fba83469e Toggleable player crits 2015-04-18 15:10:26 -05:00
Byteflux
b0095e91dc Optimize draining 2015-04-18 15:08:52 -05:00
Byteflux
80aba79938 Async Lighting 2015-04-18 15:02:39 -05:00
Byteflux
0b6c6c3725 Configurable tickNextTickListCap bypass for redstone 2015-04-18 14:53:02 -05:00
Byteflux
69337ef9ee Fix remove-unloaded.enderpearls option not being respected 2015-04-18 14:48:55 -05:00
Byteflux
8bd77dff5a Add FallingBlock source location API 2015-04-18 14:46:35 -05:00
Zach Brown
83fc0d21e7 Rebuild patches 2015-04-16 15:38:30 -05:00
Zach Brown
e62cf21c8f Rebuild patches 2015-04-13 15:48:16 -05:00
Zach Brown
9a77c8ec95 Always tick falling blocks - Exclude from EAR 2015-04-10 18:07:59 -05:00
Zach Brown
232c6f8387 Patch rebuild 2015-04-08 22:47:58 -05:00
Zach Brown
0091c86379 Rebuild patch 2015-04-06 17:29:04 -05:00
Roman Alexander
5a49816bef How about we actually make that tickNextTickList cap configurable
*glances at Z*
2015-03-24 18:28:50 -05:00
Zach Brown
7cbda258cc Allow users to configure the tickNextTickList cap 2015-03-23 14:40:52 -05:00
Zach Brown
d22f14e933 Rebuild patches 2015-03-23 14:23:25 -05:00
Zach Brown
f1c39a0f62 Remove patch that kept the player on world changes 2015-03-20 21:39:37 -05:00
Zach Brown
6be3dc0d50 Rebuild Patches 2015-03-19 19:41:36 -05:00
Zach Brown
ad93cd940f Rebuild patches 2015-03-09 16:02:50 -05:00
Zach Brown
78fa2af57a Update PaperSpigot to Minecraft 1.8.3 2015-03-08 05:17:04 -05:00
Zach Brown
9b05d00764 Check online mode before converting and renaming player data 2015-03-05 15:30:48 -06:00
Zach Brown
e9ce2f6a10 Rebuild Patches 2015-02-28 00:43:40 -06:00
Zach Brown
9cb1661979 Manually bump the config version since git won't 2015-02-23 16:59:00 -06:00
Zach Brown
d28dd3edbd PaperSpigot TNT Changes
Brought our multiple TNT change patches into a single patch and
configuraiton section.
You /will/ need to update your configs, sorry.

Adds additional configuration and features as well.
2015-02-23 16:36:47 -06:00
Zach Brown
d871bd8d00 (Temporarily?) Disable Spigot's TE changes in favor of our own
Pending proper benchmarks and a potential rewrite, this appears to be a
good short-term solution
2015-02-22 02:38:45 -06:00
Zach Brown
b2f0432d2e Rebuild patches 2015-02-22 00:43:08 -06:00
Zach Brown
a1b0dffb19 Remove upstream-pulled patch 2015-02-14 20:16:45 -06:00
Zach
2ab5f7ada3 Make Enderman drop the block they're holding when they die 2015-02-13 14:50:25 -06:00
Bestle
70205b2b3a Despawn items outside EAR activation range 2015-02-13 14:34:02 -06:00
Zach
f856100e66 Rebuild patches for upstream changes 2015-02-13 14:24:02 -06:00
Zach
bf99f9b97d Rebuild a patch 2015-02-06 09:06:09 -06:00
Zach
ddb3f1daa3 Rebuild a few patches 2015-02-04 15:31:08 -06:00
Zach
3d0e742fab Rebuild patches for upstream changes 2015-02-03 17:53:51 -06:00
Zach Brown
b22a02ec14 Rebuild patches 2015-02-02 16:10:54 -06:00
Zach
965e98f6e2 Rebuild patches 2015-01-31 00:00:35 -06:00
Zach Brown
51d8a94236 Add configurable top of nether void damage patch 2015-01-29 15:42:25 -06:00
Zach Brown
bd4f1bb35b Remove the broken teleport passenger vehicle with player patch 2015-01-29 15:42:00 -06:00
Zach Brown
3c6c540486 Fix patch usernames and emails 2015-01-29 15:25:50 -06:00
Zach Brown
e4f8f0793e Remove patch that was pulled upstream 2015-01-25 02:08:21 -06:00
Zach Brown
6776612919 Fix certain mobs crashing the server from MobSpawners 2015-01-18 12:43:42 -06:00
Zach Brown
c6b30147f0 Rebuild patches 2015-01-13 15:20:59 -06:00
Zach Brown
2405e7c169 Rebuild patches for upstream changes 2015-01-12 11:21:32 -06:00
Zach Brown
b7ea61e56b Fix parent warning in PaperSpigot-API... and rebuild other patches 2015-01-11 01:10:11 -06:00
Zach Brown
788b857ddd Rebuild patch for upstream update 2015-01-08 21:53:39 -06:00
Zach Brown
6c95b61fd5 Rebuild patches for upstream changes 2015-01-06 22:13:40 -06:00
Zach Brown
6ae735e2e3 Rebuild our patches for upstream changes 2015-01-04 20:30:07 -06:00
Howaner
3fba354aa5 Fix kick messages 2015-01-03 18:26:19 -06:00
Zach Brown
8f0aaf3411 Fix block placement in the invisible players patch
Thanks Mojang...
2015-01-03 17:35:46 -06:00
Aikar
cf5eecc1e1 Prevent tile entity and entity based crashes 2014-12-22 15:13:48 -06:00
gsand
5ed916c971 [00:50:57] <Clippy> wait, actually I need to do additional testing, just
remove it
[00:51:09] <Clippy> ;(
[00:51:17] * Clippy opens mcp
[00:51:22] <Z750> ._.
2014-12-21 00:53:33 -06:00
gsand
7ead09d18c [00:32:19] <Clippy> I goofed, forgive meeeee! ;____; 2014-12-21 00:48:14 -06:00
gsand
52b0f26ce8 Allow the first spawn location "fuzziness" to be configured 2014-12-20 19:22:56 -06:00
Aikar
5460c17f8a Do not allow negative count itemstacks (infinite itemstacks)
Should work around quite a few issues and this
'feature' is relatively worthless anyway
2014-12-19 16:37:05 -06:00
Zach Brown
ed8119ad4d Rebuild our patches for upstream changes 2014-12-18 17:35:10 -06:00
Zach Brown
eb71958f5c Remove unnecessary patch 2014-12-14 16:26:48 -06:00
Zach Brown
11b53f20cf Rebuild our patches for upstream changes 2014-12-14 16:25:11 -06:00
Zach Brown
b532dbb6ce Rebuild patches for upstream changes 2014-12-12 22:52:49 -06:00
Zach Brown
b07fd9dae8 Rebuild our patches for upstream changes 2014-12-10 22:26:46 -06:00
Zach Brown
0004ccb0f6 Missed a comment in chest sound patch 2014-12-07 22:57:26 -06:00
Zach Brown
2c4fcfbf9f Improve chest sound handling patch 2014-12-07 14:52:19 -06:00
Zach Brown
6618287b5c Update our patches for upstream changes 2014-12-07 13:29:55 -06:00
Byteflux
62b112be14 Use the servers built in UUID map for player lookups 2014-12-07 13:29:07 -06:00
Zach Brown
ff120ea055 Add a constructor for setting both the header and the footer to PacketPlayOutPlayerListHeaderFooter 2014-12-05 22:47:37 -06:00
Zach Brown
4b79813cf3 Clean up some of our patches
Remove unused torch placement config option
Remove ambiguity in invisible players patch
2014-12-05 22:28:08 -06:00
Zach Brown
137dfd0b4f Update our patches for Spigot changes 2014-12-05 22:25:23 -06:00
Zach Brown
1d8cdd7bf5 Rebuild our patches 2014-12-03 18:15:12 -06:00
Zach Brown
9d7fbd476f Update our patches for the latest changes
/ver is no longer useless! Meaninful version tracking yay!
2014-12-02 00:45:25 -06:00
Aikar
2a326d9446 Add TNT source location API 2014-11-30 22:58:51 -06:00
Zach Brown
4e29dfb788 Improvements to teleport with passenger vehicle 2014-11-30 22:35:33 -06:00
Zach Brown
718ed221b4 Fix an improperly updated patch file 2014-11-30 20:09:09 -06:00
Byteflux
991a3fa2b6 Allow specified ItemStacks to retain their invalid data 2014-11-30 19:00:00 -06:00
Zach Brown
99e3002266 Regen our patches 2014-11-30 16:21:39 -06:00
Byteflux
5826b0b98a Configurable TNT water movement 2014-11-29 23:15:12 -08:00
Zach Brown
169193fee6 Regen Patches for CraftBukkit updates 2014-11-29 13:23:36 -06:00
Zach Brown
28718b4c25 Update 2014-11-29 02:13:12 -06:00
Zach Brown
1c49ff69f4 Update Spigot's Patches round 2?
The hell happened here.
:
Fix Build 2339ac14a8e
Regen the patches 89d3fcbdfaf

This new system breaks a lot :(
2014-11-28 18:06:26 -06:00
Zach Brown
b547153ec6 Fix a mistake in Teleport w/ passenger/vehicle patch
Along with restoring authorship to the original writer
2014-11-28 16:30:20 -06:00
Zach Brown
de86706b70 Update PaperSpigot to Minecraft 1.8 2014-11-28 15:01:21 -06:00
Aikar
b697c4d506 Add Async Chunk Load API 2014-11-28 14:19:09 -06:00
Zach Brown
a5069ae74d Random space is most certainly not best space 2014-11-28 14:19:09 -06:00
Zach Brown
edf1a20dcd Replace non-picky rails with non-picky torches
Issues with rails colliding with hitboxes on fences
non-picky torches can be placed on stained glass on 1.8+ clients only (client-side limitation)
2014-11-28 14:19:09 -06:00
Zach Brown
b6b3d84943 Minor configuration code formatting 2014-11-28 14:19:09 -06:00
Zach Brown
20973ffd0f Make certain game mechanics configurable
Boat drops and rail placement at this time
2014-11-28 14:19:09 -06:00
Aikar
25c5c2cb16 Implement performance improvements from the EMC-CraftBukkit fork
See the individual patch files for more details
2014-11-28 14:19:09 -06:00
Byteflux
c615aa649b Fix PaperSpigot entity removal in unloaded chunks 2014-11-28 14:19:09 -06:00
Zach Brown
4555490e4b Remove 1.8 blocks/items patches
For those interested in these features, you can continue to use these patches in your own builds or use a plugin, such as Carbon, to add them
2014-11-28 14:19:09 -06:00
Byteflux
2a92d3a54a Update with more Spigot binary patches 2014-11-28 14:19:09 -06:00
Byteflux
9ef798aa90 Backwards compatible PacketPlayOutEntityTeleport constructor 2014-11-28 14:19:09 -06:00
Zach Brown
0326076342 Redo protocol warning message 2014-11-28 14:19:08 -06:00
Byteflux
1a6b7c9d79 Update with latest patches from upstream SpigotMC 2014-11-28 14:19:08 -06:00
Zach Brown
39893976b4 Re-add SportBukkit visual offset fix
Looks to be entirely unrelated to the visual issues being seen

Revert "Remove SportBukkit visual offset fix, may cause issues with certain cannons"

This reverts commit 1156e17179492f530ced9a91a2db0ee32f6bf0e9.
2014-11-28 14:19:08 -06:00
Zach Brown
09d8de02ad Fix slime block sounds 2014-11-28 14:19:08 -06:00
Zach Brown
6916d318a4 Remove SportBukkit visual offset fix, may cause issues with certain cannons 2014-11-28 14:19:08 -06:00
Zach Brown
b543551365 Don't register standing or wall banner, and daylight detector inverted
Cause client crashes, likely because they arent ticking yet
2014-11-28 14:19:08 -06:00
Zach Brown
c1d8afce9b Don't allow 1.8 clients to join...
they crash when encountering 1.8 blocks/items/etc
2014-11-28 14:19:08 -06:00
Zach Brown
798eced7fc Add SportBukkit fix for visually offset entities 2014-11-28 14:19:08 -06:00
Zach Brown
e60db6a306 Add a few 1.8 features/blocks/items/whatever 2014-11-28 14:19:08 -06:00
Zach Brown
15b553bed3 Update from upstream SpigotMC
Fix double plants having the incorrect top half SpigotMC/Spigot@377b69d787
Fix boats thinking that they were always on land for 1.8 clients SpigotMC/Spigot@4a083f819e
Correct the action used in updateGamemode. this isn't used by the ser... SpigotMC/Spigot@face904a9a
Allow the updated version of protocollib to be enabled SpigotMC/Spigot@4614a615cc
2014-11-28 14:19:07 -06:00
Minecrell
85eb25863a Fix ProtocolLib compatibility 2014-11-28 14:19:07 -06:00
Zach Brown
72142b3f8d Rebuild patches after merge 2014-11-28 14:19:07 -06:00
Zach Brown
1827f089f2 Remove accidentally committed patch file 2014-11-28 14:19:07 -06:00
Dmck2b
9c68e2eb9f Work around for blocking rail duplication 2014-11-28 14:19:07 -06:00
Zach Brown
a245892c3c Remove brewing stands from the TE optimizations as well
Possible conflict with CB wall time patches?
2014-11-28 14:19:07 -06:00
Zach Brown
14ac97ad60 Configurable strength and weakness effect modifiers 2014-11-28 14:19:06 -06:00
Zach Brown
ab9af61cbf Show PaperSpigot in protocol warning 2014-09-01 14:41:47 -05:00
Zach Brown
495c399ff4 Add Spigot's 1.8 protocol patch - Update from upstream
Add support for Minecraft 1.8.x SpigotMC/Spigot@b15ae91145
Skip loading of ProtocolLib SpigotMC/Spigot@508ec8f573
Apply the block fix to block change packets SpigotMC/Spigot@b9349e416d
Blacklist Orebfuscator as well. SpigotMC/Spigot@b2ba105762
2014-09-01 14:11:02 -05:00
Zach Brown
1f10a97d0d Temporary fix for broken furnaces on certain servers 2014-08-30 14:25:03 -05:00
Zach Brown
134a563b5f Remove specific entities that fly through unloaded chunks 2014-08-29 20:38:35 -05:00
Zach Brown
c777f40058 Update from upstream SpigotMC
Add unbreakable API to item meta SpigotMC/Spigot@b1af008222
Configure how often EntityHangings calculate if they should die. SpigotMC/Spigot@ac6e1fc32d
Copy ItemStacks in DataWatcher to prevent ConcurrentModificationExcep… SpigotMC/Spigot@2af28ffbd1
Add the spigot.yml into the timings paste SpigotMC/Spigot@d61f38bd58

Note: This commit moves the entity-hanging tick into Spigot's spigot.yml and out of our paper.yml
2014-08-25 16:33:18 -05:00
Aikar
c803f4dde1 Implement optimized Tile Entity ticking 2014-08-24 21:20:12 -05:00
Zach Brown
f7bb4ad8a3 Update from upstream SpigotMC
Included Commits:
Update IRC channel to irc.spi.gt SpigotMC/Spigot@a791c555e7
Remove inv close patch for now SpigotMC/Spigot@a3abb3bea9
Limit TNT Detonations per tick SpigotMC/Spigot@8f9c601aed
Use sane default config values SpigotMC/Spigot@1cbbb9b62e

These commits were not included as they were quickly reverted:
Only close if we are actually placing a block SpigotMC/Spigot@ea0b1b2d67
Revert for the above SpigotMC/Spigot@28faa0bd20
Add isUnbreakable and setUnbreakable to ItemMeta. Also fixes a bug wh... SpigotMC/Spigot@32e6d74a5f
Revert for the above SpigotMC/Spigot@4b5a26b11c
2014-08-24 02:40:45 -05:00
Byteflux
825584d02f Remove invalid mob spawner tile entities 2014-08-19 14:53:38 -05:00
Zach Brown
33cf47c75b Remove Metrics
People seem fairly mixed on it, and we just don't need 'em
2014-08-19 14:27:57 -05:00
Zach Brown
5342c92587 Show 'PaperSpigot' in client crashes, server lists, and Mojang Stats 2014-08-19 14:26:33 -05:00
Zach Brown
5b4bc3081a Update from upstream SpigotMC
Upstream merge (we must go deeper) SpigotMC/Spigot@1e7bc383c3
2014-08-18 10:43:17 -05:00
Zach Brown
f88a3838c0 Don't tick enderchests either 2014-08-17 17:15:18 -05:00
Zach Brown
a4647a8a71 Update from upstream SpigotMC
Fix empty `ench` tags being wiped by the meta system SpigotMC/Spigot@cc9a1a417f
Add Hunger Config Values SpigotMC/Spigot@2cd515e224
Make debug logging togglable SpigotMC/Spigot@d31b1d616f

Spigot has implemented a system of hunger exhaustion similar to ours, as such a lot of config values have been moved there.
Our exhaustion patch has been trimmed and only a few values for exhaustion remain in paper.yml, the others now sit in spigot.yml
2014-08-17 16:47:36 -05:00
Zach Brown
57ec3d64be Temporarily remove optimized tile entity code
Potential CME's and issues with pistons, we'll work through this on a separate branch and re-add it when appropriate
2014-08-13 16:50:24 -05:00
Zach Brown
31d35e76ac Update TileEntity optimizations (again again) ...
hopefully less often now
2014-08-11 23:07:39 -05:00
Aikar
169c67aaa0 Update with latest TileEntity optimization changes 2014-08-11 21:57:37 -05:00
Zach Brown
0b8246dbb7 Move chest sound handling out of the tick loop...
and set them not to tick
2014-08-11 19:36:08 -05:00
Aikar
2542c10a85 Optimize TileEntity Ticking
Re-organizes the servers TileEntity Tick List to be bucketed by type.

This allows the server to skip buckets of Tile Entities that is known to
not have any tick function (half of them), skipping time spent iterating
them and checking if they are valid and in a loaded chunk. In other words,
a lot of "meta" time wasted on tile entities that would never do anything anyways.

This change also adds control into the interval of every TileEntity, giving
the server owner control on how fast a TileEntity ticks, slowing it down if they must
(Such as chest), to improve performance.
2014-08-11 16:05:29 -05:00
Zach Brown
174855f19d Update from upstream SpigotMC
Part revert to fix (0) in place of file name SpigotMC/Spigot@2fbc1f2704
Fix the last PR SpigotMC/Spigot@b2199df3f7
2014-08-11 15:49:06 -05:00
Zach Brown
552e1c5afd Remove 0026-Don-t-tick-chests, we'll be slightly changing our implementation 2014-08-11 15:45:57 -05:00
Zach Brown
3727c00bdd Update from upstream SpigotMC
Abridged: Force close player inventories when they move/interact
This prevents modified clients from using the 2x2 crafting square as permanent storage

Force Close Inventory On Move SpigotMC/Spigot@db78a70788
Only close once, if needed SpigotMC/Spigot@b652de8e7f
Move to interact event closing SpigotMC/Spigot@b5378850d3
Disregard arm swings - racy SpigotMC/Spigot@f86634e280
2014-08-10 00:21:18 -05:00
Suddenly
0eb966c2a9 Treat this.c as an element, not an extra object 2014-08-09 19:25:24 -05:00
Zach Brown
ce389c461f Remove link to CB PR as its causing a lot of unneeded spam 2014-08-09 18:12:13 -05:00
drXor
d95ac585d4 Configurable hanging tick
EntityHangings make a somewhat extensive calculation ever 100 ticks to check if they should die (obstruction etc). This patch makes this magic number configurable, allowing server owners to pick how often they want EntityHangings (e.g. ItemFrames) to tick. Higher values may provide a performance boost for Hanging-heavy servers.
2014-08-09 17:28:09 -05:00
Jedediah Smith
9fdc6b05f9 Add player affects spawning API
Test plugin here: https://github.com/Zbob750/AffectsSpawning
I believe this originated with SportBukkit, slightly modified for our (and potentially upstream's) usage
2014-08-08 23:27:47 -05:00
Zach Brown
8e365012c0 Update from upstream SpigotMC
Upstream Merge (Bukkit + CraftBukkit) SpigotMC/Spigot@da20125dab
Plug WorldMap Memory Leak SpigotMC/Spigot@da20125dab
2014-08-08 17:15:42 -05:00
Jedediah Smith
86f789adb4 Center TNT sample grid points
Makes TNT calculations more accurate, among other things
2014-08-07 23:14:51 -05:00
Zach Brown
2253110c8e Revert "Fix TNT directional bias"
Restores our earlier and supposedly working TNT directional bias fix
We will contiune to work through the specifics of the the issue in a separate branch
This reverts commit 2449df7cdf.
2014-08-07 14:18:11 -05:00
Jedediah Smith
2449df7cdf Fix TNT directional bias
Shift the sample points so they are centered on the entity, eliminating the directional bias of the explosion force
2014-08-06 18:23:28 -05:00
Zach Brown
b657ae7456 Cleanup our patches 2014-08-05 18:45:22 -05:00
Zach Brown
557a65eb3c Update CraftBukkit 2014-08-04 15:11:38 -05:00
Byteflux
8c8c10cefa Configurable speed for water flowing over lava
Higher values = Slower water movement = better performance
http://hastebin.com/axuzaralas.vhdl
2014-08-03 21:23:45 -05:00
Dmck2b
f054884c39 Don't log debug information 2014-08-03 21:05:27 -05:00
Byteflux
aeead930a1 Better nerf for TNT Cannons ...
Drops the item
Applies to all Falling Block Entities
2014-07-30 03:35:32 -05:00
Zach Brown
7d802ab493 Temporarily remove the better water lighting updates patch while we ensure there are no performance or implementation issues
Specifically around non-water fluids
2014-07-30 02:44:36 -05:00
Iceee
37d9d3a11e Apply the better water lighting updates patch to receding water as well 2014-07-28 02:48:03 -05:00
Zach Brown
94071f2c32 Remove configurable AI target selector delay patch 2014-07-27 21:50:06 -05:00
Zach Brown
398f6983bd Update from upstream SpigotMC
Make "moved too quickly" limit configurable SpigotMC/Spigot@99a0a640e8
Undeprecate Player#updateInventory()V SpigotMC/Spigot@5c32e1cb48
Fetch complete profile for skull items, similarly to TileEntitySkull. SpigotMC/Spigot@33d758773e
Move getDouble into the Spigot Configuration patch SpigotMC/Spigot@b5dd202af1
Add missing particle to particle API SpigotMC/Spigot@273c64bbad
Log debug levels to the log file. SpigotMC/Spigot@348eae75f4
Fix PlayerItemDamageEvent (we already had this #badupstreamrelations) SpigotMC/Spigot@e207ea23cd
Move hopper patch to top for PR180 SpigotMC/Spigot@abb775108d
Don't be so spammy on Java 6 SpigotMC/Spigot@5abb82b1ca
Apply NBTReadLimiter to more things SpigotMC/Spigot@408944e9f5
2014-07-27 14:20:28 -05:00
Zach Brown
a7f1e7efd5 Fix PlayerItemDamageEvent
Hopefully a temporary patch as I've already submitted it to SpigotMC
But I kinda wanna use the event now so... Here we are
2014-07-24 22:29:15 -05:00
Zach Brown
7dd671146d Update from upstream SpigotMC
Don't use Bukkit.getLogger as the CraftServer isn't loaded at this point SpigotMC/Spigot@5c48793ecf
Modify the block placement limit to allow for the odd random packet or two SpigotMC/Spigot@7768676ae2
2014-07-24 22:21:57 -05:00
Iceee
c768de882c Fix lag caused by water lighting updates
Before: http://aikar.co/timings.php?url=7842564
After: http://aikar.co/timings.php?url=7842536
2014-07-23 10:54:24 -05:00
Zach Brown
f07313c43f Fix random position generator's tendency to move north-west
Fixes the issue of mobs constantly going North-West in pens and other areas
backported from 1.8
2014-07-22 22:04:05 -05:00
Zach Brown
5cfd799cff Fix incorrect API version on startup 2014-07-22 20:16:50 -05:00
Zach Brown
4aef5602d5 Update from upstream SpigotMC
Remove defensive copy in EAR SpigotMC/Spigot@f1ba1f6c07
Make "moved wrongly limit" configurable SpigotMC/Spigot@f7ab380e16
Fix null Tile Entity Worlds (we already had this) SpigotMC/Spigot@b271cdbfa0
Fix slow tab complete for some commands SpigotMC/Spigot@f3b7952c73
Only suggest ops to deop and remove whitelist add case entirely SpigotMC/Spigot@0e1fcfbe70
Allow tab complete for /whitelist add SpigotMC/Spigot@27f8aa22bd
2014-07-22 15:25:09 -05:00
Zach Brown
62371c5dc0 Fix minecraft-server dependencies in poms 2014-07-22 14:50:06 -05:00
Zach Brown
a23a026713 Support all projectiles in the invisible players patch
also cleans up the code a bit
2014-07-21 18:52:19 -05:00
Zach Brown
7b0c576798 Restructure PaperSpigot as a new set of modules
Allows us much greater control over the Spigot portion of the code
and makes us more "proper"
Credit to @Dmck2b for originally passing the idea along a while back
2014-07-21 15:46:54 -05:00