Commit Graph

2031 Commits

Author SHA1 Message Date
Spottedleaf fcb4d9ab28
fix exception message 2019-06-15 11:07:03 -07:00
Spottedleaf 9a5ec7f21d Proper paper commenting 2019-06-15 10:36:09 -07:00
Spottedleaf 61a6d011d9 Show blockstate location if we failed to read it 2019-06-15 10:30:43 -07:00
wizjany 3213b6b1e4 Use the entity registry id instead of translation key when posting PreCreatureSpawnEvent and PreSpawnerSpawnEvent 2019-06-14 22:06:36 -07:00
Spottedleaf e23dceab07
Change format 2019-06-14 21:21:39 -07:00
Spottedleaf cde2399145 Add chunkinfo command
Used so that server owners can tell what types of chunks are loaded
without requiring to use a tool to analyse a debug report
2019-06-13 22:51:37 -07:00
Spottedleaf 5c7081fecc 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-14 03:27:40 +01:00
Omer Uddin 68c6699ce9 Stop natural spawning after limit has been reached (#2127) 2019-06-12 21:34:18 -05:00
Shane Freeder 89182676ed
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:
9e95da12 SPIGOT-5052: PlayerPortalEvent not called when nether is disabled
28ea3fd1 SPIGOT-5062: end_portal on an non-default end world crashes the server
4a07dc69 SPIGOT-5058: ClassCastException when getting InventoryHolder of lectern when it's destroyed
2019-06-12 09:45:30 +01:00
Shane Freeder ec405a6bea
Fix async calls to getChunkAtIfLoadedImmediately 2019-06-11 04:17:39 +01:00
Shane Freeder 16909a3637
Fix PlayerNaturallySpawnCreaturesEvent
Trivia: Did you know that events need to be called to work?
2019-06-11 02:45:46 +01:00
Spottedleaf 1c68c72b1f Improve chunk loaded checks 2019-06-11 02:37:37 +01:00
Shane Freeder 7a3054158d
Only fire WorldSaveEvent on full chunk saves (Fixes #2161) 2019-06-10 21:45:22 +01:00
Shane Freeder ae153a18f9
Merge branch 'master' into ver/1.14 2019-06-10 10:11:29 +01:00
Shane Freeder a0a6ab18b7
Catch exceptions from dispenser entity spawns 2019-06-10 09:53:10 +01:00
Shane Freeder eba1fb2247
Improve autosave
- don't trip manual save warning
- respect world#isSavingDisabled
2019-06-10 06:43:28 +01:00
Shane Freeder 6f2c8a6449
Incremental chunk saving 2019-06-09 20:48:13 +01:00
Zach Brown ef170ee659
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 2f782a6652 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 16:56:51 +01:00
Shane Freeder 4ff5387091
Fix chunk ticking range 2019-06-06 06:13:00 +01:00
Zach Brown f4088faea2
Update upstream BD/CB/S
--- work/BuildData
Submodule work/BuildData 633897ca..f0032df4:
  > Mappings Update

--- work/CraftBukkit
Submodule work/CraftBukkit b7fea427..043d31de:
  > SPIGOT-5015: Players in spectator mode prevent block placement and block projectiles
  > Make bukkitEntity private to prevent incorrect usage

--- work/Spigot
Submodule work/Spigot 01d0f046..baafee91:
  > Rebuild patches
2019-06-02 22:26:25 -05:00
Mark Vainomaa 68eec9621f
Set connection thottle to -1 when Velocity IP forwarding is enabled
Port of 3c6f46936e
2019-06-02 22:00:23 -05:00
Zach Brown 268b076ab2
Backport MC-114618 - EntityAreaEffectCloud negative size fix 2019-06-02 21:49:14 -05:00
Spottedleaf da0aa69e44 Fix tabcomplete firing off-main
Also rebuild patches
2019-06-03 03:27:10 +01:00
Spottedleaf f210855d4c Chunk debug command (#2118)
* Chunk debug command

Prints all chunk information to a text file into the debug
folder in the root server folder.

Will output server version and all online players to the
file as well. We do not log anything but the location,
world and username of the player.

Also logs the value of these config values (note not all are paper's):
- keep spawn loaded value
- spawn radius
- view distance

Each chunk has the following logged:
- Coordinate
- Ticket level & its corresponding state
- Whether it is queued for unload
- Chunk status (may be unloaded)
- All tickets on the chunk

Example log:
https://gist.github.com/Spottedleaf/203bd211020a3a04da0e574fb57dab45

For references on certain keywords (ticket, status, etc), please see:

https://bugs.mojang.com/browse/MC-141484?focusedCommentId=528273&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-528273
https://bugs.mojang.com/browse/MC-141484?focusedCommentId=528577&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-528577

* Use JSON for the chunk dump

* Fix obfhelper naming

* Fix incorrect JSON spec
2019-06-02 20:25:12 -05:00
kashike fd75f355f9
Merge pull request #2097 from simpleauthority/add-get-step-sound
Add BlockSoundGroup to Block & Implement
2019-06-01 21:13:31 -07:00
Spottedleaf 264a3545fe Fix memory leak if the server is constantly overloaded (#2109) 2019-05-30 22:19:06 -05:00
Zach Brown 9f01a14531
Update upstream CB/S
--- work/CraftBukkit
Submodule work/CraftBukkit ba575a5a..b7fea427:
  > SPIGOT-5010: World.getEntities returns entities in border chunks
  > Show incorrect size passed into createInventory

--- work/Spigot
Submodule work/Spigot 093165d1..01d0f046:
  > SPIGOT-4986: EntityActivationRange - Raiders
  > SPIGOT-4988: Setting "mob-spawn-range" in spigot.yml also effects random block ticks
2019-05-30 18:54:25 -05:00
Zach Brown 550e5f8eaf
Fix `null` display when no version history
Should've been null checked since I made it nullable. String concat
saved us any real damage and so all we saw was "null" shown to users.
Quick check and now we don't.
2019-05-30 18:31:48 -05:00
Zach Brown de002d43b3
Allow proto chunks to be saved again
Appear to be used more extensively in 1.14. Subject to further review.
2019-05-30 18:22:34 -05:00
Mark Vainomaa 3c6f46936e
Set connection thottle to -1 when Velocity IP forwarding is enabled 2019-05-30 18:46:50 +03:00
Shane Freeder 5405793b86
Don't replace entries in the tracked player map (Fixes #2102) 2019-05-29 05:54:11 +01:00
Shane Freeder c605be20c7
ChunkMapDistance-CME 2019-05-29 04:25:08 +01:00
simpleauthority 87cc15d6e3 Add BlockSoundGroup to Block and implement 2019-05-28 20:08:59 -07:00
kashike eb5951cd1c
Merge pull request #2089 from BillyGalbreath/GH2088
MC-114618 - Fix EntityAreaEffectCloud from going negative size
2019-05-28 17:44:32 -07:00
William Blake Galbreath 3c51fa0ac7 MC-114618 - Fix EntityAreaEffectCloud from going negative size 2019-05-28 19:35:06 -05:00
Spottedleaf af021b9456 Update to 1.14.2 2019-05-28 00:30:44 +01:00
Spottedleaf 01670a5103 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 70ce6ce831
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 7fb12d787e 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-27 01:17:50 -05:00
Spottedleaf 5dc46cd3b2 Move getTypeIfLoaded and friends to IBlockAccess (#2077) 2019-05-27 01:14:14 -05:00
Spottedleaf 90141ff411 Handle gen flag for placeholder getChunkAtAsync (#2079)
Also fix a loadChunk call in heightmap api
2019-05-27 00:17:12 -05:00
Zach Brown 7fe6e643d1
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:42:39 -05:00
Shane Freeder e9c7232267
Merge branch 'master' into ver/1.14 2019-05-27 01:16:47 +01:00
Spottedleaf 07762fc610 Revert Don-t-recheck-type-after-setting-a-block.patch 2019-05-26 10:40:12 -07:00
Shane Freeder d627cfa110
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 ddab5b61a8
Fix some concurrency issues around world generation (Fixes #2052, #2037) 2019-05-24 11:16:03 +01:00
Shane Freeder b3aa7dadcd
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 c47f54dc88 Add configurable spawn loaded range back (#2051) 2019-05-24 04:12:57 +01:00
Spottedleaf 27731ddb32 Fix /tps (#2066) 2019-05-22 19:57:27 +01:00