From 084b6e3dfa5de766c909102d9b9b5b4557b428f0 Mon Sep 17 00:00:00 2001 From: Redstone1024 <2824517378@qq.com> Date: Sun, 1 Sep 2024 22:42:25 +0800 Subject: [PATCH] Modify class name and configuration file etc --- LICENSE | 134 +++--------------- README.md | 82 +---------- gradle.properties | 4 +- .../java/com/example/addon/AddonTemplate.java | 53 ------- .../addon/commands/CommandExample.java | 34 ----- .../com/example/addon/hud/HudExample.java | 29 ---- .../com/example/addon/mixin/ExampleMixin.java | 31 ---- .../example/addon/modules/ModuleExample.java | 66 --------- .../minecraft/BowDogPrediction.java | 33 +++++ .../minecraft}/modules/AimAssist.java | 6 +- .../minecraft}/modules/Prediction.java | 6 +- src/main/resources/addon-template.mixins.json | 11 -- src/main/resources/fabric.mod.json | 17 +-- 13 files changed, 67 insertions(+), 439 deletions(-) delete mode 100644 src/main/java/com/example/addon/AddonTemplate.java delete mode 100644 src/main/java/com/example/addon/commands/CommandExample.java delete mode 100644 src/main/java/com/example/addon/hud/HudExample.java delete mode 100644 src/main/java/com/example/addon/mixin/ExampleMixin.java delete mode 100644 src/main/java/com/example/addon/modules/ModuleExample.java create mode 100644 src/main/java/top/myredstone/minecraft/BowDogPrediction.java rename src/main/java/{com/example/addon => top/myredstone/minecraft}/modules/AimAssist.java (96%) rename src/main/java/{com/example/addon => top/myredstone/minecraft}/modules/Prediction.java (99%) delete mode 100644 src/main/resources/addon-template.mixins.json diff --git a/LICENSE b/LICENSE index 0e259d4..49fdbb7 100644 --- a/LICENSE +++ b/LICENSE @@ -1,121 +1,21 @@ -Creative Commons Legal Code +MIT License -CC0 1.0 Universal +Copyright (c) 2024 _Redstone_c_ - 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. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -Statement of Purpose +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -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. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md index c246d08..b389519 100644 --- a/README.md +++ b/README.md @@ -1,81 +1,3 @@ -# Meteor Addon Template +# Bow Dog Prediction -A template to allow easy usage of the Meteor Addon API. - -### How to use - -- Clone this project -- Use this template to create new modules/commands -- Build the executable using the gradle `build` task. -- Run the mod with Meteor. - -### Project structure - -```text -. -│── .github -│ ╰── workflows -│ │── dev_build.yml -│ ╰── pull_request.yml -│── gradle -│ ╰── wrapper -│ │── gradle-wrapper.jar -│ ╰── gradle-wrapper.properties -│── src -│ ╰── main -│ │── java -│ │ ╰── com -│ │ ╰── example -│ │ ╰── addon -│ │ │── commands -│ │ │ ╰── CommandExample -│ │ │── hud -│ │ │ ╰── HudExample -│ │ │── modules -│ │ │ ╰── ModuleExample -│ │ ╰── AddonTemplate -│ ╰── resources -│ │── assets -│ │ ╰── template -│ │ ╰── icon.png -│ │── addon-template.mixins.json -│ ╰── fabric.mod.json -│── .editorconfig -│── .gitignore -│── build.gradle -│── gradle.properties -│── gradlew -│── gradlew.bat -│── LICENSE -│── README.md -╰── settings.gradle -``` - -This is the default project structure. Each folder/file has a specific purpose. -Here is a brief explanation of the ones you might need to modify: - -- `.github/workflows`: Contains the GitHub Actions configuration files. -- `gradle`: Contains the Gradle wrapper files. - Edit the `gradle.properties` file to change the version of the Gradle wrapper. -- `src/main/java/com/example/addon`: Contains the main class of the addon. - Here you can register your custom commands, modules, and HUDs. - Edit the `getPackage` method to reflect the package of your addon. -- `src/main/resources`: Contains the resources of the addon. - - `assets`: Contains the assets of the addon. - You can add your own assets here, separated in subfolders. - - `template`: Contains the assets of the template. - You can replace the `icon.png` file with your own addon icon. - Also, rename this folder to reflect the name of your addon. - - `addon-template.mixins.json`: Contains the Mixin configuration for the addon. - You can add your own mixins in the `client` array. - - `fabric.mod.json`: Contains the metadata of the addon. - Edit the various fields to reflect the metadata of your addon. -- `build.gradle`: Contains the Gradle build script. - You can manage the dependencies of the addon here. - Remember to keep the `fabric-loom` version up-to-date. -- `gradle.properties`: Contains the properties of the Gradle build. - These will be used by the build script. -- `LICENSE`: Contains the license of the addon. - You can edit this file to change the license of your addon. -- `README.md`: Contains the documentation of the addon. - You can edit this file to reflect the documentation of your addon, and showcase its features. +A meteor addon for predicting bows and arrows. diff --git a/gradle.properties b/gradle.properties index a3ec6a0..21e7c6a 100644 --- a/gradle.properties +++ b/gradle.properties @@ -7,8 +7,8 @@ loader_version=0.16.2 # Mod Properties mod_version=0.1.0 -maven_group=com.example -archives_base_name=addon-template +maven_group=top.myredstone.minecraft +archives_base_name=bow-dog-prediction # Dependencies diff --git a/src/main/java/com/example/addon/AddonTemplate.java b/src/main/java/com/example/addon/AddonTemplate.java deleted file mode 100644 index 30a92cf..0000000 --- a/src/main/java/com/example/addon/AddonTemplate.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.example.addon; - -import com.example.addon.commands.CommandExample; -import com.example.addon.hud.HudExample; -import com.example.addon.modules.AimAssist; -import com.example.addon.modules.ModuleExample; -import com.example.addon.modules.Prediction; -import com.mojang.logging.LogUtils; -import meteordevelopment.meteorclient.addons.GithubRepo; -import meteordevelopment.meteorclient.addons.MeteorAddon; -import meteordevelopment.meteorclient.commands.Commands; -import meteordevelopment.meteorclient.systems.hud.Hud; -import meteordevelopment.meteorclient.systems.hud.HudGroup; -import meteordevelopment.meteorclient.systems.modules.Category; -import meteordevelopment.meteorclient.systems.modules.Modules; -import org.slf4j.Logger; - -public class AddonTemplate extends MeteorAddon { - public static final Logger LOG = LogUtils.getLogger(); - public static final Category CATEGORY = new Category("Example"); - public static final HudGroup HUD_GROUP = new HudGroup("Example"); - - @Override - public void onInitialize() { - LOG.info("Initializing Meteor Addon Template"); - - // Modules - Modules.get().add(new ModuleExample()); - Modules.get().add(new Prediction()); - Modules.get().add(new AimAssist()); - - // Commands - Commands.add(new CommandExample()); - - // HUD - Hud.get().register(HudExample.INFO); - } - - @Override - public void onRegisterCategories() { - Modules.registerCategory(CATEGORY); - } - - @Override - public String getPackage() { - return "com.example.addon"; - } - - @Override - public GithubRepo getRepo() { - return new GithubRepo("MeteorDevelopment", "meteor-addon-template"); - } -} diff --git a/src/main/java/com/example/addon/commands/CommandExample.java b/src/main/java/com/example/addon/commands/CommandExample.java deleted file mode 100644 index 06ec3ae..0000000 --- a/src/main/java/com/example/addon/commands/CommandExample.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.example.addon.commands; - -import com.mojang.brigadier.arguments.StringArgumentType; -import com.mojang.brigadier.builder.LiteralArgumentBuilder; -import meteordevelopment.meteorclient.commands.Command; -import net.minecraft.command.CommandSource; - -import static com.mojang.brigadier.Command.SINGLE_SUCCESS; - -/** - * The Meteor Client command API uses the same command system as Minecraft does. - */ -public class CommandExample extends Command { - /** - * The {@code name} parameter should be in kebab-case. - */ - public CommandExample() { - super("example", "Sends a message."); - } - - @Override - public void build(LiteralArgumentBuilder builder) { - builder.executes(context -> { - info("hi"); - return SINGLE_SUCCESS; - }); - - builder.then(literal("name").then(argument("nameArgument", StringArgumentType.word()).executes(context -> { - String argument = StringArgumentType.getString(context, "nameArgument"); - info("hi, " + argument); - return SINGLE_SUCCESS; - }))); - } -} diff --git a/src/main/java/com/example/addon/hud/HudExample.java b/src/main/java/com/example/addon/hud/HudExample.java deleted file mode 100644 index bdf5928..0000000 --- a/src/main/java/com/example/addon/hud/HudExample.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.example.addon.hud; - -import com.example.addon.AddonTemplate; -import meteordevelopment.meteorclient.systems.hud.HudElement; -import meteordevelopment.meteorclient.systems.hud.HudElementInfo; -import meteordevelopment.meteorclient.systems.hud.HudRenderer; -import meteordevelopment.meteorclient.utils.render.color.Color; - -public class HudExample extends HudElement { - /** - * The {@code name} parameter should be in kebab-case. - */ - public static final HudElementInfo INFO = new HudElementInfo<>(AddonTemplate.HUD_GROUP, "example", "HUD element example.", HudExample::new); - - public HudExample() { - super(INFO); - } - - @Override - public void render(HudRenderer renderer) { - setSize(renderer.textWidth("Example element", true), renderer.textHeight(true)); - - // Render background - renderer.quad(x, y, getWidth(), getHeight(), Color.LIGHT_GRAY); - - // Render text - renderer.text("Example element", x, y, Color.WHITE, true); - } -} diff --git a/src/main/java/com/example/addon/mixin/ExampleMixin.java b/src/main/java/com/example/addon/mixin/ExampleMixin.java deleted file mode 100644 index a5556c2..0000000 --- a/src/main/java/com/example/addon/mixin/ExampleMixin.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.example.addon.mixin; - -import com.example.addon.AddonTemplate; -import net.minecraft.client.MinecraftClient; -import net.minecraft.client.RunArgs; -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; - -/** - * Example Mixin class. - * For more resources, visit: - * - */ -@Mixin(MinecraftClient.class) -public abstract class ExampleMixin { - /** - * Example Mixin injection targeting the {@code } method (the constructor) at {@code TAIL} (end of method). - */ - @Inject(method = "", at = @At("TAIL")) - private void onGameLoaded(RunArgs args, CallbackInfo ci) { - AddonTemplate.LOG.info("Hello from ExampleMixin!"); - } -} diff --git a/src/main/java/com/example/addon/modules/ModuleExample.java b/src/main/java/com/example/addon/modules/ModuleExample.java deleted file mode 100644 index 10a4bb6..0000000 --- a/src/main/java/com/example/addon/modules/ModuleExample.java +++ /dev/null @@ -1,66 +0,0 @@ -package com.example.addon.modules; - -import com.example.addon.AddonTemplate; -import meteordevelopment.meteorclient.events.render.Render3DEvent; -import meteordevelopment.meteorclient.renderer.ShapeMode; -import meteordevelopment.meteorclient.settings.ColorSetting; -import meteordevelopment.meteorclient.settings.DoubleSetting; -import meteordevelopment.meteorclient.settings.Setting; -import meteordevelopment.meteorclient.settings.SettingGroup; -import meteordevelopment.meteorclient.systems.modules.Module; -import meteordevelopment.meteorclient.utils.render.color.Color; -import meteordevelopment.meteorclient.utils.render.color.SettingColor; -import meteordevelopment.orbit.EventHandler; -import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.Box; - -public class ModuleExample extends Module { - private final SettingGroup sgGeneral = this.settings.getDefaultGroup(); - private final SettingGroup sgRender = this.settings.createGroup("Render"); - - /** - * Example setting. - * The {@code name} parameter should be in kebab-case. - * If you want to access the setting from another class, simply make the setting {@code public}, and use - * {@link meteordevelopment.meteorclient.systems.modules.Modules#get(Class)} to access the {@link Module} object. - */ - private final Setting scale = sgGeneral.add(new DoubleSetting.Builder() - .name("scale") - .description("The size of the marker.") - .defaultValue(2.0d) - .range(0.5d, 10.0d) - .build() - ); - - private final Setting color = sgRender.add(new ColorSetting.Builder() - .name("color") - .description("The color of the marker.") - .defaultValue(Color.MAGENTA) - .build() - ); - - /** - * The {@code name} parameter should be in kebab-case. - */ - public ModuleExample() { - super(AddonTemplate.CATEGORY, "world-origin", "An example module that highlights the center of the world."); - } - - /** - * Example event handling method. - * Requires {@link AddonTemplate#getPackage()} to be setup correctly, will fail silently otherwise. - */ - @EventHandler - private void onRender3d(Render3DEvent event) { - // Create & stretch the marker object - Box marker = new Box(BlockPos.ORIGIN); - marker.stretch( - scale.get() * marker.getLengthX(), - scale.get() * marker.getLengthY(), - scale.get() * marker.getLengthZ() - ); - - // Render the marker based on the color setting - event.renderer.box(marker, color.get(), color.get(), ShapeMode.Both, 0); - } -} diff --git a/src/main/java/top/myredstone/minecraft/BowDogPrediction.java b/src/main/java/top/myredstone/minecraft/BowDogPrediction.java new file mode 100644 index 0000000..523da5c --- /dev/null +++ b/src/main/java/top/myredstone/minecraft/BowDogPrediction.java @@ -0,0 +1,33 @@ +package top.myredstone.minecraft; + +import top.myredstone.minecraft.modules.AimAssist; +import top.myredstone.minecraft.modules.Prediction; +import com.mojang.logging.LogUtils; +import meteordevelopment.meteorclient.addons.MeteorAddon; +import meteordevelopment.meteorclient.systems.modules.Category; +import meteordevelopment.meteorclient.systems.modules.Modules; +import org.slf4j.Logger; + +public class BowDogPrediction extends MeteorAddon { + public static final Logger LOG = LogUtils.getLogger(); + public static final Category CATEGORY = new Category("BowDog"); + + @Override + public void onInitialize() { + LOG.info("Initializing Bow Dog Prediction Addon"); + + // Modules + Modules.get().add(new Prediction()); + Modules.get().add(new AimAssist()); + } + + @Override + public void onRegisterCategories() { + Modules.registerCategory(CATEGORY); + } + + @Override + public String getPackage() { + return "top.myredstone.minecraft"; + } +} diff --git a/src/main/java/com/example/addon/modules/AimAssist.java b/src/main/java/top/myredstone/minecraft/modules/AimAssist.java similarity index 96% rename from src/main/java/com/example/addon/modules/AimAssist.java rename to src/main/java/top/myredstone/minecraft/modules/AimAssist.java index 8402f93..c7a799c 100644 --- a/src/main/java/com/example/addon/modules/AimAssist.java +++ b/src/main/java/top/myredstone/minecraft/modules/AimAssist.java @@ -1,6 +1,6 @@ -package com.example.addon.modules; +package top.myredstone.minecraft.modules; -import com.example.addon.AddonTemplate; +import top.myredstone.minecraft.BowDogPrediction; import meteordevelopment.meteorclient.events.render.Render3DEvent; import meteordevelopment.meteorclient.events.world.TickEvent; import meteordevelopment.meteorclient.settings.*; @@ -83,7 +83,7 @@ public class AimAssist extends Module { private final Vector3d vec3d1 = new Vector3d(); private Entity target; - public AimAssist() { super(AddonTemplate.CATEGORY, "aim-assist", "Automatically aims at entities."); } + public AimAssist() { super(BowDogPrediction.CATEGORY, "aim-assist", "Automatically aims at entities."); } @EventHandler private void onTick(TickEvent.Post event) { diff --git a/src/main/java/com/example/addon/modules/Prediction.java b/src/main/java/top/myredstone/minecraft/modules/Prediction.java similarity index 99% rename from src/main/java/com/example/addon/modules/Prediction.java rename to src/main/java/top/myredstone/minecraft/modules/Prediction.java index 7a901ca..fa92f39 100644 --- a/src/main/java/com/example/addon/modules/Prediction.java +++ b/src/main/java/top/myredstone/minecraft/modules/Prediction.java @@ -1,6 +1,6 @@ -package com.example.addon.modules; +package top.myredstone.minecraft.modules; -import com.example.addon.AddonTemplate; +import top.myredstone.minecraft.BowDogPrediction; import meteordevelopment.meteorclient.events.render.Render3DEvent; import meteordevelopment.meteorclient.events.world.TickEvent; import meteordevelopment.meteorclient.renderer.ShapeMode; @@ -373,7 +373,7 @@ public class Prediction extends Module { .build() ); - public Prediction() { super(AddonTemplate.CATEGORY, "bow-prediction", "Predicting arrow trajectories."); } + public Prediction() { super(BowDogPrediction.CATEGORY, "bow-prediction", "Predicting arrow trajectories."); } @Override public void onDeactivate() { diff --git a/src/main/resources/addon-template.mixins.json b/src/main/resources/addon-template.mixins.json deleted file mode 100644 index 39d1c99..0000000 --- a/src/main/resources/addon-template.mixins.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "required": true, - "package": "com.example.addon.mixin", - "compatibilityLevel": "JAVA_21", - "client": [ - "ExampleMixin" - ], - "injectors": { - "defaultRequire": 1 - } -} diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index bb8c721..84d188c 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -1,27 +1,24 @@ { "schemaVersion": 1, - "id": "addon-template", + "id": "bow-dog-prediction", "version": "${version}", - "name": "Addon Template", - "description": "An addon template for Meteor Client addons.", + "name": "Bow Dog Prediction", + "description": "A meteor addon for predicting bows and arrows.", "authors": [ - "seasnail" + "_Redstone_c_" ], "contact": { - "repo": "https://github.com/MeteorDevelopment/meteor-addon-template" + "repo": "https://gitea.myredstone.top/Redstone1024/BowDogPrediction" }, "icon": "assets/template/icon.png", "environment": "client", "entrypoints": { "meteor": [ - "com.example.addon.AddonTemplate" + "top.myredstone.minecraft.BowDogPrediction" ] }, - "mixins": [ - "addon-template.mixins.json" - ], "custom": { - "meteor-client:color": "225,25,25" + "meteor-client:color": "128,255,0" }, "depends": { "java": ">=21",