Перейти к содержимому
Mineforgian

Red Core

Red Core is the foundational library for Red Studio projects and associated projects.

293K загрузок12 подписчиковMITforge

Обновлён 13 января 2026 г. · опубликован 13 июня 2023 г.

Buy Me a Coffee Discord

Red Core Banner with Background Rounded

Red Core is the foundational library for Red Studio projects and associated projects.

Features

  • RedLogger: A user and dev-friendly logger, useful for errors and crash logging when lots of information is needed.
  • Vectors: A fast and simple vector suite, for every Java primitive.
  • MathUtil: A utility class which provides nice to have math related methods.
  • ClampUtil: A utility class which provides fast biased clamping for every primitive, and testers to know exactly which end to bias towards.
  • Jafama: Red Core embeds Jafama allowing you to use it in your mods.

Minecraft Specific Features

  • RedClientTicker: A client ticker which provides slower ticking methods for things that don't require updating 20 times per second.
  • NetworkUtil: A utility class which makes networking easier, safer and cleaner.
  • OptiNotFine: A utility class which allows you to easily know if OptiFine is installed, force off specific OptiFine features, and also allows you to know if shaders are enabled.

Why Red Core?

Red Core is used in most projects Red Studio is involved in, it aims at reducing redundant code amongst projects and making it easier to do a plethora of things.

Red Core aims to have great Javadoc's and comments, so you can know what something does without leaving your IDE.

Red Core is always evolving, and you can help, pull requests and feature requests are very welcome.


BisectHostingPromoBanner

Want to have your own mod or support me?

If you're looking for a mod but don't have the development skills or time, consider commissioning me! My commissions are currently open and I would be happy to create a custom mod to fit your needs as long as you provide assets.

Commissions

You can also support me on a monthly basis by becoming a member. To thank you will have the possibility to access exclusive post and messages, Discord channel for WIP content, and even access to unreleased Prototypes or WIP Projects.

Membership

You can also buy me a hot chocolate.

Версии

ВерсияКаналИграЗагрузчикиДатаСкачать
0.7.1Бета1.11, 1.11.2, 1.12, 1.12.2forge13 января 2026 г..jar (146 КБ)
0.7Бета1.11, 1.11.2, 1.12, 1.12.2forge29 декабря 2025 г..jar (146 КБ)
0.6Бета1.11, 1.11.2, 1.12, 1.12.2forge2 февраля 2025 г..jar (148 КБ)
0.5.1Бета1.11, 1.11.2, 1.12, 1.12.2forge20 ноября 2023 г..jar (128 КБ)
0.5Бета1.11, 1.11.2, 1.12, 1.12.2forge17 ноября 2023 г..jar (118 КБ)
0.4Бета1.12.2forge7 сентября 2023 г..jar (75 КБ)
0.3.1Бета1.12.2forge24 июля 2023 г..jar (68 КБ)
0.2Бета1.12.2forge13 июня 2023 г..jar (62 КБ)

Ченджлог

0.7.1Бета1.11.2, 1.12, 1.12.2 · 13 января 2026 г.

Changelog File (Include Previous Versions)

Red Core Version 0.7.1 Changelog - 2026-01-13

Red Core MC

Fixed

  • Fixed RedCorePlugin not being able to be found by the loader
0.7Бета1.11.2, 1.12, 1.12.2 · 29 декабря 2025 г.

Changelog File (Include Previous Versions)

Red Core Version 0.7 Changelog - 2025-12-29

Deprecated

  • Deprecated ClampUtil#clampTest, ClampUtil#clampMinFirst, ClampUtil#clampMaxFirst in favor of ClampUtil#clamp

Added

  • Added RedDeprecated annotation
  • Added ClampUtil#clamp methods for all primitives

Internal

Red Core MC

Added

  • Added RedLoadingPlugin an abstract class which you can extend instead of implementing IFMLLoadingPlugin, it implements the standard stub methods for you

Changed

  • Updated mcmod.info
  • Moved RedCorePlugin to asm package

Fixed

  • Fixed name being core instead of Red Core

Internal

