A reimagined vision of a BetterEnd
Paulevs' legendary mod BetterEnd drastically transformed Minecraft's final dimension from a barren, repetitive wasteland into a thriving and alien worldscape, filled with life, light, adventure and mystery. Sadly, after almost five years of continued development, the mod has been abandoned, and its codebase is a tangled, unmaintainable mess, spread across no fewer than four separate repos.
The goal of this project is not to be a continuation, faithful port or ground-up rewrite. It is instead to create a simple, maintainable mod that can bring the core aspects of BetterEnd's ethos—that of a brighter dimension, teeming with life—to future versions of the game.
The intent of this mod is not to be a 1-to-1 recreation of BetterEnd, and while no biomes are explicitly being excluded, porting them is subject to interest (the developers' and the community's). You can find a list of features slated for development, tied to the "milestone" (release) they're targeted for, on the issues page.
If there's a specific biome of BetterEnd feature you'd like to see prioritized, feel free to open an issue requesting it, after first having read through the following sections:
The completed version of LighterEnd:
- Will likely feature ore, but not Thallasium or Ender Ore (and thus, there will be no Terminite nor Aeternium)—these material types are either redundant or overpowered.
- Will not include Crystalite armor. Which, again, is overpowered.
- While the mod features an armored elytra, it is heavily nerfed (with the glide decay of Aeternium elytra and sub-Diamond levels of protection) in order to balance it with vanilla elytra
- Will only feature one type of end soil, though this soil may take on different appearances in different biomes, and bonemealing the soil in different biomes will produce different plants
- Will not include Eternal Portals
- Will not implement hammers, forging, infusing or alloying
- Will feature the End Veil effect, but solely as a potion effect, not as an enchantment
On the flip side, LighterEnd has or will have features not present in BetterEnd
- The option for gravity in The End to be 1/3 of normal
- Silk Elytra—a craftable, trimmable and renewable armored elytra
- New survival-challenge-friendly crafting recipes (such as the ability to get paper from end lily leaves and arrows from cubozoa drops)
- Sniffers that sploot on End Moss will dig up rare End saplings
- Obelisks that you can teleport to upon almost dying (meaning your stuff is safe even if you fall into The Void)
- Ice stars will be more common and will contain ice enriched with metals (copper, gold, iron)
- New trim materials (and possibly trim patterns)
LighterEnd is compatible out-of-the-box with both Nullscape and Moog's End Structures
Worldgen datapack developers wanted!! If you have experience creating custom dimensions or adding biomes to existing dimensions, please contact me!
If there is a BetterEnd feature you would like to take responsibility for porting, please open an issue to start that discussion!
- Download and install a Java 21 OpenJDK such as Temurin
- Clone this repo
- Load this project into your favorite Java IDE and run the "runDatagen" gradle task (or, from
the command line, run
sh ./gradlew runDatagen
from the project root) - Now run the "build" task, either from the IDE or via
sh ./gradlew build
- The compiled jar will be found under
build/libs
- This project uses pre-commit hooks to format Markdown
and non-generated JSON files. To set up pre-commit, follow the instructions linked above to
install
pre-commit
on your system, then, from the repo root, runpre-commit install
to have the hooks run on every commit. - It is strongly recommended that you turn on automatic format on save / commit in your Java IDE.
Instructions for doing that inside IntelliJ can be found
here.
Make sure to select:
- Reformat code
- Optimize imports on any save.
- The top priority of this mod is to make it easy to understand and maintain (note that "difficult
to update" and "tedious to update" are not the same thing). This means that implementations
should be as "flat" as possible—no interfaces, the bare minimum of abstraction, and any "helper"
methods should be used at least twice before they're refactored out into their own "library"
class.
- And, just to be extra clear: this mod should never depend on any other mod, library, API or project outside the Fabric API. If someone else already solved a thing, adapt how they did it (with proper attribution, and assuming it's GPL-compatible open source)—don't just count on that library always existing forever.
- The corollary to the above is that this project will never be refactored into a general-purpose modding library or API. Anyone seeking to adapt the solutions developed for this mod is welcome to adapt those bits of code (subject to the license below).
All code in this repository is licensed under GPLv3.
Substantial portions of this mod—including most of its assets—were adapted from BetterEnd and BCLib, developed primarily by Paulevs and quiqueck, in accordance with the terms of their respective licenses:
- https://github.com/quiqueck/BCLib/blob/9607e2e50818c9059505c32c72eb2d8d00bf6e9d/LICENSE
- https://github.com/quiqueck/BetterEnd/blob/00e4892827c4f1b0d2e213348f63e57a647a8011/LICENSE
The Chorus Crab was designed by Pegnok of the BetterX Discord.
Music discs were composed, performed and recorded by Firel.
Many thanks:
- to the excellent tutorial mods developed by Kaupenjoe and TurtyWurty
- to Pintér Gábor and his IronSigns mod for providing an extremely helpful example of adding custom signs
- to the Enderscape team for great modern examples of library-free worldgen and terrain modification
- to Vanilla Tweaks for the concept of grooved levers
- to the BetterX Discord for their feedback in shaping this mod's development
You may use, modify and redistribute this mod, and you may include this mod within your modpack or run it on a server, so long as you abide by the terms of this license, which critically states that you must make the source code (including your modifications to the mod) available to anyone downloading the mod (including modified versions and including within a modpack)