All Mods Resource Packs Data Packs Shaders Modpacks Plugins
OtterLib

OtterLib

by Oth3r • Downloads: 0 • Followers: 0
Description
Gallery
Changelog
Versions

A simple library mod for minecraft, made mostly to develop my mods easier, but can be used by anyone! Currently supported loaders: Fabric, Spigot, & Paper

Use in your projects! 👍️

Want to use OtterLib in your project? You can add it as a dependency in your build.gradle file:

repositories {
    maven {
        name "oth3rMavenSnapshots"
        url "https://maven.oth3r.one/snapshots"
    }
}

Implementing on each loader, where ${project.otterlib_version} is the current version of OtterLib for the loader (e.g. 0.2.0.0+1.21.6, 0.2.0.0+1.20-1.21.6)

// fabric
modImplementation "one.oth3r:otterlib:${project.otterlib_version}-fabric"
// spigot
implementation "one.oth3r:otterlib:${project.otterlib_version}-spigot"
// paper
implementation "one.oth3r:otterlib:${project.otterlib_version}-paper"

Visit the maven repository to see more indepth information about the library, including the latest versions.

Features

💬 Simple Chat Builder

sample usage:

player.sendMessage(new CTxT("Hello").color(Color.BLUE).bold(true).strikethrough(true)
    .append(new CTxT("World!!!!!!!!!").rainbow(new Rainbow(true)).underline(true).italic(true)).b());

in game example:

In game example

📜 Custom Language Reader

OtterLib provides a custom language reader that allows you to easily have server-side localization on all supported loaders. There is also support for a secondary location for locales for easy player overrides.

🗃️ Robust file saving and loading

Adds an interface that enables easy config file creation with support for saving, loading, and updating versions easily.

updating an old entry from the json to the new version:

@Override
public void update(JsonElement jsonElement) {
    JsonObject file = jsonElement.getAsJsonObject();
    if (file.get("version").getAsDouble() == 1.0) {
        this.version = 1.1;
        this.test = file.get("test-bool").getAsBoolean();
    }
}

⚙️ Custom config screen

OtterLib offers a custom config screen that can be cuztomized to offer a way to edit multiple config files, link to social media, or even open different screens.

creating the screen:

client.setScreen(new ConfigScreen(client.currentScreen, Text.of("test"),
    new CustomImage(Identifier.of(FabricTest.MOD_ID, "textures/gui/banner.png"),240, 60),
    // the list of buttons to be displayed in the middle
    List.of(
            SimpleButton.Templates.fileEditor(new CTxT("Test File"), FabricTest.testFile, new CustomImage(Identifier.of(FabricTest.MOD_ID, "button/server_button"),246,26)).build(),
            SimpleButton.Templates.fileEditor(new CTxT("Test File No Image"), FabricTest.testFile).build(),
            SimpleButton.Templates.wiki(new CTxT("Help")).openLink("https://oth3r.one").size(30,30).build(),
            SimpleButton.Templates.wiki(new CTxT("Help")).openLink("https://oth3r.one").size(30,30).build(),
            SimpleButton.Templates.warning(new CTxT("Help")).openLink("https://oth3r.one").size(150,15).hideText(false).build()
    ),
    // the bottom buttons can be customized!
    List.of(
            new SimpleButton.Builder(new CTxT("Donate"))
                    .miniIcon(new CustomImage(Identifier.of(Assets.ID, "icon/donate"),15,15)).build(),
            SimpleButton.Templates.donate(new CTxT("Donate")).openLink(URI.create("https://ko-fi.com/oth3r")).build(),
            SimpleButton.Templates.done(new CTxT("Done")).build(),
            SimpleButton.Templates.wiki(new CTxT("Wiki")).openLink("https://oth3r.one").build()
    )));

main config screen in game:

main config screen

file editor in game: (individual entry editor is planned, this is just a simple placeholder)

file config screen

All Versions