0.6Бета1.11.2, 1.12, 1.12.2 · 2 февраля 2025 г.

Changelog File (Include Previous Versions)

Red Core Version 0.6 Changelog - 2025-02-01

Deprecation Warning

The method RedLogger#printFramedError has been renamed to RedLogger#logFramedError, all usages should be updated before 0.8.

Added

  • Case a utility enum for handling checking, applying and enforcing naming conventions, currently supported casing:
    • camelCase
    • PascalCase
    • kebab-case
    • lower_snake_case
    • UPPER_SNAKE_CASE
  • Added RedLogger#framed which allows logging lists in a readable manner (e.g., versioning information)
  • Added DecimalUtils a utility class which currently allows for truncating decimal numbers for human reading
  • Added empty private constructors to hide implicit public ones
  • Added the brand new Vector suite, it has Vector3 and Vector2 variants for every primitive

Changed

  • Improved documentation for RedLogger#logFramedError
  • Renamed RedLogger#printFramedError to RedLogger#framedError
  • Switched from Javadoc to Markdowndoc
  • Most utility classes now use Lombok @UtilityClass

Internal

Red Core MC

Added

  • AABBUtil a utility class for handling axis aligned bounding boxes
  • AABBUtil#orientAABB a utility method for orienting a north facing AABB towards any EnumFacing allowing you to make only one AABB that works for every direction
  • Added empty private constructors to hide implicit public ones

Removed

  • Removed support for 1.7.10 (Compatibility layer caused issue with the ownership system, wrongfully attributing issues to Red Core)

Optimization

  • OptiNotFine now uses MethodHandle

Internal

0.5.1Бета1.11.2, 1.12, 1.12.2 · 20 ноября 2023 г.

Changelog File (Include Previous Versions)

Red Core Version 0.5.1 Changelog - 2023-11-20

Red Core MC

Changed

  • Improved compatibility with older versions

Fixed

  • Fixed version check
  • Fixed mod not showing up in the mod menu in older versions
0.5Бета1.11.2, 1.12, 1.12.2 · 17 ноября 2023 г.

Changelog File (Include Previous Versions)

Red Core Version 0.5 Changelog - 2023-11-17

Highlight

Welcome to Red Core 0.5 an originally breaking release, but now it has a compatibility layer, all mods using it should update before 0.8 when the compatibility layer will be removed.

Note: The compatibility layer is only for the MC (Minecraft) part of Red Core as normally it should only have been used there prior to 0.5

The separation

Red Core and its Minecraft parts have been separated into two, this allows for greater freedom in how we develop Red Core, but also allows for Red Core to be used in any Java project. Thanks to this separation, Red Core MC is now available for 1.7.10 through 1.12.2 meaning every version in between is compatible.

New GroupId

The old groupId was bad, and I did not own it, now both of these things are fixed by the brand new dev.redstudio which is more readable and sounds better, also I actually own it.

Re-Branding!

Red Core Banner Say welcome to the new Red Core branding! The Readme is also getting a makeover.

Added

  • Added an Experimental annotation
  • Added a new experimental vector suite, this is supposed to replace the existing vector suite in 0.6 the existing vector suite is marked for removal in 0.8
  • Added a compatibility layer for old groupId which is marked for removal in 0.8

Changed

  • MathUtil is now under utils.math
  • Separated MathUtil clamping methods into their own class ClampUtil
  • Changed GroupId from io.redstudioragnarok to dev.redstudio
  • Made RedLogger#RANDOM private

Removed

  • Removed Stopwatch it wasn't that good or useful but was fun to make

Fixed

  • Fixed inconsistent argument naming in MathUtil#lerp

Internal

  • Switched to gradle-buildconfig-plugin entirely for project constants
  • Switched to Gradle Kotlin DSL
  • Switched to Adoptium
  • General cleanup

Red Core MC

Added

  • Added support for mc versions 1.7.10 through 1.12.2

