Skip to content
Open
Show file tree
Hide file tree
Changes from 30 commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
00282c1
fix incorrect key
JXSnack Feb 19, 2025
fb59883
gotta commit it
Lemonnik6484 Dec 14, 2025
99a967a
Fix shields and spears
tangoethan Jan 20, 2026
43ed99f
wtf was that
Lemonnik6484 Mar 21, 2026
fd7f0e9
update stonecutter
Lemonnik6484 Mar 21, 2026
e81cba5
update fabric & loom
Lemonnik6484 Mar 21, 2026
a2cbaf1
update wrapper
Lemonnik6484 Mar 21, 2026
b76100d
update stonecutter.gradle
Lemonnik6484 Mar 21, 2026
86644c6
split build scripts & 26.1 properties
Lemonnik6484 Mar 21, 2026
b5e500f
no stonecutter warning
Lemonnik6484 Mar 22, 2026
31c7078
26.1 versioning
Lemonnik6484 Mar 22, 2026
a2cb709
no accesswidener
Lemonnik6484 Mar 22, 2026
397d8a1
PortalManagerMixin placeholder
Lemonnik6484 Mar 22, 2026
2409f34
update metadata
Lemonnik6484 Mar 22, 2026
272b506
remove all accesswidener related stuff
Lemonnik6484 Mar 22, 2026
1e564ff
fix modmenu import
Lemonnik6484 Mar 22, 2026
2a93934
fix metadata version
Lemonnik6484 Mar 22, 2026
2ae5648
update properties for 26.1
Lemonnik6484 Mar 24, 2026
6f78118
fabric loader 0.18.5
Lemonnik6484 Mar 25, 2026
c0f8128
update dependencies
Lemonnik6484 Mar 25, 2026
1fe831c
26.1 -> 26.1.1
Lemonnik6484 Apr 5, 2026
ce9d7ac
fix 1.21.9 (?)
Lemonnik6484 Apr 5, 2026
e1c8e0d
fix 1.21.11 (??)
Lemonnik6484 Apr 5, 2026
50a2689
oops fix 26.1+ too
Lemonnik6484 Apr 5, 2026
8c89e54
Merge pull request #63 from tangoethan/main
Lemonnik6484 Apr 6, 2026
6f4ec84
Merge remote-tracking branch 'snackbag/main' into update/26.1-support
Lemonnik6484 Apr 6, 2026
0addf55
Merge pull request #68 from snackbag/update/26.1-support
Lemonnik6484 Apr 6, 2026
109e1d8
Merge remote-tracking branch 'origin/fix/server-watchdog-no-effect-24'
Lemonnik6484 Apr 6, 2026
6f263f8
refactor exporter and more
Lemonnik6484 Apr 6, 2026
ab2786e
Merge remote-tracking branch 'origin/main' into config-refactor
Lemonnik6484 Apr 6, 2026
a896b93
move packages, remove old config, fix logging
Lemonnik6484 Apr 30, 2026
280a2d1
Merge branch 'main' into config-refactor
Lemonnik6484 Apr 30, 2026
9965c9d
Merge branch 'main' into config-refactor
Lemonnik6484 May 29, 2026
e67546d
Merge branch 'main' into config-refactor
Lemonnik6484 May 31, 2026
149c094
sync config
Lemonnik6484 May 31, 2026
5712d53
scrap exporter
Lemonnik6484 May 31, 2026
e94db8b
remove leftovers
Lemonnik6484 Jun 6, 2026
b043ddb
lemon maven
Lemonnik6484 Jun 6, 2026
6ec4c09
BOOOOOM
Lemonnik6484 Jun 6, 2026
0fef310
oh and fix mixins
Lemonnik6484 Jun 6, 2026
fb39f3d
new maven url
Lemonnik6484 Jun 12, 2026
e17b2fc
bump fern to 1.2.0
Lemonnik6484 Jun 15, 2026
2123a08
fern 26.1.2 -> 26.1.1
Lemonnik6484 Jun 15, 2026
71b21c4
adapt to fern 1.2.0
Lemonnik6484 Jun 15, 2026
7a3f870
fern 1.2.0 -> 1.3.0
Lemonnik6484 Jun 18, 2026
418cfcf
update to fern 1.3.0
Lemonnik6484 Jun 18, 2026
4098633
change VCS version to 26.1.1
Lemonnik6484 Jun 16, 2026
855b0fa
Merge remote-tracking branch 'origin/main' into config-refactor
Lemonnik6484 Jun 18, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
104 changes: 104 additions & 0 deletions build.fabric.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
plugins {
id 'net.fabricmc.fabric-loom-remap' version "${loom_version}"
id 'maven-publish'
}

version = property("mod.version")

base {
archivesName = project.archives_base_name
}

repositories {
maven { url = "https://artifacts.snackbag.net/artifactory/shitlib" } // ShitLib
maven {
name = "Terraformers"
url = "https://maven.terraformersmc.com/"
}
}

