Commit Graph

140 Commits

Author SHA1 Message Date
Ivan Pekov
98b47c81e9
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:
84aecdb Merge https://github.com/Spottedleaf/Tuinity into ver/1.16.3
de1983b Updated Upstream (Paper)

EMC Changes:
1499c3fb Un-Merge PlayerInteractEntity and PlayerInteractAtEntity
17184238 Updated Paper
d0715d42 Updated Paper

Purpur Changes:
32b7926 Fix #77 and credit correct author
42d9e8f Updated Upstream (Paper)
5026a31 Controllable minecarts fall damage option and slow down in air fix
d9c0631 Updated Upstream (Paper)
d40fd41 Fix broken /time command
d652384 Updated Upstream (Paper)
86a0769 Configurable daylight cycle
2020-10-11 20:37:55 +03:00
Mykyta Komarnytskyy
2e894832ed Remove unstable/unnecessary patches
- Removed async entity tracking, as this is not a good implementation and has caused issues numerous times
- Removed "0037-Load-also-the-chunk-that-you-re-teleporting-to" as it does not fix the core problem
- Removed "0048-Fix-villager-dupe" as it was deemed unnecessary
2020-10-10 13:09:06 -07:00
Ivan Pekov
2ad8efe6ae
Make async entity tracking more thread-safe
Fixes GH-247
2020-10-09 06:25:18 +03:00
Ivan Pekov
252bf7e437
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:
82e5dfb Updated Upstream (Paper)

Origami Changes:
7e2a3f6 Update Paper

Purpur Changes:
5cc7709 Make mobs avoid stonecutter blocks
129484a Stonecutter damage
8295d22 Updated Upstream (Paper)
d23a158 Infinity bow settings
5c0a270 Make infinite lava number of required sources configurable
ef17322 Update readme
70e2ec0 Cleanup codebase
81ca45c Flying squids! Oh my!
2020-10-08 14:24:41 +03:00
Ivan Pekov
0a19056af0
Drop akarin's stream replacements
Fixes bad performance out of the box for production. 
Apparently there's another issue which is thinkering our minds up, it is that after certain amount of time the gc just can't keep up. We're investigating into this, but until it is fixed - this is gonna be a stable build 

Co-authored-by: Mykyta Komarn <nkomarn@hotmail.com>
2020-10-08 14:04:22 +03:00
Mykyta Komarn
5431509f72 Greatly improve recipe and furnace performance
Remove more fucked up stream conversions. Also use cached recipe in furnaces when possible, and only lookup when absolutely necessary.

