Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
eb78e0d
Updated build system
brunoxkk0 Jul 8, 2026
524f681
Reformatting the code
brunoxkk0 Jul 8, 2026
2aa3022
Refactored all references to `Tags.*` constants by replacing them wit…
brunoxkk0 Jul 8, 2026
10cc8ac
Removed unused imports of `Tags` throughout the codebase.
brunoxkk0 Jul 16, 2026
ee40105
Refactored Mixin and TargetedMod systems; introduced VanillaMixins an…
brunoxkk0 Jul 16, 2026
86b2209
Added compatibility for Angelica mod; implemented custom glyph render…
brunoxkk0 Jul 16, 2026
5e379a0
Refactored `addClientMixins` and `addServerMixins` calls to eliminate…
brunoxkk0 Jul 16, 2026
41b157d
Adjusted glyph Y-offset in `BatchingFontRendererMixin` for improved r…
brunoxkk0 Jul 16, 2026
011251a
Added support for modern fonts in `BatchingFontRendererMixin` and `Fo…
brunoxkk0 Jul 16, 2026
a243e10
Fixed glyph rendering alignment in `BatchingFontRendererMixin` by adj…
brunoxkk0 Jul 16, 2026
1e634e0
Expanded `modern_fonts.json` with additional glyph entries and update…
brunoxkk0 Jul 16, 2026
0dc5a23
Added `glyph_sizes.bin` to resources for improved glyph size management.
brunoxkk0 Jul 18, 2026
a2406eb
Removed invalid Angelica compatibility layer and deprecated mixin plu…
brunoxkk0 Jul 18, 2026
799103c
Removed `FontRenderer2Mixin` and merged its functionality into `FontR…
brunoxkk0 Jul 20, 2026
6ebb5a8
Removed Angelica compatibility, deprecated `FontStrategistMixin`, and…
brunoxkk0 Jul 20, 2026
c705e07
Fix font rendering state and mod identity
brunoxkk0 Jul 25, 2026
65a38d0
Ignore missing optional glyph registries
brunoxkk0 Jul 25, 2026
7791e48
Preserve color after ModernFont glyphs
brunoxkk0 Jul 25, 2026
589647b
Fix Angelica CustomGlyph texture rendering
brunoxkk0 Jul 25, 2026
996afd8
feat(font): add feature toggles and improve modularity
brunoxkk0 Jul 28, 2026
7f9e5f7
Revamp README.md: streamline content, update shield badges, enhance c…
brunoxkk0 Jul 28, 2026
1b1bba2
Bump mod version to 2.0.0 in gradle.properties
brunoxkk0 Aug 1, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
22 changes: 22 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# This is the universal Text Editor Configuration
# for all GTNewHorizons projects
# See: https://editorconfig.org/

root = true

[*]
charset = utf-8
end_of_line = lf
indent_size = 4
indent_style = space
insert_final_newline = true
trim_trailing_whitespace = true

[*.{bat,ini}]
end_of_line = crlf

[*.{dtd,json,info,mcmeta,md,sh,svg,xml,xsd,xsl,yaml,yml}]
indent_size = 2

[*.{lang,md}]
trim_trailing_whitespace = false
19 changes: 11 additions & 8 deletions .github/workflows/staging-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@ on:
push:
branches:
- master
pull_request:
branches:
- master

permissions:
contents: write
Expand All @@ -13,13 +16,13 @@ jobs:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up JDK 17
uses: actions/setup-java@v2
- name: Set up JDK 25
uses: actions/setup-java@v4
with:
java-version: '17'
java-version: '25'
distribution: 'temurin'

- name: Enforce gradle permission
Expand All @@ -30,19 +33,19 @@ jobs:

- name: Get short hash
id: short_sha
run: echo "::set-output name=sha::$(expr substr ${{ github.sha }} 1 7)"
run: echo "sha=$(expr substr ${{ github.sha }} 1 7)" >> "$GITHUB_OUTPUT"

