summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/client/java/com/hawarth/CraftsdwarfshipClient.java10
-rw-r--r--src/client/java/com/hawarth/CraftsdwarfshipDataGenerator.java11
-rw-r--r--src/client/java/com/hawarth/mixin/client/ExampleClientMixin.java15
-rw-r--r--src/client/resources/craftsdwarfship.client.mixins.json11
-rw-r--r--src/main/java/com/hawarth/Craftsdwarfship.java24
-rw-r--r--src/main/java/com/hawarth/mixin/ExampleMixin.java15
-rw-r--r--src/main/resources/assets/craftsdwarfship/icon.pngbin0 -> 3079 bytes
-rw-r--r--src/main/resources/craftsdwarfship.mixins.json14
-rw-r--r--src/main/resources/fabric.mod.json41
9 files changed, 141 insertions, 0 deletions
diff --git a/src/client/java/com/hawarth/CraftsdwarfshipClient.java b/src/client/java/com/hawarth/CraftsdwarfshipClient.java
new file mode 100644
index 0000000..6209771
--- /dev/null
+++ b/src/client/java/com/hawarth/CraftsdwarfshipClient.java
@@ -0,0 +1,10 @@
+package com.hawarth;
+
+import net.fabricmc.api.ClientModInitializer;
+
+public class CraftsdwarfshipClient implements ClientModInitializer {
+ @Override
+ public void onInitializeClient() {
+ // This entrypoint is suitable for setting up client-specific logic, such as rendering.
+ }
+} \ No newline at end of file
diff --git a/src/client/java/com/hawarth/CraftsdwarfshipDataGenerator.java b/src/client/java/com/hawarth/CraftsdwarfshipDataGenerator.java
new file mode 100644
index 0000000..ff12da3
--- /dev/null
+++ b/src/client/java/com/hawarth/CraftsdwarfshipDataGenerator.java
@@ -0,0 +1,11 @@
+package com.hawarth;
+
+import net.fabricmc.fabric.api.datagen.v1.DataGeneratorEntrypoint;
+import net.fabricmc.fabric.api.datagen.v1.FabricDataGenerator;
+
+public class CraftsdwarfshipDataGenerator implements DataGeneratorEntrypoint {
+ @Override
+ public void onInitializeDataGenerator(FabricDataGenerator fabricDataGenerator) {
+
+ }
+}
diff --git a/src/client/java/com/hawarth/mixin/client/ExampleClientMixin.java b/src/client/java/com/hawarth/mixin/client/ExampleClientMixin.java
new file mode 100644
index 0000000..0e99c51
--- /dev/null
+++ b/src/client/java/com/hawarth/mixin/client/ExampleClientMixin.java
@@ -0,0 +1,15 @@
+package com.hawarth.mixin.client;
+
+import net.minecraft.client.Minecraft;
+import org.spongepowered.asm.mixin.Mixin;
+import org.spongepowered.asm.mixin.injection.At;
+import org.spongepowered.asm.mixin.injection.Inject;
+import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
+
+@Mixin(Minecraft.class)
+public class ExampleClientMixin {
+ @Inject(at = @At("HEAD"), method = "run")
+ private void init(CallbackInfo info) {
+ // This code is injected into the start of Minecraft.run()V
+ }
+} \ No newline at end of file
diff --git a/src/client/resources/craftsdwarfship.client.mixins.json b/src/client/resources/craftsdwarfship.client.mixins.json
new file mode 100644
index 0000000..388cdd0
--- /dev/null
+++ b/src/client/resources/craftsdwarfship.client.mixins.json
@@ -0,0 +1,11 @@
+{
+ "required": true,
+ "package": "com.hawarth.mixin.client",
+ "compatibilityLevel": "JAVA_21",
+ "client": [
+ "ExampleClientMixin"
+ ],
+ "injectors": {
+ "defaultRequire": 1
+ }
+} \ No newline at end of file
diff --git a/src/main/java/com/hawarth/Craftsdwarfship.java b/src/main/java/com/hawarth/Craftsdwarfship.java
new file mode 100644
index 0000000..204605b
--- /dev/null
+++ b/src/main/java/com/hawarth/Craftsdwarfship.java
@@ -0,0 +1,24 @@
+package com.hawarth;
+
+import net.fabricmc.api.ModInitializer;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class Craftsdwarfship implements ModInitializer {
+ public static final String MOD_ID = "craftsdwarfship";
+
+ // This logger is used to write text to the console and the log file.
+ // It is considered best practice to use your mod id as the logger's name.
+ // That way, it's clear which mod wrote info, warnings, and errors.
+ public static final Logger LOGGER = LoggerFactory.getLogger(MOD_ID);
+
+ @Override
+ public void onInitialize() {
+ // This code runs as soon as Minecraft is in a mod-load-ready state.
+ // However, some things (like resources) may still be uninitialized.
+ // Proceed with mild caution.
+
+ LOGGER.info("Hello Fabric world!");
+ }
+} \ No newline at end of file
diff --git a/src/main/java/com/hawarth/mixin/ExampleMixin.java b/src/main/java/com/hawarth/mixin/ExampleMixin.java
new file mode 100644
index 0000000..2311e6a
--- /dev/null
+++ b/src/main/java/com/hawarth/mixin/ExampleMixin.java
@@ -0,0 +1,15 @@
+package com.hawarth.mixin;
+
+import net.minecraft.server.MinecraftServer;
+import org.spongepowered.asm.mixin.Mixin;
+import org.spongepowered.asm.mixin.injection.At;
+import org.spongepowered.asm.mixin.injection.Inject;
+import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
+
+@Mixin(MinecraftServer.class)
+public class ExampleMixin {
+ @Inject(at = @At("HEAD"), method = "loadLevel")
+ private void init(CallbackInfo info) {
+ // This code is injected into the start of MinecraftServer.loadLevel()V
+ }
+} \ No newline at end of file
diff --git a/src/main/resources/assets/craftsdwarfship/icon.png b/src/main/resources/assets/craftsdwarfship/icon.png
new file mode 100644
index 0000000..c8621d4
--- /dev/null
+++ b/src/main/resources/assets/craftsdwarfship/icon.png
Binary files differ
diff --git a/src/main/resources/craftsdwarfship.mixins.json b/src/main/resources/craftsdwarfship.mixins.json
new file mode 100644
index 0000000..1bcbec6
--- /dev/null
+++ b/src/main/resources/craftsdwarfship.mixins.json
@@ -0,0 +1,14 @@
+{
+ "required": true,
+ "package": "com.hawarth.mixin",
+ "compatibilityLevel": "JAVA_21",
+ "mixins": [
+ "ExampleMixin"
+ ],
+ "injectors": {
+ "defaultRequire": 1
+ },
+ "overwrites": {
+ "requireAnnotations": true
+ }
+} \ No newline at end of file
diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json
new file mode 100644
index 0000000..a0c0314
--- /dev/null
+++ b/src/main/resources/fabric.mod.json
@@ -0,0 +1,41 @@
+{
+ "schemaVersion": 1,
+ "id": "craftsdwarfship",
+ "version": "${version}",
+ "name": "Craftsdwarfship",
+ "description": "Adds some mechanics (that make sense) from Dwarf Fortress to Minecraft.",
+ "authors": [
+ "Hawarth"
+ ],
+ "contact": {
+ "homepage": "https://hawarth.com/",
+ "sources": "https://git.hawarth.com/mc-craftsdwarfship/"
+ },
+ "license": "GNU GPLv3",
+ "icon": "assets/craftsdwarfship/icon.png",
+ "environment": "*",
+ "entrypoints": {
+ "main": [
+ "com.hawarth.Craftsdwarfship"
+ ],
+ "client": [
+ "com.hawarth.CraftsdwarfshipClient"
+ ],
+ "fabric-datagen": [
+ "com.hawarth.CraftsdwarfshipDataGenerator"
+ ]
+ },
+ "mixins": [
+ "craftsdwarfship.mixins.json",
+ {
+ "config": "craftsdwarfship.client.mixins.json",
+ "environment": "client"
+ }
+ ],
+ "depends": {
+ "fabricloader": ">=0.18.4",
+ "minecraft": "~1.21.11",
+ "java": ">=21",
+ "fabric-api": "*"
+ }
+}