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