loom {
runConfigs.all {
ideConfigGenerated = true
runDir = "../../run"
}
}

fabricApi {
configureDataGeneration()
}

dependencies {
// To change the versions see the gradle.properties file
minecraft "com.mojang:minecraft:${property('deps.minecraft')}"
mappings "net.fabricmc:yarn:${property('deps.yarn_mappings')}:v2"

modImplementation "net.fabricmc:fabric-loader:${property('deps.fabric_loader')}"
modImplementation "net.fabricmc.fabric-api:fabric-api:${property('deps.fabric_api')}"

// ShitLib
implementation "net.snackbag.shit:shit:${project.shitlib_version}"
include "net.snackbag.shit:shit:${project.shitlib_version}"

// ModMenu
modImplementation("com.terraformersmc:modmenu:${project.modmenu_version}")
}

processResources {
inputs.property "version", project.version
inputs.property "minecraft", stonecutter.current.version

def map = ["version": project.version, "minecraft": stonecutter.current.version]

filesMatching("fabric.mod.json") {
expand map
}
}

tasks.withType(JavaCompile).configureEach {
it.options.release = 17
}

java {
// Loom will automatically attach sourcesJar to a RemapSourcesJar task and to the "build" task
// if it is present.
// If you remove this line, sources will not be generated.
withSourcesJar()

if (stonecutter.compare(stonecutter.current.version, "1.20.5") >= 0) {
sourceCompatibility = JavaVersion.VERSION_21
targetCompatibility = JavaVersion.VERSION_21
} else if (stonecutter.compare(stonecutter.current.version, "1.21") >= 0) {
sourceCompatibility = JavaVersion.VERSION_21
targetCompatibility = JavaVersion.VERSION_21
} else {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
}

jar {
inputs.property "archivesName", "tt20-${project.version}+mc${stonecutter.current.version}"

from("LICENSE") {
rename { "${it}_${project.base.archivesName.get()}"}
}
}

// configure the maven publication
publishing {
publications {
create("mavenJava", MavenPublication) {
artifactId = project.archives_base_name
from components.java
}
}

// See https://docs.gradle.org/current/userguide/publishing_maven.html for information on how to set up publishing.
repositories {
// Add repositories to publish to here.
// Notice: This block does NOT have the same function as the block in the top level.
// The repositories here will be used for publishing your artifact, not for
// retrieving dependencies.
}
}
97 changes: 97 additions & 0 deletions build.fabric_noremap.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
plugins {
id 'net.fabricmc.fabric-loom' version "${loom_version}"
id 'maven-publish'
}

version = property("mod.version")

base {
archivesName = project.archives_base_name
}

repositories {
maven { url = "https://artifacts.snackbag.net/artifactory/shitlib" } // ShitLib
maven {
name = "Terraformers"
url = "https://maven.terraformersmc.com/"
}
}

loom {
runConfigs.all {
ideConfigGenerated = true
runDir = "../../run"
}
}

fabricApi {
configureDataGeneration()
}

dependencies {
// To change the versions see the gradle.properties file
minecraft "com.mojang:minecraft:${property('deps.minecraft')}"

implementation "net.fabricmc:fabric-loader:${property('deps.fabric_loader')}"
implementation "net.fabricmc.fabric-api:fabric-api:${property('deps.fabric_api')}"

// ShitLib
implementation "net.snackbag.shit:shit:${project.shitlib_version}"
include "net.snackbag.shit:shit:${project.shitlib_version}"

// ModMenu
implementation("com.terraformersmc:modmenu:${project.modmenu_version}")
}

processResources {
inputs.property "version", project.version
inputs.property "minecraft", stonecutter.current.version

def map = ["version": project.version, "minecraft": stonecutter.current.version]

filesMatching("fabric.mod.json") {
expand map
}
}

tasks.withType(JavaCompile).configureEach {
it.options.release = 25
}

java {
// Loom will automatically attach sourcesJar to a RemapSourcesJar task and to the "build" task
// if it is present.
// If you remove this line, sources will not be generated.
withSourcesJar()
toolchain {
languageVersion = JavaLanguageVersion.of(25)
}
sourceCompatibility = JavaVersion.VERSION_25
targetCompatibility = JavaVersion.VERSION_25
}

jar {
inputs.property "archivesName", "tt20-${project.version}+mc${stonecutter.current.version}"

from("LICENSE") {
rename { "${it}_${project.base.archivesName.get()}"}
}
}

// configure the maven publication
publishing {
publications {
create("mavenJava", MavenPublication) {
artifactId = project.archives_base_name
from components.java
}
}

// See https://docs.gradle.org/current/userguide/publishing_maven.html for information on how to set up publishing.
repositories {
// Add repositories to publish to here.
// Notice: This block does NOT have the same function as the block in the top level.
// The repositories here will be used for publishing your artifact, not for
// retrieving dependencies.
}
}
10 changes: 5 additions & 5 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
plugins {
id 'fabric-loom' version "${loom_version}"
id 'net.fabricmc.fabric-loom-remap' version "${loom_version}"
id 'maven-publish'
}

version = property("mod.version")

base {
archivesName = project.archives_base_name
}
Expand All @@ -19,7 +21,6 @@ loom {
runConfigs.all {
ideConfigGenerated = true
runDir = "../../run"
accessWidenerPath = file("../../src/main/resources/tt20.accesswidener")
}
}

Expand All @@ -31,9 +32,8 @@ dependencies {
// To change the versions see the gradle.properties file
minecraft "com.mojang:minecraft:${property('deps.minecraft')}"
mappings "net.fabricmc:yarn:${property('deps.yarn_mappings')}:v2"
modImplementation "net.fabricmc:fabric-loader:${property('deps.fabric_loader')}"

// Fabric API. This is technically optional, but you probably want it anyway.
modImplementation "net.fabricmc:fabric-loader:${property('deps.fabric_loader')}"
modImplementation "net.fabricmc.fabric-api:fabric-api:${property('deps.fabric_api')}"

// ShitLib
Expand Down Expand Up @@ -101,4 +101,4 @@ publishing {
// The repositories here will be used for publishing your artifact, not for
// retrieving dependencies.
}
}
}
13 changes: 7 additions & 6 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,20 @@
org.gradle.jvmargs=-Xmx4G
org.gradle.parallel=true

