From 550e45cc7350e7ec0199b53b21f908885fcc9cbc Mon Sep 17 00:00:00 2001 From: Meredith Espinosa Date: Wed, 8 May 2019 01:32:22 -0700 Subject: [PATCH] refactor to SkillCheck, add mod menu support --- build.gradle | 14 ++++-- .../CharacterSheetItem.java | 12 +++-- .../ClassScrollItem.java | 10 ++-- .../SkillCheck.java} | 44 +++++++---------- .../cottonmc/skillcheck/SkillCheckClient.java | 46 ++++++++++++++++++ .../TraitPrestigeItem.java | 12 ++--- .../api/dice/Dice.java | 14 ++++-- .../api/dice/RollResult.java} | 16 +++--- .../api/traits/ClassManager.java | 16 +++--- .../api/traits/ClassTrait.java | 9 +++- .../container/CharacterSheetContainer.java | 4 +- .../container/CharacterSheetScreen.java | 22 ++++----- .../events/PlayerAttackEvent.java | 26 +++++----- .../events/PlayerStealEvent.java | 24 ++++----- .../mixins/MixinArrow.java | 4 +- .../mixins/MixinBannerTooltip.java | 4 +- .../mixins/MixinThiefClient.java | 14 +++--- .../mixins/MixinThiefCommon.java | 24 ++++----- .../mixins/MixinWeaverContainer.java | 8 +-- .../mixins/MixinWeaverScreen.java | 8 +-- .../util/ArrowEffects.java | 2 +- .../util/SkillCheckConfig.java} | 19 +++++--- .../util/SkillCheckNetworking.java} | 14 +++--- .../cottonmc/skillworks/SkillworksClient.java | 13 ----- .../{skillworks => skillcheck}/icon.png | Bin .../assets/skillcheck/lang/en_us.json | 43 ++++++++++++++++ .../models/item/artisan_scroll.json | 2 +- .../models/item/brawler_scroll.json | 2 +- .../models/item/character_sheet.json | 2 +- .../models/item/class_prestige.json | 2 +- .../models/item/thief_scroll.json | 2 +- .../textures/gui/container/scribing.png | Bin .../textures/item/artisan_scroll.png | Bin .../textures/item/brawler_scroll.png | Bin .../textures/item/character_sheet.png | Bin .../textures/item/class_prestige.png | Bin .../textures/item/thief_scroll.png | Bin .../assets/skillworks/lang/en_us.json | 43 ---------------- .../recipes/character_sheet.json | 2 +- .../tags/blocks/slippery.json | 0 src/main/resources/fabric.mod.json | 16 +++--- ...rks.common.json => skillcheck.common.json} | 4 +- 42 files changed, 280 insertions(+), 217 deletions(-) rename src/main/java/io/github/cottonmc/{skillworks => skillcheck}/CharacterSheetItem.java (73%) rename src/main/java/io/github/cottonmc/{skillworks => skillcheck}/ClassScrollItem.java (87%) rename src/main/java/io/github/cottonmc/{skillworks/Skillworks.java => skillcheck/SkillCheck.java} (70%) create mode 100644 src/main/java/io/github/cottonmc/skillcheck/SkillCheckClient.java rename src/main/java/io/github/cottonmc/{skillworks => skillcheck}/TraitPrestigeItem.java (77%) rename src/main/java/io/github/cottonmc/{skillworks => skillcheck}/api/dice/Dice.java (62%) rename src/main/java/io/github/cottonmc/{skillworks/api/dice/DiceResult.java => skillcheck/api/dice/RollResult.java} (66%) rename src/main/java/io/github/cottonmc/{skillworks => skillcheck}/api/traits/ClassManager.java (92%) rename src/main/java/io/github/cottonmc/{skillworks => skillcheck}/api/traits/ClassTrait.java (61%) rename src/main/java/io/github/cottonmc/{skillworks => skillcheck}/container/CharacterSheetContainer.java (91%) rename src/main/java/io/github/cottonmc/{skillworks => skillcheck}/container/CharacterSheetScreen.java (90%) rename src/main/java/io/github/cottonmc/{skillworks => skillcheck}/events/PlayerAttackEvent.java (70%) rename src/main/java/io/github/cottonmc/{skillworks => skillcheck}/events/PlayerStealEvent.java (70%) rename src/main/java/io/github/cottonmc/{skillworks => skillcheck}/mixins/MixinArrow.java (79%) rename src/main/java/io/github/cottonmc/{skillworks => skillcheck}/mixins/MixinBannerTooltip.java (85%) rename src/main/java/io/github/cottonmc/{skillworks => skillcheck}/mixins/MixinThiefClient.java (94%) rename src/main/java/io/github/cottonmc/{skillworks => skillcheck}/mixins/MixinThiefCommon.java (82%) rename src/main/java/io/github/cottonmc/{skillworks => skillcheck}/mixins/MixinWeaverContainer.java (82%) rename src/main/java/io/github/cottonmc/{skillworks => skillcheck}/mixins/MixinWeaverScreen.java (82%) rename src/main/java/io/github/cottonmc/{skillworks => skillcheck}/util/ArrowEffects.java (78%) rename src/main/java/io/github/cottonmc/{skillworks/util/SkillworksConfig.java => skillcheck/util/SkillCheckConfig.java} (67%) rename src/main/java/io/github/cottonmc/{skillworks/util/SkillworksNetworking.java => skillcheck/util/SkillCheckNetworking.java} (84%) delete mode 100644 src/main/java/io/github/cottonmc/skillworks/SkillworksClient.java rename src/main/resources/assets/{skillworks => skillcheck}/icon.png (100%) create mode 100755 src/main/resources/assets/skillcheck/lang/en_us.json rename src/main/resources/assets/{skillworks => skillcheck}/models/item/artisan_scroll.json (53%) rename src/main/resources/assets/{skillworks => skillcheck}/models/item/brawler_scroll.json (53%) rename src/main/resources/assets/{skillworks => skillcheck}/models/item/character_sheet.json (53%) rename src/main/resources/assets/{skillworks => skillcheck}/models/item/class_prestige.json (53%) rename src/main/resources/assets/{skillworks => skillcheck}/models/item/thief_scroll.json (54%) rename src/main/resources/assets/{skillworks => skillcheck}/textures/gui/container/scribing.png (100%) rename src/main/resources/assets/{skillworks => skillcheck}/textures/item/artisan_scroll.png (100%) rename src/main/resources/assets/{skillworks => skillcheck}/textures/item/brawler_scroll.png (100%) rename src/main/resources/assets/{skillworks => skillcheck}/textures/item/character_sheet.png (100%) rename src/main/resources/assets/{skillworks => skillcheck}/textures/item/class_prestige.png (100%) rename src/main/resources/assets/{skillworks => skillcheck}/textures/item/thief_scroll.png (100%) delete mode 100755 src/main/resources/assets/skillworks/lang/en_us.json rename src/main/resources/data/{skillworks => skillchec}/recipes/character_sheet.json (87%) rename src/main/resources/data/{skillworks => skillchec}/tags/blocks/slippery.json (100%) rename src/main/resources/{skillworks.common.json => skillcheck.common.json} (73%) diff --git a/build.gradle b/build.gradle index 0df3dfb..f834028 100644 --- a/build.gradle +++ b/build.gradle @@ -23,12 +23,12 @@ apply plugin: net.fabricmc.loom.LoomGradlePlugin sourceCompatibility = 1.8 targetCompatibility = 1.8 -archivesBaseName = "skillworks" +archivesBaseName = "skillcheck" group = "io.github.cottonmc" version = "0.1.1+1.14" minecraft { - refmapName = 'mixins.skillworks.refmap.json' + refmapName = 'mixins.skillcheck.refmap.json' } repositories { @@ -39,6 +39,9 @@ repositories { maven { url 'http://server.bbkr.space:8081/artifactory/libs-snapshot' } + maven { + url = "https://minecraft.curseforge.com/api/maven" + } } dependencies { @@ -47,8 +50,13 @@ dependencies { modCompile "net.fabricmc:fabric-loader:0.4.4+build.138" modCompile "net.fabricmc:fabric:0.2.7+build.127" + modCompile "io.github.prospector.modmenu:ModMenu:1.5.1-81" modCompile "io.github.cottonmc:cotton:0.6.1+1.14-SNAPSHOT" - modCompile 'com.github.raphydaphy:crochet:a203643485' + include "io.github.cottonmc:cotton:0.6.1+1.14-SNAPSHOT" + modCompile "com.github.raphydaphy:crochet:a203643485" + include "com.github.raphydaphy:crochet:a203643485" + modCompile "cloth-config:ClothConfig:0.2.1.14" + include "cloth-config:ClothConfig:0.2.1.14" } processResources { diff --git a/src/main/java/io/github/cottonmc/skillworks/CharacterSheetItem.java b/src/main/java/io/github/cottonmc/skillcheck/CharacterSheetItem.java similarity index 73% rename from src/main/java/io/github/cottonmc/skillworks/CharacterSheetItem.java rename to src/main/java/io/github/cottonmc/skillcheck/CharacterSheetItem.java index c5dde1a..3ba26b2 100644 --- a/src/main/java/io/github/cottonmc/skillworks/CharacterSheetItem.java +++ b/src/main/java/io/github/cottonmc/skillcheck/CharacterSheetItem.java @@ -1,4 +1,4 @@ -package io.github.cottonmc.skillworks; +package io.github.cottonmc.skillcheck; import net.fabricmc.fabric.api.container.ContainerProviderRegistry; import net.minecraft.entity.player.PlayerEntity; @@ -6,19 +6,25 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.ActionResult; import net.minecraft.util.Hand; +import net.minecraft.util.Rarity; import net.minecraft.util.TypedActionResult; import net.minecraft.world.World; public class CharacterSheetItem extends Item { public CharacterSheetItem() { - super(new Item.Settings().itemGroup(Skillworks.SKILLWORKS_GROUP).stackSize(1)); + super(new Item.Settings().itemGroup(SkillCheck.SKILLCHECK_GROUP).stackSize(1)); } @Override public TypedActionResult use(World world, PlayerEntity player, Hand hand) { if (world.isClient) return new TypedActionResult<>(ActionResult.PASS, player.getStackInHand(hand)); - ContainerProviderRegistry.INSTANCE.openContainer(Skillworks.CHARACTER_SHEET_CONTAINER, player, buf -> buf.writeBlockPos(player.getBlockPos())); + ContainerProviderRegistry.INSTANCE.openContainer(SkillCheck.CHARACTER_SHEET_CONTAINER, player, buf -> buf.writeBlockPos(player.getBlockPos())); return new TypedActionResult<>(ActionResult.SUCCESS, player.getStackInHand(hand)); } + + @Override + public Rarity getRarity(ItemStack stack) { + return Rarity.UNCOMMON; + } } diff --git a/src/main/java/io/github/cottonmc/skillworks/ClassScrollItem.java b/src/main/java/io/github/cottonmc/skillcheck/ClassScrollItem.java similarity index 87% rename from src/main/java/io/github/cottonmc/skillworks/ClassScrollItem.java rename to src/main/java/io/github/cottonmc/skillcheck/ClassScrollItem.java index 0b01555..97d3718 100644 --- a/src/main/java/io/github/cottonmc/skillworks/ClassScrollItem.java +++ b/src/main/java/io/github/cottonmc/skillcheck/ClassScrollItem.java @@ -1,6 +1,6 @@ -package io.github.cottonmc.skillworks; +package io.github.cottonmc.skillcheck; -import io.github.cottonmc.skillworks.api.traits.ClassManager; +import io.github.cottonmc.skillcheck.api.traits.ClassManager; import net.minecraft.client.item.TooltipContext; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.Item; @@ -24,7 +24,7 @@ public class ClassScrollItem extends Item { Identifier trait; public ClassScrollItem(Identifier trait) { - super(new Item.Settings().itemGroup(Skillworks.SKILLWORKS_GROUP).stackSize(1)); + super(new Item.Settings().itemGroup(SkillCheck.SKILLCHECK_GROUP).stackSize(1)); this.trait = trait; } @@ -33,7 +33,7 @@ public TypedActionResult use(World world, PlayerEntity player, Hand h ClassManager.levelUp(player, trait); if (!player.isCreative()) player.getStackInHand(hand).subtractAmount(1); player.playSound(SoundEvents.ENTITY_PLAYER_LEVELUP, 1.0f, 1.0f); - player.addChatMessage(new TranslatableTextComponent("msg.skillworks.levelup", getTraitName()), true); + player.addChatMessage(new TranslatableTextComponent("msg.skillcheck.levelup", getTraitName()), true); return new TypedActionResult<>(ActionResult.SUCCESS, player.getStackInHand(hand)); } @@ -49,7 +49,7 @@ public void buildTooltip(ItemStack stack, World world, List toolt } else { flavor = stack.getTag().getInt("FlavorText"); } - tooltips.add(new TranslatableTextComponent("tooltip.skillworks.scroll.flavor_"+flavor, getTraitName()).applyFormat(TextFormat.GRAY, TextFormat.ITALIC)); + tooltips.add(new TranslatableTextComponent("tooltip.skillcheck.scroll.flavor_"+flavor, getTraitName()).applyFormat(TextFormat.GRAY, TextFormat.ITALIC)); } String getTraitName() { diff --git a/src/main/java/io/github/cottonmc/skillworks/Skillworks.java b/src/main/java/io/github/cottonmc/skillcheck/SkillCheck.java similarity index 70% rename from src/main/java/io/github/cottonmc/skillworks/Skillworks.java rename to src/main/java/io/github/cottonmc/skillcheck/SkillCheck.java index 2e5f444..a10d134 100644 --- a/src/main/java/io/github/cottonmc/skillworks/Skillworks.java +++ b/src/main/java/io/github/cottonmc/skillcheck/SkillCheck.java @@ -1,15 +1,15 @@ -package io.github.cottonmc.skillworks; +package io.github.cottonmc.skillcheck; import com.mojang.brigadier.arguments.StringArgumentType; import io.github.cottonmc.cotton.config.ConfigManager; -import io.github.cottonmc.skillworks.api.traits.ClassManager; -import io.github.cottonmc.skillworks.container.CharacterSheetContainer; -import io.github.cottonmc.skillworks.events.PlayerAttackEvent; -import io.github.cottonmc.skillworks.events.PlayerStealEvent; -import io.github.cottonmc.skillworks.api.dice.Dice; -import io.github.cottonmc.skillworks.api.dice.DiceResult; -import io.github.cottonmc.skillworks.util.SkillworksConfig; -import io.github.cottonmc.skillworks.util.SkillworksNetworking; +import io.github.cottonmc.skillcheck.api.traits.ClassManager; +import io.github.cottonmc.skillcheck.container.CharacterSheetContainer; +import io.github.cottonmc.skillcheck.events.PlayerAttackEvent; +import io.github.cottonmc.skillcheck.events.PlayerStealEvent; +import io.github.cottonmc.skillcheck.api.dice.Dice; +import io.github.cottonmc.skillcheck.api.dice.RollResult; +import io.github.cottonmc.skillcheck.util.SkillCheckConfig; +import io.github.cottonmc.skillcheck.util.SkillCheckNetworking; import net.fabricmc.api.ModInitializer; import net.fabricmc.fabric.api.client.itemgroup.FabricItemGroupBuilder; import net.fabricmc.fabric.api.container.ContainerProviderRegistry; @@ -18,7 +18,6 @@ import net.fabricmc.fabric.api.registry.CommandRegistry; import net.fabricmc.fabric.api.tag.TagRegistry; import net.minecraft.block.Block; -import net.minecraft.item.BlockItem; import net.minecraft.item.Item; import net.minecraft.item.ItemGroup; import net.minecraft.item.ItemStack; @@ -29,12 +28,12 @@ import net.minecraft.util.Identifier; import net.minecraft.util.registry.Registry; -public class Skillworks implements ModInitializer { - public static SkillworksConfig config; - public static final String MOD_ID = "skillworks"; +public class SkillCheck implements ModInitializer { + public static SkillCheckConfig config; + public static final String MOD_ID = "skillcheck"; public static Item CHARACTER_SHEET; - public static final ItemGroup SKILLWORKS_GROUP = FabricItemGroupBuilder.build(new Identifier("skillworks:skillworks_group"), () -> new ItemStack(CHARACTER_SHEET)); + public static final ItemGroup SKILLCHECK_GROUP = FabricItemGroupBuilder.build(new Identifier(MOD_ID, "skillcheck_group"), () -> new ItemStack(CHARACTER_SHEET)); public static final Tag SLIPPERY_BLOCKS = TagRegistry.block(new Identifier(MOD_ID, "slippery")); @@ -54,19 +53,12 @@ public static Item register(String name, Item item) { return item; } - public static Block register(String name, Block block) { - Registry.register(Registry.BLOCK, new Identifier(MOD_ID, name), block); - BlockItem item = new BlockItem(block, new Item.Settings().itemGroup(SKILLWORKS_GROUP)); - register(name, item); - return block; - } - @Override public void onInitialize() { - SkillworksNetworking.init(); + SkillCheckNetworking.init(); //to prevent forward reference issue CHARACTER_SHEET = register("character_sheet", new CharacterSheetItem()); - config = ConfigManager.loadConfig(SkillworksConfig.class); + config = ConfigManager.loadConfig(SkillCheckConfig.class); AttackEntityCallback.EVENT.register(PlayerAttackEvent.onPlayerAttack); UseEntityCallback.EVENT.register(PlayerStealEvent.onPlayerInteract); @@ -78,15 +70,15 @@ public void onInitialize() { .then(CommandManager.argument("formula", StringArgumentType.word()) .executes(context -> { String formula = context.getArgument("formula", String.class); - DiceResult result; + RollResult result; try { result = Dice.roll(formula); } catch (IllegalArgumentException e) { context.getSource().sendError(new StringTextComponent(e.getMessage())); return -1; } - if (result.isCritFail()) context.getSource().sendFeedback(new TranslatableTextComponent("msg.skillworks.roll.fail", result.getFormattedNaturals()), false); - else context.getSource().sendFeedback(new TranslatableTextComponent("msg.skillworks.roll.result", result.getTotal(), result.getFormattedNaturals()), false); + if (result.isCritFail()) context.getSource().sendFeedback(new TranslatableTextComponent("msg.skillcheck.roll.fail", result.getFormattedNaturals()), false); + else context.getSource().sendFeedback(new TranslatableTextComponent("msg.skillcheck.roll.result", result.getTotal(), result.getFormattedNaturals()), false); return 1; }))))); } diff --git a/src/main/java/io/github/cottonmc/skillcheck/SkillCheckClient.java b/src/main/java/io/github/cottonmc/skillcheck/SkillCheckClient.java new file mode 100644 index 0000000..7722ded --- /dev/null +++ b/src/main/java/io/github/cottonmc/skillcheck/SkillCheckClient.java @@ -0,0 +1,46 @@ +package io.github.cottonmc.skillcheck; + +import io.github.cottonmc.skillcheck.container.CharacterSheetScreen; +import io.github.prospector.modmenu.api.ModMenuApi; +import me.shedaniel.cloth.api.ConfigScreenBuilder; +import me.shedaniel.cloth.gui.ClothConfigScreen; +import me.shedaniel.cloth.gui.entries.BooleanListEntry; +import me.shedaniel.cloth.gui.entries.IntegerSliderEntry; +import net.fabricmc.api.ClientModInitializer; +import net.fabricmc.fabric.api.client.screen.ScreenProviderRegistry; +import net.minecraft.client.MinecraftClient; +import net.minecraft.client.gui.Screen; + +import java.util.function.Function; + +public class SkillCheckClient implements ClientModInitializer, ModMenuApi { + + @Override + public void onInitializeClient() { + ScreenProviderRegistry.INSTANCE.registerFactory(SkillCheck.CHARACTER_SHEET_CONTAINER, (syncId, id, player, buf) -> new CharacterSheetScreen(syncId, player)); + } + + @Override + public String getModId() { + return SkillCheck.MOD_ID; + } + + @Override + public Function getConfigScreenFactory() { + return (prevScreen) -> { + ClothConfigScreen.Builder builder = new ClothConfigScreen.Builder(MinecraftClient.getInstance().currentScreen, "SkillCheck Config", null); + builder.addCategories("General Settings", "Dice Roll Requirements"); + ConfigScreenBuilder.CategoryBuilder gameplay = builder.getCategory("General Settings"); + gameplay.addOption(new BooleanListEntry("Disable class requirements", SkillCheck.config.disableClasses, "text.cloth-config.reset_value", () -> false, null)); + gameplay.addOption(new BooleanListEntry("Invert slippery tag", SkillCheck.config.invertSlipperyTag, "text.cloth-config.reset_value", () -> false, null)); + gameplay.addOption(new BooleanListEntry("Show dice rolls in chat", SkillCheck.config.showDiceRolls, "text.cloth-config.reset_value", () -> false, null)); + gameplay.addOption(new BooleanListEntry("Enable critical failures", SkillCheck.config.haveCriticalFailures, "text.cloth-config.reset_value", () -> true, null)); + ConfigScreenBuilder.CategoryBuilder dice = builder.getCategory("Dice Roll Requirements"); + dice.addOption(new IntegerSliderEntry("Arrow catch (1d20+thief)", 1, 26, SkillCheck.config.arrowCatchRoll, "text.cloth-config.reset_value", () -> 15, null)); + dice.addOption(new IntegerSliderEntry("Armor theft (1d20+thief)", 1, 26, SkillCheck.config.stealArmorRoll, "text.cloth-config.reset_value", () -> 8, null)); + dice.addOption(new IntegerSliderEntry("Silent armor theft (1d20+thief)", 1, 26, SkillCheck.config.silentStealArmorRoll, "text.cloth-config.reset_value", () -> 12, null)); + dice.addOption(new IntegerSliderEntry("Enemy weaken (1d20+brawler)", 1, 31, SkillCheck.config.weakenEnemyRoll, "text.cloth-config.reset_value", () -> 12, null)); + return builder.build(); + }; + } +} diff --git a/src/main/java/io/github/cottonmc/skillworks/TraitPrestigeItem.java b/src/main/java/io/github/cottonmc/skillcheck/TraitPrestigeItem.java similarity index 77% rename from src/main/java/io/github/cottonmc/skillworks/TraitPrestigeItem.java rename to src/main/java/io/github/cottonmc/skillcheck/TraitPrestigeItem.java index 9ebbf31..f0a12d0 100644 --- a/src/main/java/io/github/cottonmc/skillworks/TraitPrestigeItem.java +++ b/src/main/java/io/github/cottonmc/skillcheck/TraitPrestigeItem.java @@ -1,4 +1,4 @@ -package io.github.cottonmc.skillworks; +package io.github.cottonmc.skillcheck; import com.raphydaphy.crochet.data.PlayerData; import net.minecraft.client.item.TooltipContext; @@ -17,20 +17,20 @@ public class TraitPrestigeItem extends Item { public TraitPrestigeItem() { - super(new Item.Settings().itemGroup(Skillworks.SKILLWORKS_GROUP)); + super(new Item.Settings().itemGroup(SkillCheck.SKILLCHECK_GROUP)); } @Override public TypedActionResult use(World world, PlayerEntity player, Hand hand) { - PlayerData.get(player, Skillworks.MOD_ID).remove("Classes"); + PlayerData.get(player, SkillCheck.MOD_ID).remove("Classes"); PlayerData.markDirty(player); - player.addChatMessage(new TranslatableTextComponent("msg.skillworks.prestige"), true); + player.addChatMessage(new TranslatableTextComponent("msg.skillcheck.prestige"), true); return new TypedActionResult<>(ActionResult.SUCCESS, player.getStackInHand(hand)); } @Override public void buildTooltip(ItemStack stack, World world, List tooltips, TooltipContext ctx) { - tooltips.add(new TranslatableTextComponent("tooltip.skillworks.prestige.0").applyFormat(TextFormat.GRAY)); - tooltips.add(new TranslatableTextComponent("tooltip.skillworks.prestige.1").applyFormat(TextFormat.GRAY)); + tooltips.add(new TranslatableTextComponent("tooltip.skillcheck.prestige.0").applyFormat(TextFormat.GRAY)); + tooltips.add(new TranslatableTextComponent("tooltip.skillcheck.prestige.1").applyFormat(TextFormat.GRAY)); } } diff --git a/src/main/java/io/github/cottonmc/skillworks/api/dice/Dice.java b/src/main/java/io/github/cottonmc/skillcheck/api/dice/Dice.java similarity index 62% rename from src/main/java/io/github/cottonmc/skillworks/api/dice/Dice.java rename to src/main/java/io/github/cottonmc/skillcheck/api/dice/Dice.java index 2bd6f85..8a60ef1 100644 --- a/src/main/java/io/github/cottonmc/skillworks/api/dice/Dice.java +++ b/src/main/java/io/github/cottonmc/skillcheck/api/dice/Dice.java @@ -1,4 +1,4 @@ -package io.github.cottonmc.skillworks.api.dice; +package io.github.cottonmc.skillcheck.api.dice; import java.util.Random; import java.util.regex.Matcher; @@ -8,10 +8,18 @@ public class Dice { public static final Pattern PATTERN = Pattern.compile("(?\\d+)\\s*d(?\\d+)\\s*(?:\\+(?\\d+(?!d)))?"); - public static DiceResult roll(String formula) { + /** + * Roll a set of dice to + * @param formula A D&D-style dice-roll formula, ex. 1d20+8. + * Only about 50% implemented currently. + * Rolling multiple dice types at once and using modifiers other than adding are not supported. + * @see Dice notation + * @return a RollResult of what was calculated. + */ + public static RollResult roll(String formula) { Random rand = new Random(); Matcher matcher = PATTERN.matcher(formula); - DiceResult res = new DiceResult(); + RollResult res = new RollResult(); while (matcher.find()) { int rolls = Integer.parseInt(matcher.group("count")); if (rolls < 1) throw new IllegalArgumentException("Must roll at least one die!"); diff --git a/src/main/java/io/github/cottonmc/skillworks/api/dice/DiceResult.java b/src/main/java/io/github/cottonmc/skillcheck/api/dice/RollResult.java similarity index 66% rename from src/main/java/io/github/cottonmc/skillworks/api/dice/DiceResult.java rename to src/main/java/io/github/cottonmc/skillcheck/api/dice/RollResult.java index b272425..17a38e4 100644 --- a/src/main/java/io/github/cottonmc/skillworks/api/dice/DiceResult.java +++ b/src/main/java/io/github/cottonmc/skillcheck/api/dice/RollResult.java @@ -1,20 +1,24 @@ -package io.github.cottonmc.skillworks.api.dice; +package io.github.cottonmc.skillcheck.api.dice; -import io.github.cottonmc.skillworks.Skillworks; +import io.github.cottonmc.skillcheck.SkillCheck; import java.util.ArrayList; import java.util.List; -public class DiceResult { +/** + * The result of a dice roll. + * Stores the total sum of the rolls, the natural rolls, and whether there was any critical failure. + */ +public class RollResult { private int total; private List naturals; private boolean critFail; - public DiceResult() { + public RollResult() { this(0, new ArrayList<>(), false); } - public DiceResult(int total, List naturals, boolean critFail) { + public RollResult(int total, List naturals, boolean critFail) { this.total = total; this.naturals = naturals; this.critFail = critFail; @@ -37,7 +41,7 @@ public void addNatural(int amount) { } public boolean isCritFail() { - if (!Skillworks.config.haveCriticalFailures) return false; + if (!SkillCheck.config.haveCriticalFailures) return false; return critFail; } diff --git a/src/main/java/io/github/cottonmc/skillworks/api/traits/ClassManager.java b/src/main/java/io/github/cottonmc/skillcheck/api/traits/ClassManager.java similarity index 92% rename from src/main/java/io/github/cottonmc/skillworks/api/traits/ClassManager.java rename to src/main/java/io/github/cottonmc/skillcheck/api/traits/ClassManager.java index f0be775..1ce41b5 100644 --- a/src/main/java/io/github/cottonmc/skillworks/api/traits/ClassManager.java +++ b/src/main/java/io/github/cottonmc/skillcheck/api/traits/ClassManager.java @@ -1,8 +1,8 @@ -package io.github.cottonmc.skillworks.api.traits; +package io.github.cottonmc.skillcheck.api.traits; import com.raphydaphy.crochet.data.PlayerData; import io.github.cottonmc.repackage.blue.endless.jankson.annotation.Nullable; -import io.github.cottonmc.skillworks.Skillworks; +import io.github.cottonmc.skillcheck.SkillCheck; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.nbt.CompoundTag; import net.minecraft.util.Identifier; @@ -17,7 +17,7 @@ public class ClassManager { private static Map CLASSES = new HashMap<>(); /** - * Add a class to the Skillworks registry. + * Add a class to the SkillCheck registry. * @param id the ID of the class to add * @param maxLevel the max level the class can have * @return the registered identifier @@ -49,7 +49,7 @@ public static Set getClasses() { * @return the compound tag of all class data */ public static CompoundTag getPlayerClasses(PlayerEntity player) { - CompoundTag data = PlayerData.get(player, Skillworks.MOD_ID); + CompoundTag data = PlayerData.get(player, SkillCheck.MOD_ID); if (!data.containsKey("Classes")) { data.put("Classes", new CompoundTag()); PlayerData.markDirty(player); @@ -79,7 +79,7 @@ public static ClassTrait getPlayerClass(PlayerEntity player, Identifier id) { * @return whether the player should be considered as having the class */ public static boolean hasClass(PlayerEntity player, Identifier id) { - if (Skillworks.config.disableClasses) return true; + if (SkillCheck.config.disableClasses) return true; return (getPlayerClasses(player).containsKey(id.toString())); } @@ -113,7 +113,7 @@ public static void putPlayerClass(PlayerEntity player, Identifier id, ClassTrait * @return whether the player has the level, or true if classes are disabled */ public static boolean hasLevel(PlayerEntity player, Identifier id, int level) { - if (Skillworks.config.disableClasses) return true; + if (SkillCheck.config.disableClasses) return true; ClassTrait trait = getPlayerClass(player, id); if (trait == null) return false; return trait.getLevel() >= level; @@ -126,7 +126,7 @@ public static boolean hasLevel(PlayerEntity player, Identifier id, int level) { * @return he level the player has, or 0 if they don't have the class or classes are disabled */ public static int getLevel(PlayerEntity player, Identifier id) { - if (Skillworks.config.disableClasses) return 0; + if (SkillCheck.config.disableClasses) return 0; if (!hasClass(player, id)) return 0; ClassTrait trait = getPlayerClass(player, id); return trait.getLevel(); @@ -150,7 +150,7 @@ public static boolean levelUp(PlayerEntity player, Identifier id) { * @return whether the levelup was successful (didn't exceed level cap) */ public static boolean levelUp(PlayerEntity player, Identifier id, int amount) { - if (Skillworks.config.disableClasses) return false; + if (SkillCheck.config.disableClasses) return false; if (!hasClass(player, id)) addPlayerClass(player, id); ClassTrait trait = getPlayerClass(player, id); diff --git a/src/main/java/io/github/cottonmc/skillworks/api/traits/ClassTrait.java b/src/main/java/io/github/cottonmc/skillcheck/api/traits/ClassTrait.java similarity index 61% rename from src/main/java/io/github/cottonmc/skillworks/api/traits/ClassTrait.java rename to src/main/java/io/github/cottonmc/skillcheck/api/traits/ClassTrait.java index db92321..d7ecdff 100644 --- a/src/main/java/io/github/cottonmc/skillworks/api/traits/ClassTrait.java +++ b/src/main/java/io/github/cottonmc/skillcheck/api/traits/ClassTrait.java @@ -1,8 +1,15 @@ -package io.github.cottonmc.skillworks.api.traits; +package io.github.cottonmc.skillcheck.api.traits; import net.minecraft.nbt.CompoundTag; import net.minecraft.util.Identifier; +/** + * Flyweight for interacting with classes. + * A ClassTrait stores the Identifier of the class, the player's level of the class, and how much XP in the class the player has. + * Experience is not used in the base mod, and is separate from vanilla XP. + * For most cases, you likely want to use {@link ClassManager}. + * However, you may want to implement experience on your classes, so feel free to access this then. + */ public class ClassTrait { public Identifier id; diff --git a/src/main/java/io/github/cottonmc/skillworks/container/CharacterSheetContainer.java b/src/main/java/io/github/cottonmc/skillcheck/container/CharacterSheetContainer.java similarity index 91% rename from src/main/java/io/github/cottonmc/skillworks/container/CharacterSheetContainer.java rename to src/main/java/io/github/cottonmc/skillcheck/container/CharacterSheetContainer.java index 6292c20..f0b4caa 100644 --- a/src/main/java/io/github/cottonmc/skillworks/container/CharacterSheetContainer.java +++ b/src/main/java/io/github/cottonmc/skillcheck/container/CharacterSheetContainer.java @@ -1,6 +1,6 @@ -package io.github.cottonmc.skillworks.container; +package io.github.cottonmc.skillcheck.container; -import io.github.cottonmc.skillworks.api.traits.ClassManager; +import io.github.cottonmc.skillcheck.api.traits.ClassManager; import net.minecraft.container.Container; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.util.Identifier; diff --git a/src/main/java/io/github/cottonmc/skillworks/container/CharacterSheetScreen.java b/src/main/java/io/github/cottonmc/skillcheck/container/CharacterSheetScreen.java similarity index 90% rename from src/main/java/io/github/cottonmc/skillworks/container/CharacterSheetScreen.java rename to src/main/java/io/github/cottonmc/skillcheck/container/CharacterSheetScreen.java index 26bcc24..bb38706 100644 --- a/src/main/java/io/github/cottonmc/skillworks/container/CharacterSheetScreen.java +++ b/src/main/java/io/github/cottonmc/skillcheck/container/CharacterSheetScreen.java @@ -1,9 +1,9 @@ -package io.github.cottonmc.skillworks.container; +package io.github.cottonmc.skillcheck.container; import com.mojang.blaze3d.platform.GlStateManager; -import io.github.cottonmc.skillworks.Skillworks; -import io.github.cottonmc.skillworks.api.traits.ClassManager; -import io.github.cottonmc.skillworks.util.SkillworksNetworking; +import io.github.cottonmc.skillcheck.SkillCheck; +import io.github.cottonmc.skillcheck.api.traits.ClassManager; +import io.github.cottonmc.skillcheck.util.SkillCheckNetworking; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.minecraft.client.font.TextRenderer; @@ -22,7 +22,7 @@ import java.util.List; public class CharacterSheetScreen extends ContainerScreen { - private static final Identifier TEXTURE = new Identifier(Skillworks.MOD_ID, "textures/gui/container/scribing.png"); + private static final Identifier TEXTURE = new Identifier(SkillCheck.MOD_ID, "textures/gui/container/scribing.png"); private int index; private final ButtonPageWidget[] visibleButtons = new ButtonPageWidget[7]; private int scroll; @@ -30,18 +30,18 @@ public class CharacterSheetScreen extends ContainerScreen { + confirm = this.addButton(new ConfirmButtonWidget(left + 143, top + 140, new TranslatableTextComponent("btn.skillcheck.levelup"), (widget) -> { this.playerInventory.player.playSound(SoundEvents.ENTITY_PLAYER_LEVELUP, SoundCategory.PLAYERS, 1.0f, 1.0f); this.syncLevelUp(); })); @@ -92,7 +92,7 @@ public void render(int x, int y, float partialTicks) { GlStateManager.disableBlend(); for (Identifier id : classes) { TranslatableTextComponent className = new TranslatableTextComponent("class." + id.getNamespace() + "." + id.getPath()); - String level = className.getText() + ": " + new TranslatableTextComponent("text.skillworks.level", ClassManager.getLevel(playerInventory.player, id)).getText(); + String level = className.getText() + ": " + new TranslatableTextComponent("text.skillcheck.level", ClassManager.getLevel(playerInventory.player, id)).getText(); if (shouldScroll(classes.size()) && (scrollOffset < this.scroll || scrollOffset >= 7 + this.scroll)) { scrollOffset++; } else { @@ -117,7 +117,7 @@ public void render(int x, int y, float partialTicks) { this.drawCenteredString(textRenderer, line, rightPanelCenter, descLineHeight, 0xffffff); descLineHeight += 10; } - String cost = new TranslatableTextComponent("text.skillworks.cost", this.container.getLevelCost()).getText(); + String cost = new TranslatableTextComponent("text.skillcheck.cost", this.container.getLevelCost()).getText(); this.drawCenteredString(textRenderer, cost, rightPanelCenter, descLineHeight, 0x55ff55); } GlStateManager.enableLighting(); diff --git a/src/main/java/io/github/cottonmc/skillworks/events/PlayerAttackEvent.java b/src/main/java/io/github/cottonmc/skillcheck/events/PlayerAttackEvent.java similarity index 70% rename from src/main/java/io/github/cottonmc/skillworks/events/PlayerAttackEvent.java rename to src/main/java/io/github/cottonmc/skillcheck/events/PlayerAttackEvent.java index 54ceab4..2b6edc0 100644 --- a/src/main/java/io/github/cottonmc/skillworks/events/PlayerAttackEvent.java +++ b/src/main/java/io/github/cottonmc/skillcheck/events/PlayerAttackEvent.java @@ -1,9 +1,9 @@ -package io.github.cottonmc.skillworks.events; +package io.github.cottonmc.skillcheck.events; -import io.github.cottonmc.skillworks.Skillworks; -import io.github.cottonmc.skillworks.api.traits.ClassManager; -import io.github.cottonmc.skillworks.api.dice.Dice; -import io.github.cottonmc.skillworks.api.dice.DiceResult; +import io.github.cottonmc.skillcheck.SkillCheck; +import io.github.cottonmc.skillcheck.api.traits.ClassManager; +import io.github.cottonmc.skillcheck.api.dice.Dice; +import io.github.cottonmc.skillcheck.api.dice.RollResult; import net.fabricmc.fabric.api.event.player.AttackEntityCallback; import net.minecraft.entity.LivingEntity; import net.minecraft.entity.damage.DamageSource; @@ -19,28 +19,28 @@ public class PlayerAttackEvent { public static AttackEntityCallback onPlayerAttack = (player, world, hand, entity, hitResult) -> { if (player.getStackInHand(hand).isEmpty()) { - if (ClassManager.hasClass(player, Skillworks.BRAWLER)) { + if (ClassManager.hasClass(player, SkillCheck.BRAWLER)) { for (ItemStack stack : entity.getArmorItems()) { if (stack.getItem() instanceof ArmorItem) return ActionResult.PASS; } if (entity instanceof LivingEntity) { LivingEntity mob = (LivingEntity) entity; - if (ClassManager.hasLevel(player, Skillworks.BRAWLER, 2) && !hasWeakness(mob)) { - DiceResult roll = Dice.roll("1d20+"+ClassManager.getLevel(player, Skillworks.BRAWLER)); - if (Skillworks.config.showDiceRolls) { - if (roll.isCritFail()) player.addChatMessage(new TranslatableTextComponent("msg.skillworks.roll.fail", roll.getFormattedNaturals()), false); - else player.addChatMessage(new TranslatableTextComponent("msg.skillworks.roll.result", roll.getTotal(), roll.getFormattedNaturals()), false); + if (ClassManager.hasLevel(player, SkillCheck.BRAWLER, 2) && !hasWeakness(mob)) { + RollResult roll = Dice.roll("1d20+"+ClassManager.getLevel(player, SkillCheck.BRAWLER)); + if (SkillCheck.config.showDiceRolls) { + if (roll.isCritFail()) player.addChatMessage(new TranslatableTextComponent("msg.skillcheck.roll.fail", roll.getFormattedNaturals()), false); + else player.addChatMessage(new TranslatableTextComponent("msg.skillcheck.roll.result", roll.getTotal(), roll.getFormattedNaturals()), false); } if (roll.isCritFail()) { player.addPotionEffect(new StatusEffectInstance(StatusEffects.WEAKNESS, 200)); player.playSound(SoundEvents.ITEM_SHIELD_BREAK, 1.0f, 1.0f); - } else if (roll.getTotal() >= Skillworks.config.weakenEnemyRoll) { + } else if (roll.getTotal() >= SkillCheck.config.weakenEnemyRoll) { mob.addPotionEffect(new StatusEffectInstance(StatusEffects.WEAKNESS, 200)); player.playSound(SoundEvents.ITEM_SHIELD_BREAK, 1.0f, 1.0f); } } } - entity.damage(DamageSource.player(player), ClassManager.getLevel(player, Skillworks.BRAWLER)*2); + entity.damage(DamageSource.player(player), ClassManager.getLevel(player, SkillCheck.BRAWLER)*2); return ActionResult.SUCCESS; } } diff --git a/src/main/java/io/github/cottonmc/skillworks/events/PlayerStealEvent.java b/src/main/java/io/github/cottonmc/skillcheck/events/PlayerStealEvent.java similarity index 70% rename from src/main/java/io/github/cottonmc/skillworks/events/PlayerStealEvent.java rename to src/main/java/io/github/cottonmc/skillcheck/events/PlayerStealEvent.java index 5f142f6..55c259a 100644 --- a/src/main/java/io/github/cottonmc/skillworks/events/PlayerStealEvent.java +++ b/src/main/java/io/github/cottonmc/skillcheck/events/PlayerStealEvent.java @@ -1,9 +1,9 @@ -package io.github.cottonmc.skillworks.events; +package io.github.cottonmc.skillcheck.events; -import io.github.cottonmc.skillworks.Skillworks; -import io.github.cottonmc.skillworks.api.traits.ClassManager; -import io.github.cottonmc.skillworks.api.dice.Dice; -import io.github.cottonmc.skillworks.api.dice.DiceResult; +import io.github.cottonmc.skillcheck.SkillCheck; +import io.github.cottonmc.skillcheck.api.traits.ClassManager; +import io.github.cottonmc.skillcheck.api.dice.Dice; +import io.github.cottonmc.skillcheck.api.dice.RollResult; import net.fabricmc.fabric.api.event.player.UseEntityCallback; import net.minecraft.entity.effect.StatusEffectInstance; import net.minecraft.entity.effect.StatusEffects; @@ -17,7 +17,7 @@ public class PlayerStealEvent { public static UseEntityCallback onPlayerInteract = (player, world, hand, entity, HitResult) -> { if (player.isSpectator() || !player.getStackInHand(hand).isEmpty() - || !ClassManager.hasClass(player, Skillworks.THIEF) + || !ClassManager.hasClass(player, SkillCheck.THIEF) || !(entity instanceof MobEntity) || world.isClient || !player.isSneaking()) return ActionResult.PASS; @@ -25,10 +25,10 @@ public class PlayerStealEvent { //TODO: try to figure out a good way to require you to sneak around to pickpocket? for (ItemStack stack : mob.getArmorItems()) { if (stack.isEmpty()) continue; - DiceResult roll = Dice.roll("1d20+"+ClassManager.getLevel(player, Skillworks.THIEF)); - if (Skillworks.config.showDiceRolls) { - if (roll.isCritFail()) player.addChatMessage(new TranslatableTextComponent("msg.skillworks.roll.fail", roll.getFormattedNaturals()), false); - else player.addChatMessage(new TranslatableTextComponent("msg.skillworks.roll.result", roll.getTotal(), roll.getFormattedNaturals()), false); + RollResult roll = Dice.roll("1d20+"+ClassManager.getLevel(player, SkillCheck.THIEF)); + if (SkillCheck.config.showDiceRolls) { + if (roll.isCritFail()) player.addChatMessage(new TranslatableTextComponent("msg.skillcheck.roll.fail", roll.getFormattedNaturals()), false); + else player.addChatMessage(new TranslatableTextComponent("msg.skillcheck.roll.result", roll.getTotal(), roll.getFormattedNaturals()), false); } if (roll.isCritFail()) { mob.addPotionEffect(new StatusEffectInstance(StatusEffects.STRENGTH, 2000)); @@ -37,11 +37,11 @@ public class PlayerStealEvent { player.swingHand(hand); return ActionResult.SUCCESS; } - if (roll.getTotal() >= Skillworks.config.stealArmorRoll) { + if (roll.getTotal() >= SkillCheck.config.stealArmorRoll) { ItemStack give = stack.copy(); stack.subtractAmount(1); player.setStackInHand(hand, give); - if (roll.getTotal() < Skillworks.config.stealArmorRoll+4) { + if (roll.getTotal() < SkillCheck.config.silentStealArmorRoll) { player.attack(mob); if (!player.isCreative()) mob.setTarget(player); } diff --git a/src/main/java/io/github/cottonmc/skillworks/mixins/MixinArrow.java b/src/main/java/io/github/cottonmc/skillcheck/mixins/MixinArrow.java similarity index 79% rename from src/main/java/io/github/cottonmc/skillworks/mixins/MixinArrow.java rename to src/main/java/io/github/cottonmc/skillcheck/mixins/MixinArrow.java index 0369a3d..c54077f 100644 --- a/src/main/java/io/github/cottonmc/skillworks/mixins/MixinArrow.java +++ b/src/main/java/io/github/cottonmc/skillcheck/mixins/MixinArrow.java @@ -1,6 +1,6 @@ -package io.github.cottonmc.skillworks.mixins; +package io.github.cottonmc.skillcheck.mixins; -import io.github.cottonmc.skillworks.util.ArrowEffects; +import io.github.cottonmc.skillcheck.util.ArrowEffects; import net.minecraft.entity.effect.StatusEffectInstance; import net.minecraft.entity.projectile.ArrowEntity; import org.spongepowered.asm.mixin.Mixin; diff --git a/src/main/java/io/github/cottonmc/skillworks/mixins/MixinBannerTooltip.java b/src/main/java/io/github/cottonmc/skillcheck/mixins/MixinBannerTooltip.java similarity index 85% rename from src/main/java/io/github/cottonmc/skillworks/mixins/MixinBannerTooltip.java rename to src/main/java/io/github/cottonmc/skillcheck/mixins/MixinBannerTooltip.java index 4e5190f..b5ba76f 100644 --- a/src/main/java/io/github/cottonmc/skillworks/mixins/MixinBannerTooltip.java +++ b/src/main/java/io/github/cottonmc/skillcheck/mixins/MixinBannerTooltip.java @@ -1,4 +1,4 @@ -package io.github.cottonmc.skillworks.mixins; +package io.github.cottonmc.skillcheck.mixins; import net.minecraft.item.BannerItem; import net.minecraft.item.ItemStack; @@ -25,7 +25,7 @@ private static void appendBannerHoverText(ItemStack stack, List t CompoundTag var2, ListTag var3) { if (var3 != null) { if (var3.size() > 6) { - tooltip.add((new TranslatableTextComponent("tooltip.skillworks.banner", (var3.size()-6))).applyFormat(TextFormat.GRAY, TextFormat.ITALIC)); + tooltip.add((new TranslatableTextComponent("tooltip.skillcheck.banner", (var3.size()-6))).applyFormat(TextFormat.GRAY, TextFormat.ITALIC)); } } } diff --git a/src/main/java/io/github/cottonmc/skillworks/mixins/MixinThiefClient.java b/src/main/java/io/github/cottonmc/skillcheck/mixins/MixinThiefClient.java similarity index 94% rename from src/main/java/io/github/cottonmc/skillworks/mixins/MixinThiefClient.java rename to src/main/java/io/github/cottonmc/skillcheck/mixins/MixinThiefClient.java index 3dfe880..552c033 100644 --- a/src/main/java/io/github/cottonmc/skillworks/mixins/MixinThiefClient.java +++ b/src/main/java/io/github/cottonmc/skillcheck/mixins/MixinThiefClient.java @@ -1,8 +1,8 @@ -package io.github.cottonmc.skillworks.mixins; +package io.github.cottonmc.skillcheck.mixins; import com.mojang.authlib.GameProfile; -import io.github.cottonmc.skillworks.Skillworks; -import io.github.cottonmc.skillworks.api.traits.ClassManager; +import io.github.cottonmc.skillcheck.SkillCheck; +import io.github.cottonmc.skillcheck.api.traits.ClassManager; import net.minecraft.block.BlockRenderType; import net.minecraft.block.BlockState; import net.minecraft.client.input.Input; @@ -67,10 +67,10 @@ public MixinThiefClient(ClientWorld world, GameProfile profile) { public void gymnistMovement(CallbackInfo ci) { // wall-cling/wall-jump code from Wall-Jump - if (ClassManager.hasClass(this, Skillworks.THIEF)) this.handleWallJump(); + if (ClassManager.hasClass(this, SkillCheck.THIEF)) this.handleWallJump(); // double-jump code from Wall-Jump - if (ClassManager.hasLevel(this, Skillworks.THIEF, 2)) this.handleDoubleJump(); + if (ClassManager.hasLevel(this, SkillCheck.THIEF, 2)) this.handleDoubleJump(); } @@ -225,9 +225,9 @@ private static boolean canWallCling(PlayerEntity player) { if (walls.size() == 0) return false; - if (Skillworks.SLIPPERY_BLOCKS.contains(player.world.getBlockState(getWallPos(player)).getBlock()) ^ Skillworks.config.invertSlipperyTag) return false; + if (SkillCheck.SLIPPERY_BLOCKS.contains(player.world.getBlockState(getWallPos(player)).getBlock()) ^ SkillCheck.config.invertSlipperyTag) return false; - if (ClassManager.hasClass(player, Skillworks.THIEF) || player.getPos().getY() < lastJumpY) return true; //TODO: change to use levels later? + if (ClassManager.hasClass(player, SkillCheck.THIEF) || player.getPos().getY() < lastJumpY) return true; //TODO: change to use levels later? if (walls.size() == 1) { diff --git a/src/main/java/io/github/cottonmc/skillworks/mixins/MixinThiefCommon.java b/src/main/java/io/github/cottonmc/skillcheck/mixins/MixinThiefCommon.java similarity index 82% rename from src/main/java/io/github/cottonmc/skillworks/mixins/MixinThiefCommon.java rename to src/main/java/io/github/cottonmc/skillcheck/mixins/MixinThiefCommon.java index abb825a..7f59a8b 100644 --- a/src/main/java/io/github/cottonmc/skillworks/mixins/MixinThiefCommon.java +++ b/src/main/java/io/github/cottonmc/skillcheck/mixins/MixinThiefCommon.java @@ -1,11 +1,11 @@ -package io.github.cottonmc.skillworks.mixins; +package io.github.cottonmc.skillcheck.mixins; import io.github.cottonmc.repackage.blue.endless.jankson.annotation.Nullable; -import io.github.cottonmc.skillworks.util.ArrowEffects; -import io.github.cottonmc.skillworks.Skillworks; -import io.github.cottonmc.skillworks.api.traits.ClassManager; -import io.github.cottonmc.skillworks.api.dice.Dice; -import io.github.cottonmc.skillworks.api.dice.DiceResult; +import io.github.cottonmc.skillcheck.SkillCheck; +import io.github.cottonmc.skillcheck.util.ArrowEffects; +import io.github.cottonmc.skillcheck.api.traits.ClassManager; +import io.github.cottonmc.skillcheck.api.dice.Dice; +import io.github.cottonmc.skillcheck.api.dice.RollResult; import net.minecraft.entity.EntityType; import net.minecraft.entity.ItemEntity; import net.minecraft.entity.LivingEntity; @@ -43,16 +43,16 @@ protected MixinThiefCommon(EntityType type, World world) @Inject(method = "damage", at = @At("HEAD"), cancellable = true) public void catchArrow(DamageSource source, float amount, CallbackInfoReturnable ci) { if (source.isProjectile() && source.getSource() instanceof ArrowEntity) { - if (ClassManager.hasLevel((PlayerEntity)(Object)this, Skillworks.THIEF, 3) + if (ClassManager.hasLevel((PlayerEntity)(Object)this, SkillCheck.THIEF, 3) && canCatchArrow()) { - DiceResult roll = Dice.roll("1d20+"+ClassManager.getLevel((PlayerEntity)(Object)this, Skillworks.THIEF)); - if (Skillworks.config.showDiceRolls) { - if (roll.isCritFail()) ((PlayerEntity)(Object)this).addChatMessage(new TranslatableTextComponent("msg.skillworks.roll.fail", roll.getFormattedNaturals()), false); - else ((PlayerEntity)(Object)this).addChatMessage(new TranslatableTextComponent("msg.skillworks.roll.result", roll.getTotal(), roll.getFormattedNaturals()), false); + RollResult roll = Dice.roll("1d20+"+ClassManager.getLevel((PlayerEntity)(Object)this, SkillCheck.THIEF)); + if (SkillCheck.config.showDiceRolls) { + if (roll.isCritFail()) ((PlayerEntity)(Object)this).addChatMessage(new TranslatableTextComponent("msg.skillcheck.roll.fail", roll.getFormattedNaturals()), false); + else ((PlayerEntity)(Object)this).addChatMessage(new TranslatableTextComponent("msg.skillcheck.roll.result", roll.getTotal(), roll.getFormattedNaturals()), false); } if (roll.isCritFail()) { this.addPotionEffect(new StatusEffectInstance(StatusEffects.INSTANT_DAMAGE, 2, 1)); - } else if (roll.getTotal() >= Skillworks.config.arrowCatchRoll) { + } else if (roll.getTotal() >= SkillCheck.config.arrowCatchRoll) { ArrowEntity arrow = (ArrowEntity) source.getSource(); if (!((ArrowEffects) arrow).getEffects().isEmpty()) { for (StatusEffectInstance effect : (((ArrowEffects) arrow).getEffects())) { diff --git a/src/main/java/io/github/cottonmc/skillworks/mixins/MixinWeaverContainer.java b/src/main/java/io/github/cottonmc/skillcheck/mixins/MixinWeaverContainer.java similarity index 82% rename from src/main/java/io/github/cottonmc/skillworks/mixins/MixinWeaverContainer.java rename to src/main/java/io/github/cottonmc/skillcheck/mixins/MixinWeaverContainer.java index efae3d6..dce6b5e 100644 --- a/src/main/java/io/github/cottonmc/skillworks/mixins/MixinWeaverContainer.java +++ b/src/main/java/io/github/cottonmc/skillcheck/mixins/MixinWeaverContainer.java @@ -1,7 +1,7 @@ -package io.github.cottonmc.skillworks.mixins; +package io.github.cottonmc.skillcheck.mixins; -import io.github.cottonmc.skillworks.Skillworks; -import io.github.cottonmc.skillworks.api.traits.ClassManager; +import io.github.cottonmc.skillcheck.SkillCheck; +import io.github.cottonmc.skillcheck.api.traits.ClassManager; import net.minecraft.container.BlockContext; import net.minecraft.container.LoomContainer; import net.minecraft.entity.player.PlayerEntity; @@ -24,7 +24,7 @@ public void construct(int id, PlayerInventory inv, final BlockContext ctx, Callb @ModifyConstant(method = "onContentChanged", constant = @Constant(intValue = 6)) private int changeBannerPatternLimit(int orig) { - if (ClassManager.hasClass(player, Skillworks.ARTISAN)) return 16; + if (ClassManager.hasClass(player, SkillCheck.ARTISAN)) return 16; else return orig; } diff --git a/src/main/java/io/github/cottonmc/skillworks/mixins/MixinWeaverScreen.java b/src/main/java/io/github/cottonmc/skillcheck/mixins/MixinWeaverScreen.java similarity index 82% rename from src/main/java/io/github/cottonmc/skillworks/mixins/MixinWeaverScreen.java rename to src/main/java/io/github/cottonmc/skillcheck/mixins/MixinWeaverScreen.java index 7b00b56..6fccb6f 100644 --- a/src/main/java/io/github/cottonmc/skillworks/mixins/MixinWeaverScreen.java +++ b/src/main/java/io/github/cottonmc/skillcheck/mixins/MixinWeaverScreen.java @@ -1,7 +1,7 @@ -package io.github.cottonmc.skillworks.mixins; +package io.github.cottonmc.skillcheck.mixins; -import io.github.cottonmc.skillworks.Skillworks; -import io.github.cottonmc.skillworks.api.traits.ClassManager; +import io.github.cottonmc.skillcheck.SkillCheck; +import io.github.cottonmc.skillcheck.api.traits.ClassManager; import net.minecraft.client.gui.container.LoomScreen; import net.minecraft.container.LoomContainer; import net.minecraft.entity.player.PlayerEntity; @@ -25,7 +25,7 @@ public void construct(LoomContainer container, PlayerInventory inv, TextComponen @ModifyConstant(method = "onInventoryChanged", constant = @Constant(intValue = 6)) private int changeBannerPatternLimit(int orig) { - if (ClassManager.hasClass(player, Skillworks.ARTISAN)) return 16; + if (ClassManager.hasClass(player, SkillCheck.ARTISAN)) return 16; else return orig; } } diff --git a/src/main/java/io/github/cottonmc/skillworks/util/ArrowEffects.java b/src/main/java/io/github/cottonmc/skillcheck/util/ArrowEffects.java similarity index 78% rename from src/main/java/io/github/cottonmc/skillworks/util/ArrowEffects.java rename to src/main/java/io/github/cottonmc/skillcheck/util/ArrowEffects.java index 6b0d68b..8d066d3 100644 --- a/src/main/java/io/github/cottonmc/skillworks/util/ArrowEffects.java +++ b/src/main/java/io/github/cottonmc/skillcheck/util/ArrowEffects.java @@ -1,4 +1,4 @@ -package io.github.cottonmc.skillworks.util; +package io.github.cottonmc.skillcheck.util; import net.minecraft.entity.effect.StatusEffectInstance; diff --git a/src/main/java/io/github/cottonmc/skillworks/util/SkillworksConfig.java b/src/main/java/io/github/cottonmc/skillcheck/util/SkillCheckConfig.java similarity index 67% rename from src/main/java/io/github/cottonmc/skillworks/util/SkillworksConfig.java rename to src/main/java/io/github/cottonmc/skillcheck/util/SkillCheckConfig.java index 30d5f90..47646dc 100644 --- a/src/main/java/io/github/cottonmc/skillworks/util/SkillworksConfig.java +++ b/src/main/java/io/github/cottonmc/skillcheck/util/SkillCheckConfig.java @@ -1,16 +1,16 @@ -package io.github.cottonmc.skillworks.util; +package io.github.cottonmc.skillcheck.util; import io.github.cottonmc.cotton.config.annotations.ConfigFile; import io.github.cottonmc.repackage.blue.endless.jankson.Comment; -@ConfigFile(name = "Skillworks") -public class SkillworksConfig { +@ConfigFile(name = "SkillCheck") +public class SkillCheckConfig { @Comment("Remove the requirement for obtaining classes to be able to use their skills.\n" + "This will not apply to skills like Brawler's damage-boost, which scale according to level.") public boolean disableClasses = false; - @Comment("If true, the \"skillworks:slippery\" tag will act as a whitelist of wall-cligable blocks instead.") + @Comment("If true, the \"skillcheck:slippery\" tag will act as a whitelist of wall-cligable blocks instead.") public boolean invertSlipperyTag = false; @Comment("Send a player's dice rolls to their chat.") @@ -23,11 +23,16 @@ public class SkillworksConfig { "The formula is 1d20+.") public int arrowCatchRoll = 15; - @Comment("The minimum dice roll for successfully stealing armor from a mob with the Thief skill.\n" - + "The formula is 1d20+." - + "A roll four greater than this value will succeed without alerting the mob.") + @Comment("The minimum dice roll for successfully stealing armor from a mob with the Thief skill,\n" + + "but alerting the mob to your presence.\n" + + "The formula is 1d20+.") public int stealArmorRoll = 8; + @Comment("The minimum dice roll for successfully stealing armor from a mob with the Thief skill,\n" + + "without alerting the mob.\n" + + "The formula is 1d20+.") + public int silentStealArmorRoll = 12; + @Comment("The minimum dice roll for weakening an unarmored enemy with the Brawler skill.\n" + "The formula is 1d20+.") public int weakenEnemyRoll = 12; diff --git a/src/main/java/io/github/cottonmc/skillworks/util/SkillworksNetworking.java b/src/main/java/io/github/cottonmc/skillcheck/util/SkillCheckNetworking.java similarity index 84% rename from src/main/java/io/github/cottonmc/skillworks/util/SkillworksNetworking.java rename to src/main/java/io/github/cottonmc/skillcheck/util/SkillCheckNetworking.java index 526dde1..c9db096 100644 --- a/src/main/java/io/github/cottonmc/skillworks/util/SkillworksNetworking.java +++ b/src/main/java/io/github/cottonmc/skillcheck/util/SkillCheckNetworking.java @@ -1,8 +1,8 @@ -package io.github.cottonmc.skillworks.util; +package io.github.cottonmc.skillcheck.util; -import io.github.cottonmc.skillworks.Skillworks; -import io.github.cottonmc.skillworks.api.traits.ClassManager; -import io.github.cottonmc.skillworks.container.CharacterSheetContainer; +import io.github.cottonmc.skillcheck.SkillCheck; +import io.github.cottonmc.skillcheck.api.traits.ClassManager; +import io.github.cottonmc.skillcheck.container.CharacterSheetContainer; import io.netty.buffer.Unpooled; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; @@ -13,10 +13,10 @@ import net.minecraft.util.Identifier; import net.minecraft.util.PacketByteBuf; -public class SkillworksNetworking { +public class SkillCheckNetworking { - public static final Identifier SYNC_SELECTION = new Identifier(Skillworks.MOD_ID, "sync_selection"); - public static final Identifier SYNC_LEVELUP = new Identifier(Skillworks.MOD_ID, "sync_levelup"); + public static final Identifier SYNC_SELECTION = new Identifier(SkillCheck.MOD_ID, "sync_selection"); + public static final Identifier SYNC_LEVELUP = new Identifier(SkillCheck.MOD_ID, "sync_levelup"); public static void init() { ServerSidePacketRegistry.INSTANCE.register(SYNC_SELECTION, ((packetContext, packetByteBuf) -> { diff --git a/src/main/java/io/github/cottonmc/skillworks/SkillworksClient.java b/src/main/java/io/github/cottonmc/skillworks/SkillworksClient.java deleted file mode 100644 index a0a91bc..0000000 --- a/src/main/java/io/github/cottonmc/skillworks/SkillworksClient.java +++ /dev/null @@ -1,13 +0,0 @@ -package io.github.cottonmc.skillworks; - -import io.github.cottonmc.skillworks.container.CharacterSheetScreen; -import net.fabricmc.api.ClientModInitializer; -import net.fabricmc.fabric.api.client.screen.ScreenProviderRegistry; - -public class SkillworksClient implements ClientModInitializer { - - @Override - public void onInitializeClient() { - ScreenProviderRegistry.INSTANCE.registerFactory(Skillworks.CHARACTER_SHEET_CONTAINER, (syncId, id, player, buf) -> new CharacterSheetScreen(syncId, player)); - } -} diff --git a/src/main/resources/assets/skillworks/icon.png b/src/main/resources/assets/skillcheck/icon.png similarity index 100% rename from src/main/resources/assets/skillworks/icon.png rename to src/main/resources/assets/skillcheck/icon.png diff --git a/src/main/resources/assets/skillcheck/lang/en_us.json b/src/main/resources/assets/skillcheck/lang/en_us.json new file mode 100755 index 0000000..5b3245e --- /dev/null +++ b/src/main/resources/assets/skillcheck/lang/en_us.json @@ -0,0 +1,43 @@ +{ + "item.skillcheck.artisan_scroll": "Artisan Scroll", + "item.skillcheck.thief_scroll": "Thief Scroll", + "item.skillcheck.brawler_scroll": "Brawler Scroll", + "item.skillcheck.class_prestige": "Scroll of Prestige", + "item.skillcheck.character_sheet": "Character Sheet", + + "itemGroup.skillcheck.skillcheck_group": "Skillworks", + + "tooltip.skillcheck.banner": "+ %s more...", + + "class.skillcheck.artisan": "Artisan", + "class.skillcheck.thief": "Thief", + "class.skillcheck.brawler": "Brawler", + + "tooltip.skillcheck.scroll.flavor_0": "A scroll penned by a wandering %s", + "tooltip.skillcheck.scroll.flavor_1": "An ancient text on the ways of the %s", + "tooltip.skillcheck.scroll.flavor_2": "A YouTube tutorial on how to be a %s", + "tooltip.skillcheck.scroll.flavor_3": "A beginner's guide for the aspiring %s", + "tooltip.skillcheck.scroll.flavor_4": "Lost knowledge on the secrets of being a %s", + "tooltip.skillcheck.scroll.flavor_5": "A page from the diary of an apprentice %s", + "tooltip.skillcheck.prestige.0": "Debug item.", + "tooltip.skillcheck.prestige.1": "Resets progress in all classes.", + + "msg.skillcheck.prestige": "All classes reset.", + "msg.skillcheck.levelup": "You feel your prowess as a %s grow.", + "msg.skillcheck.roll.result": "Roll result: %s (%s)", + "msg.skillcheck.roll.fail": "Critical failure! (%s)", + + "desc.class.skillcheck.artisan.0": "Lv1+: Put up to 16 patterns on a single banner.", + "desc.class.skillcheck.thief.0": "Per lv: +1 to entity theft chance.", + "desc.class.skillcheck.thief.1": "Sneak+right-click on an enemy to try to steal armor.", + "desc.class.skillcheck.thief.2": "Lv1+: Cling to and jump off walls.", + "desc.class.skillcheck.thief.3": "Lv2+: Jump again in midair.", + "desc.class.skillcheck.thief.4": "Lv3+: Catch arrows out of the air.", + "desc.class.skillcheck.brawler.0": "Per lv: +1 damage per attack with an empty hand.", + "desc.class.skillcheck.brawler.1": "Lv2+: Chance to weaken an un-armored enemy on an empty-hand attack.", + "desc.class.skillcheck.brawler.2": "Per lv 2+: +1 to enemy weaken chance.", + + "text.skillcheck.level": "Lv%s", + "text.skillcheck.cost": "Next level: %s experience", + "btn.skillcheck.levelup": "Level up" +} diff --git a/src/main/resources/assets/skillworks/models/item/artisan_scroll.json b/src/main/resources/assets/skillcheck/models/item/artisan_scroll.json similarity index 53% rename from src/main/resources/assets/skillworks/models/item/artisan_scroll.json rename to src/main/resources/assets/skillcheck/models/item/artisan_scroll.json index 01cc0e1..a23403d 100644 --- a/src/main/resources/assets/skillworks/models/item/artisan_scroll.json +++ b/src/main/resources/assets/skillcheck/models/item/artisan_scroll.json @@ -1,6 +1,6 @@ { "parent": "item/generated", "textures": { - "layer0": "skillworks:item/artisan_scroll" + "layer0": "skillcheck:item/artisan_scroll" } } diff --git a/src/main/resources/assets/skillworks/models/item/brawler_scroll.json b/src/main/resources/assets/skillcheck/models/item/brawler_scroll.json similarity index 53% rename from src/main/resources/assets/skillworks/models/item/brawler_scroll.json rename to src/main/resources/assets/skillcheck/models/item/brawler_scroll.json index 7bb9ede..b489e4c 100644 --- a/src/main/resources/assets/skillworks/models/item/brawler_scroll.json +++ b/src/main/resources/assets/skillcheck/models/item/brawler_scroll.json @@ -1,6 +1,6 @@ { "parent": "item/generated", "textures": { - "layer0": "skillworks:item/brawler_scroll" + "layer0": "skillcheck:item/brawler_scroll" } } diff --git a/src/main/resources/assets/skillworks/models/item/character_sheet.json b/src/main/resources/assets/skillcheck/models/item/character_sheet.json similarity index 53% rename from src/main/resources/assets/skillworks/models/item/character_sheet.json rename to src/main/resources/assets/skillcheck/models/item/character_sheet.json index c138aa7..bd2b067 100644 --- a/src/main/resources/assets/skillworks/models/item/character_sheet.json +++ b/src/main/resources/assets/skillcheck/models/item/character_sheet.json @@ -1,7 +1,7 @@ { "parent": "item/generated", "textures": { - "layer0": "skillworks:item/character_sheet" + "layer0": "skillcheck:item/character_sheet" } } diff --git a/src/main/resources/assets/skillworks/models/item/class_prestige.json b/src/main/resources/assets/skillcheck/models/item/class_prestige.json similarity index 53% rename from src/main/resources/assets/skillworks/models/item/class_prestige.json rename to src/main/resources/assets/skillcheck/models/item/class_prestige.json index db49b3f..33bc885 100644 --- a/src/main/resources/assets/skillworks/models/item/class_prestige.json +++ b/src/main/resources/assets/skillcheck/models/item/class_prestige.json @@ -1,7 +1,7 @@ { "parent": "item/generated", "textures": { - "layer0": "skillworks:item/class_prestige" + "layer0": "skillcheck:item/class_prestige" } } diff --git a/src/main/resources/assets/skillworks/models/item/thief_scroll.json b/src/main/resources/assets/skillcheck/models/item/thief_scroll.json similarity index 54% rename from src/main/resources/assets/skillworks/models/item/thief_scroll.json rename to src/main/resources/assets/skillcheck/models/item/thief_scroll.json index 46c5957..609067d 100644 --- a/src/main/resources/assets/skillworks/models/item/thief_scroll.json +++ b/src/main/resources/assets/skillcheck/models/item/thief_scroll.json @@ -1,6 +1,6 @@ { "parent": "item/generated", "textures": { - "layer0": "skillworks:item/thief_scroll" + "layer0": "skillcheck:item/thief_scroll" } } diff --git a/src/main/resources/assets/skillworks/textures/gui/container/scribing.png b/src/main/resources/assets/skillcheck/textures/gui/container/scribing.png similarity index 100% rename from src/main/resources/assets/skillworks/textures/gui/container/scribing.png rename to src/main/resources/assets/skillcheck/textures/gui/container/scribing.png diff --git a/src/main/resources/assets/skillworks/textures/item/artisan_scroll.png b/src/main/resources/assets/skillcheck/textures/item/artisan_scroll.png similarity index 100% rename from src/main/resources/assets/skillworks/textures/item/artisan_scroll.png rename to src/main/resources/assets/skillcheck/textures/item/artisan_scroll.png diff --git a/src/main/resources/assets/skillworks/textures/item/brawler_scroll.png b/src/main/resources/assets/skillcheck/textures/item/brawler_scroll.png similarity index 100% rename from src/main/resources/assets/skillworks/textures/item/brawler_scroll.png rename to src/main/resources/assets/skillcheck/textures/item/brawler_scroll.png diff --git a/src/main/resources/assets/skillworks/textures/item/character_sheet.png b/src/main/resources/assets/skillcheck/textures/item/character_sheet.png similarity index 100% rename from src/main/resources/assets/skillworks/textures/item/character_sheet.png rename to src/main/resources/assets/skillcheck/textures/item/character_sheet.png diff --git a/src/main/resources/assets/skillworks/textures/item/class_prestige.png b/src/main/resources/assets/skillcheck/textures/item/class_prestige.png similarity index 100% rename from src/main/resources/assets/skillworks/textures/item/class_prestige.png rename to src/main/resources/assets/skillcheck/textures/item/class_prestige.png diff --git a/src/main/resources/assets/skillworks/textures/item/thief_scroll.png b/src/main/resources/assets/skillcheck/textures/item/thief_scroll.png similarity index 100% rename from src/main/resources/assets/skillworks/textures/item/thief_scroll.png rename to src/main/resources/assets/skillcheck/textures/item/thief_scroll.png diff --git a/src/main/resources/assets/skillworks/lang/en_us.json b/src/main/resources/assets/skillworks/lang/en_us.json deleted file mode 100755 index 76905ca..0000000 --- a/src/main/resources/assets/skillworks/lang/en_us.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "item.skillworks.artisan_scroll": "Artisan Scroll", - "item.skillworks.thief_scroll": "Thief Scroll", - "item.skillworks.brawler_scroll": "Brawler Scroll", - "item.skillworks.class_prestige": "Scroll of Prestige", - "item.skillworks.character_sheet": "Character Sheet", - - "itemGroup.skillworks.skillworks_group": "Skillworks", - - "tooltip.skillworks.banner": "+ %s more...", - - "class.skillworks.artisan": "Artisan", - "class.skillworks.thief": "Thief", - "class.skillworks.brawler": "Brawler", - - "tooltip.skillworks.scroll.flavor_0": "A scroll penned by a wandering %s", - "tooltip.skillworks.scroll.flavor_1": "An ancient text on the ways of the %s", - "tooltip.skillworks.scroll.flavor_2": "A YouTube tutorial on how to be a %s", - "tooltip.skillworks.scroll.flavor_3": "A beginner's guide for the aspiring %s", - "tooltip.skillworks.scroll.flavor_4": "Lost knowledge on the secrets of being a %s", - "tooltip.skillworks.scroll.flavor_5": "A page from the diary of an apprentice %s", - "tooltip.skillworks.prestige.0": "Debug item.", - "tooltip.skillworks.prestige.1": "Resets progress in all classes.", - - "msg.skillworks.prestige": "All classes reset.", - "msg.skillworks.levelup": "You feel your prowess as a %s grow.", - "msg.skillworks.roll.result": "Roll result: %s (%s)", - "msg.skillworks.roll.fail": "Critical failure! (%s)", - - "desc.class.skillworks.artisan.0": "Lv1+: Put up to 16 patterns on a single banner.", - "desc.class.skillworks.thief.0": "Per lv: +1 to entity theft chance.", - "desc.class.skillworks.thief.1": "Sneak+right-click on an enemy to try to steal armor.", - "desc.class.skillworks.thief.2": "Lv1+: Cling to and jump off walls.", - "desc.class.skillworks.thief.3": "Lv2+: Jump again in midair.", - "desc.class.skillworks.thief.4": "Lv3+: Catch arrows out of the air.", - "desc.class.skillworks.brawler.0": "Per lv: +1 damage per attack with an empty hand.", - "desc.class.skillworks.brawler.1": "Lv2+: Chance to weaken an un-armored enemy on an empty-hand attack.", - "desc.class.skillworks.brawler.2": "Per lv 2+: +1 to enemy weaken chance.", - - "text.skillworks.level": "Lv%s", - "text.skillworks.cost": "Next level: %s experience", - "btn.skillworks.levelup": "Level up" -} diff --git a/src/main/resources/data/skillworks/recipes/character_sheet.json b/src/main/resources/data/skillchec/recipes/character_sheet.json similarity index 87% rename from src/main/resources/data/skillworks/recipes/character_sheet.json rename to src/main/resources/data/skillchec/recipes/character_sheet.json index 872c4a8..9f954cf 100644 --- a/src/main/resources/data/skillworks/recipes/character_sheet.json +++ b/src/main/resources/data/skillchec/recipes/character_sheet.json @@ -17,7 +17,7 @@ } }, "result": { - "item": "skillworks:character_sheet", + "item": "skillcheck:character_sheet", "count": 1 } } \ No newline at end of file diff --git a/src/main/resources/data/skillworks/tags/blocks/slippery.json b/src/main/resources/data/skillchec/tags/blocks/slippery.json similarity index 100% rename from src/main/resources/data/skillworks/tags/blocks/slippery.json rename to src/main/resources/data/skillchec/tags/blocks/slippery.json diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 305fff4..4044581 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -1,30 +1,30 @@ { "schemaVersion": 1, - "id": "skillworks", + "id": "skillcheck", "version": "$version", - "name": "Skillworks", - "icon": "assets/skillworks/icon.png", + "name": "SkillCheck", + "icon": "assets/skillcheck/icon.png", "description": "RPG-style classes and abilities", "licence": "LGPL v3", "contact": { - "sources": "https://github.com/CottonMC/skillworks" + "sources": "https://github.com/CottonMC/skillcheck" }, "evironment": "*", "entrypoints": { "main": [ - "io.github.cottonmc.skillworks.Skillworks" + "io.github.cottonmc.skillcheck.SkillCheck" ], "client": [ - "io.github.cottonmc.skillworks.SkillworksClient" + "io.github.cottonmc.skillcheck.SkillCheckClient" ], "modmenu": [ - "io.github.cottonmc.epicurean.EpicureanClient" + "io.github.cottonmc.skillcheck.SkillCheckClient" ] }, "mixins": [ - "skillworks.common.json" + "skillcheck.common.json" ], "requires": { "fabricloader": ">=0.4.0", diff --git a/src/main/resources/skillworks.common.json b/src/main/resources/skillcheck.common.json similarity index 73% rename from src/main/resources/skillworks.common.json rename to src/main/resources/skillcheck.common.json index 6c53397..76985ac 100755 --- a/src/main/resources/skillworks.common.json +++ b/src/main/resources/skillcheck.common.json @@ -1,8 +1,8 @@ { "required": true, - "package": "io.github.cottonmc.skillworks.mixins", + "package": "io.github.cottonmc.skillcheck.mixins", "compatibilityLevel": "JAVA_8", - "refmap": "mixins.skillworks.refmap.json", + "refmap": "mixins.skillcheck.refmap.json", "mixins": [ "MixinArrow", "MixinWeaverContainer",