+ Add Version
Name Game version Platforms Published Downloads Actions
26.3
Fabric Quilt
18h ago 1
26.2 26.1
Spigot
18h ago 1
26.2
Folia Paper Purpur
18h ago 1
26.2
Folia Paper Purpur
18h ago 1
26.2 26.1
Spigot
18h ago 1
26.2
Fabric Quilt
18h ago 1
26.2
Fabric Quilt
18h ago 1
26.1.x
Fabric Quilt
18h ago 1
26.1.x
Fabric Quilt
18h ago 1
26.1
Fabric Quilt
18h ago 1
1.21.11
Fabric Quilt
18h ago 1
1.21.x
Fabric Quilt
18h ago 1
1.21.9
Fabric Quilt
18h ago 1
1.21.x
Fabric Quilt
18h ago 1
1.21.x
Fabric Quilt
18h ago 1
1.20.1
Fabric Quilt
18h ago 1
1.20.4
Fabric Quilt
18h ago 1
1.20.6
Fabric Quilt
18h ago 1
1.20.1
Fabric Quilt
18h ago 1
1.20.4
Fabric Quilt
18h ago 1
1.21.8
Fabric Quilt
18h ago 1
1.21.4
Fabric Quilt
18h ago 1
1.21.5
Fabric Quilt
18h ago 1
1.21.x 1.20.x
Spigot
18h ago 1
1.21.7
Folia Paper Purpur
18h ago 1
1.21.7
Fabric Quilt
18h ago 1
1.20.1
Fabric Quilt
18h ago 1
1.20.4
Fabric Quilt
18h ago 1
1.20.6
Fabric Quilt
18h ago 1
1.21.7
Fabric Quilt
18h ago 1
1.21.x
Fabric Quilt
18h ago 1
1.21.4
Fabric Quilt
18h ago 1
1.21.5
Fabric Quilt
18h ago 1
1.21.6
Folia Paper Purpur
18h ago 1
1.21.x 1.20.x
Spigot
18h ago 1
1.21.6
Fabric Quilt
18h ago 1
1.21.6
Folia Paper Purpur
18h ago 1
1.21.x 1.20.x
Spigot
18h ago 1
1.21.6
Fabric Quilt
18h ago 1
1.21.6
Fabric Quilt
18h ago 1
1.21.6-pre1
Fabric Quilt
18h ago 1
1.21.6-pre1
Fabric Quilt
18h ago 1
1.20.4
Fabric Quilt
18h ago 1
1.20.1
Fabric Quilt
18h ago 1
1.20.4
Fabric Quilt
18h ago 1
1.20.6
Fabric Quilt
18h ago 1
1.21.x
Fabric Quilt
18h ago 1
1.21.4
Fabric Quilt
18h ago 1
1.21.5
Fabric Quilt
18h ago 1
1.21.5
Fabric Quilt
18h ago 1
1.21.5
Fabric Quilt
18h ago 1
1.21.5
Fabric Quilt
18h ago 1
1.21.5
Fabric Quilt
18h ago 1
# b0.4.0.2
  • fixed button hovering for OtterLib config button lists
### Previous Changes
#### b0.4.0.1
  • fixed file names for spigot and paper versions being confusing
#### b0.4.0.0
  • improved custom loader text and language translation support
  • updated Paper and Spigot API/build configuration
# b0.4.0.1
  • fixed file names for spigot and paper versions being confusing
### Previous Changes
#### b0.4.0.0
  • improved custom loader text and language translation support
  • updated Paper and Spigot API/build configuration
# b0.4.0.1
  • fixed file names for spigot and paper versions being confusing
### Previous Changes
#### b0.4.0.0
  • improved custom loader text and language translation support
  • updated Paper and Spigot API/build configuration
# b0.4.0.0
  • improved custom loader text and language translation support
  • updated Paper and Spigot API/build configuration
# b0.4.0.0
  • improved custom loader text and language translation support
  • updated Paper and Spigot API/build configuration
# b0.4.0.0
  • improved custom loader text and language translation support
  • updated Paper and Spigot API/build configuration
# b0.3.0.1
  • fixed mod versioning for the new minecraft version system
# b0.3.0.1
  • fixed mod versioning for the new minecraft version system
# b0.3.0.0
  • added the nothing click action
  • added the HoverActions class
  • added another superclass to CTxT for better adaptability
  • make color default to null, and null default to white
  • make rainbow default to null
  • switch from button to chat wrapper system
  • other ChatText changes and improvements
# b0.3.0.0
  • added the nothing click action
  • added the HoverActions class
  • added another superclass to CTxT for better adaptability
  • make color default to null, and null default to white
  • make rainbow default to null
  • switch from button to chat wrapper system
  • other ChatText changes and improvements
# b0.2.2.1
  • increased supported version range (eg. 1.21.8 now runs on 1.21.6 and 1.21.7 as well) [Fabric]

# b0.2.2.0
A new file registration system is here! (for both config and language files)
\
OtterLib will now handle storing, loading and saving config files! Auto loading and saving can be configured, and the file will be registered via queried via ModID and FileID.
  • added a config file registration system (CustomFileReg)
  • added a language file registration system (LanguageReg)
# b0.2.2.1
  • increased supported version range (eg. 1.21.8 now runs on 1.21.6 and 1.21.7 as well) [Fabric]

# b0.2.2.0
A new file registration system is here! (for both config and language files)
\
OtterLib will now handle storing, loading and saving config files! Auto loading and saving can be configured, and the file will be registered via queried via ModID and FileID.
  • added a config file registration system (CustomFileReg)
  • added a language file registration system (LanguageReg)
# b0.2.2.1
  • increased supported version range (eg. 1.21.8 now runs on 1.21.6 and 1.21.7 as well) [Fabric]

# b0.2.2.0
A new file registration system is here! (for both config and language files)
\
OtterLib will now handle storing, loading and saving config files! Auto loading and saving can be configured, and the file will be registered via queried via ModID and FileID.
  • added a config file registration system (CustomFileReg)
  • added a language file registration system (LanguageReg)