# Disable stonecutter warning
dev.kikugie.stonecutter.hard_mode=true

# Fabric Properties
# check these on https://fabricmc.net/develop
deps.minecraft=[VERSIONED]
deps.yarn_mappings=[VERSIONED]
deps.fabric_loader=0.18.2
deps.fabric_loader=0.18.6

loom_version=1.14-SNAPSHOT
loom_version=1.15-SNAPSHOT

# Mod Properties
version=0.7.2

mod.id=tt20
mod.version=0.7.1
mod.version=0.7.2
maven_group=net.snackbag
archives_base_name=tt20

Expand All @@ -25,4 +26,4 @@ deps.fabric_api=[VERSIONED]
shitlib_version=1.2.3

# ModMenu
modmenu_version=[VERSIONED]
modmenu_version=[VERSIONED]
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-9.2.0-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-9.4.1-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
Expand Down
16 changes: 12 additions & 4 deletions settings.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,23 @@ pluginManagement {
}

plugins {
id "dev.kikugie.stonecutter" version "0.7.10"
id "org.gradle.toolchains.foojay-resolver-convention" version "1.0.0"
id "dev.kikugie.stonecutter" version "0.9"
}

stonecutter {
kotlinController = false
centralScript = "build.gradle"
centralScript = "build.fabric.gradle"

create(getRootProject()) {
versions "1.19.2", "1.20.1", "1.20.2", "1.20.3", "1.20.5", "1.21", "1.21.2", "1.21.9", "1.21.11"
def remapScript = "build.fabric.gradle"
def noremapScript = "build.fabric_noremap.gradle"
def allVersions = ["1.19.2", "1.20.1", "1.20.2", "1.20.3", "1.20.5", "1.21", "1.21.2", "1.21.9", "1.21.11", "26.1.1"]

allVersions.each { ver ->
def script = ver.matches("^26\\..*") ? noremapScript : remapScript
version(ver, ver).buildscript = script
}
vcsVersion = "1.20.1"
}
}
}
11 changes: 10 additions & 1 deletion src/main/java/net/snackbag/tt20/TT20.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,20 @@
import net.snackbag.tt20.command.CommandRegistry;
import net.snackbag.tt20.config.BlockEntityMaskConfig;
import net.snackbag.tt20.config.MainConfig;
import net.snackbag.tt20.config.impl.TT20Config;
import net.snackbag.tt20.util.TPSCalculator;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.util.concurrent.CompletableFuture;

public class TT20 implements ModInitializer {
public static final Logger LOGGER = LoggerFactory.getLogger("tt20");
public static final String MOD_ID = "tt20";
public static final Logger LOGGER = LoggerFactory.getLogger(MOD_ID);
public static final String VERSION = "0.7.1";
public static final TPSCalculator TPS_CALCULATOR = new TPSCalculator();
public static final MainConfig config = new MainConfig();
public static final TT20Config Config = new TT20Config();
public static final BlockEntityMaskConfig blockEntityMaskConfig = new BlockEntityMaskConfig();

public static boolean warned = false;
Expand All @@ -34,5 +37,11 @@ public void onInitialize() {
});

CommandRegistry.registerCommands();

if (Config.reload()) {
LOGGER.info("Reloaded config.");
} else {
LOGGER.info("No config changes.");
}
}
}
Loading