{"push_id":1216933493,"size":21,"distinct_size":1,"ref":"refs/heads/bleeding","head":"8a36a6a853eb4bb496d15487ade37ade9c0d6259","before":"6252c86def295f11e712500761019af39545565a","commits":[{"sha":"ba034ffbe99e76f98dd330d193c9e66528f6d21b","author":{"name":"bloodshot","email":"a19d24f87b1e7897eadd69864fc3dd98c5e4f725@gmail.com"},"message":"Delay chunk unloads based on player movement.\n\nThis is based on Aikar's Paper commit :\n\nPaperMC/Paper@0aa71fbf418cd903eff62350c877b99e58b1ca0b","distinct":false,"url":"https://api.github.com/repos/SpongePowered/SpongeCommon/commits/ba034ffbe99e76f98dd330d193c9e66528f6d21b"},{"sha":"7245f0a89ad57d8b531d4c314095894bab391cd9","author":{"name":"Aaron Hill","email":"ad45c3d0e2b78c81acf2c46135bb863c886be0b2@gmail.com"},"message":"Fix bug in calculating first available slot","distinct":false,"url":"https://api.github.com/repos/SpongePowered/SpongeCommon/commits/7245f0a89ad57d8b531d4c314095894bab391cd9"},{"sha":"a171a45519c2c277c0dd1d3f92bb33851a91b873","author":{"name":"bloodshot","email":"a19d24f87b1e7897eadd69864fc3dd98c5e4f725@gmail.com"},"message":"Only run block collision logic when needed.\n\nWhen a block is constructed, a check will be performed to determine if the\nblock overrides onEntityCollidedWithBlock. If no override is found, the\nblock will not run collision logic nor fire events. This should improve\nperformance greatly for blocks that have no collision logic such as grass.","distinct":false,"url":"https://api.github.com/repos/SpongePowered/SpongeCommon/commits/a171a45519c2c277c0dd1d3f92bb33851a91b873"},{"sha":"1d8e6c8e1f5fc4f45cb16ec76c2eb1b4d61d61fa","author":{"name":"bloodshot","email":"a19d24f87b1e7897eadd69864fc3dd98c5e4f725@gmail.com"},"message":"Fix block collision optimization not working in production.\n\n* Add block event optimizations for onNeighborBlockChange and onBlockAdded.","distinct":false,"url":"https://api.github.com/repos/SpongePowered/SpongeCommon/commits/1d8e6c8e1f5fc4f45cb16ec76c2eb1b4d61d61fa"},{"sha":"5a528c82918a7fbea42c093e64ef4afbac57cb9a","author":{"name":"bloodshot","email":"a19d24f87b1e7897eadd69864fc3dd98c5e4f725@gmail.com"},"message":"Fix compile issue with previous commit.","distinct":false,"url":"https://api.github.com/repos/SpongePowered/SpongeCommon/commits/5a528c82918a7fbea42c093e64ef4afbac57cb9a"},{"sha":"9943a3b9e2b70cea19004209160210a4405b3446","author":{"name":"bloodshot","email":"a19d24f87b1e7897eadd69864fc3dd98c5e4f725@gmail.com"},"message":"Disable onBlockAdded logic check.\n\nThis was breaking water placement so it will be disabled until it can be\ntested further.","distinct":false,"url":"https://api.github.com/repos/SpongePowered/SpongeCommon/commits/9943a3b9e2b70cea19004209160210a4405b3446"},{"sha":"ce4336135c0df2f46acd73da81d2ffba51fc4480","author":{"name":"bloodshot","email":"a19d24f87b1e7897eadd69864fc3dd98c5e4f725@gmail.com"},"message":"Remove onBlockAdded and onNeighborBlockChange optimizations for now.\n\nBoth need to be tested further to avoid breaking many things =).","distinct":false,"url":"https://api.github.com/repos/SpongePowered/SpongeCommon/commits/ce4336135c0df2f46acd73da81d2ffba51fc4480"},{"sha":"b027c1cfaf8286050a0450fb4c2d6eabaf25e949","author":{"name":"Aaron Hill","email":"ad45c3d0e2b78c81acf2c46135bb863c886be0b2@gmail.com"},"message":"Improve performance of user profile lookups","distinct":false,"url":"https://api.github.com/repos/SpongePowered/SpongeCommon/commits/b027c1cfaf8286050a0450fb4c2d6eabaf25e949"},{"sha":"9be3729671bbbc5e30f8867030aeabbd82611a4f","author":{"name":"bloodshot","email":"a19d24f87b1e7897eadd69864fc3dd98c5e4f725@gmail.com"},"message":"Add last known username cache that never expires.\n\nFor tracking purposes, we generally only care about the last known\nusername when constructing a User to pass to events. This is the main\nreason why we don't just use vanilla's cache since it expires by default\nevery 30 days. Depending on the amount of user cache being expired, it had\nthe potential to cause a big performance hit during refreshes.\n\nNote: The SpongeUsernameCache is used to support both SpongeForge and\nSpongeVanilla. As it is a shadow of Forge's version, you can find the\noriginal code here :\n\nhttps://github.com/MinecraftForge/MinecraftForge/blob/1.8.9/src/main/java/net/minecraftforge/common/UsernameCache.java\n\nThe only change we make is injecting into vanilla's PlayerProfileCache so\nanything being added to vanilla's cache is also added to the username\ncache.","distinct":false,"url":"https://api.github.com/repos/SpongePowered/SpongeCommon/commits/9be3729671bbbc5e30f8867030aeabbd82611a4f"},{"sha":"29f07629374dade6ef9047792b56f97d735007b1","author":{"name":"bloodshot","email":"a19d24f87b1e7897eadd69864fc3dd98c5e4f725@gmail.com"},"message":"Don't attempt a user lookup if pool is empty.","distinct":false,"url":"https://api.github.com/repos/SpongePowered/SpongeCommon/commits/29f07629374dade6ef9047792b56f97d735007b1"},{"sha":"33bd4c72ec4d5798daf5cc19f8da9e385370e229","author":{"name":"bloodshot","email":"a19d24f87b1e7897eadd69864fc3dd98c5e4f725@gmail.com"},"message":"Fix username cache not loading properly.","distinct":false,"url":"https://api.github.com/repos/SpongePowered/SpongeCommon/commits/33bd4c72ec4d5798daf5cc19f8da9e385370e229"},{"sha":"bcd48abe76bcf059ca5220c705cb635618edf665","author":{"name":"bloodshot","email":"a19d24f87b1e7897eadd69864fc3dd98c5e4f725@gmail.com"},"message":"Remove combined totals from timings.","distinct":false,"url":"https://api.github.com/repos/SpongePowered/SpongeCommon/commits/bcd48abe76bcf059ca5220c705cb635618edf665"},{"sha":"f31f0afde804f011e7f31fd5e3eae6925d79a18c","author":{"name":"bloodshot","email":"a19d24f87b1e7897eadd69864fc3dd98c5e4f725@gmail.com"},"message":"Optimize tileentity ticking.\n\nThis commit is based on Paper's patch which can be found here :\n\nhttps://github.com/PaperMC/Paper/blob/master/Spigot-Server-Patches/0022-Optimize-TileEntity-Ticking.patch","distinct":false,"url":"https://api.github.com/repos/SpongePowered/SpongeCommon/commits/f31f0afde804f011e7f31fd5e3eae6925d79a18c"},{"sha":"13f0bc2ea73943152aed38d944a32786f341b65b","author":{"name":"bloodshot","email":"a19d24f87b1e7897eadd69864fc3dd98c5e4f725@gmail.com"},"message":"Fix duplicate user lookups in GameProfileManager.","distinct":false,"url":"https://api.github.com/repos/SpongePowered/SpongeCommon/commits/13f0bc2ea73943152aed38d944a32786f341b65b"},{"sha":"98c8eb352f6d34f82a859c71ef12681a40ae852a","author":{"name":"bloodshot","email":"a19d24f87b1e7897eadd69864fc3dd98c5e4f725@gmail.com"},"message":"Add GameProfileQueryTask to handle uuid lookups for tracking.\n\nAs chunks are loaded, any tracked UUID that needs a corresponding username\nwill now be queued in the GameProfileQueryTask. This task runs async every\nsecond and will lookup a maximum of 2 UUID's per second. This is to avoid\ngetting blocked by mojang for too many requests.\n\nAs this task runs async, any updates to user cache must be thread-safe.\nThe PlayerProfileCache LinkedList has been changed to a\nConcurrentLinkedQueue and our SpongeUsernameCache HashMap has been changed\nto a ConcurrentHashMap. This allows us to make changes to cache while\nremaining thread-safe.","distinct":false,"url":"https://api.github.com/repos/SpongePowered/SpongeCommon/commits/98c8eb352f6d34f82a859c71ef12681a40ae852a"},{"sha":"d0e3fa3c3acdbf0377728ff5ded7d6c5c6bb6cd2","author":{"name":"kashike","email":"0ee6d2bb9fa02abe8eede4ca6819caa491df529c@vq.lc"},"message":"Teams can have  as their colour, don't disallow in builder","distinct":false,"url":"https://api.github.com/repos/SpongePowered/SpongeCommon/commits/d0e3fa3c3acdbf0377728ff5ded7d6c5c6bb6cd2"},{"sha":"b0db25865426370acec13680c4f287b2550b1ed5","author":{"name":"kashike","email":"0ee6d2bb9fa02abe8eede4ca6819caa491df529c@vq.lc"},"message":"Remove throws from Team builder","distinct":false,"url":"https://api.github.com/repos/SpongePowered/SpongeCommon/commits/b0db25865426370acec13680c4f287b2550b1ed5"},{"sha":"fcda96f075374c40a4d305768d28149766dfe3c8","author":{"name":"bloodshot","email":"a19d24f87b1e7897eadd69864fc3dd98c5e4f725@gmail.com"},"message":"Use GameProfileQueryTask for entities.\n\n* All user cache saves will now be done during world saves.\n* Fix SaveWorldEvent not firing during world saves.","distinct":false,"url":"https://api.github.com/repos/SpongePowered/SpongeCommon/commits/fcda96f075374c40a4d305768d28149766dfe3c8"},{"sha":"3f09eb86bf0e3e961c500e9dfcbadb2897f89fa6","author":{"name":"bloodshot","email":"a19d24f87b1e7897eadd69864fc3dd98c5e4f725@gmail.com"},"message":"Fix InteractEntityEvent not restoring player items on cancel.","distinct":false,"url":"https://api.github.com/repos/SpongePowered/SpongeCommon/commits/3f09eb86bf0e3e961c500e9dfcbadb2897f89fa6"},{"sha":"fa68f774545eaf55c17c8d0c2371b06e92368f45","author":{"name":"bloodshot","email":"a19d24f87b1e7897eadd69864fc3dd98c5e4f725@gmail.com"},"message":"Add config options to control GameProfileQueryTask.\n\nFixes SpongePowered/SpongeForge#771","distinct":false,"url":"https://api.github.com/repos/SpongePowered/SpongeCommon/commits/fa68f774545eaf55c17c8d0c2371b06e92368f45"}]}
{"actor":{"display_login":"gabizou"}}