- name: Set version based on generated hash
run: git tag dev-${{ steps.short_sha.outputs.sha }}

- name: Setup NecroTempus
run: ./gradlew clean setupDecompWorkspace --refresh-dependencies
run: ./gradlew clean --refresh-dependencies

- name: Build NecroTempus distribution packages
run: ./gradlew build

- name: Create Release
uses: softprops/action-gh-release@v1
uses: softprops/action-gh-release@v2
with:
tag_name: staging-${{ steps.short_sha.outputs.sha }}
prerelease: true
Expand All @@ -51,4 +54,4 @@ jobs:
This is an automatic pre-release build of commit ${{ github.sha }}
With this release you can test ahead of time the next NecroTempus release candidate
files: |
build/libs/*
build/libs/*
66 changes: 38 additions & 28 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,28 +1,38 @@
# Compiled class file
*.class

# Log file
*.log

# BlueJ files
*.ctxt

# Mobile Tools for Java (J2ME)
.mtj.tmp/

# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar

build/
.gradle/

# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*

run
.gradle
.settings
/.idea/
/.vscode/
/run/
/build/
/eclipse/
.classpath
.project
/bin/
/config/
/crash-reports/
/logs/
options.txt
/saves/
usernamecache.json
banned-ips.json
banned-players.json
eula.txt
ops.json
server.properties
servers.dat
usercache.json
whitelist.json
/out/
*.iml
*.ipr
*.iws
*.bat
*.DS_Store
!gradlew.bat
.factorypath
addon.local.gradle
addon.local.gradle.kts
addon.late.local.gradle
addon.late.local.gradle.kts
layout.json
/com/
1 change: 1 addition & 0 deletions .java-version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
25
83 changes: 44 additions & 39 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,58 +1,63 @@
![](https://img.shields.io/badge/Minecraft%20Forge-v10.13.4.1614-orange?style=flat-square)
![](https://img.shields.io/badge/Minecraft-1.7.10-orange?style=flat-square)
![](https://img.shields.io/badge/Java%20JDK-v1.8-red?style=flat-square)
![](https://img.shields.io/badge/Mixin-0.8.5--GTNH-red?style=flat-square)
![](https://img.shields.io/badge/Omniconfig-1.0.1-purple?style=flat-square)
![](https://img.shields.io/discord/682358465175355393?color=blue&label=Discord&logo=Discord&style=flat-square)
# NecroTempus

![NecroTempus](https://github.com/CrucibleMC/NecroTempus/assets/26889025/74b9f118-ef77-4842-8b3a-e4ebf7af94a2)
[![Minecraft 1.7.10](https://img.shields.io/badge/Minecraft-1.7.10-orange?style=flat-square)](https://minecraft.net)
[![Forge 10.13.4.1614](https://img.shields.io/badge/Forge-10.13.4.1614-orange?style=flat-square)](https://files.minecraftforge.net)
[![Java 8](https://img.shields.io/badge/Java-8-red?style=flat-square)](https://adoptium.net)
![Discord](https://img.shields.io/discord/682358465175355393?color=blue&label=Discord&logo=Discord&style=flat-square)

![NecroTempus](https://github.com/CrucibleMC/NecroTempus/assets/26889025/74b9f118-ef77-4842-8b3a-e4ebf7af94a2)

# NecroTempus: Advanced Integration for Minecraft 1.7.10
NecroTempus brings modern Minecraft features to 1.7.10 and connects the
[Crucible](https://github.com/CrucibleMC/Crucible) server APIs to compatible clients.
It provides a shared implementation for server-driven interfaces and their client-side rendering.

Welcome to Crucible NecroTempus, a meticulously developed mod designed to bring the latest and most exciting features from newer Minecraft versions to the beloved 1.7.10 edition. This mod fosters seamless synergy between the Crucible server and the player's client-side experience.
## How it works

## **How It Works:**
On the server, NecroTempus implements newer Bukkit API features, centralizes API calls
and sends the required packets. On the client, it registers the corresponding interfaces
and renderers, then applies the updates received from the server.

### On the Server:
- We've implemented interfaces based on the new Bukkit API foundations.
- By integrating NecroTempus into your server, the mod takes the reins, rewriting, and implementing feature codes.
- NecroTempus centralizes all API calls and oversees packet transmission.
## Features

### On the Client:
- NecroTempus loads and configures all essential GUIs and packets for efficient processing.
- When receiving packets from the server, the mod executes corresponding actions accurately.
- **Server detection:** identifies standard Crucible servers and servers running NecroTempus.
- **Boss bars:** adds customizable boss bars with mod integration support.
- **Titles and action bars:** displays server-controlled messages in modern UI formats.
- **Player list:** supports custom headers, footers and player heads.
- **Custom glyphs:** renders images as characters, including support for custom inventory layouts.
- **Modern fonts:** provides newer font rendering with optional Angelica compatibility.

## **Key Features:**
## Requirements

- **Advanced Detection System:**
Know when you're connected to a pure Crucible server or one enhanced with NecroTempus.
- Minecraft 1.7.10 with Forge 10.13.4.1614
- Java 8
- [Omniconfig](https://github.com/CrucibleMC/Omniconfig)
- A Mixin 0.8.5 or newer provider, such as [UniMixins](https://github.com/LegacyModdingMC/UniMixins)

- **Enhanced BossBar:**
Elevate the BossBar experience to new heights, allowing seamless integration with mods and advanced customization.
## Installation

- **Titles and Action Bar:**
Enjoy impactful titles and informative action bars to enhance player communication.
1. Download NecroTempus, Omniconfig and a compatible Mixin provider.
2. Place the JAR files in the instance's `mods` folder.
3. Start or restart the client or server.

- **Custom PlayerList:**
Transform the player list into something unique by adding titles, and footers, and even displaying the player's head next to their names.
## Customization

- **Custom Glyps System:**
Now you can customize character rendering by using images, similar to the newer versions. Additionally, you can create custom inventories using only a character.
Features can be controlled through the Bukkit API or CraftTweaker. See the
[wiki](https://github.com/CrucibleMC/NecroTempus/wiki) for usage examples and the
available APIs.

We're excited to bring a modern touch to the beloved Minecraft version 1.7.10, delivering a feature-rich experience and advanced integrations. Explore Crucible NecroTempus and take your Minecraft journey to an entirely new level.
## Font configuration

## **How To Use:**
![](https://img.shields.io/badge/Mixin-0.8.5--GTNH-red?style=flat-square)
![](https://img.shields.io/badge/Omniconfig-1.0.1-purple?style=flat-square)
Omniconfig provides four options, enabled by default:

This mod needs [**Omniconfig**](https://github.com/CrucibleMC/Omniconfig) to work.
- `glyphs`: custom glyph loading and rendering
- `modernFonts`: modern font loading and rendering
- `angelicaGlyphsIntegration`: custom glyph support in Angelica
- `angelicaModernFontsIntegration`: modern font support in Angelica

This mod needs AnyMixingMod with at least version 8.5, like [**UniMixin**](https://github.com/LegacyModdingMC/UniMixins).
The glyph and modern-font modules are independent. Each Angelica option only affects
its matching module in Angelica's batching renderer, while the main module option takes
precedence over its integration option. Restart the client after changing these settings.

### Installation:
1. Download UniMixin and place it in your mods folder.
2. Download NecroTempus and place it in your mods folder.
3. And it's done, you don't need to do anything else.
## License

**All customizations are done through the Bukkit API or can be done by CraftTweaker, look at our [*wiki*](https://github.com/CrucibleMC/NecroTempus/wiki) to see the implemented APIs.**
See [LICENSE](LICENSE).
Loading
Loading