Commit Graph

2576 Commits

Author SHA1 Message Date
Aikar
832687de70
Restore preventing saving bad entities patch to full effect 2020-04-12 16:50:50 -04:00
Aikar
df8eedeed0
Restore Optimize Pathfinding patch 2020-04-12 16:50:34 -04:00
Aikar
97b1cc361b
Allow shutting down server during a watchdog hang gracefully
If the request to shut down the server is received while we are in
a watchdog hang, immediately treat it as a crash and begin the shutdown
process. Shutdown process is now improved to also shutdown cleanly when
not using restart scripts either.

If a server is deadlocked, a server owner can send SIGUP (or any other signal
the JVM understands to shut down as it currently does) and the watchdog
will no longer need to wait until the full timeout, allowing you to trigger
a close process and try to shut the server down gracefully, saving player and
world data.

Previously there was no way to trigger this outside of waiting for a full watchdog
timeout, which may be set to a really long time...
2020-04-12 15:56:03 -04:00
Callahan
06044e2458
Async command map building
Reduces lag created on login and world change for sending the command map to client
2020-04-12 15:43:07 -04:00
DrHenchman
a4f066ccea
Fix method profiler inbalance introduced in a2a9ffe (#3132)
Fixes #3131
2020-04-12 02:41:57 -04:00
Aikar
c65dcad3eb
Don't delay chunk unloads during entity ticking
Leaf informed me this could cause ordering issues.

So, the risk if this occurring is lowered now anyways, but if an
entity causes a sync chunk load, it could process an unload...

We will tackle the problem better in a future commit

Also fixed another async-chunks=false issue
2020-04-12 00:42:28 -04:00
Aikar
bc17ce69d4
Delay unsafe actions until after entity ticking is done - Fixes #3114
This will help prevent many cases of unregistering entities during entity ticking

Currently delays Chunk Unloads and Async Chunk load callbacks

Also dropped mid ticking chunk tasks during entity ticking to reduce this risk
2020-04-11 23:22:40 -04:00
Aikar
e12c51d9bc
Use better variable for isStopping() API
Previous method only worked for a normal shutdown, and didn't include
when the server enters a closing state due to watchdog crashes

This is the correct variable to detect the server is in the middle of shutdown process
2020-04-11 23:21:33 -04:00
Aikar
586ee2bb11
Remove patch for MC-111480, fixed in 1.14
We were now starting entities at ID 2
2020-04-11 20:39:21 -04:00
Spottedleaf
09a942155f
Remove streams from Mob AI System
The streams hurt performance and allocate tons of garbage, so
replace them with the standard iterator.

Also optimise the stream.anyMatch statement to move to a bitset
where we can replace the call with a single bitwise operation.
2020-04-11 20:15:22 -04:00
Aikar
bb5c294ecf
Fix Disabling Asynchronous Chunks
This fix is for the few people who are using such low end systems that
asynchronous chunk loading hurts them rather than helping.

The previous build made paper crash if you turned off async chunks, and
this fixes that issue.
2020-04-11 17:15:41 -04:00
Aikar
089d83568b
Implement Chunk Priority / Urgency System for World Gen
Mark chunks that are blocking main thread for world generation as urgent

Implements a general priority system so that chunks that are sorted in
the generator queues can prioritize certain chunks over another.

Urgent chunks will jump to the front of the line, ensuring that a
sync chunk load on an ungenerated chunk does not lag the server for
a long period of time if the servers generator queues are filled with
lots of chunks already.

This massively reduces the lag spikes from sync chunk gens.

This is also a precursor to my next improvement to prioritize chunks
in front of the player (Frustum Priorization)
2020-04-11 04:46:21 -04:00
Aikar
fce69af70c
Use dedicated thread for main thread blocking chunk loads
In most cases, this change won't benefit much. However, there
exists the possibility that your Chunk Task threads are all busy
doing super slow work such as converting chunks.

If this occurs, the main thread blocking tasks, even at highest priority,
has to wait for some thread to become available.

This change gives us a waiting thread used only for main thread blocking
tasks, as well as an increased thread priority level, so that the OS
will give priority to this thread over the other threads.

This is more about guarantees, and won't be any real performanc boost
to anyone who has low or fast activity on their chunk tasks anyways.

But not all of us force upgrade our worlds, and this can be a life saver.

also reordered some patches because multiple PR's were merged.
2020-04-11 04:46:13 -04:00
BillyGalbreath
588b62e47b
Add tick times API and /mspt command (#3102) 2020-04-11 01:52:17 -04:00
Josh Roy
11de41c777
Add API MinecraftServer#isStopping (#3129) 2020-04-11 01:51:35 -04:00
Aikar
0ed6da7ab2
Fix issues with 167 causing crashes due to missing chunks - Fixes #3122
Forgot to flip the pending boolean back to false, causing it to copy
empty data on the next tick if nothing else triggered a load.

haven't managed to actually reproduce the crash others got, but did
verify that the bad copy was occurring erasing the data.

also fixed a bug with chunk load callback not executing before
another one was scheduled.
2020-04-10 14:11:46 -04:00
Aikar
23ee0a8a88
Fix issue with 0,0 chunks causing crash 2020-04-09 23:02:17 -04:00
Aikar
bc8fafb206
Updated Upstream (CraftBukkit/Spigot)
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

CraftBukkit Changes:
183139d4 SPIGOT-5665: Improve loading spawn egg NBT
dec5df26 SPIGOT-5667: Can't add recipe without (vanilla) datapack

Spigot Changes:
ae72bf43 SPIGOT-5666: Customizable End City Seed
2020-04-09 21:33:10 -04:00
Aikar
ebbca5cedb
Drowned is a RangedEntity (fixes API for Drowned to support Ranged) 2020-04-09 21:33:03 -04:00
Aikar
83b03eee04
Don't move existing players to world spawn
This can cause a nasty server lag the spawn chunks are not kept loaded
or they aren't finished loading yet, or if the world spawn radius is
larger than the keep loaded range.

By skipping this, we avoid potential for a large spike on server start.
2020-04-09 21:22:21 -04:00
Aikar
3b3e38fd01
Fix issue with loading chunk during ticking chunks issue
Also speed up performance of copying pending/updating to visible by
directly copying the internal array data instead of putAll
2020-04-09 20:45:46 -04:00
Aikar
ab74bb4514
Speed up processing of chunk loads and generation
Credit to Spotted for the idea

A lot of the new chunk system requires constant back and forth the main thread
to handle priority scheduling and ensuring conflicting tasks do not run at the
same time.

The issue is, these queues are only checked at either:

A) Sync Chunk Loads
B) End of Tick while sleeping

This results in generating chunks sitting waiting for a full tick to
complete before it will even start the next unit of work to do.

Additionally, this also delays loading of chunks until this same timing.

We will now periodically poll the chunk task queues throughout the tick,
looking for work to do.
We do this in a fair method that considers all worlds, not just the one being
ticked, so that each world can get 1 task procesed each before the next pass.

We also cap the throughput of these task processes to 1 per world per 0.1ms or
200 max per tick, to ensure that high volume of tasks do not overload the current
tick time.

In a view distance of 15, chunk loading performance was visually faster on the client.

Flying at high speed in spectator mode was able to keep up with chunk loading (as long as they are already generated)
2020-04-09 02:25:18 -04:00
Aikar
f5dd491fce
Increase Light Queue Size
Wiz mentioned that large WorldEdit operations cause light to run on
main thread. The queue was small, set to 5.. this bumps it to 20
but makes it configurable per-world.

The main risk of increasing this higher is during shutdown, some
queued light updates may be lost because mojang did not flush the
light engine on shutdown...

The queue size only puts a cap on max loss, doesn't solve that problem.

Don't touch this unless you know you have a problem and ok with the risk.
2020-04-09 02:25:09 -04:00
Aikar
9ab693487f
Don't load chunks when attempting to unload a chunk
Big Brain Logic
2020-04-08 21:13:48 -04:00
Aikar
38c626229d
Improve Optimize Memory use logic to make iterator safer and fix bad plugins like P2
Accessing world state async is bad mkay. But we know you didn't do it city <3
2020-04-08 21:07:59 -04:00
Aikar
d33ba160a4
Fix incorrect keyword use on visibleChunksClone 2020-04-08 04:12:48 -04:00
Aikar
2f34301581
Updated Upstream (Bukkit/CraftBukkit)
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

