Commit graph

690 commits

Author SHA1 Message Date
Shane Freeder
2fd8cba9f4 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:
aba2aaaf Correct pom.xml version

CraftBukkit Changes:
e8b39d43 SPIGOT-5103: World.save does not save gamerules
3164e531 Correct pom.xml version

Spigot Changes:
595711b0 Correct pom.xml version
2019-06-25 14:55:44 +01:00
Shane Freeder
40748b3c8d 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:
3dc4cdcd Update to Minecraft 1.14.3-pre4
88b25a8c SPIGOT-5098: Add a method to allow colored sign changes
6d913552 Update to Minecraft 1.14.3-pre4

CraftBukkit Changes:
f1f33559 Update to Minecraft 1.14.3
8a3d3f49 SPIGOT-5098: Add a method to allow colored sign changes
533290e2 SPIGOT-5100: Console warning from pig zombie targeting
6dde4b9f SPIGOT-5094: Allow opening merchant for wandering traders and hide the xp bar for custom merchants
9af90077 SPIGOT-5097: Bukkit.clearRecipes() no longer working
38fa220f Fix setting game rules via the API
fe3930ce Update to Minecraft 1.14.3-pre4
da071ec5 Remove outdated build delay.

Spigot Changes:
4d2f30f1 Update to Minecraft 1.14.3
f16400e3 Update to Minecraft 1.14.3-pre4
2019-06-25 02:47:58 +01:00
Shane Freeder
4606139d59 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:
fd317e44 Fix javadoc mistakes in previous commit
70e4c23d SPIGOT-5061: Add explode and ignite methods to Creeper

