Commit graph

607 commits

Author SHA1 Message Date
Aikar
baf8797e8f 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
8b77debaf3 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
a01a25ff57 Missed diff, unused config entry, general cleanup
cc GH-170
2016-03-30 22:55:46 -05:00
Aikar
4e89e1f0c7 add null check to getEntity API 2016-03-30 21:56:07 -04:00
Aikar
9fc220ea02 Use paperclip.properties so CI can work 2016-03-30 21:27:13 -04:00
Aikar
f16d938497 Paper 1.9.2 Update 2016-03-30 20:50:23 -04:00
Aikar
fb94038453 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 02:10:27 -04:00
Zach Brown
50811b1ca5 Skip dead entities in getEntity(UUID) API 2016-03-30 09:41:12 -05:00
DemonWav
443a949bac Add getEntity by UUID API 2016-03-30 01:20:36 -05:00
Zach Brown
3a4b55aa5d Put this patch in the patches folder, so it's actually used 2016-03-29 13:56:19 -05:00
Antony Riley
4b5902de92 Sanitise RegionFileCache and make cache size configurable. 2016-03-29 08:27:14 +03:00
Fabse
2a3cfd15eb Add a workaround for bugged Minecart drop names 2016-03-28 00:52:36 +02:00
Aikar
88ef71592b 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
553319f958 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:04:43 -04:00
Aikar
2b55c92307 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
0623a754d8 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
1180a5dd87 And AddTo is a different event than RemoveFrom 2016-03-28 20:58:42 -04:00
Aikar
dab09d46bc Actually fire those events 2016-03-28 20:57:15 -04:00
Aikar
9148dbbf4a 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
a661a1737f 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
2e4f0cb627 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
51c738e817 Don't set spawn world in PlayerInitialSpawnEvent
Fixes GH-85 and GH-157
2016-03-28 13:00:44 -05:00
Zach Brown
010e7652b3 Fix player tab list API 2016-03-28 10:41:04 -05:00
Zach Brown
587aaefcc4 Update upstream B/CB/Spigot and rebuild 2016-03-27 20:48:50 -05:00
Zach Brown
4634458d72 Check async spawn chunk check, remove unused variables, GH-159 2016-03-27 20:31:23 -05:00
DemonWav
4e5569e6cd Add same infi-loop fix to other identical block of code I missed earlier 2016-03-27 05:42:02 -05:00
Zach Brown
8ec0ce4b89 Merge pull request #153 from kashike/feature/slot
Access items by EquipmentSlot
2016-03-27 02:24:12 -05:00
Zach Brown
1109dc8d70 Update upstream and rebuild 2016-03-27 01:38:58 -05:00
Riley Park
d880c248bf Access items by EquipmentSlot 2016-03-26 22:23:42 -07:00
DemonWav
92aa154184 Prevent possible infinite loop in BlockPosition iterator 2016-03-26 21:38:36 -05:00
Gabscap
3ed9c2917e Load chunk before player teleport - Fixes #147 2016-03-26 18:45:15 +01:00
Zach Brown
32ac0a9a4b Pull in ArrowPickupItemEvent and legacy dataconverter fix from SportBukkit 2016-03-26 03:38:02 -05:00
Zach Brown
95adcf7863 Merge upstream changes and rebuild patches 2016-03-25 18:21:38 -05:00
Byteflux
5532826f02 Entity#getOrigin() should return a cloned Location 2016-03-25 09:39:37 -07:00
Byteflux
fc3f55ddc8 Always try to load entity origin location from new NBT tag 2016-03-25 09:32:09 -07:00
Byteflux
bcc957e753 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:02:35 -07:00
Zach Brown
eb5c119269 Re-add TileEntity removal list, fix build 2016-03-25 02:50:56 -05:00
Byteflux
cadf65501b Fix timings config being removed by another patch 2016-03-24 23:46:53 -07:00
Byteflux
dd60ba4869 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
fc2341a996 Relocate Timings v2 patch 2016-03-24 21:59:37 -07:00
Byteflux
d242dca587 Fix decompile errors in mc-dev imports patch 2016-03-24 19:57:01 -07:00
Gabscap
8fa4818d1b rebuild 2016-03-25 02:23:23 +01:00
Zach Brown
926ba9a3bb Update upstream B/CB
Remove patch 0099: Pulled into upstream CraftBukkit
2016-03-24 01:39:29 -05:00
Aikar
6f4bf57aa0 remove blockstate cache patch 2016-03-23 21:19:45 -04:00
Zach Brown
d1afdd87f4 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
7ab893447a Optimize isValidLocation for inlining - Resolves #123 2016-03-22 23:44:46 -04:00
Aikar
97e083b9b0 Setting the cache is important to access a cache 2016-03-22 23:44:35 -04:00
Zach Brown
fb05841421 How does typing work?
Closes GH-125
2016-03-22 14:55:42 -05:00
Zach Brown
71d9f402d5 Configurable spawn chances for skeleton horses
Closes feature request GH-111
2016-03-22 12:07:16 -05:00
Aikar
95b9e1e6f2 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:46:32 -04:00
Aikar
87ebc85c3c 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 00:56:09 -04:00
Aikar
bd75ff8b5b 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 00:36:20 -04:00
Gabscap
100cd60c65 Add "Waving banner workaround" 2016-03-21 15:34:09 +01:00
Aikar
d24502015a Make Chunk IO Thread Base count configurable 2016-03-21 23:51:58 -04:00
Aikar
37afe5e662 Fix skull cache case bug
missing cache hits on players with uppercase letters in name
2016-03-21 23:38:24 -04:00
Aikar
8abad348b6 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
ae95189944 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 22:51:14 -04:00
Aikar
9300f163fd fix rebuild patches and rebuild current patches 2016-03-21 20:46:54 -04:00
Daniel Ennis
4916cd2551 Merge pull request #91 from willies952002/feature/permReload
Allow Reloading of Custom Permissions - resolves #49
2016-03-21 20:24:27 -04:00
Zach Brown
044d463764 Use singleton in Village class to work around null issue that evades 2016-03-21 10:28:45 -05:00
Zach Brown
d4ba72a83f Support offline mode from the whitelist command
Closes GH-79
2016-03-21 00:53:32 -05:00
Zach Brown
71f8b70f10 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 Brown
c0d5c00a34 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
acad27e9e7 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:45:13 -07:00
Zach Brown
614aee73bc Only mark player as invulnerable if they're actually changing worlds
Fixes GH-96
2016-03-20 22:38:31 -05:00
Zach Brown
84b79f3f41 Only mark player as invulnerable if they're going to the end
cc GH-96
2016-03-20 19:44:49 -05:00
Daniel Ennis
1098519c4d Catch Async PlayerChunkMap operations - Fixes #113 2016-03-20 15:24:24 -04:00
Aikar
6acff7d61d Disable Chunk Unload Queue Patch for now 2016-03-20 00:53:34 -04:00
Aikar
0b26bbd451 handle NaN health/absorb values and repair bad data
Undoes damage from Damage API bugs
2016-03-20 00:35:02 -04:00
Aikar
db0f31134f 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
a424df3323 Update upstream and rebuild patches 2016-03-19 20:20:25 -05:00
Zach Brown
85451753d1 Remove patch pulled upstream and rebuild patches 2016-03-19 17:52:09 -05:00
William
13587006dc 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-19 16:19:00 -04:00
Riley Park
0a9d183bd4 Set health before death event 2016-03-19 10:12:30 -07:00
Riley Park
6d01d7f9ea Custom replacement for eaten items 2016-03-19 09:57:19 -07:00
Aikar
d1c4507c9c Fixes #95 - Vanilla bug with Villages 2016-03-19 15:21:39 -04:00
Zach Brown
67a3d9cb57 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
4e7056af65 Revert Spigot changes to blocking code, fix issue where entities cannot die 2016-03-19 12:20:27 -05:00
Aikar
7efe31a331 Fix chunk unload issues - Resolves #97 2016-03-19 11:29:46 -04:00
Aikar
bb82a8a401 forgot to rebuild after last light change, another fix 2016-03-19 10:57:22 -04:00
Aikar
e59f9ab2e6 fix light level check on monsters 2016-03-19 10:45:28 -04:00
Aikar
d72abafa8f 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
eaccfc64b2 Re-add comment to navigation patch 2016-03-18 21:41:50 -05:00
Zach Brown
3727b119f2 Update upstream and rebuild patches 2016-03-18 21:37:58 -05:00
Zach Brown
659c43c6f3 Fix furnace cook time bug 2016-03-18 21:32:31 -05:00
Zach Brown
c7fec9299a Make spawner nerfed mobs float AI toggleable
closes GH-57
2016-03-18 21:10:20 -05:00
Zach Brown
29dccccac4 Force potion effect application in BeaconEffectEvent 2016-03-18 20:45:22 -05:00
Aikar
80dcb6c4a3 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
11a3044c3c 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
bccbc72945 Move config change into config patch 2016-03-18 16:41:26 -05:00
Aikar
57be47c2d1 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
af73f87c66 Remove checkIfActive timings
Unneeded and adds extra timings cost to every entity tick
2016-03-18 17:11:53 -04:00
Aikar
3ce3b26186 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
32a3169a1f 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
944a964300 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
91b4746fe0 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
63b6980015 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
9da9b3a9d0 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:40:46 -04:00
Aikar
4d317d0ebe 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
3ad0e63a21 set default goals on all pom poms </cheer> 2016-03-18 02:13:51 -04:00
Aikar
0316152120 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:35:26 -04:00
Zach Brown
14d5dba144 Upstream changes 2016-03-17 23:29:51 -05:00
Techcable
a8d725eb23 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:58:48 -07:00
Zach Brown
59ca434484 Someone questioned my professionality today 2016-03-16 02:57:49 -05:00
Zach Brown
2a6b5b76de 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:21:39 -05:00
Aikar
82452cd373 Re-add chunk save queue improvements 2016-03-12 14:23:17 -06:00
Zach Brown
d230ac7ef2 Re-add Spigot's hopper-check feature
Closes GH-77
2016-03-12 13:41:26 -06:00
Zach Brown
a9f44f2240 Rebuild some patches 2016-03-12 00:40:16 -06:00
Zach Brown
716993c750 Fix BeaconEffectEvent
It is no longer 5 am
2016-03-11 20:36:47 -06:00
Zach Brown
67ae849417 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
4fba7d5bdc 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
Riley Park
a80a692e2b Add more complete resource pack API 2016-03-08 22:23:59 -08:00
Zach Brown
74b4a248ab Merge pull request #70 from starlis/fixCollisionLag
Disable Scoreboards for non players by default
2016-03-08 22:58:36 -06:00
Aikar
a1403cb641 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:42:08 -05:00
Riley Park
0eb02b3760 Add methods for working with arrows stuck in living entities 2016-03-08 20:21:08 -08:00
Riley Park
875d85b3ec Don't nest if we don't need to when cerealising text components 2016-03-08 18:29:39 -08:00
Aikar
ed8ebbc98a Improve NavigationListener patches.
reduces diff and cleans up implementation of goals greatly.
2016-03-08 19:31:47 -05:00
Zach Brown
4ff94ab64e Forcibly disable async light updates for the time being 2016-03-08 16:23:28 -06:00
Aikar
627ccd793f 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-07 22:59:12 -05:00
Aikar
b65586112b Optimize NavigationListener 2016-03-07 20:45:08 -06:00
Techcable
d78781c869 Re-add BlocksPos inlining patch 2016-03-07 16:00:29 -06:00
Zach Brown
8db749d66b Rebuild patches 2016-03-07 15:54:14 -06:00
Zach Brown
3c1f7052c2 Rebuild patches 2016-03-07 00:57:19 -06:00
Zach Brown
65bd5d1259 Update and rebuild patches 2016-03-06 14:59:17 -06:00
Zach Brown
d40b668c4b Revert "Update to latest and rebuild ALL patches"
This reverts commit 21038c6f5c.
2016-03-06 14:49:47 -06:00
Zach Brown
21038c6f5c Update to latest and rebuild ALL patches 2016-03-06 14:23:00 -06:00
Zach Brown
9d890f0f28 Remove our own changes to the chunk save queue 2016-03-05 16:10:11 -06:00
Aikar
cedb1c3686 Chunk save queue improvements 2016-03-04 20:14:27 -06:00
Zach Brown
9fc52783a2 Fix chest sound playing at the wrong locaton
Closes GH-48
2016-03-04 17:38:51 -06:00
Zach Brown
96074f3000 Rebuild patches 2016-03-04 15:20:13 -06:00
Zach Brown
3a71da0bd3 Silence BeaconEffectEvent, swallow exception in version checking 2016-03-03 04:48:46 -06:00
Zach Brown
d83453116b Update for upstream changes 2016-03-03 03:46:26 -06:00
Zach Brown
26eb457a39 Paper 1.9 2016-02-29 17:09:49 -06:00
Joseph Hirschfeld
4856ba746b Add exception reporting events 2016-02-28 20:15:51 -05:00
Sudzzy
4ad4421f85 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-02-28 18:34:19 +00:00
Aikar
3b4630072e More timings for scheduler 2016-02-23 22:35:34 -06:00
Techcable
1bdbffaf84 Improve title API
Uses title objects instead of individual update methods
2016-02-17 19:03:21 -07:00
Joseph Hirschfeld
21591b3dbd Add velocity warnings
Issues #12 & #18
2016-02-22 21:31:24 -06:00
Joseph Hirschfeld
f119608227 Add configurable portal search radius 2016-02-21 01:33:37 -05:00
Joseph Hirschfeld
ef8b3744c9 Change implementation of tile entity removal list 2016-02-20 21:34:29 -06:00
Joseph Hirschfeld
37cd02bd35 Ensure inv drag is in bounds - Fixes #30 2016-02-20 20:06:47 -06:00
Jedediah Smith
d498084c93 Player Tab List and Title APIs 2016-02-16 19:55:21 -06:00
Zach Brown
e42db95777 Move bungeecord chat APIs out of spigot subclasses 2016-02-16 19:55:05 -06:00
Riley Park
d00f718b65 Be a bit more informative in maxHealth exception 2016-02-16 14:37:03 -08:00
Thinkofdeath
d3809b12af Fix Furnace Minecarts losing all of their velocity on corners 2016-02-15 23:19:18 -06:00
Zach Brown
b0092d1f74 Merge pull request #27 from kashike/feature/commandmap
Expose server CommandMap
2016-02-15 12:07:29 -06:00
Riley Park
8b42b27076 Expose server CommandMap 2016-02-15 07:11:57 -08:00
Zach Brown
eedfd912d2 Some people just have bad days 2016-02-15 08:24:39 -06:00
Zach Brown
8ffb9ef6ea Downgrade versioning plugin, fix build 2016-02-15 08:22:37 -06:00
Zach Brown
134dc373d2 Update version handling for our new build system
CC GH-19
2016-02-15 06:02:47 -06:00
Zach Brown
cb4c48c343 Missed a comment 2016-02-13 20:11:49 -06:00
CullanP
c3492bbb78 Avoid hopper searches if there are no items
Closes PR #23
2016-02-13 19:54:01 -06:00
Aikar
026367d300 Optimize getBlockData 2016-02-13 19:29:59 -06:00
Aikar
720abf5ab8 Optimize Pathfinding 2016-02-13 19:25:23 -06:00
Zach Brown
b8355eed74 Add BlockBrewingStand and BlockEnchantmentTable to flying entity collisions patch 2016-02-13 19:11:20 -06:00
Zach Brown
f434ee1467 Make timings verbose by default
More useful data by default for server administrators
2016-02-13 17:19:33 -06:00
Zach Brown
22c4861d76 Update CraftBukkit 2016-02-05 04:12:16 -06:00
Nik Gil
192a9bde0b Make EntityDismountEvent Cancellable 2016-02-01 23:57:27 -07:00
Zach Brown
9d79cc6b99 Squash these tab complete patches 2016-01-31 17:00:30 -06:00
DemonWav
eb6cdbb9ce 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
ecedc912af 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
25fcb2cf47 Fix mutable block position construction
Should fix #3
2016-01-29 13:49:01 -07:00
Aikar
6584a8a1b1 Remove completely invalid Redstone event for Netherrack 2016-01-29 03:40:00 -06:00
Techcable
aea26a3f89 Speedup BlockPos by fixing inlining 2016-01-29 03:26:31 -06:00
Zach Brown
4f96dd1dd0 Squash Java 8 patches into pom changes patches 2016-01-29 02:51:53 -06:00
vemacs
75e17505e3 Option to make all chunks capable of spawning slimes 2016-01-29 02:38:41 -06:00
Zach Brown
dddda71685 Re-introduce an option to limit the height of a flying tnt entity 2016-01-16 21:04:07 -06:00
Zach Brown
f04375e45c 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:00:58 -06:00
Zach Brown
b57d9f9638 Add an option to disable chest's detection of Ocelots/Cats 2016-01-10 20:47:21 -06:00
Zach Brown
a4ab2f017d Migrate timings classes to new package 2016-01-10 01:33:27 -06:00
Zach Brown
097ffc44c1 Migrate PaperSpigot to Timings version 2 2016-01-09 00:32:38 -06:00
Zach Brown
6e5b779d20 Require Java 8 - Tell your shitty hosts to update 2016-01-09 00:13:58 -06:00
chickeneer
7f92ef8437 Resolve bed issues on unloaded chunks 2016-01-04 00:24:36 -06:00
Aikar
0875e3ee25 Entity teleport fix 2016-01-04 00:23:17 -06:00
Zach Brown
ec8a492d29 Make the duplicate entity UUID warning toggleable 2015-12-28 20:15:28 -06:00
Steve Anton
f532fca425 Add PlayerInitialSpawnEvent 2015-12-22 22:06:19 -06:00
Jedediah Smith
1bd859fad5 Fix player leak from entity tracker and item frames
3005a20c5c
2015-12-22 21:55:00 -06:00
Aikar
10316338d8 EAR: Fix bug with teleporting entities 2015-12-22 18:22:36 -06:00
Zach Brown
bf35c9ab26 [17:15:29] * Z750 kicks jetbrains right in the scrotum 2015-12-06 17:16:51 -06:00
Zach Brown
8c0b8acfb6 Restore a constructor that was removed in EntityFallingBlock 2015-12-06 17:14:41 -06:00
ItsHarry
cc7182a269 Also apply the "vanished players don't have rights" patch to Fishing Hook entities. 2015-11-26 19:51:01 -06:00
Aikar
c0fa6b8d12 Don't create a chunk just to unload it 2015-11-15 19:46:34 -06:00
Aikar
68c983d7cd Don't create region files when checking if a chunk exists 2015-11-15 19:44:28 -06:00
Aikar
929a5b40ed Bump thread count for chunk loading 2015-11-15 19:41:12 -06:00
Aikar
314c8f06cc Don't damage ArmorStands that are already dead 2015-11-15 19:40:32 -06:00
Zach Brown
7b80afb6ef 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
ee9886c278 Update tick limiter removal and TE/E removal optimizations 2015-10-24 02:12:33 -05:00
Aikar
eac397cbab Implement EMC's optimized entity and tileentity removal 2015-10-16 22:23:05 -05:00
Zach Brown
0ab0bcc85d Don't point users at spigotmc when watchdog kills the server 2015-10-16 21:50:04 -05:00
Zach Brown
264f2c2d09 Disable spigot tick limiters 2015-10-16 21:43:03 -05:00
Zach Brown
9f7447824d Rebuild patch for upstream changes 2015-10-07 21:32:01 -05:00
Aikar
2d37e27b37 Remove an unused list of TileEntities slowing down removal 2015-10-06 23:27:01 -05:00
Zach Brown
43fee1c16e Rebuild patches for upstream changes 2015-10-02 22:58:02 -05:00
Zach Brown
dcef1d444b Remove our own (outdated) TE handling, for one that's closer to vanilla 2015-09-19 09:34:17 -05:00
Zach Brown
2190d87f45 Rebuild patches 2015-09-18 20:44:37 -05:00
vemacs
b12044f2b7 Re-add entity/tile entity tick limiters 2015-09-12 23:29:23 -05:00
Zach Brown
603159dedf 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
3d490255dc Rebuild patches 2015-09-01 20:14:41 -05:00
Zach Brown
de98ff5d80 Use spigot.yml's view distance setting 2015-08-29 03:12:41 -05:00
Techcable
3e8e275447 Lookup game profiles for users that aren't onine 2015-08-15 14:05:03 -05:00
Byteflux
51cbd00f88 Re-add Spigot's hopper-check feature 2015-08-13 10:36:58 -07:00
Techcable
15512b5459 Use the server usercache for player heads 2015-08-11 01:27:18 -05:00
Zach Brown
df01ae692d [23:29:51] <Byteflux> no tacoz 4 clippeh 2015-08-08 23:33:19 -05:00
Byteflux
d4bd87a7ec Fix NPE in recheckGaps when using async lighting 2015-08-06 21:44:03 -07:00
Byteflux
f2f04fbb77 Add beds and enderchests to list of collidable blocks 2015-08-05 02:31:55 -07:00
Iceee
19d4a47c33 Fix lava/water some times creating air instead of cobblestone 2015-08-04 17:57:17 -07:00
Byteflux
5b6b8beff8 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
febaf3c5a1 Configurable TNT explosion volume 2015-08-04 17:47:57 -07:00
Byteflux
c92053d8b0 Add chests and soul sand to list of types falling blocks can collide with 2015-08-04 17:24:47 -07:00
Byteflux
6bcae0c948 Make the recheckGaps method async like other lighting updates 2015-08-04 15:44:54 -07:00
Byteflux
6cbf685402 Optimize getCubes() 2015-08-04 15:25:37 -07:00
Zach Brown
acd17efa2d Rebuild patches 2015-08-02 01:56:08 -05:00
Zach Brown
f4d9e4a686 Temporarily remove PlayerMicroMoveEvent implementation
Breaks the existing PlayerMoveEvent, to be re-worked soon
2015-07-30 22:47:22 -05:00
Zach Brown
7d566bf6b7 Update for upstream NMS mapping changes 2015-07-30 22:41:53 -05:00
Zach Brown
fd378c06e5 Update PaperSpigot to 1.8.8 2015-07-27 17:26:21 -05:00
Zach Brown
9486b3747e Re-add recentTps array for plugins that make bad choices 2015-07-26 15:58:37 -05:00
Zach Brown
a1497e2182 Rebuild 2015-07-25 18:00:37 -05:00
Sudzzy
21ee673718 Configurable container update tick rate 2015-07-23 22:06:57 -07:00
Byteflux
a5a657d88c Rebuild patches 2015-07-23 13:37:52 -07:00
Byteflux
a8b69d72c7 Add BeaconEffectEvent 2015-07-23 12:57:12 -07:00
Byteflux
c8f3b4ba4f 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
f89d680e05 Add PlayerMicroMoveEvent 2015-07-23 04:30:13 -07:00
Iceee
b35f1a3c3e Optimize Spigot's Anti X-Ray 2015-07-23 04:24:24 -07:00
Jedediah Smith
57eedbe1b4 Send absolute position the first time an entity is seen 2015-07-23 04:13:26 -07:00
Zach Brown
c1e63e5d4b Rebuild patches 2015-07-20 20:14:39 -05:00
Byteflux
9491916ffa Unload client chunks + only cache whole chunk maps 2015-07-16 14:06:33 -07:00
Byteflux
d0249a6935 Configurable chunk map caching 2015-07-15 16:16:27 -07:00
Byteflux
82ad0725c6 Improvements to ChunkMap caching 2015-07-15 13:31:34 -07:00
Iceee
86c171f56d ChunkMap caching 2015-07-15 02:42:49 -07:00
Byteflux
963925b8ea Lookup neighbor chunks more efficiently in async lighting 2015-07-15 02:01:49 -07:00
Byteflux
c17ecdd93f Nerfed spawner mobs should use PathfinderGoalFloat to swim if available 2015-07-14 10:51:38 -07:00
Byteflux
ee2b2ec193 Optimize item movement 2015-07-14 10:17:39 -07:00
Byteflux
cfd19b9792 Configurable mob spawner tick rate 2015-07-14 10:01:28 -07:00
Byteflux
9874c9caa8 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
3388d414cf Rebuild patches 2015-07-14 08:59:57 -07:00
Byteflux
950d51d5e3 Remove obsolete patch 2015-07-10 03:45:20 -07:00
Byteflux
bf8eb1aba6 Remove bad condition in async lighting check 2015-07-10 03:20:10 -07:00
Byteflux
9da2e5eff7 Load chunks in getCubes() 2015-07-07 13:44:35 -07:00
Byteflux
fc9503b08d Fix off-by-one in async lighting neighbor loop 2015-07-04 17:42:28 -07:00
Byteflux
bc9a97a7a3 Fix liquids stuck in fast drain loop 2015-07-03 12:38:43 -07:00
Byteflux
811b3406a3 Add player view distance API 2015-07-01 01:01:42 -07:00
Byteflux
498811bfc5 Configurable lava flow speed 2015-07-01 00:39:31 -07:00
Byteflux
16d34d5de1 Clean up async lighting patch 2015-07-01 00:27:58 -07:00
Byteflux
5030643f4e Clean up forced chunk loading patch 2015-06-30 22:58:11 -07:00
Byteflux
d37d0f83c4 Fast draining 2015-06-30 20:22:24 -07:00
Byteflux
f1b5decd73 Stop updating flowing block if material has changed 2015-06-30 19:46:05 -07:00
Byteflux
cbe33d538c Always use optimized draining fix 2015-06-30 19:23:17 -07:00
Zach Brown
147438cc2f Rebuild patches 2015-06-20 22:05:36 -05:00
Byteflux
5b9a0a0122 Optimize explosions 2015-06-16 05:55:15 -07:00
Byteflux
820b9ac5e9 Do not filter out large getEntities call 2015-06-16 05:34:03 -07:00