Bukkit Changes:
7361a62e SPIGOT-5641: Add Block.getDrops(ItemStack, Entity)
1dc91b15 Add specific notes about what is not API
2b05ef88 #484: Allow statistics to be accessed for offline players

CraftBukkit Changes:
f7d6ad53 SPIGOT-5603: Use LootContext#lootingModifier in CraftLootTable
5838285d SPIGOT-5657: BlockPlaceEvent not cancelling for tripwire hooks
f325b9be SPIGOT-5641: Add Block.getDrops(ItemStack, Entity)
e25a2272 Fix some formatting in CraftHumanEntity
498540e0 Add Merchant slot delegate
b2de47d5 SPIGOT-5621: Add missing container types for opening InventoryView
aa3a2f27 #645: Allow statistics to be accessed for offline players
2122c0b1 #649: CraftBell should implement Bell
2020-04-08 03:49:15 -04:00
Aikar
a65831bd69
Optimize PlayerChunkMap memory use for visibleChunks
No longer clones visible chunks which is causing massive memory
allocation issues, likely the source of Humongous Objects on large servers.

Instead we just synchronize, clear and rebuild, reusing the same object buffers
as before with only 2 small objects created (FastIterator/MapEntry)

This should result in siginificant memory use reduction and improved GC behavior.
2020-04-08 03:09:05 -04:00
Aikar
6c39a59ae7
Use entity.dead instead of entity.die()
Fixes #3096
2020-04-04 21:09:27 -04:00
Aikar
2c37d2ebee
Restore accidently reverted item in water fix 2020-04-02 23:12:21 -04:00
Aikar
cfaf32cf66
Dead Player's shouldn't be able to move
This fixes a lot of game state issues where packets were delayed for processing
due to 1.15's new queue but processed while dead.
2020-04-02 19:42:20 -04:00
Aikar
16287d01e2
Don't tick dead players
Causes sync chunk loads and who knows what all else.
This is safe because Spectators are skipped in unloaded chunks too in vanilla.
2020-04-02 17:19:44 -04:00
Aikar
e4d10a6d67
Updated Upstream (Bukkit/CraftBukkit)
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

Bukkit Changes:
122289ff Add FaceAttachable interface to handle Grindstone facing in common with Switches
a6db750e SPIGOT-5647: ZombieVillager entity should have getVillagerType()

CraftBukkit Changes:
bbe3d58e SPIGOT-5650: Lectern.setPage(int) causes a NullPointerException
3075579f Add FaceAttachable interface to handle Grindstone facing in common with Switches
95bd4238 SPIGOT-5647: ZombieVillager entity should have getVillagerType()
4d975ac3 SPIGOT-5617: setBlockData does not work when NotPlayEvent is called by redstone current
2020-04-02 17:09:17 -04:00
Aikar
c867045d3c
And that's why hand editing patch files in nano is risky.... make it compile 2020-04-02 03:58:46 -04:00
Aikar
c2d7876a54
Improve Entities in water activation immunity and let items always move 2020-04-02 03:56:05 -04:00
Aikar
1dc7c308aa
Optimize Collision Chunk lookup and avoid loading far chunks
Try to use a faster chunk lookup for collision detection, and only
fall back to the original for nearby chunks.

The collision code takes an AABB and generates a cuboid of checks rather
than a cylinder, so at high velocity this can generate a lot of chunk checks.
2020-04-02 02:43:07 -04:00
Aikar
d5c6dbee56
Prevent Double PlayerChunkMap adds crashing server
Suspected case would be around the technique used in .stopRiding
Stack will identify any causer of this and warn instead of crashing.
2020-04-02 01:45:33 -04:00
Aikar
a2a9ffe3b9
Fix issues with Activation Range causing large chunk lookups.
Where I blocked movement did not consider velocity buildup, which I assume
then "unleashes" if something was really trying to push that entity, and moves
it a very large distance.

Additionally, this method was completely misnamed, as movementTick
is more "doLotsOfTickThings", and ended up breaking AI too, which the whole
point of temporary wake ups was to let AI run to trigger new immunity.

Also fixed numerous behavioral rules for Immunity to improve vanilla gameplay,
suchas bees that are angry or moving towards a flower or hive, any insentient
that is targetting any enemy (Accidently made it any player), and included flying
mobs such as phantoms by reducing the type check to insentient instead of Creature.

Also improved inWater immunity to consider if the mob is movable by water or not.
2020-04-02 01:25:36 -04:00
Aikar
017297cdba
Improve entity.getCurrentChunk() and use it for entity.isChunkLoaded() 2020-04-02 00:43:11 -04:00
chickeneer
979b53a7f1
Do not allow bee's to load chunks for beehives 2020-03-31 03:54:42 -04:00
Aikar
13cb837394
Remote Connections shouldn't hold up shutdown
Bugs in the connection logic appears to leave stale connections even, preventing shutdown
2020-03-31 03:52:57 -04:00
Aikar
7dac546709
Fix bug in double register fix
could accidently delay entity reg by a tick if the bug this was fixing was encountered
2020-03-31 03:52:30 -04:00
Aikar
87829d8333
Remove incorrect IO flush for save-all that doesn't have flush parameter
The entire reason the if statement exists is to only flush and print when done if flag is true

This avoids /save-all from hurting as much as it was before, such as from backup plugins.
2020-03-31 03:15:34 -04:00
Aikar
31e751cb40
Fix unregistering entities from unloading chunks
CraftBukkit caused a regression here by making unloading chunks not
have a ticket added and returning unloaded future.

This caused entities who were killed in same tick their chunk is unloading
to not be able to be removed from the chunk.

This then results in dead entities lingering in the Chunk.

Combine that with a buggy detail of the previous implementation of
the Dupe UUID patch, then this was the likely source of the "Ghost entities"
2020-03-31 03:05:04 -04:00
Aikar
bc351f6eff
Ensure Entity is never double registered
If something calls register twice, and the world is ticking, it could be
enqueued to add twice.

Vs behavior of non ticking of just overwriting state.

We will now simply log a warning when this happens instead of crashing the server.
2020-03-31 03:04:47 -04:00
Aikar
2ec0274b88
Fix many issues with dupe uuid resolve patch
This was not applied correctly, and would completely blow up chunk entity
registration if this feature was turned off....

Additionally, change how the entities are removed to be more consistent with other code.

Surface some of the logs indicating there is a problem as we are having so many issues with
entities that we don't need to be surpressing logs like that.
2020-03-31 02:52:12 -04:00
Shane Freeder
756da10d46
(Actually) Don't duplicate velocity entry into hidden-configs 2020-03-31 05:37:39 +01:00
Shane Freeder
9b3679fbd3
Don't duplicate velocity entry into hidden-configs
also, rebuild patches
2020-03-31 05:30:04 +01:00
Max Lee
28cf6540c6
Pillager patrol spawn settings and per player options (#2924) 2020-03-31 04:27:58 +01:00
froobynooby
6bf04cd5ed
Reduce entity tracker updates on move 2020-03-31 03:58:13 +01:00
Spottedleaf
de5b093c05
Handle chunk unloading during block tick 2020-03-30 05:07:04 +01:00
Spottedleaf
be7b40634d
performance: Improve Activation Range entity iteration
Faster Entity iteration using the chunks full entity list and array access.

Faster chunk lookups skipping the cache, as the pattern of access was not suitable
for cache usage (each request will likely blow cache)

This reduces the cost of Entity Activation Range's initial marking.
2020-03-29 23:35:04 -04:00
Aikar
bacbd8805f
performance: Many Entity Activation Range Improvements
1) Immunity no longer gives 20 tick immunity, each immunity check can
give its own tick value on how long it lasts, drastically cutting down on most to 0-1 ticks.

2) Fixed Villager Immunity to use proper 1.15 check for Breeding.

3) Fixed Water Mobs being 100% immune due to the inWater check...

4) Fixed flying mobs being 100% immune due to the !onGround check...

5) Made Insentient mobs only check for the hasTasks during immunity check window, not every single tick. this made them way more active than desired
  - this puts behavior closer to inline with my original behavior in Spigot, but still does some checks to allow them temporary immunity, just not as much as before.

6) Inactive Entities would "inch" while trying to move, effectively getting nowhere. Now while an entity is inactive, it just won't even try to move.
  - this saves us from the expensiveness of Entity movement 1 out of 20 ticks. Now they will only move while either active or triggered a true immunity.
