Yatopia/README.md

77 lines
5.3 KiB
Markdown
Raw Normal View History

2020-08-03 21:40:14 +02:00
<img src="https://i.imgur.com/oKQjlHP.png" alt="Yatopia" align="right">
2020-08-03 21:34:41 +02:00
<div align="center">
<h1>Yatopia (Formerly YAPFA)</h1>
<h3>The Most Powerful Minecraft Server Software</h3>
[![Github-CI](https://github.com/tr7zw/Yatopia/workflows/CI/badge.svg)](https://github.com/tr7zw/Yatopia/actions?query=workflow%3ACI)
[![Discord](https://img.shields.io/discord/342814924310970398?color=%237289DA&label=Discord&logo=discord&logoColor=white)](https://discordapp.com/invite/yk4caxM)
[![Patreon](https://img.shields.io/endpoint.svg?url=https%3A%2F%2Fshieldsio-patreon.herokuapp.com%2Ftr7zw%2Fpledges&style=for-the-badge)](https://www.patreon.com/tr7zw)
2020-08-03 21:34:41 +02:00
</div>
2020-03-23 22:42:28 +01:00
2020-08-03 21:34:41 +02:00
## Introduction ##
2020-02-26 17:23:57 +01:00
A fork of [Tuinity](https://github.com/Spottedleaf/Tuinity), current side upstreams are:
2020-02-26 17:23:57 +01:00
* [EMC](https://github.com/starlis/empirecraft)
* [Lithium](https://github.com/jellysquid3/lithium-fabric)
* [Akarin](https://github.com/Akarin-project/Akarin)
* [Papercut](https://github.com/Minevictus/Papercut/)
* [Origami](https://github.com/MrIvanPlays/Origami)
* [Origami(2)](https://github.com/Minebench/Origami)
* [Purpur](https://github.com/pl3xgaming/Purpur)
Notable characteristics are: Async Pathfinding, Eigencraft Redstone (1.16), Async Advancements, Ability to disable collisions & collisionboxes, Major Hopper Performance Improvements + A lot more. For a full oversight: [Patches](https://github.com/tr7zw/Yatopia/tree/ver/1.16.1/patches/server)
## Experience Greatness ##
Available at the following options:
* **[GitHub Actions](https://github.com/tr7zw/Yatopia/actions)** - 1.16.1
* **[CodeMC](https://ci.codemc.io/job/Tr7zw/job/YAPFA/)** - 1.15.2
## Config Entries
2020-06-19 22:25:02 +02:00
### disableEntityStuckChecks
2020-07-20 16:48:25 +02:00
``Default``: ``false`` Entities don't check if they are stuck in a wall and should suffocate. E.g useful in hubs where player damage is canceled anyway.
2020-06-19 22:25:02 +02:00
### disablePlayerOutOfWorldBorderCheck
2020-07-20 16:33:25 +02:00
``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.
2020-06-19 22:25:02 +02:00
### disableEntityCollisions
2020-07-20 16:33:25 +02:00
``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.
2020-06-19 22:25:02 +02:00
### disableEntityCollisionboxes
2020-07-20 16:48:25 +02:00
``Default``: ``false`` Removes the collision box from entities. This only really affects shulker mobs (not shulker boxes) 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 in-game behavior.
2020-06-19 22:25:02 +02:00
2020-07-20 15:14:27 +02:00
### onlyPlayerCollisions
2020-07-20 16:33:25 +02:00
``Default``: ``false`` Does the same as ``disableEntityCollisions`` except that players are still able to push other entities.
2020-06-19 22:25:02 +02:00
2020-06-19 22:33:36 +02:00
### pistonPushLimit
2020-07-20 16:33:25 +02:00
``Default``: ``12`` Just a fun option that enables you to modify the maximum amount of blocks that a piston can push. Together with slime/honey blocks and pushable tiles from Tuinity this allows a lot of new machines/doors.
2020-06-19 22:33:36 +02:00
2020-07-20 15:14:27 +02:00
### itemStuckSleepTicks
2020-07-20 16:33:25 +02:00
``Default``: ``1`` Controls how often a dropped item checks rather it's stuck inside a block (their most expansive operation). Higher values like ``15`` can be safely used and greatly improves dropped item performance if your server has thousands of them (from big farms/TNT/farming players etc).
2020-07-20 15:14:27 +02:00
2020-06-19 22:33:36 +02:00
### villager.simplerVillagerBehavior
2020-07-20 16:48:25 +02:00
``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 nor use workstations and refresh their trades after some time (trades are completely unaffected). This makes villagers as performant as all the other mobs by getting rid of their "brain" (Mojang's 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.
2020-06-19 22:33:36 +02:00
### villager.villagersHideAtNight
2020-07-20 16:33:25 +02:00
``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.
2020-06-19 22:33:36 +02:00
2020-02-26 17:23:57 +01:00
## Building and setting up
2020-07-16 00:30:41 +02:00
Run the following commands in the root directory:
2020-02-26 17:23:57 +01:00
```
2020-07-16 00:30:41 +02:00
git submodule update --init --recursive --force
[WIP] Better Patch System (#18) * Update build.yml * Remove 3rd party patches * Add Upsteam Submodules * Fix patches * ? * Fix patches * Add Fast Init script * Lots of stuff also it's broke * more broken * fixes * mor stuff * gfhfgh hg * fix patch * fix up script * update submodule * add papercut * update tuinity * update gitmodules * fix var name * fix more var stuff * some how it's not deleting shit anymore * should now use the branch it just made why are we doing this again? * now it does thing thing * return previous so YAPFA can use it * ok now it really does the thing * for REAL it does the thing * don't do the thing because it causes too many problems * fix api * work * use better patching for YAPFA patches * fix better patching * more fixes * new patches stuff * remove old 3rd parry patches add removed akarin patches * make new branch for making patches * hopefully build patches correctly * fix gitignore and add config patches * remove papercut files * fix some weirdness * fix bug * time to do some fixin' :eyes: * New Patch System Rebased Patches * fix full build * exit 1 * fix * Remove patch * Hopefully fix compile errors * fixes * this might work * don't use rej for our patches * tmp disable cache * some times case sensitivity is dumb * my sanity is at an all time low :) * dfg * readd cahce * fix? * Update Upstream * fix perms * fix * fix api * Redo API * rm folders * fix villager brain patch * emc explosion pref * fixed aikar's shit * betterfix * fix lagggg * Origami * Origami Fixes * Update readme * test async path finding * WIP Async Path Finding * WIP fix async path finding * same as bellow * same * update to newer funcs * fix newer funcs * fix author * Updates, Fixes, and new patches * fixes * possibly async flying path finding * minor asnyc pathfinding fix * test remove non asnyc path finder * WIP make all path finding async * Rename everything * Exec flag * Rebuild hashes * remove dupe patch * fix? * Fix packages, redirect config * old nav class is now async and back * add getchatcolor.getbyid and handle patches with a . in them better Co-authored-by: tr7zw <tr7zw@live.de> Co-authored-by: Unknown <unknown@example.com> Co-authored-by: Ovydux <68059159+Ovydux@users.noreply.github.com>
2020-08-03 18:48:42 +02:00
./yatopia full
2020-02-26 17:23:57 +01:00
```
## LICENSE
2020-07-20 16:33:25 +02:00
Everything is licensed under the MIT license and is free to be used in your own fork.
2020-02-26 17:23:57 +01:00
See [EMC](https://github.com/starlis/empirecraft), [Lithium](https://github.com/jellysquid3/lithium-fabric), [Akarin](https://github.com/Akarin-project/Akarin), [Purpur](https://github.com/pl3xgaming/Purpur), [Papercut](https://github.com/Minevictus/Papercut/), [Origami](https://github.com/MrIvanPlays/Origami), [Origami(2)](https://github.com/Minebench/Origami), and [Tuinity](https://github.com/Spottedleaf/Tuinity)
2020-02-26 17:23:57 +01:00
for the license of material used/modified by this project.
2020-07-20 15:31:00 +02:00
**To use this project you'll have to accept the Mojang EULA!**