# b0.2.2.1
  • increased supported version range (eg. 1.21.8 now runs on 1.21.6 and 1.21.7 as well) [Fabric]

# b0.2.2.0
A new file registration system is here! (for both config and language files)
\
OtterLib will now handle storing, loading and saving config files! Auto loading and saving can be configured, and the file will be registered via queried via ModID and FileID.
  • added a config file registration system (CustomFileReg)
  • added a language file registration system (LanguageReg)
# b0.2.2.0
A new file registration system is here! (for both config and language files)
\
OtterLib will now handle storing, loading and saving config files! Auto loading and saving can be configured, and the file will be registered via queried via ModID and FileID.
  • added a config file registration system (CustomFileReg)
  • added a language file registration system (LanguageReg)
# b0.2.2.0
A new file registration system is here! (for both config and language files)
\
OtterLib will now handle storing, loading and saving config files! Auto loading and saving can be configured, and the file will be registered via queried via ModID and FileID.
  • added a config file registration system (CustomFileReg)
  • added a language file registration system (LanguageReg)
# b0.2.2.0
A new file registration system is here! (for both config and language files)
\
OtterLib will now handle storing, loading and saving config files! Auto loading and saving can be configured, and the file will be registered via queried via ModID and FileID.
  • added a config file registration system (CustomFileReg)
  • added a language file registration system (LanguageReg)
# b0.2.2.0
A new file registration system is here! (for both config and language files)
\
OtterLib will now handle storing, loading and saving config files! Auto loading and saving can be configured, and the file will be registered via queried via ModID and FileID.
  • added a config file registration system (CustomFileReg)
  • added a language file registration system (LanguageReg)
# b0.2.1.1
  • fixed OtterLib not working properly on 1.20.4 and below
# b0.2.1.0
Fixed support for reading language files inside of jars.
  • added ResourceReader, allowing for the reading of resources in the jar
  • updated LanguageReader to use ResourceReaders instead of normal paths
# b0.2.1.1
  • fixed OtterLib not working properly on 1.20.4 and below
# b0.2.1.0
Fixed support for reading language files inside of jars.
  • added ResourceReader, allowing for the reading of resources in the jar
  • updated LanguageReader to use ResourceReaders instead of normal paths
# b0.2.2.0
A new file registration system is here! (for both config and language files)
\
OtterLib will now handle storing, loading and saving config files! Auto loading and saving can be configured, and the file will be registered via queried via ModID and FileID.
  • added a config file registration system (CustomFileReg)
  • added a language file registration system (LanguageReg)
# b0.2.2.0
A new file registration system is here! (for both config and language files)
\
OtterLib will now handle storing, loading and saving config files! Auto loading and saving can be configured, and the file will be registered via queried via ModID and FileID.
  • added a config file registration system (CustomFileReg)
  • added a language file registration system (LanguageReg)
# b0.2.2.0
A new file registration system is here! (for both config and language files)
\
OtterLib will now handle storing, loading and saving config files! Auto loading and saving can be configured, and the file will be registered via queried via ModID and FileID.
  • added a config file registration system (CustomFileReg)
  • added a language file registration system (LanguageReg)
# b0.2.2.0
A new file registration system is here! (for both config and language files)
\
OtterLib will now handle storing, loading and saving config files! Auto loading and saving can be configured, and the file will be registered via queried via ModID and FileID.
  • added a config file registration system (CustomFileReg)
  • added a language file registration system (LanguageReg)
# b0.2.2.0
A new file registration system is here! (for both config and language files)
\
OtterLib will now handle storing, loading and saving config files! Auto loading and saving can be configured, and the file will be registered via queried via ModID and FileID.
  • added a config file registration system (CustomFileReg)
  • added a language file registration system (LanguageReg)
# b0.2.2.0
A new file registration system is here! (for both config and language files)
\
OtterLib will now handle storing, loading and saving config files! Auto loading and saving can be configured, and the file will be registered via queried via ModID and FileID.
  • added a config file registration system (CustomFileReg)
  • added a language file registration system (LanguageReg)
# b0.2.1.0
Fixed support for reading language files inside of jars.
  • added ResourceReader, allowing for the reading of resources in the jar
  • updated LanguageReader to use ResourceReaders instead of normal paths
# b0.2.1.0
Fixed support for reading language files inside of jars.
  • added ResourceReader, allowing for the reading of resources in the jar
  • updated LanguageReader to use ResourceReaders instead of normal paths
# b0.2.1.0
Fixed support for reading language files inside of jars.
  • added ResourceReader, allowing for the reading of resources in the jar
  • updated LanguageReader to use ResourceReaders instead of normal paths
# b0.2.1.0
Fixed support for reading language files inside of jars.
  • added ResourceReader, allowing for the reading of resources in the jar
  • updated LanguageReader to use ResourceReaders instead of normal paths
OtterLib Icon
Download OtterLib
Select game version
Select platform