Commit Graph

295 Commits

Author SHA1 Message Date
Mykyta
c8320920b0
Entity tracker optimizations (#232)
* Async entity tracking

This is very basic, and I plan to commit the full entity tracker optimizations in the near future.

* Fix compatibility with Citizens

This also simplifies the patch quite a bit

* Make the patch much more safer

* Current progress

Maybe most of those \"ensureMain\" calls are unnecessary, but it has to be tested.
the only problems now are that entities are teleporting instead of normally moving

* Fix entities "teleporting"

* Fixup some of the diff

* Add some notes

Co-authored-by: Ivan Pekov <ivan@mrivanplays.com>
2020-10-05 22:05:57 -05:00
Mykyta Komarn
2019524096 [CI-SKIP] Change Glue List patch names for licensing 2020-10-05 18:53:27 -07:00
Mykyta Komarn
d62c2f7cca Remove Tic-TACS threading fix from WeightedList patch 2020-10-05 18:24:35 -07:00
Mykyta Komarn
9d72c63586 Remove faulty stream replacements
We had some old, faulty stream replacements in place before, which caused a lot of tick lag compared to just using Mojang's streams in vanilla.

Removing these stream replacements lowered average tick from 12ms w/ 1 player online to 3.5ms with 3 players online.

References and benchmarks:
Performance impact in ms: https://imgur.com/a/yuZs5Il
MSPT comparison: https://imgur.com/a/X4hqZ2P
Old, faulty stream replacement flow: https://imgur.com/a/meSXmaJ
Mojang's vanilla streams flow: https://imgur.com/a/9Yf6yQc
2020-10-05 17:40:09 -07:00
Ivan Pekov
2c55264dba
Ensure pools create daemon threads 2020-10-05 17:53:08 +03:00
Mykyta
93580df5f2
Better appearance to the TPS command
Use Purpur's isLagging() API and combine mspt + nspt into one line.

Pretty sexy.
2020-10-05 13:48:12 +03:00
Ivan Pekov
d12a716ef7
Where did this go?
This is a very important piece of minecraft ticking. How did I miss this? Maybe I need new glasses...
2020-10-04 18:57:55 +03:00
Ivan Pekov
755f429c32
Patch port changes
Dropped some patches from purpur, added 2 patches from purpur.
Readded hopper optimizations from origami.
2020-10-04 18:43:50 +03:00
ishland
82a792e786
Improve task performance (#233)
* Improve task performance

* Yatopia comments

* Remove unnecessary diff

* Rebuild patches

* Fixes

* Polish things up

* Minimize diff and Yatopia comments

* Update PATCHES.md

* Made suggested changes
2020-10-04 10:25:36 -05:00
Ivan Pekov
62a4ea74fd
Your local dumbass did it again 2020-10-04 12:10:31 +03:00
Ivan Pekov
9e9a295053
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:
d41103d Updated Upstream (Paper)

Purpur Changes:
4984bb7 Updated Upstream (Paper)
a16a79c Updated Upstream (Paper)
bd83a6b Add predicate to recipe's ExactChoice ingredient (missing NMS side)
d469979 Rebuild patches
802a659 Persistent TileEntity Lore & DisplayName
2020-10-04 12:00:34 +03:00
Ivan Pekov
8a67951956
Updated Upstream and Sidestream(s) (Tuinity/EMC/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:
1d73f6c Updated Upstream (Paper)

EMC Changes:
81f5e1fa Updated Paper
faf92d5c Updated Paper
7e1e4bad Update patch name to reflect what actually is being changed
019ceb9f Update patch name for fishing hook api
647b2063 Separate out a patch for using getType in the ItemStack isSimilar method
38734f9b Updated Paper
ac260ccd Update to 1.16.3
4977edff Updated Paper

Purpur Changes:
debedee Add predicate to recipe's ExactChoice ingredient
2459033 Rebuild patches
17d8ee8 Add option to disable zombies pathfinding to villagers only when lagging
1e25c2f Fix typo/error in a purpur world setting
da9953a Updated Upstream (Paper)
2020-10-03 10:16:41 +03:00
Ivan Pekov
f33511fdd2
Replace asynchronous json list save with json list save timings
so we see if this patch is necessary first. then we will reimplement it properly, as the current patch
is not race condition safe.
2020-10-02 17:54:16 +03:00
Ivan Pekov
d065d41c0e
Drop this unsafe shit
Apparently caused issues we werent aware of.
Unfortunately there's no way to improve it without blocking the main thread.
2020-10-02 17:00:13 +03:00
Ivan Pekov
ef14088415
Don't save advancement and statistic data async
Fixes advancement reset
2020-10-02 14:45:30 +03:00
Ivan Pekov
25423541d6
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:
8ba1bab Updated Upstream (Paper)
2020-10-02 14:23:32 +03:00
Ivan Pekov
e7043ccbff
Replace ArrayList and LinkedList usage in our code with GlueList
Some stuff wouldn't be _that_ heavy with this change.
Is not a very big deal, but it provides extra performance.
2020-10-02 14:05:15 +03:00
Ivan Pekov
e14836e8ea
Drop lithium noise patches & voronoi
Fixes #226

All these were doing some kind of weirdness to the chunk generation, thats why they were dropped.
Unfortunately this will decrease performance, but bugs is our priority before speed.
2020-10-01 19:51:56 +03:00
budgidiere
576ab42b68
Heavily optimize recipe lookups in CraftingManager
Author is @nkomarn .
2020-10-01 17:52:27 +03:00
Ivan Pekov
5b37c44801
Updated Upstream and Sidestream(s) (Tuinity/Origami/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:
ac6b72e Updated Upstream (Paper)

Origami Changes:
b69a015 Fix pre spawn event shouldAbortSpawn not working correctly for golems

Purpur Changes:
8dfb30b Updated Upstream (Paper & Tuinity)
2020-10-01 14:30:11 +03:00
Ivan Pekov
2b10346ecf
Keep compatibility with ProtocolLib
Closes #225
2020-10-01 14:13:08 +03:00
Mykyta Komarn
0b9ce71ab6 Use FastUtil maps for fuel cache 2020-09-30 18:12:52 -07:00
Mykyta Komarn
78611f3653 Add GlueList
This is the fastest List implementation I could find. We will be using this heavily.
2020-09-30 18:06:10 -07:00
budgidiere
320c8d8bf8
Update 0054-lithium-NoiseChunkGeneratorMixin.patch 2020-09-30 14:00:48 -05:00
budgidiere
2385dcb2b1
Update 0064-Configurable-flight-checks.patch 2020-09-30 11:19:16 -05:00
Ivan Pekov
db58abea26
Add nspt command
Also add configurable flight checks, and removed a unused method in BlockPosition
2020-09-30 18:35:35 +03:00
Ivan Pekov
239a43721f
Hey Ivan, why did u forgot to check for .rej files?
This manouver is gonna cost us 50 years.
2020-09-30 16:41:33 +03:00
Ivan Pekov
ef03360a82
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:
8d982c4 Updated Upstream (Paper)
2c7bad9 Merge branch 'master' of https://github.com/Spottedleaf/Tuinity into ver/1.16.3
88a2c88 Revert usage of region manager
08581cf More validation
2020-09-30 16:32:49 +03:00
budgidiere
e657ed2051
Update and rename 0060-Tic-Tacs-Threading-Fix.patch to 0060-tic-tacs-Threading-Fix.patch 2020-09-29 22:46:48 -05:00
budgidiere
9047fcc9d4
Dev/fast suffocation check (#222)
* Use faster block collision check for entity suffocation check

Improves the speed of checks by ~3,000ns per entity on average.

* Add alternative constructor for suffocation check

This fixes entities falling through non-full blocks, such as slabs or hoppers.

* add patches.md

Co-authored-by: Mykyta Komarn <nkomarn@hotmail.com>
2020-09-29 20:47:34 -05:00
budgidiere
3e6b1799a2
Fixes #202 (#220) (#221)
Co-authored-by: Mykyta <nkomarn@hotmail.com>
2020-09-29 16:54:47 -05:00
budgidiere
5b1f445951
Fix IndexOutOfBoundsException when sending too many changes
Authored-by: Ivan Pekov <ivan@mrivanplays.com>
2020-09-29 20:47:32 +03:00
Ivan Pekov
930a869426
Do not limit the VoxelShape only to its AABB
Thanks leaf for taking my eyes onto it.
Additionally removed the sorting of Producer#fillList . Was causing unnecessary load
2020-09-29 13:36:29 +03:00
budgidiere
0faeed74aa
Dev/thread (#214)
* Add tic-tacs threading fix

* fix diff and credits
2020-09-28 16:31:36 -05:00
Ivan Pekov
e37628ad1e
Some small patches
Fixes an issue with limits being ignored with per player spawning
Fixes an issue where you would be respawned south no matter the rotation of your spawn point.

Additionally, removed Producer#fillList(Producer, List) from the collisions patch and moved it
where it is first used. That's a misc maintainability change, but we have to be consistent!
2020-09-28 16:33:03 +03:00
Ivan Pekov
eb92b9e18c
Updated Upstream and Sidestream(s) (Tuinity/Purpur/Rainforest)
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:
fb292c1 Updated Upstream (Paper)

Purpur Changes:
bb5c8a7 Updated Upstream (Paper)
0c230d7 Updated Upstream (Tuinity)

Rainforest Changes:
cebeea1 Updated Upstream (Paper)
2020-09-28 15:56:51 +03:00
Ivan Pekov
435f17de1c
Entities fall through Hoppers, Slabs and Stairs
Fixes #212
Additionally lowered the ram allocated and changed the work directory for the intellij run config.
2020-09-28 15:07:07 +03:00
Bud Gidiere
255f36d32b
Add IntelliJ IDEA runnable 2020-09-27 17:08:32 -05:00
Bud Gidiere
6c04ab54c4
Add StructureLocateEvent 2020-09-27 14:36:48 -05:00
Ivan Pekov
3348208059
Better formatTo method
there was a mistake, looks like got unnoticed between ns and ms, but if any1 wants to get the value with seconds or even minutes then it wont rly work out.
2020-09-27 20:43:40 +03:00
Ivan Pekov
c4a1166224
Add more permanent getLastTick time API
Also fix bad plugins that touch NMS not working
2020-09-27 19:05:16 +03:00
Bud Gidiere
a5753ad102
Minimize DIff 2020-09-27 09:14:14 -05:00
budgidiere
6e35639c48
add voronoi (#210)
* add voronoi

* fix
2020-09-26 22:18:58 -05:00
budgidiere
b9b4ee7beb
Properly credit supercoder79 2020-09-26 14:51:26 -05:00
budgidiere
7437da54c6
add perlin noise mixin (#209)
* add perlin noise mixin

most likely broke because I didn't include something but we will see broke

* work

* more work

* working now

* update patches.md

* Cut Noise gen almost in half in most cases

* minor licence fix
2020-09-26 14:44:40 -05:00
Ivan Pekov
4c7a91845b
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:
4a99f3e Updated Upstream (Paper)
f5d537e Merge https://github.com/Spottedleaf/Tuinity into ver/1.16.3
7936e2b Make async usage of IteratorSafeOrderedReferenceSet less dangerous

Purpur Changes:
2cce22a Updated Upstream (Paper & Tuinity)
8d407a9 Despawn rate for llama spit
2020-09-23 18:38:34 +03:00
Ivan Pekov
1af2160432
Im blind pls dont blame me kthx 2020-09-22 21:29:12 +03:00
Ivan Pekov
6d289f2412
Fix watchdog termination hanging indefinitely 2020-09-22 21:25:46 +03:00
Ivan Pekov
56cfcf9e99
Properly handle PlayerAttackEntityEvent
smaller diff and also fixes an issue the entity has been put on fire but no other damage dealt
2020-09-22 15:21:04 +03:00
Ivan Pekov
69d69784a7
PlayerAttackEntityEvent 2020-09-22 13:15:06 +03:00