From be13b8cd6ee13d47828751a4e92e435556153c54 Mon Sep 17 00:00:00 2001 From: Maximusbarcz Date: Sat, 1 Oct 2022 22:24:40 +0200 Subject: Initial Commit - Implemented Skill Points --- src/main/java/dev/mayaqq/ygasi/StatRegistry.java | 12 +++++++++ .../ygasi/mixin/AdvancementRewardsMixin.java | 27 +++++++++++++++++++++ src/main/java/dev/mayaqq/ygasi/ygasi.java | 15 ++++++++++++ src/main/java/net/fabricmc/example/ExampleMod.java | 21 ---------------- .../net/fabricmc/example/mixin/ExampleMixin.java | 16 ------------ src/main/resources/assets/modid/icon.png | Bin 453 -> 0 bytes src/main/resources/assets/ygasi/icon.png | Bin 0 -> 26011 bytes src/main/resources/fabric.mod.json | 22 ++++++++--------- src/main/resources/modid.mixins.json | 14 ----------- src/main/resources/ygasi.mixins.json | 16 ++++++++++++ 10 files changed, 81 insertions(+), 62 deletions(-) create mode 100644 src/main/java/dev/mayaqq/ygasi/StatRegistry.java create mode 100644 src/main/java/dev/mayaqq/ygasi/mixin/AdvancementRewardsMixin.java create mode 100644 src/main/java/dev/mayaqq/ygasi/ygasi.java delete mode 100644 src/main/java/net/fabricmc/example/ExampleMod.java delete mode 100644 src/main/java/net/fabricmc/example/mixin/ExampleMixin.java delete mode 100644 src/main/resources/assets/modid/icon.png create mode 100644 src/main/resources/assets/ygasi/icon.png delete mode 100644 src/main/resources/modid.mixins.json create mode 100644 src/main/resources/ygasi.mixins.json (limited to 'src') diff --git a/src/main/java/dev/mayaqq/ygasi/StatRegistry.java b/src/main/java/dev/mayaqq/ygasi/StatRegistry.java new file mode 100644 index 0000000..0b1c986 --- /dev/null +++ b/src/main/java/dev/mayaqq/ygasi/StatRegistry.java @@ -0,0 +1,12 @@ +package dev.mayaqq.ygasi; + +import eu.pb4.polymer.api.other.PolymerStat; +import net.minecraft.stat.StatFormatter; +import net.minecraft.util.Identifier; + + +public class StatRegistry { + public static Identifier SKILL_POINTS = PolymerStat.registerStat("skill_points", StatFormatter.DEFAULT); + + public static void skillRegister() {} +} diff --git a/src/main/java/dev/mayaqq/ygasi/mixin/AdvancementRewardsMixin.java b/src/main/java/dev/mayaqq/ygasi/mixin/AdvancementRewardsMixin.java new file mode 100644 index 0000000..8848d28 --- /dev/null +++ b/src/main/java/dev/mayaqq/ygasi/mixin/AdvancementRewardsMixin.java @@ -0,0 +1,27 @@ +package dev.mayaqq.ygasi.mixin; + +import net.minecraft.advancement.AdvancementRewards; +import net.minecraft.server.network.ServerPlayerEntity; +import net.minecraft.util.Identifier; +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 static dev.mayaqq.ygasi.StatRegistry.SKILL_POINTS; +import static dev.mayaqq.ygasi.ygasi.LOGGER; + +@Mixin(AdvancementRewards.class) +public class AdvancementRewardsMixin { + @Shadow @Final private Identifier[] recipes; + + @Inject(method = "apply",at = @At("HEAD")) + private void inject(ServerPlayerEntity player, CallbackInfo ci) { + if (recipes.length == 0) { + LOGGER.info("Skill point unlocked"); + player.increaseStat(SKILL_POINTS, 1); + } + } +} diff --git a/src/main/java/dev/mayaqq/ygasi/ygasi.java b/src/main/java/dev/mayaqq/ygasi/ygasi.java new file mode 100644 index 0000000..185ae6e --- /dev/null +++ b/src/main/java/dev/mayaqq/ygasi/ygasi.java @@ -0,0 +1,15 @@ +package dev.mayaqq.ygasi; + +import net.fabricmc.api.ModInitializer; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class ygasi implements ModInitializer { + public static final Logger LOGGER = LoggerFactory.getLogger("ygasi"); + + @Override + public void onInitialize() { + StatRegistry.skillRegister(); + LOGGER.info("You've got a skill issue!"); + } +} diff --git a/src/main/java/net/fabricmc/example/ExampleMod.java b/src/main/java/net/fabricmc/example/ExampleMod.java deleted file mode 100644 index a964189..0000000 --- a/src/main/java/net/fabricmc/example/ExampleMod.java +++ /dev/null @@ -1,21 +0,0 @@ -package net.fabricmc.example; - -import net.fabricmc.api.ModInitializer; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class ExampleMod implements ModInitializer { - // 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("modid"); - - @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!"); - } -} diff --git a/src/main/java/net/fabricmc/example/mixin/ExampleMixin.java b/src/main/java/net/fabricmc/example/mixin/ExampleMixin.java deleted file mode 100644 index 356cb38..0000000 --- a/src/main/java/net/fabricmc/example/mixin/ExampleMixin.java +++ /dev/null @@ -1,16 +0,0 @@ -package net.fabricmc.example.mixin; - -import net.fabricmc.example.ExampleMod; -import net.minecraft.client.gui.screen.TitleScreen; -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(TitleScreen.class) -public class ExampleMixin { - @Inject(at = @At("HEAD"), method = "init()V") - private void init(CallbackInfo info) { - ExampleMod.LOGGER.info("This line is printed by an example mod mixin!"); - } -} diff --git a/src/main/resources/assets/modid/icon.png b/src/main/resources/assets/modid/icon.png deleted file mode 100644 index 047b91f..0000000 Binary files a/src/main/resources/assets/modid/icon.png and /dev/null differ diff --git a/src/main/resources/assets/ygasi/icon.png b/src/main/resources/assets/ygasi/icon.png new file mode 100644 index 0000000..dc0a055 Binary files /dev/null and b/src/main/resources/assets/ygasi/icon.png differ diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 3428658..1ec8757 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -1,29 +1,29 @@ { "schemaVersion": 1, - "id": "modid", - "version": "${version}", + "id": "ygasi", + "version": "0.1", - "name": "Example Mod", - "description": "This is an example description! Tell everyone what your mod is about!", + "name": "You've got a Skill Issue", + "description": "A Server-side Fabric mod with a skill tree and leveling! ", "authors": [ - "Me!" + "Mayaqq" ], "contact": { - "homepage": "https://fabricmc.net/", - "sources": "https://github.com/FabricMC/fabric-example-mod" + "homepage": "https://github.com/Maximusbarcz", + "sources": "https://github.com/Maximusbarcz/youve-got-a-skill-issue" }, - "license": "CC0-1.0", - "icon": "assets/modid/icon.png", + "license": "LGPL-3", + "icon": "assets/ygasi/icon.png", "environment": "*", "entrypoints": { "main": [ - "net.fabricmc.example.ExampleMod" + "dev.mayaqq.ygasi.ygasi" ] }, "mixins": [ - "modid.mixins.json" + "ygasi.mixins.json" ], "depends": { diff --git a/src/main/resources/modid.mixins.json b/src/main/resources/modid.mixins.json deleted file mode 100644 index 7c42cb4..0000000 --- a/src/main/resources/modid.mixins.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "required": true, - "minVersion": "0.8", - "package": "net.fabricmc.example.mixin", - "compatibilityLevel": "JAVA_17", - "mixins": [ - ], - "client": [ - "ExampleMixin" - ], - "injectors": { - "defaultRequire": 1 - } -} diff --git a/src/main/resources/ygasi.mixins.json b/src/main/resources/ygasi.mixins.json new file mode 100644 index 0000000..aeb9daf --- /dev/null +++ b/src/main/resources/ygasi.mixins.json @@ -0,0 +1,16 @@ +{ + "required": true, + "minVersion": "0.8", + "package": "dev.mayaqq.ygasi.mixin", + "compatibilityLevel": "JAVA_17", + "mixins": [ + "AdvancementRewardsMixin" + ], + "client": [ + ], + "server": [ + ], + "injectors": { + "defaultRequire": 1 + } +} -- cgit