Yatopia/patches/server/0056-New-nbt-cache.patch

138 lines
7.1 KiB
Diff
Raw Permalink Normal View History

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Hugo Planque <hookwood01@gmail.com>
Date: Thu, 21 Jan 2021 17:56:03 +0100
Subject: [PATCH] New nbt cache
The goal of this patch is to reduce I/O operations from the main thread while saving player data and also to avoid too many I/O operations while reading NBT Player file by using a cache (Which start to delete the oldest data when there is too much player compared to the map size)
Co-authored-by: ishland <ishlandmc@yeah.net>
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
Upstream (#505) * Updated Upstream and Sidestream(s) (Paper/Tuinity/Airplane/Purpur/Empirecraft/Origami) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: b94a99b03 Updated Upstream (CraftBukkit) (#5762) f5cb169e0 [Auto] Updated Upstream (CraftBukkit) 407ad043c Add ElderGuardianAppearanceEvent (#5394) a04ad7bfb Fix invulnerable end crystals: MC-108513 (#5734) c894e8bbb Fix issue with soft despawn distance (#5755) 302e5101a Add BellRevealRaiderEvent (#5729) 34e6b2dc3 editMeta: tighten contract via docs (#5714) db2d501ba Do not print spawn loaded chunks 86ffde038 Add getHandRaised to LivingEntity (#5752) 9072c349a Fix broadcast event and add Adventure broadcast (#5477) Tuinity Changes: f7c4249 Fix dangerous end portal logic 3eda860 Updated Upstream (Paper) Airplane Changes: 3e07ea8 Patch container checks for WildChests compat d04adc9 Updated Upstream (Tuinity) 489bb76 Update gradle 0d5670e Merge pull request #24 from HexedHero/spelling-mistake-lightning c605be6 Fix typo Purpur Changes: d2204a3d Updated Upstream (Paper, Tuinity & Airplane) 2b35782c Fix #364 - isCritical always false 6ab78311 Fix empty shulker boxes disappearing when broken afaf8b4f Updated Upstream (Paper) b97feb78 [ci-skip] readme eb77666a Updated Upstream (Paper) Empirecraft Changes: 105217a9 Move more files out of nms package 548a13f4 Move some server patches out nms package f24d7b4c Updated Paper 99745711 Updated Paper deb9886e Add a fix for piglins picking up too much - SPIGOT-6482 8c662d78 Add javadoc description to reload api 1af9bbc8 Adjust comments on vehicle event patch 2aa479b8 cleanup ItemStack isSimilar api patches f344cb62 Updated Paper dbb49189 Re-add EMC User API a6c40eb2 Updated Paper a57940b2 Remove EMC specific User API patches Origami Changes: d0cdf96 Fix issues with disabling the chunk loading of the feature search 529f5b6 Fix creature type despawn distances not applying 1af8601 Fix Endermen being able to load chunks on teleport * Updated Upstream and Sidestream(s) (Airplane/Purpur) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Airplane Changes: 8c50125 Switch bitset to long storage 617dfe2 Patch Paper to use fast item merge raytracing 16104e8 Updated Upstream (Tuinity) Purpur Changes: 5824eb8f Beacon Activation Range Configurable (#372) baa20a6b Config MobEffect by world (#369) ff09f9e6 Updated Upstream (Tuinity & Airplane) * Updated Upstream and Sidestream(s) (Paper/Purpur/Empirecraft) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: f89be1281 [CI-SKIP] Fixup patch header acbb69e67 Restore vanilla water animal limit ea381dde3 Reset villager inventory on cancelled pickup event (again) (#5766) (Fixes #5765) Purpur Changes: 6fe21994 Updated Upstream (Paper) Empirecraft Changes: 0e568e7c Updated Paper bbd2a014 Fire FurnaceExtractEvent more often for null players * Updated Upstream and Sidestream(s) (Paper) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: 5d05da257 Use original user input instead of legacy event result for AbstractChatEvent#originalMessage (#5770) * remove Purpur * Updated Upstream and Sidestream(s) (Paper) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: af1a50993 [Auto] Updated Upstream (CraftBukkit) * Updated Upstream and Sidestream(s) (Paper/Tuinity/Airplane/Empirecraft/Origami) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: 0daded2f2 Add more line of sight methods (#5749) 8fd4e70db Improve seed based feature search to not load chunk (#5760) 7ad8498c3 Make item validations configurable (#5775) 3673d6758 Fix Cannot be adventure component serialized when the legacy component is null (#5754) afb0748a2 [Auto] Updated Upstream (Bukkit) 7d751ad8d Fix dangerous end portal logic (#5776) 12716324d Do not tick Chunk TickS for every chunk Tuinity Changes: 2683c77 Use area map for nearby players in mob spawning (#283) Airplane Changes: 2be99de Toggle for DEAR 3485304 Updated Upstream (Tuinity) Empirecraft Changes: 33438474 Refine FurnaceExtractEvent patch Origami Changes: 35c6a27 Re-add removed patch for MC-2025 a19a185 Fix missing particles * Updated Upstream and Sidestream(s) (Paper/Tuinity/Airplane/Empirecraft) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: c64958508 fix: wrong return in javadocs for bookmeta (#5579) 3dbb8926e Fix PotionSplashEvent for water splash potions (#5697) b759d006e Adds per-world spawn limits (#4837) 81de619d3 Updated Upstream (CraftBukkit) (#5786) 5e3604f1b Better fix for invulnerable crystals and improve Origin API (#5761) d5fe9c817 Updated Upstream (CraftBukkit) (#5784) d20e5b195 Fix timings sometimes incorrectly marking commands (#5783) Tuinity Changes: df76b3c Updated Upstream (Paper) Airplane Changes: a13c511 Simple item block collision toggle 3cd9d1c Updated Upstream (Tuinity) Empirecraft Changes: c7ef1a7a Updated Paper * Updated Upstream and Sidestream(s) (Tuinity/Airplane/Origami) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Tuinity Changes: f32fe9a Updated Upstream (Paper) Airplane Changes: 125aff7 Updated Upstream (Tuinity) Origami Changes: 756162f Update Paper 2f9721c Update snakeyaml and enable comment loading/saving * fix * fix * Updated Upstream and Sidestream(s) (Tuinity) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Tuinity Changes: 901ac35 Optimise BlockSoil nearby water lookup * Updated Upstream and Sidestream(s) (Paper/Empirecraft) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: e04368045 Updated Upstream (Bukkit/CraftBukkit) (#5794) Empirecraft Changes: e187791e Updated Paper
2021-06-14 20:31:04 +02:00
index c3955c0c48861ead0b0ea1724257ec8c20711dcf..3be963f4a278da028ed36f0caeb4ed35c45978ae 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
Upstream (#505) * Updated Upstream and Sidestream(s) (Paper/Tuinity/Airplane/Purpur/Empirecraft/Origami) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: b94a99b03 Updated Upstream (CraftBukkit) (#5762) f5cb169e0 [Auto] Updated Upstream (CraftBukkit) 407ad043c Add ElderGuardianAppearanceEvent (#5394) a04ad7bfb Fix invulnerable end crystals: MC-108513 (#5734) c894e8bbb Fix issue with soft despawn distance (#5755) 302e5101a Add BellRevealRaiderEvent (#5729) 34e6b2dc3 editMeta: tighten contract via docs (#5714) db2d501ba Do not print spawn loaded chunks 86ffde038 Add getHandRaised to LivingEntity (#5752) 9072c349a Fix broadcast event and add Adventure broadcast (#5477) Tuinity Changes: f7c4249 Fix dangerous end portal logic 3eda860 Updated Upstream (Paper) Airplane Changes: 3e07ea8 Patch container checks for WildChests compat d04adc9 Updated Upstream (Tuinity) 489bb76 Update gradle 0d5670e Merge pull request #24 from HexedHero/spelling-mistake-lightning c605be6 Fix typo Purpur Changes: d2204a3d Updated Upstream (Paper, Tuinity & Airplane) 2b35782c Fix #364 - isCritical always false 6ab78311 Fix empty shulker boxes disappearing when broken afaf8b4f Updated Upstream (Paper) b97feb78 [ci-skip] readme eb77666a Updated Upstream (Paper) Empirecraft Changes: 105217a9 Move more files out of nms package 548a13f4 Move some server patches out nms package f24d7b4c Updated Paper 99745711 Updated Paper deb9886e Add a fix for piglins picking up too much - SPIGOT-6482 8c662d78 Add javadoc description to reload api 1af9bbc8 Adjust comments on vehicle event patch 2aa479b8 cleanup ItemStack isSimilar api patches f344cb62 Updated Paper dbb49189 Re-add EMC User API a6c40eb2 Updated Paper a57940b2 Remove EMC specific User API patches Origami Changes: d0cdf96 Fix issues with disabling the chunk loading of the feature search 529f5b6 Fix creature type despawn distances not applying 1af8601 Fix Endermen being able to load chunks on teleport * Updated Upstream and Sidestream(s) (Airplane/Purpur) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Airplane Changes: 8c50125 Switch bitset to long storage 617dfe2 Patch Paper to use fast item merge raytracing 16104e8 Updated Upstream (Tuinity) Purpur Changes: 5824eb8f Beacon Activation Range Configurable (#372) baa20a6b Config MobEffect by world (#369) ff09f9e6 Updated Upstream (Tuinity & Airplane) * Updated Upstream and Sidestream(s) (Paper/Purpur/Empirecraft) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: f89be1281 [CI-SKIP] Fixup patch header acbb69e67 Restore vanilla water animal limit ea381dde3 Reset villager inventory on cancelled pickup event (again) (#5766) (Fixes #5765) Purpur Changes: 6fe21994 Updated Upstream (Paper) Empirecraft Changes: 0e568e7c Updated Paper bbd2a014 Fire FurnaceExtractEvent more often for null players * Updated Upstream and Sidestream(s) (Paper) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: 5d05da257 Use original user input instead of legacy event result for AbstractChatEvent#originalMessage (#5770) * remove Purpur * Updated Upstream and Sidestream(s) (Paper) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: af1a50993 [Auto] Updated Upstream (CraftBukkit) * Updated Upstream and Sidestream(s) (Paper/Tuinity/Airplane/Empirecraft/Origami) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: 0daded2f2 Add more line of sight methods (#5749) 8fd4e70db Improve seed based feature search to not load chunk (#5760) 7ad8498c3 Make item validations configurable (#5775) 3673d6758 Fix Cannot be adventure component serialized when the legacy component is null (#5754) afb0748a2 [Auto] Updated Upstream (Bukkit) 7d751ad8d Fix dangerous end portal logic (#5776) 12716324d Do not tick Chunk TickS for every chunk Tuinity Changes: 2683c77 Use area map for nearby players in mob spawning (#283) Airplane Changes: 2be99de Toggle for DEAR 3485304 Updated Upstream (Tuinity) Empirecraft Changes: 33438474 Refine FurnaceExtractEvent patch Origami Changes: 35c6a27 Re-add removed patch for MC-2025 a19a185 Fix missing particles * Updated Upstream and Sidestream(s) (Paper/Tuinity/Airplane/Empirecraft) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: c64958508 fix: wrong return in javadocs for bookmeta (#5579) 3dbb8926e Fix PotionSplashEvent for water splash potions (#5697) b759d006e Adds per-world spawn limits (#4837) 81de619d3 Updated Upstream (CraftBukkit) (#5786) 5e3604f1b Better fix for invulnerable crystals and improve Origin API (#5761) d5fe9c817 Updated Upstream (CraftBukkit) (#5784) d20e5b195 Fix timings sometimes incorrectly marking commands (#5783) Tuinity Changes: df76b3c Updated Upstream (Paper) Airplane Changes: a13c511 Simple item block collision toggle 3cd9d1c Updated Upstream (Tuinity) Empirecraft Changes: c7ef1a7a Updated Paper * Updated Upstream and Sidestream(s) (Tuinity/Airplane/Origami) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Tuinity Changes: f32fe9a Updated Upstream (Paper) Airplane Changes: 125aff7 Updated Upstream (Tuinity) Origami Changes: 756162f Update Paper 2f9721c Update snakeyaml and enable comment loading/saving * fix * fix * Updated Upstream and Sidestream(s) (Tuinity) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Tuinity Changes: 901ac35 Optimise BlockSoil nearby water lookup * Updated Upstream and Sidestream(s) (Paper/Empirecraft) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: e04368045 Updated Upstream (Bukkit/CraftBukkit) (#5794) Empirecraft Changes: e187791e Updated Paper
2021-06-14 20:31:04 +02:00
@@ -954,7 +954,9 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
}
// Spigot start
MCUtil.asyncExecutor.shutdown(); // Paper
+ this.worldNBTStorage.executorService.shutdown(); // Yatopia
try { MCUtil.asyncExecutor.awaitTermination(30, java.util.concurrent.TimeUnit.SECONDS); // Paper
+ this.worldNBTStorage.executorService.awaitTermination(30, java.util.concurrent.TimeUnit.SECONDS); // Yatopia - New async nbt cache
} catch (java.lang.InterruptedException ignored) {} // Paper
if (org.spigotmc.SpigotConfig.saveUserCacheOnStopOnly) {
LOGGER.info("Saving usercache.json");
Updated Upstream and Sidestream(s) (Paper/Tuinity/Airplane/Purpur/Empirecraft) (#443) * Updated Upstream and Sidestream(s) (Paper/Tuinity/Airplane/Purpur/Empirecraft) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: 0641de2d4 [CI-SKIP] Change some fields to textara (#5405) 98a34ea47 [CI-SKIP] 🚀 Upgrade to new form-based templates (#5278) bca97a8f7 replace spaces in world key (touches #5397) de94f6485 Refactor chat message composition (#5396) e27f334bb [CI-SKIP] Fix makemcdevsrc.sh for nms relocations (#5389) ae15e85da Updated Upstream (CraftBukkit) 26fe0ac5a Only set despawnTimer for Wandering Traders spawned by MobSpawnerTrader (#5391) b748eb7b8 Fix VanillaMobGoalTest#testBukkitMap (#5390) 18dbbb578 [Auto] Updated Upstream (CraftBukkit) fac9cc5d5 [CI-SKIP] Ignore .gitignore 087aa70e7 Deprecate ItemStack#setLore(List<String>) and ItemStack#getLore, add Component based alternatives 9889c651c apply fixup c310f0a61 Updated Upstream (Bukkit/CraftBukkit) f17560ab0 wtf is this t file -jmp 347f3a9b8 fix compile 700e9e6a5 rebase cf4dc464a Revert de5f4e469...c270abe96 6870db613 script & POM fix 743c6533c Replace ** with * (BSD/macOS) 376d7b097 Don't remove the .java fcb3fd42a Fix macOS/BSD support 8cfc05249 Link correctly ba1031ca7 Rename work dir c8d844ab7 Actually fix preloading this time e62aa5e3e Fix class preloading 1c03cf898 It's mojang math, not minecraft math 1034873df Apply fixups 39b125771 Use revision file 956150da7 Welcome to 1.16.5-R0.2 ccb217c01 Change cache keys 0d217001c more work f6d820f07 It compiles 0f78e9525 More work 1718f61bf Updated Upstream (CraftBukkit/Spigot) b28d46114 Update scripts for NMS repackaging d4532f7e7 bug #5373 - fix AsyncChatEvent not being posted when processing a legacy APCE continuation 522ae1c51 Replace all block states of a specified block (#5055) 1cda67118 [Auto] Updated Upstream (CraftBukkit) 8c74d3126 Updated Upstream (Bukkit) (#5359) fd3c66a91 bug #5362 - correctly pass "render type" when registering a new scoreboard objective Tuinity Changes: 9bdcb9b Delete work dir when running jar 6351d7c Updated Upstream (Paper) 932c199 Generate mc-dev correctly bf3e737 Make packet limiter work from IDE 1686f38 Fix packet limiter config f40f7b4 Update README.md styling (#264) da1c3ac GH Actions Changes (#213) 5f325ec Updated Upstream (Paper) 0f83fe4 Updated Upstream (Paper) 44e8e5d Do not load extra radius of chunks when loading a single chunk 31f9cae Revert custom table implementation for blockstate states 9ac33d1 Be aware of entity teleports when chunk checking entities 18c7f3f Always set impulse for projectiles to true, even if hit event failed Airplane Changes: f94d399 Merge pull request #18 from notOM3GA/upstream/nms-repackage 0fc6226 Force build for Flare update 08439d6 Updated Upstream (Tuinity) 0f80443 Updated Upstream (Tuinity) 2f6cbdc More debug for plugins not shutting down tasks 12e1b61 Updated Upstream (Tuinity) fc778d3 Update README.md db6b0eb Merge pull request #16 from DeadSteve51/patch-2 b23bee3 Remove debug 8157e98 Config style, flare style, disable tracker by def 98d0b58 Updates to README Purpur Changes: 75b07a0 Fix stack overflow on armorstand movement f754a7b Sneak to bulk process composter 1362f49 Updated Upstream (Paper, Tuinity, & Airplane) 5bf8615 [ci-skip] Conflict on change for adventure deprecations 114b37b Add purpur.yml to Flare (#204) c6dce38 forgot the crops c004236 Configurable ravager griefable blocks list 766246a [ci-skip] remove duplicate patch ac93477 Config to make Creepers explode on death (#201) 297181e Updated Upstream (Paper, Tuinity, & Airplane) 45b9a18 Config to disable Llama caravans (#203) a99a83b Allow fully disabling farmland trampling 3aa4f68 Tick fluids config 0e34d59 Add missing imports :/ 3dd9f46 Updated Upstream (Paper, Tuinity, & Airplane) Empirecraft Changes: 1b579407 Improve importmcdev script and fix first server patch f597a82e Update generatesources script 218f5298 Fix patches - imported files 847cf558 Updated Paper d51410c3 Updated Paper fb3301fd Fix bow entity ai speed/distance dbde1dc4 Add isJoined boolean to fake players a23317f7 Update Fake Player API - misc changes a970b77f Updated Paper * Updated Upstream and Sidestream(s) (Paper/Airplane/Purpur) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: 7259c32ba [CI-SKIP] [Auto] Rebuild Patches 0e06e912e Fix annotations so Inventory#getContents returns non-null array with nullable type (#5350) b90b4f8ad Properly apply Sign#isEditable to TEs when calling BlockState#update Airplane Changes: 87d4a17 Track queue debug command Purpur Changes: d44f93e Fix tpsbar with naughty plugins * Updated Upstream and Sidestream(s) (Purpur) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Purpur Changes: 99f1ce6 Add enchantment target for bows and crossbows af9181e Add configurable drowning settings (closes #221) (#222) f72437b Remove mcdevimports.* (#228) 08de42d Add config for infinity on crossbows (#215) 5f76cb3 Add a config for villager trading (#210) 67ffa05 Add config for disabling skipping the night (#209) * revert paper commit that made the build fail (CI still doesn't work) * Update build.yml * test2 * Update build.yml * take7 * how often does md_5 change mappings? this will come back to bite me in exactly 17 days * Revert "how often does md_5 change mappings?" This reverts commit 8b05c16d6cce156c7d8b57f5071a700b979206ef. * Updated Upstream and Sidestream(s) (Paper/Purpur) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: 6caa330c6 Add checkerframework nullness annotations to accepted list for AnnotationTest (#5409) Purpur Changes: 96f5360 Config to allow for unsafe enchants (#235) b6235af Rebase on latest Purpur (#230) 754948e Updated Upstream (Paper) f55c0e9 Option to make doors require redstone (closes #171) 34d5818 Fix paper using wrong annotations f31bcc6 Updated Upstream (Paper & Airplane) 55244dd Config to show Armor Stand arms on spawn (#231) c726479 Config to disable hostile mob spawn on ice `:)` (closes #214) (#229) 26a0094 Break individual slabs when sneaking (closes #218) c3de3ac Fix wart farmers plating vegetables on soul sand * Updated Upstream and Sidestream(s) (Tuinity/Purpur) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Tuinity Changes: 1b0d783 Updated Upstream (Paper) 2c16629 Fix NPE in NetworkManager#execute Purpur Changes: 0d25d39 Add cache for slime max health (resolves #234) 39dd78a Fix #240 - Separate slab breaking triggers every single time 1ecb9ef Projectile offsets config (#237) 33ee1e7 Configurable sponge absorption (closes #232) (#236) a0355eb Add Note Block to disabled block updates (#241) * Updated Upstream and Sidestream(s) (Paper) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: 8b47131da Optimize short circuit evaluation of sign check (#5348) 1a2fd12a5 Drop carried item when player has disconnected (#5036) (#5166) 68af93524 Use PaperAdventure.PLAIN instead of PlainComponentSerializer.plain() for AdventureComponent#getString (#5414) * Updated Upstream and Sidestream(s) (Tuinity/Purpur) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Tuinity Changes: 94f025a Updated Upstream (Paper) ab00f31 Do not load chunks around fake players a9599d8 Fix incorrect parsing of positive target-send-rate 2a6cd81 Make sure to remove correct TE during TE tick Purpur Changes: 9dfc780 Config for powered rail activation distance (#248) Co-authored-by: duplexsystem <duplexsys@protonmail.com>
2021-03-28 16:50:47 +02:00
diff --git a/src/main/java/net/minecraft/world/level/storage/WorldNBTStorage.java b/src/main/java/net/minecraft/world/level/storage/WorldNBTStorage.java
index d9c2c7a20953fc3bcdd07d70233ccf6e3748b14b..933b09169b2177f70412722264c0d5f129f3d93f 100644
--- a/src/main/java/net/minecraft/world/level/storage/WorldNBTStorage.java
+++ b/src/main/java/net/minecraft/world/level/storage/WorldNBTStorage.java
@@ -24,6 +24,11 @@ public class WorldNBTStorage {
private static final Logger LOGGER = LogManager.getLogger();
private final File playerDir;
protected final DataFixer a;
+ // Yatopia start - NBT Cache system
+ private final org.yatopiamc.yatopia.server.cache.NBTCache dataCache = new org.yatopiamc.yatopia.server.cache.NBTCache();
+ public final java.util.concurrent.ExecutorService executorService = java.util.concurrent.Executors.newSingleThreadExecutor(
+ new com.google.common.util.concurrent.ThreadFactoryBuilder().setDaemon(true).setPriority(Thread.NORM_PRIORITY - 1).build());
+ // Yatopia end
public WorldNBTStorage(Convertable.ConversionSession convertable_conversionsession, DataFixer datafixer) {
this.a = datafixer;
Updated Upstream and Sidestream(s) (Paper/Tuinity/Airplane/Purpur/Empirecraft) (#443) * Updated Upstream and Sidestream(s) (Paper/Tuinity/Airplane/Purpur/Empirecraft) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: 0641de2d4 [CI-SKIP] Change some fields to textara (#5405) 98a34ea47 [CI-SKIP] 🚀 Upgrade to new form-based templates (#5278) bca97a8f7 replace spaces in world key (touches #5397) de94f6485 Refactor chat message composition (#5396) e27f334bb [CI-SKIP] Fix makemcdevsrc.sh for nms relocations (#5389) ae15e85da Updated Upstream (CraftBukkit) 26fe0ac5a Only set despawnTimer for Wandering Traders spawned by MobSpawnerTrader (#5391) b748eb7b8 Fix VanillaMobGoalTest#testBukkitMap (#5390) 18dbbb578 [Auto] Updated Upstream (CraftBukkit) fac9cc5d5 [CI-SKIP] Ignore .gitignore 087aa70e7 Deprecate ItemStack#setLore(List<String>) and ItemStack#getLore, add Component based alternatives 9889c651c apply fixup c310f0a61 Updated Upstream (Bukkit/CraftBukkit) f17560ab0 wtf is this t file -jmp 347f3a9b8 fix compile 700e9e6a5 rebase cf4dc464a Revert de5f4e469...c270abe96 6870db613 script & POM fix 743c6533c Replace ** with * (BSD/macOS) 376d7b097 Don't remove the .java fcb3fd42a Fix macOS/BSD support 8cfc05249 Link correctly ba1031ca7 Rename work dir c8d844ab7 Actually fix preloading this time e62aa5e3e Fix class preloading 1c03cf898 It's mojang math, not minecraft math 1034873df Apply fixups 39b125771 Use revision file 956150da7 Welcome to 1.16.5-R0.2 ccb217c01 Change cache keys 0d217001c more work f6d820f07 It compiles 0f78e9525 More work 1718f61bf Updated Upstream (CraftBukkit/Spigot) b28d46114 Update scripts for NMS repackaging d4532f7e7 bug #5373 - fix AsyncChatEvent not being posted when processing a legacy APCE continuation 522ae1c51 Replace all block states of a specified block (#5055) 1cda67118 [Auto] Updated Upstream (CraftBukkit) 8c74d3126 Updated Upstream (Bukkit) (#5359) fd3c66a91 bug #5362 - correctly pass "render type" when registering a new scoreboard objective Tuinity Changes: 9bdcb9b Delete work dir when running jar 6351d7c Updated Upstream (Paper) 932c199 Generate mc-dev correctly bf3e737 Make packet limiter work from IDE 1686f38 Fix packet limiter config f40f7b4 Update README.md styling (#264) da1c3ac GH Actions Changes (#213) 5f325ec Updated Upstream (Paper) 0f83fe4 Updated Upstream (Paper) 44e8e5d Do not load extra radius of chunks when loading a single chunk 31f9cae Revert custom table implementation for blockstate states 9ac33d1 Be aware of entity teleports when chunk checking entities 18c7f3f Always set impulse for projectiles to true, even if hit event failed Airplane Changes: f94d399 Merge pull request #18 from notOM3GA/upstream/nms-repackage 0fc6226 Force build for Flare update 08439d6 Updated Upstream (Tuinity) 0f80443 Updated Upstream (Tuinity) 2f6cbdc More debug for plugins not shutting down tasks 12e1b61 Updated Upstream (Tuinity) fc778d3 Update README.md db6b0eb Merge pull request #16 from DeadSteve51/patch-2 b23bee3 Remove debug 8157e98 Config style, flare style, disable tracker by def 98d0b58 Updates to README Purpur Changes: 75b07a0 Fix stack overflow on armorstand movement f754a7b Sneak to bulk process composter 1362f49 Updated Upstream (Paper, Tuinity, & Airplane) 5bf8615 [ci-skip] Conflict on change for adventure deprecations 114b37b Add purpur.yml to Flare (#204) c6dce38 forgot the crops c004236 Configurable ravager griefable blocks list 766246a [ci-skip] remove duplicate patch ac93477 Config to make Creepers explode on death (#201) 297181e Updated Upstream (Paper, Tuinity, & Airplane) 45b9a18 Config to disable Llama caravans (#203) a99a83b Allow fully disabling farmland trampling 3aa4f68 Tick fluids config 0e34d59 Add missing imports :/ 3dd9f46 Updated Upstream (Paper, Tuinity, & Airplane) Empirecraft Changes: 1b579407 Improve importmcdev script and fix first server patch f597a82e Update generatesources script 218f5298 Fix patches - imported files 847cf558 Updated Paper d51410c3 Updated Paper fb3301fd Fix bow entity ai speed/distance dbde1dc4 Add isJoined boolean to fake players a23317f7 Update Fake Player API - misc changes a970b77f Updated Paper * Updated Upstream and Sidestream(s) (Paper/Airplane/Purpur) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: 7259c32ba [CI-SKIP] [Auto] Rebuild Patches 0e06e912e Fix annotations so Inventory#getContents returns non-null array with nullable type (#5350) b90b4f8ad Properly apply Sign#isEditable to TEs when calling BlockState#update Airplane Changes: 87d4a17 Track queue debug command Purpur Changes: d44f93e Fix tpsbar with naughty plugins * Updated Upstream and Sidestream(s) (Purpur) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Purpur Changes: 99f1ce6 Add enchantment target for bows and crossbows af9181e Add configurable drowning settings (closes #221) (#222) f72437b Remove mcdevimports.* (#228) 08de42d Add config for infinity on crossbows (#215) 5f76cb3 Add a config for villager trading (#210) 67ffa05 Add config for disabling skipping the night (#209) * revert paper commit that made the build fail (CI still doesn't work) * Update build.yml * test2 * Update build.yml * take7 * how often does md_5 change mappings? this will come back to bite me in exactly 17 days * Revert "how often does md_5 change mappings?" This reverts commit 8b05c16d6cce156c7d8b57f5071a700b979206ef. * Updated Upstream and Sidestream(s) (Paper/Purpur) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: 6caa330c6 Add checkerframework nullness annotations to accepted list for AnnotationTest (#5409) Purpur Changes: 96f5360 Config to allow for unsafe enchants (#235) b6235af Rebase on latest Purpur (#230) 754948e Updated Upstream (Paper) f55c0e9 Option to make doors require redstone (closes #171) 34d5818 Fix paper using wrong annotations f31bcc6 Updated Upstream (Paper & Airplane) 55244dd Config to show Armor Stand arms on spawn (#231) c726479 Config to disable hostile mob spawn on ice `:)` (closes #214) (#229) 26a0094 Break individual slabs when sneaking (closes #218) c3de3ac Fix wart farmers plating vegetables on soul sand * Updated Upstream and Sidestream(s) (Tuinity/Purpur) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Tuinity Changes: 1b0d783 Updated Upstream (Paper) 2c16629 Fix NPE in NetworkManager#execute Purpur Changes: 0d25d39 Add cache for slime max health (resolves #234) 39dd78a Fix #240 - Separate slab breaking triggers every single time 1ecb9ef Projectile offsets config (#237) 33ee1e7 Configurable sponge absorption (closes #232) (#236) a0355eb Add Note Block to disabled block updates (#241) * Updated Upstream and Sidestream(s) (Paper) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: 8b47131da Optimize short circuit evaluation of sign check (#5348) 1a2fd12a5 Drop carried item when player has disconnected (#5036) (#5166) 68af93524 Use PaperAdventure.PLAIN instead of PlainComponentSerializer.plain() for AdventureComponent#getString (#5414) * Updated Upstream and Sidestream(s) (Tuinity/Purpur) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Tuinity Changes: 94f025a Updated Upstream (Paper) ab00f31 Do not load chunks around fake players a9599d8 Fix incorrect parsing of positive target-send-rate 2a6cd81 Make sure to remove correct TE during TE tick Purpur Changes: 9dfc780 Config for powered rail activation distance (#248) Co-authored-by: duplexsystem <duplexsys@protonmail.com>
2021-03-28 16:50:47 +02:00
@@ -37,11 +42,22 @@ public class WorldNBTStorage {
NBTTagCompound nbttagcompound = entityhuman.save(new NBTTagCompound());
File file = File.createTempFile(entityhuman.getUniqueIDString() + "-", ".dat", this.playerDir);
- NBTCompressedStreamTools.a(nbttagcompound, file);
+ // NBTCompressedStreamTools.a(nbttagcompound, file); // Yatopia
+ // Yatopia start - NBT Cache system
+ Runnable task = () -> { try { NBTCompressedStreamTools.a(nbttagcompound, file);
File file1 = new File(this.playerDir, entityhuman.getUniqueIDString() + ".dat");
File file2 = new File(this.playerDir, entityhuman.getUniqueIDString() + ".dat_old");
SystemUtils.a(file1, file, file2);
+ } catch (Exception exception) {
+ WorldNBTStorage.LOGGER.error("Failed to save player data for {}", entityhuman.getName(), exception); // Paper
+ }
+ };
+ synchronized (this.dataCache){
+ this.dataCache.put(file, nbttagcompound);
+ }
+ this.executorService.execute(task);
+ // Yatopia end
} catch (Exception exception) {
WorldNBTStorage.LOGGER.error("Failed to save player data for {}", entityhuman.getName(), exception); // Paper
}
Updated Upstream and Sidestream(s) (Paper/Tuinity/Airplane/Purpur/Empirecraft) (#443) * Updated Upstream and Sidestream(s) (Paper/Tuinity/Airplane/Purpur/Empirecraft) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: 0641de2d4 [CI-SKIP] Change some fields to textara (#5405) 98a34ea47 [CI-SKIP] 🚀 Upgrade to new form-based templates (#5278) bca97a8f7 replace spaces in world key (touches #5397) de94f6485 Refactor chat message composition (#5396) e27f334bb [CI-SKIP] Fix makemcdevsrc.sh for nms relocations (#5389) ae15e85da Updated Upstream (CraftBukkit) 26fe0ac5a Only set despawnTimer for Wandering Traders spawned by MobSpawnerTrader (#5391) b748eb7b8 Fix VanillaMobGoalTest#testBukkitMap (#5390) 18dbbb578 [Auto] Updated Upstream (CraftBukkit) fac9cc5d5 [CI-SKIP] Ignore .gitignore 087aa70e7 Deprecate ItemStack#setLore(List<String>) and ItemStack#getLore, add Component based alternatives 9889c651c apply fixup c310f0a61 Updated Upstream (Bukkit/CraftBukkit) f17560ab0 wtf is this t file -jmp 347f3a9b8 fix compile 700e9e6a5 rebase cf4dc464a Revert de5f4e469...c270abe96 6870db613 script & POM fix 743c6533c Replace ** with * (BSD/macOS) 376d7b097 Don't remove the .java fcb3fd42a Fix macOS/BSD support 8cfc05249 Link correctly ba1031ca7 Rename work dir c8d844ab7 Actually fix preloading this time e62aa5e3e Fix class preloading 1c03cf898 It's mojang math, not minecraft math 1034873df Apply fixups 39b125771 Use revision file 956150da7 Welcome to 1.16.5-R0.2 ccb217c01 Change cache keys 0d217001c more work f6d820f07 It compiles 0f78e9525 More work 1718f61bf Updated Upstream (CraftBukkit/Spigot) b28d46114 Update scripts for NMS repackaging d4532f7e7 bug #5373 - fix AsyncChatEvent not being posted when processing a legacy APCE continuation 522ae1c51 Replace all block states of a specified block (#5055) 1cda67118 [Auto] Updated Upstream (CraftBukkit) 8c74d3126 Updated Upstream (Bukkit) (#5359) fd3c66a91 bug #5362 - correctly pass "render type" when registering a new scoreboard objective Tuinity Changes: 9bdcb9b Delete work dir when running jar 6351d7c Updated Upstream (Paper) 932c199 Generate mc-dev correctly bf3e737 Make packet limiter work from IDE 1686f38 Fix packet limiter config f40f7b4 Update README.md styling (#264) da1c3ac GH Actions Changes (#213) 5f325ec Updated Upstream (Paper) 0f83fe4 Updated Upstream (Paper) 44e8e5d Do not load extra radius of chunks when loading a single chunk 31f9cae Revert custom table implementation for blockstate states 9ac33d1 Be aware of entity teleports when chunk checking entities 18c7f3f Always set impulse for projectiles to true, even if hit event failed Airplane Changes: f94d399 Merge pull request #18 from notOM3GA/upstream/nms-repackage 0fc6226 Force build for Flare update 08439d6 Updated Upstream (Tuinity) 0f80443 Updated Upstream (Tuinity) 2f6cbdc More debug for plugins not shutting down tasks 12e1b61 Updated Upstream (Tuinity) fc778d3 Update README.md db6b0eb Merge pull request #16 from DeadSteve51/patch-2 b23bee3 Remove debug 8157e98 Config style, flare style, disable tracker by def 98d0b58 Updates to README Purpur Changes: 75b07a0 Fix stack overflow on armorstand movement f754a7b Sneak to bulk process composter 1362f49 Updated Upstream (Paper, Tuinity, & Airplane) 5bf8615 [ci-skip] Conflict on change for adventure deprecations 114b37b Add purpur.yml to Flare (#204) c6dce38 forgot the crops c004236 Configurable ravager griefable blocks list 766246a [ci-skip] remove duplicate patch ac93477 Config to make Creepers explode on death (#201) 297181e Updated Upstream (Paper, Tuinity, & Airplane) 45b9a18 Config to disable Llama caravans (#203) a99a83b Allow fully disabling farmland trampling 3aa4f68 Tick fluids config 0e34d59 Add missing imports :/ 3dd9f46 Updated Upstream (Paper, Tuinity, & Airplane) Empirecraft Changes: 1b579407 Improve importmcdev script and fix first server patch f597a82e Update generatesources script 218f5298 Fix patches - imported files 847cf558 Updated Paper d51410c3 Updated Paper fb3301fd Fix bow entity ai speed/distance dbde1dc4 Add isJoined boolean to fake players a23317f7 Update Fake Player API - misc changes a970b77f Updated Paper * Updated Upstream and Sidestream(s) (Paper/Airplane/Purpur) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: 7259c32ba [CI-SKIP] [Auto] Rebuild Patches 0e06e912e Fix annotations so Inventory#getContents returns non-null array with nullable type (#5350) b90b4f8ad Properly apply Sign#isEditable to TEs when calling BlockState#update Airplane Changes: 87d4a17 Track queue debug command Purpur Changes: d44f93e Fix tpsbar with naughty plugins * Updated Upstream and Sidestream(s) (Purpur) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Purpur Changes: 99f1ce6 Add enchantment target for bows and crossbows af9181e Add configurable drowning settings (closes #221) (#222) f72437b Remove mcdevimports.* (#228) 08de42d Add config for infinity on crossbows (#215) 5f76cb3 Add a config for villager trading (#210) 67ffa05 Add config for disabling skipping the night (#209) * revert paper commit that made the build fail (CI still doesn't work) * Update build.yml * test2 * Update build.yml * take7 * how often does md_5 change mappings? this will come back to bite me in exactly 17 days * Revert "how often does md_5 change mappings?" This reverts commit 8b05c16d6cce156c7d8b57f5071a700b979206ef. * Updated Upstream and Sidestream(s) (Paper/Purpur) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: 6caa330c6 Add checkerframework nullness annotations to accepted list for AnnotationTest (#5409) Purpur Changes: 96f5360 Config to allow for unsafe enchants (#235) b6235af Rebase on latest Purpur (#230) 754948e Updated Upstream (Paper) f55c0e9 Option to make doors require redstone (closes #171) 34d5818 Fix paper using wrong annotations f31bcc6 Updated Upstream (Paper & Airplane) 55244dd Config to show Armor Stand arms on spawn (#231) c726479 Config to disable hostile mob spawn on ice `:)` (closes #214) (#229) 26a0094 Break individual slabs when sneaking (closes #218) c3de3ac Fix wart farmers plating vegetables on soul sand * Updated Upstream and Sidestream(s) (Tuinity/Purpur) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Tuinity Changes: 1b0d783 Updated Upstream (Paper) 2c16629 Fix NPE in NetworkManager#execute Purpur Changes: 0d25d39 Add cache for slime max health (resolves #234) 39dd78a Fix #240 - Separate slab breaking triggers every single time 1ecb9ef Projectile offsets config (#237) 33ee1e7 Configurable sponge absorption (closes #232) (#236) a0355eb Add Note Block to disabled block updates (#241) * Updated Upstream and Sidestream(s) (Paper) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: 8b47131da Optimize short circuit evaluation of sign check (#5348) 1a2fd12a5 Drop carried item when player has disconnected (#5036) (#5166) 68af93524 Use PaperAdventure.PLAIN instead of PlainComponentSerializer.plain() for AdventureComponent#getString (#5414) * Updated Upstream and Sidestream(s) (Tuinity/Purpur) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Tuinity Changes: 94f025a Updated Upstream (Paper) ab00f31 Do not load chunks around fake players a9599d8 Fix incorrect parsing of positive target-send-rate 2a6cd81 Make sure to remove correct TE during TE tick Purpur Changes: 9dfc780 Config for powered rail activation distance (#248) Co-authored-by: duplexsystem <duplexsys@protonmail.com>
2021-03-28 16:50:47 +02:00
@@ -57,9 +73,18 @@ public class WorldNBTStorage {
// Spigot Start
boolean usingWrongFile = false;
boolean normalFile = file.exists() && file.isFile(); // Akarin - ensures normal file
- if ( org.bukkit.Bukkit.getOnlineMode() && !normalFile ) // Paper - Check online mode first // Akarin - ensures normal file
+ // if ( org.bukkit.Bukkit.getOnlineMode() && !normalFile ) // Paper - Check online mode first // Akarin - ensures normal file // Yatopia
+ // Yatopia start - NBT Cache system
+ NBTTagCompound playerData;
+ synchronized (this.dataCache){
+ playerData = this.dataCache.get(file);
+ }
+ if (playerData == null && org.bukkit.Bukkit.getOnlineMode() && !normalFile ) // Paper - Check online mode first // Akarin - ensures normal file
{
file = new File( this.playerDir, java.util.UUID.nameUUIDFromBytes( ( "OfflinePlayer:" + entityhuman.getName() ).getBytes( "UTF-8" ) ).toString() + ".dat");
+ synchronized (this.dataCache){
+ playerData = this.dataCache.get(file);
+ }
if ( file.exists() )
{
usingWrongFile = true;
Updated Upstream and Sidestream(s) (Paper/Tuinity/Airplane/Purpur/Empirecraft) (#443) * Updated Upstream and Sidestream(s) (Paper/Tuinity/Airplane/Purpur/Empirecraft) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: 0641de2d4 [CI-SKIP] Change some fields to textara (#5405) 98a34ea47 [CI-SKIP] 🚀 Upgrade to new form-based templates (#5278) bca97a8f7 replace spaces in world key (touches #5397) de94f6485 Refactor chat message composition (#5396) e27f334bb [CI-SKIP] Fix makemcdevsrc.sh for nms relocations (#5389) ae15e85da Updated Upstream (CraftBukkit) 26fe0ac5a Only set despawnTimer for Wandering Traders spawned by MobSpawnerTrader (#5391) b748eb7b8 Fix VanillaMobGoalTest#testBukkitMap (#5390) 18dbbb578 [Auto] Updated Upstream (CraftBukkit) fac9cc5d5 [CI-SKIP] Ignore .gitignore 087aa70e7 Deprecate ItemStack#setLore(List<String>) and ItemStack#getLore, add Component based alternatives 9889c651c apply fixup c310f0a61 Updated Upstream (Bukkit/CraftBukkit) f17560ab0 wtf is this t file -jmp 347f3a9b8 fix compile 700e9e6a5 rebase cf4dc464a Revert de5f4e469...c270abe96 6870db613 script & POM fix 743c6533c Replace ** with * (BSD/macOS) 376d7b097 Don't remove the .java fcb3fd42a Fix macOS/BSD support 8cfc05249 Link correctly ba1031ca7 Rename work dir c8d844ab7 Actually fix preloading this time e62aa5e3e Fix class preloading 1c03cf898 It's mojang math, not minecraft math 1034873df Apply fixups 39b125771 Use revision file 956150da7 Welcome to 1.16.5-R0.2 ccb217c01 Change cache keys 0d217001c more work f6d820f07 It compiles 0f78e9525 More work 1718f61bf Updated Upstream (CraftBukkit/Spigot) b28d46114 Update scripts for NMS repackaging d4532f7e7 bug #5373 - fix AsyncChatEvent not being posted when processing a legacy APCE continuation 522ae1c51 Replace all block states of a specified block (#5055) 1cda67118 [Auto] Updated Upstream (CraftBukkit) 8c74d3126 Updated Upstream (Bukkit) (#5359) fd3c66a91 bug #5362 - correctly pass "render type" when registering a new scoreboard objective Tuinity Changes: 9bdcb9b Delete work dir when running jar 6351d7c Updated Upstream (Paper) 932c199 Generate mc-dev correctly bf3e737 Make packet limiter work from IDE 1686f38 Fix packet limiter config f40f7b4 Update README.md styling (#264) da1c3ac GH Actions Changes (#213) 5f325ec Updated Upstream (Paper) 0f83fe4 Updated Upstream (Paper) 44e8e5d Do not load extra radius of chunks when loading a single chunk 31f9cae Revert custom table implementation for blockstate states 9ac33d1 Be aware of entity teleports when chunk checking entities 18c7f3f Always set impulse for projectiles to true, even if hit event failed Airplane Changes: f94d399 Merge pull request #18 from notOM3GA/upstream/nms-repackage 0fc6226 Force build for Flare update 08439d6 Updated Upstream (Tuinity) 0f80443 Updated Upstream (Tuinity) 2f6cbdc More debug for plugins not shutting down tasks 12e1b61 Updated Upstream (Tuinity) fc778d3 Update README.md db6b0eb Merge pull request #16 from DeadSteve51/patch-2 b23bee3 Remove debug 8157e98 Config style, flare style, disable tracker by def 98d0b58 Updates to README Purpur Changes: 75b07a0 Fix stack overflow on armorstand movement f754a7b Sneak to bulk process composter 1362f49 Updated Upstream (Paper, Tuinity, & Airplane) 5bf8615 [ci-skip] Conflict on change for adventure deprecations 114b37b Add purpur.yml to Flare (#204) c6dce38 forgot the crops c004236 Configurable ravager griefable blocks list 766246a [ci-skip] remove duplicate patch ac93477 Config to make Creepers explode on death (#201) 297181e Updated Upstream (Paper, Tuinity, & Airplane) 45b9a18 Config to disable Llama caravans (#203) a99a83b Allow fully disabling farmland trampling 3aa4f68 Tick fluids config 0e34d59 Add missing imports :/ 3dd9f46 Updated Upstream (Paper, Tuinity, & Airplane) Empirecraft Changes: 1b579407 Improve importmcdev script and fix first server patch f597a82e Update generatesources script 218f5298 Fix patches - imported files 847cf558 Updated Paper d51410c3 Updated Paper fb3301fd Fix bow entity ai speed/distance dbde1dc4 Add isJoined boolean to fake players a23317f7 Update Fake Player API - misc changes a970b77f Updated Paper * Updated Upstream and Sidestream(s) (Paper/Airplane/Purpur) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: 7259c32ba [CI-SKIP] [Auto] Rebuild Patches 0e06e912e Fix annotations so Inventory#getContents returns non-null array with nullable type (#5350) b90b4f8ad Properly apply Sign#isEditable to TEs when calling BlockState#update Airplane Changes: 87d4a17 Track queue debug command Purpur Changes: d44f93e Fix tpsbar with naughty plugins * Updated Upstream and Sidestream(s) (Purpur) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Purpur Changes: 99f1ce6 Add enchantment target for bows and crossbows af9181e Add configurable drowning settings (closes #221) (#222) f72437b Remove mcdevimports.* (#228) 08de42d Add config for infinity on crossbows (#215) 5f76cb3 Add a config for villager trading (#210) 67ffa05 Add config for disabling skipping the night (#209) * revert paper commit that made the build fail (CI still doesn't work) * Update build.yml * test2 * Update build.yml * take7 * how often does md_5 change mappings? this will come back to bite me in exactly 17 days * Revert "how often does md_5 change mappings?" This reverts commit 8b05c16d6cce156c7d8b57f5071a700b979206ef. * Updated Upstream and Sidestream(s) (Paper/Purpur) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: 6caa330c6 Add checkerframework nullness annotations to accepted list for AnnotationTest (#5409) Purpur Changes: 96f5360 Config to allow for unsafe enchants (#235) b6235af Rebase on latest Purpur (#230) 754948e Updated Upstream (Paper) f55c0e9 Option to make doors require redstone (closes #171) 34d5818 Fix paper using wrong annotations f31bcc6 Updated Upstream (Paper & Airplane) 55244dd Config to show Armor Stand arms on spawn (#231) c726479 Config to disable hostile mob spawn on ice `:)` (closes #214) (#229) 26a0094 Break individual slabs when sneaking (closes #218) c3de3ac Fix wart farmers plating vegetables on soul sand * Updated Upstream and Sidestream(s) (Tuinity/Purpur) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Tuinity Changes: 1b0d783 Updated Upstream (Paper) 2c16629 Fix NPE in NetworkManager#execute Purpur Changes: 0d25d39 Add cache for slime max health (resolves #234) 39dd78a Fix #240 - Separate slab breaking triggers every single time 1ecb9ef Projectile offsets config (#237) 33ee1e7 Configurable sponge absorption (closes #232) (#236) a0355eb Add Note Block to disabled block updates (#241) * Updated Upstream and Sidestream(s) (Paper) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: 8b47131da Optimize short circuit evaluation of sign check (#5348) 1a2fd12a5 Drop carried item when player has disconnected (#5036) (#5166) 68af93524 Use PaperAdventure.PLAIN instead of PlainComponentSerializer.plain() for AdventureComponent#getString (#5414) * Updated Upstream and Sidestream(s) (Tuinity/Purpur) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Tuinity Changes: 94f025a Updated Upstream (Paper) ab00f31 Do not load chunks around fake players a9599d8 Fix incorrect parsing of positive target-send-rate 2a6cd81 Make sure to remove correct TE during TE tick Purpur Changes: 9dfc780 Config for powered rail activation distance (#248) Co-authored-by: duplexsystem <duplexsys@protonmail.com>
2021-03-28 16:50:47 +02:00
@@ -67,10 +92,13 @@ public class WorldNBTStorage {
}
}
// Spigot End
-
- if (normalFile) { // Akarin - avoid double I/O operation
+ // if (normalFile) { // Akarin - avoid double I/O operation // Yatopia
+ if (playerData != null) {
+ nbttagcompound = playerData;
+ } else if (normalFile) { // Akarin - avoid double I/O operation
nbttagcompound = NBTCompressedStreamTools.a(file);
}
+ // Yatopia end
// Spigot Start
if ( usingWrongFile )
{
diff --git a/src/main/java/org/yatopiamc/yatopia/server/cache/NBTCache.java b/src/main/java/org/yatopiamc/yatopia/server/cache/NBTCache.java
new file mode 100644
Updated Upstream and Sidestream(s) (Paper/Tuinity/Airplane/Purpur/Empirecraft) (#443) * Updated Upstream and Sidestream(s) (Paper/Tuinity/Airplane/Purpur/Empirecraft) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: 0641de2d4 [CI-SKIP] Change some fields to textara (#5405) 98a34ea47 [CI-SKIP] 🚀 Upgrade to new form-based templates (#5278) bca97a8f7 replace spaces in world key (touches #5397) de94f6485 Refactor chat message composition (#5396) e27f334bb [CI-SKIP] Fix makemcdevsrc.sh for nms relocations (#5389) ae15e85da Updated Upstream (CraftBukkit) 26fe0ac5a Only set despawnTimer for Wandering Traders spawned by MobSpawnerTrader (#5391) b748eb7b8 Fix VanillaMobGoalTest#testBukkitMap (#5390) 18dbbb578 [Auto] Updated Upstream (CraftBukkit) fac9cc5d5 [CI-SKIP] Ignore .gitignore 087aa70e7 Deprecate ItemStack#setLore(List<String>) and ItemStack#getLore, add Component based alternatives 9889c651c apply fixup c310f0a61 Updated Upstream (Bukkit/CraftBukkit) f17560ab0 wtf is this t file -jmp 347f3a9b8 fix compile 700e9e6a5 rebase cf4dc464a Revert de5f4e469...c270abe96 6870db613 script & POM fix 743c6533c Replace ** with * (BSD/macOS) 376d7b097 Don't remove the .java fcb3fd42a Fix macOS/BSD support 8cfc05249 Link correctly ba1031ca7 Rename work dir c8d844ab7 Actually fix preloading this time e62aa5e3e Fix class preloading 1c03cf898 It's mojang math, not minecraft math 1034873df Apply fixups 39b125771 Use revision file 956150da7 Welcome to 1.16.5-R0.2 ccb217c01 Change cache keys 0d217001c more work f6d820f07 It compiles 0f78e9525 More work 1718f61bf Updated Upstream (CraftBukkit/Spigot) b28d46114 Update scripts for NMS repackaging d4532f7e7 bug #5373 - fix AsyncChatEvent not being posted when processing a legacy APCE continuation 522ae1c51 Replace all block states of a specified block (#5055) 1cda67118 [Auto] Updated Upstream (CraftBukkit) 8c74d3126 Updated Upstream (Bukkit) (#5359) fd3c66a91 bug #5362 - correctly pass "render type" when registering a new scoreboard objective Tuinity Changes: 9bdcb9b Delete work dir when running jar 6351d7c Updated Upstream (Paper) 932c199 Generate mc-dev correctly bf3e737 Make packet limiter work from IDE 1686f38 Fix packet limiter config f40f7b4 Update README.md styling (#264) da1c3ac GH Actions Changes (#213) 5f325ec Updated Upstream (Paper) 0f83fe4 Updated Upstream (Paper) 44e8e5d Do not load extra radius of chunks when loading a single chunk 31f9cae Revert custom table implementation for blockstate states 9ac33d1 Be aware of entity teleports when chunk checking entities 18c7f3f Always set impulse for projectiles to true, even if hit event failed Airplane Changes: f94d399 Merge pull request #18 from notOM3GA/upstream/nms-repackage 0fc6226 Force build for Flare update 08439d6 Updated Upstream (Tuinity) 0f80443 Updated Upstream (Tuinity) 2f6cbdc More debug for plugins not shutting down tasks 12e1b61 Updated Upstream (Tuinity) fc778d3 Update README.md db6b0eb Merge pull request #16 from DeadSteve51/patch-2 b23bee3 Remove debug 8157e98 Config style, flare style, disable tracker by def 98d0b58 Updates to README Purpur Changes: 75b07a0 Fix stack overflow on armorstand movement f754a7b Sneak to bulk process composter 1362f49 Updated Upstream (Paper, Tuinity, & Airplane) 5bf8615 [ci-skip] Conflict on change for adventure deprecations 114b37b Add purpur.yml to Flare (#204) c6dce38 forgot the crops c004236 Configurable ravager griefable blocks list 766246a [ci-skip] remove duplicate patch ac93477 Config to make Creepers explode on death (#201) 297181e Updated Upstream (Paper, Tuinity, & Airplane) 45b9a18 Config to disable Llama caravans (#203) a99a83b Allow fully disabling farmland trampling 3aa4f68 Tick fluids config 0e34d59 Add missing imports :/ 3dd9f46 Updated Upstream (Paper, Tuinity, & Airplane) Empirecraft Changes: 1b579407 Improve importmcdev script and fix first server patch f597a82e Update generatesources script 218f5298 Fix patches - imported files 847cf558 Updated Paper d51410c3 Updated Paper fb3301fd Fix bow entity ai speed/distance dbde1dc4 Add isJoined boolean to fake players a23317f7 Update Fake Player API - misc changes a970b77f Updated Paper * Updated Upstream and Sidestream(s) (Paper/Airplane/Purpur) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: 7259c32ba [CI-SKIP] [Auto] Rebuild Patches 0e06e912e Fix annotations so Inventory#getContents returns non-null array with nullable type (#5350) b90b4f8ad Properly apply Sign#isEditable to TEs when calling BlockState#update Airplane Changes: 87d4a17 Track queue debug command Purpur Changes: d44f93e Fix tpsbar with naughty plugins * Updated Upstream and Sidestream(s) (Purpur) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Purpur Changes: 99f1ce6 Add enchantment target for bows and crossbows af9181e Add configurable drowning settings (closes #221) (#222) f72437b Remove mcdevimports.* (#228) 08de42d Add config for infinity on crossbows (#215) 5f76cb3 Add a config for villager trading (#210) 67ffa05 Add config for disabling skipping the night (#209) * revert paper commit that made the build fail (CI still doesn't work) * Update build.yml * test2 * Update build.yml * take7 * how often does md_5 change mappings? this will come back to bite me in exactly 17 days * Revert "how often does md_5 change mappings?" This reverts commit 8b05c16d6cce156c7d8b57f5071a700b979206ef. * Updated Upstream and Sidestream(s) (Paper/Purpur) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: 6caa330c6 Add checkerframework nullness annotations to accepted list for AnnotationTest (#5409) Purpur Changes: 96f5360 Config to allow for unsafe enchants (#235) b6235af Rebase on latest Purpur (#230) 754948e Updated Upstream (Paper) f55c0e9 Option to make doors require redstone (closes #171) 34d5818 Fix paper using wrong annotations f31bcc6 Updated Upstream (Paper & Airplane) 55244dd Config to show Armor Stand arms on spawn (#231) c726479 Config to disable hostile mob spawn on ice `:)` (closes #214) (#229) 26a0094 Break individual slabs when sneaking (closes #218) c3de3ac Fix wart farmers plating vegetables on soul sand * Updated Upstream and Sidestream(s) (Tuinity/Purpur) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Tuinity Changes: 1b0d783 Updated Upstream (Paper) 2c16629 Fix NPE in NetworkManager#execute Purpur Changes: 0d25d39 Add cache for slime max health (resolves #234) 39dd78a Fix #240 - Separate slab breaking triggers every single time 1ecb9ef Projectile offsets config (#237) 33ee1e7 Configurable sponge absorption (closes #232) (#236) a0355eb Add Note Block to disabled block updates (#241) * Updated Upstream and Sidestream(s) (Paper) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: 8b47131da Optimize short circuit evaluation of sign check (#5348) 1a2fd12a5 Drop carried item when player has disconnected (#5036) (#5166) 68af93524 Use PaperAdventure.PLAIN instead of PlainComponentSerializer.plain() for AdventureComponent#getString (#5414) * Updated Upstream and Sidestream(s) (Tuinity/Purpur) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Tuinity Changes: 94f025a Updated Upstream (Paper) ab00f31 Do not load chunks around fake players a9599d8 Fix incorrect parsing of positive target-send-rate 2a6cd81 Make sure to remove correct TE during TE tick Purpur Changes: 9dfc780 Config for powered rail activation distance (#248) Co-authored-by: duplexsystem <duplexsys@protonmail.com>
2021-03-28 16:50:47 +02:00
index 0000000000000000000000000000000000000000..d739a71c91b54d156f6e1d8487add372a06d5939
--- /dev/null
+++ b/src/main/java/org/yatopiamc/yatopia/server/cache/NBTCache.java
@@ -0,0 +1,32 @@
+package org.yatopiamc.yatopia.server.cache;
+
+import it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap;
+import net.minecraft.server.MinecraftServer;
Updated Upstream and Sidestream(s) (Paper/Tuinity/Airplane/Purpur/Empirecraft) (#443) * Updated Upstream and Sidestream(s) (Paper/Tuinity/Airplane/Purpur/Empirecraft) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: 0641de2d4 [CI-SKIP] Change some fields to textara (#5405) 98a34ea47 [CI-SKIP] 🚀 Upgrade to new form-based templates (#5278) bca97a8f7 replace spaces in world key (touches #5397) de94f6485 Refactor chat message composition (#5396) e27f334bb [CI-SKIP] Fix makemcdevsrc.sh for nms relocations (#5389) ae15e85da Updated Upstream (CraftBukkit) 26fe0ac5a Only set despawnTimer for Wandering Traders spawned by MobSpawnerTrader (#5391) b748eb7b8 Fix VanillaMobGoalTest#testBukkitMap (#5390) 18dbbb578 [Auto] Updated Upstream (CraftBukkit) fac9cc5d5 [CI-SKIP] Ignore .gitignore 087aa70e7 Deprecate ItemStack#setLore(List<String>) and ItemStack#getLore, add Component based alternatives 9889c651c apply fixup c310f0a61 Updated Upstream (Bukkit/CraftBukkit) f17560ab0 wtf is this t file -jmp 347f3a9b8 fix compile 700e9e6a5 rebase cf4dc464a Revert de5f4e469...c270abe96 6870db613 script & POM fix 743c6533c Replace ** with * (BSD/macOS) 376d7b097 Don't remove the .java fcb3fd42a Fix macOS/BSD support 8cfc05249 Link correctly ba1031ca7 Rename work dir c8d844ab7 Actually fix preloading this time e62aa5e3e Fix class preloading 1c03cf898 It's mojang math, not minecraft math 1034873df Apply fixups 39b125771 Use revision file 956150da7 Welcome to 1.16.5-R0.2 ccb217c01 Change cache keys 0d217001c more work f6d820f07 It compiles 0f78e9525 More work 1718f61bf Updated Upstream (CraftBukkit/Spigot) b28d46114 Update scripts for NMS repackaging d4532f7e7 bug #5373 - fix AsyncChatEvent not being posted when processing a legacy APCE continuation 522ae1c51 Replace all block states of a specified block (#5055) 1cda67118 [Auto] Updated Upstream (CraftBukkit) 8c74d3126 Updated Upstream (Bukkit) (#5359) fd3c66a91 bug #5362 - correctly pass "render type" when registering a new scoreboard objective Tuinity Changes: 9bdcb9b Delete work dir when running jar 6351d7c Updated Upstream (Paper) 932c199 Generate mc-dev correctly bf3e737 Make packet limiter work from IDE 1686f38 Fix packet limiter config f40f7b4 Update README.md styling (#264) da1c3ac GH Actions Changes (#213) 5f325ec Updated Upstream (Paper) 0f83fe4 Updated Upstream (Paper) 44e8e5d Do not load extra radius of chunks when loading a single chunk 31f9cae Revert custom table implementation for blockstate states 9ac33d1 Be aware of entity teleports when chunk checking entities 18c7f3f Always set impulse for projectiles to true, even if hit event failed Airplane Changes: f94d399 Merge pull request #18 from notOM3GA/upstream/nms-repackage 0fc6226 Force build for Flare update 08439d6 Updated Upstream (Tuinity) 0f80443 Updated Upstream (Tuinity) 2f6cbdc More debug for plugins not shutting down tasks 12e1b61 Updated Upstream (Tuinity) fc778d3 Update README.md db6b0eb Merge pull request #16 from DeadSteve51/patch-2 b23bee3 Remove debug 8157e98 Config style, flare style, disable tracker by def 98d0b58 Updates to README Purpur Changes: 75b07a0 Fix stack overflow on armorstand movement f754a7b Sneak to bulk process composter 1362f49 Updated Upstream (Paper, Tuinity, & Airplane) 5bf8615 [ci-skip] Conflict on change for adventure deprecations 114b37b Add purpur.yml to Flare (#204) c6dce38 forgot the crops c004236 Configurable ravager griefable blocks list 766246a [ci-skip] remove duplicate patch ac93477 Config to make Creepers explode on death (#201) 297181e Updated Upstream (Paper, Tuinity, & Airplane) 45b9a18 Config to disable Llama caravans (#203) a99a83b Allow fully disabling farmland trampling 3aa4f68 Tick fluids config 0e34d59 Add missing imports :/ 3dd9f46 Updated Upstream (Paper, Tuinity, & Airplane) Empirecraft Changes: 1b579407 Improve importmcdev script and fix first server patch f597a82e Update generatesources script 218f5298 Fix patches - imported files 847cf558 Updated Paper d51410c3 Updated Paper fb3301fd Fix bow entity ai speed/distance dbde1dc4 Add isJoined boolean to fake players a23317f7 Update Fake Player API - misc changes a970b77f Updated Paper * Updated Upstream and Sidestream(s) (Paper/Airplane/Purpur) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: 7259c32ba [CI-SKIP] [Auto] Rebuild Patches 0e06e912e Fix annotations so Inventory#getContents returns non-null array with nullable type (#5350) b90b4f8ad Properly apply Sign#isEditable to TEs when calling BlockState#update Airplane Changes: 87d4a17 Track queue debug command Purpur Changes: d44f93e Fix tpsbar with naughty plugins * Updated Upstream and Sidestream(s) (Purpur) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Purpur Changes: 99f1ce6 Add enchantment target for bows and crossbows af9181e Add configurable drowning settings (closes #221) (#222) f72437b Remove mcdevimports.* (#228) 08de42d Add config for infinity on crossbows (#215) 5f76cb3 Add a config for villager trading (#210) 67ffa05 Add config for disabling skipping the night (#209) * revert paper commit that made the build fail (CI still doesn't work) * Update build.yml * test2 * Update build.yml * take7 * how often does md_5 change mappings? this will come back to bite me in exactly 17 days * Revert "how often does md_5 change mappings?" This reverts commit 8b05c16d6cce156c7d8b57f5071a700b979206ef. * Updated Upstream and Sidestream(s) (Paper/Purpur) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: 6caa330c6 Add checkerframework nullness annotations to accepted list for AnnotationTest (#5409) Purpur Changes: 96f5360 Config to allow for unsafe enchants (#235) b6235af Rebase on latest Purpur (#230) 754948e Updated Upstream (Paper) f55c0e9 Option to make doors require redstone (closes #171) 34d5818 Fix paper using wrong annotations f31bcc6 Updated Upstream (Paper & Airplane) 55244dd Config to show Armor Stand arms on spawn (#231) c726479 Config to disable hostile mob spawn on ice `:)` (closes #214) (#229) 26a0094 Break individual slabs when sneaking (closes #218) c3de3ac Fix wart farmers plating vegetables on soul sand * Updated Upstream and Sidestream(s) (Tuinity/Purpur) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Tuinity Changes: 1b0d783 Updated Upstream (Paper) 2c16629 Fix NPE in NetworkManager#execute Purpur Changes: 0d25d39 Add cache for slime max health (resolves #234) 39dd78a Fix #240 - Separate slab breaking triggers every single time 1ecb9ef Projectile offsets config (#237) 33ee1e7 Configurable sponge absorption (closes #232) (#236) a0355eb Add Note Block to disabled block updates (#241) * Updated Upstream and Sidestream(s) (Paper) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: 8b47131da Optimize short circuit evaluation of sign check (#5348) 1a2fd12a5 Drop carried item when player has disconnected (#5036) (#5166) 68af93524 Use PaperAdventure.PLAIN instead of PlainComponentSerializer.plain() for AdventureComponent#getString (#5414) * Updated Upstream and Sidestream(s) (Tuinity/Purpur) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Tuinity Changes: 94f025a Updated Upstream (Paper) ab00f31 Do not load chunks around fake players a9599d8 Fix incorrect parsing of positive target-send-rate 2a6cd81 Make sure to remove correct TE during TE tick Purpur Changes: 9dfc780 Config for powered rail activation distance (#248) Co-authored-by: duplexsystem <duplexsys@protonmail.com>
2021-03-28 16:50:47 +02:00
+import net.minecraft.nbt.NBTTagCompound;
+
+import java.io.File;
+
+public class NBTCache extends Object2ObjectLinkedOpenCustomHashMap<File, NBTTagCompound> {
+
+ public NBTCache() {
+ super(100, 0.75F, new Strategy<File>() {
+ @Override
+ public int hashCode(File k) {
+ return k.hashCode();
+ }
+
+ @Override
+ public boolean equals(File k, File k1) {
+ return k.equals(k1);
+ }
+ });
+ }
+
+ @Override
+ public NBTTagCompound put(File k, NBTTagCompound v) {
+ if (this.size() > MinecraftServer.getServer().getPlayerCount()) {
+ this.removeLast();
+ }
+ return super.putAndMoveToFirst(k, v);
+ }
+}