8542 Commits

Author SHA1 Message Date
Dylan K. Taylor
6f54b53f7a thanks for being useless PhpStorm
these problems didn't show up in any inspections until I opened the fucking files...
2019-03-17 15:53:59 +00:00
Dylan K. Taylor
7d72b8e756 leveldb: use writebatch for chunk saving (faster I/O)
i don't know why this wasn't already using a writebatch, but it should have been.
2019-03-15 16:45:47 +00:00
Dylan K. Taylor
9205bbaa42 ... why is this not saved on provider close...? 2019-03-15 04:43:19 -04:00
Dylan K. Taylor
a91f49220c Chunk: Do not mark as changed on lighting updates
Since we don't save light to disk anymore, we don't need to care if a light update took place. This improves I/O performance.
2019-03-14 16:34:14 +00:00
Dylan K. Taylor
62185d476b RegionLoader: Fixed performance issue converting huge worlds
I was big nub when i wrote this code.
2019-03-14 15:22:44 +00:00
Dylan K. Taylor
1e0f1e5b1a RegionLoader: Stop unnecessarily writing location header on close
Any time a region is modified, the location header is written anyway, so this is entirely unnecessary.
2019-03-14 15:06:13 +00:00
Dylan K. Taylor
d080d3bae0 RegionLoader: Write location table changes when deleting chunks 2019-03-14 15:02:15 +00:00
Dylan K. Taylor
41d13b6f06 Player: remove dead condition
this can't be reached because the only place it's called is from Level->actuallyDoTick(), where it won't appear until long after the player is logged in.
2019-03-14 14:47:20 +00:00
Dylan K. Taylor
a1ffaffa7f Don't record player on stats until they actually exist 2019-03-14 14:46:19 +00:00
Dylan K. Taylor
ebfe9caca3 Move too-early-send check to NetworkSession 2019-03-14 14:45:30 +00:00
Dylan K. Taylor
26a5d97499 Some cleanup to player net session handling for connect/disconnect 2019-03-14 14:32:43 +00:00
Dylan K. Taylor
34758e3bc6 RegionLevelProvider: clean up coordinate extraction, fixed a stupid bug 2019-03-13 17:35:09 +00:00
Dylan K. Taylor
08c399529d RegionLevelProvider: Unload regions when finished scanning them, fixes running out of file descriptors during conversion 2019-03-13 17:32:34 +00:00
Dylan K. Taylor
ad19696364 Make Effect and Enchantment functions less verbose 2019-03-13 15:26:21 +00:00
Dylan K. Taylor
01904adf49 Improve enum implementations, move some components to traits
The reason this uses a trait is because `self` refers to the including class in a trait, which offers a small amount of automatic type safety.
If we had templates or generics, this would be a generic class instead.
2019-03-13 15:10:31 +00:00
Dylan K. Taylor
7f4b76aa86 Implemented blue ice 2019-03-12 19:38:03 +00:00
Dylan K. Taylor
0e1a88f7e5 Armor: Implement right-click to equip, closes #2641 2019-03-12 19:01:36 +00:00
Dylan K. Taylor
8b9eeb0b7f Clean up Armor classes 2019-03-12 18:53:51 +00:00
Dylan K. Taylor
48427290c9 Regenerated BlockFactory TODOs 2019-03-10 19:53:55 +00:00
Dylan K. Taylor
437750785f Implemented barrier block 2019-03-10 19:53:55 +00:00
Dylan K. Taylor
c2a069afd3 Implemented a bunch of new wood blocks 2019-03-10 19:53:24 +00:00
Dylan K. Taylor
84bbd14a21 fixed wrong generator being set on converted worlds 2019-03-10 19:53:24 +00:00
Dylan K. Taylor
85e1b77cae fix crash in getHighestBlockAt() 2019-03-10 19:53:24 +00:00
Dylan K. Taylor
18e16f8615 Fixed blockID truncation 2019-03-10 19:53:24 +00:00
Dylan K. Taylor
7aa4c18afa Fixed assert failure in SubChunk 2019-03-10 19:53:24 +00:00
Dylan K. Taylor
a858103e6b Support paletted subchunks, drop all formats except leveldb 2019-03-10 19:53:24 +00:00
Dylan K. Taylor
dfc26395e2 Fixed missing logger injection 2019-03-10 19:53:23 +00:00
Dylan K. Taylor
8cb24547ff Goodbye McRegion o/ 2019-03-10 19:53:23 +00:00
Dylan K. Taylor
8d83d59cf0 Work around collisions in backup names 2019-03-10 19:53:23 +00:00
Dylan K. Taylor
a0a8026cba Implemented automatic world format conversion 2019-03-10 19:53:23 +00:00
Dylan K. Taylor
ae9f57ac28 Revert "Remove hacks for triggering adjacent light refill"
This reverts commit 1dca9074d5f087d15f8d30d2941150fe51617489.
This change introduced performance issues with transparent blocks.
2019-03-10 19:50:35 +00:00
Dylan T
c266f86b1b
ItemEntity: introduce controls for despawn timers (#2769)
This opts _not_ to expose item "age" a la #2753 because "age" is a misleading term for it. In addition, further inspection of the problem led me to realize that exposing control of that AND despawn timeout was more complicated than simply having a despawn delay timer exactly like the pickup delay one. Everyone knows a countdown timer stops at 0, so this way we don't need any method to control the limit.

Closes #2667
Closes #2753
2019-03-10 12:05:21 +00:00
Dylan K. Taylor
b9208eb1fb Merge branch '3.6' 2019-03-09 19:04:37 +00:00
Dylan K. Taylor
414104851a LevelDB: Mark chunks as changed when upgraded from an older chunk format 2019-03-09 19:02:34 +00:00
Dylan K. Taylor
6fe366e1ac Added some missing block properties 2019-03-09 16:49:37 +00:00
Dylan T
8f1bc5d497
Flatten wall_banner and wall_sign into single blocks (#2798)
This comes with some problems, but the problems are more bearable than the previous code.
2019-03-08 16:37:26 +00:00
Dylan K. Taylor
bb718faa2e Merge branch '3.6' 2019-03-08 13:57:32 +00:00
Dylan K. Taylor
c68ee1d9d9 LevelDB: Mark chunks as changed when upgraded from an older chunk format 2019-03-08 13:55:56 +00:00
Thunder33345
c0bed03a2a Update PlayerRespawnEvent.php (#2797)
removed obsolete comment
2019-03-05 16:28:58 +00:00
Dylan K. Taylor
2b6a62be77 Fixed BlockFactory corruption with signs and banners 2019-03-05 15:32:06 +00:00
Dylan K. Taylor
3f66600271 RegionLoader: Extract location table validation to separate function 2019-03-05 13:28:56 +00:00
Dylan K. Taylor
f2404804d7 RegionLoader: clean up lastSector handling 2019-03-05 13:18:14 +00:00
Dylan K. Taylor
07a9c35ee2 RegionLoader: Use objects instead of arrays 2019-03-05 13:10:17 +00:00
Dylan K. Taylor
4d9b074641 Merge branch '3.6' 2019-03-05 12:10:16 +00:00
Dylan K. Taylor
d25c84acff Fixed RegionLoader corrupting location table when too-large chunks are discovered
this was making the location table point to an offset that did not yet exist, which caused the region header consistency check to discard the region as corrupted the next time it was loaded.
2019-03-05 12:09:27 +00:00
Dylan K. Taylor
e31603fc45 Merge branch '3.6' 2019-03-05 11:21:55 +00:00
Dylan K. Taylor
55994e08db RegionLoader: make some error messages more detailed 2019-03-05 11:18:02 +00:00
Dylan K. Taylor
6f5d4d6b80 RegionLoader: fixed handling of invalid chunk coordinates 2019-03-05 10:52:36 +00:00
Dylan K. Taylor
2795ad674b add boilerplate code to check for generator validity
perhaps we should use an enum for this...?
2019-03-05 09:36:22 +00:00
Dylan K. Taylor
2cad7166b1 GeneratorManager::getGeneratorName() now throws InvalidArgumentException on unregistered generator classes
the old behaviour allowed a bug in the world converter to go unnoticed.
2019-03-05 09:30:22 +00:00