2020-03-29 23:33:39 -04:00
Shane Freeder
269394fe15
Update hidden-configs 2020-03-30 03:52:56 +01:00
Shane Freeder
9a7ca3dbc5
Updated Upstream (Bukkit/CraftBukkit/Spigot)
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

Bukkit Changes:
564ed152 #482: Add a DragonBattle API to manipulate respawn phases etc
9f2fd967 #474: Add ability to set other plugin names as provided API so others can still depend on it

CraftBukkit Changes:
fc318cc1 #642: Add a DragonBattle API to manipulate respawn phases etc
796eb15a #644: Fix ChunkMapDistance#removeAllTicketsFor not propagating ticket level updates
a6f80937 SPIGOT-5606: call BlockRedstoneEvent for fence gates

Spigot Changes:
a03b1fdb Rebuild patches
2020-03-26 02:44:23 +00:00
Spottedleaf
68ec946c7a
Fix memory leak in TickListServer (#3068)
Only occurred when entries were scheduled with huge tick delays

Add two flags to debug excessive tick delays:
-Dpaper.ticklist-warn-on-excessive-delay=true (false by default)
and -Dpaper.ticklist-excessive-delay-threshold=ticks which
sets the excessive tick delay to the specified ticks (defaults to
60 * 20 ticks, aka 60 seconds)
2020-03-25 14:56:18 -05:00
Spottedleaf
49fdb18206
Timings changes (#3044)
* Timings changes

- Increment entity tick count only when an entity ticks
- Remove chunk inhabited timer
- Try finally entity timings

* Add activated entity ticks

Co-authored-by: Spottedleaf <Spottedleaf@users.noreply.github.com>
2020-03-19 02:03:32 -04:00
Nassim
d63075dff8
Pass fireworks through vanished players (#3021) 2020-03-18 13:58:50 +00:00
Shane Freeder
4d991f1946
[CI-SKIP] Rebuild patches 2020-03-18 12:42:18 +00:00
Spottedleaf
26070a0e5c
Indicate ticking status in entity list command (#2856) 2020-03-18 12:38:24 +00:00
Spottedleaf
2ff7b4800b
Optimise Chunk#getFluid (#2860)
Removing the try catch and generally reducing ops should make it
faster on its own, however removing the try catch makes it
easier to inline due to code size
2020-03-18 12:21:35 +00:00
Spottedleaf
c23ebb780d
Optimise ticklistserver (#2957) 2020-03-18 12:17:28 +00:00
Shane Freeder
e4602b6d48
Drop Ignore-Missing-Recipes-in-RecipeBook-to-avoid-data-e.patch
This patch appears to be no longer relevant, and is seemingly a leading
cause of datapack performance being horrific
2020-03-15 20:03:36 +00:00
Jan
0ad8cf73ff
Call BlockRedstoneEvent for fence gates (#3026)
Co-authored-by: Jan Boerman <Janboerman95@gmail.com>
2020-03-14 13:39:54 +00:00
Shevchik
c8dea96ee1
Prevent blocking on adding a new network manager (#3027)
Previous solution could still block network thread (while addPending is executing). This window is small, but removing it completely is better. This should probably also speed up concurrent adds, because no locking will be performed anymore.
The only possible downside is that adding elements one by one to synchronized list might be slower (But it's done while already locked, so maybe jvm will avoid additional locking?),
2020-03-14 11:20:50 +00:00
BillyGalbreath
ac2bbf62c8
Fix NPE on GUI during Windows Lock Screen (#3023) 2020-03-13 07:02:30 +00:00
Zero
e1281a1414
Configurable chance of villager zombie infection (Closes #2501)
This allows you to solve an issue in vanilla behavior where:
* On easy difficulty your villagers will NEVER get infected, meaning they will always die.
* On normal difficulty they will have a 50% of getting infected or dying.
2020-03-10 16:13:58 +00:00
William Blake Galbreath
ad708dd3f3
Add option to allow iron golems to spawn in air (Closes #1965, Closes #1851) 2020-03-10 15:35:54 +00:00
Shane Freeder
b16fd5c3a3
Updated Upstream (Bukkit/CraftBukkit/Spigot)
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

Bukkit Changes:
6148fca7 SPIGOT-5484: Add more spawn tick settings

CraftBukkit Changes:
fc249340 SPIGOT-5484: Add more spawn tick settings

Spigot Changes:
6de3d4be Rebuild patches
2020-03-10 11:01:21 +00:00
Shane Freeder
2e44dc1ae3
Updated Upstream (CraftBukkit)
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

CraftBukkit Changes:
7f61a252 #640: Fix chunk load/unload callbacks for chunk load cancellations
2020-03-07 08:47:53 +00:00
Shane Freeder
2c07231eeb
Validate tripwire hook placement before update 2020-03-07 00:08:51 +00:00
Shane Freeder
31872198b4
Fix dead telepotation logger format 2020-03-06 23:29:13 +00:00
Shane Freeder
ccf1d5908f
Prevent teleporting dead entities (#2803) 2020-03-03 05:34:30 +00:00
Gergely Sarkozi
5ce1dd48e1
Add hand to BlockMultiPlaceEvent (fixes #2997) (#2998) 2020-03-02 20:55:31 +00:00
Shane Freeder
3ad47bcf8e
Reduce chunk range timers 2020-03-02 19:56:04 +00:00
Shane Freeder
793bae0d45
Updated Upstream (CraftBukkit)
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

CraftBukkit Changes:
13ed05de Prepare for Java 14
6b00b145 #639: Deep clone itemmetas persistent container on clone
2020-03-02 19:17:49 +00:00
Shane Freeder
4df3dad85d
Reduce PlayerNaturallySpawnCreaturesEvent calls 2020-02-29 23:49:45 +00:00
Andrew Mollenkamp
c0f4b24e3a
Fix random ticks (Fixes #2990) (#2992) 2020-02-27 08:42:47 +00:00
Shane Freeder
b077005910
Updated Upstream (Bukkit/CraftBukkit)
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

Bukkit Changes:
fd28180e #479: Add LivingEntity#attack, LivingEntity#swingMainHand, LivingEntity#swingOffHand
ae72ba3a SPIGOT-5591: Allow concurrent potion effects

CraftBukkit Changes:
3d61a853 Fix formatting in CraftLivingEntity
f7ab3055 #633: Add LivingEntity#attack, LivingEntity#swingMainHand, LivingEntity#swingOffHand
d5ef2eab SPIGOT-5591: Allow concurrent potion effects
25a9a9ff SPIGOT-5592: Custom ChunkGenerator can cause bugged dirt
3f6d0de9 Make it clear in error messages that api-version above 1.13 is also supported
2020-02-25 18:57:15 +00:00
Cat73
0809d6be3e
[CI-SKIP] fix avoid-hopper-search obfhelper hint type (#2989) 2020-02-25 18:42:52 +00:00
Shane Freeder
7434b6d710
Fix ProjectilCollideEvent cancellation (Fixes #2953) 2020-02-22 15:00:41 +00:00
Shane Freeder
e5e4e9f717
Do not send PlayerProfile info before initial server send 2020-02-22 14:13:29 +00:00
Shane Freeder
4e0ed1f812
Backport fix for MC-167561 (Fixes #2886, closes#2960) 2020-02-21 18:46:00 +00:00
Shane Freeder
9946cef8c5
Updated Upstream (Bukkit/CraftBukkit/Spigot)
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

Bukkit Changes:
f52c70ab Fix incorrect nullability in MultipleFacing
6af4c0b2 SPIGOT-5311: Add API to get/set item associated with throwable projectiles
97aeae56 Add set/isAware to disable Vanilla AI components of a Mob

CraftBukkit Changes:
fba9f487 Improve legacy conversion of some materials that changed post flattening
b1ba8749 Move Bukkit.Aware loading/saving to correct location
f7cdb53c SPIGOT-5311: Add API to get/set item associated with throwable projectiles
689f429c #634: Cross platform patch scripts
ab85433d Add set/isAware to disable Vanilla AI components of a Mob

Spigot Changes:
8faa8b45 Rebuild patches
2020-02-21 17:52:20 +00:00
Zach Brown
9f5fadcc7c
Remove extraneous space from host info log message
This has been bothering me for a long time now.
2020-02-18 22:57:49 -06:00
BillyGalbreath
d60a10c9ff
Make the GUI graph fancier (#2928) 2020-02-18 22:52:18 -06:00
Zach Brown
ecfaff5283
Revert "Add root/admin user detection (#2432)"
This reverts commit 555ca59af7.

Unknown issue on CentOS/RHEL(?) requires further examination.
2020-02-18 22:32:13 -06:00
egg82
555ca59af7
Add root/admin user detection (#2432)
This patch detects whether or not the server is currently executing as a privileged user and spits out a warning. The warning serves as a sort-of PSA for newer server admins who don't understand the risks of running as root.

We've seen plenty of bad/malicious plugins hit markets, and there's been a few close-calls with exploits in the past. Hopefully this helps mitigate some potential damage to servers, even if it is just a warning.
2020-02-18 22:10:41 -06:00
Gergely Sarkozi
e1f3b6d033
fix tripwire hook BlockPlaceEvent (fixes #2969) (#2971) 2020-02-18 21:51:51 -06:00
BillyGalbreath
33a615de43
Add option to nerf pigmen from nether portals (#2937)
* Add option to nerf pigmen from nether portals
2020-02-18 19:42:05 -06:00
Shane Freeder
6ea3c2cf3b
[CI-SKIP] Rebuild patches 2020-02-12 14:03:09 +00:00
Spottedleaf
d7bed4cb07
Heavily optimise random block ticking (#2914)
* Optimise random block ticking

Massive performance improvement for random block ticking.
The performance increase comes from the fact that the vast
majority of attempted block ticks (~95% in my testing) fail
because the randomly selected block is not tickable.

Now only tickable blocks are targeted, however this means that
the maximum number of block ticks occurs per chunk. However,
not all chunks are going to be targeted. The percent chance
of a chunk being targeted is based on how many tickable blocks
are in the chunk.
This means that while block ticks are spread out less, the
total number of blocks ticked per world tick remains the same.
Therefore, the chance of a random tickable block being ticked
remains the same.
2020-02-12 13:49:52 +00:00
Zach Brown
ba71c5d6e7
Stop stripping private use block Unicode from signs
Fixes GH-2943
2020-02-10 22:35:46 -06:00
BillyGalbreath
28d9dcfcf4
Entity Jump API (#1587) 2020-02-10 22:28:39 -06:00
Shane Freeder
9976a76809
Fix PlayerNaturallySpawnCreaturesEvent boolean inversion 2020-02-09 19:32:40 +00:00
BillyGalbreath
a8984ccb9f
Add ThrownEggHatchEvent (#1982)
Add a new event similar to PlayerEggThrowEvent but without the Player
requirement (dispensers can throw eggs to hatch as well).
2020-02-09 00:32:29 -06:00
Gergely Sarkozi
9f24d4952b
Allow nerfed blazes, endermen to take water damage (#2847)
Fixes GH-2841
2020-02-08 22:19:54 -06:00
Zach Brown
f09fed894f
Update upstream B/CB
--- work/Bukkit
Submodule work/Bukkit 6a4242cb..337955e3:
  > SPIGOT-5468: Improve Beehive TileEntity API
  > #473: Add an API for passing the heightmap to getHighestBlockAt* method

--- work/CraftBukkit
Submodule work/CraftBukkit 807a677e..708be695:
  > SPIGOT-5468: Improve Beehive TileEntity API
  > #624: Add an API for passing the heightmap to getHighestBlockAt* method
  > MC-135989, SPIGOT-5564: Don't kick players for flight while riptiding

This deprecates the Paper getHighestBlockAt HeightMap APIs now that
Bukkit has added their own. These methods will stick around long enough
for people to migrate. Their API is pretty much the same as ours,
migration should be quick and easy.
2020-02-08 18:32:48 -06:00
Zach Brown
7c1ef0b701
Add option to ignore the java version check in CB
Fixes GH-2935
2020-02-08 18:08:56 -06:00
Zach Brown
6aa27ec378
Rebuild patches 2020-02-06 21:07:34 -06:00
Spottedleaf
4712863375
Lag compensate eating (#2861)
When the server is lagging, players will wait longer when eating.
Change to also use a time check instead if it passes.
2020-02-06 21:06:52 -06:00
Zach Brown
fa7400e567
Be more tolerant of invalid attributes 2020-02-06 19:32:49 -06:00
Shane Freeder
3dafa6a08a
Updated Upstream (CraftBukkit)
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

CraftBukkit Changes:
807a677e SPIGOT-5558: Fix World#getHighestBlockAt, previously off by +1
2020-02-03 01:54:02 +00:00
Shane Freeder
77b05b9c8e
Updated Upstream (Bukkit/CraftBukkit/Spigot)
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

Bukkit Changes:
6a4242cb #468: Allow delegation of certain elements to Vanilla when using a custom ChunkGenerator
c6697f90 SPIGOT-5559: Add EntityPotionEffectEvent causes for PATROL_CAPTAIN and WITHER_ROSE
9c1fa040 #467: Add method to remove a recipe by its key
3961d1aa Add nb-configuration.xml to .gitignore

CraftBukkit Changes:
d70084e5 Remove unused seed in CustomChunkGenerator
8a66d4c7 #619: Allow delegation of certain elements to Vanilla when using a custom ChunkGenerator
c2dc19d3 Craftbukkit -> CraftBukkit
ae45e092 SPIGOT-5559: Add EntityPotionEffectEvent causes for bee, raiders and wither rose
00980376 #618: Add method to remove a recipe by its key

Spigot Changes:
c574e08b Rebuild patches
13c24cc4 Rebuild patches
2020-02-02 11:53:48 +00:00
Shane Freeder
55b3a09dde
Updated Upstream (Bukkit/CraftBukkit/Spigot)
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

Bukkit Changes:
d0800d0c Update checkstyle
e4e4bf70 Remove package-info from tests, breaks some IDEs
d6651bb0 No longer necessary to synchronize sync events

CraftBukkit Changes:
e82b5477 SPIGOT-5556: Some biome methods use incorrect positions
544ccdc5 Update checkstyle
512ff7a5 Print legacy load reason in debug mode
df371c1b SPIGOT-5554: Clear error message when BossBar is used for not fully joined players
18168500 Update scriptus
6bbb4e73 Clean up CraftBlockData.toString
b1e96bd5 SPIGOT-5551: BlockState.setData fails when used by legacy plugin

Spigot Changes:
b9baf717 Add space before ocean seed output
13394884 Rebuild patches
2020-02-01 15:20:54 +00:00
Shane Freeder
859f1296fe
Remove entities from per-chunk list (Fixes #2918) 2020-01-31 16:09:56 +00:00
Shane Freeder
b21010e7e3
Remove chunks after calling ChunkUnloadEvent (Fixes #2919) 2020-01-30 16:57:46 +00:00
Shane Freeder
4e48785d91
Drop 0394-Fixed-MC-156852.patch (Fixes #2913) 2020-01-30 09:36:03 +00:00
Spottedleaf
01b965e0fd
Fix getChunkAtIfCachedImmediately (#2915) 2020-01-29 01:26:07 +00:00
Shane Freeder
0a897d6e6a
Rebuild patches
Because you know... That's how you commit them...
2020-01-28 19:48:56 +00:00
Shane Freeder
5792c8626a
Updated Upstream (Bukkit/CraftBukkit/Spigot)
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

Bukkit Changes:
93e39ce1 Clarify documentation regarding getMaterial with legacyName = true
c3aeaea0 Improve dependency tracker
14c9d275 Add support for transitive depends in load access warning
c8afe560 SPIGOT-5526: Add EntityEnterBlockEvent
6bb6f07d SPIGOT-5548: Show error that hints towards plugins misusing reflection
ed75537d SPIGOT-5546: Fix bad depend access using wrong provider in message
4e4c0ee9 Fix buggy classloader warning triggering for all classes
89586a4c Print warning when loading classes from depends that have not been specified
d4fe9680 Fix bug where disablePlugin could remove ConfigurationSerializable classes from other plugins
85e683b7 Add additional checkstyle checks
612fd8e1 Correct max page count in BookMeta docs
fa8a9781 Correct max title length in BookMeta docs

CraftBukkit Changes:
ab13a117 SPIGOT-5550: Cancelled ProjectileLaunchEvent still plays sound for eggs
44016b1d SPIGOT-5538: Using javaw to run GUI prints input error
e653ae76 SPIGOT-5526: Call EntityEnterBlockEvent for bees trying to enter hives
6515ea49 SPIGOT-5537: Bee nests generated by growing trees near flower have no bees
d82b3149 Remove unused CraftWorld.getId method
10763a88 Change some block == AIR checks to isAir to catch CAVE_AIR

Spigot Changes:
f2c1cd15 Rebuild patches
bcd458ad Reformat patches
2020-01-28 19:43:57 +00:00
Gergely Sarkozi
c9eebbb802 Fix Player#applyMending NPE (#2917) 2020-01-28 18:20:53 +00:00
Spottedleaf
d16a5d8813 Performance patches prerequisite (#2802)
Prereq changes for the coming storm of performance patches.
Includes optimising incremental saving
2020-01-27 18:16:53 -06:00
BillyGalbreath
5fdafcd7a9 Fix #2906 - Bees get gravity in void - Fixes MC-167279 (#2912) 2020-01-26 23:59:43 +00:00
Shane Freeder
60d4c80854
Properly check for running tasks in EAR 2020-01-26 23:35:34 +00:00
Shane Freeder
7329e19ce5
Updated Upstream (CraftBukkit)
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

CraftBukkit Changes:
e911c70f SPIGOT-5542: Cancelling EntityToggleGlideEvent doesn't stop client from gliding
2020-01-25 01:22:52 +00:00
BillyGalbreath
b3a97d1446 Fix startup errors when double clicking jar (#2903) 2020-01-24 23:06:37 +00:00
Shane Freeder
b51fbefc48
Revert "Fix errors on startup when double clicking jar (#2901)"
This reverts commit a0438faba9.
2020-01-24 21:30:15 +00:00
BillyGalbreath
a0438faba9 Fix errors on startup when double clicking jar (#2901) 2020-01-24 19:13:59 +00:00
Max Lee
e0da6d4b81 Seed based feature search (Fixes #2312) (#2852) 2020-01-24 19:07:14 +00:00
Shane Freeder
969ef51ad2
Init legacy material data
This fixes an issue with plugins using legacy materials, spigot does
not populate the bukkit registry properly, leading to NPEs when using
outdated plugins. This patch should likely be dropped when spigot fixes
their legacy data usage....

Also rebuild patches because 10/10
2020-01-23 21:38:17 +00:00
Andrew Mollenkamp
c471490985
Fix items vanishing through end portal (Resolves #2681) (#2894)
hehe
2020-01-23 15:38:47 +00:00
Shane Freeder
8a0b371c68
Fix comparator behavior for EntityPhanton goal 2020-01-22 21:01:28 +00:00
Zach Brown
79710332e3
Update upstream CB
--- work/CraftBukkit
Submodule work/CraftBukkit 29737ccb..efd6cf55:
  > Only load legacy support data if something uses it
2020-01-21 20:12:53 -06:00
Spottedleaf
19de9af63c 1.15.2 update (#2887)
Functional GUI fix added by billygalbreath
2020-01-21 20:02:07 -06:00
Shane Freeder
d4ae43fc00
Updated Upstream (Bukkit/CraftBukkit)
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

Bukkit Changes:
58d299a5 Clarify that TotalExperience (XpTotal) is not displayed anywhere
3342ab1e #460: Add Player#sendExperienceChange
acc05b40 SPIGOT-5525: saveResource saves files from server jars

CraftBukkit Changes:
5c6b0dc6 SPIGOT-5526: Call EntityChangeBlockEvent for bees triggering crop growth
b91ce119 #601: Implement Player#sendExperienceChange
661bebc6 Remove outdated build delay.
2020-01-21 15:12:47 +00:00
Shane Freeder
9c2d9a5f41
[CI-SKIP] Rebuild patches 2020-01-20 16:04:39 +00:00
Andrew Mollenkamp
86a4b75200 Fix items not falling correctly (Resolves #2835) (#2872) 2020-01-20 15:57:12 +00:00
Omer Uddin
35472de2bc Port activation range improvement patch (#2763) 2020-01-20 15:54:57 +00:00
BillyGalbreath
617f6033e7 Add effect to block break naturally (#2819) 2020-01-18 20:10:06 -06:00
Shane Freeder
00860e4e10
[CI-SKIP] rebuild patches 2020-01-18 17:58:05 +00:00
Callahhh
3d51966885 Prevent sync chunk loads when villagers try to find beds (#2855) 2020-01-18 17:54:33 +00:00
Spottedleaf
f177f878a8 Full chunk debug on incremental watchdog (#2868) 2020-01-18 17:50:23 +00:00
Spottedleaf
c2954557e7 Fix last firework in stack not having effects when dispensed - #2871 (#2876)
CB used the resulting item in the dispenser rather than the item
dispensed. The resulting item would have size == 0 and therefore
be convertered to air, hence why the effects disappeared.
2020-01-18 17:31:05 +00:00
Spottedleaf
dd8b8df0ca Ensure portal search radius is used when teleporting players (#2877)
Also add the create search radius mojang recently introduced
to config
2020-01-18 17:28:32 +00:00
Mark Vainomaa
701114058c Fix dupe with Eigencraft redstone implementation (#2864) 2020-01-16 20:07:50 -06:00
Brody Beckwith
5dc6bd450e Optimize call to getFluid for explosions (#2859)
Signed-off-by: BrodyBeckwith <brody@beckwith.dev>
2020-01-15 00:16:04 +00:00
Shane Freeder
0f795c3e8a
Updated Upstream (CraftBukkit)
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

CraftBukkit Changes:
01334e7d #616: Fix exception on entity portal teleport attempt
2020-01-14 21:43:50 +00:00
Shane Freeder
1d5bd44d13
Fix entity teleportation exceptions 2020-01-14 09:14:12 +00:00
Shane Freeder
bd0337b7a9
Updated Upstream (Bukkit/CraftBukkit/Spigot)
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

Bukkit Changes:
7dd1cfcd PortalEvent additions

CraftBukkit Changes:
e8cb2f51 SPIGOT-5252: Nether portal fixes and additions
fde78ef3 SPIGOT-5477: Server not shutting down

Spigot Changes:
037559e7 Rebuild patches
2020-01-13 22:36:41 +00:00
Spottedleaf
654a131620 Add more chunk debug to watchdog (#2851)
print chunk holder status, useful for indicating what steps the
server has gone through after loading chunks from disk

Also rebuild patches (cat...)
2020-01-12 21:06:05 +00:00
Spottedleaf
d94d6a2970 Optimise IEntityAccess#getPlayerByUUID (#2842)
Use the world entity map instead of iterating over all players
2020-01-12 06:36:31 +00:00
Spottedleaf
4237539e58 Guard against serializing mismatching chunk coordinate (#2844)
Should help if something dumb happens
2020-01-12 06:32:44 +00:00
Shane Freeder
c1f57657ee
Updated Upstream (CraftBukkit)
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

CraftBukkit Changes:
d208733e SPIGOT-5509: Sleeping player does not eject bed when teleported
2020-01-11 13:34:00 +00:00
Brokkonaut
f5569fd3d8 Fix SkullMeta.setPlayerProfile() (#2833) 2020-01-10 18:07:29 +00:00
Omer Uddin
4151617d29 Update no chunk loads for hoppers and double chests patch (#2777) 2020-01-09 21:11:19 -06:00
Spottedleaf
db3af11cea Fix race condition with regionfile being closed right after getting one (#2812)
Occurs when 1 thread retrieves a regionfile, and then the
regionfile is closed due to it being thrown out of cache.
2020-01-09 19:42:33 -06:00
BillyGalbreath
9aeba7c95a Prevent bees loading chunks checking hive position (#2828) 2020-01-09 19:28:29 -06:00
Shane Freeder
bd1e1ad1aa
Updated Upstream (Bukkit/CraftBukkit)
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

Bukkit Changes:
5d4de46e Fix checkstyle.xml formatting
adf331f1 SPIGOT-5496: API to create and manipulate hardcore worlds

CraftBukkit Changes:
c727dc2a Fix checkstyle.xml formatting
e7202cd4 SPIGOT-5496: API to create and manipulate hardcore worlds
9820cd2d MC-151364, SPIGOT-5494: Feeding dolphin hangs if generate-structures=false
2020-01-05 23:08:18 +00:00
Zach Brown
b74fe8ea11
Update upstream B/CB
--- work/Bukkit
Submodule work/Bukkit bbfd13dd..72e3dfd4:
  > SPIGOT-5486: Raider CanJoinRaid

--- work/CraftBukkit
Submodule work/CraftBukkit 83af86db..731e819c:
  > SPIGOT-5486: Raider CanJoinRaid
  > SPIGOT-5487: Increase outdated build delay
2020-01-01 17:44:53 -06:00
Shane Freeder
7530141468
remove burtned TNT blocks (Fixes #2808) 2019-12-30 12:49:48 +00:00
Zach Brown
92933b162c
Fix double dropping xp now that Spigot fixed it 2019-12-26 22:28:02 -05:00
Zach Brown
4ed5ab7c79
Update upstream CB/S
--- work/CraftBukkit
Submodule work/CraftBukkit 297ff400..83af86db:
  > SPIGOT-5457: Downgrade 'Mismatch in destroy block pos' message to debug
  > SPIGOT-5481: PlayerBedLeaveEvent returns wrong bed location
  > SPIGOT-5482: Structure Block setUsageMode encounters NullpointerException
  > SPIGOT-5426: isSimilar for player heads fails
  > SPIGOT-5478: XP not dropping when a player dies

--- work/Spigot
Submodule work/Spigot 05bb8bcf..492a7792:
  > Rebuild patches
2019-12-26 22:18:27 -05:00
Shane Freeder
c32f8e132c
PlayerDeathEvent#shouldDropExperience 2019-12-24 00:36:24 +00:00
Shane Freeder
05ecc314d2
Updated Upstream (CraftBukkit)
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

CraftBukkit Changes:
8073dbec SPIGOT-5474: Just ignore bugged fireball data
2019-12-23 03:59:27 +00:00
Shane Freeder
f8fd607e04
Updated Upstream (Bukkit/CraftBukkit/Spigot)
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

Bukkit Changes:
bbfd13dd Hyperlink 'Events' in raid event package documentation
b2095bed SPIGOT-5413: Add TrustedPlayer API for foxes
1bf1f3f4 Block trace methods do not require hash sets
abf0cfdc Javadoc improvements per checkstyle
c4a2b425 Add TimeSkipEvent

CraftBukkit Changes:
817116de SPIGOT-5413: Add TrustedPlayer API for foxes
062680a8 SPIGOT-5467: Calm down bees that cannot exit hive
75fac431 SPIGOT-5472: Spurious warning when using clone command on tile entities
85106731 SPIGOT-5471: Allow empty title/author for books
2d9db47f Add TimeSkipEvent
384225c2 Add thread name to TerminalConsoleWriterThread

Spigot Changes:
05bb8bcf Postpone stopping the watchdog until the server is completely stopped
18e2b9be Add package-info.java for Spigot APIs
2019-12-23 02:37:47 +00:00
Omer Uddin
3f5564f1bc Port Optimize-Hoppers.patch to 1.15 (#2765)
* port patch

* fix hoppers eating items
2019-12-22 02:28:35 +00:00
Shane Freeder
26dfbc8046
Updated Upstream (Bukkit/CraftBukkit)
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

Bukkit Changes:
3aa8286b SPIGOT-794: Add boats to EntityPlaceEvent
c36d90a6 SPIGOT-5464: Add BEEHIVE SpawnReason for when a bee leaves a beehive

CraftBukkit Changes:
90ef74ef SPIGOT-794: Add boats to EntityPlaceEvent
fb7abcb3 SPIGOT-5466: Bees still get angry even if damage event cancelled
4499fec5 SPIGOT-5464: Add BEEHIVE SpawnReason for when a bee leaves a beehive
2019-12-19 19:17:36 +00:00
BillyGalbreath
539543ca9a MC-145656 Fix Follow Range Initial Target (#2778) 2019-12-19 19:03:16 +00:00
Shane Freeder
8e972bf5aa
Updated Upstream (Bukkit/CraftBukkit/Spigot)
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

Bukkit Changes:
bf1fa3e3 Update to Minecraft 1.15.1

CraftBukkit Changes:
30a1b691 Update to Minecraft 1.15.1
e2790ae2 Remove outdated build delay.

Spigot Changes:
2ee05fef Update to Minecraft 1.15.1
2019-12-17 22:39:07 +00:00
Shane Freeder
3cd952e225
Yank 0417-Avoid-Chunk-Lookups-for-Entity-TileEntity-Current-Ch.patch
Currently causing leaks
2019-12-16 19:02:26 +00:00
Shane Freeder
c47cf32c7c
Restore 0129-Optimize-World.isLoaded-BlockPosition-Z.patch 2019-12-16 02:58:14 +00:00
Shane Freeder
cd499c92a1
Restore Use-getChunkIfLoadedImmediately-in-places.patch 2019-12-16 02:47:46 +00:00
Callahhh
7986f57e5d Bring back Reduce-sync-loads.patch (#2761) 2019-12-16 01:43:21 +00:00
Shane Freeder
9e58f22640
Address gen concurrency issue causing crashes (Fixes #2746) 2019-12-16 01:38:00 +00:00
Shane Freeder
8b25307b34
Merge branch 'ver/1.14' 2019-12-15 23:05:36 +00:00
Shane Freeder
1c38436266
attempt to allow timings to continue with janky plugin classes 2019-12-15 22:45:17 +00:00
Shane Freeder
443ffb450b
Fix spectator teleport target (#2743) 2019-12-15 20:19:52 +00:00
Shane Freeder
7d8117083f
Fix spawn radius being treated as 0 (Fixes #2742) 2019-12-15 19:42:35 +00:00
Shane Freeder
c36cf2aff4
Updated Upstream (CraftBukkit)
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

CraftBukkit Changes:
e43416a3 SPIGOT-5455: Mobs do not ignite due to sun in extra worlds
2019-12-15 19:40:28 +00:00
Shane Freeder
8782be3bb0
[CI-SKIP] Rebuild patches 2019-12-15 18:33:43 +00:00
Black Hole
ff8a48b9d1 Don't show 1.15 plugins as legacy in plugins command (#2755)
* Don't show 1.15 plugins as legacy in plugins command

* Use CraftMagicNumbers.SUPPORTED_API
2019-12-15 18:28:44 +00:00
Omer Uddin
a133980223 port PlayerLaunchProjectileEvent patch to 1.15 (#2758) 2019-12-15 18:25:10 +00:00
Omer Uddin
f3c55f239a port TE chunk lookup patch to 1.15 (#2757) 2019-12-15 18:17:16 +00:00
Shane Freeder
0585f99b05
Prevent TRAP while loading Fireballs 2019-12-14 01:15:01 +00:00
Shane Freeder
12051feb76
Updated Upstream (CraftBukkit/Spigot)
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

CraftBukkit Changes:
61d4b090 SPIGOT-5428: Better handling of some ItemMeta

Spigot Changes:
047b6f86 SPIGOT-5421: Add separate trident despawn rate
c1047ed9 SPIGOT-5445: Add log-villager-deaths option
2019-12-14 01:02:52 +00:00
Shane Freeder
bc447dc137
Track correct branch for /version 2019-12-13 22:56:02 +00:00
Shane Freeder
7dbceea208
Restore zero-tick farms fix
They no longer directly call the tick method, so, one step forward...
2019-12-13 22:48:40 +00:00
Shane Freeder
55944bc6ff
Revert "Drop fix zero-tick farms (Fixes #2736)"
This reverts commit 3b93c5b112.
2019-12-13 22:41:00 +00:00
Shane Freeder
3b93c5b112
Drop fix zero-tick farms (Fixes #2736)
Fixed by mojang in 1.15, farm blocks are no longer in the next tick list

Also, add hopper optimization patch to the removed folder
2019-12-13 21:53:20 +00:00
Shane Freeder
31bc07cb65
Drop hopper optimization patch 2019-12-13 20:41:01 +00:00
Shane Freeder
788e033817
Don't set the count on already empty items in hopper moves (Fixes #2735) 2019-12-13 20:11:45 +00:00
Shane Freeder
c034be8a82
Remove debug statement and rebuild patches properly 2019-12-13 16:29:51 +00:00
Shane Freeder
058e4efb41
Allow reading of oversized region files 2019-12-13 16:22:16 +00:00
Shane Freeder
ae68db1f0e
Drop entity experience on death 2019-12-13 15:21:58 +00:00
Shane Freeder
d413dca4ee
Updated Upstream (Bukkit/CraftBukkit/Spigot)
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

Bukkit Changes:
333b9f02 SPIGOT-5422: Add support for 3-dimensional biomes
170d7386 Fix bad link in deprecated FlowerPot MaterialData class

CraftBukkit Changes:
16dc5758 SPIGOT-5449: Fix issue with projectiles
fd25653f SPIGOT-5448: Shulker Boxes collapse empty slots when picked up
b97d581a SPIGOT-5443: BEE_NEST BlockState
73698cf8 SPIGOT-5442: Fix issue with fire charges
beff9fb9 SPIGOT-5437: Fix CustomChunkGenerator.CustomBiomeGrid ignoring the y value for biomes
f777640e SPIGOT-5425: Prevent empty/air loot (again?)
db0dafb1 SPIGOT-5422: Add support for 3-dimensional biomes
4633e6c5 Fix crash with disabled worlds

Spigot Changes:
f39a89ef SPIGOT-5423: Remove covariant type change to give better chance of Java downgrades working
2019-12-13 14:08:40 +00:00
MiniDigger
bd93836d4c Nuke IOWorker, make stuff compile (#2733)
* remove removed patch cause its not removed anymore

* Nuke IOWorker, oh, and also make it compile

* synchronize writes properly

* Remove note about IOWorker
2019-12-13 13:46:45 +00:00
Zach Brown
4565495711
More compile fixes 2019-12-12 21:29:45 -06:00
Shane Freeder
b0dc983f21
More progression on patches 2019-12-12 21:01:16 +00:00
MiniDigger
d8a0622602 Compile fixes (#2732) 2019-12-12 18:45:00 +00:00
MiniDigger
44d032f1e9 Houston, we got a patch (#2731)
* Houston, we got a patch

* is this the end of the beginning or the beginning of the end
2019-12-12 16:20:43 +00:00
Shane Freeder
bbf27ec651
Fixup timings patch 2019-12-12 03:06:23 +00:00
Zach Brown
e2c4ff50a2
My Name is ;
Hi! My name is (what?)
My name is (who?)
My name is
;

Hi! My name is (huh?)
My name is (what?)
My name is
;
2019-12-11 21:00:50 -06:00
Zach Brown
01de058bf2
Little more progress
Keep getting interrupted so not as much as I'd like :(
2019-12-11 20:48:34 -06:00
MiniDigger
b00d871009 Patches 100-260 (#2729) 2019-12-11 17:43:22 -06:00
Zach Brown
f2ed239ead
More progress 2019-12-10 22:01:17 -06:00
Shane Freeder
a308619d28
Work on server patches 2019-12-11 00:56:03 +00:00
Shane Freeder
4d2f85630a
Fix ArmorStand#setItem flow (Fixes #2726) 2019-12-10 23:37:32 +00:00
Shane Freeder
bb8b1e3eca
Updated Upstream (Bukkit/CraftBukkit)
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

Bukkit Changes:
8b6dd103 Update /version to reflect final build status.
6bdfd385 Remove some draft API designations
78a12dd9 SPIGOT-5417: Campfire should implement Directional

CraftBukkit Changes:
65670174 SPIGOT-5417: Campfire should implement Directional
eeae942e SPIGOT-5416: Block.getDrops gives drops even when tool should not give drops
2019-12-10 23:23:50 +00:00
Lukasz Derlatka
86daffa21c
Fix AssertionError when player hand set to empty type
Fixes GH-2718
2019-12-07 19:09:44 -06:00
Shane Freeder
3032599d38
Updated Upstream (CraftBukkit)
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

CraftBukkit Changes:
43183eab SPIGOT-5399: spawn-npcs ignored during world generation
e9bb2f15 SPIGOT-5403: isSimilar returns true for different skulls
5c9e7236 SPIGOT-5409: Remove unnecessary defaulting in CraftMetaBookSigned
821238b6 SPIGOT-5412: Use SpawnReason.NATURAL for wandering traders and trader llamas
2019-12-05 10:23:10 +00:00
stefvanschie
779f34cc37 Fix empty CanPlaceOn tags causing errors (#2713) 2019-12-01 00:20:12 +00:00
BillyGalbreath
4a97a7ca44 Add option to disable pillager patrols (#2626) 2019-11-24 01:10:15 -06:00
Gerrygames
23e53aab97 Backport MC-160177 fix from 1.15 (#2702) 2019-11-24 00:36:20 -06:00
Zach Brown
45089d59f0
Update upstream CB
--- work/CraftBukkit
Submodule work/CraftBukkit 7554e08e..ccd47a50:
  > SPIGOT-5395: Call BlockFadeEvent for Scaffolding
  > Increase outdated build delay to 4 weeks
2019-11-24 00:06:19 -06:00
BillyGalbreath
761c24fae9 Fix stuck in sneak when changing worlds (MC-10657) (#2627) 2019-11-24 00:02:47 -06:00
Spottedleaf
10c29e7369 Fix racey NextTickListEntry creation. (#2683)
The counter is used to distinguish entries from each other, however
since we can concurrently increment the counter we could totally
screw over the comparision of entries (see a() in NextTickListEntry),
as it compares only the time when the entry will tick, the priority
at which it will tick, and the counter. The block is not compared.

Async loading loads the chunk asynchronously which creates these
entries asynchronously.
2019-11-10 12:00:16 -06:00
William Blake Galbreath
8d036cea01
Expose the internal current tick 2019-10-30 18:10:42 +00:00
MisterErwin
0c71539093 [PATCH] bounding box check for hanging entities (#2664)
This patch intends to fix an issue with LeashHitchs where an exception
was thrown due EntityHanging#calculateBoundingBox not being able to
accept EnumDirections UP and DOWN.

This issue was introduced in a fix for SPIGOT-4674
(d65a2576e4)
2019-10-30 17:29:40 +00:00
Shane Freeder
527073aa65
Update config version 2019-10-27 00:07:42 +01:00
Zach Brown
0d3b35c339
Rename baby zombie movement config option
This option does not set the absolute speed of the entity as the name
implies. It sets a modifier. The default (vanilla) value of `0.5` sets
the baby zombie to move at 50% faster than the base speed.

A negative value like `-0.4` would set them to move at 40% slower.

There should be no functional changes as a result of this change, it's
just clarifying the config name.
2019-10-26 17:55:58 -05:00
Spottedleaf
df984898ac Fix server deadlock when loading some chunks (#2647)
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

CraftBukkit Changes:
7554e08e Add UUID support to CraftProfileBanList
3fe37460 SPIGOT-5378: Fix TileEntity fixer deadlock
12386dd4 SPIGOT-5375: Add spaces to coordinates from tile fixer
606c19e2 SPIGOT-5373: Simultaneous left+right click in creative mode does not work
13caf848 SPIGOT-5370: Fix Block#rayTrace considering other blocks.
2019-10-20 10:03:39 +01:00
weaondara
9ea1f9ee3d performance improvement for CraftChunk.getEntities() (#2629) 2019-10-19 23:33:35 +01:00
Shane Freeder
419ae0e668
Fire EntityRemovedFromWorldEvent for all entities (Fixes #2282) 2019-10-19 09:14:26 +01:00
Shane Freeder
0f2ea04c1c
Updated Upstream (Bukkit/CraftBukkit/Spigot)
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

Bukkit Changes:
af58d316 Fix javadoc warning in Firework.setShotAtAngle

CraftBukkit Changes:
e2dd6555 SPIGOT-5372: Re-add tile entity fixer due to MC-163945
1e7a197f Fix incorrect inequality in 683bae0670
db98d54d SPIGOT-5362: Suspicious stews fail isSimilar check

Spigot Changes:
56f84710 Rebuild patches
2019-10-18 17:31:01 +01:00
Jonathan Frederick
2c8d20406f Re-implement treasure-maps-return-already-discovered for 1.14 (#2636) 2019-10-18 16:14:43 +01:00
Spottedleaf
8260cdf8c1 Use getIfLoadedImmediately and not cached immediately for isLoa… (#2641) 2019-10-18 16:05:45 +01:00
Andrew Steinborn
ff8b9ef3d5
Really fix JLine on Windows
The history of how paths work in Win32 is a sad story and shall not be documented here.
Needless to say, Windows hates the temporary file name for jansi's native code since it
includes the version. For git builds, it includes quotes around the actual version. But
alas, the issue apparently doesn't occur if you build on Windows since it removes the
quotes from the git commandline that is ultimately used to build the version string,
because of more Win32 sadness and shame.

Go look at Raymond Chen's blog, The Old New Thing. It's full of Windows oddities and
it will make you want to weep because almost 90% of the world uses this legacy OS from
the 1980s.
2019-10-13 16:36:23 -05:00
Zach
c65396072f
Revert "Fix jline with git builds under Windows (#2624)" (#2632)
This reverts commit 0c64f7b0ae.
2019-10-13 01:19:22 -05:00
Zach Brown
a4dbabdbd3
Update upstream CB
--- work/CraftBukkit
Submodule work/CraftBukkit 7deb3728..d6b3eddf:
  > SPIGOT-5355: Double Chests still open after InventoryOpenEvent cancelled
2019-10-13 00:28:46 -05:00
Andrew Steinborn
0c64f7b0ae Fix jline with git builds under Windows (#2624) 2019-10-13 00:06:44 -05:00
Shane Freeder
e8c82f4eee
Updated Upstream (Bukkit/CraftBukkit)
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

Bukkit Changes:
0399d9d6 SPIGOT-5341: Add Material.isAir
547f5709 SPIGOT-5353: Expand explosion API by adding source entity

CraftBukkit Changes:
7deb3728 SPIGOT-5309: Call cancelled EntityDamageEvent when damaging invisible armor stands
46351e17 SPIGOT-5341: Add Material.isAir
683bae06 SPIGOT-5342: Lore lost when deserializing items with no version stored
c2d12011 SPIGOT-5353: Expand explosion API by adding source entity
2019-10-08 19:37:02 +01:00
Omer Uddin
aa776c1b15 Don't save canTick of armor stands if it has not been set by API (#2608) 2019-10-02 19:20:40 -05:00
Spottedleaf
bfc807c27a Improve spawn loading and debug output for waiting on a chunk (#2595)
Spawn loading has been changed to use getChunkAt calls to manually
load chunks since watchdog can watch these calls and so we guard
against plugins/players changing the radius of a spawn while it's
loading

Debug output has been improved to note the status of the currently
waiting chunk
2019-09-29 20:23:09 -05:00
Spottedleaf
826b4762c0 Remove debug logging for incremental saves (#2600) 2019-09-29 20:14:39 -05:00
Spottedleaf
d39916c7e2 Add more timings to chunk provider tick (#2549)
- Misc mob spawning
- Chunk range checks
2019-09-29 16:06:03 -05:00
Spottedleaf
43ec79a32c Add server oversleep to timings (#2509)
Now everything except waiting for the next tick should be included
in timings
2019-09-29 15:49:38 -05:00
Spottedleaf
1d2a5915ed Check if there are workers before trying to notify them (#2593)
* Fix #2591

We need to check if there are workers before trying to notify
them...
2019-09-29 15:29:56 -05:00
Zach Brown
89eb890239
[CI-SKIP] Rebuild patches 2019-09-29 15:02:04 -05:00
Spottedleaf
27fca92fa1 Drop Optimize-GameRules-to-use-LinkedHashMap (#2594)
Mojang has since replicated the logic
2019-09-29 15:01:21 -05:00
Zach Brown
936d57ba93
Use local variable for bedrock generation
Fixes GH-2596.
2019-09-27 20:53:20 -05:00
Zach Brown
767b935552
[CI-SKIP] Fix wrong patch author on zero-tick fix
See GH-2559 for context
2019-09-27 18:10:48 -05:00
Zach Brown
7caed1a8fa
[CI-SKIP] Rebuild patches 2019-09-24 18:19:41 -05:00
Spottedleaf
777073a54d Check horse entity validity in container interactions (#2584)
Fixes #2580
2019-09-24 18:16:16 -05:00
BillyGalbreath
d69fe6c511 Fix zero-tick instant grow farms MC-113809 (#2559) 2019-09-22 23:07:01 -05:00
Spottedleaf
c68dbb864c Updated Upstream (Bukkit/CraftBukkit/Spigot) (#2576)
* Updated Upstream (Bukkit/CraftBukkit/Spigot)

Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

Bukkit Changes:
6527cb58 SPIGOT-5329: Clarify isGlowing documentation
5ddb414f Make Lantern extend BlockData
cb888903 Fix typos in previous commits
2a5e0ca2 Bring EnchantItemEvent documentation in line with EnchantmentOffer
3c5fcea2 SPIGOT-5317: Create accessors for player absorption hearts
c6e0d625 SPIGOT-5320: Clarify scope of ExactChoice

CraftBukkit Changes:
a3fdef8c SPIGOT-5331: Add support for Java 13
6ddeb980 SPIGOT-5317: Create accessors for player absorption hearts
5d335e96 SPIGOT-5315: Cannot serialize armor stand ItemMeta

Spigot Changes:
94af569b SPIGOT-5319: Async catcher for getNearbyEntities
2019-09-21 23:12:45 -05:00
Spottedleaf
30f9955e2a Fix race conditions in flush allowing for previously scheduled tasks to execute later than the flush call (#2548) 2019-09-15 23:02:13 -05:00
Spottedleaf
9e1620e3d3 Improve save logic (#2485)
Only wait for IO at the end of the save
we also were not force flushing async saves with /save-all flush
2019-09-15 22:39:30 -05:00
Zach Brown
728605013c
[CI-SKIP] Fix duplicate patch number 2019-09-15 22:15:33 -05:00
prplz
8735587529 Fix nether portal frame creation (#2546) 2019-09-15 22:12:17 -05:00
Zach Brown
26acc9b77a
Re-add flat bedrock config option 2019-09-15 19:20:02 -05:00
Shane Freeder
14513c3ce1
Updated Upstream (Bukkit/CraftBukkit)
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

Bukkit Changes:
92f24ff2 SPIGOT-5158: Add SuspiciousStewMeta
b9bf4dae SPIGOT-5310: Add Chunk.contains
b2adbb45 Add API to get/set inhabited time of a Chunk
e3c812dd SPIGOT-5250: Add ChunkSnapshot.contains
71973d85 SPIGOT-5255: Raid / patrol spawn reasons

CraftBukkit Changes:
03b145b3 SPIGOT-5158: Add SuspiciousStewMeta
9aa74304 SPIGOT-5310: Add Chunk.contains
7ef2b20d SPIGOT-3308: RecipeIterator cannot longer remove recipes
023f438c Add API to get/set inhabited time of a Chunk
b79a86ed SPIGOT-5250: Add ChunkSnapshot.contains
aa492e55 SPIGOT-5255: Raid / patrol spawn reasons
2019-09-10 19:51:02 +01:00
Omer Uddin
b7dc6fb00e fix double world add bug (#2486) 2019-09-02 17:46:04 +01:00
Shane Freeder
439131c704
Updated Upstream (Bukkit/CraftBukkit)
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

Bukkit Changes:
e28fb3bd SPIGOT-5301: BlockIgniteEvent for campfire + arrow

CraftBukkit Changes:
763e5601 SPIGOT-5294: Cancelled EntityPickupItemEvent and PlayerPickupItemEvent alter on-ground stacks
403ac185 SPIGOT-5301: BlockIgniteEvent for campfire + arrow
2019-09-02 17:28:24 +01:00
Zach Brown
14e07afd20
[CI-SKIP] Fix patch number 2019-09-01 20:50:15 -05:00
Spottedleaf
fc570959d4 Improve POI data saving logic (#2475)
- Do not unload data if world saving is disabled
- Aggressively target unloading
2019-09-01 20:49:09 -05:00
Spottedleaf
5ef93ded42 Fix #2499 (#2500)
Proper scheduling if async chunks is disabled, we would execute
a task that is cancelled without setting its run status
2019-09-01 20:30:25 -05:00
Nassim
26f644c554 Fix sign line capping check (#2522) 2019-09-01 17:21:08 -05:00
Spottedleaf
b2758246c8 Target more sync loads (#2476) 2019-09-01 17:17:51 -05:00
Spottedleaf
5272f3c2ef Fix #2511 (#2519)
Did not double-flush the file io thread if async = false
2019-09-01 16:18:39 -05:00