The Most Powerful and Feature Rich Minecraft Server Software!
Go to file
2020-06-23 16:39:42 +02:00
.github/workflows 2 artifacts 2020-05-23 16:19:40 +02:00
patches Remove more EMC patches 2020-06-23 16:39:42 +02:00
scripts Updated Upstream (Tuinity) 2020-06-21 00:40:04 +02:00
Tuinity@126d3cc1a2 Updated Upstream (Tuinity) 2020-06-22 21:50:41 +02:00
.gitignore Update the Recipe when found 2020-04-13 22:05:26 +03:00
.gitmodules Switch to Tuinity as base Fork 2020-03-21 17:29:35 +01:00
api init 2020-02-26 17:23:57 +01:00
current-tuinity Switch to Tuinity as base Fork 2020-03-21 17:29:35 +01:00
fetchUpstream.sh Update upstream 2020-05-11 20:22:29 +02:00
patchPaper.sh Fix flags 2020-03-22 20:47:50 +01:00
pom.xml init 2020-02-26 17:23:57 +01:00
README.md Update README.md 2020-06-19 22:33:36 +02:00
server init 2020-02-26 17:23:57 +01:00
yapfa Add paperclip 2020-03-22 17:20:21 +01:00

YAPFA

(Yet another Paper Tuinity fork attempt)

Github-CI CodeMC-CI Discord Patreon

What

This Fork tries to import universal/performance patches from EMC, Lithium, Akarin and Purpur, while adding a few more (optional via config) "extrem" patches that modify the vanilla minecraft gameplay for more performance(noteable killing entity pushing/collisionboxes). This fork was based on Paper, but is now based on Tuinity.

Config entries

itemStuckSleepTicks

Default:1 Controlls how often a dropped item checks rather it's stuck inside a block(Their most expansive operation). Higher values like 15 can be savely used and greatly improves dropped item performance if your server has thousends of them(from big farms/tnt/farming players etc).

disableEntityWaterChecks

Default:false Entities don't check for drowning. Legacy option that probably doesn't do that much.

disableEntityStuckChecks

Default:false Entities don't check if they are stuck in a wall and should sufficate. Usefull in for example hubs where player damage is canceled anyway.

disablePlayerOutOfWorldBorderCheck

Default:false Players don't check if they are outside of the world border(to take damage). Can be used everywhere where the world border doesn't apply anyway like hubs/minigames.

disableEntityCollisions

Default:false All entities stop pushing each other. The only exception is that players still will be pushed since this is clientside and controlled by a scoreboard team flag. This also breaks the entity cramming(which players can bypass anyway with ladders). Greatly improves performance where entity pushing is not required.

onlyPlayerCollisions

Default:false Does the same as disableEntityCollisions except that players are still able to push other entities.

disableEntityCollisionboxes

Default:false Removes the collisionbox from entities. This only really affects shulker mobs(not the shulker box) so that mobs will fall through them like any other mob. Players still can walk over them since that is clientside. Greatly improves performance, with minimal impact on ingame behavior.

checkEntityBlockCollisionTicks

Default:1 How often entities trigger blocks like pressureplates/cactus/nether portals. Legacy option that probably doesn't do that much, breaks the nether portal logic and will be removed later.

pistonPushLimit

Default:12 Just a fun option that enables you to modify the maximum amount of blocks that a piston can push. Together with slime/honeyblocks and pushable tiles from tuinity this allows a lot of new machines/doors.

villager.simplerVillagerBehavior

Default:false Replaces the entire villager AI to the old AI system that all other mobs use. This breaks iron farms/villager breeders/villages(WIP to fix these problems), all villagers get a random profession(if they didn't have one) like in 1.8, don't need/use workstations and refresh their trades after some time(trades are completly unaffected). This makes villagers as performant as all the other mobs by getting rid of their "brain"(Mojangs name^^) and behavior controller system, instead using the normal goal selector system. This way villagers are over twice as performant, but with the drawbacks that for now Iron farms/villager breeders are broken, so they can just be used for trading systems.

villager.villagersHideAtNight

Default:false Addon for villager.simplerVillagerBehavior, gives villagers the ability to drink an invisibility potion like wandering traders at night to make it less likely for them to be killed since (for now) they don't stay at the village/use their houses at night and no ability for them to respawn.

Building and setting up

Run the following commands in the root directory:

git submodule init
git submodule update
./fetchUpstream.sh
./yapfa build
./yapfa paperclip

LICENSE

Everything is licensed under the MIT license, and is free to be used in your own fork.

See EMC, Lithium, Akarin, Purpur and Tuinity for the license of material used/modified by this project.

By using this project you accept the Mojang EULA! Starting the server-jar requires that you have read and accepted the EULA because of this patch!