Changed

  • Switched to CurseUpdate for update checking
  • Moved startClientTicker from RedCore to `RedClientTicker
  • Moved forceOptiFineFastRenderOff from RedCore to OptiNotFine
  • Deprecated the vector suite as it is to be replaced by the new vector suite in 0.6

Removed

  • Removed pack.mcmeta

Internal

  • General cleanup
0.4Бета1.12.2 · 7 сентября 2023 г.

Changelog File (Include Previous Versions)

Red Core Version 0.4 Changelog - 2023-09-07

Highlight

Welcome to Red Core 0.4 a non-breaking release that includes a lot of Quality of Life enhancements and general polishing of certain parts of Red Core.

Red Core 0.5 will be a breaking release since we will switch from io.redstudioragnarok to dev.redstudio stay tuned as dev builds will only be released for devs on GitHub as to not cause issue will mods prepare their updates.

Networking with Vectors just got a lot easier and cleaner too!

You now have read and write methods for all Vectors from Red Core, it simply take in ByteBuf and takes care of the rest.

Before

Before

After

After

Red Logger just got cleaner!

RedLogger#printFramedError will not add empty lines anymore if whatNow and/or additionalInformation is empty.

Before

Before

After

Before

Added

  • NetworkUtil: Designed to streamline network coding practices, this utility makes writing cleaner, safer, and more efficient networking code effortless.
  • Added read and write methods to all vectors that allows for easy networking
  • Added int, short and byte versions of clampTest, clampMinFirst and clampMaxFirst in MathUtil
  • Added int versions of the vectors
  • Added a Vec2f constructor for the 2-dimensional vectors
  • Added a zero method for the 2-dimensional vector
  • Added missing pack.mcmeta

Changed

  • Red Core is now a core-mod making it load as early as possible, so Red Core can now be used in Mixins for example
  • RedLogger#printFramedError will not add empty lines if whatNow and/or additionalInformation is empty
  • Improved error logging of the Stopwatch
  • Red Core jar name now has a ! at the start so that it gets loaded earlier than mods using it
  • Cleaned up the vectors they might be slightly more performant as a result
  • Updated mcmod.info

Fixed

  • Fixed Red Core using the wrong GitHub issue link when logging errors
  • Fixed Red Core using its id instead of its name for logging
0.3.1Бета1.12.2 · 24 июля 2023 г.

Changelog File (Include Previous Versions)

Red Core Version 0.3.1 Changelog - 2023-7-16 [YANKED]

Fixed

  • Fixed Forge not being able to subscribe the RedClientTicker causing a crash

Red Core Version 0.3 Changelog - 2023-7-16

Added

  • RedClientTicker: A useful ticker that allows you to have ticks every 2, 5 or 10 normal ticks, for things that shouldn't run 20 times a second.
  • OptiNotFine: A must-have when working with OptiFine compatibility, it allows you to know if OptiFine is installed, whether shaders are loaded, and to force fast render off.

Changed

  • RedLogger now uses a String instead of a URI for the newIssueLink parameter, the old constructor has been deprecated and is due for removal for 0.4
  • RedLogger recomfort messages might be more random

Optimized

  • Optimized RedLogger#printFramedError it should now use slightly less memory and thus have less GC pressure
0.2Бета1.12.2 · 13 июня 2023 г.

Changelog File (Include Previous Versions)

Red Core Version 0.2 Changelog - 2023-6-13

Added

  • MathUtil: A purpose-built class providing an array of mathematical methods, engineered with a steadfast focus on rapid processing and calculations.
  • Vectors: A comprehensive and efficient suite of vectors, designed with performance and simplicity in mind.
  • RedLogger: An advanced error logger engineered to make error logging and understanding significantly more user-friendly.
  • Included Jafama: A high-performance math library now incorporated within the Red Core, for better compatibility between mods.
  • Stopwatch Enhancements: The Stopwatch feature now boasts the ability to output results directly to a file, in addition to averaging all these results for comprehensive analysis.

Changed

  • Renamed the Chronometer component to the more intuitive Stopwatch for improved user understanding.
  • The Stopwatch feature has been refined to display outputs in milliseconds, accurate up to two decimal places.

Полная история изменений — на Modrinth.

Комментарии

Загружаем…