Commit graph

4045 commits

Author SHA1 Message Date
Riley Park
59681f22b7 Merge pull request #2096 from Spottedleaf/ver/1.14
Updated Upstream (CraftBukkit)
2019-05-28 04:17:39 -07:00
Spottedleaf
9b2872bd31 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:
ba575a5a SPIGOT-4992: Various villager issues due to broken mapping
2019-05-28 04:15:12 -07:00
Spottedleaf
9f4fe93a9a Update to 1.14.2 2019-05-27 16:01:45 -07:00
Spottedleaf
4d1f9bd463 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:
e041de28 SPIGOT-4946: Add VillagerCareerChangeEvent

CraftBukkit Changes:
fcb9f90b SPIGOT-4946: Add VillagerCareerChangeEvent
a4a2f679 SPIGOT-4987: Shulkerbox does not save empty slots
2019-05-27 03:57:28 -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
Spottedleaf
66554efabb Improve MT-Safety of UserCache (#2080)
We were missing a synchronize on a get if cached method, however
it appears that using a ConcurrentHashMap is a better solution
so readers can avoid locking if they just want a cached value.

Existing synchronization for writers remains untouched, the
ConcurrentHashMap is just so readers can safely read without
synchronization
2019-05-26 23:17:50 -07:00
Spottedleaf
78a4e64734 Move getTypeIfLoaded and friends to IBlockAccess (#2077) 2019-05-26 23:14:14 -07:00
Spottedleaf
4a65bd4b04 Handle gen flag for placeholder getChunkAtAsync (#2079)
Also fix a loadChunk call in heightmap api
2019-05-26 22:17:12 -07:00
Zach Brown
4acb916956 Check property exists before playing chest close sound
There is an artificial delay added to chest close sounds (of 10 ticks)
to make them "feel" more true to vanilla. The problem is that because of
this delay it is possible for the block to be removed by the time the
sound plays.

With 1.14 in the state it is the timing necessary to encounter this
issue has increased.

The correct fix is to just return early if the property checked for in
the TileEntityChest sound method does not exist for the block at the
current location.

Fixes GH-2074
2019-05-26 23:36:37 -05:00
Shane Freeder
70e671043a Merge branch 'master' into ver/1.14 2019-05-27 01:16:47 +01:00
Spottedleaf
3e0027e482 Revert Don-t-recheck-type-after-setting-a-block.patch 2019-05-26 10:40:12 -07:00
Shane Freeder
db3bafc4d1 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:
17da3420 Fix reading custom persistent entity data
83783357 SPIGOT-4980: Shields will not be put on cooldown when hit with an axe
8d0f3722 SPIGOT-4752: Fixed inconsistency between isChunkLoaded and chunk load/unload events
3f9f31c3 SPIGOT-4982: Armor disappearing while breaking the armor stand
2019-05-26 02:56:30 +01:00
Shane Freeder
d1f29dbbe3 Fix some concurrency issues around world generation (Fixes #2052, #2037) 2019-05-24 11:16:03 +01:00
Shane Freeder
12a934315c 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:
c45c0a98 SPIGOT-4972: Cannot add contextual data to loot table API
2019-05-24 04:49:27 +01:00
Spottedleaf
b8fb51a017 Add configurable spawn loaded range back (#2051) 2019-05-23 20:12:57 -07:00
Spottedleaf
50c66c63aa Fix /tps (#2066) 2019-05-22 11:57:27 -07: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
Shane Freeder
504a4d9c6e Remove TPS catchup improvements
These changes are incompatbile as-is with 1.14 due to the Thread.sleep
call, this should ideally be brought back in the future
2019-05-22 04:58:00 +01:00
Shane Freeder
59b1985b2d 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:
142bdd6a SPIGOT-4966: Provide access to Entity in PortalCreateEvent
36ae34f0 Fix some javadoc warnings
2c68d3b9 Explicitly deprecate all MaterialData subclasses
b97d9bb7 Fix duplicate lowercasing in NamespacedKey
531c4dd3 SPIGOT-4961: Cannot open various inventories
2327df08 SPIGOT-4958: API to set map trackingPosition
2ae6a5a8 SPIGOT-4833: Allow access to LivingEntity memories

CraftBukkit Changes:
342194e3 SPIGOT-4970: PlayerTeleportEvent event.setTo() has no effect on portal teleports
6984fc4f SPIGOT-4968: Jukebox.setPlaying(null) causes error
0e4ca96e SPIGOT-4966: Provide access to Entity in PortalCreateEvent
49e15b4d SPIGOT-4964: EntityPickupItemEvent for pandas
de9b85b8 SPIGOT-4925: Uppercase world names no longer supported
c5e09cea SPIGOT-4961: Cannot open various inventories
b114affb SPIGOT-4958: API to set map trackingPosition
401432b9 SPIGOT-4962: Bubble column blocks not classified as liquid
f498aabe SPIGOT-4898: Call EntityChangeBlockEvent / EntityPickupItemEvent for foxes
eb99127a SPIGOT-4833: Allow access to LivingEntity memories

Spigot Changes:
03bd4b03 Remove // Spigot comment from javadoc
54b58fa6 Fix some javadoc warnings
2019-05-22 04:38:43 +01:00
Shane Freeder
8b5a606f59 improve CraftWorld#isChunkLoaded to use the chunk status
vs just checking that it exists as an updating chunk, as this appears to
be a "the chunk should be loaded, but might not be"
2019-05-21 21:32:47 +01:00
Shane Freeder
ad0f730861 stop CraftWorld#isChunkLoaded from loading chunks 2019-05-21 02:37:47 +01:00
Spottedleaf
6fef4e1b23 Fix RegionFileCache#hasRegionFile (#2062)
also remove the pointless synchronization on
RegionFileCache#getRegionFileName
2019-05-19 19:26:17 -07:00
Shane Freeder
9b1c65cf48 try-with-resources on populate timer (Fixes #2061)
Lets also ignore the fixup patch, that never existed, right? Right.
2019-05-20 02:32:41 +01:00
Shane Freeder
974bb35db4 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:
d06991d9 SPIGOT-4953: Crafting table inventory returns player location, not block location
2019-05-20 00:56:19 +01:00
Shane Freeder
a24e98859f Don't run death logic on dupe entity removals 2019-05-19 20:48:54 +01:00
Shane Freeder
059e210728 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:
4543fb40 SPIGOT-4943: Zombie villager conversion player API.

CraftBukkit Changes:
585b2ebd Tweak thresholds for can't keep up message
91ada5c2 SPIGOT-4956: EntityTameEvent not triggered when taming a Cat
9bda4134 SPIGOT-4943: Zombie villager conversion player API.
5a027071 SPIGOT-4947: Allow setting the content on a lectern
09d00e9f SPIGOT-4938: Call EntityPickupItemEvent for dolphins
a278e445 SPIGOT-4948: Lectern.getInventory should return a LecternInventory

Spigot Changes:
4f661b22 Rebuild patches
2019-05-19 04:16:22 +01:00
Shane Freeder
98314712f0 Restore some entity duplication fix patches 2019-05-18 06:01:44 +01:00
Spottedleaf
63233b4c4c Fix MinecraftServer#isMainThread (#2046)
See patch notes
2019-05-16 15:27:36 -07:00
Zach Brown
77edfda4e1 Update upstream CB
--- work/CraftBukkit
Submodule work/CraftBukkit f6909573..02b466cc:
  > SPIGOT-4940: Fletcher villager gifts sometimes crash server
2019-05-16 17:04:14 -05:00
Zach Brown
13313f9bb6 Fix logic issue with no save proto chunks patch
Should be returning true as a no-op "yes it was saved" rather than false
as a "there was an issue saving"
2019-05-16 16:53:17 -05:00
Shane Freeder
6a951ff79a Remove leftover line from spigots tick limiters
Looking over the code, this appears to be one "high risk but hopefully
unlikely that plugins are causing this to break", this line is however
redundant leftovers from spigots tick limiter patch, which should be
doing nothing as-is.
2019-05-15 22:53:13 +01:00
Shane Freeder
ee7b1a66d0 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:
f6909573 SPIGOT-4935: Lore deserializes incorrectly from previous versions
dd99c5bb SPIGOT-4929: Beacon inventory getType() returns CHEST
2019-05-15 19:12:22 +01:00
Riley Park
1801baec4d Merge pull request #2029 from Spottedleaf/optimize-datawatcher
Optimize DataWatcher
2019-05-15 01:13:05 -07:00
Spottedleaf
b10550736e Resolve memory leak involving TileEntities
Their chunk is set to null before removal, so we kept them around.
2019-05-14 14:54:32 -07:00
Spottedleaf
8ff0f5c10d Fix CraftServer#isPrimaryThread
md_5 changed it so he could shut down the server asynchronously
from watchdog, although we have patches that prevent that type
of behavior for this exact reason.
2019-05-13 21:13:31 -07:00
Zach Brown
b3cf37c102 Re-add dropped keep alive disconnect
Should fix the terminal spam
2019-05-13 23:17:05 -05:00
Spottedleaf
b56a982756 Optimize DataWatcher
The lock in DataWatcher is used to prevent concurrent modifications
to the 'd' field (entries in MCP). However any modifications to
this map only occur on initialization of an Entity in its
constructor. This modification is write-locked.

Every other access is through a readlock, which allows
the threads to pass if there is no thread holding the
writelock.

Since the writelock is only obtained in the constructor
of the Entity, the further readlocks are actually
useless (which get obtained on set, get, etc calls).

The entries field ('d' currently) has also been declared as
Int2ObjectOpenHashMap to avoid autoboxing on put(), get(), etc
calls.
2019-05-13 20:37:18 -07:00
Zach Brown
1ea2c3b4be MC 1.14.1 2019-05-13 21:20:58 -05:00
Zach Brown
d1310ddac5 Add comment to MC-151674 fix
[11:00 PM] kashike: <snip> missed // Paper - MC-151674 comment here
2019-05-12 23:06:28 -05:00
Spottedleaf
ecafb51908 Fix MC-151674 Close RegionFiles when they get evicted from cache
https://bugs.mojang.com/browse/MC-151674
2019-05-12 19:30:57 -07:00
Spottedleaf
6635ae643e Review EntityPathfindEvent
Add missing target forward
2019-05-12 18:39:06 -07:00
Spottedleaf
e36079cf6f Remove TODO on Add more Zombie API
Testing in game verified the zombie's arms raise and fall correctly
when using the API.
Renamed the OBFHELPER since the method is placed on EntityInsentient
(since we want to conflict on changes).
2019-05-12 18:04:29 -07:00
Spottedleaf
1936613b92 Remove TODO on Add ray tracing methods to LivingEntity
Note: The entity parameter stays 'this' since we want the block the
entity is targetting. This can change based on the block the player
has in their hand (see scaffholding). With a scaffhold in hand, the
scaffhold blocks in the world become solid 1x1x1 cubes, and without they
follow their model's shape.
2019-05-12 17:23:21 -07:00
Spottedleaf
79a43cd2a2 Fix TODOs in Optional TNT doesn't move in water
Turns out the doWaterMovement method was never called.
Moved the tracker updates into tick() and delete doWaterMovement
2019-05-12 16:42:49 -07:00
Spottedleaf
8d7a074503 Resolve TODO on PlayerNaturallySpawnCreaturesEvent
- Add missing isCancelled check

We don't need to worry about going out of range of int
since the value is clamped to view distance, and view
distance is clamped to 33
2019-05-12 15:34:42 -07:00
Shane Freeder
a13710cccf Merge branch 'master' into ver/1.14 2019-05-10 20:03:43 +01:00
Shane Freeder
cd96c09a94 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:
7d29eb5e SPIGOT-4899: Horse inventory title not set
2019-05-10 19:11:17 +01:00
Shane Freeder
86be055929 Fix MCUtils and other calls to postTaskOnMain
Method changed changed it's role to providing a TickTask object which
isn't automatically scheduled onto the server
2019-05-10 18:42:33 +01:00
Spottedleaf
396186a950 Fix patch "Faster redstone torch rapid clock removal" (#2014)
Tux pointed out the patch still has O(n^2) time complexity since
the sublist class in arraylist does not override clear() from
AbstractList, which uses a forward moving iterator to clear
the list.

Resolved by using a peek and poll from ArrayDeque.

This patch also removes the useless WeakHashMap which holds
the list (it mapped world->list) and replaces it with a
field on World.
2019-05-10 08:48:58 -07:00