CraftBukkit Changes:
efd8a2b5 SPIGOT-5089: UnsupportedOperationException on setting villager memory to null
8003ced5 SPIGOT-5061: Add explode and ignite methods to Creeper
2019-06-19 12:55:03 +01:00
Spottedleaf
e8de107ca0 Update upstream & fix some chunk related issues (#2177)
* 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:
45690fe9 SPIGOT-5047: Correct slot types for 1.14 inventories

CraftBukkit Changes:
4090d01f SPIGOT-5047: Correct slot types for 1.14 inventories
e8c08362 SPIGOT-5046: World#getLoadedChunks returning inaccessible cached chunks.
d445af3b SPIGOT-5067: Add item meta for 1.14 spawn eggs

* Bring Chunk load checks in-line with spigot

As of the last upstream merge spigot now checks ticket level status
when returning loaded chunks for a world from api. Now our checks
will respect that decision.

* Fix spawn ticket levels

Vanilla would keep the inner chunks of spawn available for ticking,
however my changes made all chunks non-ticking. Resolve by changing
ticket levels for spawn chunks inside the border to respect this
behavior.


* Make World#getChunkIfLoadedImmediately return only entity ticking chunks

Mojang appears to be using chunks with level > 33 (non-ticking chunks)
as cached chunks and not actually loaded chunks.

* Bring all loaded checks in line with spigot

Loaded chunks must be at least border  chunks, or level <= 33
2019-06-13 19:27:40 -07:00
Zach Brown
0e0501c9df Update upstream B/CB/S
--- work/Bukkit
Submodule work/Bukkit 6eac6d70..1ef8b9d9:
  > Add Player#openBook(ItemStack) method

--- work/CraftBukkit
Submodule work/CraftBukkit 17543ecf..649921e5:
  > Add Player#openBook(ItemStack) method
  > SPIGOT-2000: Picking up items to shield slot working inconsistently when inventory is full
  > SPIGOT-5037: Player.openMerchant does not show merchant level
  > SPIGOT-5038: Inventory.getHolder returns null for wandering traders

--- work/Spigot
Submodule work/Spigot baafee91..df0eb250:
  > SPIGOT-5043: Desync if world is changed in PlayerSpawnLocationEvent
  > Rebuild patches

Implementation developer note:
This patch adds a "pre-source" patch system for fixing malformed patches
from upstream directly. This seems to keep happening so it's best we
have some way to deal with them. This system brings those issues into
our domain rather than needing to wait for upstream to fix their
malformed files.
2019-06-08 15:33:05 -05:00
Spottedleaf
4d6f73449f 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:
17543ecf SPIGOT-5035: Error Using Virtual Merchant GUI
0fc6922b SPIGOT-5028: Villager#setVillagerExperience() doesn't work
bdbdbe44 SPIGOT-5024: Fox error - Unknown target reason
2019-06-06 08:36:57 -07:00
simpleauthority
4fd5dff936 Make PlayerHandshakeEvent async 2019-06-05 01:00:51 -07:00
Zach Brown
f2eac5efae Flag GS4QueryEvent as async 2019-06-02 22:36:39 -05:00
Spottedleaf
c4d927468c Fix missing thread check in SimplePluginManager#callEvent (#2111) 2019-06-02 18:21:42 -07:00
simpleauthority
cb0e26829f Add BlockSoundGroup to Block and implement 2019-05-28 03:53:48 -07:00
Spottedleaf
9f4fe93a9a Update to 1.14.2 2019-05-27 16:01:45 -07:00
Zach Brown
7a5a4fd400 Move version command update checking to the implementation
This makes it easier for downstream projects (forks) to replace the
version fetching system with their own. It is as simple as implementing
an interface and overriding the default implementation of
org.bukkit.UnsafeValues#getVersionFetcher()

It also makes it easier for us to organize things like the version
history feature.

Lastly I have updated the paper implementation to check against the site
API rather than against jenkins.
2019-05-27 04:13:41 -05:00
Shane Freeder
a3ad19e1a6 Actually fix compilation 2019-05-22 05:21:19 +01:00
Shane Freeder
8353831ea5 Fix compilation 2019-05-22 05:14:56 +01:00
Zach Brown
1ea2c3b4be MC 1.14.1 2019-05-13 21:20:58 -05:00
Shane Freeder
69ca68db14 fix missing reversion of api patch
(Let's pretend you didn't see this)
2019-05-09 15:36:43 +01:00
Shane Freeder
a17bbb4560 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:
fe0cadf0 Add BlockShearEntityEvent for Dispensers shearing Sheep
90e5cca3 SPIGOT-4892: Allow to set the currently viewed page of a book on a lectern inventory
a30337f7 SPIGOT-4887: Villager level minimum is 1
d88d828c SPIGOT-4886: Villager type SNOWY should be named SNOW

CraftBukkit Changes:
6ceffb0d SPIGOT-4895: Bed doesn't explode in Nether and The End
ee881847 SPIGOT-4888: setSleepingIgnored resets the night even when there is no one in a bed
15e02b40 SPIGOT-4890: EntityDeathEvent fires twice when breaking an armor stand in survival mode
b38a3c33 Add BlockShearEntityEvent for Dispensers shearing Sheep
70ebefca SPIGOT-4891: LecternInventory.getType() should return InventoryType.LECTERN
0036d1b7 SPIGOT-4887: Villager level minimum is 1
2019-05-09 08:20:01 +01:00
Spottedleaf
54388d8715 Fix legacy checks for plugins 2019-05-07 18:43:07 -07:00
Shane Freeder
ca0b6b5337 Fix a ClassCastException from shooting fireworks 2019-05-07 19:56:32 +01:00
Shane Freeder
b7281b6dfc Fix TimingsExport throwing an IAE due to legacy API usage 2019-05-07 18:13:52 +01:00
Shane Freeder
2d085853c6 make version command track the correct version 2019-05-07 16:45:01 +01:00
Spottedleaf
96b32aa6bc Fix more runtime stuff
Remove chunk neighbour system until we can figure out the chunk system
2019-05-06 17:05:41 -07:00
Zach Brown
1fa1246a1e More compile fixes
- Re-removes Bukkit#getServerName - This was (hopefully?) only added back
  for Timings v2. It should be kept in that scope.

- Intend to let PlayerViewDistance API slip. Given the scope of the
  changes in this area it seems best to let this slip past initial
  release. It can be re-added when there is additional time to focus on it
  and the changed systems it relies on. If it is fixed prior to release
  this is implemented as a single shim patch that can be dropped.
2019-05-06 03:20:16 -04:00
Spottedleaf
f9f71eb14e Update Upstream 2019-05-05 19:58:04 -07:00
Spottedleaf
9c7e369607 More 1.14 work 2019-04-26 23:26:04 -07:00
Shane Freeder
29a22e708f Aim towards real 1.14 2019-04-25 07:53:51 +01:00
Shane Freeder
a84170f6a0 Initial work on 1.14 pre-5 2019-04-23 05:47:07 +01:00
Shane Freeder
85e05732b2 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:
da08d022 SPIGOT-4700: Add PlayerFishEvent.State.REEL_IN
0cef14e4 Remove draft API from selectEntities

CraftBukkit Changes:
a46fdbc6 Remove outdated build delay.
3697519b SPIGOT-4708: Fix ExactChoice recipes neglecting material
9ead7009 SPIGOT-4677: Add minecraft.admin.command_feedback permission
c3749a23 Remove the Damage tag from items when it is 0.
f74c7b95 SPIGOT-4706: Can't interact with active item
494eef45 Mention requirement of JIRA ticket for bug fixes
51d62dec SPIGOT-4702: Exception when middle clicking certain slots
be557e69 SPIGOT-4700: Add PlayerFishEvent.State.REEL_IN
2019-04-22 22:36:14 +01:00
William Blake Galbreath
599213f4b4 Mob Spawner API Enhancements 2019-04-19 12:41:38 -05:00
Shane Freeder
ab59bc1841 Mark PlayerMoveEvent#setTo as NotNull 2019-04-14 23:45:42 +01:00
Zach Brown
67ab8fefee Fix blocking JavaDoc errors 2019-04-14 07:22:38 -04:00
Automated
d9aa8099c3 [CI-SKIP] [Auto] Rebuild Patches
A recent commit has been made that caused patches to be out of order, rebuilding
2019-04-10 23:41:42 -04:00
Spottedleaf
8ee42908e1 Add Heightmap API (#1724)
Resolves #1672 
This API is intended to expose useful heightmaps found in the server to API. This exposes all of the live world heightmaps currently in the server. 
If a heightmap becomes impossible to implement, api spec allows the implementation to throw UnsupportedOperationException (far better than returning some weird unexpected value).

Tested via:
https://gist.github.com/Spottedleaf/5d47f67c55a9fb870251ff344bfeb6b3
2019-04-10 20:36:31 -07:00
Spottedleaf
5040cddd28 Add static encode/decode for block long keys (#1712)
Should make this API easier to use.
2019-04-08 21:08:14 -07:00
Automated
3e95d692e7 [Auto] 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:
7634491f Added Entity#setRotation.

CraftBukkit Changes:
0e1cea5a Added Entity#setRotation.
2019-04-03 04:51:39 -04:00
Aikar
37e98e4d94 Try to improve Timings stack management
I can't reproduce issues locally, but this should be even more 'stable'
2019-04-02 22:56:32 -04:00
Zach Brown
8f045357ae Fix javadocs take 2: electric boogaloo 2019-03-29 00:44:06 -04:00
Aikar
03603ab34b fix javadocs 2019-03-28 23:58:09 -04:00
Aikar
7ed92736c0 Reuse buffers for chunk compression to optimize memory use
Instead of allocating a buffer for every chunk compression, reuse
the same 64k sized buffer.

Also stopped doing dynamic compression levels. It wasn't helping enough.

This will improve memory usage and zlib performance of chunk compression.
2019-03-28 22:06:35 -04:00
Aikar
4606cb8ce3 PlayerDeathEvent#getItemsToKeep
Exposes a mutable array on items a player should keep on death.

This allows a cleaner method to implement "Keep certain items on death"
than how plugins currently do it in that it never removes them in first
place, so its safe if the player logs out/server is shutdown before respawn.

Example Usage: https://gist.github.com/aikar/5bb202de6057a051a950ce1f29feb0b4
2019-03-28 00:58:05 -04:00
Aikar
05c82fcfe0 Server Tick Events
Fires event at start and end of a server tick
2019-03-27 22:49:29 -04:00
Aikar
8c452eb0d5 Fix issue in last build with null task timings 2019-03-26 01:31:59 -04:00
Aikar
92059ef6ba Improve Timings stack protection more
Ensures in more places that exceptions will not corrupt the Timings stack.

Timings will now better report stack corruption and auto repair itself too.
2019-03-26 00:31:34 -04:00
Shane Freeder
e8b836dec8 Ensure that TimedEventExecutor timings are closed (Fixes #1918)
pre this, any event handler firing an exception would leave the timings
open, causing the timings stack to be corrupted
2019-03-26 00:55:29 +00:00
Aikar
0800b3909a Improve nullability changes from last commit about getWorld 2019-03-24 19:33:26 -04:00
Aikar
fc271fbed3 Restore some SANITY around nullability annotations
Some of these were wrong (scoreboard manager), others are counter to
everything everyone expects (Locations world being null, which wasnt ever safe EVER)
others are just too noisy.

Replace some with Contract to get rid of the nullability constraint and go back to
the old days of IDE not considering it strictly one way or the other.

Also, stop requiring annotations on package-private.

Introduces the next Developer Perk for Paper-API: Your plugin isn't yellow anymore.

Also fixed random dupe code in ensureServerConversions that got mistakenly set in the update.
2019-03-24 19:13:07 -04:00
Aikar
b3005192c9 Add the unnecessary annotation
cmon, that wasn't even API.

i've updated my IDE to now not skip tests :(
2019-03-24 18:32:08 -04:00
Aikar
a76d462eae Timings Improvements
use a better stack for managing timing tree relationships
remove unnecessary synchronization (i forgot HANDLERS is only touched on main)

this should hopefully resolve any data integrity concerns
2019-03-24 17:47:23 -04:00
Joel Paulien
3216b19a10 Add PlayerPostRespawnEvent (#1622) 2019-03-24 10:50:42 -07:00
Mark Vainomaa
6b534b0a0e Add GS4 query event (#1906) 2019-03-24 19:01:31 +02:00
Aikar
6e81645df1 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:
451bd74e Use gson for decoding version command

CraftBukkit Changes:
51100db8 SPIGOT-4678: Fix placing signs in certain circumstances
2019-03-24 12:33:39 -04:00
Zach Brown
66ac2b2606 Restore lost player cooldown APIs
Accidentally removed in a7ba5db3de
2019-03-24 13:16:59 -04:00
Aikar
603ab21457 Entity#getEntitySpawnReason
Allows you to return the SpawnReason for why an Entity Spawned

Pre existing entities will return NATURAL if it was a non
persistenting Living Entity, SPAWNER for spawners,
or DEFAULT since data was not stored.
2019-03-24 01:00:55 -04:00
Shane Freeder
7e331bdc72 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

Developers!: You will need to clean up your work/Minecraft/1.13.2 folder
for this

Also, restore a patch that was dropped in the last upstream

Bukkit Changes:
279eeab3 Fix command description not being set
96e2bb18 Remove debug print from SyntheticEventTest

CraftBukkit Changes:
d3ed1516 Fix dangerously threaded beacons
217a293d Don't relocate joptsimple to allow --help to work.
1be05a21 Prepare for imminent Java 12 release
a49270b2 Mappings Update
5259d80c SPIGOT-4669: Fix PlayerTeleportEvent coordinates for relative teleports

Spigot Changes:
e6eb36f2 Rebuild patches
2019-03-20 01:46:00 +00:00
Shane Freeder
a7ba5db3de 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

Please note that this build includes changes to meet upstreams
requirements for nullability annotations. While we aim for a level of
accuracy, these might not be 100% correct, if there are any issues,
please speak to us on discord, or open an issue on the tracker to
discuss.

Bukkit Changes:
9a6a1de3 Remove nullability annotations from enum constructors
3f0591ea SPIGOT-2540: Add nullability annotations to entire Bukkit API

CraftBukkit Changes:
8d8475fc SPIGOT-4666: Force parameter in HumanEntity#sleep
8b1588e2 Fix ExplosionPrimeEvent#setFire not working with EnderCrystals
39a287b7 Don't ignore newlines in PlayerListHeader/Footer

Spigot Changes:
cf694d87 Add nullability annotations
2019-03-20 00:28:15 +00:00
Mark Vainomaa
acdbefc146 Add WhitelistToggleEvent (#1899) 2019-03-13 22:51:42 +02:00
Zach Brown
a663d0d550 Update upstream B/CB
--- work/Bukkit
Submodule work/Bukkit 96e09e50..0b95b68f:
  > SPIGOT-4650: Charging API for Vex

--- work/CraftBukkit
Submodule work/CraftBukkit f102d882..77ca7ca0:
  > Rebuild patches
  > Improve damage handling of dead entities
  > SPIGOT-4646: Test + fix InventoryWrapper.getContents
  > SPIGOT-4650: Charging API for Vex
2019-03-06 00:46:21 -05:00
Spottedleaf
e98c779a36 Fix World#getChunkAtAsync(Location) variants incorectly calculating chunk x
The blockX needs to be floored before converted to int, as float -> integer
operations are truncation. (i.e -0.5 -> 0, we want -0.5 -> -1)
2019-03-02 15:45:42 -08:00
Aikar
a7ab48d5dc Add ItemStack Recipe API helper methods
Allows using ExactChoice Recipes with easier methodss
2019-02-25 21:31:39 -05:00
Aikar
065d510d88 BlockDestroyEvent
Adds an event for when the server is going to destroy a current block,
potentially causing it to drop. This event can be cancelled to avoid
the block destruction, such as preventing signs from popping when
floating in the air.

This can replace many uses of BlockPhysicsEvent, as this will not fire
with the same velocity as BPE.
2019-02-25 20:40:23 -05:00
Zach Brown
80620a2861 Update upstream B/CB/S
Also fixes build as a result of an upstream force push

--- work/Bukkit
Submodule work/Bukkit 217dc08d..d13fdf8c:
  > SPIGOT-4637: Add source block to BlockPhysicsEvent.

--- work/CraftBukkit
Submodule work/CraftBukkit acbba8ba..cb98c6ea:
  > Fix line endings in CraftDefaultPermissions
  > SPIGOT-4637: Add source block to BlockPhysicsEvent.

--- work/Spigot
Submodule work/Spigot 75ee78a0c...4165cd8f4 (commits not present)
  > (Manually Added) - Appears to be a result of an upstream force push
  > (Manually Added) - Changed: SPIGOT-4636: Add creative mode NBT permissions
2019-02-25 04:39:24 -05:00
Automated
b9d7f97e87 [Auto] Updated Upstream (Bukkit)
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:
217dc08d SPIGOT-4634: Make Inventory iteration behaviour explicit
2019-02-25 03:16:35 -05:00
Aikar
3a80ab303a Improvements to Timings concurrency and lookup performance
ConcurrentHashMap synchronizes on .computeIfAbsent even on hits,
so this does a .get(key) first, which most of our use should
be hits, and then falls back to the CHM computeIfAbsent for thread safe puts.

Also improve concurrency on handler and group collections to use a synchronized
list instead of an array deque for concurrency safety.
2019-02-23 14:22:43 -05:00
Aikar
43ffd1baf1 Unwrap Event Exceptions
This was a useless exception wrapper that ends up making
stack traces harder to read as well as the JVM cutting off
the important parts

Nothing catches this exception, so its safe to just get rid
of it and let the REAL exception bubble down
2019-02-23 12:17:41 -05:00
Aikar
b6d862d618 Updated Upstream (Bukkit/CraftBukkit/Spigot)
Upstream has released updates that appears to apply and compile correctly.
This update has only been PARTIALLY tested by PaperMC and as with ANY update, please do your own testing

I've tested basic region file saving as well as our oversized chunks approach.

Bukkit Changes:
e167e549 Clarify MerchantInventory#getSelectedRecipe.
3a1d5b8f Apply default permissions by registration order.
c64cc93f Make tags Keyed
ec037ed7 Added a method to get a list of tags
bfb6ef86 Introduce rotation methods to the Vector class
fc727372 Remove draft API from FluidLevelChangeEvent

CraftBukkit Changes:
6430d9c0 SPIGOT-4632: BlockState location is not fixed
14cd1688 Fix CraftInventoryMerchant#getSelectedRecipe if there is no active merchant recipe.
c24abab7 Load custom permissions after default permissions.
bc99dfe8 Make tags Keyed
6fce004f Added a method to get a list of tags

Spigot Changes:
e5e5c7c6 Allow Saving Large Chunks
e8d3881c Rebuild patches
2019-02-21 22:41:20 -05:00
Shane Freeder
9bca846f08 Fix NPE during server initialization from server list pings 2019-02-06 19:15:46 +00:00
Shane Freeder
c6ab3832da 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:
bb813f6f SPIGOT-4605: Warn against hacking physics

CraftBukkit Changes:
2ced0233 Don't handle sync packets for kicked players
d5e96882 SPIGOT-4602: Cache reflection in decompile error workaround

Spigot Changes:
b0f4c22b SPIGOT-4605: Catch more physics problems
2019-02-03 15:34:04 +00:00
Shane Freeder
2512e33288 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:
3108e64a SPIGOT-4193: API for selecting entities by strings

CraftBukkit Changes:
ad6070df SPIGOT-4193: API for selecting entities by strings
2019-01-31 04:49:52 +00:00
Shane Freeder
29bf7a57fd 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:
d58803c2 SPIGOT-4597: Make BlockDropItemEvent use a list
d450fdf1 Add note about Maven repository usage to pom.xml

CraftBukkit Changes:
ed274c51 SPIGOT-4597: Make BlockDropItemEvent use a list
1734f378 SPIGOT-4598: Shift click on custom workbench inventory causes crash
a65b73ad Add note about Maven repository usage to pom.xml
2019-01-30 13:26:12 +00:00
Shane Freeder
32cbad310f 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:
d38ac1be Update compiler
2844ce20 Add CookTimeTotal API to Furnace

CraftBukkit Changes:
13f71402 Update compiler
61c762f4 Add CookTimeTotal API to Furnace
2019-01-24 21:36:24 +00:00
Shane Freeder
f914571408 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:
18cda936 Fix variant of unloadChunkRequest that was incorrectly never deprecated
00763e1b Deprecate some methods
35a83d54 SPIGOT-4572: Make default no permission message clearer
6163343d Fix some misplaced material enum entries
8736469c Fix typo in TechnicalPiston documentation

CraftBukkit Changes:
0c715b32 SPIGOT-4579: Shulker boxes not dropping in creative
50fbc3f1 SPIGOT-4576: Fix attributes in itemstack internal data being lost
8059a937 SPIGOT-4577: Fix loss of int/double custom tags when serialized to yaml
07e504c3 Clarify exception thrown when setting drop chance for player inventory
98b862ad Fix duplicate iron golem add
843cee65 Fix a bunch of duplicate EntityCombustEvent calls
43855624 SPIGOT-4571: EntityCombustEvent not firing for phantoms
2019-01-15 21:12:19 +00:00
Shane Freeder
065606c067 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:
79f6ba25 Skip tests on default builds
b85cc32f Further discourage World.regenerateChunk

CraftBukkit Changes:
7560d3b5 Skip tests on default builds
d0a9130d SPIGOT-4563: Fix regenerating chunks saved to disk already

Spigot Changes:
8173d06f Remove need for redundant second clone of repositories
8ede0393 Rebuild patches
2019-01-04 19:19:36 +00:00
Shane Freeder
9a3f079757 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:
6ffe5a68 Add RecipeChoice.ExactChoice API for NBT matches on ingredients
ffccf6b7 SPIGOT-4560: Add HumanEntity.sleep and related APIs

CraftBukkit Changes:
917411fd Remove redundant BlockPosition creation from sleep API
756c38d1 Add RecipeChoice.ExactChoice API for NBT matches on ingredients
8e65d8df SPIGOT-4560: Add HumanEntity.sleep and related APIs
a8382862 SPIGOT-4562: reducedDebugInfo not updated on world change
2019-01-02 18:10:14 +00:00
Zach Brown
514a60dd73 Add APIs to replace OfflinePlayer#getLastPlayed
Currently OfflinePlayer#getLastPlayed could more accurately be described
as "OfflinePlayer#getLastTimeTheirDataWasSaved".

The API doc says it should return the last time the server "witnessed"
the player, whilst also saying it should return the last time they
logged in. The current implementation does neither.

Given this interesting contradiction in the API documentation and the
current defacto implementation, I've elected to deprecate (with no
intent to remove) and replace it with two new methods, clearly named and
documented as to their purpose.
2019-01-02 01:04:11 -06:00
Shane Freeder
08b01ae4df 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

Warning: this commit contains more mapping changes from upstream, As always, ensure that you
have working backups and test this build before deployment; Developers working on paper will,
yet again, need to delete their work/Minecraft/1.13.2 folder

Bukkit Changes:
7fca5fd4 SPIGOT-4558: Preserve user order in the face of copied defaults in configurations
15c9b1eb Ignore spurious slot IDs sent by client, e.g. in enchanting tables
5d2a10c5 SPIGOT-3747: Add API for force loaded chunks
d6dd2bb3 SPIGOT-3538: Add getHitBlockFace for ProjectileHitEvent
771db4aa SPIGOT-794: Call EntityPlaceEvent for Minecart placement
55462509 Add InventoryView#getSlotType
2f3ce5b6 Remove EntityTransformEvent and CustomItemTagContainer from draft API
f04ad7b6 Make ProjectileLaunchEvent extend EntitySpawnEvent
ccb85808 Define EntitySpawnEvent
b8cc3ebe Add PlayerItemDamageEvent
184a495d Ease ClassLoader Deadlocks Where Possible
11ac4728 Expand Boolean Prompt Values in Conversation API
aae62d51 Added getAllSessionData() to the Conversation API.
9290ff91 Add InventoryView#getInventory API
995e530f Add API to get / set base arrow damage

CraftBukkit Changes:
c4a67eed SPIGOT-4556: Fix plugins closing inventory during drop events
5be2ddcb Replace version constants with methods to prevent compiler inlining
a5b9c7b3 Use API method to create offset command completions
2bc7d1df SPIGOT-3747: Add API for force loaded chunks
a408f375 SPIGOT-3538: Add getHitBlockFace for ProjectileHitEvent
b54b9409 SPIGOT-2864: Make Arrow / Item setTicksLived behave like FallingBlock
79ded7a8 SPIGOT-1811: Death message not shown on respawn screen
b4a4f15d SPIGOT-943: InventoryCloseEvent called on death regardless of open inventory
0afed592 SPIGOT-794: Call EntityPlaceEvent for Minecart placement
2b2d084a Add InventoryView#getSlotType
01a9959a Do not use deprecated ItemSpawnEvent constructor
9642498d SPIGOT-4547: Call EntitySpawnEvent as general spawn fallback event
963f4a5f Add PlayerItemDamageEvent
63db0445 Add API to get / set base arrow damage
531c25d7 Add CraftMagicNumbers.MAPPINGS_VERSION for use by NMS plugins
d05c8b14 Mappings Update
bd36e200 SPIGOT-4551: Ignore invalid attribute modifier slots

Spigot Changes:
518206a1 Remove redundant trove depend
1959ad21 MC-11211,SPIGOT-4552: Fix placing double slabs at y = 255
29ab5e43 SPIGOT-3661: Allow arguments in restart-script
7cc46316 SPIGOT-852: Growth modifiers for beetroots, potatoes, carrots
82e117e1 Squelch "fatal: Resolve operation not in progress" message
0a1a68e7 Mappings Update & Patch Rebuild
2019-01-01 03:15:55 +00:00
Shane Freeder
8ef9dc94ca 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:
0969eedc Clarify furnace burn time behaviour as per SPIGOT-844
16453bfd SPIGOT-4503: Add API to insert complete ItemStack into Jukebox

CraftBukkit Changes:
dff66dfc Reduce copying of positions from block states
91cae6ef SPIGOT-4387: Durability looping from cancelled BlockPlaceEvent
24c5e68c SPIGOT-4493: Allow burnt out furnaces to remain lit like Vanilla whilst retaining SPIGOT-844 API
bc943daf Fix Jukebox API not synchronizing playing data with state
fe89a8c1 SPIGOT-4503: Add API to insert complete ItemStack into Jukebox
fc102494 Make CraftBlockState use BlockPosition
89ab4887 SPIGOT-4543: Jukebox playing calls should not use legacy data
6ff5a64c SPIGOT-4541: Cancelled bucket events require inventory update
2018-12-23 17:04:13 +00:00
Shane Freeder
ab61364486 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:
78568d11 Tweak Block.getTemperature to return actual block temperature
9ad459ca SPIGOT-2151: Add support for getting simple bounding box of a block
ad28b19f Add BlockData#getAsString(boolean) to hide unspecified states

CraftBukkit Changes:
1b982fd6 Tweak Block.getTemperature to return actual block temperature
f55c8191 SPIGOT-2151: Add support for getting simple bounding box of a block
4b843638 Add BlockData#getAsString(boolean) to hide unspecified states

Spigot Changes:
573cdf2c BUILDTOOLS-425: Disable commit.gpgSign in applyPatches.sh
667bdd6b Deprecate Spigot version of Entity.isInvulnerable
2018-12-21 16:09:17 +00:00
Shane Freeder
21ae8ff67e Updated Upstream (Bukkit/CraftBukkit/Spigot)
Developers!: You will need to clean up your work/Minecraft/1.13.2 folder for this

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:
b850a822 SPIGOT-4526: Add conversion time API for Zombie & subclasses

CraftBukkit Changes:
38cf676e SPIGOT-4534: CreatureSpawnEvent not being called for CHUNK_GEN
b446cb5d SPIGOT-4527: Fix sponges with waterlogged blocks
6ec8ea5c SPIGOT-4526: Add conversion time API for Zombie & subclasses
c64fe508 Mappings Update
a3c2ec03 Fix missing ServerListPingEvent call for legacy pings

Spigot Changes:
1dc156ce Rebuild patches
140f654d Mappings Update
2018-12-17 05:18:06 +00:00
Spottedleaf
4742d47392 Add PlayerConnectionCloseEvent (#1552)
* Add PlayerConnectionCloseEvent

This event is invoked when a player has disconnected. It is guaranteed that,
if the server is in online-mode, that the provided uuid and username have been
validated.

The event is invoked for players who have not yet logged into the world, whereas
PlayerQuitEvent is only invoked on players who have logged into the world.

The event is invoked for players who have already logged into the world,
although whether or not the player exists in the world at the time of
firing is undefined. (That is, whether the plugin can retrieve a Player object
using the event parameters is undefined). However, it is guaranteed that this
event is invoked AFTER PlayerQuitEvent, if the player has already logged into
the world.

This event is guaranteed to never fire unless AsyncPlayerPreLoginEvent has
been invoked beforehand, and this event may not be called in parallel with
AsyncPlayerPreLoginEvent for the same connection.

Cancelling the AsyncPlayerPreLoginEvent guarantees the corresponding
PlayerConnectionCloseEvent is never called.

The event may be invoked asynchronously or synchronously. As it stands,
it is never invoked asynchronously. However, plugins should check
Event#isAsynchronous to be future-proof.

On purpose, the deprecated PlayerPreLoginEvent event is left out of the
API spec for this event. Plugins should not be using that event, and
how PlayerPreLoginEvent interacts with PlayerConnectionCloseEvent
is undefined.
2018-12-12 17:17:38 -08:00
Zach Brown
1c4b67eab2 Update upstream BD/B/CB/S
Note to other developers: This commit may require you to wipe your
workspace as a result of the changes to BD.

--- work/BuildData
Submodule work/BuildData f527a8ff..d56672db:
  > Mappings Update

--- work/Bukkit
Submodule work/Bukkit 0c1d258bb..db06c80d7:
  > Add list of entities to EntityTransformEvent
  > SPIGOT-4347: Add API to allow storing arbitrary values on ItemStacks

---work/CraftBukkit
Submodule work/CraftBukkit 6a398ac44..068dab5be:
  > Enable optional source JAR shading via profile shadeSourcesJar
  > Use ImmutableList rather than AbstractList for CraftMetaBook
  > Fix setRecipes(List) not setting Knowledge Book recipes.
  > Mappings Update
  > Add list of entities to EntityTransformEvent & move die calls
  > SPIGOT-4347: Add API to allow storing arbitrary values on ItemStacks
  > Add Vanilla help to default permissions

--- work/Spigot
Submodule work/Spigot a1f2566f6..e769fe4d9:
  > Mappings Update
  > Rebuild patches
2018-12-08 05:09:55 -05:00
Zach Brown
9bfaa301aa Upstate upstream B/CB
--- work/Bukkit
Submodule work/Bukkit 9a793cce8..0c1d258bb:
  > Make PigZapEvent extend EntityTransformEvent

--- work/CraftBukkit
Submodule work/CraftBukkit ee6684bba..6a398ac44:
  > SPIGOT-4511: Trident doesn't lose durability
  > Tweak outdated windows
2018-12-02 18:31:09 -05:00
DoNotSpamPls
c9340dc439 Change the reserved channel check to be sensible (#1610) 2018-12-01 02:08:31 +02:00
BillyGalbreath
d78b58126a Add more Zombie API (#1547) 2018-11-25 11:51:11 -06:00
Shane Freeder
ffc306a8f6 Updated Upstream (Bukkit/CraftBukkit/Spigot)
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

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

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

Spigot Changes:
a1f2566f Use monotonic time for watchdog
bc4adcbf SPIGOT-4498: Crash on startup
bb387e6c Rebuild patches
2018-11-24 05:28:04 +00:00
Zach Brown
86f283f9ab No generics in javadocs, what are you doin 2018-11-21 22:25:30 -05:00
Zach Brown
fc0ac36500 Redo API for vanilla CanPlace and CanDestroy NBT
Now properly serializes and deserializes, is factored into hashcodes and
equality checks, etc

Deprecates the old Material based system and replaces it with a new one
based around NamespacedKeys and NamespacedTags. This allows the API to
extend beyond vanilla and Material enum based properties to datapack
based tags and elements.

Fixes GH-1635
2018-11-11 03:30:57 -05:00
Zach Brown
e7d1a1f2ba Update upstream CB
--- work/CraftBukkit
Submodule work/CraftBukkit e4183e70..f489f0f7:
  > SPIGOT-4494: Remove fix for SPIGOT-3864, better handled by SPIGOT-3879 fix
2018-11-21 21:49:47 -05:00
Shane Freeder
9ff1dfc232 Fire entity dismount/vehicle events (but supress their cancellation) for player teleportation
Entities must be dismounted before teleportation in order to avoid
multiple issues in the server with regards to teleportation, shamefully,
too many plugins rely on the events firing, which means that not firing
these events caues more issues than it solves;

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

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

Improvements/suggestions welcome!
2018-11-18 15:39:28 +00:00
Shane Freeder
0eff9195c2 Make the default permission message configurable 2018-11-18 19:54:38 +00:00
Zach Brown
56392fd43d Update upstream B/CB/S
--- work/Bukkit
Submodule work/Bukkit 3aee9dbd0..0828ce366:
  > Add SpawnReason.SHEARING
  > SPIGOT-4339: Add EntityTransformEvent

--- work/CraftBukkit
Submodule work/CraftBukkit 17ff1e046..c2035aa1d:
  > Add some missing CreatureSpawnEvent.SpawnReason calls
  > SPIGOT-4339: Add EntityTransformEvent

--- work/Spigot
Submodule work/Spigot 947a8e7fd..5696c83c1:
  > Rebuild patches
2018-11-13 23:21:32 -05:00
Automated
95e4f33bec [Auto] Updated Upstream (Bukkit)
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:
3aee9dbd Add Material BlockData to JavaDocs
2018-11-12 02:46:43 -05:00
Zach Brown
8ed499f71b Update upstream B/CB/S
--- work/Bukkit
Submodule work/Bukkit 1627782b..67e91ef7:
  > Fix some incorrectly handled JavaDoc
  > SPIGOT-4478: Update PlayerLoginEvent docs
  > Add API to manipulate boss bar of entities and those created by commands

--- work/CraftBukkit
Submodule work/CraftBukkit ca22de36..3a911828:
  > SPIGOT-4477: Arrows only firing direction of boat
  > SPIGOT-4478: NPE during PlayerLoginEvent recipe manipulation
  > Add API to manipulate boss bar of entities and those created by commands

--- work/Spigot
Submodule work/Spigot 2474d93d..947a8e7f:
  > Rebuild patches
2018-11-11 00:37:15 -05:00
Shane Freeder
1f5ddf73ba Cleanup after plugins which don't sucessfully enable
This change closes the plugin via the plugin manager, which disables
the plugin, as intended, but also cleans up after the plugin, preventing
any further errors or issues caused by tasks scheduled by the plugin before
it failed.
2018-11-09 21:45:16 +00:00
Shane Freeder
d2ff9c662c Updated Upstream (Bukkit/CraftBukkit/Spigot)
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

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

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

Spigot Changes:
117d4f7e Rebuild patches
2018-11-03 00:23:27 +00:00
Shane Freeder
a596ff6bdb Fix resource pack api (Fixes #1634) 2018-10-29 13:02:56 +00:00
Zach Brown
45593fc5eb Update upstream B/CB/S 2018-10-28 18:08:08 -04:00
Zach Brown
f29440f891 Update upstream B/CB/S 2018-10-27 00:02:22 -04:00
Shane Freeder
7391c5bbbb Fix javadoc issues 2018-10-25 14:38:19 +01:00
Automated
c1af6f63d2 [Auto] Updated Upstream (Bukkit)
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:
162807b3 Remove some draft API designations
2018-10-25 06:01:38 -04:00
Shane Freeder
18ac1d68c0 Update for Minecraft 1.13.2 2018-10-23 00:16:21 +01:00
BillyGalbreath
4a5ad2e1d2 Add more Witch API (#1564) 2018-10-18 22:24:09 -05:00
Caleb Bassham
99cd22a793 Add events for player changing spectator target (#1498)
* Add events for player changing spectator target

- Add PlayerStartSpectatingEntityEvent
- Add PlayerStopSpectatingEntityEvent
2018-10-18 15:53:10 -05:00
Aikar
b3b0490651 Improvements to Timings Performance
1) Get rid of string interning. can be heavy, has been seen to cause issues for some users
2) Use ConcurrentHashMap instead of a SynchronizedMap
3) Stop use of MRUMapCache which is not thread safe for Group lookups
4) Stop using IdentityHashMap which has performance issues in Java 8
2018-10-17 21:59:35 -04:00
BillyGalbreath
7040465881 Implement getters and setters for EntityItem owner and thrower
Closes #1526
2018-10-06 20:55:18 -05:00
Trigary
cdbdd636e7 Limit lightning strike effect distance
Resolves GH-1436
2018-09-14 17:49:25 +02:00
Automated
6f4f194503 [CI-SKIP] [Auto] Rebuild Patches
A recent commit has been made that caused patches to be out of order, rebuilding
2018-10-12 03:11:50 -04:00
BillyGalbreath
83e66d52da Here's Johnny! (#1563)
Adds Johnny API to Vindicator
2018-10-12 02:09:53 -05:00
Automated
b6902b9615 [CI-SKIP] [Auto] Rebuild Patches
A recent commit has been made that caused patches to be out of order, rebuilding
2018-10-11 21:46:35 -04:00
BillyGalbreath
f4da2d1b05 Add sun related API (#1546)
These methods are used internally throughout the game for things like spawning mobs during day/night only or making them burn in daylight, etc. Now exposed for plugin usage.
2018-10-11 20:42:49 -05:00
Aikar
e6b2a1d2a6 Ignore colorable size in test, NMS Tags not loaded at unit test
runtime materials is different than unit test.

prob going to run into this again in future, will worry about it then
2018-10-10 23:39:36 -04:00
BillyGalbreath
35e512ae34 Turtle API (#1509) 2018-10-10 22:40:49 -05:00
BillyGalbreath
7f7b6df9bd Add LivingEntity#getTargetEntity (#1467) 2018-10-08 20:14:55 -05:00
Spottedleaf
9857d5a9b4 Fix MaterialTagTest deterministic ordering
Tacos > Burritos
2018-10-08 01:33:25 -04:00
BillyGalbreath
f0826f8994 Allow setting the vex's summoner (#1545) 2018-10-06 22:31:21 -05:00
Aikar
8cf0c2072f rename Material.isAir to Material.isEmpty
represents what its more for, and aligns with future Minecraft goals
2018-10-06 22:00:13 -04:00
Aikar
23866800be MaterialTags API
This adds a plethora of useful Tags to let you identify common grouping
of materials. This should complete all of the categories that mojang
did not provide official tags for plus some more.

These are not "registered" tags. They are not usable in any form of
command system that might support tags.

These are provided as a Paper maintained list of items so that plugins
do not have to worry about maintaining all these tags themselves.

This API can technically be copy and pasted into a plugin, and plugins
can add additional Tags's if they wish too to their plugin by
instantiating a MaterialSetTag.
2018-10-06 21:40:16 -04:00
Aikar
565379ce18 Add Material.isAir API
Because mojang, we now have 3 airs.
2018-10-06 21:39:50 -04:00
Aikar
965bbdd8fb [CI-SKIP] Remove Trove and update to fastutul 8 on -api
These deps were marked as provided, not compile, so they were never
exposed to plugins anyways as we THOUGHT we had done, oops.

Well plugins can still add fastutil to their build and use the
deps as provided by minecraft.

This ensures -api side does not use a deprecated API as fastutil 8
removed the deprecated methods.
2018-10-03 21:18:47 -04:00
Shane Freeder
ec5b88b7c1 Updated Upstream (Bukkit/CraftBukkit)
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

Bukkit Changes:
867794b2 Make setPersistent also control player saving

CraftBukkit Changes:
02518f92 Make setPersistent also control player saving
2018-10-03 20:19:35 +01:00
Shane Freeder
fc0af24140 Updated Upstream (Bukkit/CraftBukkit)
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

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

CraftBukkit Changes:
7a2f4867 Implement PlayerRecipeDiscoverEvent and methods to (un/)discover recipes
2018-10-02 11:01:56 +01:00
Zach Brown
5561f5dfdf Add support for Java 11 to deprecated Timings API
In Java 11 the internal reflection method used to determine the calling
class in the legacy and deprecated Timings API, that no one should be
using anymore, was removed.

This means plugins that try and use it will all fail to enable and we
can't compile the server with JDK 11.

The solution to the removal of this internal reflection class is
to just use reflection to call it if its available and fall back to
the unnamed handler system if it isnt.

Update to the newer API if you use Timings already...
2018-09-29 14:05:24 -04:00
Aikar
d10ea572de 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:
39ce5d3a SPIGOT-4399: ItemMeta.equals broken with AttributeModifiers

CraftBukkit Changes:
1cf8b5dc SPIGOT-4400: Populators running on existing chunks
116cb9a1 SPIGOT-4399: Add attribute modifier equality test
5ee1c18a SPIGOT-4398: Set ASM7_EXPERIMENTAL flag
2018-09-28 19:31:59 -04:00
Aikar
16846b782c Updated Upstream (Bukkit/CraftBukkit/Spigot)
Upstream has released updates that appears to apply and compile correctly.

This update has been tested to ensure that World Conversion still occurs correctly.

Bukkit Changes:
0812ce2c SPIGOT-4397: isChunkGenerated API

CraftBukkit Changes:
4824655c SPIGOT-4398: Upgrade to ASM 6.2.1 for better Java 11 support
eea43870 MC-134115: Fix issues converting tile entities
1a7f2d10 SPIGOT-4397: isChunkGenerated API
40aed54d SPIGOT-4396: Improve vehicle movement

Spigot Changes:
f6a273b1 Rebuild patches
2018-09-26 22:35:42 -04:00
Zach Brown
9d830d36ce Allow zero revive health when it matches maxHealth
Apparently a zero max health attribute is perfectly fine in vanilla and
our own revive handling code appears to handle the case fine, even when
EntityDeathEvent is cancelled. So we should allow it to avoid issues
when these mobs are killed.
2018-09-24 20:48:21 -04:00
Automated
31ba50a539 [Auto] 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:
b9620fd9 API to generate filled explorer maps

CraftBukkit Changes:
c1ecaa2f API to generate filled explorer maps
2018-09-24 05:41:32 -04:00
Mark Vainomaa
d326b41a91 Create API for CanPlaceOn and CanDestroy NBT tags (#1015) 2018-09-23 06:30:54 +03:00
BillyGalbreath
6d7372445c Expose attack cooldown methods for Player (#1412) 2018-09-22 22:03:53 -05:00
Aikar
1f201ff86c Remove Precondition on name for AttributeModifier
Vanilla allows empty names
2018-09-22 18:42:03 -04:00
Zach Brown
5cfcc66b4f Fix up maven stuff hopefully 2018-09-22 12:58:09 -04:00
Aikar
4ce0958029 Rework Async Chunks API in prep for merge, add utility
This adds a new Future based, Consumer<Chunk> based, and ability
to control whether or not to generate to the Async Chunk API.

Until Async Chunks merges, these API's are still synchronous, but
this commit will allow plugins to start using the API's in use
with the Async Chunks beta.
2018-09-21 16:56:08 -04:00
Max Lee
06cbabf778 Add a separate PreSpawnerSpawnEvent (#1455)
This event extends the PreCreatureSpawnEvent and includes the position
of the spawner that spawned the entitiy. (similarly to how the
SpawnerSpawnEvent contains the spawner's BlockState).

This one doesn't include the state though as getting the block and
generating that snapshot is a bit wasteful.
2018-09-19 01:34:11 +02:00
Tassu
97fc12e095 Implement furnace cook speed multiplier API. (#1437)
Adds methods `Furnace#getCookSpeedMultiplier()` and
`Furnace#setCookSpeedMultiplier(double)`.

This PR is basically 3516ae34ef for 1.13.

A test plugin may be found [here](https://gist.github.com/supertassu/fade0cce946261732c6299e1ec89290e).
2018-09-18 01:53:27 +03:00
Aikar
9e5220a4bb Add ItemStackRecipeChoice Draft API
This is based on Spigots Draft API. This is subject to change

Allows creating recipes that must match isSimilar to full item stack.
2018-09-13 21:41:19 -04:00
Aikar
716d4d5751 Performance & Concurrency Improvements to Permissions
Modifying of permissions was only half protected, enabling concurrency
issues to occur if permissions were modified async.

While no plugin really should be doing that, modifying operations
are not heavily called, so they are safe to add synchronization to.

Now, all modification API's will be synchronized ensuring safety.

Additionally, hasPermission was victim to a common java newbie mistake
of calling if (containsKey(k)) return get(k), resulting in 2 map lookups.

Optimized it to simply be a single get call cutting permission map
lookups in half.
2018-09-13 20:55:31 -04:00
Zach Brown
9ff95e76f7 Update branch name for GitHub version checking 2018-09-13 12:17:01 -04:00
Aikar
14d6ee0495 Rename some methods per discussion in channel 2018-09-09 21:45:54 -04:00
Aikar
cc238c61a0 You can use EntityPathfindEvent to cancel new pathfinds from overriding your current 2018-09-09 14:48:32 -04:00
Aikar
75d51d6f9f getextPointIndex was not needing to be boxed/nullable 2018-09-09 14:36:51 -04:00
Aikar
0ae2903d8a Mob Pathfinding API
Adds an API to allow plugins to instruct a Mob to Pathfind to a Location or Entity

This does not do anything to stop other AI rules from changing the location, so
it is still up to the plugin to control that or override after another goal changed
the location.
2018-09-09 12:58:47 -04:00
Aikar
f848af3df4 Merge branch 'master' into pre/1.13
* master:
  Remove no longer needed tests due to last change
2018-09-09 01:14:52 -04:00
Aikar
e0c865681c Remove no longer needed tests due to last change 2018-09-09 01:14:18 -04:00
Aikar
ae158dbbc8 Merge branch 'master' into pre/1.13
* master:
  Remove deadlock risk in firing async events
2018-09-09 01:06:44 -04:00
Aikar
68b25624d8 Remove deadlock risk in firing async events
The PluginManager incorrectly used synchronization on firing any event
that was marked as synchronous.

This synchronized did not even protect any concurrency risk as
handlers were already thread safe in terms of mutations during event
dispatch.

The way it was used, has commonly led to deadlocks on the server,
which results in a hard crash.

This change removes the synchronize and adds some protection around enable/disable
2018-09-09 01:04:29 -04:00
chickeneer
938a3d5c70 Fix invalid data types for particles and fix colors in the ParticleBuilder (#1422)
* Fix invalid data types for particles and fix colors in the ParticleBuilder
2018-09-08 18:52:56 -05:00
Zach Brown
09ca94cb13 Merge branch 'master' into pre/1.13 2018-09-08 19:12:58 -04:00
Max Lee
4ff931a021 Improve death events (#1362)
* Improve death events

This adds the ability to cancel the events and to specify the sound.
2018-09-08 02:14:48 +02:00
BillyGalbreath
1ee368448e Add ray tracing methods to LivingEntity (#1410)
This method will return the Block a player is looking at while taking into consideration the AABB of each block in the path.

For example, you can look through the 1/4 space of air in a Stair block and get the block behind it instead of the Stair block you are looking past.
2018-09-03 18:59:54 -05:00
Automated
a0e356e9ae [CI-SKIP] [Auto] Rebuild Patches
A recent commit has been made that caused patches to be out of order, rebuilding
2018-09-03 10:11:35 -04:00
willies952002
18aaaa150c Add Force-Loaded Chunk API (#1387) 2018-09-03 10:05:55 -04:00
Automated
86798d2ec5 [Auto] 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:
8ab814cd Add getFacing method to get the current cardinal direction an entity is facing.

CraftBukkit Changes:
ee5efeb0 Add getFacing method to get the current cardinal direction an entity is facing.

Spigot Changes:
0ede7d0e Rebuild patches
2018-09-03 04:14:40 -04:00