From d98d040a64b70957379a1c4924b9ab5f80dc0b6c Mon Sep 17 00:00:00 2001 From: c0de Date: Mon, 20 Mar 2023 18:32:50 -0500 Subject: [PATCH 01/18] Fix mixins list --- src/main/resources/fabric.mod.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index fb3c58c..f02febb 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -23,7 +23,7 @@ ] }, "mixins": [ - "modid.mixins.json" + "codefox.mixins.json" ], "depends": { -- 2.34.1 From 2d12caf392bfc93ce52c03f93cd15955dcbd83ac Mon Sep 17 00:00:00 2001 From: c0de Date: Mon, 20 Mar 2023 18:36:32 -0500 Subject: [PATCH 02/18] wow you misspelled your own name --- src/main/resources/fabric.mod.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index f02febb..46710fb 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -23,7 +23,7 @@ ] }, "mixins": [ - "codefox.mixins.json" + "c0defox.mixins.json" ], "depends": { -- 2.34.1 From 79c81d7772375d6934830933f3cc71b873a3a482 Mon Sep 17 00:00:00 2001 From: c0de Date: Mon, 20 Mar 2023 18:38:49 -0500 Subject: [PATCH 03/18] Disable logging mixin for now --- src/main/java/dev/c0de/minecraft/mixin/c0deFoxMixin.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/dev/c0de/minecraft/mixin/c0deFoxMixin.java b/src/main/java/dev/c0de/minecraft/mixin/c0deFoxMixin.java index 5b33d5b..56ba3ca 100644 --- a/src/main/java/dev/c0de/minecraft/mixin/c0deFoxMixin.java +++ b/src/main/java/dev/c0de/minecraft/mixin/c0deFoxMixin.java @@ -1,6 +1,7 @@ package dev.c0de.minecraft.mixin; import dev.c0de.minecraft.c0deFoxMod; + import net.minecraft.client.gui.screen.TitleScreen; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; @@ -11,7 +12,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; public class c0deFoxMixin { @Inject(at = @At("HEAD"), method = "init()V") private void init(CallbackInfo info) { - c0deFoxMod.LOGGER.info("This line is printed by an example mod mixin!"); + // c0deFoxMod.LOGGER.info("This line is printed by an example mod mixin!"); } } -- 2.34.1 From e3f7b1ae199b4520548d780ebe2592d3971c56b9 Mon Sep 17 00:00:00 2001 From: c0de Date: Mon, 20 Mar 2023 21:16:49 -0500 Subject: [PATCH 04/18] Add foundation and first module (fullbright) --- .../java/dev/c0de/minecraft/c0deFoxMod.java | 13 +-- .../c0de/minecraft/client/KeybindManager.java | 51 ++++++++++++ .../dev/c0de/minecraft/client/Module.java | 30 +++++++ .../minecraft/client/c0deFoxModClient.java | 56 +++++++++++++ .../c0de/minecraft/config/ClientConfig.java | 6 ++ .../c0de/minecraft/config/SimpleConfig.java | 80 +++++++++++++++++++ .../c0de/minecraft/mixin/BrightnessMixin.java | 37 +++++++++ .../c0de/minecraft/mixin/c0deFoxMixin.java | 2 +- .../c0de/minecraft/modules/Fullbright.java | 43 ++++++++++ .../resources/assets/c0defox/lang/en_us.json | 3 + src/main/resources/c0defox.mixins.json | 3 +- src/main/resources/fabric.mod.json | 3 + 12 files changed, 316 insertions(+), 11 deletions(-) create mode 100644 src/main/java/dev/c0de/minecraft/client/KeybindManager.java create mode 100644 src/main/java/dev/c0de/minecraft/client/Module.java create mode 100644 src/main/java/dev/c0de/minecraft/client/c0deFoxModClient.java create mode 100644 src/main/java/dev/c0de/minecraft/config/ClientConfig.java create mode 100644 src/main/java/dev/c0de/minecraft/config/SimpleConfig.java create mode 100644 src/main/java/dev/c0de/minecraft/mixin/BrightnessMixin.java create mode 100644 src/main/java/dev/c0de/minecraft/modules/Fullbright.java create mode 100644 src/main/resources/assets/c0defox/lang/en_us.json diff --git a/src/main/java/dev/c0de/minecraft/c0deFoxMod.java b/src/main/java/dev/c0de/minecraft/c0deFoxMod.java index 3c6453f..b7736c0 100644 --- a/src/main/java/dev/c0de/minecraft/c0deFoxMod.java +++ b/src/main/java/dev/c0de/minecraft/c0deFoxMod.java @@ -1,19 +1,14 @@ package dev.c0de.minecraft; +import dev.c0de.minecraft.config.SimpleConfig; import net.fabricmc.api.ModInitializer; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - public class c0deFoxMod implements ModInitializer { - public static final Logger LOGGER = LoggerFactory.getLogger("c0defox"); + + public static SimpleConfig config; @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 world!"); + config = new SimpleConfig("c0defox"); } } diff --git a/src/main/java/dev/c0de/minecraft/client/KeybindManager.java b/src/main/java/dev/c0de/minecraft/client/KeybindManager.java new file mode 100644 index 0000000..e1db807 --- /dev/null +++ b/src/main/java/dev/c0de/minecraft/client/KeybindManager.java @@ -0,0 +1,51 @@ +package dev.c0de.minecraft.client; + +import net.minecraft.client.MinecraftClient; + +import java.util.HashMap; +import java.util.List; +import java.util.Optional; +import java.util.TreeMap; + +public class KeybindManager { + private final HashMap states = new HashMap<>(); + private final List modules; + + public KeybindManager(List modules) { + this.modules = modules; + } + + public void tick(MinecraftClient client) { + // Execute the onTick function of each module + modules.forEach(module -> module.onTick(this, client)); + + // Toggle the module state with keybind + modules.stream().filter(module -> module.getKey() != null).forEach(module -> { + if (module.getKey().wasPressed()) { + final String name = module.getClass().getName(); + final boolean newState = states.get(name); + + states.put(name, !states.getOrDefault(name, false)); + + module.setState(newState); + module.onToggle(this, client); + } + }); + } + + public boolean getState(Class cls) { + return states.getOrDefault(cls.getName(), false); + } + + public TreeMap getSortedStates() { + final TreeMap keyStates = new TreeMap<>(); + + states.forEach((key, value) -> { + final Optional foundModule = modules.stream().filter(module -> module.getClass().getName().equals(key)).findFirst(); + + foundModule.ifPresent(module -> keyStates.put(module.getKey().getTranslationKey(), value)); + }); + + return keyStates; + } +} diff --git a/src/main/java/dev/c0de/minecraft/client/Module.java b/src/main/java/dev/c0de/minecraft/client/Module.java new file mode 100644 index 0000000..eef4f9e --- /dev/null +++ b/src/main/java/dev/c0de/minecraft/client/Module.java @@ -0,0 +1,30 @@ +package dev.c0de.minecraft.client; + +import net.minecraft.client.MinecraftClient; +import net.minecraft.client.option.KeyBinding; + +public abstract class Module { + + protected KeyBinding key; + protected boolean state; + + public void onTick(KeybindManager manager, MinecraftClient client) { + + } + + public void onToggle(KeybindManager manager, MinecraftClient client) { + + } + + public void setState(boolean state) { + this.state = state; + } + + public KeyBinding getKey() { + return key; + } + + public boolean isState() { + return state; + } +} \ No newline at end of file diff --git a/src/main/java/dev/c0de/minecraft/client/c0deFoxModClient.java b/src/main/java/dev/c0de/minecraft/client/c0deFoxModClient.java new file mode 100644 index 0000000..d13b54d --- /dev/null +++ b/src/main/java/dev/c0de/minecraft/client/c0deFoxModClient.java @@ -0,0 +1,56 @@ +package dev.c0de.minecraft.client; + +import dev.c0de.minecraft.modules.Fullbright; + +import net.fabricmc.api.ClientModInitializer; + +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; +import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents; +import net.minecraft.client.MinecraftClient; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.List; + +@Environment(EnvType.CLIENT) +public class c0deFoxModClient implements ClientModInitializer { + public static final Logger LOGGER = LoggerFactory.getLogger("c0defox"); + + private static c0deFoxModClient self; + private static KeybindManager keybindManager; + + // Load in modules as independent parts of the mod + private static List modules; + + @Override + public void onInitializeClient() { + ClientTickEvents.END_CLIENT_TICK.register(this::tick); + + self = this; + + // Add new modules here + modules = List.of( + new Fullbright() + ); + + keybindManager = new KeybindManager(modules); + + LOGGER.info("Ready"); + } + + public static c0deFoxModClient getSelf() { + return self; + } + + public static KeybindManager getKeybindManager() { + return keybindManager; + } + + // Called on every game tick + public void tick(MinecraftClient client) { + keybindManager.tick(client); + } + +} diff --git a/src/main/java/dev/c0de/minecraft/config/ClientConfig.java b/src/main/java/dev/c0de/minecraft/config/ClientConfig.java new file mode 100644 index 0000000..6be1138 --- /dev/null +++ b/src/main/java/dev/c0de/minecraft/config/ClientConfig.java @@ -0,0 +1,6 @@ +package dev.c0de.minecraft.config; + +// Configuration options for the client +public class ClientConfig { + public double FULLBRIGHT_GAMMA = 2.5; +} diff --git a/src/main/java/dev/c0de/minecraft/config/SimpleConfig.java b/src/main/java/dev/c0de/minecraft/config/SimpleConfig.java new file mode 100644 index 0000000..fa67faf --- /dev/null +++ b/src/main/java/dev/c0de/minecraft/config/SimpleConfig.java @@ -0,0 +1,80 @@ +package dev.c0de.minecraft.config; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import net.fabricmc.loader.api.FabricLoader; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +import java.io.File; +import java.io.IOException; +import java.io.PrintWriter; +import java.io.Reader; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.nio.file.Path; + +public class SimpleConfig { + + private static final Logger LOGGER = LogManager.getLogger("SimpleConfig"); + private boolean broken = false; + private final File file; + + private ClientConfig config = new ClientConfig(); + + public ClientConfig getConfig() { + return config; + } + + public void createConfig() throws IOException { + + // try creating missing files + file.getParentFile().mkdirs(); + if (Files.notExists(file.toPath())) + Files.createFile(file.toPath()); + + // write default config data + Gson gson = new GsonBuilder() + .enableComplexMapKeySerialization() + .setPrettyPrinting() + .create(); + + PrintWriter writer = new PrintWriter(file, StandardCharsets.UTF_8); + gson.toJson(config, writer); + writer.close(); + } + + private void loadConfig() throws IOException { + Gson gson = new Gson(); + Reader reader = Files.newBufferedReader(file.toPath()); + config = gson.fromJson(reader, ClientConfig.class); + reader.close(); + } + + public SimpleConfig(String modID) { + Path path = FabricLoader.getInstance().getConfigDir(); + file = new File(path.toAbsolutePath().toString(), modID + ".json"); + + if (!file.exists()) { + LOGGER.info(modID + " is missing, generating default one..."); + + try { + createConfig(); + } catch (IOException e) { + LOGGER.error(modID + " failed to generate!"); + LOGGER.trace(e); + broken = true; + } + } + + if (!broken) { + try { + loadConfig(); + } catch (Exception e) { + LOGGER.error(modID + " failed to load!"); + LOGGER.trace(e); + broken = true; + } + } + } +} \ No newline at end of file diff --git a/src/main/java/dev/c0de/minecraft/mixin/BrightnessMixin.java b/src/main/java/dev/c0de/minecraft/mixin/BrightnessMixin.java new file mode 100644 index 0000000..a4cfba4 --- /dev/null +++ b/src/main/java/dev/c0de/minecraft/mixin/BrightnessMixin.java @@ -0,0 +1,37 @@ +package dev.c0de.minecraft.mixin; + +import com.mojang.serialization.Codec; +import net.minecraft.client.option.SimpleOption; +import net.minecraft.client.resource.language.I18n; +import net.minecraft.text.Text; +import org.spongepowered.asm.mixin.Final; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; + +@Mixin(SimpleOption.class) +public class BrightnessMixin { + @Shadow @Final + Text text; + + @Shadow + T value; + + @Inject(method = "getCodec", at = @At("HEAD"), cancellable = true) + private void returnFakeCodec(CallbackInfoReturnable> info) { + if (text.getString().equals(I18n.translate("options.gamma"))) { + info.setReturnValue(Codec.DOUBLE); + } + } + + @Inject(method = "setValue", at = @At("HEAD"), cancellable = true) + private void setRealValue(T value, CallbackInfo info) { + if (text.getString().equals(I18n.translate("options.gamma"))) { + this.value = value; + info.cancel(); + } + } +} \ No newline at end of file diff --git a/src/main/java/dev/c0de/minecraft/mixin/c0deFoxMixin.java b/src/main/java/dev/c0de/minecraft/mixin/c0deFoxMixin.java index 56ba3ca..7b42a2a 100644 --- a/src/main/java/dev/c0de/minecraft/mixin/c0deFoxMixin.java +++ b/src/main/java/dev/c0de/minecraft/mixin/c0deFoxMixin.java @@ -1,6 +1,6 @@ package dev.c0de.minecraft.mixin; -import dev.c0de.minecraft.c0deFoxMod; +// import dev.c0de.minecraft.c0deFoxMod; import net.minecraft.client.gui.screen.TitleScreen; import org.spongepowered.asm.mixin.Mixin; diff --git a/src/main/java/dev/c0de/minecraft/modules/Fullbright.java b/src/main/java/dev/c0de/minecraft/modules/Fullbright.java new file mode 100644 index 0000000..af83e64 --- /dev/null +++ b/src/main/java/dev/c0de/minecraft/modules/Fullbright.java @@ -0,0 +1,43 @@ +package dev.c0de.minecraft.modules; + +import dev.c0de.minecraft.c0deFoxMod; +import dev.c0de.minecraft.client.Module; +import dev.c0de.minecraft.client.KeybindManager; + +import net.fabricmc.fabric.api.client.keybinding.v1.KeyBindingHelper; +import net.minecraft.client.MinecraftClient; +import net.minecraft.client.option.KeyBinding; +import net.minecraft.client.util.InputUtil; +import net.minecraft.text.Text; + +import org.lwjgl.glfw.GLFW; + +public class Fullbright extends Module { + double DEFAULT = 1.0; + + public void FullBright() { + this.key = KeyBindingHelper.registerKeyBinding(new KeyBinding( + "key.c0defox.fullbright", + InputUtil.Type.KEYSYM, + GLFW.GLFW_KEY_B, + "category.c0defox.default" + )); + } + + @Override + public void onTick(KeybindManager manager, MinecraftClient client) { + if (state) + update(client, c0deFoxMod.config.getConfig().FULLBRIGHT_GAMMA); + else + update(client, DEFAULT); + } + + private void update(MinecraftClient client, double value) { + if (client == null) return; + if (client.options.getGamma().getValue() == value) return; + + client.options.getGamma().setValue(value); + + if (client.player != null) client.player.sendMessage(Text.of(String.valueOf(value)), true); + } +} diff --git a/src/main/resources/assets/c0defox/lang/en_us.json b/src/main/resources/assets/c0defox/lang/en_us.json new file mode 100644 index 0000000..9b247ca --- /dev/null +++ b/src/main/resources/assets/c0defox/lang/en_us.json @@ -0,0 +1,3 @@ +{ + "key.c0defox.fullbright": "Fullbright" +} \ No newline at end of file diff --git a/src/main/resources/c0defox.mixins.json b/src/main/resources/c0defox.mixins.json index 8826d0d..064a4d9 100644 --- a/src/main/resources/c0defox.mixins.json +++ b/src/main/resources/c0defox.mixins.json @@ -6,7 +6,8 @@ "mixins": [ ], "client": [ - "c0deFoxMixin" + "c0deFoxMixin", + "BrightnessMixin" ], "injectors": { "defaultRequire": 1 diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 46710fb..d9efa31 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -20,6 +20,9 @@ "entrypoints": { "main": [ "dev.c0de.minecraft.c0deFoxMod" + ], + "client": [ + "dev.c0de.minecraft.client.c0deFoxModClient" ] }, "mixins": [ -- 2.34.1 From c8190000f2b7a941b409ceb54c7b17e07da037c2 Mon Sep 17 00:00:00 2001 From: c0de Date: Mon, 20 Mar 2023 21:35:57 -0500 Subject: [PATCH 05/18] Fix Fullbright module --- src/main/java/dev/c0de/minecraft/client/c0deFoxModClient.java | 4 ++-- .../dev/c0de/minecraft/{ => client}/modules/Fullbright.java | 2 +- src/main/resources/c0defox.mixins.json | 4 ++-- src/main/resources/fabric.mod.json | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) rename src/main/java/dev/c0de/minecraft/{ => client}/modules/Fullbright.java (96%) diff --git a/src/main/java/dev/c0de/minecraft/client/c0deFoxModClient.java b/src/main/java/dev/c0de/minecraft/client/c0deFoxModClient.java index d13b54d..bd2ad89 100644 --- a/src/main/java/dev/c0de/minecraft/client/c0deFoxModClient.java +++ b/src/main/java/dev/c0de/minecraft/client/c0deFoxModClient.java @@ -1,7 +1,5 @@ package dev.c0de.minecraft.client; -import dev.c0de.minecraft.modules.Fullbright; - import net.fabricmc.api.ClientModInitializer; import net.fabricmc.api.EnvType; @@ -12,6 +10,8 @@ import net.minecraft.client.MinecraftClient; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import dev.c0de.minecraft.client.modules.Fullbright; + import java.util.List; @Environment(EnvType.CLIENT) diff --git a/src/main/java/dev/c0de/minecraft/modules/Fullbright.java b/src/main/java/dev/c0de/minecraft/client/modules/Fullbright.java similarity index 96% rename from src/main/java/dev/c0de/minecraft/modules/Fullbright.java rename to src/main/java/dev/c0de/minecraft/client/modules/Fullbright.java index af83e64..d4de1e6 100644 --- a/src/main/java/dev/c0de/minecraft/modules/Fullbright.java +++ b/src/main/java/dev/c0de/minecraft/client/modules/Fullbright.java @@ -1,4 +1,4 @@ -package dev.c0de.minecraft.modules; +package dev.c0de.minecraft.client.modules; import dev.c0de.minecraft.c0deFoxMod; import dev.c0de.minecraft.client.Module; diff --git a/src/main/resources/c0defox.mixins.json b/src/main/resources/c0defox.mixins.json index 064a4d9..f27bd9b 100644 --- a/src/main/resources/c0defox.mixins.json +++ b/src/main/resources/c0defox.mixins.json @@ -6,8 +6,8 @@ "mixins": [ ], "client": [ - "c0deFoxMixin", - "BrightnessMixin" + "BrightnessMixin", + "c0deFoxMixin" ], "injectors": { "defaultRequire": 1 diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index d9efa31..f065fe1 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -14,7 +14,7 @@ }, "license": "MIT", - "icon": "assets/modid/icon.png", + "icon": "assets/c0defox/icon.png", "environment": "*", "entrypoints": { -- 2.34.1 From e1ed1744ac98a232f4a9362500aff1dd1374c0e8 Mon Sep 17 00:00:00 2001 From: c0de Date: Mon, 20 Mar 2023 22:29:09 -0500 Subject: [PATCH 06/18] say we're in a client --- src/main/resources/fabric.mod.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index f065fe1..3a9e048 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -16,7 +16,7 @@ "license": "MIT", "icon": "assets/c0defox/icon.png", - "environment": "*", + "environment": "client", "entrypoints": { "main": [ "dev.c0de.minecraft.c0deFoxMod" -- 2.34.1 From 4b36ec8748b4a70b520cb34828009cbeab9512d6 Mon Sep 17 00:00:00 2001 From: c0de Date: Mon, 20 Mar 2023 22:29:21 -0500 Subject: [PATCH 07/18] add translation for category --- src/main/resources/assets/c0defox/lang/en_us.json | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/resources/assets/c0defox/lang/en_us.json b/src/main/resources/assets/c0defox/lang/en_us.json index 9b247ca..6648298 100644 --- a/src/main/resources/assets/c0defox/lang/en_us.json +++ b/src/main/resources/assets/c0defox/lang/en_us.json @@ -1,3 +1,4 @@ { + "category.c0defox.default": "c0de's mods", "key.c0defox.fullbright": "Fullbright" } \ No newline at end of file -- 2.34.1 From 516baf4d296424adf79e794955d36ed9aea46802 Mon Sep 17 00:00:00 2001 From: c0de Date: Mon, 20 Mar 2023 22:29:30 -0500 Subject: [PATCH 08/18] increase gamma --- src/main/java/dev/c0de/minecraft/config/ClientConfig.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/dev/c0de/minecraft/config/ClientConfig.java b/src/main/java/dev/c0de/minecraft/config/ClientConfig.java index 6be1138..a83bf7e 100644 --- a/src/main/java/dev/c0de/minecraft/config/ClientConfig.java +++ b/src/main/java/dev/c0de/minecraft/config/ClientConfig.java @@ -2,5 +2,5 @@ package dev.c0de.minecraft.config; // Configuration options for the client public class ClientConfig { - public double FULLBRIGHT_GAMMA = 2.5; + public double FULLBRIGHT_GAMMA = 5.5; } -- 2.34.1 From ea798c9cd713ce064e404a06b227b53c6a29a9bc Mon Sep 17 00:00:00 2001 From: c0de Date: Mon, 20 Mar 2023 22:29:41 -0500 Subject: [PATCH 09/18] debugging --- .../java/dev/c0de/minecraft/client/KeybindManager.java | 2 ++ .../dev/c0de/minecraft/client/modules/Fullbright.java | 10 +++++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/main/java/dev/c0de/minecraft/client/KeybindManager.java b/src/main/java/dev/c0de/minecraft/client/KeybindManager.java index e1db807..7deb7ba 100644 --- a/src/main/java/dev/c0de/minecraft/client/KeybindManager.java +++ b/src/main/java/dev/c0de/minecraft/client/KeybindManager.java @@ -25,6 +25,8 @@ public class KeybindManager { final String name = module.getClass().getName(); final boolean newState = states.get(name); + c0deFoxModClient.LOGGER.info(name); + states.put(name, !states.getOrDefault(name, false)); module.setState(newState); diff --git a/src/main/java/dev/c0de/minecraft/client/modules/Fullbright.java b/src/main/java/dev/c0de/minecraft/client/modules/Fullbright.java index d4de1e6..8b31aeb 100644 --- a/src/main/java/dev/c0de/minecraft/client/modules/Fullbright.java +++ b/src/main/java/dev/c0de/minecraft/client/modules/Fullbright.java @@ -2,6 +2,7 @@ package dev.c0de.minecraft.client.modules; import dev.c0de.minecraft.c0deFoxMod; import dev.c0de.minecraft.client.Module; +import dev.c0de.minecraft.client.c0deFoxModClient; import dev.c0de.minecraft.client.KeybindManager; import net.fabricmc.fabric.api.client.keybinding.v1.KeyBindingHelper; @@ -26,16 +27,19 @@ public class Fullbright extends Module { @Override public void onTick(KeybindManager manager, MinecraftClient client) { - if (state) + update(client, DEFAULT); + if (this.isState()) { + c0deFoxModClient.LOGGER.warn("Active State"); update(client, c0deFoxMod.config.getConfig().FULLBRIGHT_GAMMA); - else - update(client, DEFAULT); + } } private void update(MinecraftClient client, double value) { if (client == null) return; if (client.options.getGamma().getValue() == value) return; + c0deFoxModClient.LOGGER.warn("changing gamma"); + client.options.getGamma().setValue(value); if (client.player != null) client.player.sendMessage(Text.of(String.valueOf(value)), true); -- 2.34.1 From d651d41d8f323016e8b67c428f0af201c0ce657a Mon Sep 17 00:00:00 2001 From: c0de Date: Tue, 21 Mar 2023 20:11:20 -0500 Subject: [PATCH 10/18] trying to get the module to start --- .../c0de/minecraft/client/KeybindManager.java | 53 ------------------- .../dev/c0de/minecraft/client/Module.java | 10 ++-- .../minecraft/client/c0deFoxModClient.java | 20 ++----- .../minecraft/client/modules/Fullbright.java | 5 +- .../resources/assets/c0defox/lang/en_us.json | 2 +- 5 files changed, 11 insertions(+), 79 deletions(-) delete mode 100644 src/main/java/dev/c0de/minecraft/client/KeybindManager.java diff --git a/src/main/java/dev/c0de/minecraft/client/KeybindManager.java b/src/main/java/dev/c0de/minecraft/client/KeybindManager.java deleted file mode 100644 index 7deb7ba..0000000 --- a/src/main/java/dev/c0de/minecraft/client/KeybindManager.java +++ /dev/null @@ -1,53 +0,0 @@ -package dev.c0de.minecraft.client; - -import net.minecraft.client.MinecraftClient; - -import java.util.HashMap; -import java.util.List; -import java.util.Optional; -import java.util.TreeMap; - -public class KeybindManager { - private final HashMap states = new HashMap<>(); - private final List modules; - - public KeybindManager(List modules) { - this.modules = modules; - } - - public void tick(MinecraftClient client) { - // Execute the onTick function of each module - modules.forEach(module -> module.onTick(this, client)); - - // Toggle the module state with keybind - modules.stream().filter(module -> module.getKey() != null).forEach(module -> { - if (module.getKey().wasPressed()) { - final String name = module.getClass().getName(); - final boolean newState = states.get(name); - - c0deFoxModClient.LOGGER.info(name); - - states.put(name, !states.getOrDefault(name, false)); - - module.setState(newState); - module.onToggle(this, client); - } - }); - } - - public boolean getState(Class cls) { - return states.getOrDefault(cls.getName(), false); - } - - public TreeMap getSortedStates() { - final TreeMap keyStates = new TreeMap<>(); - - states.forEach((key, value) -> { - final Optional foundModule = modules.stream().filter(module -> module.getClass().getName().equals(key)).findFirst(); - - foundModule.ifPresent(module -> keyStates.put(module.getKey().getTranslationKey(), value)); - }); - - return keyStates; - } -} diff --git a/src/main/java/dev/c0de/minecraft/client/Module.java b/src/main/java/dev/c0de/minecraft/client/Module.java index eef4f9e..a82b312 100644 --- a/src/main/java/dev/c0de/minecraft/client/Module.java +++ b/src/main/java/dev/c0de/minecraft/client/Module.java @@ -8,12 +8,10 @@ public abstract class Module { protected KeyBinding key; protected boolean state; - public void onTick(KeybindManager manager, MinecraftClient client) { - + public void onTick(MinecraftClient client) { } - public void onToggle(KeybindManager manager, MinecraftClient client) { - + public void onToggle(MinecraftClient client) { } public void setState(boolean state) { @@ -21,10 +19,10 @@ public abstract class Module { } public KeyBinding getKey() { - return key; + return this.key; } public boolean isState() { - return state; + return this.state; } } \ No newline at end of file diff --git a/src/main/java/dev/c0de/minecraft/client/c0deFoxModClient.java b/src/main/java/dev/c0de/minecraft/client/c0deFoxModClient.java index bd2ad89..46905ce 100644 --- a/src/main/java/dev/c0de/minecraft/client/c0deFoxModClient.java +++ b/src/main/java/dev/c0de/minecraft/client/c0deFoxModClient.java @@ -7,6 +7,7 @@ import net.fabricmc.api.Environment; import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents; import net.minecraft.client.MinecraftClient; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -19,23 +20,14 @@ public class c0deFoxModClient implements ClientModInitializer { public static final Logger LOGGER = LoggerFactory.getLogger("c0defox"); private static c0deFoxModClient self; - private static KeybindManager keybindManager; - // Load in modules as independent parts of the mod - private static List modules; + protected Fullbright fullbright; @Override public void onInitializeClient() { ClientTickEvents.END_CLIENT_TICK.register(this::tick); - self = this; - - // Add new modules here - modules = List.of( - new Fullbright() - ); - - keybindManager = new KeybindManager(modules); + fullbright = new Fullbright(); LOGGER.info("Ready"); } @@ -44,13 +36,9 @@ public class c0deFoxModClient implements ClientModInitializer { return self; } - public static KeybindManager getKeybindManager() { - return keybindManager; - } - // Called on every game tick public void tick(MinecraftClient client) { - keybindManager.tick(client); + fullbright.onTick(client); } } diff --git a/src/main/java/dev/c0de/minecraft/client/modules/Fullbright.java b/src/main/java/dev/c0de/minecraft/client/modules/Fullbright.java index 8b31aeb..692dbfc 100644 --- a/src/main/java/dev/c0de/minecraft/client/modules/Fullbright.java +++ b/src/main/java/dev/c0de/minecraft/client/modules/Fullbright.java @@ -3,7 +3,6 @@ package dev.c0de.minecraft.client.modules; import dev.c0de.minecraft.c0deFoxMod; import dev.c0de.minecraft.client.Module; import dev.c0de.minecraft.client.c0deFoxModClient; -import dev.c0de.minecraft.client.KeybindManager; import net.fabricmc.fabric.api.client.keybinding.v1.KeyBindingHelper; import net.minecraft.client.MinecraftClient; @@ -21,12 +20,12 @@ public class Fullbright extends Module { "key.c0defox.fullbright", InputUtil.Type.KEYSYM, GLFW.GLFW_KEY_B, - "category.c0defox.default" + "key.categories.c0defox" )); } @Override - public void onTick(KeybindManager manager, MinecraftClient client) { + public void onTick(MinecraftClient client) { update(client, DEFAULT); if (this.isState()) { c0deFoxModClient.LOGGER.warn("Active State"); diff --git a/src/main/resources/assets/c0defox/lang/en_us.json b/src/main/resources/assets/c0defox/lang/en_us.json index 6648298..ab2de31 100644 --- a/src/main/resources/assets/c0defox/lang/en_us.json +++ b/src/main/resources/assets/c0defox/lang/en_us.json @@ -1,4 +1,4 @@ { - "category.c0defox.default": "c0de's mods", + "key.categories.c0defox": "c0de's mods", "key.c0defox.fullbright": "Fullbright" } \ No newline at end of file -- 2.34.1 From 86bc75991a8f8969d830e1ebdce8f2278b2304a4 Mon Sep 17 00:00:00 2001 From: c0de Date: Tue, 21 Mar 2023 20:42:42 -0500 Subject: [PATCH 11/18] Move key registration to module --- .../dev/c0de/minecraft/client/Module.java | 16 ++++++++++++-- .../minecraft/client/c0deFoxModClient.java | 9 ++++---- .../minecraft/client/modules/Fullbright.java | 21 +++++++++---------- 3 files changed, 28 insertions(+), 18 deletions(-) diff --git a/src/main/java/dev/c0de/minecraft/client/Module.java b/src/main/java/dev/c0de/minecraft/client/Module.java index a82b312..0d212c2 100644 --- a/src/main/java/dev/c0de/minecraft/client/Module.java +++ b/src/main/java/dev/c0de/minecraft/client/Module.java @@ -2,6 +2,9 @@ package dev.c0de.minecraft.client; import net.minecraft.client.MinecraftClient; import net.minecraft.client.option.KeyBinding; +import net.minecraft.client.util.InputUtil; + +import net.fabricmc.fabric.api.client.keybinding.v1.KeyBindingHelper; public abstract class Module { @@ -14,15 +17,24 @@ public abstract class Module { public void onToggle(MinecraftClient client) { } + public void registerKey(String translationKey, int glfw_key, String category) { + this.key = KeyBindingHelper.registerKeyBinding(new KeyBinding( + translationKey, + InputUtil.Type.KEYSYM, + glfw_key, + category + )); + } + public void setState(boolean state) { this.state = state; } public KeyBinding getKey() { - return this.key; + return key; } public boolean isState() { - return this.state; + return state; } } \ No newline at end of file diff --git a/src/main/java/dev/c0de/minecraft/client/c0deFoxModClient.java b/src/main/java/dev/c0de/minecraft/client/c0deFoxModClient.java index 46905ce..9f656c1 100644 --- a/src/main/java/dev/c0de/minecraft/client/c0deFoxModClient.java +++ b/src/main/java/dev/c0de/minecraft/client/c0deFoxModClient.java @@ -7,26 +7,25 @@ import net.fabricmc.api.Environment; import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents; import net.minecraft.client.MinecraftClient; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; import dev.c0de.minecraft.client.modules.Fullbright; -import java.util.List; - @Environment(EnvType.CLIENT) public class c0deFoxModClient implements ClientModInitializer { public static final Logger LOGGER = LoggerFactory.getLogger("c0defox"); private static c0deFoxModClient self; - protected Fullbright fullbright; + Module fullbright; @Override public void onInitializeClient() { ClientTickEvents.END_CLIENT_TICK.register(this::tick); + self = this; + fullbright = new Fullbright(); LOGGER.info("Ready"); @@ -38,7 +37,7 @@ public class c0deFoxModClient implements ClientModInitializer { // Called on every game tick public void tick(MinecraftClient client) { - fullbright.onTick(client); + this.fullbright.onTick(client); } } diff --git a/src/main/java/dev/c0de/minecraft/client/modules/Fullbright.java b/src/main/java/dev/c0de/minecraft/client/modules/Fullbright.java index 692dbfc..ba8feb1 100644 --- a/src/main/java/dev/c0de/minecraft/client/modules/Fullbright.java +++ b/src/main/java/dev/c0de/minecraft/client/modules/Fullbright.java @@ -3,11 +3,7 @@ package dev.c0de.minecraft.client.modules; import dev.c0de.minecraft.c0deFoxMod; import dev.c0de.minecraft.client.Module; import dev.c0de.minecraft.client.c0deFoxModClient; - -import net.fabricmc.fabric.api.client.keybinding.v1.KeyBindingHelper; import net.minecraft.client.MinecraftClient; -import net.minecraft.client.option.KeyBinding; -import net.minecraft.client.util.InputUtil; import net.minecraft.text.Text; import org.lwjgl.glfw.GLFW; @@ -16,24 +12,27 @@ public class Fullbright extends Module { double DEFAULT = 1.0; public void FullBright() { - this.key = KeyBindingHelper.registerKeyBinding(new KeyBinding( - "key.c0defox.fullbright", - InputUtil.Type.KEYSYM, - GLFW.GLFW_KEY_B, - "key.categories.c0defox" - )); + this.registerKey("key.c0defox.fullbright", GLFW.GLFW_KEY_B, "key.categories.c0defox"); } @Override public void onTick(MinecraftClient client) { - update(client, DEFAULT); + if (key.wasPressed()) { + this.setState(!this.isState()); + } + if (this.isState()) { c0deFoxModClient.LOGGER.warn("Active State"); update(client, c0deFoxMod.config.getConfig().FULLBRIGHT_GAMMA); + return; } + + update(client, DEFAULT); } private void update(MinecraftClient client, double value) { + c0deFoxModClient.LOGGER.warn(String.valueOf(value)); + if (client == null) return; if (client.options.getGamma().getValue() == value) return; -- 2.34.1 From 7821cf311e817e010af64d14aa545b9ff804f34c Mon Sep 17 00:00:00 2001 From: c0de Date: Tue, 21 Mar 2023 20:50:48 -0500 Subject: [PATCH 12/18] Add a toggleKey method --- src/main/java/dev/c0de/minecraft/client/Module.java | 8 ++++++++ .../dev/c0de/minecraft/client/modules/Fullbright.java | 4 +--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/main/java/dev/c0de/minecraft/client/Module.java b/src/main/java/dev/c0de/minecraft/client/Module.java index 0d212c2..6c0a6ca 100644 --- a/src/main/java/dev/c0de/minecraft/client/Module.java +++ b/src/main/java/dev/c0de/minecraft/client/Module.java @@ -34,6 +34,14 @@ public abstract class Module { return key; } + public void toggleKey() { + if (key != null) { + if (key.wasPressed()) { + this.setState(!this.isState()); + } + } + } + public boolean isState() { return state; } diff --git a/src/main/java/dev/c0de/minecraft/client/modules/Fullbright.java b/src/main/java/dev/c0de/minecraft/client/modules/Fullbright.java index ba8feb1..d143383 100644 --- a/src/main/java/dev/c0de/minecraft/client/modules/Fullbright.java +++ b/src/main/java/dev/c0de/minecraft/client/modules/Fullbright.java @@ -17,9 +17,7 @@ public class Fullbright extends Module { @Override public void onTick(MinecraftClient client) { - if (key.wasPressed()) { - this.setState(!this.isState()); - } + this.toggleKey(); if (this.isState()) { c0deFoxModClient.LOGGER.warn("Active State"); -- 2.34.1 From c411b3712c538d7728c49b23b2f9ce622921df05 Mon Sep 17 00:00:00 2001 From: c0de Date: Tue, 21 Mar 2023 21:08:18 -0500 Subject: [PATCH 13/18] I'm a dummy --- src/main/java/dev/c0de/minecraft/client/c0deFoxModClient.java | 4 ++-- .../java/dev/c0de/minecraft/client/modules/Fullbright.java | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/dev/c0de/minecraft/client/c0deFoxModClient.java b/src/main/java/dev/c0de/minecraft/client/c0deFoxModClient.java index 9f656c1..da4bfe1 100644 --- a/src/main/java/dev/c0de/minecraft/client/c0deFoxModClient.java +++ b/src/main/java/dev/c0de/minecraft/client/c0deFoxModClient.java @@ -18,7 +18,7 @@ public class c0deFoxModClient implements ClientModInitializer { private static c0deFoxModClient self; - Module fullbright; + private static Fullbright fullbright; @Override public void onInitializeClient() { @@ -37,7 +37,7 @@ public class c0deFoxModClient implements ClientModInitializer { // Called on every game tick public void tick(MinecraftClient client) { - this.fullbright.onTick(client); + fullbright.onTick(client); } } diff --git a/src/main/java/dev/c0de/minecraft/client/modules/Fullbright.java b/src/main/java/dev/c0de/minecraft/client/modules/Fullbright.java index d143383..81ee651 100644 --- a/src/main/java/dev/c0de/minecraft/client/modules/Fullbright.java +++ b/src/main/java/dev/c0de/minecraft/client/modules/Fullbright.java @@ -11,7 +11,7 @@ import org.lwjgl.glfw.GLFW; public class Fullbright extends Module { double DEFAULT = 1.0; - public void FullBright() { + public Fullbright() { this.registerKey("key.c0defox.fullbright", GLFW.GLFW_KEY_B, "key.categories.c0defox"); } -- 2.34.1 From e0caeec2fcae1c58681293b7894ab04198d6abec Mon Sep 17 00:00:00 2001 From: c0de Date: Tue, 21 Mar 2023 21:13:45 -0500 Subject: [PATCH 14/18] remove these logging messages --- .../java/dev/c0de/minecraft/client/modules/Fullbright.java | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/main/java/dev/c0de/minecraft/client/modules/Fullbright.java b/src/main/java/dev/c0de/minecraft/client/modules/Fullbright.java index 81ee651..4974f42 100644 --- a/src/main/java/dev/c0de/minecraft/client/modules/Fullbright.java +++ b/src/main/java/dev/c0de/minecraft/client/modules/Fullbright.java @@ -20,7 +20,6 @@ public class Fullbright extends Module { this.toggleKey(); if (this.isState()) { - c0deFoxModClient.LOGGER.warn("Active State"); update(client, c0deFoxMod.config.getConfig().FULLBRIGHT_GAMMA); return; } @@ -29,13 +28,9 @@ public class Fullbright extends Module { } private void update(MinecraftClient client, double value) { - c0deFoxModClient.LOGGER.warn(String.valueOf(value)); - if (client == null) return; if (client.options.getGamma().getValue() == value) return; - c0deFoxModClient.LOGGER.warn("changing gamma"); - client.options.getGamma().setValue(value); if (client.player != null) client.player.sendMessage(Text.of(String.valueOf(value)), true); -- 2.34.1 From 7ea5b1d4ef1fb4197c7fa8f8f25f24da0dabd1f8 Mon Sep 17 00:00:00 2001 From: c0de Date: Tue, 21 Mar 2023 21:20:24 -0500 Subject: [PATCH 15/18] minor changes --- src/main/java/dev/c0de/minecraft/client/c0deFoxModClient.java | 2 +- src/main/java/dev/c0de/minecraft/client/modules/Fullbright.java | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/src/main/java/dev/c0de/minecraft/client/c0deFoxModClient.java b/src/main/java/dev/c0de/minecraft/client/c0deFoxModClient.java index da4bfe1..c87da95 100644 --- a/src/main/java/dev/c0de/minecraft/client/c0deFoxModClient.java +++ b/src/main/java/dev/c0de/minecraft/client/c0deFoxModClient.java @@ -18,7 +18,7 @@ public class c0deFoxModClient implements ClientModInitializer { private static c0deFoxModClient self; - private static Fullbright fullbright; + private static Module fullbright; @Override public void onInitializeClient() { diff --git a/src/main/java/dev/c0de/minecraft/client/modules/Fullbright.java b/src/main/java/dev/c0de/minecraft/client/modules/Fullbright.java index 4974f42..fd9cc55 100644 --- a/src/main/java/dev/c0de/minecraft/client/modules/Fullbright.java +++ b/src/main/java/dev/c0de/minecraft/client/modules/Fullbright.java @@ -2,7 +2,6 @@ package dev.c0de.minecraft.client.modules; import dev.c0de.minecraft.c0deFoxMod; import dev.c0de.minecraft.client.Module; -import dev.c0de.minecraft.client.c0deFoxModClient; import net.minecraft.client.MinecraftClient; import net.minecraft.text.Text; -- 2.34.1 From fea4169b57410993852f0aac3798e32eeb02de61 Mon Sep 17 00:00:00 2001 From: c0de Date: Tue, 21 Mar 2023 22:19:00 -0500 Subject: [PATCH 16/18] play the thisDot song --- src/main/java/dev/c0de/minecraft/client/Module.java | 8 ++++---- .../dev/c0de/minecraft/client/modules/Fullbright.java | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/java/dev/c0de/minecraft/client/Module.java b/src/main/java/dev/c0de/minecraft/client/Module.java index 6c0a6ca..e785330 100644 --- a/src/main/java/dev/c0de/minecraft/client/Module.java +++ b/src/main/java/dev/c0de/minecraft/client/Module.java @@ -31,18 +31,18 @@ public abstract class Module { } public KeyBinding getKey() { - return key; + return this.key; } public void toggleKey() { - if (key != null) { - if (key.wasPressed()) { + if (this.key != null) { + if (this.key.wasPressed()) { this.setState(!this.isState()); } } } public boolean isState() { - return state; + return this.state; } } \ No newline at end of file diff --git a/src/main/java/dev/c0de/minecraft/client/modules/Fullbright.java b/src/main/java/dev/c0de/minecraft/client/modules/Fullbright.java index fd9cc55..b3284f9 100644 --- a/src/main/java/dev/c0de/minecraft/client/modules/Fullbright.java +++ b/src/main/java/dev/c0de/minecraft/client/modules/Fullbright.java @@ -19,11 +19,11 @@ public class Fullbright extends Module { this.toggleKey(); if (this.isState()) { - update(client, c0deFoxMod.config.getConfig().FULLBRIGHT_GAMMA); + this.update(client, c0deFoxMod.config.getConfig().FULLBRIGHT_GAMMA); return; } - update(client, DEFAULT); + this.update(client, DEFAULT); } private void update(MinecraftClient client, double value) { -- 2.34.1 From 0f7e54daea2cc34de164c668cced674bc7ded5be Mon Sep 17 00:00:00 2001 From: c0de Date: Tue, 21 Mar 2023 22:21:12 -0500 Subject: [PATCH 17/18] update metadata --- LICENSE | 122 +----------------------------------------------------- README.md | 6 ++- 2 files changed, 6 insertions(+), 122 deletions(-) diff --git a/LICENSE b/LICENSE index 0e259d4..c91808e 100644 --- a/LICENSE +++ b/LICENSE @@ -1,121 +1,3 @@ -Creative Commons Legal Code +MIT License -CC0 1.0 Universal - - CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE - LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN - ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS - INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES - REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS - PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM - THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED - HEREUNDER. - -Statement of Purpose - -The laws of most jurisdictions throughout the world automatically confer -exclusive Copyright and Related Rights (defined below) upon the creator -and subsequent owner(s) (each and all, an "owner") of an original work of -authorship and/or a database (each, a "Work"). - -Certain owners wish to permanently relinquish those rights to a Work for -the purpose of contributing to a commons of creative, cultural and -scientific works ("Commons") that the public can reliably and without fear -of later claims of infringement build upon, modify, incorporate in other -works, reuse and redistribute as freely as possible in any form whatsoever -and for any purposes, including without limitation commercial purposes. -These owners may contribute to the Commons to promote the ideal of a free -culture and the further production of creative, cultural and scientific -works, or to gain reputation or greater distribution for their Work in -part through the use and efforts of others. - -For these and/or other purposes and motivations, and without any -expectation of additional consideration or compensation, the person -associating CC0 with a Work (the "Affirmer"), to the extent that he or she -is an owner of Copyright and Related Rights in the Work, voluntarily -elects to apply CC0 to the Work and publicly distribute the Work under its -terms, with knowledge of his or her Copyright and Related Rights in the -Work and the meaning and intended legal effect of CC0 on those rights. - -1. Copyright and Related Rights. A Work made available under CC0 may be -protected by copyright and related or neighboring rights ("Copyright and -Related Rights"). Copyright and Related Rights include, but are not -limited to, the following: - - i. the right to reproduce, adapt, distribute, perform, display, - communicate, and translate a Work; - ii. moral rights retained by the original author(s) and/or performer(s); -iii. publicity and privacy rights pertaining to a person's image or - likeness depicted in a Work; - iv. rights protecting against unfair competition in regards to a Work, - subject to the limitations in paragraph 4(a), below; - v. rights protecting the extraction, dissemination, use and reuse of data - in a Work; - vi. database rights (such as those arising under Directive 96/9/EC of the - European Parliament and of the Council of 11 March 1996 on the legal - protection of databases, and under any national implementation - thereof, including any amended or successor version of such - directive); and -vii. other similar, equivalent or corresponding rights throughout the - world based on applicable law or treaty, and any national - implementations thereof. - -2. Waiver. To the greatest extent permitted by, but not in contravention -of, applicable law, Affirmer hereby overtly, fully, permanently, -irrevocably and unconditionally waives, abandons, and surrenders all of -Affirmer's Copyright and Related Rights and associated claims and causes -of action, whether now known or unknown (including existing as well as -future claims and causes of action), in the Work (i) in all territories -worldwide, (ii) for the maximum duration provided by applicable law or -treaty (including future time extensions), (iii) in any current or future -medium and for any number of copies, and (iv) for any purpose whatsoever, -including without limitation commercial, advertising or promotional -purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each -member of the public at large and to the detriment of Affirmer's heirs and -successors, fully intending that such Waiver shall not be subject to -revocation, rescission, cancellation, termination, or any other legal or -equitable action to disrupt the quiet enjoyment of the Work by the public -as contemplated by Affirmer's express Statement of Purpose. - -3. Public License Fallback. Should any part of the Waiver for any reason -be judged legally invalid or ineffective under applicable law, then the -Waiver shall be preserved to the maximum extent permitted taking into -account Affirmer's express Statement of Purpose. In addition, to the -extent the Waiver is so judged Affirmer hereby grants to each affected -person a royalty-free, non transferable, non sublicensable, non exclusive, -irrevocable and unconditional license to exercise Affirmer's Copyright and -Related Rights in the Work (i) in all territories worldwide, (ii) for the -maximum duration provided by applicable law or treaty (including future -time extensions), (iii) in any current or future medium and for any number -of copies, and (iv) for any purpose whatsoever, including without -limitation commercial, advertising or promotional purposes (the -"License"). The License shall be deemed effective as of the date CC0 was -applied by Affirmer to the Work. Should any part of the License for any -reason be judged legally invalid or ineffective under applicable law, such -partial invalidity or ineffectiveness shall not invalidate the remainder -of the License, and in such case Affirmer hereby affirms that he or she -will not (i) exercise any of his or her remaining Copyright and Related -Rights in the Work or (ii) assert any associated claims and causes of -action with respect to the Work, in either case contrary to Affirmer's -express Statement of Purpose. - -4. Limitations and Disclaimers. - - a. No trademark or patent rights held by Affirmer are waived, abandoned, - surrendered, licensed or otherwise affected by this document. - b. Affirmer offers the Work as-is and makes no representations or - warranties of any kind concerning the Work, express, implied, - statutory or otherwise, including without limitation warranties of - title, merchantability, fitness for a particular purpose, non - infringement, or the absence of latent or other defects, accuracy, or - the present or absence of errors, whether or not discoverable, all to - the greatest extent permissible under applicable law. - c. Affirmer disclaims responsibility for clearing rights of other persons - that may apply to the Work or any use thereof, including without - limitation any person's Copyright and Related Rights in the Work. - Further, Affirmer disclaims responsibility for obtaining any necessary - consents, permissions or other rights required for any use of the - Work. - d. Affirmer understands and acknowledges that Creative Commons is not a - party to this document and has no duty or obligation with respect to - this CC0 or use of the Work. +# TODO: Add license diff --git a/README.md b/README.md index fd96346..01d916f 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,6 @@ -# Fabric Example Mod +# c0de's mod + +A collection of mods for minecraft ## Setup @@ -6,4 +8,4 @@ For setup instructions please see the [fabric wiki page](https://fabricmc.net/wi ## License -This template is available under the CC0 license. Feel free to learn from it and incorporate it in your own projects. +This mod is released under the MIT license. -- 2.34.1 From e1f99a8649a78cc24a9e0d468679a161fa2668a4 Mon Sep 17 00:00:00 2001 From: c0de Date: Tue, 21 Mar 2023 22:24:47 -0500 Subject: [PATCH 18/18] update metadata --- gradle.properties | 6 +++--- src/main/resources/fabric.mod.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/gradle.properties b/gradle.properties index 710b01f..87ec33d 100644 --- a/gradle.properties +++ b/gradle.properties @@ -9,9 +9,9 @@ org.gradle.parallel=true loader_version=0.14.17 # Mod Properties - mod_version = 1.0.0 - maven_group = com.example - archives_base_name = fabric-example-mod + mod_version = 0.0.1 + maven_group = dev.c0de + archives_base_name = minecraft-mod # Dependencies fabric_version=0.75.3+1.19.4 diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 3a9e048..5cfc8be 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -32,7 +32,7 @@ "depends": { "fabricloader": ">=0.14.17", "fabric-api": "*", - "minecraft": "~1.19.4", + "minecraft": ">=1.19.4", "java": ">=17" }, "suggests": { -- 2.34.1