On a server with 8.8K furnaces, the average tick rate was ~0.3-1ms higher when furnaces were burning vs idle furnaces, as compared to ~10ms difference in earlier revisions of these patches.
2020-10-06 18:36:00 -07:00
Ivan Pekov
1039afef5d
Advancement optimizations
This drops rainforest's async advancements patch, which was very unsafe, and replaces it with our own optimization patch, which isn't async, but it is enough to lower the pressure upon join.
2020-10-06 17:26:45 +03:00
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
Ivan Pekov
2c55264dba
Ensure pools create daemon threads 2020-10-05 17:53:08 +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
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
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
2b10346ecf
Keep compatibility with ProtocolLib
Closes #225
2020-10-01 14:13:08 +03:00
budgidiere
611b6ca461
Update PATCHES.md 2020-09-30 11:20:15 -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
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
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
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
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
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
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
budgidiere
6e35639c48
add voronoi (#210)
* add voronoi

* fix
2020-09-26 22:18:58 -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
6d289f2412
Fix watchdog termination hanging indefinitely 2020-09-22 21:25:46 +03:00
Ivan Pekov
69d69784a7
PlayerAttackEntityEvent 2020-09-22 13:15:06 +03:00
Ivan Pekov
322c7c08e1
Optimize whitelist command for multiple additions / removals
Previously the whitelist command was adding players 1 by 1. This caused massive overload
when you were adding multiple players due to the fact it saves every time a player was
added.

These changes aim to reduce that load whenever you are using the /whitelist command.
2020-09-22 10:17:38 +03:00
Ivan Pekov
dd8ff13025
Check if the position checked has this property
Fixes #205
2020-09-21 18:20:37 +03:00
Bud Gidiere
6e3d09cf54
test old async stuff to fix load hang 2020-09-20 17:30:33 -05:00
Ivan Pekov
f541b93c6a 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:
76777f0 Updated Upstream (Paper)
6465aba Merge branch 'master' of https://github.com/Spottedleaf/Tuinity into ver/1.16.3
ba4dbb6 Do not allow ticket level changes while unloading playerchunks
e0e7144 Aggressive state checking in region manager

Purpur Changes:
0743d38 PaperPR - Add hex color code support for console logging
081f5a7 Oopsie, lets fix these snowballs :3
4895a88 Improve output of plugins command
3424c40 Minor changes to projectile despawn rate patch
9d49a31 Updated Upstream (Paper)
09e0103 add snowball to despawn rate config

Rainforest Changes:
5a187d6 Update to 1.16.3.
2020-09-20 21:45:23 +03:00
ishland
e65858c78a
Improve async task handler (#203) 2020-09-20 19:55:56 +03:00
Ivan Pekov
a62a7ad2a8
Yatopia command gets nuked 2020-09-15 08:43:13 +03:00
Ivan Pekov
b512028dea
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:
c9cfdba Updated Upstream (Paper)

Purpur Changes:
d4301d4 Updated Upstream (Paper)
0e1cb93 wandering trader spawn rate config
67a42f6 Despawn rate config options per projectile type
7a1012e Drop "Use-arrow-despawn-rate-for-all-projectiles.patch"
8767574 Fix #56 Fix #50 - Ridable baby and tameable settings
8ec6f6f Fix #46 - Essentials EC overriding Purpur
a919aa3 Updated Upstream (Paper & Tuinity)
2020-09-15 08:23:39 +03:00
Ivan Pekov
cb3e5eac78
Fix villager dupe 2020-09-14 12:57:41 +03:00
Ivan Pekov
e47fe5354e
Nuked some patches 2020-09-13 10:00:43 +03:00
Ivan Pekov
f1d3c9d7a2 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:
5994cb0 Updated Upstream (Paper)
7dfe18c Merge https://github.com/Spottedleaf/Tuinity into ver/1.16.3
ef4e59a Optimise tab complete

Purpur Changes:
8726ad9 Updated Upstream (Paper)
2020-09-13 09:07:20 +03:00
Ivan Pekov
21db600711
Villager stuff
Fixes #152 

There is still the issue with doors which I will try to fix later on, but the new option should make them more "vanilla".

See the description of the new patch for more information.
2020-09-13 08:22:23 +03:00
Ivan Pekov
67f9aea916
Remove Origami's hopper optimizations
See issue #176
This fixes the "it gets more serious". However, the problem is still being present.
it looks like it is purely random which hopper is going to suck in the item.

whatever weirdness is still present with hoppers and sorting systems, if its not mojang
then its paper's optimizations, which we're not removing.
2020-09-12 09:25:28 +03:00
foss-mc
28ac090db1
Shutdown Bootstrap thread pool (#194) 2020-09-12 08:40:19 +03:00
Ivan Pekov
a909429e0c
Boys I got some fixes for you! 2020-09-10 21:35:41 +03:00
Ivan Pekov
838aa2bd51
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:
483289c Updated Upstream (Paper)
2020-09-10 12:45:36 +03:00
Ivan Pekov
79de07b034
Fix "Unable to save chunk" error 2020-09-10 10:40:33 +03:00
Ivan Pekov
b4d77a95d1
Respect permissions when constructing InventoryEnderChest 2020-09-10 09:13:00 +03:00
Ivan Pekov
9e3599ab2d
Lots of stuff going on here!
Added codemc stuff
Added ProxyForwardDataEvent
Changed version fetcher cache time to 72000 ms

Improved fix of tuinity's portal crash. Should help with #190
2020-09-09 17:18:52 +03:00
Ivan Pekov
43e9fcf77f
Stop wasting resources on JsonList#get 2020-09-04 10:24:27 +03:00
Ivan Pekov
d91ac35d76
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:
e59b60b Updated Upstream (Paper)
09f62a7 Rebuild patches
b041d11 Merge branch 'master' of https://github.com/Spottedleaf/Tuinity into ver/1.16.2
4468be2 Updated Upstream (Paper)
2020-09-04 09:19:36 +03:00
Ivan Pekov
a77a90a68d
Fix bork squids
Bravo mojong! How did u manage to break them!?
Ported a purpur patch which fixes the described behavior from our tester, t0ssox
2020-09-03 09:04:54 +03:00
Ivan Pekov
9627efce93
Nuke more streams 2020-09-02 22:06:17 +03:00
Ivan Pekov
337a6f46f3
Fix vanilla generation deadlock
Thanks aikar
2020-09-02 09:31:34 +03:00
Ivan Pekov
04b66820e3
Highly optimize VillagePlace filtering
Also better stream replacement in BehaviorInteractDoor
2020-09-01 18:31:48 +03:00
Ivan Pekov
71c51a9aa2
Fix portals not creating 2020-08-31 12:37:52 +03:00
Ivan Pekov
d77eb35973
Update upstream 2020-08-31 12:24:45 +03:00
Simon L
49fe9db448
Fix Lithium's Oversized blocks counter optimisation (#177) 2020-08-30 07:40:10 +03:00
Ivan Pekov
aca39ae8c4
Load also the chunk that you're teleporting to
Fixes Tuinity-178
2020-08-27 14:37:25 +03:00
Ivan Pekov
220d92f4c5
Fix recipe crash & portal crashes 2020-08-26 11:00:48 +03:00
Ivan Pekov
5620825b39
Upstream update & more
Dropped hopper optimizations patch by tr7zw. Sorry buddy, but the patch was making more
problems than it was solving. By no means this is an unneded patch, we will reimplement
it in the future the way it should've been implemented. Fixes #148
2020-08-26 09:17:38 +03:00
Ivan Pekov
78c24fde6d Updated upstream & removed 1 patch from EMC
Fixes #150
Should help with #151 , #149 , #148
2020-08-25 11:04:18 +03:00
Ivan Pekov
e1a085de4c Upstream update & fix
Fixes #145
2020-08-24 09:08:09 +03:00
Ivan Pekov
21c8252193 lithium serialization optimizations
also nuked option which made minecraft 2 real
2020-08-22 22:11:04 +03:00
Ivan Pekov
16b7d897ef Patch reorder & more
Reordered the patches pulled by sidestreams to their native order in the
sidestream's repo. This reduces the diff we need to maintain in the server
fixes patch.
Ported 2 more patches from purpur which I found to be useful.

EntityClassGroup now checks for the proper overriden methods in the entities.
2020-08-22 10:44:43 +03:00
Ivan Pekov
03324b9122
Sidestreams & Upstream update 2020-08-21 09:03:22 +03:00
Ivan Pekov
2fde9b4034
More lithium means more speed
Ported some major performance improvements from lithium
2020-08-20 18:04:08 +03:00
Ivan Pekov
97de0c0a99
Fix chunks sometimes not loading
I had players on my server report that they don't see the chunks loading.
This should fix it.
2020-08-18 17:35:26 +03:00
Ivan Pekov
d5b65a9f7e
Updated purpur & ported 1 patch from there
Also 1 more fix for you all guys :)
2020-08-18 11:57:12 +03:00
Ivan Pekov
07ab421076
Fixes and upstream
Fixes the client spamming invalid biome id causing it to lag
Upstream fixed other stuff
Fixes some stacktraces if you're near bedrock
2020-08-18 08:30:07 +03:00
Ivan Pekov
b352b7e83a
More fixes
This is now for sure going to fix hoppers entirely, except speeds which we should see in other patch.
Apparently caching the inventory doesn't work for composters as they're constantly updating their block state.
The code now makes it so that we only cache if the block is NOT a composter.

This is also fixing a bug with offline mode servers and proxies for vanilla commands. Read the new patch's patch notes to see what I'm talking about.
2020-08-17 21:39:05 +03:00
Ivan Pekov
525f7dc261
Send more packets immediately 2020-08-17 09:15:09 +03:00
Ivan Pekov
442b82662a
Fix bork hoppers & Pathfinder timings
For some reason it was checking if the inventory is NOT an IWorldInventory, but IWorldInventory is implemented by furnaces, shulkers and
brewing stands. This commit is fixing that which will also get ported in 1.16.1

Also added Pathfinder timings in order to see if we need to improve pathfinding.
2020-08-16 14:01:55 +03:00
Ivan Pekov
6237d7d562
Updated upstream and purpur 2020-08-16 12:07:31 +03:00
Ivan Pekov
c06bac8bcb
Updated purpur & ported 2 & removed 1 patch 2020-08-15 21:20:57 +03:00
Ivan Pekov
c75ada51ef
Port even more patches
Ported some patches from EMC and Origami
2020-08-15 19:18:36 +03:00
Ivan Pekov
a24d3fc1a7
Sidestreams updated
It looks like that for 2 purpur patches we need to update the upstream.
Updated also the script and now we have `yatopia tup`, which will only update tuinity.
2020-08-15 12:43:24 +03:00
SoSeDiK
6df772f9a9
Update NBT API (#99) 2020-08-15 07:37:52 +03:00
Ivan Pekov
5765602020
Port more patches
I got all the purpur patches mentioned in #37 and ported them by also adding the squids EAR immunity patch.
Ported also 2 useful patches from Rainforest.

Unfortunately this is 1.16.2 only and thus 1.16.1 would only receive:
- from purpur: the MC-4 fix and the squid EAR immunity.
- from rainforest: all patches that have been ported.

Closes #37
2020-08-14 21:16:57 +03:00
Ivan Pekov
c1c4a95edc
Do NOT apply removed patches
Closes #89
2020-08-14 18:23:20 +03:00
Ivan Pekov
3f737ea7f8
Drop async pathfinder and biome conversion optimisations
Async pathfinder seems to do more bad than good. This is a wanted change, however akarin's implementation
seems a little bit off.

Biome conversion did nothing so it gets completely nuked.
2020-08-13 22:32:28 +03:00
Ivan Pekov
4f90ed4545
Port tuinity biome conversion optimisations and a nitpick 2020-08-13 19:57:40 +03:00
Ivan Pekov
5f55124016
Initial 1.16.2 support
This update had major internal changes, which took us 8 hours to figure out and resolve all things untill we have a successful build.
YatopiaMC members wish you happy playing using Yatopia for your server software

MAKE A BACKUP OF YOUR WORLD BEFORE RUNNING IT ON YOUR SERVER. YOU HAVE BEEN WARNED.
People have reported to paper that after upgrading villagers are gone. There could be even more issues we are unknown of.
MAKE A BACKUP OF YOUR WORLD BEFORE RUNNING IT ON YOUR SERVER. YOU HAVE BEEN WARNED.

Co-authored-by: Ovydux <68059159+Ovydux@users.noreply.github.com>
Co-authored-by: Simon Gardling <Titaniumtown@gmail.com>
Co-authored-by: budgidiere <sgidiere@gmail.com>
2020-08-13 18:53:32 +03:00
Ivan Pekov
41ffe92eeb
Per world entity (type) collisions & some cleanup (#76)
* Per world entity (type) collisions & some cleanup

* Unnuke RainforestConfig

* Forgot the API

* fix and remove code clean up for now

Co-authored-by: Bud Gidiere <sgidiere@gmail.com>
2020-08-11 10:38:17 -05:00
Ivan Pekov
14f7e17e6e
Port aikar's villager optimizations from 1.15.2 (#73)
* Port aikar's villager optimizations from 1.15.2

* Add to PATCHES.md

* Oopsie, sometimes I don't look where im typing

* Attempt at fixing villagers can't get professions

* Why is this if(true), should've been if(false)

* Nuke stream
2020-08-10 11:02:40 -05:00
Bud Gidiere
51d48511bc
add Mrivansplays patches 2020-08-09 19:19:56 -05:00
Bud Gidiere
aeab0d5f19 remove unessary patch 2020-08-07 09:36:54 -05:00
Bud Gidiere
b09c8c6018 upstream patches 2020-08-07 09:22:32 -05:00
budgidiere
0dfc64bcbe
Dev/feat/more lithium (#53)
* Create 0028-lithium-MixinChunkGeneratorAbstract.patch

* Create 0029-lithium-MixinDataWatcher.patch

* Create 0030-Fix-lead-fall-dmg-config.patch

* rebuild

* fix author

* Update 0026-lithium-MixinChunkGeneratorAbstract.patch

* Update PATCHES.md

Co-authored-by: tr7zw <tr7zw@live.de>
2020-08-06 20:54:26 +02:00
tr7zw
ed8c8ba036
Patch credits, readme updates (#54) 2020-08-06 19:18:29 +02:00