Skip to content

Commit f4e0522

Browse files
committed
More cleanup, prepare for new config options
1 parent 5b78d54 commit f4e0522

File tree

28 files changed

+264
-237
lines changed

28 files changed

+264
-237
lines changed

build-logic/settings.gradle.kts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
@file:Suppress("UnstableApiUsage")
2+
13
dependencyResolutionManagement {
24
repositories {
35
gradlePluginPortal()

build-logic/src/main/kotlin/hurricane.build-logic.gradle.kts

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,6 @@ plugins {
33
`maven-publish`
44
}
55

6-
tasks.withType<JavaCompile> {
7-
options.encoding = "UTF-8"
8-
}
9-
106
tasks {
117
processResources {
128
filesMatching(listOf("fabric.mod.json", "META-INF/neoforge.mods.toml")) {
@@ -23,6 +19,10 @@ tasks {
2319
)
2420
}
2521
}
22+
23+
withType(JavaCompile::class) {
24+
options.encoding = "UTF-8"
25+
}
2626
}
2727

2828
repositories {
@@ -41,10 +41,4 @@ repositories {
4141

4242
group = properties["group"] as String
4343
version = properties["version"] as String
44-
java.sourceCompatibility = JavaVersion.VERSION_21
45-
46-
publishing {
47-
publications.create<MavenPublication>("maven") {
48-
from(components["java"])
49-
}
50-
}
44+
java.sourceCompatibility = JavaVersion.VERSION_21

core/build.gradle.kts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
plugins {
2+
id("hurricane.shadow-conventions")
3+
}
4+
5+
dependencies {
6+
api(libs.configurate.hocon) {
7+
exclude("org.checkerframework")
8+
}
9+
compileOnly(libs.bundles.geyser)
10+
}

mod-shared/src/main/java/org/geysermc/hurricane/util/BedrockUtils.java renamed to core/src/main/java/org/geysermc/hurricane/BedrockUtils.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
package org.geysermc.hurricane.util;
1+
package org.geysermc.hurricane;
22

3-
import org.geysermc.hurricane.Hurricane;
43
import org.geysermc.floodgate.api.FloodgateApi;
54
import org.geysermc.geyser.api.GeyserApi;
65

@@ -9,8 +8,7 @@
98
public class BedrockUtils {
109

1110
private static boolean floodgatePresent;
12-
13-
private static boolean geyserPresent = false;
11+
private static boolean geyserPresent;
1412

1513
static {
1614
try {
@@ -23,13 +21,12 @@ public class BedrockUtils {
2321
geyserPresent = true;
2422
} catch (ClassNotFoundException ex) {
2523
geyserPresent = false;
26-
Hurricane.LOGGER.debug("Geyser/Floodgate not found, disabling Bedrock support.");
2724
}
2825
}
2926
}
3027

3128
public static boolean isGeyserOrFloodgateInstalled() {
32-
return floodgatePresent || geyserPresent;
29+
return floodgatePresent || geyserPresent;
3330
}
3431

3532
public static boolean isBedrockPlayer(UUID uuid){
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package org.geysermc.hurricane;
2+
3+
public interface HurricaneLogger {
4+
5+
void info(String message);
6+
7+
void info(String message, Object... args);
8+
9+
void warn(String message);
10+
11+
void warn(String message, Object... args);
12+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package org.geysermc.hurricane;
2+
3+
import org.geysermc.hurricane.config.HurricaneConfiguration;
4+
5+
public interface HurricanePlatform {
6+
7+
HurricaneConfiguration configuration();
8+
9+
HurricaneLogger logger();
10+
11+
default void enable(HurricaneConfiguration configuration) {
12+
verifyConfig(configuration);
13+
14+
if (configuration.collisionFixes().bamboo() || configuration.collisionFixes().pointedDripstone()) {
15+
registerCollisionFixes(configuration);
16+
}
17+
}
18+
19+
void registerCollisionFixes(HurricaneConfiguration configuration);
20+
21+
void verifyConfig(HurricaneConfiguration configuration);
22+
}

spigot/src/main/java/org/geysermc/hurricane/config/ConfigLoader.java renamed to core/src/main/java/org/geysermc/hurricane/config/ConfigLoader.java

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,10 @@ public final class ConfigLoader {
1313

1414
private final static ConfigurationTransformation.Versioned TRANSFORMER = ConfigurationTransformation.versionedBuilder()
1515
.addVersion(1, noneToOne())
16+
.addVersion(2, oneToTwo())
1617
.build();
1718

18-
private static final int LATEST_CONFIG_VERSION = 1;
19+
private static final int LATEST_CONFIG_VERSION = 2;
1920

2021
public static HurricaneConfiguration loadConfig(Path dataFolder) throws ConfigurateException {
2122
final HoconConfigurationLoader loader = HoconConfigurationLoader.builder()
@@ -24,7 +25,6 @@ public static HurricaneConfiguration loadConfig(Path dataFolder) throws Configur
2425
.build();
2526

2627
final CommentedConfigurationNode node = loader.load();
27-
2828
int version = TRANSFORMER.version(node);
2929

3030
if (version != LATEST_CONFIG_VERSION) {
@@ -37,7 +37,6 @@ public static HurricaneConfiguration loadConfig(Path dataFolder) throws Configur
3737
// Save config again to e.g. add new options, or to create the file
3838
// Hocon automatically sorts configuration options alphabetically, so we don't need an intermediary node
3939
loader.save(node);
40-
4140
return config;
4241
}
4342

@@ -46,4 +45,11 @@ private static ConfigurationTransformation noneToOne() {
4645
.addAction(NodePath.path("item-steerable-fix"), TransformAction.remove())
4746
.build();
4847
}
48+
49+
private static ConfigurationTransformation oneToTwo() {
50+
return ConfigurationTransformation.builder()
51+
// Was only ever in the modded config, but no longer necessary
52+
.addAction(NodePath.path("suppress-warnings"), TransformAction.remove())
53+
.build();
54+
}
4955
}

spigot/src/main/java/org/geysermc/hurricane/config/HurricaneConfiguration.java renamed to core/src/main/java/org/geysermc/hurricane/config/HurricaneConfiguration.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,5 +31,19 @@ public boolean bamboo() {
3131
public boolean pointedDripstone() {
3232
return pointedDripstone;
3333
}
34+
35+
public void setBamboo(boolean bamboo) {
36+
this.bamboo = bamboo;
37+
}
38+
39+
public void setPointedDripstone(boolean pointedDripstone) {
40+
this.pointedDripstone = pointedDripstone;
41+
}
42+
}
43+
44+
@ConfigSerializable
45+
public static final class BlockBreakingFixes {
46+
private boolean applyToJava = false;
47+
// TODO
3448
}
3549
}

fabric/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ tasks {
2828
dependencies {
2929
modImplementation(libs.fabric.loader)
3030
modApi(libs.fabric.api)
31-
common(project(":mod-shared", configuration = "namedElements")) { isTransitive = false }
31+
common(project(":mod-shared", configuration = "namedElements"))
3232
shadow(project(path = ":mod-shared", configuration = "transformProductionFabric")) {
3333
isTransitive = false
3434
}

fabric/src/main/java/org/geysermc/hurricane/platform/fabric/FabricBlockPlaceEvent.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@
1212

1313
public class FabricBlockPlaceEvent {
1414

15-
// TODO: proper checks
16-
public void registerInteractBlockCallback() {
15+
// TODO: proper checks, separate!!!
16+
public static void registerInteractBlockCallback() {
1717
UseBlockCallback.EVENT.register((player, level, hand, blockHitResult) -> {
1818
Item item = player.getItemInHand(hand).getItem();
1919
if (item.equals(Items.BAMBOO)) {

0 commit comments

Comments
 (0)