From 517dcad1fc2f95d8f3f0835f836b968db91c2c4a Mon Sep 17 00:00:00 2001 From: Embin <113154360+embinmc@users.noreply.github.com> Date: Fri, 6 Mar 2026 12:07:19 -0800 Subject: [PATCH 01/28] update build.gradle for 26.1 --- build.gradle | 17 ++++++++--------- gradle.properties | 12 ++++++------ 2 files changed, 14 insertions(+), 15 deletions(-) diff --git a/build.gradle b/build.gradle index 9f2ddb2..ec8c3df 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'net.fabricmc.fabric-loom-remap' version '1.14-SNAPSHOT' + id 'net.fabricmc.fabric-loom' version "${loom_version}" id 'maven-publish' } @@ -23,19 +23,18 @@ repositories { dependencies { // To change the versions see the gradle.properties file minecraft "com.mojang:minecraft:${project.minecraft_version}" - mappings loom.officialMojangMappings() - modImplementation "net.fabricmc:fabric-loader:${project.loader_version}" + implementation "net.fabricmc:fabric-loader:${project.loader_version}" // Fabric API. This is technically optional, but you probably want it anyway. - modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}" + implementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}" if (Boolean.valueOf(project.dependencies_enabled)) { - modApi("me.shedaniel.cloth:cloth-config-fabric:21.11.151") { + api("me.shedaniel.cloth:cloth-config-fabric:21.11.151") { exclude(group: "net.fabricmc.fabric-api") } include "me.shedaniel.cloth:cloth-config-fabric:21.11.151" - modApi "com.terraformersmc:modmenu:17.0.0-alpha.1" + api "com.terraformersmc:modmenu:17.0.0-alpha.1" } implementation 'com.electronwill.night-config:json:3.6.6' @@ -51,7 +50,7 @@ processResources { } tasks.withType(JavaCompile).configureEach { - it.options.release = 21 + it.options.release = 25 } java { @@ -60,8 +59,8 @@ java { // If you remove this line, sources will not be generated. withSourcesJar() - sourceCompatibility = JavaVersion.VERSION_21 - targetCompatibility = JavaVersion.VERSION_21 + sourceCompatibility = JavaVersion.VERSION_25 + targetCompatibility = JavaVersion.VERSION_25 } jar { diff --git a/gradle.properties b/gradle.properties index 470fce9..2f07164 100644 --- a/gradle.properties +++ b/gradle.properties @@ -4,16 +4,16 @@ org.gradle.parallel=true # Fabric Properties # check these on https://fabricmc.net/develop -minecraft_version=1.21.11 -yarn_mappings=1.21.11+build.1 -loader_version=0.18.1 +minecraft_version=26.1-snapshot-10 +loader_version=0.18.4 +loom_version=1.15-SNAPSHOT # Mod Properties -mod_version=1.5.0 +mod_version=1.6.0 maven_group=embin.strangeitems archives_base_name=strangeitems # Dependencies -fabric_version=0.139.4+1.21.11 +fabric_version=0.143.6+26.1 -dependencies_enabled=true \ No newline at end of file +dependencies_enabled=false \ No newline at end of file From 3a827a49ed03a2b7c3ccf079b69118242a140530 Mon Sep 17 00:00:00 2001 From: Embin <113154360+embinmc@users.noreply.github.com> Date: Fri, 6 Mar 2026 12:08:09 -0800 Subject: [PATCH 02/28] comment out dependency code --- .../embin/strangeitems/ModMenuIntegration.java | 14 +++++++------- .../strangeitems/client/config/ConfigScreen.java | 8 +++++--- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/src/main/java/embin/strangeitems/ModMenuIntegration.java b/src/main/java/embin/strangeitems/ModMenuIntegration.java index 32c5d97..35f5b86 100644 --- a/src/main/java/embin/strangeitems/ModMenuIntegration.java +++ b/src/main/java/embin/strangeitems/ModMenuIntegration.java @@ -1,12 +1,12 @@ package embin.strangeitems; -import com.terraformersmc.modmenu.api.ConfigScreenFactory; -import com.terraformersmc.modmenu.api.ModMenuApi; +// import com.terraformersmc.modmenu.api.ConfigScreenFactory; +// import com.terraformersmc.modmenu.api.ModMenuApi; import embin.strangeitems.client.config.ConfigScreen; -public class ModMenuIntegration implements ModMenuApi { - @Override - public ConfigScreenFactory getModConfigScreenFactory() { - return parent -> ConfigScreen.configBuilder(parent).build(); - } +public class ModMenuIntegration /*implements ModMenuApi*/ { + // @Override + // public ConfigScreenFactory getModConfigScreenFactory() { + // return parent -> ConfigScreen.configBuilder(parent).build(); + // } } diff --git a/src/main/java/embin/strangeitems/client/config/ConfigScreen.java b/src/main/java/embin/strangeitems/client/config/ConfigScreen.java index f6c3520..f4e4d60 100644 --- a/src/main/java/embin/strangeitems/client/config/ConfigScreen.java +++ b/src/main/java/embin/strangeitems/client/config/ConfigScreen.java @@ -1,14 +1,15 @@ package embin.strangeitems.client.config; -import me.shedaniel.clothconfig2.api.ConfigBuilder; -import me.shedaniel.clothconfig2.api.ConfigCategory; -import me.shedaniel.clothconfig2.api.ConfigEntryBuilder; +// import me.shedaniel.clothconfig2.api.ConfigBuilder; +// import me.shedaniel.clothconfig2.api.ConfigCategory; +// import me.shedaniel.clothconfig2.api.ConfigEntryBuilder; import net.minecraft.client.gui.screens.Screen; import net.minecraft.network.chat.Component; public class ConfigScreen { private ConfigScreen() {} + /* public static ConfigBuilder configBuilder(final Screen parent) { final ConfigBuilder builder = ConfigBuilder.create() .setParentScreen(parent) @@ -53,4 +54,5 @@ public static ConfigBuilder configBuilder(final Screen parent) { builder.setSavingRunnable(StrangeConfig::saveConfig); return builder; } + */ } From 41315b573651843a3253da981f50a4b64ed11b86 Mon Sep 17 00:00:00 2001 From: Embin <113154360+embinmc@users.noreply.github.com> Date: Fri, 6 Mar 2026 12:37:34 -0800 Subject: [PATCH 03/28] update --- .../strangeitems/StrangeItemsComponents.java | 1 + .../embin/strangeitems/StrangeRegistries.java | 2 +- .../client/StrangeItemsClient.java | 4 ++-- .../strangeitems/mixin/CollectorsMixin.java | 4 ++-- .../mixin/EquippableComponentMixin.java | 4 ++-- .../embin/strangeitems/mixin/ItemMixin.java | 20 ++++++---------- .../strangeitems/tracker/MapTracker.java | 18 +++++++-------- .../tracker/TimestampTracker.java | 10 ++++---- .../embin/strangeitems/tracker/Tracker.java | 4 ++-- .../embin/strangeitems/tracker/Trackers.java | 17 +++++++------- .../{TrackerUtil.java => StrangeUtil.java} | 23 +++++++++++++++++-- src/main/resources/fabric.mod.json | 6 ++--- src/main/resources/strangeitems.accesswidener | 2 +- 13 files changed, 64 insertions(+), 51 deletions(-) rename src/main/java/embin/strangeitems/util/{TrackerUtil.java => StrangeUtil.java} (83%) diff --git a/src/main/java/embin/strangeitems/StrangeItemsComponents.java b/src/main/java/embin/strangeitems/StrangeItemsComponents.java index f242115..ef9cc64 100644 --- a/src/main/java/embin/strangeitems/StrangeItemsComponents.java +++ b/src/main/java/embin/strangeitems/StrangeItemsComponents.java @@ -16,6 +16,7 @@ public class StrangeItemsComponents { ); */ + @Deprecated public static final DataComponentType COLLECTORS_ITEM = Registry.register( BuiltInRegistries.DATA_COMPONENT_TYPE, Id.of("strangeitems:collectors_item"), diff --git a/src/main/java/embin/strangeitems/StrangeRegistries.java b/src/main/java/embin/strangeitems/StrangeRegistries.java index eb64927..7a2a1c1 100644 --- a/src/main/java/embin/strangeitems/StrangeRegistries.java +++ b/src/main/java/embin/strangeitems/StrangeRegistries.java @@ -12,7 +12,7 @@ public class StrangeRegistries { * Registry containing all registered trackers. * @see Trackers */ - public static final Registry TRACKER = FabricRegistryBuilder.createSimple( + public static final Registry TRACKER = FabricRegistryBuilder.create( StrangeRegistryKeys.TRACKER ).attribute(RegistryAttribute.OPTIONAL).buildAndRegister(); diff --git a/src/main/java/embin/strangeitems/client/StrangeItemsClient.java b/src/main/java/embin/strangeitems/client/StrangeItemsClient.java index 2ad281c..73a7247 100644 --- a/src/main/java/embin/strangeitems/client/StrangeItemsClient.java +++ b/src/main/java/embin/strangeitems/client/StrangeItemsClient.java @@ -6,7 +6,7 @@ import embin.strangeitems.util.Id; import net.fabricmc.api.ClientModInitializer; import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents; -import net.fabricmc.fabric.api.client.keybinding.v1.KeyBindingHelper; +import net.fabricmc.fabric.api.client.keymapping.v1.KeyMappingHelper; import net.minecraft.client.KeyMapping; import org.lwjgl.glfw.GLFW; import org.slf4j.Logger; @@ -26,7 +26,7 @@ private static KeyMapping keybind(String translation, int key) { } private static KeyMapping vanillaKeybind(String translation, int key) { - return KeyBindingHelper.registerKeyBinding(new KeyMapping( + return KeyMappingHelper.registerKeyMapping(new KeyMapping( "key.strangeitems." + translation, InputConstants.Type.KEYSYM, key, diff --git a/src/main/java/embin/strangeitems/mixin/CollectorsMixin.java b/src/main/java/embin/strangeitems/mixin/CollectorsMixin.java index 60b8613..febfb6f 100644 --- a/src/main/java/embin/strangeitems/mixin/CollectorsMixin.java +++ b/src/main/java/embin/strangeitems/mixin/CollectorsMixin.java @@ -1,6 +1,6 @@ package embin.strangeitems.mixin; -import embin.strangeitems.StrangeItemsComponents; +import embin.strangeitems.util.StrangeUtil; import net.minecraft.ChatFormatting; import net.minecraft.client.gui.Gui; import net.minecraft.client.gui.GuiGraphics; @@ -22,7 +22,7 @@ public class CollectorsMixin { shift = At.Shift.BEFORE ), method = "renderSelectedItemName", locals = LocalCapture.CAPTURE_FAILHARD) private void adjust_color_for_collectors(GuiGraphics context, CallbackInfo ci, MutableComponent mutableText) { - if (this.lastToolHighlight.has(StrangeItemsComponents.COLLECTORS_ITEM)) { + if (StrangeUtil.isCollectors(this.lastToolHighlight)) { mutableText.withStyle(ChatFormatting.DARK_RED); } } diff --git a/src/main/java/embin/strangeitems/mixin/EquippableComponentMixin.java b/src/main/java/embin/strangeitems/mixin/EquippableComponentMixin.java index 00d7daf..d019b37 100644 --- a/src/main/java/embin/strangeitems/mixin/EquippableComponentMixin.java +++ b/src/main/java/embin/strangeitems/mixin/EquippableComponentMixin.java @@ -1,7 +1,7 @@ package embin.strangeitems.mixin; import embin.strangeitems.tracker.Trackers; -import embin.strangeitems.util.TrackerUtil; +import embin.strangeitems.util.StrangeUtil; import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; @@ -16,7 +16,7 @@ public class EquippableComponentMixin { @Inject(method = "swapWithEquipmentSlot", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/entity/player/Player;awardStat(Lnet/minecraft/stats/Stat;)V")) public void equipMixin(ItemStack stack, Player player, CallbackInfoReturnable cir) { Equippable ec = (Equippable) (Object) this; - if (TrackerUtil.canSwap(stack, player.getItemBySlot(ec.slot()), player)) { + if (StrangeUtil.canSwap(stack, player.getItemBySlot(ec.slot()), player)) { Trackers.TIMES_EQUIPPED.appendTracker(stack, 1); } } diff --git a/src/main/java/embin/strangeitems/mixin/ItemMixin.java b/src/main/java/embin/strangeitems/mixin/ItemMixin.java index 7c6247e..37c48c6 100644 --- a/src/main/java/embin/strangeitems/mixin/ItemMixin.java +++ b/src/main/java/embin/strangeitems/mixin/ItemMixin.java @@ -2,26 +2,22 @@ import com.llamalad7.mixinextras.sugar.Local; import embin.strangeitems.StrangeItemsComponents; -import embin.strangeitems.StrangeRegistries; import embin.strangeitems.StrangeRegistryKeys; import embin.strangeitems.client.config.StrangeConfig; import embin.strangeitems.tracker.*; -import embin.strangeitems.util.TrackerUtil; +import embin.strangeitems.util.StrangeUtil; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Overwrite; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; -import org.spongepowered.asm.mixin.injection.callback.LocalCapture; import java.util.List; import java.util.function.Consumer; import net.minecraft.ChatFormatting; -import net.minecraft.core.BlockPos; import net.minecraft.core.Holder; import net.minecraft.core.component.DataComponents; -import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.MutableComponent; import net.minecraft.world.entity.player.Player; @@ -30,8 +26,6 @@ import net.minecraft.world.item.TooltipFlag; import net.minecraft.world.item.component.TooltipDisplay; import net.minecraft.world.item.enchantment.ItemEnchantments; -import net.minecraft.world.level.Level; -import net.minecraft.world.level.block.state.BlockState; @Mixin(ItemStack.class) public abstract class ItemMixin { @@ -39,9 +33,9 @@ public abstract class ItemMixin { ordinal = 0, shift = At.Shift.AFTER), method = "addDetailsToTooltip", cancellable = true) public void appendTooltipMixin(Item.TooltipContext context, TooltipDisplay displayComponent, Player player, TooltipFlag type, Consumer list, CallbackInfo ci) { ItemStack stack = (ItemStack)(Object) this; - if (stack.is(TrackerItemTags.CAN_TRACK_STATS) || stack.has(StrangeItemsComponents.HAS_ALL_TRACKERS)) { - for (Holder registryEntry : TrackerUtil.getTooltipOrder(context.registries(), StrangeRegistryKeys.TRACKER, TrackerTags.HAS_SPECIAL_TOOLTIP)) { - if (StrangeConfig.HIDDEN_TRACKERS.shouldShowForItem(stack.getItemHolder(), registryEntry)) { + if (stack.is(TrackerItemTags.CAN_TRACK_STATS) || StrangeUtil.hasAllTrackers(stack)) { + for (Holder registryEntry : StrangeUtil.getTooltipOrder(context.registries(), StrangeRegistryKeys.TRACKER, TrackerTags.HAS_SPECIAL_TOOLTIP)) { + if (StrangeConfig.HIDDEN_TRACKERS.shouldShowForItem(stack.getItem().builtInRegistryHolder(), registryEntry)) { if (registryEntry.value() instanceof MapTracker mapTracker) { if (mapTracker.shouldShowTooltip(stack)) { mapTracker.appendTooltipMap(stack, list, ci, type); @@ -56,14 +50,14 @@ public void appendTooltipMixin(Item.TooltipContext context, TooltipDisplay displ } } } - TrackerUtil.addAllTrackerTooltips(context, list, stack); + StrangeUtil.addAllTrackerTooltips(context, list, stack); } } @Inject(at = @At(value = "INVOKE", target = "Ljava/util/List;add(Ljava/lang/Object;)Z", ordinal = 0, shift = At.Shift.AFTER), method = "getTooltipLines") public void nameColorMixin(Item.TooltipContext context, Player player, TooltipFlag type, CallbackInfoReturnable> cir, @Local List list) { ItemStack stack = (ItemStack)(Object) this; - if (stack.has(StrangeItemsComponents.COLLECTORS_ITEM)) { + if (StrangeUtil.isCollectors(stack)) { list.removeLast(); MutableComponent item_name = (MutableComponent) stack.getHoverName(); MutableComponent name = Component.empty(); @@ -127,7 +121,7 @@ public Component getHoverName() { if (text != null) { return text; } - if (stack.has(StrangeItemsComponents.COLLECTORS_ITEM)) { + if (StrangeUtil.isCollectors(stack)) { return Component.translatable("tooltip.strangeitems.collectors_item.item_name", stack.getItemName()); } return stack.getItemName(); diff --git a/src/main/java/embin/strangeitems/tracker/MapTracker.java b/src/main/java/embin/strangeitems/tracker/MapTracker.java index 98249e4..284971a 100644 --- a/src/main/java/embin/strangeitems/tracker/MapTracker.java +++ b/src/main/java/embin/strangeitems/tracker/MapTracker.java @@ -2,7 +2,7 @@ import embin.strangeitems.client.StrangeItemsClient; import embin.strangeitems.client.config.StrangeConfig; -import embin.strangeitems.util.TrackerUtil; +import embin.strangeitems.util.StrangeUtil; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; import java.util.function.Consumer; @@ -29,7 +29,7 @@ public class MapTracker extends Tracker { /** * Maximum number of entries that can be shown for in-depth trackers. * Ignored if certain conditions are met. - * @see TrackerUtil#isTooltipScrollInstalled() + * @see StrangeUtil#isTooltipScrollInstalled() */ public int max_maps_shown = 8; @@ -82,15 +82,15 @@ public void appendTooltipMap(ItemStack stack, Consumer tooltip, Callb this.appendTooltipNoSpace(stack, tooltip, type); CompoundTag nbtCompound = this.getTrackerValueNbt(stack); int index = 1; - for (String key : TrackerUtil.getSortedKeys(nbtCompound)) { - if (index <= this.max_maps_shown || TrackerUtil.isTooltipScrollInstalled()) { + for (String key : StrangeUtil.getSortedKeys(nbtCompound)) { + if (index <= this.max_maps_shown || StrangeUtil.isTooltipScrollInstalled()) { String translation_key = Identifier.parse(key).toLanguageKey(this.translation_prefix); Component stat_text = Component.literal(this.getFormattedTrackerValueNbt(stack, key)).withStyle(ChatFormatting.YELLOW); MutableComponent tooltip_text = Component.literal(key); - if (Language.getInstance().has(translation_key) && !TrackerUtil.isKeyDown(StrangeItemsClient.show_tracker_ids)) { + if (Language.getInstance().has(translation_key) && !StrangeUtil.isKeyDown(StrangeItemsClient.show_tracker_ids)) { tooltip_text = Component.translatable(translation_key).withStyle(ChatFormatting.GRAY); } - if (TrackerUtil.isKeyDown(StrangeItemsClient.show_tracker_ids)) { + if (StrangeUtil.isKeyDown(StrangeItemsClient.show_tracker_ids)) { tooltip_text.withStyle(ChatFormatting.DARK_GRAY); } tooltip_text.append(Component.literal(": ").withStyle(ChatFormatting.GRAY)); @@ -98,10 +98,10 @@ public void appendTooltipMap(ItemStack stack, Consumer tooltip, Callb } index++; } - if (index > (this.max_maps_shown + 1) && !TrackerUtil.isTooltipScrollInstalled()) { + if (index > (this.max_maps_shown + 1) && !StrangeUtil.isTooltipScrollInstalled()) { tooltip.accept(Component.translatable("tooltip.strangeitems.map_cutoff", index - (this.max_maps_shown + 1)).withStyle(ChatFormatting.ITALIC)); } - TrackerUtil.addItemIdToTooltip(stack, tooltip, type); + StrangeUtil.addItemIdToTooltip(stack, tooltip, type); ci.cancel(); } } @@ -111,7 +111,7 @@ public String getFormattedTrackerValueNbt(ItemStack stack, String key) { } public boolean shouldShowTooltip(ItemStack stack) { - return this.stackHasTracker(stack) && TrackerUtil.isKeyDown(this.getKeybinding()) && StrangeConfig.in_depth_tracking && this.stackHasMapTracker(stack); + return this.stackHasTracker(stack) && StrangeUtil.isKeyDown(this.getKeybinding()) && StrangeConfig.in_depth_tracking && this.stackHasMapTracker(stack); } @Override diff --git a/src/main/java/embin/strangeitems/tracker/TimestampTracker.java b/src/main/java/embin/strangeitems/tracker/TimestampTracker.java index 8cca976..d4c4fbf 100644 --- a/src/main/java/embin/strangeitems/tracker/TimestampTracker.java +++ b/src/main/java/embin/strangeitems/tracker/TimestampTracker.java @@ -1,7 +1,7 @@ package embin.strangeitems.tracker; import embin.strangeitems.client.config.StrangeConfig; -import embin.strangeitems.util.TrackerUtil; +import embin.strangeitems.util.StrangeUtil; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; import java.text.SimpleDateFormat; @@ -57,7 +57,7 @@ public void append_tooltip_map(ItemStack stack, Consumer tooltip, Cal int size = this.getTrackerValueInt(stack) - 1; for (int i = size; i >= 0; i--) { String key = String.valueOf(i + 1); - if ((size - this.max_entries_shown) <= i || TrackerUtil.isTooltipScrollInstalled()) { + if ((size - this.max_entries_shown) <= i || StrangeUtil.isTooltipScrollInstalled()) { Component stat_text = Component.translatable("tooltip.strangeitems.unknown_value").withStyle(ChatFormatting.DARK_GRAY); if (this.getTrackerValueNbt(stack).contains(key)) { long tracker_value = this.getTrackerValueNbt(stack).getLong(key).orElse(0L); @@ -69,16 +69,16 @@ public void append_tooltip_map(ItemStack stack, Consumer tooltip, Cal tooltip.accept(Component.literal(" ").append(tooltip_text).append(stat_text)); } } - if (size >= (this.max_entries_shown + 1) && !TrackerUtil.isTooltipScrollInstalled()) { + if (size >= (this.max_entries_shown + 1) && !StrangeUtil.isTooltipScrollInstalled()) { tooltip.accept(Component.translatable("tooltip.strangeitems.map_cutoff", size - (this.max_entries_shown + 1)).withStyle(ChatFormatting.ITALIC)); } - TrackerUtil.addItemIdToTooltip(stack, tooltip, type); + StrangeUtil.addItemIdToTooltip(stack, tooltip, type); ci.cancel(); } } public boolean should_show_tooltip(ItemStack stack) { - return this.stackHasTracker(stack) && TrackerUtil.isKeyDown(this.get_key()) && StrangeConfig.in_depth_tracking && this.stack_has_map_tracker(stack); + return this.stackHasTracker(stack) && StrangeUtil.isKeyDown(this.get_key()) && StrangeConfig.in_depth_tracking && this.stack_has_map_tracker(stack); } @Override diff --git a/src/main/java/embin/strangeitems/tracker/Tracker.java b/src/main/java/embin/strangeitems/tracker/Tracker.java index 96b94fe..636dbdd 100644 --- a/src/main/java/embin/strangeitems/tracker/Tracker.java +++ b/src/main/java/embin/strangeitems/tracker/Tracker.java @@ -4,7 +4,7 @@ import embin.strangeitems.StrangeRegistries; import embin.strangeitems.client.StrangeItemsClient; import embin.strangeitems.util.Id; -import embin.strangeitems.util.TrackerUtil; +import embin.strangeitems.util.StrangeUtil; import net.minecraft.ChatFormatting; import net.minecraft.core.component.DataComponentType; import net.minecraft.core.component.DataComponents; @@ -148,7 +148,7 @@ public void appendTooltip(ItemStack stack, Consumer tooltip) { } protected MutableComponent getNameForTooltip() { - if (TrackerUtil.isKeyDown(StrangeItemsClient.show_tracker_ids)) { + if (StrangeUtil.isKeyDown(StrangeItemsClient.show_tracker_ids)) { Identifier id = StrangeRegistries.TRACKER.getKey(this); if (id != null) { return Component.literal(id.toString()).withStyle(ChatFormatting.DARK_GRAY); diff --git a/src/main/java/embin/strangeitems/tracker/Trackers.java b/src/main/java/embin/strangeitems/tracker/Trackers.java index 5b2f92e..e302c22 100644 --- a/src/main/java/embin/strangeitems/tracker/Trackers.java +++ b/src/main/java/embin/strangeitems/tracker/Trackers.java @@ -10,7 +10,6 @@ /** * Class containing all default registered trackers. - * Also contains methods to register trackers. */ public class Trackers { public static final MapTracker BLOCKS_MINED = registerMap("blocks_mined", "block", TrackerItemTags.TRACKER_BLOCKS_MINED); @@ -44,35 +43,35 @@ public class Trackers { public static final Tracker TIME_IN_LAVA = register("time_in_lava", TrackerItemTags.TRACKER_TIME_IN_LAVA, StatFormatter.TIME, 1); public static final MapTracker TIME_IN_DIMENSIONS = registerMap("time_in_dimensions", "dimension", TrackerItemTags.TRACKER_TIME_IN_DIMENSIONS, StatFormatter.TIME); - public static Tracker register(String id) { + private static Tracker register(String id) { return Registry.register(StrangeRegistries.TRACKER, Id.of(id), new Tracker(id, TrackerItemTags.CAN_TRACK_STATS)); } - public static Tracker register(String id, TagKey tag) { + private static Tracker register(String id, TagKey tag) { return Registry.register(StrangeRegistries.TRACKER, Id.of(id), new Tracker(id, tag)); } - public static Tracker register(String id, TagKey tag, StatFormatter stat_formatter, int m) { + private static Tracker register(String id, TagKey tag, StatFormatter stat_formatter, int m) { return Registry.register(StrangeRegistries.TRACKER, Id.of(id), new Tracker(id, tag, stat_formatter, m)); } - public static TimestampTracker registerTimestamp(String id) { + private static TimestampTracker registerTimestamp(String id) { return Registry.register(StrangeRegistries.TRACKER, Id.of(id), new TimestampTracker(id)); } - public static TimestampTracker registerTimestamp(String id, TagKey tag) { + private static TimestampTracker registerTimestamp(String id, TagKey tag) { return Registry.register(StrangeRegistries.TRACKER, Id.of(id), new TimestampTracker(id, tag)); } - public static MapTracker registerMap(String id, String prefix) { + private static MapTracker registerMap(String id, String prefix) { return Registry.register(StrangeRegistries.TRACKER, Id.of(id), new MapTracker(id, prefix)); } - public static MapTracker registerMap(String id, String prefix, TagKey tag) { + private static MapTracker registerMap(String id, String prefix, TagKey tag) { return Registry.register(StrangeRegistries.TRACKER, Id.of(id), new MapTracker(id, prefix, tag)); } - public static MapTracker registerMap(String id, String prefix, TagKey tag, StatFormatter stat_formatter) { + private static MapTracker registerMap(String id, String prefix, TagKey tag, StatFormatter stat_formatter) { return Registry.register(StrangeRegistries.TRACKER, Id.of(id), new MapTracker(id, prefix, tag, stat_formatter)); } diff --git a/src/main/java/embin/strangeitems/util/TrackerUtil.java b/src/main/java/embin/strangeitems/util/StrangeUtil.java similarity index 83% rename from src/main/java/embin/strangeitems/util/TrackerUtil.java rename to src/main/java/embin/strangeitems/util/StrangeUtil.java index 7d1687f..15e0a94 100644 --- a/src/main/java/embin/strangeitems/util/TrackerUtil.java +++ b/src/main/java/embin/strangeitems/util/StrangeUtil.java @@ -3,12 +3,15 @@ import com.mojang.blaze3d.platform.InputConstants; import com.mojang.blaze3d.platform.Window; import embin.strangeitems.StrangeItems; +import embin.strangeitems.StrangeItemsComponents; import embin.strangeitems.StrangeRegistries; import embin.strangeitems.StrangeRegistryKeys; import embin.strangeitems.client.config.StrangeConfig; import embin.strangeitems.mixin.KeyBindAccessor; import embin.strangeitems.tracker.Tracker; import embin.strangeitems.tracker.TrackerTags; +import net.minecraft.core.component.DataComponents; +import net.minecraft.world.item.component.CustomData; import org.jetbrains.annotations.Nullable; import java.util.List; @@ -34,7 +37,9 @@ import net.minecraft.world.item.enchantment.EnchantmentEffectComponents; import net.minecraft.world.item.enchantment.EnchantmentHelper; -public class TrackerUtil { +public class StrangeUtil { + public static final String COLLECTORS_ITEM_TAG = Id.of("collectors_item").toString(); + public static final String HAS_ALL_TRACKERS_TAG = Id.of("has_all_trackers").toString(); /** * Gets the keys from an NBT Compound, sorted from the highest to lowest value. @@ -124,7 +129,7 @@ public static void addAllTrackerTooltips(Item.TooltipContext context, Consumer entryList = getTooltipOrder(context.registries(), StrangeRegistryKeys.TRACKER, TrackerTags.TOOLTIP_ORDER); for (Holder registryEntry : entryList) { - if (StrangeConfig.HIDDEN_TRACKERS.shouldShowForItem(stack.getItemHolder(), registryEntry)) { + if (StrangeConfig.HIDDEN_TRACKERS.shouldShowForItem(BuiltInRegistries.ITEM.wrapAsHolder(stack.getItem()), registryEntry)) { registryEntry.value().appendTooltip(stack, textConsumer); } } @@ -147,4 +152,18 @@ public static HolderSet getTooltipOrder(@Nullable HolderLookup.Provider } return HolderSet.direct(); } + + public static boolean isCollectors(ItemStack itemStack) { + if (itemStack.has(StrangeItemsComponents.COLLECTORS_ITEM)) return true; + if (!itemStack.has(DataComponents.CUSTOM_DATA)) return false; + CustomData data = itemStack.get(DataComponents.CUSTOM_DATA); + return data != null && data.copyTag().getBooleanOr(COLLECTORS_ITEM_TAG, false); + } + + public static boolean hasAllTrackers(ItemStack itemStack) { + if (itemStack.has(StrangeItemsComponents.HAS_ALL_TRACKERS)) return true; + if (!itemStack.has(DataComponents.CUSTOM_DATA)) return false; + CustomData data = itemStack.get(DataComponents.CUSTOM_DATA); + return data != null && data.copyTag().getBooleanOr(HAS_ALL_TRACKERS_TAG, false); + } } diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 15f3b40..9f2eb31 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -27,9 +27,9 @@ "strangeitems.mixins.json" ], "depends": { - "fabricloader": ">=0.17.2", - "minecraft": ">=1.21.11-rc.1", - "java": ">=21", + "fabricloader": ">=0.18.4", + "minecraft": ">=26.1-alpha.10", + "java": ">=25", "fabric-registry-sync-v0": "*" }, "suggests": { diff --git a/src/main/resources/strangeitems.accesswidener b/src/main/resources/strangeitems.accesswidener index 28b3cc9..b32d84a 100644 --- a/src/main/resources/strangeitems.accesswidener +++ b/src/main/resources/strangeitems.accesswidener @@ -1,4 +1,4 @@ -accessWidener v2 named +accessWidener v2 official accessible field net/minecraft/registry/SimpleRegistry frozen Z accessible field net/minecraft/registry/Registries ROOT Lnet/minecraft/registry/MutableRegistry; \ No newline at end of file From 13ee2eebd263cce180f7a46f8be161b6d53e9432 Mon Sep 17 00:00:00 2001 From: Embin <113154360+embinmc@users.noreply.github.com> Date: Fri, 6 Mar 2026 13:06:19 -0800 Subject: [PATCH 04/28] update components --- .../strangeitems/StrangeItemsComponents.java | 1 + .../client/StrangeItemsClient.java | 33 +++++++++++++++---- .../embin/strangeitems/mixin/ItemMixin.java | 20 +++++++++++ 3 files changed, 48 insertions(+), 6 deletions(-) diff --git a/src/main/java/embin/strangeitems/StrangeItemsComponents.java b/src/main/java/embin/strangeitems/StrangeItemsComponents.java index ef9cc64..0a365cb 100644 --- a/src/main/java/embin/strangeitems/StrangeItemsComponents.java +++ b/src/main/java/embin/strangeitems/StrangeItemsComponents.java @@ -26,6 +26,7 @@ public class StrangeItemsComponents { /** * Items with this component will have every registered tracker on them and will increment them accordingly if they're capable of doing so. */ + @Deprecated public static final DataComponentType HAS_ALL_TRACKERS = Registry.register( BuiltInRegistries.DATA_COMPONENT_TYPE, Id.of("strangeitems:has_all_trackers"), diff --git a/src/main/java/embin/strangeitems/client/StrangeItemsClient.java b/src/main/java/embin/strangeitems/client/StrangeItemsClient.java index 73a7247..ce86b36 100644 --- a/src/main/java/embin/strangeitems/client/StrangeItemsClient.java +++ b/src/main/java/embin/strangeitems/client/StrangeItemsClient.java @@ -1,13 +1,22 @@ package embin.strangeitems.client; import com.mojang.blaze3d.platform.InputConstants; +import com.mojang.brigadier.Command; +import embin.strangeitems.StrangeItems; import embin.strangeitems.client.config.StrangeConfig; import embin.strangeitems.client.debug.TrackerListScreen; import embin.strangeitems.util.Id; import net.fabricmc.api.ClientModInitializer; +import net.fabricmc.fabric.api.client.command.v2.ClientCommandRegistrationCallback; +import net.fabricmc.fabric.api.client.command.v2.ClientCommands; +import net.fabricmc.fabric.api.client.command.v2.FabricClientCommandSource; import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents; import net.fabricmc.fabric.api.client.keymapping.v1.KeyMappingHelper; import net.minecraft.client.KeyMapping; +import net.minecraft.core.component.DataComponentMap; +import net.minecraft.core.component.DataComponents; +import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.network.chat.Component; import org.lwjgl.glfw.GLFW; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -34,12 +43,12 @@ private static KeyMapping vanillaKeybind(String translation, int key) { )); } - public static KeyMapping show_tracker_ids = vanillaKeybind("show_tracker_ids", GLFW.GLFW_KEY_COMMA); - public static KeyMapping show_blocks_mined = vanillaKeybind("show_blocks_mined", GLFW.GLFW_KEY_Z); - public static KeyMapping show_times_dropped = vanillaKeybind("show_times_dropped", GLFW.GLFW_KEY_RIGHT_ALT); - public static KeyMapping show_mobs_killed = vanillaKeybind("show_mobs_killed", GLFW.GLFW_KEY_LEFT_ALT); - public static KeyMapping show_time_in_dimensions = vanillaKeybind("show_time_in_dimension", GLFW.GLFW_KEY_GRAVE_ACCENT); - public static KeyMapping SHOW_SHOTS_HIT = vanillaKeybind("show_shots_hit", GLFW.GLFW_KEY_RIGHT_SHIFT); + public static KeyMapping show_tracker_ids = vanillaKeybind("show_tracker_ids", InputConstants.KEY_COMMA); + public static KeyMapping show_blocks_mined = vanillaKeybind("show_blocks_mined", InputConstants.KEY_Z); + public static KeyMapping show_times_dropped = vanillaKeybind("show_times_dropped", InputConstants.KEY_RALT); + public static KeyMapping show_mobs_killed = vanillaKeybind("show_mobs_killed", InputConstants.KEY_LALT); + public static KeyMapping show_time_in_dimensions = vanillaKeybind("show_time_in_dimension", InputConstants.KEY_GRAVE); + public static KeyMapping SHOW_SHOTS_HIT = vanillaKeybind("show_shots_hit", InputConstants.KEY_RSHIFT); public static KeyMapping DEBUG_LIST_TRACKERS = vanillaKeybind("debug_list_trackers", GLFW.GLFW_KEY_KP_DIVIDE); @@ -54,5 +63,17 @@ public void onInitializeClient() { LOGGER.info("Reading config..."); StrangeConfig.readConfig(); + + ClientCommandRegistrationCallback.EVENT.register((commandDispatcher, commandBuildContext) -> { + commandDispatcher.register(ClientCommands.literal("strangeitems:debug_listComponents").executes(context -> { + FabricClientCommandSource source = context.getSource(); + //LOGGER.info(source.getPlayer().getActiveItem().getComponents().toString()); + source.sendFeedback(Component.literal(DataComponentMap.builder().addAll(source.getPlayer().getActiveItem().getComponents().filter(dct -> { + String namespace = BuiltInRegistries.DATA_COMPONENT_TYPE.getKey(dct).getNamespace(); + return namespace.equals(StrangeItems.MOD_ID) || dct == DataComponents.CUSTOM_DATA; + })).build().toString())); + return Command.SINGLE_SUCCESS; + })); + }); } } diff --git a/src/main/java/embin/strangeitems/mixin/ItemMixin.java b/src/main/java/embin/strangeitems/mixin/ItemMixin.java index 37c48c6..10822d4 100644 --- a/src/main/java/embin/strangeitems/mixin/ItemMixin.java +++ b/src/main/java/embin/strangeitems/mixin/ItemMixin.java @@ -1,11 +1,16 @@ package embin.strangeitems.mixin; import com.llamalad7.mixinextras.sugar.Local; +import embin.strangeitems.StrangeItems; import embin.strangeitems.StrangeItemsComponents; import embin.strangeitems.StrangeRegistryKeys; import embin.strangeitems.client.config.StrangeConfig; import embin.strangeitems.tracker.*; import embin.strangeitems.util.StrangeUtil; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.EquipmentSlot; +import net.minecraft.world.item.component.CustomData; +import net.minecraft.world.level.Level; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Overwrite; import org.spongepowered.asm.mixin.injection.At; @@ -109,6 +114,21 @@ public void enchantTooltipMixin(Item.TooltipContext context, TooltipDisplay disp } } + @Inject(at = @At(value = "HEAD"), method = "inventoryTick") + public void fixTick(Level level, Entity owner, EquipmentSlot slot, CallbackInfo ci) { + ItemStack stack = (ItemStack)(Object) this; + if (stack.has(StrangeItemsComponents.COLLECTORS_ITEM)) { + stack.remove(StrangeItemsComponents.COLLECTORS_ITEM); + stack.update(DataComponents.CUSTOM_DATA, CustomData.EMPTY, cd -> cd.update(nbt -> nbt.putBoolean(StrangeUtil.COLLECTORS_ITEM_TAG, true))); + StrangeItems.LOGGER.info("Fixed collector's status of {}", stack); + } + if (stack.has(StrangeItemsComponents.HAS_ALL_TRACKERS)) { + stack.remove(StrangeItemsComponents.HAS_ALL_TRACKERS); + stack.update(DataComponents.CUSTOM_DATA, CustomData.EMPTY, cd -> cd.update(nbt -> nbt.putBoolean(StrangeUtil.HAS_ALL_TRACKERS_TAG, true))); + StrangeItems.LOGGER.info("Fixed collector's status of {}", stack); + } + } + /** * @author Embin * @reason bleh From 9f145fc531e72cb052524197e17a456b5173e0e6 Mon Sep 17 00:00:00 2001 From: Embin <113154360+embinmc@users.noreply.github.com> Date: Fri, 6 Mar 2026 13:08:01 -0800 Subject: [PATCH 05/28] Update build.yml --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b01da52..0a3288a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -12,7 +12,7 @@ jobs: matrix: # Use these Java versions java: [ - 21, # Current Java LTS + 25, # Current Java LTS ] runs-on: ubuntu-22.04 steps: @@ -30,7 +30,7 @@ jobs: - name: build run: ./gradlew build - name: capture build artifacts - if: ${{ matrix.java == '21' }} # Only upload artifacts built from latest java + if: ${{ matrix.java == '25' }} # Only upload artifacts built from latest java uses: actions/upload-artifact@v4 with: name: Artifacts From 9d33880a827f6977dfa710735facfedb4d8e6232 Mon Sep 17 00:00:00 2001 From: Embin <113154360+embinmc@users.noreply.github.com> Date: Fri, 6 Mar 2026 13:48:44 -0800 Subject: [PATCH 06/28] oooptions --- build.gradle | 5 +++ deps/vanillaoptionsapi-1.0.0-sources.jar | Bin 0 -> 20708 bytes deps/vanillaoptionsapi-1.0.0.jar | Bin 0 -> 35733 bytes .../client/StrangeItemsClient.java | 1 + .../strangeitems/client/StrangeOptions.java | 33 ++++++++++++++++++ .../strangeitems/tracker/MapTracker.java | 14 +++----- .../tracker/TimestampTracker.java | 8 ++--- .../assets/strangeitems/lang/en_us.json | 5 ++- 8 files changed, 51 insertions(+), 15 deletions(-) create mode 100644 deps/vanillaoptionsapi-1.0.0-sources.jar create mode 100644 deps/vanillaoptionsapi-1.0.0.jar create mode 100644 src/main/java/embin/strangeitems/client/StrangeOptions.java diff --git a/build.gradle b/build.gradle index ec8c3df..823774e 100644 --- a/build.gradle +++ b/build.gradle @@ -37,6 +37,11 @@ dependencies { api "com.terraformersmc:modmenu:17.0.0-alpha.1" } + api files( + "${rootProject.projectDir}/deps/vanillaoptionsapi-1.0.0.jar", + "${rootProject.projectDir}/deps/vanillaoptionsapi-1.0.0-sources.jar" + ) + implementation 'com.electronwill.night-config:json:3.6.6' } diff --git a/deps/vanillaoptionsapi-1.0.0-sources.jar b/deps/vanillaoptionsapi-1.0.0-sources.jar new file mode 100644 index 0000000000000000000000000000000000000000..0a975a80505d2797e9800b13983110c8eedba196 GIT binary patch literal 20708 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 D8=WL> literal 0 HcmV?d00001 diff --git a/deps/vanillaoptionsapi-1.0.0.jar b/deps/vanillaoptionsapi-1.0.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..d7344567f92281b3bdf4854da2d17a9aefb2d671 GIT binary patch literal 35733 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 MAP_ELEMEMT_LIMIT = new OptionInstance<>( + "options.strangeitems.map_element_limit", OptionInstance.noTooltip(), + (caption, value) -> { + String key = "options.strangeitems.map_element_limit.unlimited"; + Component valStr = (value >= 51 ? Component.translatable(key) : Component.literal(String.valueOf(value))).withStyle(ChatFormatting.YELLOW); + return caption.copy().append(": ").append(valStr); + }, + new OptionInstance.IntRange(3, 51, true), 8, num -> {} + ); + + public static void initalize() { + VanillaOptionsAPI.register(Id.of("map_element_limit"), OptionsMenuLocation.NONE, StrangeOptions::mapElementLimitOption); + } + + public static OptionInstance mapElementLimitOption() { + return StrangeOptions.MAP_ELEMEMT_LIMIT; + } + + public static int mapElementLimit() { + int val = StrangeOptions.MAP_ELEMEMT_LIMIT.get(); + return val >= 51 ? 999_999 : val; + } +} diff --git a/src/main/java/embin/strangeitems/tracker/MapTracker.java b/src/main/java/embin/strangeitems/tracker/MapTracker.java index 284971a..1591615 100644 --- a/src/main/java/embin/strangeitems/tracker/MapTracker.java +++ b/src/main/java/embin/strangeitems/tracker/MapTracker.java @@ -1,6 +1,7 @@ package embin.strangeitems.tracker; import embin.strangeitems.client.StrangeItemsClient; +import embin.strangeitems.client.StrangeOptions; import embin.strangeitems.client.config.StrangeConfig; import embin.strangeitems.util.StrangeUtil; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; @@ -26,13 +27,6 @@ public class MapTracker extends Tracker { public String map_id; public String translation_prefix; - /** - * Maximum number of entries that can be shown for in-depth trackers. - * Ignored if certain conditions are met. - * @see StrangeUtil#isTooltipScrollInstalled() - */ - public int max_maps_shown = 8; - public MapTracker(String id, String translate_prefix, TagKey tag, StatFormatter stat_formatter) { super(id, tag); this.map_id = this.getId().toString() + "_map"; @@ -83,7 +77,7 @@ public void appendTooltipMap(ItemStack stack, Consumer tooltip, Callb CompoundTag nbtCompound = this.getTrackerValueNbt(stack); int index = 1; for (String key : StrangeUtil.getSortedKeys(nbtCompound)) { - if (index <= this.max_maps_shown || StrangeUtil.isTooltipScrollInstalled()) { + if (index <= StrangeOptions.mapElementLimit() || StrangeUtil.isTooltipScrollInstalled()) { String translation_key = Identifier.parse(key).toLanguageKey(this.translation_prefix); Component stat_text = Component.literal(this.getFormattedTrackerValueNbt(stack, key)).withStyle(ChatFormatting.YELLOW); MutableComponent tooltip_text = Component.literal(key); @@ -98,8 +92,8 @@ public void appendTooltipMap(ItemStack stack, Consumer tooltip, Callb } index++; } - if (index > (this.max_maps_shown + 1) && !StrangeUtil.isTooltipScrollInstalled()) { - tooltip.accept(Component.translatable("tooltip.strangeitems.map_cutoff", index - (this.max_maps_shown + 1)).withStyle(ChatFormatting.ITALIC)); + if (index > (StrangeOptions.mapElementLimit() + 1) && !StrangeUtil.isTooltipScrollInstalled()) { + tooltip.accept(Component.translatable("tooltip.strangeitems.map_cutoff", index - (StrangeOptions.mapElementLimit() + 1)).withStyle(ChatFormatting.ITALIC)); } StrangeUtil.addItemIdToTooltip(stack, tooltip, type); ci.cancel(); diff --git a/src/main/java/embin/strangeitems/tracker/TimestampTracker.java b/src/main/java/embin/strangeitems/tracker/TimestampTracker.java index d4c4fbf..42956dd 100644 --- a/src/main/java/embin/strangeitems/tracker/TimestampTracker.java +++ b/src/main/java/embin/strangeitems/tracker/TimestampTracker.java @@ -1,5 +1,6 @@ package embin.strangeitems.tracker; +import embin.strangeitems.client.StrangeOptions; import embin.strangeitems.client.config.StrangeConfig; import embin.strangeitems.util.StrangeUtil; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; @@ -23,7 +24,6 @@ public class TimestampTracker extends Tracker { public String map_id; - public int max_entries_shown = 8; public TimestampTracker(String id) { super(id, TrackerItemTags.CAN_TRACK_STATS); this.map_id = this.getId().toString() + "_map"; @@ -57,7 +57,7 @@ public void append_tooltip_map(ItemStack stack, Consumer tooltip, Cal int size = this.getTrackerValueInt(stack) - 1; for (int i = size; i >= 0; i--) { String key = String.valueOf(i + 1); - if ((size - this.max_entries_shown) <= i || StrangeUtil.isTooltipScrollInstalled()) { + if ((size - StrangeOptions.mapElementLimit()) <= i || StrangeUtil.isTooltipScrollInstalled()) { Component stat_text = Component.translatable("tooltip.strangeitems.unknown_value").withStyle(ChatFormatting.DARK_GRAY); if (this.getTrackerValueNbt(stack).contains(key)) { long tracker_value = this.getTrackerValueNbt(stack).getLong(key).orElse(0L); @@ -69,8 +69,8 @@ public void append_tooltip_map(ItemStack stack, Consumer tooltip, Cal tooltip.accept(Component.literal(" ").append(tooltip_text).append(stat_text)); } } - if (size >= (this.max_entries_shown + 1) && !StrangeUtil.isTooltipScrollInstalled()) { - tooltip.accept(Component.translatable("tooltip.strangeitems.map_cutoff", size - (this.max_entries_shown + 1)).withStyle(ChatFormatting.ITALIC)); + if (size >= (StrangeOptions.mapElementLimit() + 1) && !StrangeUtil.isTooltipScrollInstalled()) { + tooltip.accept(Component.translatable("tooltip.strangeitems.map_cutoff", size - StrangeOptions.mapElementLimit()).withStyle(ChatFormatting.ITALIC)); } StrangeUtil.addItemIdToTooltip(stack, tooltip, type); ci.cancel(); diff --git a/src/main/resources/assets/strangeitems/lang/en_us.json b/src/main/resources/assets/strangeitems/lang/en_us.json index 45f5e93..b63efd5 100644 --- a/src/main/resources/assets/strangeitems/lang/en_us.json +++ b/src/main/resources/assets/strangeitems/lang/en_us.json @@ -67,5 +67,8 @@ "tag.item.strangeitems.trackers.time_in_lava": "Can Track \"Time Spent in Lava\"", "tag.item.strangeitems.trackers.distance_fallen": "Can Track \"Distance Fallen\"", "tag.item.strangeitems.trackers.logs_stripped": "Can Track \"Blocks Stripped\"", - "tag.item.strangeitems.trackers.sheep_sheared": "Can Track \"Sheep Sheared\"" + "tag.item.strangeitems.trackers.sheep_sheared": "Can Track \"Sheep Sheared\"", + + "options.strangeitems.map_element_limit": "Map Tracker Display Limit", + "options.strangeitems.map_element_limit.unlimited": "∞" } \ No newline at end of file From 38a6892528e3ac15cac33fa54d9903525676781c Mon Sep 17 00:00:00 2001 From: Embin <113154360+embinmc@users.noreply.github.com> Date: Fri, 6 Mar 2026 13:59:57 -0800 Subject: [PATCH 07/28] Update StrangeOptions.java --- .../java/embin/strangeitems/client/StrangeOptions.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/main/java/embin/strangeitems/client/StrangeOptions.java b/src/main/java/embin/strangeitems/client/StrangeOptions.java index 5b1d1d1..2e1058f 100644 --- a/src/main/java/embin/strangeitems/client/StrangeOptions.java +++ b/src/main/java/embin/strangeitems/client/StrangeOptions.java @@ -8,14 +8,15 @@ import net.minecraft.network.chat.Component; public class StrangeOptions { + static final int UNLIMITED_POINT = 51; private static final OptionInstance MAP_ELEMEMT_LIMIT = new OptionInstance<>( "options.strangeitems.map_element_limit", OptionInstance.noTooltip(), (caption, value) -> { String key = "options.strangeitems.map_element_limit.unlimited"; - Component valStr = (value >= 51 ? Component.translatable(key) : Component.literal(String.valueOf(value))).withStyle(ChatFormatting.YELLOW); + Component valStr = (value >= UNLIMITED_POINT ? Component.translatable(key) : Component.literal(String.valueOf(value))).withStyle(ChatFormatting.YELLOW); return caption.copy().append(": ").append(valStr); }, - new OptionInstance.IntRange(3, 51, true), 8, num -> {} + new OptionInstance.IntRange(3, UNLIMITED_POINT, true), 8, num -> {} ); public static void initalize() { @@ -28,6 +29,6 @@ public static OptionInstance mapElementLimitOption() { public static int mapElementLimit() { int val = StrangeOptions.MAP_ELEMEMT_LIMIT.get(); - return val >= 51 ? 999_999 : val; + return val >= UNLIMITED_POINT ? 999_999 : val; } } From 0917cf4f9eaf1418c33725626b8331f8ca8e3d1e Mon Sep 17 00:00:00 2001 From: Embin <113154360+embinmc@users.noreply.github.com> Date: Fri, 6 Mar 2026 14:08:15 -0800 Subject: [PATCH 08/28] change package --- gradle.properties | 2 +- .../mod}/strangeitems/ModMenuIntegration.java | 3 +-- .../mod}/strangeitems/SIRegisteredEvents.java | 8 ++++---- .../mod}/strangeitems/StrangeItems.java | 5 ++--- .../strangeitems/StrangeItemsComponents.java | 4 ++-- .../mod}/strangeitems/StrangeRegistries.java | 6 +++--- .../mod}/strangeitems/StrangeRegistryKeys.java | 10 +++++----- .../client/StrangeItemsClient.java | 10 +++++----- .../strangeitems/client/StrangeOptions.java | 4 ++-- .../client/config/ConfigScreen.java | 2 +- .../client/config/HiddenTrackers.java | 6 +++--- .../client/config/StrangeConfig.java | 4 ++-- .../client/debug/TrackerListScreen.java | 2 +- .../client/debug/TrackerListWidget.java | 6 +++--- .../strangeitems/event/ServerPlayerEvents.java | 2 +- .../strangeitems/mixin/AbstractArrowMixin.java | 4 ++-- .../strangeitems/mixin/ArmadilloMixin.java | 4 ++-- .../mod}/strangeitems/mixin/AxeMixin.java | 4 ++-- .../mod}/strangeitems/mixin/BowMixin.java | 4 ++-- .../mod}/strangeitems/mixin/BrushMixin.java | 4 ++-- .../strangeitems/mixin/CollectorsMixin.java | 4 ++-- .../strangeitems/mixin/CrossbowItemMixin.java | 4 ++-- .../strangeitems/mixin/EnchantmentMixin.java | 2 +- .../mixin/EquippableComponentMixin.java | 6 +++--- .../mod}/strangeitems/mixin/ExampleMixin.java | 2 +- .../strangeitems/mixin/FishingBobberMixin.java | 4 ++-- .../strangeitems/mixin/FishingRodMixin.java | 4 ++-- .../strangeitems/mixin/FlintAndSteelMixin.java | 4 ++-- .../mod}/strangeitems/mixin/HoeMixin.java | 4 ++-- .../mod}/strangeitems/mixin/ItemMixin.java | 14 +++++++------- .../strangeitems/mixin/KeyBindAccessor.java | 2 +- .../strangeitems/mixin/LivingEntityMixin.java | 4 ++-- .../mod}/strangeitems/mixin/PlayerMixin.java | 4 ++-- .../strangeitems/mixin/ServerPlayerMixin.java | 5 ++--- .../mod}/strangeitems/mixin/ShearsMixin.java | 4 ++-- .../mod}/strangeitems/mixin/SheepMixin.java | 4 ++-- .../mod}/strangeitems/mixin/ShovelMixin.java | 4 ++-- .../mod}/strangeitems/mixin/TridentMixin.java | 4 ++-- .../mod}/strangeitems/tracker/MapTracker.java | 10 +++++----- .../strangeitems/tracker/TimestampTracker.java | 8 ++++---- .../mod}/strangeitems/tracker/Tracker.java | 12 ++++++------ .../strangeitems/tracker/TrackerItemTags.java | 4 ++-- .../tracker/TrackerKeybindings.java | 6 +++--- .../mod}/strangeitems/tracker/TrackerTags.java | 6 +++--- .../mod}/strangeitems/tracker/Trackers.java | 8 ++++---- .../mod}/strangeitems/util/Id.java | 4 ++-- .../mod}/strangeitems/util/StrangeUtil.java | 18 +++++++++--------- .../assets/strangeitems/lang/en_us.json | 2 +- src/main/resources/fabric.mod.json | 6 +++--- src/main/resources/strangeitems.mixins.json | 2 +- 50 files changed, 128 insertions(+), 131 deletions(-) rename src/main/java/{embin => embinmc/mod}/strangeitems/ModMenuIntegration.java (80%) rename src/main/java/{embin => embinmc/mod}/strangeitems/SIRegisteredEvents.java (93%) rename src/main/java/{embin => embinmc/mod}/strangeitems/StrangeItems.java (88%) rename src/main/java/{embin => embinmc/mod}/strangeitems/StrangeItemsComponents.java (94%) rename src/main/java/{embin => embinmc/mod}/strangeitems/StrangeRegistries.java (82%) rename src/main/java/{embin => embinmc/mod}/strangeitems/StrangeRegistryKeys.java (73%) rename src/main/java/{embin => embinmc/mod}/strangeitems/client/StrangeItemsClient.java (93%) rename src/main/java/{embin => embinmc/mod}/strangeitems/client/StrangeOptions.java (94%) rename src/main/java/{embin => embinmc/mod}/strangeitems/client/config/ConfigScreen.java (98%) rename src/main/java/{embin => embinmc/mod}/strangeitems/client/config/HiddenTrackers.java (93%) rename src/main/java/{embin => embinmc/mod}/strangeitems/client/config/StrangeConfig.java (98%) rename src/main/java/{embin => embinmc/mod}/strangeitems/client/debug/TrackerListScreen.java (94%) rename src/main/java/{embin => embinmc/mod}/strangeitems/client/debug/TrackerListWidget.java (94%) rename src/main/java/{embin => embinmc/mod}/strangeitems/event/ServerPlayerEvents.java (97%) rename src/main/java/{embin => embinmc/mod}/strangeitems/mixin/AbstractArrowMixin.java (92%) rename src/main/java/{embin => embinmc/mod}/strangeitems/mixin/ArmadilloMixin.java (92%) rename src/main/java/{embin => embinmc/mod}/strangeitems/mixin/AxeMixin.java (91%) rename src/main/java/{embin => embinmc/mod}/strangeitems/mixin/BowMixin.java (90%) rename src/main/java/{embin => embinmc/mod}/strangeitems/mixin/BrushMixin.java (90%) rename src/main/java/{embin => embinmc/mod}/strangeitems/mixin/CollectorsMixin.java (92%) rename src/main/java/{embin => embinmc/mod}/strangeitems/mixin/CrossbowItemMixin.java (91%) rename src/main/java/{embin => embinmc/mod}/strangeitems/mixin/EnchantmentMixin.java (95%) rename src/main/java/{embin => embinmc/mod}/strangeitems/mixin/EquippableComponentMixin.java (87%) rename src/main/java/{embin => embinmc/mod}/strangeitems/mixin/ExampleMixin.java (92%) rename src/main/java/{embin => embinmc/mod}/strangeitems/mixin/FishingBobberMixin.java (91%) rename src/main/java/{embin => embinmc/mod}/strangeitems/mixin/FishingRodMixin.java (93%) rename src/main/java/{embin => embinmc/mod}/strangeitems/mixin/FlintAndSteelMixin.java (95%) rename src/main/java/{embin => embinmc/mod}/strangeitems/mixin/HoeMixin.java (91%) rename src/main/java/{embin => embinmc/mod}/strangeitems/mixin/ItemMixin.java (95%) rename src/main/java/{embin => embinmc/mod}/strangeitems/mixin/KeyBindAccessor.java (87%) rename src/main/java/{embin => embinmc/mod}/strangeitems/mixin/LivingEntityMixin.java (94%) rename src/main/java/{embin => embinmc/mod}/strangeitems/mixin/PlayerMixin.java (97%) rename src/main/java/{embin => embinmc/mod}/strangeitems/mixin/ServerPlayerMixin.java (91%) rename src/main/java/{embin => embinmc/mod}/strangeitems/mixin/ShearsMixin.java (94%) rename src/main/java/{embin => embinmc/mod}/strangeitems/mixin/SheepMixin.java (92%) rename src/main/java/{embin => embinmc/mod}/strangeitems/mixin/ShovelMixin.java (93%) rename src/main/java/{embin => embinmc/mod}/strangeitems/mixin/TridentMixin.java (91%) rename src/main/java/{embin => embinmc/mod}/strangeitems/tracker/MapTracker.java (95%) rename src/main/java/{embin => embinmc/mod}/strangeitems/tracker/TimestampTracker.java (96%) rename src/main/java/{embin => embinmc/mod}/strangeitems/tracker/Tracker.java (96%) rename src/main/java/{embin => embinmc/mod}/strangeitems/tracker/TrackerItemTags.java (97%) rename src/main/java/{embin => embinmc/mod}/strangeitems/tracker/TrackerKeybindings.java (94%) rename src/main/java/{embin => embinmc/mod}/strangeitems/tracker/TrackerTags.java (80%) rename src/main/java/{embin => embinmc/mod}/strangeitems/tracker/Trackers.java (96%) rename src/main/java/{embin => embinmc/mod}/strangeitems/util/Id.java (89%) rename src/main/java/{embin => embinmc/mod}/strangeitems/util/StrangeUtil.java (93%) diff --git a/gradle.properties b/gradle.properties index 2f07164..b5eddd3 100644 --- a/gradle.properties +++ b/gradle.properties @@ -10,7 +10,7 @@ loom_version=1.15-SNAPSHOT # Mod Properties mod_version=1.6.0 -maven_group=embin.strangeitems +maven_group=embinmc.mod archives_base_name=strangeitems # Dependencies diff --git a/src/main/java/embin/strangeitems/ModMenuIntegration.java b/src/main/java/embinmc/mod/strangeitems/ModMenuIntegration.java similarity index 80% rename from src/main/java/embin/strangeitems/ModMenuIntegration.java rename to src/main/java/embinmc/mod/strangeitems/ModMenuIntegration.java index 35f5b86..52ba459 100644 --- a/src/main/java/embin/strangeitems/ModMenuIntegration.java +++ b/src/main/java/embinmc/mod/strangeitems/ModMenuIntegration.java @@ -1,8 +1,7 @@ -package embin.strangeitems; +package embinmc.mod.strangeitems; // import com.terraformersmc.modmenu.api.ConfigScreenFactory; // import com.terraformersmc.modmenu.api.ModMenuApi; -import embin.strangeitems.client.config.ConfigScreen; public class ModMenuIntegration /*implements ModMenuApi*/ { // @Override diff --git a/src/main/java/embin/strangeitems/SIRegisteredEvents.java b/src/main/java/embinmc/mod/strangeitems/SIRegisteredEvents.java similarity index 93% rename from src/main/java/embin/strangeitems/SIRegisteredEvents.java rename to src/main/java/embinmc/mod/strangeitems/SIRegisteredEvents.java index 2c95c71..e83b5ad 100644 --- a/src/main/java/embin/strangeitems/SIRegisteredEvents.java +++ b/src/main/java/embinmc/mod/strangeitems/SIRegisteredEvents.java @@ -1,8 +1,8 @@ -package embin.strangeitems; +package embinmc.mod.strangeitems; -import embin.strangeitems.event.ServerPlayerEvents; -import embin.strangeitems.tracker.Trackers; -import embin.strangeitems.util.Id; +import embinmc.mod.strangeitems.event.ServerPlayerEvents; +import embinmc.mod.strangeitems.tracker.Trackers; +import embinmc.mod.strangeitems.util.Id; import net.fabricmc.fabric.api.event.player.PlayerBlockBreakEvents; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.resources.Identifier; diff --git a/src/main/java/embin/strangeitems/StrangeItems.java b/src/main/java/embinmc/mod/strangeitems/StrangeItems.java similarity index 88% rename from src/main/java/embin/strangeitems/StrangeItems.java rename to src/main/java/embinmc/mod/strangeitems/StrangeItems.java index 32b5c97..48e4cae 100644 --- a/src/main/java/embin/strangeitems/StrangeItems.java +++ b/src/main/java/embinmc/mod/strangeitems/StrangeItems.java @@ -1,8 +1,7 @@ -package embin.strangeitems; +package embinmc.mod.strangeitems; -import embin.strangeitems.tracker.Trackers; +import embinmc.mod.strangeitems.tracker.Trackers; import net.fabricmc.api.ModInitializer; -import net.fabricmc.fabric.api.event.lifecycle.v1.*; import net.fabricmc.loader.api.FabricLoader; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/src/main/java/embin/strangeitems/StrangeItemsComponents.java b/src/main/java/embinmc/mod/strangeitems/StrangeItemsComponents.java similarity index 94% rename from src/main/java/embin/strangeitems/StrangeItemsComponents.java rename to src/main/java/embinmc/mod/strangeitems/StrangeItemsComponents.java index 0a365cb..233ece8 100644 --- a/src/main/java/embin/strangeitems/StrangeItemsComponents.java +++ b/src/main/java/embinmc/mod/strangeitems/StrangeItemsComponents.java @@ -1,6 +1,6 @@ -package embin.strangeitems; +package embinmc.mod.strangeitems; -import embin.strangeitems.util.Id; +import embinmc.mod.strangeitems.util.Id; import net.minecraft.core.Registry; import net.minecraft.core.component.DataComponentType; import net.minecraft.core.registries.BuiltInRegistries; diff --git a/src/main/java/embin/strangeitems/StrangeRegistries.java b/src/main/java/embinmc/mod/strangeitems/StrangeRegistries.java similarity index 82% rename from src/main/java/embin/strangeitems/StrangeRegistries.java rename to src/main/java/embinmc/mod/strangeitems/StrangeRegistries.java index 7a2a1c1..b9abea7 100644 --- a/src/main/java/embin/strangeitems/StrangeRegistries.java +++ b/src/main/java/embinmc/mod/strangeitems/StrangeRegistries.java @@ -1,7 +1,7 @@ -package embin.strangeitems; +package embinmc.mod.strangeitems; -import embin.strangeitems.tracker.Tracker; -import embin.strangeitems.tracker.Trackers; +import embinmc.mod.strangeitems.tracker.Tracker; +import embinmc.mod.strangeitems.tracker.Trackers; import net.fabricmc.fabric.api.event.registry.FabricRegistryBuilder; import net.fabricmc.fabric.api.event.registry.RegistryAttribute; import net.minecraft.core.Registry; diff --git a/src/main/java/embin/strangeitems/StrangeRegistryKeys.java b/src/main/java/embinmc/mod/strangeitems/StrangeRegistryKeys.java similarity index 73% rename from src/main/java/embin/strangeitems/StrangeRegistryKeys.java rename to src/main/java/embinmc/mod/strangeitems/StrangeRegistryKeys.java index 222eafe..6d741e0 100644 --- a/src/main/java/embin/strangeitems/StrangeRegistryKeys.java +++ b/src/main/java/embinmc/mod/strangeitems/StrangeRegistryKeys.java @@ -1,9 +1,9 @@ -package embin.strangeitems; +package embinmc.mod.strangeitems; -import embin.strangeitems.tracker.MapTracker; -import embin.strangeitems.tracker.TimestampTracker; -import embin.strangeitems.tracker.Tracker; -import embin.strangeitems.util.Id; +import embinmc.mod.strangeitems.tracker.MapTracker; +import embinmc.mod.strangeitems.tracker.TimestampTracker; +import embinmc.mod.strangeitems.tracker.Tracker; +import embinmc.mod.strangeitems.util.Id; import net.minecraft.core.Registry; import net.minecraft.resources.ResourceKey; diff --git a/src/main/java/embin/strangeitems/client/StrangeItemsClient.java b/src/main/java/embinmc/mod/strangeitems/client/StrangeItemsClient.java similarity index 93% rename from src/main/java/embin/strangeitems/client/StrangeItemsClient.java rename to src/main/java/embinmc/mod/strangeitems/client/StrangeItemsClient.java index d4623e3..6183e2e 100644 --- a/src/main/java/embin/strangeitems/client/StrangeItemsClient.java +++ b/src/main/java/embinmc/mod/strangeitems/client/StrangeItemsClient.java @@ -1,11 +1,11 @@ -package embin.strangeitems.client; +package embinmc.mod.strangeitems.client; import com.mojang.blaze3d.platform.InputConstants; import com.mojang.brigadier.Command; -import embin.strangeitems.StrangeItems; -import embin.strangeitems.client.config.StrangeConfig; -import embin.strangeitems.client.debug.TrackerListScreen; -import embin.strangeitems.util.Id; +import embinmc.mod.strangeitems.StrangeItems; +import embinmc.mod.strangeitems.client.config.StrangeConfig; +import embinmc.mod.strangeitems.client.debug.TrackerListScreen; +import embinmc.mod.strangeitems.util.Id; import net.fabricmc.api.ClientModInitializer; import net.fabricmc.fabric.api.client.command.v2.ClientCommandRegistrationCallback; import net.fabricmc.fabric.api.client.command.v2.ClientCommands; diff --git a/src/main/java/embin/strangeitems/client/StrangeOptions.java b/src/main/java/embinmc/mod/strangeitems/client/StrangeOptions.java similarity index 94% rename from src/main/java/embin/strangeitems/client/StrangeOptions.java rename to src/main/java/embinmc/mod/strangeitems/client/StrangeOptions.java index 2e1058f..7c27f38 100644 --- a/src/main/java/embin/strangeitems/client/StrangeOptions.java +++ b/src/main/java/embinmc/mod/strangeitems/client/StrangeOptions.java @@ -1,6 +1,6 @@ -package embin.strangeitems.client; +package embinmc.mod.strangeitems.client; -import embin.strangeitems.util.Id; +import embinmc.mod.strangeitems.util.Id; import embinmc.mod.optionsapi.OptionsMenuLocation; import embinmc.mod.optionsapi.VanillaOptionsAPI; import net.minecraft.ChatFormatting; diff --git a/src/main/java/embin/strangeitems/client/config/ConfigScreen.java b/src/main/java/embinmc/mod/strangeitems/client/config/ConfigScreen.java similarity index 98% rename from src/main/java/embin/strangeitems/client/config/ConfigScreen.java rename to src/main/java/embinmc/mod/strangeitems/client/config/ConfigScreen.java index f4e4d60..85d35b8 100644 --- a/src/main/java/embin/strangeitems/client/config/ConfigScreen.java +++ b/src/main/java/embinmc/mod/strangeitems/client/config/ConfigScreen.java @@ -1,4 +1,4 @@ -package embin.strangeitems.client.config; +package embinmc.mod.strangeitems.client.config; // import me.shedaniel.clothconfig2.api.ConfigBuilder; // import me.shedaniel.clothconfig2.api.ConfigCategory; diff --git a/src/main/java/embin/strangeitems/client/config/HiddenTrackers.java b/src/main/java/embinmc/mod/strangeitems/client/config/HiddenTrackers.java similarity index 93% rename from src/main/java/embin/strangeitems/client/config/HiddenTrackers.java rename to src/main/java/embinmc/mod/strangeitems/client/config/HiddenTrackers.java index 155c4e8..70606e5 100644 --- a/src/main/java/embin/strangeitems/client/config/HiddenTrackers.java +++ b/src/main/java/embinmc/mod/strangeitems/client/config/HiddenTrackers.java @@ -1,9 +1,9 @@ -package embin.strangeitems.client.config; +package embinmc.mod.strangeitems.client.config; import com.mojang.serialization.Codec; import com.mojang.serialization.codecs.RecordCodecBuilder; -import embin.strangeitems.StrangeRegistries; -import embin.strangeitems.tracker.Tracker; +import embinmc.mod.strangeitems.StrangeRegistries; +import embinmc.mod.strangeitems.tracker.Tracker; import java.util.List; import net.minecraft.core.Holder; import net.minecraft.core.registries.BuiltInRegistries; diff --git a/src/main/java/embin/strangeitems/client/config/StrangeConfig.java b/src/main/java/embinmc/mod/strangeitems/client/config/StrangeConfig.java similarity index 98% rename from src/main/java/embin/strangeitems/client/config/StrangeConfig.java rename to src/main/java/embinmc/mod/strangeitems/client/config/StrangeConfig.java index 98e46cf..0e1d218 100644 --- a/src/main/java/embin/strangeitems/client/config/StrangeConfig.java +++ b/src/main/java/embinmc/mod/strangeitems/client/config/StrangeConfig.java @@ -1,4 +1,4 @@ -package embin.strangeitems.client.config; +package embinmc.mod.strangeitems.client.config; import com.google.gson.*; import com.google.gson.internal.Streams; @@ -6,7 +6,7 @@ import com.google.gson.stream.JsonWriter; import com.mojang.serialization.DataResult; import com.mojang.serialization.JsonOps; -import embin.strangeitems.client.StrangeItemsClient; +import embinmc.mod.strangeitems.client.StrangeItemsClient; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/src/main/java/embin/strangeitems/client/debug/TrackerListScreen.java b/src/main/java/embinmc/mod/strangeitems/client/debug/TrackerListScreen.java similarity index 94% rename from src/main/java/embin/strangeitems/client/debug/TrackerListScreen.java rename to src/main/java/embinmc/mod/strangeitems/client/debug/TrackerListScreen.java index 280590d..85b4ef2 100644 --- a/src/main/java/embin/strangeitems/client/debug/TrackerListScreen.java +++ b/src/main/java/embinmc/mod/strangeitems/client/debug/TrackerListScreen.java @@ -1,4 +1,4 @@ -package embin.strangeitems.client.debug; +package embinmc.mod.strangeitems.client.debug; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.gui.screens.Screen; diff --git a/src/main/java/embin/strangeitems/client/debug/TrackerListWidget.java b/src/main/java/embinmc/mod/strangeitems/client/debug/TrackerListWidget.java similarity index 94% rename from src/main/java/embin/strangeitems/client/debug/TrackerListWidget.java rename to src/main/java/embinmc/mod/strangeitems/client/debug/TrackerListWidget.java index 9de73e3..c4636e9 100644 --- a/src/main/java/embin/strangeitems/client/debug/TrackerListWidget.java +++ b/src/main/java/embinmc/mod/strangeitems/client/debug/TrackerListWidget.java @@ -1,7 +1,7 @@ -package embin.strangeitems.client.debug; +package embinmc.mod.strangeitems.client.debug; -import embin.strangeitems.StrangeRegistries; -import embin.strangeitems.tracker.Tracker; +import embinmc.mod.strangeitems.StrangeRegistries; +import embinmc.mod.strangeitems.tracker.Tracker; import java.util.List; import net.minecraft.ChatFormatting; import net.minecraft.client.Minecraft; diff --git a/src/main/java/embin/strangeitems/event/ServerPlayerEvents.java b/src/main/java/embinmc/mod/strangeitems/event/ServerPlayerEvents.java similarity index 97% rename from src/main/java/embin/strangeitems/event/ServerPlayerEvents.java rename to src/main/java/embinmc/mod/strangeitems/event/ServerPlayerEvents.java index d2d02c2..12d9151 100644 --- a/src/main/java/embin/strangeitems/event/ServerPlayerEvents.java +++ b/src/main/java/embinmc/mod/strangeitems/event/ServerPlayerEvents.java @@ -1,4 +1,4 @@ -package embin.strangeitems.event; +package embinmc.mod.strangeitems.event; import net.fabricmc.fabric.api.event.Event; import net.fabricmc.fabric.api.event.EventFactory; diff --git a/src/main/java/embin/strangeitems/mixin/AbstractArrowMixin.java b/src/main/java/embinmc/mod/strangeitems/mixin/AbstractArrowMixin.java similarity index 92% rename from src/main/java/embin/strangeitems/mixin/AbstractArrowMixin.java rename to src/main/java/embinmc/mod/strangeitems/mixin/AbstractArrowMixin.java index 6f01e65..c6ca8b5 100644 --- a/src/main/java/embin/strangeitems/mixin/AbstractArrowMixin.java +++ b/src/main/java/embinmc/mod/strangeitems/mixin/AbstractArrowMixin.java @@ -1,6 +1,6 @@ -package embin.strangeitems.mixin; +package embinmc.mod.strangeitems.mixin; -import embin.strangeitems.tracker.Trackers; +import embinmc.mod.strangeitems.tracker.Trackers; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.resources.Identifier; import net.minecraft.world.entity.projectile.arrow.AbstractArrow; diff --git a/src/main/java/embin/strangeitems/mixin/ArmadilloMixin.java b/src/main/java/embinmc/mod/strangeitems/mixin/ArmadilloMixin.java similarity index 92% rename from src/main/java/embin/strangeitems/mixin/ArmadilloMixin.java rename to src/main/java/embinmc/mod/strangeitems/mixin/ArmadilloMixin.java index c4bbae3..6e6bba2 100644 --- a/src/main/java/embin/strangeitems/mixin/ArmadilloMixin.java +++ b/src/main/java/embinmc/mod/strangeitems/mixin/ArmadilloMixin.java @@ -1,6 +1,6 @@ -package embin.strangeitems.mixin; +package embinmc.mod.strangeitems.mixin; -import embin.strangeitems.tracker.Trackers; +import embinmc.mod.strangeitems.tracker.Trackers; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.animal.armadillo.Armadillo; diff --git a/src/main/java/embin/strangeitems/mixin/AxeMixin.java b/src/main/java/embinmc/mod/strangeitems/mixin/AxeMixin.java similarity index 91% rename from src/main/java/embin/strangeitems/mixin/AxeMixin.java rename to src/main/java/embinmc/mod/strangeitems/mixin/AxeMixin.java index 65f7996..d680d03 100644 --- a/src/main/java/embin/strangeitems/mixin/AxeMixin.java +++ b/src/main/java/embinmc/mod/strangeitems/mixin/AxeMixin.java @@ -1,6 +1,6 @@ -package embin.strangeitems.mixin; +package embinmc.mod.strangeitems.mixin; -import embin.strangeitems.tracker.Trackers; +import embinmc.mod.strangeitems.tracker.Trackers; import net.minecraft.world.InteractionResult; import net.minecraft.world.item.AxeItem; import net.minecraft.world.item.context.UseOnContext; diff --git a/src/main/java/embin/strangeitems/mixin/BowMixin.java b/src/main/java/embinmc/mod/strangeitems/mixin/BowMixin.java similarity index 90% rename from src/main/java/embin/strangeitems/mixin/BowMixin.java rename to src/main/java/embinmc/mod/strangeitems/mixin/BowMixin.java index 15954d8..228d44b 100644 --- a/src/main/java/embin/strangeitems/mixin/BowMixin.java +++ b/src/main/java/embinmc/mod/strangeitems/mixin/BowMixin.java @@ -1,6 +1,6 @@ -package embin.strangeitems.mixin; +package embinmc.mod.strangeitems.mixin; -import embin.strangeitems.tracker.Trackers; +import embinmc.mod.strangeitems.tracker.Trackers; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.item.BowItem; import net.minecraft.world.item.ItemStack; diff --git a/src/main/java/embin/strangeitems/mixin/BrushMixin.java b/src/main/java/embinmc/mod/strangeitems/mixin/BrushMixin.java similarity index 90% rename from src/main/java/embin/strangeitems/mixin/BrushMixin.java rename to src/main/java/embinmc/mod/strangeitems/mixin/BrushMixin.java index cc789d8..bfa1811 100644 --- a/src/main/java/embin/strangeitems/mixin/BrushMixin.java +++ b/src/main/java/embinmc/mod/strangeitems/mixin/BrushMixin.java @@ -1,6 +1,6 @@ -package embin.strangeitems.mixin; +package embinmc.mod.strangeitems.mixin; -import embin.strangeitems.tracker.Trackers; +import embinmc.mod.strangeitems.tracker.Trackers; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.item.BrushItem; import net.minecraft.world.item.ItemStack; diff --git a/src/main/java/embin/strangeitems/mixin/CollectorsMixin.java b/src/main/java/embinmc/mod/strangeitems/mixin/CollectorsMixin.java similarity index 92% rename from src/main/java/embin/strangeitems/mixin/CollectorsMixin.java rename to src/main/java/embinmc/mod/strangeitems/mixin/CollectorsMixin.java index febfb6f..2bf4948 100644 --- a/src/main/java/embin/strangeitems/mixin/CollectorsMixin.java +++ b/src/main/java/embinmc/mod/strangeitems/mixin/CollectorsMixin.java @@ -1,6 +1,6 @@ -package embin.strangeitems.mixin; +package embinmc.mod.strangeitems.mixin; -import embin.strangeitems.util.StrangeUtil; +import embinmc.mod.strangeitems.util.StrangeUtil; import net.minecraft.ChatFormatting; import net.minecraft.client.gui.Gui; import net.minecraft.client.gui.GuiGraphics; diff --git a/src/main/java/embin/strangeitems/mixin/CrossbowItemMixin.java b/src/main/java/embinmc/mod/strangeitems/mixin/CrossbowItemMixin.java similarity index 91% rename from src/main/java/embin/strangeitems/mixin/CrossbowItemMixin.java rename to src/main/java/embinmc/mod/strangeitems/mixin/CrossbowItemMixin.java index d9291ca..b40cd41 100644 --- a/src/main/java/embin/strangeitems/mixin/CrossbowItemMixin.java +++ b/src/main/java/embinmc/mod/strangeitems/mixin/CrossbowItemMixin.java @@ -1,6 +1,6 @@ -package embin.strangeitems.mixin; +package embinmc.mod.strangeitems.mixin; -import embin.strangeitems.tracker.Trackers; +import embinmc.mod.strangeitems.tracker.Trackers; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.player.Player; diff --git a/src/main/java/embin/strangeitems/mixin/EnchantmentMixin.java b/src/main/java/embinmc/mod/strangeitems/mixin/EnchantmentMixin.java similarity index 95% rename from src/main/java/embin/strangeitems/mixin/EnchantmentMixin.java rename to src/main/java/embinmc/mod/strangeitems/mixin/EnchantmentMixin.java index bc275e3..2ffc094 100644 --- a/src/main/java/embin/strangeitems/mixin/EnchantmentMixin.java +++ b/src/main/java/embinmc/mod/strangeitems/mixin/EnchantmentMixin.java @@ -1,4 +1,4 @@ -package embin.strangeitems.mixin; +package embinmc.mod.strangeitems.mixin; import net.minecraft.core.Holder; import net.minecraft.network.chat.Component; diff --git a/src/main/java/embin/strangeitems/mixin/EquippableComponentMixin.java b/src/main/java/embinmc/mod/strangeitems/mixin/EquippableComponentMixin.java similarity index 87% rename from src/main/java/embin/strangeitems/mixin/EquippableComponentMixin.java rename to src/main/java/embinmc/mod/strangeitems/mixin/EquippableComponentMixin.java index d019b37..9158f27 100644 --- a/src/main/java/embin/strangeitems/mixin/EquippableComponentMixin.java +++ b/src/main/java/embinmc/mod/strangeitems/mixin/EquippableComponentMixin.java @@ -1,7 +1,7 @@ -package embin.strangeitems.mixin; +package embinmc.mod.strangeitems.mixin; -import embin.strangeitems.tracker.Trackers; -import embin.strangeitems.util.StrangeUtil; +import embinmc.mod.strangeitems.tracker.Trackers; +import embinmc.mod.strangeitems.util.StrangeUtil; import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; diff --git a/src/main/java/embin/strangeitems/mixin/ExampleMixin.java b/src/main/java/embinmc/mod/strangeitems/mixin/ExampleMixin.java similarity index 92% rename from src/main/java/embin/strangeitems/mixin/ExampleMixin.java rename to src/main/java/embinmc/mod/strangeitems/mixin/ExampleMixin.java index c9bdc19..d699577 100644 --- a/src/main/java/embin/strangeitems/mixin/ExampleMixin.java +++ b/src/main/java/embinmc/mod/strangeitems/mixin/ExampleMixin.java @@ -1,4 +1,4 @@ -package embin.strangeitems.mixin; +package embinmc.mod.strangeitems.mixin; import net.minecraft.core.BlockPos; import net.minecraft.world.level.Level; diff --git a/src/main/java/embin/strangeitems/mixin/FishingBobberMixin.java b/src/main/java/embinmc/mod/strangeitems/mixin/FishingBobberMixin.java similarity index 91% rename from src/main/java/embin/strangeitems/mixin/FishingBobberMixin.java rename to src/main/java/embinmc/mod/strangeitems/mixin/FishingBobberMixin.java index c61b619..67dfcaf 100644 --- a/src/main/java/embin/strangeitems/mixin/FishingBobberMixin.java +++ b/src/main/java/embinmc/mod/strangeitems/mixin/FishingBobberMixin.java @@ -1,6 +1,6 @@ -package embin.strangeitems.mixin; +package embinmc.mod.strangeitems.mixin; -import embin.strangeitems.tracker.Trackers; +import embinmc.mod.strangeitems.tracker.Trackers; import net.minecraft.world.entity.projectile.FishingHook; import net.minecraft.world.item.ItemStack; import org.spongepowered.asm.mixin.Mixin; diff --git a/src/main/java/embin/strangeitems/mixin/FishingRodMixin.java b/src/main/java/embinmc/mod/strangeitems/mixin/FishingRodMixin.java similarity index 93% rename from src/main/java/embin/strangeitems/mixin/FishingRodMixin.java rename to src/main/java/embinmc/mod/strangeitems/mixin/FishingRodMixin.java index 51775f5..2897cca 100644 --- a/src/main/java/embin/strangeitems/mixin/FishingRodMixin.java +++ b/src/main/java/embinmc/mod/strangeitems/mixin/FishingRodMixin.java @@ -1,6 +1,6 @@ -package embin.strangeitems.mixin; +package embinmc.mod.strangeitems.mixin; -import embin.strangeitems.tracker.Trackers; +import embinmc.mod.strangeitems.tracker.Trackers; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.player.Player; diff --git a/src/main/java/embin/strangeitems/mixin/FlintAndSteelMixin.java b/src/main/java/embinmc/mod/strangeitems/mixin/FlintAndSteelMixin.java similarity index 95% rename from src/main/java/embin/strangeitems/mixin/FlintAndSteelMixin.java rename to src/main/java/embinmc/mod/strangeitems/mixin/FlintAndSteelMixin.java index 206decb..2b6ea3a 100644 --- a/src/main/java/embin/strangeitems/mixin/FlintAndSteelMixin.java +++ b/src/main/java/embinmc/mod/strangeitems/mixin/FlintAndSteelMixin.java @@ -1,6 +1,6 @@ -package embin.strangeitems.mixin; +package embinmc.mod.strangeitems.mixin; -import embin.strangeitems.tracker.Trackers; +import embinmc.mod.strangeitems.tracker.Trackers; import net.minecraft.core.BlockPos; import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.player.Player; diff --git a/src/main/java/embin/strangeitems/mixin/HoeMixin.java b/src/main/java/embinmc/mod/strangeitems/mixin/HoeMixin.java similarity index 91% rename from src/main/java/embin/strangeitems/mixin/HoeMixin.java rename to src/main/java/embinmc/mod/strangeitems/mixin/HoeMixin.java index ac6b491..b7b80d2 100644 --- a/src/main/java/embin/strangeitems/mixin/HoeMixin.java +++ b/src/main/java/embinmc/mod/strangeitems/mixin/HoeMixin.java @@ -1,6 +1,6 @@ -package embin.strangeitems.mixin; +package embinmc.mod.strangeitems.mixin; -import embin.strangeitems.tracker.Trackers; +import embinmc.mod.strangeitems.tracker.Trackers; import net.minecraft.world.InteractionResult; import net.minecraft.world.item.HoeItem; import net.minecraft.world.item.context.UseOnContext; diff --git a/src/main/java/embin/strangeitems/mixin/ItemMixin.java b/src/main/java/embinmc/mod/strangeitems/mixin/ItemMixin.java similarity index 95% rename from src/main/java/embin/strangeitems/mixin/ItemMixin.java rename to src/main/java/embinmc/mod/strangeitems/mixin/ItemMixin.java index 10822d4..477cbdd 100644 --- a/src/main/java/embin/strangeitems/mixin/ItemMixin.java +++ b/src/main/java/embinmc/mod/strangeitems/mixin/ItemMixin.java @@ -1,12 +1,12 @@ -package embin.strangeitems.mixin; +package embinmc.mod.strangeitems.mixin; import com.llamalad7.mixinextras.sugar.Local; -import embin.strangeitems.StrangeItems; -import embin.strangeitems.StrangeItemsComponents; -import embin.strangeitems.StrangeRegistryKeys; -import embin.strangeitems.client.config.StrangeConfig; -import embin.strangeitems.tracker.*; -import embin.strangeitems.util.StrangeUtil; +import embinmc.mod.strangeitems.StrangeItems; +import embinmc.mod.strangeitems.StrangeItemsComponents; +import embinmc.mod.strangeitems.StrangeRegistryKeys; +import embinmc.mod.strangeitems.client.config.StrangeConfig; +import embinmc.mod.strangeitems.tracker.*; +import embinmc.mod.strangeitems.util.StrangeUtil; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.item.component.CustomData; diff --git a/src/main/java/embin/strangeitems/mixin/KeyBindAccessor.java b/src/main/java/embinmc/mod/strangeitems/mixin/KeyBindAccessor.java similarity index 87% rename from src/main/java/embin/strangeitems/mixin/KeyBindAccessor.java rename to src/main/java/embinmc/mod/strangeitems/mixin/KeyBindAccessor.java index 61fb733..502b41e 100644 --- a/src/main/java/embin/strangeitems/mixin/KeyBindAccessor.java +++ b/src/main/java/embinmc/mod/strangeitems/mixin/KeyBindAccessor.java @@ -1,4 +1,4 @@ -package embin.strangeitems.mixin; +package embinmc.mod.strangeitems.mixin; import com.mojang.blaze3d.platform.InputConstants; import net.minecraft.client.KeyMapping; diff --git a/src/main/java/embin/strangeitems/mixin/LivingEntityMixin.java b/src/main/java/embinmc/mod/strangeitems/mixin/LivingEntityMixin.java similarity index 94% rename from src/main/java/embin/strangeitems/mixin/LivingEntityMixin.java rename to src/main/java/embinmc/mod/strangeitems/mixin/LivingEntityMixin.java index b515959..090b1cc 100644 --- a/src/main/java/embin/strangeitems/mixin/LivingEntityMixin.java +++ b/src/main/java/embinmc/mod/strangeitems/mixin/LivingEntityMixin.java @@ -1,6 +1,6 @@ -package embin.strangeitems.mixin; +package embinmc.mod.strangeitems.mixin; -import embin.strangeitems.tracker.Trackers; +import embinmc.mod.strangeitems.tracker.Trackers; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; diff --git a/src/main/java/embin/strangeitems/mixin/PlayerMixin.java b/src/main/java/embinmc/mod/strangeitems/mixin/PlayerMixin.java similarity index 97% rename from src/main/java/embin/strangeitems/mixin/PlayerMixin.java rename to src/main/java/embinmc/mod/strangeitems/mixin/PlayerMixin.java index 87950ca..e59ee67 100644 --- a/src/main/java/embin/strangeitems/mixin/PlayerMixin.java +++ b/src/main/java/embinmc/mod/strangeitems/mixin/PlayerMixin.java @@ -1,7 +1,7 @@ -package embin.strangeitems.mixin; +package embinmc.mod.strangeitems.mixin; import com.llamalad7.mixinextras.sugar.Local; -import embin.strangeitems.tracker.Trackers; +import embinmc.mod.strangeitems.tracker.Trackers; import net.minecraft.util.Mth; import org.jetbrains.annotations.NotNull; import org.spongepowered.asm.mixin.Mixin; diff --git a/src/main/java/embin/strangeitems/mixin/ServerPlayerMixin.java b/src/main/java/embinmc/mod/strangeitems/mixin/ServerPlayerMixin.java similarity index 91% rename from src/main/java/embin/strangeitems/mixin/ServerPlayerMixin.java rename to src/main/java/embinmc/mod/strangeitems/mixin/ServerPlayerMixin.java index f863765..3d0986b 100644 --- a/src/main/java/embin/strangeitems/mixin/ServerPlayerMixin.java +++ b/src/main/java/embinmc/mod/strangeitems/mixin/ServerPlayerMixin.java @@ -1,7 +1,6 @@ -package embin.strangeitems.mixin; +package embinmc.mod.strangeitems.mixin; -import embin.strangeitems.event.ServerPlayerEvents; -import embin.strangeitems.tracker.Trackers; +import embinmc.mod.strangeitems.event.ServerPlayerEvents; import net.minecraft.server.level.ServerPlayer; import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.item.ItemEntity; diff --git a/src/main/java/embin/strangeitems/mixin/ShearsMixin.java b/src/main/java/embinmc/mod/strangeitems/mixin/ShearsMixin.java similarity index 94% rename from src/main/java/embin/strangeitems/mixin/ShearsMixin.java rename to src/main/java/embinmc/mod/strangeitems/mixin/ShearsMixin.java index 32c1d7e..b40079d 100644 --- a/src/main/java/embin/strangeitems/mixin/ShearsMixin.java +++ b/src/main/java/embinmc/mod/strangeitems/mixin/ShearsMixin.java @@ -1,6 +1,6 @@ -package embin.strangeitems.mixin; +package embinmc.mod.strangeitems.mixin; -import embin.strangeitems.tracker.Trackers; +import embinmc.mod.strangeitems.tracker.Trackers; import net.minecraft.core.BlockPos; import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.player.Player; diff --git a/src/main/java/embin/strangeitems/mixin/SheepMixin.java b/src/main/java/embinmc/mod/strangeitems/mixin/SheepMixin.java similarity index 92% rename from src/main/java/embin/strangeitems/mixin/SheepMixin.java rename to src/main/java/embinmc/mod/strangeitems/mixin/SheepMixin.java index 5ba3929..9fbefa7 100644 --- a/src/main/java/embin/strangeitems/mixin/SheepMixin.java +++ b/src/main/java/embinmc/mod/strangeitems/mixin/SheepMixin.java @@ -1,6 +1,6 @@ -package embin.strangeitems.mixin; +package embinmc.mod.strangeitems.mixin; -import embin.strangeitems.tracker.Trackers; +import embinmc.mod.strangeitems.tracker.Trackers; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.animal.sheep.Sheep; diff --git a/src/main/java/embin/strangeitems/mixin/ShovelMixin.java b/src/main/java/embinmc/mod/strangeitems/mixin/ShovelMixin.java similarity index 93% rename from src/main/java/embin/strangeitems/mixin/ShovelMixin.java rename to src/main/java/embinmc/mod/strangeitems/mixin/ShovelMixin.java index b3356c4..347d720 100644 --- a/src/main/java/embin/strangeitems/mixin/ShovelMixin.java +++ b/src/main/java/embinmc/mod/strangeitems/mixin/ShovelMixin.java @@ -1,6 +1,6 @@ -package embin.strangeitems.mixin; +package embinmc.mod.strangeitems.mixin; -import embin.strangeitems.tracker.Trackers; +import embinmc.mod.strangeitems.tracker.Trackers; import net.minecraft.world.InteractionResult; import net.minecraft.world.item.ShovelItem; import net.minecraft.world.item.context.UseOnContext; diff --git a/src/main/java/embin/strangeitems/mixin/TridentMixin.java b/src/main/java/embinmc/mod/strangeitems/mixin/TridentMixin.java similarity index 91% rename from src/main/java/embin/strangeitems/mixin/TridentMixin.java rename to src/main/java/embinmc/mod/strangeitems/mixin/TridentMixin.java index b17c296..1735605 100644 --- a/src/main/java/embin/strangeitems/mixin/TridentMixin.java +++ b/src/main/java/embinmc/mod/strangeitems/mixin/TridentMixin.java @@ -1,6 +1,6 @@ -package embin.strangeitems.mixin; +package embinmc.mod.strangeitems.mixin; -import embin.strangeitems.tracker.Trackers; +import embinmc.mod.strangeitems.tracker.Trackers; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.TridentItem; diff --git a/src/main/java/embin/strangeitems/tracker/MapTracker.java b/src/main/java/embinmc/mod/strangeitems/tracker/MapTracker.java similarity index 95% rename from src/main/java/embin/strangeitems/tracker/MapTracker.java rename to src/main/java/embinmc/mod/strangeitems/tracker/MapTracker.java index 1591615..dcab5a5 100644 --- a/src/main/java/embin/strangeitems/tracker/MapTracker.java +++ b/src/main/java/embinmc/mod/strangeitems/tracker/MapTracker.java @@ -1,9 +1,9 @@ -package embin.strangeitems.tracker; +package embinmc.mod.strangeitems.tracker; -import embin.strangeitems.client.StrangeItemsClient; -import embin.strangeitems.client.StrangeOptions; -import embin.strangeitems.client.config.StrangeConfig; -import embin.strangeitems.util.StrangeUtil; +import embinmc.mod.strangeitems.client.StrangeItemsClient; +import embinmc.mod.strangeitems.client.StrangeOptions; +import embinmc.mod.strangeitems.client.config.StrangeConfig; +import embinmc.mod.strangeitems.util.StrangeUtil; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; import java.util.function.Consumer; diff --git a/src/main/java/embin/strangeitems/tracker/TimestampTracker.java b/src/main/java/embinmc/mod/strangeitems/tracker/TimestampTracker.java similarity index 96% rename from src/main/java/embin/strangeitems/tracker/TimestampTracker.java rename to src/main/java/embinmc/mod/strangeitems/tracker/TimestampTracker.java index 42956dd..f7eeef8 100644 --- a/src/main/java/embin/strangeitems/tracker/TimestampTracker.java +++ b/src/main/java/embinmc/mod/strangeitems/tracker/TimestampTracker.java @@ -1,8 +1,8 @@ -package embin.strangeitems.tracker; +package embinmc.mod.strangeitems.tracker; -import embin.strangeitems.client.StrangeOptions; -import embin.strangeitems.client.config.StrangeConfig; -import embin.strangeitems.util.StrangeUtil; +import embinmc.mod.strangeitems.client.StrangeOptions; +import embinmc.mod.strangeitems.client.config.StrangeConfig; +import embinmc.mod.strangeitems.util.StrangeUtil; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; import java.text.SimpleDateFormat; diff --git a/src/main/java/embin/strangeitems/tracker/Tracker.java b/src/main/java/embinmc/mod/strangeitems/tracker/Tracker.java similarity index 96% rename from src/main/java/embin/strangeitems/tracker/Tracker.java rename to src/main/java/embinmc/mod/strangeitems/tracker/Tracker.java index 636dbdd..be114cc 100644 --- a/src/main/java/embin/strangeitems/tracker/Tracker.java +++ b/src/main/java/embinmc/mod/strangeitems/tracker/Tracker.java @@ -1,10 +1,10 @@ -package embin.strangeitems.tracker; +package embinmc.mod.strangeitems.tracker; -import embin.strangeitems.StrangeItemsComponents; -import embin.strangeitems.StrangeRegistries; -import embin.strangeitems.client.StrangeItemsClient; -import embin.strangeitems.util.Id; -import embin.strangeitems.util.StrangeUtil; +import embinmc.mod.strangeitems.StrangeItemsComponents; +import embinmc.mod.strangeitems.StrangeRegistries; +import embinmc.mod.strangeitems.client.StrangeItemsClient; +import embinmc.mod.strangeitems.util.Id; +import embinmc.mod.strangeitems.util.StrangeUtil; import net.minecraft.ChatFormatting; import net.minecraft.core.component.DataComponentType; import net.minecraft.core.component.DataComponents; diff --git a/src/main/java/embin/strangeitems/tracker/TrackerItemTags.java b/src/main/java/embinmc/mod/strangeitems/tracker/TrackerItemTags.java similarity index 97% rename from src/main/java/embin/strangeitems/tracker/TrackerItemTags.java rename to src/main/java/embinmc/mod/strangeitems/tracker/TrackerItemTags.java index 4410c9d..393a176 100644 --- a/src/main/java/embin/strangeitems/tracker/TrackerItemTags.java +++ b/src/main/java/embinmc/mod/strangeitems/tracker/TrackerItemTags.java @@ -1,6 +1,6 @@ -package embin.strangeitems.tracker; +package embinmc.mod.strangeitems.tracker; -import embin.strangeitems.util.Id; +import embinmc.mod.strangeitems.util.Id; import net.minecraft.core.registries.Registries; import net.minecraft.tags.TagKey; import net.minecraft.world.item.Item; diff --git a/src/main/java/embin/strangeitems/tracker/TrackerKeybindings.java b/src/main/java/embinmc/mod/strangeitems/tracker/TrackerKeybindings.java similarity index 94% rename from src/main/java/embin/strangeitems/tracker/TrackerKeybindings.java rename to src/main/java/embinmc/mod/strangeitems/tracker/TrackerKeybindings.java index 50896d4..bf1b6e5 100644 --- a/src/main/java/embin/strangeitems/tracker/TrackerKeybindings.java +++ b/src/main/java/embinmc/mod/strangeitems/tracker/TrackerKeybindings.java @@ -1,8 +1,8 @@ -package embin.strangeitems.tracker; +package embinmc.mod.strangeitems.tracker; import com.mojang.blaze3d.platform.InputConstants; -import embin.strangeitems.StrangeItems; -import embin.strangeitems.client.StrangeItemsClient; +import embinmc.mod.strangeitems.StrangeItems; +import embinmc.mod.strangeitems.client.StrangeItemsClient; import net.minecraft.client.KeyMapping; import net.minecraft.util.Util; import org.lwjgl.glfw.GLFW; diff --git a/src/main/java/embin/strangeitems/tracker/TrackerTags.java b/src/main/java/embinmc/mod/strangeitems/tracker/TrackerTags.java similarity index 80% rename from src/main/java/embin/strangeitems/tracker/TrackerTags.java rename to src/main/java/embinmc/mod/strangeitems/tracker/TrackerTags.java index 80daeea..c1fb4ca 100644 --- a/src/main/java/embin/strangeitems/tracker/TrackerTags.java +++ b/src/main/java/embinmc/mod/strangeitems/tracker/TrackerTags.java @@ -1,7 +1,7 @@ -package embin.strangeitems.tracker; +package embinmc.mod.strangeitems.tracker; -import embin.strangeitems.StrangeRegistryKeys; -import embin.strangeitems.util.Id; +import embinmc.mod.strangeitems.StrangeRegistryKeys; +import embinmc.mod.strangeitems.util.Id; import net.minecraft.tags.TagKey; public class TrackerTags { diff --git a/src/main/java/embin/strangeitems/tracker/Trackers.java b/src/main/java/embinmc/mod/strangeitems/tracker/Trackers.java similarity index 96% rename from src/main/java/embin/strangeitems/tracker/Trackers.java rename to src/main/java/embinmc/mod/strangeitems/tracker/Trackers.java index e302c22..2f5577d 100644 --- a/src/main/java/embin/strangeitems/tracker/Trackers.java +++ b/src/main/java/embinmc/mod/strangeitems/tracker/Trackers.java @@ -1,8 +1,8 @@ -package embin.strangeitems.tracker; +package embinmc.mod.strangeitems.tracker; -import embin.strangeitems.StrangeItems; -import embin.strangeitems.StrangeRegistries; -import embin.strangeitems.util.Id; +import embinmc.mod.strangeitems.StrangeItems; +import embinmc.mod.strangeitems.StrangeRegistries; +import embinmc.mod.strangeitems.util.Id; import net.minecraft.core.Registry; import net.minecraft.stats.StatFormatter; import net.minecraft.tags.TagKey; diff --git a/src/main/java/embin/strangeitems/util/Id.java b/src/main/java/embinmc/mod/strangeitems/util/Id.java similarity index 89% rename from src/main/java/embin/strangeitems/util/Id.java rename to src/main/java/embinmc/mod/strangeitems/util/Id.java index 4f8e98b..7a85f0f 100644 --- a/src/main/java/embin/strangeitems/util/Id.java +++ b/src/main/java/embinmc/mod/strangeitems/util/Id.java @@ -1,6 +1,6 @@ -package embin.strangeitems.util; +package embinmc.mod.strangeitems.util; -import embin.strangeitems.StrangeItems; +import embinmc.mod.strangeitems.StrangeItems; import net.minecraft.resources.Identifier; public class Id { diff --git a/src/main/java/embin/strangeitems/util/StrangeUtil.java b/src/main/java/embinmc/mod/strangeitems/util/StrangeUtil.java similarity index 93% rename from src/main/java/embin/strangeitems/util/StrangeUtil.java rename to src/main/java/embinmc/mod/strangeitems/util/StrangeUtil.java index 15e0a94..a69d05e 100644 --- a/src/main/java/embin/strangeitems/util/StrangeUtil.java +++ b/src/main/java/embinmc/mod/strangeitems/util/StrangeUtil.java @@ -1,15 +1,15 @@ -package embin.strangeitems.util; +package embinmc.mod.strangeitems.util; import com.mojang.blaze3d.platform.InputConstants; import com.mojang.blaze3d.platform.Window; -import embin.strangeitems.StrangeItems; -import embin.strangeitems.StrangeItemsComponents; -import embin.strangeitems.StrangeRegistries; -import embin.strangeitems.StrangeRegistryKeys; -import embin.strangeitems.client.config.StrangeConfig; -import embin.strangeitems.mixin.KeyBindAccessor; -import embin.strangeitems.tracker.Tracker; -import embin.strangeitems.tracker.TrackerTags; +import embinmc.mod.strangeitems.StrangeItems; +import embinmc.mod.strangeitems.StrangeItemsComponents; +import embinmc.mod.strangeitems.StrangeRegistries; +import embinmc.mod.strangeitems.StrangeRegistryKeys; +import embinmc.mod.strangeitems.client.config.StrangeConfig; +import embinmc.mod.strangeitems.mixin.KeyBindAccessor; +import embinmc.mod.strangeitems.tracker.Tracker; +import embinmc.mod.strangeitems.tracker.TrackerTags; import net.minecraft.core.component.DataComponents; import net.minecraft.world.item.component.CustomData; import org.jetbrains.annotations.Nullable; diff --git a/src/main/resources/assets/strangeitems/lang/en_us.json b/src/main/resources/assets/strangeitems/lang/en_us.json index b63efd5..c35fa45 100644 --- a/src/main/resources/assets/strangeitems/lang/en_us.json +++ b/src/main/resources/assets/strangeitems/lang/en_us.json @@ -69,6 +69,6 @@ "tag.item.strangeitems.trackers.logs_stripped": "Can Track \"Blocks Stripped\"", "tag.item.strangeitems.trackers.sheep_sheared": "Can Track \"Sheep Sheared\"", - "options.strangeitems.map_element_limit": "Map Tracker Display Limit", + "options.strangeitems.map_element_limit": "Tracker Element Limit", "options.strangeitems.map_element_limit.unlimited": "∞" } \ No newline at end of file diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 9f2eb31..fa2d183 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -18,9 +18,9 @@ "icon": "assets/strangeitems/icon.png", "environment": "*", "entrypoints": { - "main": ["embin.strangeitems.StrangeItems"], - "client": ["embin.strangeitems.client.StrangeItemsClient"], - "modmenu": ["embin.strangeitems.ModMenuIntegration"] + "main": ["embinmc.mod.strangeitems.StrangeItems"], + "client": ["embinmc.mod.strangeitems.client.StrangeItemsClient"], + "modmenu": ["embinmc.mod.strangeitems.ModMenuIntegration"] }, "accessWidener": "strangeitems.accesswidener", "mixins": [ diff --git a/src/main/resources/strangeitems.mixins.json b/src/main/resources/strangeitems.mixins.json index b075de5..c206a8c 100644 --- a/src/main/resources/strangeitems.mixins.json +++ b/src/main/resources/strangeitems.mixins.json @@ -1,6 +1,6 @@ { "required": true, - "package": "embin.strangeitems.mixin", + "package": "embinmc.mod.strangeitems.mixin", "compatibilityLevel": "JAVA_21", "mixins": [ "AbstractArrowMixin", From a1ade12bbb0aab95ec5e19d3c4cfcaf0b28840db Mon Sep 17 00:00:00 2001 From: Embin <113154360+embinmc@users.noreply.github.com> Date: Fri, 6 Mar 2026 16:51:38 -0800 Subject: [PATCH 09/28] blah --- .../strangeitems/client/StrangeOptions.java | 18 +++++++++++++++++- .../recipe/collectors_dragon_egg.json | 12 ------------ .../strangeitems/recipe/collectors_saddle.json | 18 +++++------------- 3 files changed, 22 insertions(+), 26 deletions(-) delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_dragon_egg.json diff --git a/src/main/java/embinmc/mod/strangeitems/client/StrangeOptions.java b/src/main/java/embinmc/mod/strangeitems/client/StrangeOptions.java index 7c27f38..ff1f14b 100644 --- a/src/main/java/embinmc/mod/strangeitems/client/StrangeOptions.java +++ b/src/main/java/embinmc/mod/strangeitems/client/StrangeOptions.java @@ -7,6 +7,8 @@ import net.minecraft.client.OptionInstance; import net.minecraft.network.chat.Component; +import java.util.function.Supplier; + public class StrangeOptions { static final int UNLIMITED_POINT = 51; private static final OptionInstance MAP_ELEMEMT_LIMIT = new OptionInstance<>( @@ -18,9 +20,15 @@ public class StrangeOptions { }, new OptionInstance.IntRange(3, UNLIMITED_POINT, true), 8, num -> {} ); + private static final OptionInstance SHOW_TRACKERS_IN_TOOLTIP = OptionInstance.createBoolean("options.strangeitems.show_trackers_in_tooltip", true); + + private static void register(String id, Supplier> supplier) { + VanillaOptionsAPI.register(Id.of(id), OptionsMenuLocation.NONE, supplier); + } public static void initalize() { - VanillaOptionsAPI.register(Id.of("map_element_limit"), OptionsMenuLocation.NONE, StrangeOptions::mapElementLimitOption); + register("map_element_limit", StrangeOptions::mapElementLimitOption); + register("show_trackers_in_tooltip", StrangeOptions::showTrackersInTooltipOption); } public static OptionInstance mapElementLimitOption() { @@ -31,4 +39,12 @@ public static int mapElementLimit() { int val = StrangeOptions.MAP_ELEMEMT_LIMIT.get(); return val >= UNLIMITED_POINT ? 999_999 : val; } + + public static OptionInstance showTrackersInTooltipOption() { + return StrangeOptions.SHOW_TRACKERS_IN_TOOLTIP; + } + + public static boolean showTrackersInTooltip() { + return StrangeOptions.SHOW_TRACKERS_IN_TOOLTIP.get(); + } } diff --git a/src/main/resources/data/strangeitems/recipe/collectors_dragon_egg.json b/src/main/resources/data/strangeitems/recipe/collectors_dragon_egg.json deleted file mode 100644 index ffbe9c4..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_dragon_egg.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:dragon_egg", - "addition": "minecraft:dragon_egg", - "result": { - "id": "minecraft:dragon_egg", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_saddle.json b/src/main/resources/data/strangeitems/recipe/collectors_saddle.json index 8389b4f..441ec9a 100644 --- a/src/main/resources/data/strangeitems/recipe/collectors_saddle.json +++ b/src/main/resources/data/strangeitems/recipe/collectors_saddle.json @@ -1,20 +1,12 @@ { - "type": "minecraft:crafting_shaped", - "category": "misc", - "pattern": [ - "sss", - "ses", - "sss" - ], - "key": { - "s": "minecraft:saddle", - "e": "minecraft:echo_shard" - }, + "type": "smithing_transform", + "template": "minecraft:echo_shard", + "base": "minecraft:saddle", + "addition": "minecraft:saddle", "result": { "id": "minecraft:saddle", - "count": 1, "components": { "strangeitems:collectors_item": {} } } -} +} \ No newline at end of file From 26e985f9305b9da74f0e061a7e26b588e315ab25 Mon Sep 17 00:00:00 2001 From: Embin <113154360+embinmc@users.noreply.github.com> Date: Fri, 6 Mar 2026 16:51:45 -0800 Subject: [PATCH 10/28] Update en_us.json --- src/main/resources/assets/strangeitems/lang/en_us.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/resources/assets/strangeitems/lang/en_us.json b/src/main/resources/assets/strangeitems/lang/en_us.json index c35fa45..9bfdc7a 100644 --- a/src/main/resources/assets/strangeitems/lang/en_us.json +++ b/src/main/resources/assets/strangeitems/lang/en_us.json @@ -70,5 +70,6 @@ "tag.item.strangeitems.trackers.sheep_sheared": "Can Track \"Sheep Sheared\"", "options.strangeitems.map_element_limit": "Tracker Element Limit", - "options.strangeitems.map_element_limit.unlimited": "∞" + "options.strangeitems.map_element_limit.unlimited": "∞", + "options.strangeitems.show_trackers_in_tooltip": "Tracker Tooltip" } \ No newline at end of file From 221638f607bca824b2ae705db83ebd926fc9002a Mon Sep 17 00:00:00 2001 From: Embin <113154360+embinmc@users.noreply.github.com> Date: Fri, 6 Mar 2026 16:54:41 -0800 Subject: [PATCH 11/28] waayy better enchantment tooltip modification --- .../client/config/HiddenTrackers.java | 2 +- .../strangeitems/mixin/EnchantmentMixin.java | 40 +++++++++++++++---- .../mod/strangeitems/mixin/ItemMixin.java | 17 +++----- .../mod/strangeitems/util/StrangeUtil.java | 2 +- 4 files changed, 39 insertions(+), 22 deletions(-) diff --git a/src/main/java/embinmc/mod/strangeitems/client/config/HiddenTrackers.java b/src/main/java/embinmc/mod/strangeitems/client/config/HiddenTrackers.java index 70606e5..0624a46 100644 --- a/src/main/java/embinmc/mod/strangeitems/client/config/HiddenTrackers.java +++ b/src/main/java/embinmc/mod/strangeitems/client/config/HiddenTrackers.java @@ -17,7 +17,7 @@ public record HiddenTrackers(List conditions) { ); public boolean shouldShowForItem(ItemStack item, Tracker tracker) { - return this.shouldShowForItem(BuiltInRegistries.ITEM.wrapAsHolder(item.getItem()), StrangeRegistries.TRACKER.wrapAsHolder(tracker)); + return this.shouldShowForItem(item.typeHolder(), StrangeRegistries.TRACKER.wrapAsHolder(tracker)); } public boolean shouldShowForItem(Holder item, Holder tracker) { diff --git a/src/main/java/embinmc/mod/strangeitems/mixin/EnchantmentMixin.java b/src/main/java/embinmc/mod/strangeitems/mixin/EnchantmentMixin.java index 2ffc094..982e722 100644 --- a/src/main/java/embinmc/mod/strangeitems/mixin/EnchantmentMixin.java +++ b/src/main/java/embinmc/mod/strangeitems/mixin/EnchantmentMixin.java @@ -1,19 +1,43 @@ package embinmc.mod.strangeitems.mixin; +import com.llamalad7.mixinextras.injector.wrapoperation.Operation; +import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation; +import it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap; +import net.minecraft.ChatFormatting; import net.minecraft.core.Holder; +import net.minecraft.core.component.DataComponentGetter; import net.minecraft.network.chat.Component; -import net.minecraft.network.chat.MutableComponent; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.TooltipFlag; import net.minecraft.world.item.enchantment.Enchantment; +import net.minecraft.world.item.enchantment.ItemEnchantments; +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.CallbackInfoReturnable; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; -@Mixin(Enchantment.class) -public class EnchantmentMixin { - @Inject(method = "getFullname", at = @At(value = "RETURN"), cancellable = true) - private static void addSpaceToEnchantName(Holder enchantment, int level, CallbackInfoReturnable cir) { - MutableComponent new_text = Component.literal(" ").append(cir.getReturnValue()); - cir.setReturnValue(new_text); +import java.util.function.Consumer; + +@Mixin(ItemEnchantments.class) +public abstract class EnchantmentMixin { + + private @Shadow @Final Object2IntOpenHashMap> enchantments; + + @Inject(method = "addToTooltip", at = @At(value = "HEAD")) + private void addHeader(Item.TooltipContext context, Consumer consumer, TooltipFlag flag, DataComponentGetter components, CallbackInfo ci) { + if (!this.enchantments.isEmpty()) { + consumer.accept(Component.translatable("tooltip.strangeitems.enchantments").append(":").withStyle(ChatFormatting.GRAY)); + } + } + + @WrapOperation(method = "addToTooltip", at = @At(value = "INVOKE", target = "Ljava/util/function/Consumer;accept(Ljava/lang/Object;)V")) + private void addSpaceToEnchantName(Consumer instance, T t, Operation original) { + if (t instanceof Component input) { + String str = input.tryCollapseToString(); + if (str != null && !str.endsWith(":")) instance.accept(input); + else instance.accept(Component.literal(" ").append(input)); + } } } diff --git a/src/main/java/embinmc/mod/strangeitems/mixin/ItemMixin.java b/src/main/java/embinmc/mod/strangeitems/mixin/ItemMixin.java index 477cbdd..55b45bb 100644 --- a/src/main/java/embinmc/mod/strangeitems/mixin/ItemMixin.java +++ b/src/main/java/embinmc/mod/strangeitems/mixin/ItemMixin.java @@ -4,6 +4,7 @@ import embinmc.mod.strangeitems.StrangeItems; import embinmc.mod.strangeitems.StrangeItemsComponents; import embinmc.mod.strangeitems.StrangeRegistryKeys; +import embinmc.mod.strangeitems.client.StrangeOptions; import embinmc.mod.strangeitems.client.config.StrangeConfig; import embinmc.mod.strangeitems.tracker.*; import embinmc.mod.strangeitems.util.StrangeUtil; @@ -30,7 +31,6 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.TooltipFlag; import net.minecraft.world.item.component.TooltipDisplay; -import net.minecraft.world.item.enchantment.ItemEnchantments; @Mixin(ItemStack.class) public abstract class ItemMixin { @@ -38,9 +38,10 @@ public abstract class ItemMixin { ordinal = 0, shift = At.Shift.AFTER), method = "addDetailsToTooltip", cancellable = true) public void appendTooltipMixin(Item.TooltipContext context, TooltipDisplay displayComponent, Player player, TooltipFlag type, Consumer list, CallbackInfo ci) { ItemStack stack = (ItemStack)(Object) this; + if (!StrangeOptions.showTrackersInTooltip()) return; if (stack.is(TrackerItemTags.CAN_TRACK_STATS) || StrangeUtil.hasAllTrackers(stack)) { for (Holder registryEntry : StrangeUtil.getTooltipOrder(context.registries(), StrangeRegistryKeys.TRACKER, TrackerTags.HAS_SPECIAL_TOOLTIP)) { - if (StrangeConfig.HIDDEN_TRACKERS.shouldShowForItem(stack.getItem().builtInRegistryHolder(), registryEntry)) { + if (StrangeConfig.HIDDEN_TRACKERS.shouldShowForItem(stack.typeHolder(), registryEntry)) { if (registryEntry.value() instanceof MapTracker mapTracker) { if (mapTracker.shouldShowTooltip(stack)) { mapTracker.appendTooltipMap(stack, list, ci, type); @@ -105,18 +106,10 @@ public void nameColorMixin(Item.TooltipContext context, Player player, TooltipFl */ } - @Inject(at = @At(value = "INVOKE", target = "Lnet/minecraft/world/item/ItemStack;addToTooltip(Lnet/minecraft/core/component/DataComponentType;Lnet/minecraft/world/item/Item$TooltipContext;Lnet/minecraft/world/item/component/TooltipDisplay;Ljava/util/function/Consumer;Lnet/minecraft/world/item/TooltipFlag;)V", - ordinal = 15, shift = At.Shift.BEFORE), method = "addDetailsToTooltip") - public void enchantTooltipMixin(Item.TooltipContext context, TooltipDisplay displayComponent, Player player, TooltipFlag type, Consumer textConsumer, CallbackInfo ci) { - ItemStack stack = (ItemStack)(Object) this; - if (stack.isEnchanted() || !stack.getOrDefault(DataComponents.STORED_ENCHANTMENTS, ItemEnchantments.EMPTY).isEmpty()) { - textConsumer.accept(Component.translatable("tooltip.strangeitems.enchantments").append(":").withStyle(ChatFormatting.GRAY)); - } - } - @Inject(at = @At(value = "HEAD"), method = "inventoryTick") public void fixTick(Level level, Entity owner, EquipmentSlot slot, CallbackInfo ci) { ItemStack stack = (ItemStack)(Object) this; + if (level.isClientSide()) return; if (stack.has(StrangeItemsComponents.COLLECTORS_ITEM)) { stack.remove(StrangeItemsComponents.COLLECTORS_ITEM); stack.update(DataComponents.CUSTOM_DATA, CustomData.EMPTY, cd -> cd.update(nbt -> nbt.putBoolean(StrangeUtil.COLLECTORS_ITEM_TAG, true))); @@ -125,7 +118,7 @@ public void fixTick(Level level, Entity owner, EquipmentSlot slot, CallbackInfo if (stack.has(StrangeItemsComponents.HAS_ALL_TRACKERS)) { stack.remove(StrangeItemsComponents.HAS_ALL_TRACKERS); stack.update(DataComponents.CUSTOM_DATA, CustomData.EMPTY, cd -> cd.update(nbt -> nbt.putBoolean(StrangeUtil.HAS_ALL_TRACKERS_TAG, true))); - StrangeItems.LOGGER.info("Fixed collector's status of {}", stack); + StrangeItems.LOGGER.info("Fixed full tracking status of {}", stack); } } diff --git a/src/main/java/embinmc/mod/strangeitems/util/StrangeUtil.java b/src/main/java/embinmc/mod/strangeitems/util/StrangeUtil.java index a69d05e..2225d0a 100644 --- a/src/main/java/embinmc/mod/strangeitems/util/StrangeUtil.java +++ b/src/main/java/embinmc/mod/strangeitems/util/StrangeUtil.java @@ -129,7 +129,7 @@ public static void addAllTrackerTooltips(Item.TooltipContext context, Consumer entryList = getTooltipOrder(context.registries(), StrangeRegistryKeys.TRACKER, TrackerTags.TOOLTIP_ORDER); for (Holder registryEntry : entryList) { - if (StrangeConfig.HIDDEN_TRACKERS.shouldShowForItem(BuiltInRegistries.ITEM.wrapAsHolder(stack.getItem()), registryEntry)) { + if (StrangeConfig.HIDDEN_TRACKERS.shouldShowForItem(stack.typeHolder(), registryEntry)) { registryEntry.value().appendTooltip(stack, textConsumer); } } From 9b21bf0455fbf8f1e47ea6374b56da6d2e2596ec Mon Sep 17 00:00:00 2001 From: Embin <113154360+embinmc@users.noreply.github.com> Date: Fri, 6 Mar 2026 17:31:44 -0800 Subject: [PATCH 12/28] remove all collectors recipes --- .../strangeitems/recipe/collectors_black_bundle.json | 12 ------------ .../strangeitems/recipe/collectors_blue_bundle.json | 12 ------------ .../data/strangeitems/recipe/collectors_bow.json | 12 ------------ .../strangeitems/recipe/collectors_brown_bundle.json | 12 ------------ .../data/strangeitems/recipe/collectors_brush.json | 12 ------------ .../data/strangeitems/recipe/collectors_bundle.json | 12 ------------ .../recipe/collectors_carrot_on_a_stick.json | 12 ------------ .../recipe/collectors_chainmail_boots.json | 12 ------------ .../recipe/collectors_chainmail_chestplate.json | 12 ------------ .../recipe/collectors_chainmail_helmet.json | 12 ------------ .../recipe/collectors_chainmail_leggings.json | 12 ------------ .../data/strangeitems/recipe/collectors_clock.json | 12 ------------ .../data/strangeitems/recipe/collectors_compass.json | 12 ------------ .../strangeitems/recipe/collectors_copper_axe.json | 12 ------------ .../strangeitems/recipe/collectors_copper_boots.json | 12 ------------ .../recipe/collectors_copper_chestplate.json | 12 ------------ .../recipe/collectors_copper_helmet.json | 12 ------------ .../strangeitems/recipe/collectors_copper_hoe.json | 12 ------------ .../recipe/collectors_copper_horse_armor.json | 12 ------------ .../recipe/collectors_copper_leggings.json | 12 ------------ .../recipe/collectors_copper_nautilus_armor.json | 12 ------------ .../recipe/collectors_copper_pickaxe.json | 12 ------------ .../recipe/collectors_copper_shovel.json | 12 ------------ .../strangeitems/recipe/collectors_copper_spear.json | 12 ------------ .../strangeitems/recipe/collectors_copper_sword.json | 12 ------------ .../strangeitems/recipe/collectors_crossbow.json | 12 ------------ .../strangeitems/recipe/collectors_cyan_bundle.json | 12 ------------ .../strangeitems/recipe/collectors_diamond_axe.json | 12 ------------ .../recipe/collectors_diamond_boots.json | 12 ------------ .../recipe/collectors_diamond_chestplate.json | 12 ------------ .../recipe/collectors_diamond_helmet.json | 12 ------------ .../strangeitems/recipe/collectors_diamond_hoe.json | 12 ------------ .../recipe/collectors_diamond_horse_armor.json | 12 ------------ .../recipe/collectors_diamond_leggings.json | 12 ------------ .../recipe/collectors_diamond_nautilus_armor.json | 12 ------------ .../recipe/collectors_diamond_pickaxe.json | 12 ------------ .../recipe/collectors_diamond_shovel.json | 12 ------------ .../recipe/collectors_diamond_spear.json | 12 ------------ .../recipe/collectors_diamond_sword.json | 12 ------------ .../data/strangeitems/recipe/collectors_elytra.json | 12 ------------ .../strangeitems/recipe/collectors_fishing_rod.json | 12 ------------ .../recipe/collectors_flint_and_steel.json | 12 ------------ .../strangeitems/recipe/collectors_goat_horn.json | 12 ------------ .../strangeitems/recipe/collectors_golden_axe.json | 12 ------------ .../strangeitems/recipe/collectors_golden_boots.json | 12 ------------ .../recipe/collectors_golden_chestplate.json | 12 ------------ .../recipe/collectors_golden_helmet.json | 12 ------------ .../strangeitems/recipe/collectors_golden_hoe.json | 12 ------------ .../recipe/collectors_golden_horse_armor.json | 12 ------------ .../recipe/collectors_golden_leggings.json | 12 ------------ .../recipe/collectors_golden_nautilus_armor.json | 12 ------------ .../recipe/collectors_golden_pickaxe.json | 12 ------------ .../recipe/collectors_golden_shovel.json | 12 ------------ .../strangeitems/recipe/collectors_golden_spear.json | 12 ------------ .../strangeitems/recipe/collectors_golden_sword.json | 12 ------------ .../strangeitems/recipe/collectors_gray_bundle.json | 12 ------------ .../strangeitems/recipe/collectors_green_bundle.json | 12 ------------ .../strangeitems/recipe/collectors_heavy_core.json | 12 ------------ .../strangeitems/recipe/collectors_iron_axe.json | 12 ------------ .../strangeitems/recipe/collectors_iron_boots.json | 12 ------------ .../recipe/collectors_iron_chestplate.json | 12 ------------ .../strangeitems/recipe/collectors_iron_helmet.json | 12 ------------ .../strangeitems/recipe/collectors_iron_hoe.json | 12 ------------ .../recipe/collectors_iron_horse_armor.json | 12 ------------ .../recipe/collectors_iron_leggings.json | 12 ------------ .../recipe/collectors_iron_nautilus_armor.json | 12 ------------ .../strangeitems/recipe/collectors_iron_pickaxe.json | 12 ------------ .../strangeitems/recipe/collectors_iron_shovel.json | 12 ------------ .../strangeitems/recipe/collectors_iron_spear.json | 12 ------------ .../strangeitems/recipe/collectors_iron_sword.json | 12 ------------ .../recipe/collectors_leather_boots.json | 12 ------------ .../recipe/collectors_leather_chestplate.json | 12 ------------ .../recipe/collectors_leather_helmet.json | 12 ------------ .../recipe/collectors_leather_horse_armor.json | 12 ------------ .../recipe/collectors_leather_leggings.json | 12 ------------ .../recipe/collectors_light_blue_bundle.json | 12 ------------ .../recipe/collectors_light_gray_bundle.json | 12 ------------ .../strangeitems/recipe/collectors_lime_bundle.json | 12 ------------ .../data/strangeitems/recipe/collectors_mace.json | 12 ------------ .../recipe/collectors_magenta_bundle.json | 12 ------------ .../recipe/collectors_music_disc_11.json | 12 ------------ .../recipe/collectors_music_disc_13.json | 12 ------------ .../strangeitems/recipe/collectors_music_disc_5.json | 12 ------------ .../recipe/collectors_music_disc_blocks.json | 12 ------------ .../recipe/collectors_music_disc_cat.json | 12 ------------ .../recipe/collectors_music_disc_chirp.json | 12 ------------ .../recipe/collectors_music_disc_creator.json | 12 ------------ .../collectors_music_disc_creator_music_box.json | 12 ------------ .../recipe/collectors_music_disc_far.json | 12 ------------ .../recipe/collectors_music_disc_lava_chicken.json | 12 ------------ .../recipe/collectors_music_disc_mall.json | 12 ------------ .../recipe/collectors_music_disc_mellohi.json | 12 ------------ .../recipe/collectors_music_disc_otherside.json | 12 ------------ .../recipe/collectors_music_disc_pigstep.json | 12 ------------ .../recipe/collectors_music_disc_precipice.json | 12 ------------ .../recipe/collectors_music_disc_relic.json | 12 ------------ .../recipe/collectors_music_disc_stal.json | 12 ------------ .../recipe/collectors_music_disc_strad.json | 12 ------------ .../recipe/collectors_music_disc_tears.json | 12 ------------ .../recipe/collectors_music_disc_wait.json | 12 ------------ .../recipe/collectors_music_disc_ward.json | 12 ------------ .../strangeitems/recipe/collectors_nether_star.json | 12 ------------ .../recipe/collectors_netherite_axe.json | 12 ------------ .../recipe/collectors_netherite_boots.json | 12 ------------ .../recipe/collectors_netherite_chestplate.json | 12 ------------ .../recipe/collectors_netherite_helmet.json | 12 ------------ .../recipe/collectors_netherite_hoe.json | 12 ------------ .../recipe/collectors_netherite_horse_armor.json | 12 ------------ .../recipe/collectors_netherite_leggings.json | 12 ------------ .../recipe/collectors_netherite_nautilus_armor.json | 12 ------------ .../recipe/collectors_netherite_pickaxe.json | 12 ------------ .../recipe/collectors_netherite_shovel.json | 12 ------------ .../recipe/collectors_netherite_spear.json | 12 ------------ .../recipe/collectors_netherite_sword.json | 12 ------------ .../recipe/collectors_orange_bundle.json | 12 ------------ .../strangeitems/recipe/collectors_pink_bundle.json | 12 ------------ .../recipe/collectors_purple_bundle.json | 12 ------------ .../recipe/collectors_recovery_compass.json | 12 ------------ .../strangeitems/recipe/collectors_red_bundle.json | 12 ------------ .../data/strangeitems/recipe/collectors_saddle.json | 12 ------------ .../data/strangeitems/recipe/collectors_shears.json | 12 ------------ .../data/strangeitems/recipe/collectors_shield.json | 12 ------------ .../strangeitems/recipe/collectors_spyglass.json | 12 ------------ .../strangeitems/recipe/collectors_stone_axe.json | 12 ------------ .../strangeitems/recipe/collectors_stone_hoe.json | 12 ------------ .../recipe/collectors_stone_pickaxe.json | 12 ------------ .../strangeitems/recipe/collectors_stone_shovel.json | 12 ------------ .../strangeitems/recipe/collectors_stone_spear.json | 12 ------------ .../strangeitems/recipe/collectors_stone_sword.json | 12 ------------ .../recipe/collectors_totem_of_undying.json | 12 ------------ .../data/strangeitems/recipe/collectors_trident.json | 12 ------------ .../recipe/collectors_turtle_helmet.json | 12 ------------ .../recipe/collectors_warped_fungus_on_a_stick.json | 12 ------------ .../strangeitems/recipe/collectors_white_bundle.json | 12 ------------ .../strangeitems/recipe/collectors_wolf_armor.json | 12 ------------ .../strangeitems/recipe/collectors_wooden_axe.json | 12 ------------ .../strangeitems/recipe/collectors_wooden_hoe.json | 12 ------------ .../recipe/collectors_wooden_pickaxe.json | 12 ------------ .../recipe/collectors_wooden_shovel.json | 12 ------------ .../strangeitems/recipe/collectors_wooden_spear.json | 12 ------------ .../strangeitems/recipe/collectors_wooden_sword.json | 10 ---------- .../recipe/collectors_yellow_bundle.json | 12 ------------ 142 files changed, 1702 deletions(-) delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_black_bundle.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_blue_bundle.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_bow.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_brown_bundle.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_brush.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_bundle.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_carrot_on_a_stick.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_chainmail_boots.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_chainmail_chestplate.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_chainmail_helmet.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_chainmail_leggings.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_clock.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_compass.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_copper_axe.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_copper_boots.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_copper_chestplate.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_copper_helmet.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_copper_hoe.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_copper_horse_armor.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_copper_leggings.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_copper_nautilus_armor.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_copper_pickaxe.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_copper_shovel.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_copper_spear.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_copper_sword.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_crossbow.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_cyan_bundle.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_diamond_axe.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_diamond_boots.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_diamond_chestplate.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_diamond_helmet.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_diamond_hoe.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_diamond_horse_armor.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_diamond_leggings.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_diamond_nautilus_armor.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_diamond_pickaxe.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_diamond_shovel.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_diamond_spear.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_diamond_sword.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_elytra.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_fishing_rod.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_flint_and_steel.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_goat_horn.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_golden_axe.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_golden_boots.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_golden_chestplate.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_golden_helmet.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_golden_hoe.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_golden_horse_armor.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_golden_leggings.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_golden_nautilus_armor.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_golden_pickaxe.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_golden_shovel.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_golden_spear.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_golden_sword.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_gray_bundle.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_green_bundle.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_heavy_core.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_iron_axe.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_iron_boots.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_iron_chestplate.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_iron_helmet.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_iron_hoe.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_iron_horse_armor.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_iron_leggings.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_iron_nautilus_armor.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_iron_pickaxe.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_iron_shovel.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_iron_spear.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_iron_sword.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_leather_boots.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_leather_chestplate.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_leather_helmet.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_leather_horse_armor.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_leather_leggings.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_light_blue_bundle.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_light_gray_bundle.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_lime_bundle.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_mace.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_magenta_bundle.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_music_disc_11.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_music_disc_13.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_music_disc_5.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_music_disc_blocks.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_music_disc_cat.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_music_disc_chirp.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_music_disc_creator.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_music_disc_creator_music_box.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_music_disc_far.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_music_disc_lava_chicken.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_music_disc_mall.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_music_disc_mellohi.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_music_disc_otherside.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_music_disc_pigstep.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_music_disc_precipice.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_music_disc_relic.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_music_disc_stal.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_music_disc_strad.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_music_disc_tears.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_music_disc_wait.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_music_disc_ward.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_nether_star.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_netherite_axe.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_netherite_boots.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_netherite_chestplate.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_netherite_helmet.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_netherite_hoe.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_netherite_horse_armor.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_netherite_leggings.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_netherite_nautilus_armor.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_netherite_pickaxe.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_netherite_shovel.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_netherite_spear.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_netherite_sword.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_orange_bundle.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_pink_bundle.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_purple_bundle.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_recovery_compass.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_red_bundle.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_saddle.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_shears.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_shield.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_spyglass.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_stone_axe.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_stone_hoe.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_stone_pickaxe.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_stone_shovel.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_stone_spear.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_stone_sword.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_totem_of_undying.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_trident.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_turtle_helmet.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_warped_fungus_on_a_stick.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_white_bundle.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_wolf_armor.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_wooden_axe.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_wooden_hoe.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_wooden_pickaxe.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_wooden_shovel.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_wooden_spear.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_wooden_sword.json delete mode 100644 src/main/resources/data/strangeitems/recipe/collectors_yellow_bundle.json diff --git a/src/main/resources/data/strangeitems/recipe/collectors_black_bundle.json b/src/main/resources/data/strangeitems/recipe/collectors_black_bundle.json deleted file mode 100644 index 73fb662..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_black_bundle.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:black_bundle", - "addition": "minecraft:black_bundle", - "result": { - "id": "minecraft:black_bundle", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_blue_bundle.json b/src/main/resources/data/strangeitems/recipe/collectors_blue_bundle.json deleted file mode 100644 index b5de3c5..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_blue_bundle.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:blue_bundle", - "addition": "minecraft:blue_bundle", - "result": { - "id": "minecraft:blue_bundle", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_bow.json b/src/main/resources/data/strangeitems/recipe/collectors_bow.json deleted file mode 100644 index 09f1d44..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_bow.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:bow", - "addition": "minecraft:bow", - "result": { - "id": "minecraft:bow", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_brown_bundle.json b/src/main/resources/data/strangeitems/recipe/collectors_brown_bundle.json deleted file mode 100644 index 68df1ba..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_brown_bundle.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:brown_bundle", - "addition": "minecraft:brown_bundle", - "result": { - "id": "minecraft:brown_bundle", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_brush.json b/src/main/resources/data/strangeitems/recipe/collectors_brush.json deleted file mode 100644 index ff21c3d..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_brush.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:brush", - "addition": "minecraft:brush", - "result": { - "id": "minecraft:brush", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_bundle.json b/src/main/resources/data/strangeitems/recipe/collectors_bundle.json deleted file mode 100644 index c698269..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_bundle.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:bundle", - "addition": "minecraft:bundle", - "result": { - "id": "minecraft:bundle", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_carrot_on_a_stick.json b/src/main/resources/data/strangeitems/recipe/collectors_carrot_on_a_stick.json deleted file mode 100644 index a514301..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_carrot_on_a_stick.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:carrot_on_a_stick", - "addition": "minecraft:carrot_on_a_stick", - "result": { - "id": "minecraft:carrot_on_a_stick", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_chainmail_boots.json b/src/main/resources/data/strangeitems/recipe/collectors_chainmail_boots.json deleted file mode 100644 index 05f73a5..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_chainmail_boots.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:chainmail_boots", - "addition": "minecraft:chainmail_boots", - "result": { - "id": "minecraft:chainmail_boots", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_chainmail_chestplate.json b/src/main/resources/data/strangeitems/recipe/collectors_chainmail_chestplate.json deleted file mode 100644 index 802e01b..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_chainmail_chestplate.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:chainmail_chestplate", - "addition": "minecraft:chainmail_chestplate", - "result": { - "id": "minecraft:chainmail_chestplate", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_chainmail_helmet.json b/src/main/resources/data/strangeitems/recipe/collectors_chainmail_helmet.json deleted file mode 100644 index 11d6c53..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_chainmail_helmet.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:chainmail_helmet", - "addition": "minecraft:chainmail_helmet", - "result": { - "id": "minecraft:chainmail_helmet", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_chainmail_leggings.json b/src/main/resources/data/strangeitems/recipe/collectors_chainmail_leggings.json deleted file mode 100644 index 7a9d6eb..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_chainmail_leggings.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:chainmail_leggings", - "addition": "minecraft:chainmail_leggings", - "result": { - "id": "minecraft:chainmail_leggings", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_clock.json b/src/main/resources/data/strangeitems/recipe/collectors_clock.json deleted file mode 100644 index 28d9df8..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_clock.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:clock", - "addition": "minecraft:clock", - "result": { - "id": "minecraft:clock", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_compass.json b/src/main/resources/data/strangeitems/recipe/collectors_compass.json deleted file mode 100644 index 3028275..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_compass.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:compass", - "addition": "minecraft:compass", - "result": { - "id": "minecraft:compass", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_copper_axe.json b/src/main/resources/data/strangeitems/recipe/collectors_copper_axe.json deleted file mode 100644 index 39e4410..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_copper_axe.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:copper_axe", - "addition": "minecraft:copper_axe", - "result": { - "id": "minecraft:copper_axe", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_copper_boots.json b/src/main/resources/data/strangeitems/recipe/collectors_copper_boots.json deleted file mode 100644 index 5d1da4d..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_copper_boots.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:copper_boots", - "addition": "minecraft:copper_boots", - "result": { - "id": "minecraft:copper_boots", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_copper_chestplate.json b/src/main/resources/data/strangeitems/recipe/collectors_copper_chestplate.json deleted file mode 100644 index cbc61b7..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_copper_chestplate.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:copper_chestplate", - "addition": "minecraft:copper_chestplate", - "result": { - "id": "minecraft:copper_chestplate", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_copper_helmet.json b/src/main/resources/data/strangeitems/recipe/collectors_copper_helmet.json deleted file mode 100644 index 63df666..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_copper_helmet.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:copper_helmet", - "addition": "minecraft:copper_helmet", - "result": { - "id": "minecraft:copper_helmet", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_copper_hoe.json b/src/main/resources/data/strangeitems/recipe/collectors_copper_hoe.json deleted file mode 100644 index 283f830..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_copper_hoe.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:copper_hoe", - "addition": "minecraft:copper_hoe", - "result": { - "id": "minecraft:copper_hoe", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_copper_horse_armor.json b/src/main/resources/data/strangeitems/recipe/collectors_copper_horse_armor.json deleted file mode 100644 index 98c712b..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_copper_horse_armor.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:copper_horse_armor", - "addition": "minecraft:copper_horse_armor", - "result": { - "id": "minecraft:copper_horse_armor", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_copper_leggings.json b/src/main/resources/data/strangeitems/recipe/collectors_copper_leggings.json deleted file mode 100644 index 31d2ac8..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_copper_leggings.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:copper_leggings", - "addition": "minecraft:copper_leggings", - "result": { - "id": "minecraft:copper_leggings", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_copper_nautilus_armor.json b/src/main/resources/data/strangeitems/recipe/collectors_copper_nautilus_armor.json deleted file mode 100644 index 1fc12a8..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_copper_nautilus_armor.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:copper_nautilus_armor", - "addition": "minecraft:copper_nautilus_armor", - "result": { - "id": "minecraft:copper_nautilus_armor", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_copper_pickaxe.json b/src/main/resources/data/strangeitems/recipe/collectors_copper_pickaxe.json deleted file mode 100644 index 8ef8c84..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_copper_pickaxe.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:copper_pickaxe", - "addition": "minecraft:copper_pickaxe", - "result": { - "id": "minecraft:copper_pickaxe", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_copper_shovel.json b/src/main/resources/data/strangeitems/recipe/collectors_copper_shovel.json deleted file mode 100644 index 521cd08..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_copper_shovel.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:copper_shovel", - "addition": "minecraft:copper_shovel", - "result": { - "id": "minecraft:copper_shovel", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_copper_spear.json b/src/main/resources/data/strangeitems/recipe/collectors_copper_spear.json deleted file mode 100644 index 0f6a697..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_copper_spear.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:copper_spear", - "addition": "minecraft:copper_spear", - "result": { - "id": "minecraft:copper_spear", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_copper_sword.json b/src/main/resources/data/strangeitems/recipe/collectors_copper_sword.json deleted file mode 100644 index 1cbf8db..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_copper_sword.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:copper_sword", - "addition": "minecraft:copper_sword", - "result": { - "id": "minecraft:copper_sword", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_crossbow.json b/src/main/resources/data/strangeitems/recipe/collectors_crossbow.json deleted file mode 100644 index 19508fe..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_crossbow.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:crossbow", - "addition": "minecraft:crossbow", - "result": { - "id": "minecraft:crossbow", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_cyan_bundle.json b/src/main/resources/data/strangeitems/recipe/collectors_cyan_bundle.json deleted file mode 100644 index 9941952..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_cyan_bundle.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:cyan_bundle", - "addition": "minecraft:cyan_bundle", - "result": { - "id": "minecraft:cyan_bundle", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_diamond_axe.json b/src/main/resources/data/strangeitems/recipe/collectors_diamond_axe.json deleted file mode 100644 index 9022f96..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_diamond_axe.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:diamond_axe", - "addition": "minecraft:diamond_axe", - "result": { - "id": "minecraft:diamond_axe", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_diamond_boots.json b/src/main/resources/data/strangeitems/recipe/collectors_diamond_boots.json deleted file mode 100644 index b8a1a1f..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_diamond_boots.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:diamond_boots", - "addition": "minecraft:diamond_boots", - "result": { - "id": "minecraft:diamond_boots", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_diamond_chestplate.json b/src/main/resources/data/strangeitems/recipe/collectors_diamond_chestplate.json deleted file mode 100644 index 6a52084..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_diamond_chestplate.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:diamond_chestplate", - "addition": "minecraft:diamond_chestplate", - "result": { - "id": "minecraft:diamond_chestplate", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_diamond_helmet.json b/src/main/resources/data/strangeitems/recipe/collectors_diamond_helmet.json deleted file mode 100644 index 0369b09..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_diamond_helmet.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:diamond_helmet", - "addition": "minecraft:diamond_helmet", - "result": { - "id": "minecraft:diamond_helmet", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_diamond_hoe.json b/src/main/resources/data/strangeitems/recipe/collectors_diamond_hoe.json deleted file mode 100644 index e667a15..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_diamond_hoe.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:diamond_hoe", - "addition": "minecraft:diamond_hoe", - "result": { - "id": "minecraft:diamond_hoe", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_diamond_horse_armor.json b/src/main/resources/data/strangeitems/recipe/collectors_diamond_horse_armor.json deleted file mode 100644 index a9abb28..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_diamond_horse_armor.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:diamond_horse_armor", - "addition": "minecraft:diamond_horse_armor", - "result": { - "id": "minecraft:diamond_horse_armor", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_diamond_leggings.json b/src/main/resources/data/strangeitems/recipe/collectors_diamond_leggings.json deleted file mode 100644 index 460cb29..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_diamond_leggings.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:diamond_leggings", - "addition": "minecraft:diamond_leggings", - "result": { - "id": "minecraft:diamond_leggings", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_diamond_nautilus_armor.json b/src/main/resources/data/strangeitems/recipe/collectors_diamond_nautilus_armor.json deleted file mode 100644 index 66fb38e..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_diamond_nautilus_armor.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:diamond_nautilus_armor", - "addition": "minecraft:diamond_nautilus_armor", - "result": { - "id": "minecraft:diamond_nautilus_armor", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_diamond_pickaxe.json b/src/main/resources/data/strangeitems/recipe/collectors_diamond_pickaxe.json deleted file mode 100644 index a1a9e83..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_diamond_pickaxe.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:diamond_pickaxe", - "addition": "minecraft:diamond_pickaxe", - "result": { - "id": "minecraft:diamond_pickaxe", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_diamond_shovel.json b/src/main/resources/data/strangeitems/recipe/collectors_diamond_shovel.json deleted file mode 100644 index 956f1c5..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_diamond_shovel.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:diamond_shovel", - "addition": "minecraft:diamond_shovel", - "result": { - "id": "minecraft:diamond_shovel", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_diamond_spear.json b/src/main/resources/data/strangeitems/recipe/collectors_diamond_spear.json deleted file mode 100644 index 200a24b..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_diamond_spear.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:diamond_spear", - "addition": "minecraft:diamond_spear", - "result": { - "id": "minecraft:diamond_spear", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_diamond_sword.json b/src/main/resources/data/strangeitems/recipe/collectors_diamond_sword.json deleted file mode 100644 index ded6f44..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_diamond_sword.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:diamond_sword", - "addition": "minecraft:diamond_sword", - "result": { - "id": "minecraft:diamond_sword", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_elytra.json b/src/main/resources/data/strangeitems/recipe/collectors_elytra.json deleted file mode 100644 index 45e79ed..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_elytra.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:elytra", - "addition": "minecraft:elytra", - "result": { - "id": "minecraft:elytra", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_fishing_rod.json b/src/main/resources/data/strangeitems/recipe/collectors_fishing_rod.json deleted file mode 100644 index a7f39f1..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_fishing_rod.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:fishing_rod", - "addition": "minecraft:fishing_rod", - "result": { - "id": "minecraft:fishing_rod", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_flint_and_steel.json b/src/main/resources/data/strangeitems/recipe/collectors_flint_and_steel.json deleted file mode 100644 index 2fd3f12..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_flint_and_steel.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:flint_and_steel", - "addition": "minecraft:flint_and_steel", - "result": { - "id": "minecraft:flint_and_steel", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_goat_horn.json b/src/main/resources/data/strangeitems/recipe/collectors_goat_horn.json deleted file mode 100644 index 5d1cffe..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_goat_horn.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:goat_horn", - "addition": "minecraft:goat_horn", - "result": { - "id": "minecraft:goat_horn", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_golden_axe.json b/src/main/resources/data/strangeitems/recipe/collectors_golden_axe.json deleted file mode 100644 index 15ca124..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_golden_axe.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:golden_axe", - "addition": "minecraft:golden_axe", - "result": { - "id": "minecraft:golden_axe", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_golden_boots.json b/src/main/resources/data/strangeitems/recipe/collectors_golden_boots.json deleted file mode 100644 index 04280f4..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_golden_boots.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:golden_boots", - "addition": "minecraft:golden_boots", - "result": { - "id": "minecraft:golden_boots", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_golden_chestplate.json b/src/main/resources/data/strangeitems/recipe/collectors_golden_chestplate.json deleted file mode 100644 index 8d3f616..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_golden_chestplate.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:golden_chestplate", - "addition": "minecraft:golden_chestplate", - "result": { - "id": "minecraft:golden_chestplate", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_golden_helmet.json b/src/main/resources/data/strangeitems/recipe/collectors_golden_helmet.json deleted file mode 100644 index ed4d9a7..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_golden_helmet.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:golden_helmet", - "addition": "minecraft:golden_helmet", - "result": { - "id": "minecraft:golden_helmet", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_golden_hoe.json b/src/main/resources/data/strangeitems/recipe/collectors_golden_hoe.json deleted file mode 100644 index 6349ae2..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_golden_hoe.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:golden_hoe", - "addition": "minecraft:golden_hoe", - "result": { - "id": "minecraft:golden_hoe", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_golden_horse_armor.json b/src/main/resources/data/strangeitems/recipe/collectors_golden_horse_armor.json deleted file mode 100644 index e41e2cb..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_golden_horse_armor.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:golden_horse_armor", - "addition": "minecraft:golden_horse_armor", - "result": { - "id": "minecraft:golden_horse_armor", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_golden_leggings.json b/src/main/resources/data/strangeitems/recipe/collectors_golden_leggings.json deleted file mode 100644 index d1739ee..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_golden_leggings.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:golden_leggings", - "addition": "minecraft:golden_leggings", - "result": { - "id": "minecraft:golden_leggings", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_golden_nautilus_armor.json b/src/main/resources/data/strangeitems/recipe/collectors_golden_nautilus_armor.json deleted file mode 100644 index 5428b95..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_golden_nautilus_armor.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:golden_nautilus_armor", - "addition": "minecraft:golden_nautilus_armor", - "result": { - "id": "minecraft:golden_nautilus_armor", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_golden_pickaxe.json b/src/main/resources/data/strangeitems/recipe/collectors_golden_pickaxe.json deleted file mode 100644 index 26465a6..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_golden_pickaxe.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:golden_pickaxe", - "addition": "minecraft:golden_pickaxe", - "result": { - "id": "minecraft:golden_pickaxe", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_golden_shovel.json b/src/main/resources/data/strangeitems/recipe/collectors_golden_shovel.json deleted file mode 100644 index 4d72cf7..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_golden_shovel.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:golden_shovel", - "addition": "minecraft:golden_shovel", - "result": { - "id": "minecraft:golden_shovel", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_golden_spear.json b/src/main/resources/data/strangeitems/recipe/collectors_golden_spear.json deleted file mode 100644 index c2fea50..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_golden_spear.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:golden_spear", - "addition": "minecraft:golden_spear", - "result": { - "id": "minecraft:golden_spear", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_golden_sword.json b/src/main/resources/data/strangeitems/recipe/collectors_golden_sword.json deleted file mode 100644 index 22a6950..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_golden_sword.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:golden_sword", - "addition": "minecraft:golden_sword", - "result": { - "id": "minecraft:golden_sword", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_gray_bundle.json b/src/main/resources/data/strangeitems/recipe/collectors_gray_bundle.json deleted file mode 100644 index 8070bd7..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_gray_bundle.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:gray_bundle", - "addition": "minecraft:gray_bundle", - "result": { - "id": "minecraft:gray_bundle", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_green_bundle.json b/src/main/resources/data/strangeitems/recipe/collectors_green_bundle.json deleted file mode 100644 index f96a749..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_green_bundle.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:green_bundle", - "addition": "minecraft:green_bundle", - "result": { - "id": "minecraft:green_bundle", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_heavy_core.json b/src/main/resources/data/strangeitems/recipe/collectors_heavy_core.json deleted file mode 100644 index ffc8373..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_heavy_core.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:heavy_core", - "addition": "minecraft:heavy_core", - "result": { - "id": "minecraft:heavy_core", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_iron_axe.json b/src/main/resources/data/strangeitems/recipe/collectors_iron_axe.json deleted file mode 100644 index 879b0f3..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_iron_axe.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:iron_axe", - "addition": "minecraft:iron_axe", - "result": { - "id": "minecraft:iron_axe", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_iron_boots.json b/src/main/resources/data/strangeitems/recipe/collectors_iron_boots.json deleted file mode 100644 index b9d8c91..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_iron_boots.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:iron_boots", - "addition": "minecraft:iron_boots", - "result": { - "id": "minecraft:iron_boots", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_iron_chestplate.json b/src/main/resources/data/strangeitems/recipe/collectors_iron_chestplate.json deleted file mode 100644 index be665f7..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_iron_chestplate.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:iron_chestplate", - "addition": "minecraft:iron_chestplate", - "result": { - "id": "minecraft:iron_chestplate", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_iron_helmet.json b/src/main/resources/data/strangeitems/recipe/collectors_iron_helmet.json deleted file mode 100644 index bdf2431..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_iron_helmet.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:iron_helmet", - "addition": "minecraft:iron_helmet", - "result": { - "id": "minecraft:iron_helmet", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_iron_hoe.json b/src/main/resources/data/strangeitems/recipe/collectors_iron_hoe.json deleted file mode 100644 index 599b25e..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_iron_hoe.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:iron_hoe", - "addition": "minecraft:iron_hoe", - "result": { - "id": "minecraft:iron_hoe", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_iron_horse_armor.json b/src/main/resources/data/strangeitems/recipe/collectors_iron_horse_armor.json deleted file mode 100644 index b4d19cd..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_iron_horse_armor.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:iron_horse_armor", - "addition": "minecraft:iron_horse_armor", - "result": { - "id": "minecraft:iron_horse_armor", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_iron_leggings.json b/src/main/resources/data/strangeitems/recipe/collectors_iron_leggings.json deleted file mode 100644 index cc456a2..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_iron_leggings.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:iron_leggings", - "addition": "minecraft:iron_leggings", - "result": { - "id": "minecraft:iron_leggings", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_iron_nautilus_armor.json b/src/main/resources/data/strangeitems/recipe/collectors_iron_nautilus_armor.json deleted file mode 100644 index 110c0cb..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_iron_nautilus_armor.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:iron_nautilus_armor", - "addition": "minecraft:iron_nautilus_armor", - "result": { - "id": "minecraft:iron_nautilus_armor", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_iron_pickaxe.json b/src/main/resources/data/strangeitems/recipe/collectors_iron_pickaxe.json deleted file mode 100644 index eca5d55..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_iron_pickaxe.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:iron_pickaxe", - "addition": "minecraft:iron_pickaxe", - "result": { - "id": "minecraft:iron_pickaxe", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_iron_shovel.json b/src/main/resources/data/strangeitems/recipe/collectors_iron_shovel.json deleted file mode 100644 index 0fc9463..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_iron_shovel.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:iron_shovel", - "addition": "minecraft:iron_shovel", - "result": { - "id": "minecraft:iron_shovel", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_iron_spear.json b/src/main/resources/data/strangeitems/recipe/collectors_iron_spear.json deleted file mode 100644 index 43681f4..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_iron_spear.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:iron_spear", - "addition": "minecraft:iron_spear", - "result": { - "id": "minecraft:iron_spear", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_iron_sword.json b/src/main/resources/data/strangeitems/recipe/collectors_iron_sword.json deleted file mode 100644 index 38d4e49..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_iron_sword.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:iron_sword", - "addition": "minecraft:iron_sword", - "result": { - "id": "minecraft:iron_sword", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_leather_boots.json b/src/main/resources/data/strangeitems/recipe/collectors_leather_boots.json deleted file mode 100644 index de53e35..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_leather_boots.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:leather_boots", - "addition": "minecraft:leather_boots", - "result": { - "id": "minecraft:leather_boots", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_leather_chestplate.json b/src/main/resources/data/strangeitems/recipe/collectors_leather_chestplate.json deleted file mode 100644 index 838d1fb..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_leather_chestplate.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:leather_chestplate", - "addition": "minecraft:leather_chestplate", - "result": { - "id": "minecraft:leather_chestplate", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_leather_helmet.json b/src/main/resources/data/strangeitems/recipe/collectors_leather_helmet.json deleted file mode 100644 index a2a6c39..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_leather_helmet.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:leather_helmet", - "addition": "minecraft:leather_helmet", - "result": { - "id": "minecraft:leather_helmet", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_leather_horse_armor.json b/src/main/resources/data/strangeitems/recipe/collectors_leather_horse_armor.json deleted file mode 100644 index da8ddae..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_leather_horse_armor.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:leather_horse_armor", - "addition": "minecraft:leather_horse_armor", - "result": { - "id": "minecraft:leather_horse_armor", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_leather_leggings.json b/src/main/resources/data/strangeitems/recipe/collectors_leather_leggings.json deleted file mode 100644 index 363453a..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_leather_leggings.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:leather_leggings", - "addition": "minecraft:leather_leggings", - "result": { - "id": "minecraft:leather_leggings", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_light_blue_bundle.json b/src/main/resources/data/strangeitems/recipe/collectors_light_blue_bundle.json deleted file mode 100644 index 4a751d0..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_light_blue_bundle.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:light_blue_bundle", - "addition": "minecraft:light_blue_bundle", - "result": { - "id": "minecraft:light_blue_bundle", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_light_gray_bundle.json b/src/main/resources/data/strangeitems/recipe/collectors_light_gray_bundle.json deleted file mode 100644 index 42b26f6..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_light_gray_bundle.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:light_gray_bundle", - "addition": "minecraft:light_gray_bundle", - "result": { - "id": "minecraft:light_gray_bundle", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_lime_bundle.json b/src/main/resources/data/strangeitems/recipe/collectors_lime_bundle.json deleted file mode 100644 index 86cbc44..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_lime_bundle.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:lime_bundle", - "addition": "minecraft:lime_bundle", - "result": { - "id": "minecraft:lime_bundle", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_mace.json b/src/main/resources/data/strangeitems/recipe/collectors_mace.json deleted file mode 100644 index 56980e5..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_mace.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:mace", - "addition": "minecraft:mace", - "result": { - "id": "minecraft:mace", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_magenta_bundle.json b/src/main/resources/data/strangeitems/recipe/collectors_magenta_bundle.json deleted file mode 100644 index e8b6336..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_magenta_bundle.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:magenta_bundle", - "addition": "minecraft:magenta_bundle", - "result": { - "id": "minecraft:magenta_bundle", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_music_disc_11.json b/src/main/resources/data/strangeitems/recipe/collectors_music_disc_11.json deleted file mode 100644 index 67e879d..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_music_disc_11.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:music_disc_11", - "addition": "minecraft:music_disc_11", - "result": { - "id": "minecraft:music_disc_11", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_music_disc_13.json b/src/main/resources/data/strangeitems/recipe/collectors_music_disc_13.json deleted file mode 100644 index 81b1de9..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_music_disc_13.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:music_disc_13", - "addition": "minecraft:music_disc_13", - "result": { - "id": "minecraft:music_disc_13", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_music_disc_5.json b/src/main/resources/data/strangeitems/recipe/collectors_music_disc_5.json deleted file mode 100644 index 529f7c2..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_music_disc_5.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:music_disc_5", - "addition": "minecraft:music_disc_5", - "result": { - "id": "minecraft:music_disc_5", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_music_disc_blocks.json b/src/main/resources/data/strangeitems/recipe/collectors_music_disc_blocks.json deleted file mode 100644 index 958413c..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_music_disc_blocks.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:music_disc_blocks", - "addition": "minecraft:music_disc_blocks", - "result": { - "id": "minecraft:music_disc_blocks", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_music_disc_cat.json b/src/main/resources/data/strangeitems/recipe/collectors_music_disc_cat.json deleted file mode 100644 index 6e899c3..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_music_disc_cat.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:music_disc_cat", - "addition": "minecraft:music_disc_cat", - "result": { - "id": "minecraft:music_disc_cat", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_music_disc_chirp.json b/src/main/resources/data/strangeitems/recipe/collectors_music_disc_chirp.json deleted file mode 100644 index 7cd425b..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_music_disc_chirp.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:music_disc_chirp", - "addition": "minecraft:music_disc_chirp", - "result": { - "id": "minecraft:music_disc_chirp", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_music_disc_creator.json b/src/main/resources/data/strangeitems/recipe/collectors_music_disc_creator.json deleted file mode 100644 index 3883ea1..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_music_disc_creator.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:music_disc_creator", - "addition": "minecraft:music_disc_creator", - "result": { - "id": "minecraft:music_disc_creator", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_music_disc_creator_music_box.json b/src/main/resources/data/strangeitems/recipe/collectors_music_disc_creator_music_box.json deleted file mode 100644 index 7459ba3..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_music_disc_creator_music_box.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:music_disc_creator_music_box", - "addition": "minecraft:music_disc_creator_music_box", - "result": { - "id": "minecraft:music_disc_creator_music_box", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_music_disc_far.json b/src/main/resources/data/strangeitems/recipe/collectors_music_disc_far.json deleted file mode 100644 index 90a3e5d..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_music_disc_far.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:music_disc_far", - "addition": "minecraft:music_disc_far", - "result": { - "id": "minecraft:music_disc_far", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_music_disc_lava_chicken.json b/src/main/resources/data/strangeitems/recipe/collectors_music_disc_lava_chicken.json deleted file mode 100644 index 62ee777..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_music_disc_lava_chicken.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:music_disc_lava_chicken", - "addition": "minecraft:music_disc_lava_chicken", - "result": { - "id": "minecraft:music_disc_lava_chicken", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_music_disc_mall.json b/src/main/resources/data/strangeitems/recipe/collectors_music_disc_mall.json deleted file mode 100644 index 584d8d9..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_music_disc_mall.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:music_disc_mall", - "addition": "minecraft:music_disc_mall", - "result": { - "id": "minecraft:music_disc_mall", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_music_disc_mellohi.json b/src/main/resources/data/strangeitems/recipe/collectors_music_disc_mellohi.json deleted file mode 100644 index b674d5f..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_music_disc_mellohi.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:music_disc_mellohi", - "addition": "minecraft:music_disc_mellohi", - "result": { - "id": "minecraft:music_disc_mellohi", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_music_disc_otherside.json b/src/main/resources/data/strangeitems/recipe/collectors_music_disc_otherside.json deleted file mode 100644 index 98f6604..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_music_disc_otherside.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:music_disc_otherside", - "addition": "minecraft:music_disc_otherside", - "result": { - "id": "minecraft:music_disc_otherside", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_music_disc_pigstep.json b/src/main/resources/data/strangeitems/recipe/collectors_music_disc_pigstep.json deleted file mode 100644 index bc04782..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_music_disc_pigstep.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:music_disc_pigstep", - "addition": "minecraft:music_disc_pigstep", - "result": { - "id": "minecraft:music_disc_pigstep", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_music_disc_precipice.json b/src/main/resources/data/strangeitems/recipe/collectors_music_disc_precipice.json deleted file mode 100644 index 24a7eb8..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_music_disc_precipice.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:music_disc_precipice", - "addition": "minecraft:music_disc_precipice", - "result": { - "id": "minecraft:music_disc_precipice", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_music_disc_relic.json b/src/main/resources/data/strangeitems/recipe/collectors_music_disc_relic.json deleted file mode 100644 index f185dca..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_music_disc_relic.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:music_disc_relic", - "addition": "minecraft:music_disc_relic", - "result": { - "id": "minecraft:music_disc_relic", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_music_disc_stal.json b/src/main/resources/data/strangeitems/recipe/collectors_music_disc_stal.json deleted file mode 100644 index 4c4f076..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_music_disc_stal.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:music_disc_stal", - "addition": "minecraft:music_disc_stal", - "result": { - "id": "minecraft:music_disc_stal", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_music_disc_strad.json b/src/main/resources/data/strangeitems/recipe/collectors_music_disc_strad.json deleted file mode 100644 index dfddc5e..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_music_disc_strad.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:music_disc_strad", - "addition": "minecraft:music_disc_strad", - "result": { - "id": "minecraft:music_disc_strad", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_music_disc_tears.json b/src/main/resources/data/strangeitems/recipe/collectors_music_disc_tears.json deleted file mode 100644 index 7ad6f81..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_music_disc_tears.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:music_disc_tears", - "addition": "minecraft:music_disc_tears", - "result": { - "id": "minecraft:music_disc_tears", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_music_disc_wait.json b/src/main/resources/data/strangeitems/recipe/collectors_music_disc_wait.json deleted file mode 100644 index 154c7fa..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_music_disc_wait.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:music_disc_wait", - "addition": "minecraft:music_disc_wait", - "result": { - "id": "minecraft:music_disc_wait", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_music_disc_ward.json b/src/main/resources/data/strangeitems/recipe/collectors_music_disc_ward.json deleted file mode 100644 index e1531e6..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_music_disc_ward.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:music_disc_ward", - "addition": "minecraft:music_disc_ward", - "result": { - "id": "minecraft:music_disc_ward", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_nether_star.json b/src/main/resources/data/strangeitems/recipe/collectors_nether_star.json deleted file mode 100644 index e87d4d8..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_nether_star.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:nether_star", - "addition": "minecraft:nether_star", - "result": { - "id": "minecraft:nether_star", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_netherite_axe.json b/src/main/resources/data/strangeitems/recipe/collectors_netherite_axe.json deleted file mode 100644 index cc70ef0..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_netherite_axe.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:netherite_axe", - "addition": "minecraft:netherite_axe", - "result": { - "id": "minecraft:netherite_axe", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_netherite_boots.json b/src/main/resources/data/strangeitems/recipe/collectors_netherite_boots.json deleted file mode 100644 index 5676f45..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_netherite_boots.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:netherite_boots", - "addition": "minecraft:netherite_boots", - "result": { - "id": "minecraft:netherite_boots", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_netherite_chestplate.json b/src/main/resources/data/strangeitems/recipe/collectors_netherite_chestplate.json deleted file mode 100644 index e6eaa2f..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_netherite_chestplate.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:netherite_chestplate", - "addition": "minecraft:netherite_chestplate", - "result": { - "id": "minecraft:netherite_chestplate", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_netherite_helmet.json b/src/main/resources/data/strangeitems/recipe/collectors_netherite_helmet.json deleted file mode 100644 index 64af7b1..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_netherite_helmet.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:netherite_helmet", - "addition": "minecraft:netherite_helmet", - "result": { - "id": "minecraft:netherite_helmet", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_netherite_hoe.json b/src/main/resources/data/strangeitems/recipe/collectors_netherite_hoe.json deleted file mode 100644 index bfdabd8..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_netherite_hoe.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:netherite_hoe", - "addition": "minecraft:netherite_hoe", - "result": { - "id": "minecraft:netherite_hoe", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_netherite_horse_armor.json b/src/main/resources/data/strangeitems/recipe/collectors_netherite_horse_armor.json deleted file mode 100644 index ed55925..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_netherite_horse_armor.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:netherite_horse_armor", - "addition": "minecraft:netherite_horse_armor", - "result": { - "id": "minecraft:netherite_horse_armor", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_netherite_leggings.json b/src/main/resources/data/strangeitems/recipe/collectors_netherite_leggings.json deleted file mode 100644 index 2890d26..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_netherite_leggings.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:netherite_leggings", - "addition": "minecraft:netherite_leggings", - "result": { - "id": "minecraft:netherite_leggings", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_netherite_nautilus_armor.json b/src/main/resources/data/strangeitems/recipe/collectors_netherite_nautilus_armor.json deleted file mode 100644 index 164573a..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_netherite_nautilus_armor.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:netherite_nautilus_armor", - "addition": "minecraft:netherite_nautilus_armor", - "result": { - "id": "minecraft:netherite_nautilus_armor", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_netherite_pickaxe.json b/src/main/resources/data/strangeitems/recipe/collectors_netherite_pickaxe.json deleted file mode 100644 index b769f04..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_netherite_pickaxe.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:netherite_pickaxe", - "addition": "minecraft:netherite_pickaxe", - "result": { - "id": "minecraft:netherite_pickaxe", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_netherite_shovel.json b/src/main/resources/data/strangeitems/recipe/collectors_netherite_shovel.json deleted file mode 100644 index 63a1e5c..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_netherite_shovel.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:netherite_shovel", - "addition": "minecraft:netherite_shovel", - "result": { - "id": "minecraft:netherite_shovel", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_netherite_spear.json b/src/main/resources/data/strangeitems/recipe/collectors_netherite_spear.json deleted file mode 100644 index ae8bd54..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_netherite_spear.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:netherite_spear", - "addition": "minecraft:netherite_spear", - "result": { - "id": "minecraft:netherite_spear", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_netherite_sword.json b/src/main/resources/data/strangeitems/recipe/collectors_netherite_sword.json deleted file mode 100644 index f8fad3a..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_netherite_sword.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:netherite_sword", - "addition": "minecraft:netherite_sword", - "result": { - "id": "minecraft:netherite_sword", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_orange_bundle.json b/src/main/resources/data/strangeitems/recipe/collectors_orange_bundle.json deleted file mode 100644 index 44378b3..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_orange_bundle.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:orange_bundle", - "addition": "minecraft:orange_bundle", - "result": { - "id": "minecraft:orange_bundle", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_pink_bundle.json b/src/main/resources/data/strangeitems/recipe/collectors_pink_bundle.json deleted file mode 100644 index 3a21ccd..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_pink_bundle.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:pink_bundle", - "addition": "minecraft:pink_bundle", - "result": { - "id": "minecraft:pink_bundle", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_purple_bundle.json b/src/main/resources/data/strangeitems/recipe/collectors_purple_bundle.json deleted file mode 100644 index 181a541..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_purple_bundle.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:purple_bundle", - "addition": "minecraft:purple_bundle", - "result": { - "id": "minecraft:purple_bundle", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_recovery_compass.json b/src/main/resources/data/strangeitems/recipe/collectors_recovery_compass.json deleted file mode 100644 index e28976d..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_recovery_compass.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:recovery_compass", - "addition": "minecraft:recovery_compass", - "result": { - "id": "minecraft:recovery_compass", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_red_bundle.json b/src/main/resources/data/strangeitems/recipe/collectors_red_bundle.json deleted file mode 100644 index fc26d33..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_red_bundle.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:red_bundle", - "addition": "minecraft:red_bundle", - "result": { - "id": "minecraft:red_bundle", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_saddle.json b/src/main/resources/data/strangeitems/recipe/collectors_saddle.json deleted file mode 100644 index 441ec9a..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_saddle.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:saddle", - "addition": "minecraft:saddle", - "result": { - "id": "minecraft:saddle", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_shears.json b/src/main/resources/data/strangeitems/recipe/collectors_shears.json deleted file mode 100644 index d63327b..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_shears.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:shears", - "addition": "minecraft:shears", - "result": { - "id": "minecraft:shears", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_shield.json b/src/main/resources/data/strangeitems/recipe/collectors_shield.json deleted file mode 100644 index 2de7895..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_shield.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:shield", - "addition": "minecraft:shield", - "result": { - "id": "minecraft:shield", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_spyglass.json b/src/main/resources/data/strangeitems/recipe/collectors_spyglass.json deleted file mode 100644 index 63d7f17..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_spyglass.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:spyglass", - "addition": "minecraft:spyglass", - "result": { - "id": "minecraft:spyglass", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_stone_axe.json b/src/main/resources/data/strangeitems/recipe/collectors_stone_axe.json deleted file mode 100644 index 0310d39..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_stone_axe.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:stone_axe", - "addition": "minecraft:stone_axe", - "result": { - "id": "minecraft:stone_axe", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_stone_hoe.json b/src/main/resources/data/strangeitems/recipe/collectors_stone_hoe.json deleted file mode 100644 index ea67172..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_stone_hoe.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:stone_hoe", - "addition": "minecraft:stone_hoe", - "result": { - "id": "minecraft:stone_hoe", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_stone_pickaxe.json b/src/main/resources/data/strangeitems/recipe/collectors_stone_pickaxe.json deleted file mode 100644 index 91c4aa6..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_stone_pickaxe.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:stone_pickaxe", - "addition": "minecraft:stone_pickaxe", - "result": { - "id": "minecraft:stone_pickaxe", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_stone_shovel.json b/src/main/resources/data/strangeitems/recipe/collectors_stone_shovel.json deleted file mode 100644 index a4a9d19..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_stone_shovel.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:stone_shovel", - "addition": "minecraft:stone_shovel", - "result": { - "id": "minecraft:stone_shovel", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_stone_spear.json b/src/main/resources/data/strangeitems/recipe/collectors_stone_spear.json deleted file mode 100644 index cbbd24c..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_stone_spear.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:stone_spear", - "addition": "minecraft:stone_spear", - "result": { - "id": "minecraft:stone_spear", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_stone_sword.json b/src/main/resources/data/strangeitems/recipe/collectors_stone_sword.json deleted file mode 100644 index dbfcac9..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_stone_sword.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:stone_sword", - "addition": "minecraft:stone_sword", - "result": { - "id": "minecraft:stone_sword", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_totem_of_undying.json b/src/main/resources/data/strangeitems/recipe/collectors_totem_of_undying.json deleted file mode 100644 index 128dd25..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_totem_of_undying.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:totem_of_undying", - "addition": "minecraft:totem_of_undying", - "result": { - "id": "minecraft:totem_of_undying", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_trident.json b/src/main/resources/data/strangeitems/recipe/collectors_trident.json deleted file mode 100644 index b56676e..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_trident.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:trident", - "addition": "minecraft:trident", - "result": { - "id": "minecraft:trident", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_turtle_helmet.json b/src/main/resources/data/strangeitems/recipe/collectors_turtle_helmet.json deleted file mode 100644 index a8f800c..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_turtle_helmet.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:turtle_helmet", - "addition": "minecraft:turtle_helmet", - "result": { - "id": "minecraft:turtle_helmet", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_warped_fungus_on_a_stick.json b/src/main/resources/data/strangeitems/recipe/collectors_warped_fungus_on_a_stick.json deleted file mode 100644 index b69cd15..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_warped_fungus_on_a_stick.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:warped_fungus_on_a_stick", - "addition": "minecraft:warped_fungus_on_a_stick", - "result": { - "id": "minecraft:warped_fungus_on_a_stick", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_white_bundle.json b/src/main/resources/data/strangeitems/recipe/collectors_white_bundle.json deleted file mode 100644 index 2569aa9..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_white_bundle.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:white_bundle", - "addition": "minecraft:white_bundle", - "result": { - "id": "minecraft:white_bundle", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_wolf_armor.json b/src/main/resources/data/strangeitems/recipe/collectors_wolf_armor.json deleted file mode 100644 index f123c0c..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_wolf_armor.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:wolf_armor", - "addition": "minecraft:wolf_armor", - "result": { - "id": "minecraft:wolf_armor", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_wooden_axe.json b/src/main/resources/data/strangeitems/recipe/collectors_wooden_axe.json deleted file mode 100644 index eac021a..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_wooden_axe.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:wooden_axe", - "addition": "minecraft:wooden_axe", - "result": { - "id": "minecraft:wooden_axe", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_wooden_hoe.json b/src/main/resources/data/strangeitems/recipe/collectors_wooden_hoe.json deleted file mode 100644 index 6beff57..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_wooden_hoe.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:wooden_hoe", - "addition": "minecraft:wooden_hoe", - "result": { - "id": "minecraft:wooden_hoe", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_wooden_pickaxe.json b/src/main/resources/data/strangeitems/recipe/collectors_wooden_pickaxe.json deleted file mode 100644 index c23f7a3..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_wooden_pickaxe.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:wooden_pickaxe", - "addition": "minecraft:wooden_pickaxe", - "result": { - "id": "minecraft:wooden_pickaxe", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_wooden_shovel.json b/src/main/resources/data/strangeitems/recipe/collectors_wooden_shovel.json deleted file mode 100644 index 41b7de7..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_wooden_shovel.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:wooden_shovel", - "addition": "minecraft:wooden_shovel", - "result": { - "id": "minecraft:wooden_shovel", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_wooden_spear.json b/src/main/resources/data/strangeitems/recipe/collectors_wooden_spear.json deleted file mode 100644 index aedc076..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_wooden_spear.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:wooden_spear", - "addition": "minecraft:wooden_spear", - "result": { - "id": "minecraft:wooden_spear", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_wooden_sword.json b/src/main/resources/data/strangeitems/recipe/collectors_wooden_sword.json deleted file mode 100644 index 102bb7b..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_wooden_sword.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:wooden_sword", - "addition": "minecraft:wooden_sword", - "result": { - "id": "minecraft:wooden_sword", - "components": {} - } -} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/recipe/collectors_yellow_bundle.json b/src/main/resources/data/strangeitems/recipe/collectors_yellow_bundle.json deleted file mode 100644 index 793dd80..0000000 --- a/src/main/resources/data/strangeitems/recipe/collectors_yellow_bundle.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "smithing_transform", - "template": "minecraft:echo_shard", - "base": "minecraft:yellow_bundle", - "addition": "minecraft:yellow_bundle", - "result": { - "id": "minecraft:yellow_bundle", - "components": { - "strangeitems:collectors_item": {} - } - } -} \ No newline at end of file From 1d118415296d45fed24108d103b47481772063ca Mon Sep 17 00:00:00 2001 From: Embin <113154360+embinmc@users.noreply.github.com> Date: Fri, 6 Mar 2026 17:32:42 -0800 Subject: [PATCH 13/28] custom collectors recipe type thingy --- .../CollectorsTransformRecipe.java | 83 +++++++++++++++++++ .../mod/strangeitems/StrangeItems.java | 4 + .../client/StrangeItemsClient.java | 1 - .../strangeitems/recipe/collectors_item.json | 5 ++ .../tags/item/can_make_collectors_item.json | 7 ++ 5 files changed, 99 insertions(+), 1 deletion(-) create mode 100644 src/main/java/embinmc/mod/strangeitems/CollectorsTransformRecipe.java create mode 100644 src/main/resources/data/strangeitems/recipe/collectors_item.json create mode 100644 src/main/resources/data/strangeitems/tags/item/can_make_collectors_item.json diff --git a/src/main/java/embinmc/mod/strangeitems/CollectorsTransformRecipe.java b/src/main/java/embinmc/mod/strangeitems/CollectorsTransformRecipe.java new file mode 100644 index 0000000..7446d8d --- /dev/null +++ b/src/main/java/embinmc/mod/strangeitems/CollectorsTransformRecipe.java @@ -0,0 +1,83 @@ +package embinmc.mod.strangeitems; + +import com.mojang.serialization.MapCodec; +import com.mojang.serialization.codecs.RecordCodecBuilder; +import embinmc.mod.strangeitems.util.StrangeUtil; +import net.minecraft.core.component.DataComponents; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.component.CustomData; +import net.minecraft.world.item.crafting.*; +import net.minecraft.world.level.Level; +import org.jspecify.annotations.NonNull; + +import java.util.List; +import java.util.Optional; + +public class CollectorsTransformRecipe extends SimpleSmithingRecipe { + private final Ingredient target, transformer; + + public static final MapCodec CODEC = RecordCodecBuilder.mapCodec(c -> c.group( + Recipe.CommonInfo.MAP_CODEC.forGetter(o -> o.commonInfo), + Ingredient.CODEC.fieldOf("target").forGetter(o -> o.target), + Ingredient.CODEC.fieldOf("transformer").forGetter(o -> o.transformer) + ).apply(c, CollectorsTransformRecipe::new)); + public static final StreamCodec STREAM_CODEC = StreamCodec.composite( + Recipe.CommonInfo.STREAM_CODEC, + o -> o.commonInfo, + Ingredient.CONTENTS_STREAM_CODEC, + o -> o.target, + Ingredient.CONTENTS_STREAM_CODEC, + o -> o.transformer, + CollectorsTransformRecipe::new + ); + public static final RecipeSerializer SERIALIZER = new RecipeSerializer<>(CODEC, STREAM_CODEC); + + protected CollectorsTransformRecipe(CommonInfo commonInfo, Ingredient target, Ingredient transformer) { + super(commonInfo); + this.target = target; + this.transformer = transformer; + } + + @Override + public @NonNull ItemStack assemble(SmithingRecipeInput input) { + ItemStack itemStack = new ItemStack(input.base().typeHolder(), input.base().count(), input.base().getComponentsPatch()); + itemStack.update(DataComponents.CUSTOM_DATA, CustomData.EMPTY, cd -> cd.update(nbt -> nbt.putBoolean(StrangeUtil.COLLECTORS_ITEM_TAG, true))); + return itemStack; + } + + @Override + public boolean matches(@NonNull SmithingRecipeInput input, @NonNull Level level) { + return super.matches(input, level) && input.base().getItem() == input.addition().getItem(); + } + + @Override + public @NonNull RecipeSerializer getSerializer() { + return CollectorsTransformRecipe.SERIALIZER; + } + + @Override + public @NonNull Optional templateIngredient() { + return Optional.of(this.transformer); + } + + @Override + public @NonNull Ingredient baseIngredient() { + return this.target; + } + + @Override + public @NonNull Optional additionIngredient() { + return Optional.of(this.target); + } + + @Override + protected @NonNull PlacementInfo createPlacementInfo() { + return PlacementInfo.create(List.of( + this.transformer, + this.target, + this.target + )); + } +} diff --git a/src/main/java/embinmc/mod/strangeitems/StrangeItems.java b/src/main/java/embinmc/mod/strangeitems/StrangeItems.java index 48e4cae..8bd37b1 100644 --- a/src/main/java/embinmc/mod/strangeitems/StrangeItems.java +++ b/src/main/java/embinmc/mod/strangeitems/StrangeItems.java @@ -1,8 +1,11 @@ package embinmc.mod.strangeitems; import embinmc.mod.strangeitems.tracker.Trackers; +import embinmc.mod.strangeitems.util.Id; import net.fabricmc.api.ModInitializer; import net.fabricmc.loader.api.FabricLoader; +import net.minecraft.core.Registry; +import net.minecraft.core.registries.BuiltInRegistries; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -23,6 +26,7 @@ public void onInitialize() { StrangeItemsComponents.init(); SIRegisteredEvents.registerEvents(); + Registry.register(BuiltInRegistries.RECIPE_SERIALIZER, Id.of("smithing_collectors"), CollectorsTransformRecipe.SERIALIZER); LOGGER.info("These items... they're strange..."); //StrangeItems.LOGGER.info("Reading config..."); diff --git a/src/main/java/embinmc/mod/strangeitems/client/StrangeItemsClient.java b/src/main/java/embinmc/mod/strangeitems/client/StrangeItemsClient.java index 6183e2e..f595edd 100644 --- a/src/main/java/embinmc/mod/strangeitems/client/StrangeItemsClient.java +++ b/src/main/java/embinmc/mod/strangeitems/client/StrangeItemsClient.java @@ -68,7 +68,6 @@ public void onInitializeClient() { ClientCommandRegistrationCallback.EVENT.register((commandDispatcher, commandBuildContext) -> { commandDispatcher.register(ClientCommands.literal("strangeitems:debug_listComponents").executes(context -> { FabricClientCommandSource source = context.getSource(); - //LOGGER.info(source.getPlayer().getActiveItem().getComponents().toString()); source.sendFeedback(Component.literal(DataComponentMap.builder().addAll(source.getPlayer().getActiveItem().getComponents().filter(dct -> { String namespace = BuiltInRegistries.DATA_COMPONENT_TYPE.getKey(dct).getNamespace(); return namespace.equals(StrangeItems.MOD_ID) || dct == DataComponents.CUSTOM_DATA; diff --git a/src/main/resources/data/strangeitems/recipe/collectors_item.json b/src/main/resources/data/strangeitems/recipe/collectors_item.json new file mode 100644 index 0000000..70df0b6 --- /dev/null +++ b/src/main/resources/data/strangeitems/recipe/collectors_item.json @@ -0,0 +1,5 @@ +{ + "type": "strangeitems:smithing_collectors", + "target": "#strangeitems:can_make_collectors_item", + "transformer": "minecraft:echo_shard" +} \ No newline at end of file diff --git a/src/main/resources/data/strangeitems/tags/item/can_make_collectors_item.json b/src/main/resources/data/strangeitems/tags/item/can_make_collectors_item.json new file mode 100644 index 0000000..dea212e --- /dev/null +++ b/src/main/resources/data/strangeitems/tags/item/can_make_collectors_item.json @@ -0,0 +1,7 @@ +{ + "values":[ + "#strangeitems:can_track_stats", + "#minecraft:music_discs", + "#minecraft:bundles" + ] +} \ No newline at end of file From a7d48300b5f2effbde47d771a73085c7cd7d0495 Mon Sep 17 00:00:00 2001 From: Embin <113154360+embinmc@users.noreply.github.com> Date: Fri, 6 Mar 2026 18:26:21 -0800 Subject: [PATCH 14/28] Update can_make_collectors_item.json --- .../tags/item/can_make_collectors_item.json | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/main/resources/data/strangeitems/tags/item/can_make_collectors_item.json b/src/main/resources/data/strangeitems/tags/item/can_make_collectors_item.json index dea212e..3727361 100644 --- a/src/main/resources/data/strangeitems/tags/item/can_make_collectors_item.json +++ b/src/main/resources/data/strangeitems/tags/item/can_make_collectors_item.json @@ -1,7 +1,20 @@ { "values":[ "#strangeitems:can_track_stats", - "#minecraft:music_discs", - "#minecraft:bundles" + "#minecraft:bundles", + "#minecraft:compasses", + "#c:music_discs", + "#c:armors/horse", + "#c:armors/nautilus", + "#c:armors/wolf", + "#c:nether_stars", + "minecraft:carrot_on_a_stick", + "minecraft:warped_fungus_on_a_stick", + "minecraft:saddle", + "minecraft:spyglass", + "minecraft:shield", + "minecraft:heavy_core", + "minecraft:goat_horn", + "minecraft:totem_of_undying" ] } \ No newline at end of file From 93409d897350dde5be9f5af81c96985769ef724b Mon Sep 17 00:00:00 2001 From: Embin <113154360+embinmc@users.noreply.github.com> Date: Fri, 6 Mar 2026 19:54:43 -0800 Subject: [PATCH 15/28] my GENIUS mixin...... --- .../mod/strangeitems/mixin/ExampleMixin.java | 28 ----------- ...tMixin.java => ItemEnchantmentsMixin.java} | 2 +- .../mixin/SmithingScreenMixin.java | 48 +++++++++++++++++++ .../assets/strangeitems/lang/en_us.json | 2 + src/main/resources/strangeitems.mixins.json | 10 ++-- 5 files changed, 56 insertions(+), 34 deletions(-) delete mode 100644 src/main/java/embinmc/mod/strangeitems/mixin/ExampleMixin.java rename src/main/java/embinmc/mod/strangeitems/mixin/{EnchantmentMixin.java => ItemEnchantmentsMixin.java} (97%) create mode 100644 src/main/java/embinmc/mod/strangeitems/mixin/SmithingScreenMixin.java diff --git a/src/main/java/embinmc/mod/strangeitems/mixin/ExampleMixin.java b/src/main/java/embinmc/mod/strangeitems/mixin/ExampleMixin.java deleted file mode 100644 index d699577..0000000 --- a/src/main/java/embinmc/mod/strangeitems/mixin/ExampleMixin.java +++ /dev/null @@ -1,28 +0,0 @@ -package embinmc.mod.strangeitems.mixin; - -import net.minecraft.core.BlockPos; -import net.minecraft.world.level.Level; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Overwrite; - -@Mixin(Level.class) -public class ExampleMixin { - - /** - * @author Embin - * @reason Test - */ - @Overwrite - private static boolean isInWorldBoundsHorizontal(BlockPos pos) { - return true; - } - - /** - * @author Embin - * @reason Test - */ - @Overwrite - private static boolean isOutsideSpawnableHeight(int y) { - return false; - } -} \ No newline at end of file diff --git a/src/main/java/embinmc/mod/strangeitems/mixin/EnchantmentMixin.java b/src/main/java/embinmc/mod/strangeitems/mixin/ItemEnchantmentsMixin.java similarity index 97% rename from src/main/java/embinmc/mod/strangeitems/mixin/EnchantmentMixin.java rename to src/main/java/embinmc/mod/strangeitems/mixin/ItemEnchantmentsMixin.java index 982e722..2e46072 100644 --- a/src/main/java/embinmc/mod/strangeitems/mixin/EnchantmentMixin.java +++ b/src/main/java/embinmc/mod/strangeitems/mixin/ItemEnchantmentsMixin.java @@ -21,7 +21,7 @@ import java.util.function.Consumer; @Mixin(ItemEnchantments.class) -public abstract class EnchantmentMixin { +public abstract class ItemEnchantmentsMixin { private @Shadow @Final Object2IntOpenHashMap> enchantments; diff --git a/src/main/java/embinmc/mod/strangeitems/mixin/SmithingScreenMixin.java b/src/main/java/embinmc/mod/strangeitems/mixin/SmithingScreenMixin.java new file mode 100644 index 0000000..d884c02 --- /dev/null +++ b/src/main/java/embinmc/mod/strangeitems/mixin/SmithingScreenMixin.java @@ -0,0 +1,48 @@ +package embinmc.mod.strangeitems.mixin; + +import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.client.gui.screens.inventory.ItemCombinerScreen; +import net.minecraft.client.gui.screens.inventory.SmithingScreen; +import net.minecraft.network.chat.Component; +import net.minecraft.resources.Identifier; +import net.minecraft.world.entity.player.Inventory; +import net.minecraft.world.inventory.SmithingMenu; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Items; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Desc; +import org.spongepowered.asm.mixin.injection.Redirect; + +import java.util.Optional; +import java.util.function.Consumer; + +@SuppressWarnings({"unused", "OptionalUsedAsFieldOrParameterType"}) +@Mixin(SmithingScreen.class) +abstract class SmithingScreenMixin extends ItemCombinerScreen { + private SmithingScreenMixin(SmithingMenu menu, Inventory inventory, Component title, Identifier menuResource) { + super(menu, inventory, title, menuResource); + throw new UnsupportedOperationException(); + } + + @Redirect( + method = "renderOnboardingTooltips", + at = @At(value = "INVOKE", target = "Ljava/util/Optional;ifPresent(Ljava/util/function/Consumer;)V"), + target = @Desc(value = "renderOnboardingTooltips",args={GuiGraphics.class, int.class, int.class}) + ) + private void giveDescription(Optional instance, Consumer action) { + if (this.hoveredSlot != null) { // check special case for if template item is an echo shard + ItemStack template = this.menu.getSlot(0).getItem(); + if (template.getItem() == Items.ECHO_SHARD && this.hoveredSlot.getItem().isEmpty()) { + if (this.hoveredSlot.index == 1) { + action.accept(Component.translatable("tooltip.strangeitems.smithing_collectors.base")); + return; + } else if (this.hoveredSlot.index == 2) { + action.accept(Component.translatable("tooltip.strangeitems.smithing_collectors.addition")); + return; + } + } + } + instance.ifPresent(action); // else, do vanilla code + } +} \ No newline at end of file diff --git a/src/main/resources/assets/strangeitems/lang/en_us.json b/src/main/resources/assets/strangeitems/lang/en_us.json index 9bfdc7a..0536694 100644 --- a/src/main/resources/assets/strangeitems/lang/en_us.json +++ b/src/main/resources/assets/strangeitems/lang/en_us.json @@ -4,6 +4,8 @@ "tooltip.strangeitems.map_cutoff": "and %s more...", "tooltip.strangeitems.collectors_item.item_name": "Collector's %1$s", "tooltip.strangeitems.collectors_item": "Collector's", + "tooltip.strangeitems.smithing_collectors.base": "Add an item you want to turn into a \"Collector's\" variant", + "tooltip.strangeitems.smithing_collectors.addition": "Add a copy of the inputted item", "tracker.strangeitems.blocks_mined":"Blocks Mined", "tracker.strangeitems.logs_stripped":"Blocks Stripped", diff --git a/src/main/resources/strangeitems.mixins.json b/src/main/resources/strangeitems.mixins.json index c206a8c..c411f6f 100644 --- a/src/main/resources/strangeitems.mixins.json +++ b/src/main/resources/strangeitems.mixins.json @@ -1,22 +1,20 @@ { "required": true, "package": "embinmc.mod.strangeitems.mixin", - "compatibilityLevel": "JAVA_21", + "compatibilityLevel": "JAVA_25", "mixins": [ "AbstractArrowMixin", "ArmadilloMixin", "AxeMixin", "BowMixin", "BrushMixin", - "CollectorsMixin", "CrossbowItemMixin", - "EnchantmentMixin", "EquippableComponentMixin", - "ExampleMixin", "FishingBobberMixin", "FishingRodMixin", "FlintAndSteelMixin", "HoeMixin", + "ItemEnchantmentsMixin", "ItemMixin", "LivingEntityMixin", "PlayerMixin", @@ -30,6 +28,8 @@ "defaultRequire": 1 }, "client": [ - "KeyBindAccessor" + "KeyBindAccessor", + "SmithingScreenMixin", + "CollectorsMixin" ] } \ No newline at end of file From ea38660a927ac6dc501d10887c8128a447159f54 Mon Sep 17 00:00:00 2001 From: Embin <113154360+embinmc@users.noreply.github.com> Date: Fri, 6 Mar 2026 20:06:53 -0800 Subject: [PATCH 16/28] tracker events cuz why not --- .../mod/strangeitems/event/TrackerEvents.java | 48 +++++++++++++++++++ .../mod/strangeitems/tracker/Tracker.java | 9 +++- 2 files changed, 55 insertions(+), 2 deletions(-) create mode 100644 src/main/java/embinmc/mod/strangeitems/event/TrackerEvents.java diff --git a/src/main/java/embinmc/mod/strangeitems/event/TrackerEvents.java b/src/main/java/embinmc/mod/strangeitems/event/TrackerEvents.java new file mode 100644 index 0000000..822e30f --- /dev/null +++ b/src/main/java/embinmc/mod/strangeitems/event/TrackerEvents.java @@ -0,0 +1,48 @@ +package embinmc.mod.strangeitems.event; + +import embinmc.mod.strangeitems.tracker.Tracker; +import net.fabricmc.fabric.api.event.Event; +import net.fabricmc.fabric.api.event.EventFactory; +import net.minecraft.nbt.Tag; +import net.minecraft.world.item.ItemStack; +import org.jetbrains.annotations.NotNull; + +public final class TrackerEvents { + private TrackerEvents() {} + + public static final Event<@NotNull OnAppend> ON_APPEND = EventFactory.createArrayBacked(OnAppend.class, listeners -> (tracker, itemStack, increaseAmount) -> { + for (OnAppend listener : listeners) { + boolean result = listener.onAppend(tracker, itemStack, increaseAmount); + if (!result) return false; + } + return true; + }); + + public static final Event<@NotNull WriteInt> WRITE_INT = EventFactory.createArrayBacked(WriteInt.class, listeners -> (tracker, itemStack, val) -> { + for (WriteInt listener : listeners) { + boolean result = listener.writeInt(tracker, itemStack, val); + if (!result) return false; + } + return true; + }); + + public static final Event<@NotNull WriteNbt> WRITE_NBT = EventFactory.createArrayBacked(WriteNbt.class, listeners -> (tracker, itemStack, val) -> { + for (WriteNbt listener : listeners) { + boolean result = listener.writeNbt(tracker, itemStack, val); + if (!result) return false; + } + return true; + }); + + public interface OnAppend { + boolean onAppend(Tracker tracker, ItemStack itemStack, int increaseAmount); + } + + public interface WriteInt { + boolean writeInt(Tracker tracker, ItemStack itemStack, int val); + } + + public interface WriteNbt { + boolean writeNbt(Tracker tracker, ItemStack itemStack, Tag val); + } +} diff --git a/src/main/java/embinmc/mod/strangeitems/tracker/Tracker.java b/src/main/java/embinmc/mod/strangeitems/tracker/Tracker.java index be114cc..13b02ce 100644 --- a/src/main/java/embinmc/mod/strangeitems/tracker/Tracker.java +++ b/src/main/java/embinmc/mod/strangeitems/tracker/Tracker.java @@ -3,6 +3,7 @@ import embinmc.mod.strangeitems.StrangeItemsComponents; import embinmc.mod.strangeitems.StrangeRegistries; import embinmc.mod.strangeitems.client.StrangeItemsClient; +import embinmc.mod.strangeitems.event.TrackerEvents; import embinmc.mod.strangeitems.util.Id; import embinmc.mod.strangeitems.util.StrangeUtil; import net.minecraft.ChatFormatting; @@ -61,10 +62,12 @@ public Tracker(String id, TagKey tag) { } public void setTrackerValueInt(ItemStack stack, int value) { + if (!TrackerEvents.WRITE_INT.invoker().writeInt(this, stack, value)) return; stack.update(DataComponents.CUSTOM_DATA, CustomData.EMPTY, comp -> comp.update(currentnbt -> currentnbt.putInt(this.toString(), value))); } public void setTrackerValueNbt(ItemStack stack, Tag value) { + if (!TrackerEvents.WRITE_NBT.invoker().writeNbt(this, stack, value)) return; stack.update(DataComponents.CUSTOM_DATA, CustomData.EMPTY, comp -> comp.update(currentnbt -> currentnbt.put(this.toString(), value))); } @@ -122,8 +125,10 @@ public CompoundTag getTrackerValueNbt(ItemStack stack) { */ public void appendTracker(ItemStack stack, int add_amount) { if (this.shouldTrack(stack)) { - int tracker_count = this.getTrackerValueInt(stack) + add_amount; - this.setTrackerValueInt(stack, tracker_count); + if (TrackerEvents.ON_APPEND.invoker().onAppend(this, stack, add_amount)) { + int tracker_count = this.getTrackerValueInt(stack) + add_amount; + this.setTrackerValueInt(stack, tracker_count); + } } } From b0d6224048ac4f37df0869ca694acc6e6d7d1612 Mon Sep 17 00:00:00 2001 From: Embin <113154360+embinmc@users.noreply.github.com> Date: Fri, 6 Mar 2026 20:12:07 -0800 Subject: [PATCH 17/28] Update Tracker.java --- src/main/java/embinmc/mod/strangeitems/tracker/Tracker.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/embinmc/mod/strangeitems/tracker/Tracker.java b/src/main/java/embinmc/mod/strangeitems/tracker/Tracker.java index 13b02ce..bc9d6e4 100644 --- a/src/main/java/embinmc/mod/strangeitems/tracker/Tracker.java +++ b/src/main/java/embinmc/mod/strangeitems/tracker/Tracker.java @@ -30,6 +30,7 @@ * Base Tracker class */ public class Tracker { + // god this code is a mess private static final Logger LOGGER = LoggerFactory.getLogger(Tracker.class); public String id; From 610e0ce7473b1fc296a841fc486211a79b3b810a Mon Sep 17 00:00:00 2001 From: Embin <113154360+embinmc@users.noreply.github.com> Date: Fri, 6 Mar 2026 20:14:38 -0800 Subject: [PATCH 18/28] Update CollectorsTransformRecipe.java --- .../java/embinmc/mod/strangeitems/CollectorsTransformRecipe.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/embinmc/mod/strangeitems/CollectorsTransformRecipe.java b/src/main/java/embinmc/mod/strangeitems/CollectorsTransformRecipe.java index 7446d8d..d19548b 100644 --- a/src/main/java/embinmc/mod/strangeitems/CollectorsTransformRecipe.java +++ b/src/main/java/embinmc/mod/strangeitems/CollectorsTransformRecipe.java @@ -42,6 +42,7 @@ protected CollectorsTransformRecipe(CommonInfo commonInfo, Ingredient target, In @Override public @NonNull ItemStack assemble(SmithingRecipeInput input) { + // dont override "custom data" component, modify it instead ItemStack itemStack = new ItemStack(input.base().typeHolder(), input.base().count(), input.base().getComponentsPatch()); itemStack.update(DataComponents.CUSTOM_DATA, CustomData.EMPTY, cd -> cd.update(nbt -> nbt.putBoolean(StrangeUtil.COLLECTORS_ITEM_TAG, true))); return itemStack; From 94c7c951ab75a01d30d91d9cb83072afd6a17eb0 Mon Sep 17 00:00:00 2001 From: Embin <113154360+embinmc@users.noreply.github.com> Date: Fri, 6 Mar 2026 20:15:41 -0800 Subject: [PATCH 19/28] Update CollectorsTransformRecipe.java --- .../mod/strangeitems/CollectorsTransformRecipe.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/main/java/embinmc/mod/strangeitems/CollectorsTransformRecipe.java b/src/main/java/embinmc/mod/strangeitems/CollectorsTransformRecipe.java index d19548b..b17c985 100644 --- a/src/main/java/embinmc/mod/strangeitems/CollectorsTransformRecipe.java +++ b/src/main/java/embinmc/mod/strangeitems/CollectorsTransformRecipe.java @@ -8,7 +8,12 @@ import net.minecraft.network.codec.StreamCodec; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.component.CustomData; -import net.minecraft.world.item.crafting.*; +import net.minecraft.world.item.crafting.Ingredient; +import net.minecraft.world.item.crafting.Recipe; +import net.minecraft.world.item.crafting.RecipeSerializer; +import net.minecraft.world.item.crafting.SimpleSmithingRecipe; +import net.minecraft.world.item.crafting.SmithingRecipeInput; +import net.minecraft.world.item.crafting.PlacementInfo; import net.minecraft.world.level.Level; import org.jspecify.annotations.NonNull; From 38d96f93ab11094153cdde9dff5d911727cd9fa6 Mon Sep 17 00:00:00 2001 From: Embin <113154360+embinmc@users.noreply.github.com> Date: Fri, 6 Mar 2026 20:16:10 -0800 Subject: [PATCH 20/28] Update CollectorsTransformRecipe.java --- .../java/embinmc/mod/strangeitems/CollectorsTransformRecipe.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/embinmc/mod/strangeitems/CollectorsTransformRecipe.java b/src/main/java/embinmc/mod/strangeitems/CollectorsTransformRecipe.java index b17c985..ec4c62a 100644 --- a/src/main/java/embinmc/mod/strangeitems/CollectorsTransformRecipe.java +++ b/src/main/java/embinmc/mod/strangeitems/CollectorsTransformRecipe.java @@ -55,6 +55,7 @@ protected CollectorsTransformRecipe(CommonInfo commonInfo, Ingredient target, In @Override public boolean matches(@NonNull SmithingRecipeInput input, @NonNull Level level) { + // require base and addition items to be the same return super.matches(input, level) && input.base().getItem() == input.addition().getItem(); } From c8ab0cb406957eae801cd5c216f64e7b703b0ede Mon Sep 17 00:00:00 2001 From: Embin <113154360+embinmc@users.noreply.github.com> Date: Fri, 6 Mar 2026 21:02:05 -0800 Subject: [PATCH 21/28] map tracker id redirects --- .../mod/strangeitems/tracker/MapTracker.java | 16 +++++++++++++++- .../tags/item/can_make_collectors_item.json | 4 +++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/main/java/embinmc/mod/strangeitems/tracker/MapTracker.java b/src/main/java/embinmc/mod/strangeitems/tracker/MapTracker.java index dcab5a5..01539c8 100644 --- a/src/main/java/embinmc/mod/strangeitems/tracker/MapTracker.java +++ b/src/main/java/embinmc/mod/strangeitems/tracker/MapTracker.java @@ -1,11 +1,14 @@ package embinmc.mod.strangeitems.tracker; +import embinmc.mod.strangeitems.StrangeItems; import embinmc.mod.strangeitems.client.StrangeItemsClient; import embinmc.mod.strangeitems.client.StrangeOptions; import embinmc.mod.strangeitems.client.config.StrangeConfig; import embinmc.mod.strangeitems.util.StrangeUtil; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; +import java.util.HashMap; +import java.util.Map; import java.util.function.Consumer; import net.minecraft.ChatFormatting; import net.minecraft.client.KeyMapping; @@ -24,6 +27,7 @@ import net.minecraft.world.item.component.CustomData; public class MapTracker extends Tracker { + private final Map idRedirects = HashMap.newHashMap(12); public String map_id; public String translation_prefix; @@ -50,9 +54,15 @@ public void appendTracker(ItemStack stack, String key) { super.appendTracker(stack, 1); if (this.shouldTrack(stack) || this.stackHasTracker(stack)) { if (StrangeConfig.in_depth_tracking) { - int tracker_count = this.getTrackerValueNbt(stack).getInt(key).orElse(0) + 1; + String redirectedKey = this.idRedirects.getOrDefault(key, key); CompoundTag nbt = this.getTrackerValueNbt(stack).copy(); + boolean hasOldTag = nbt.contains(redirectedKey); // i dont know, man + int tracker_count = this.getTrackerValueNbt(stack).getIntOr(hasOldTag ? redirectedKey : key, 0) + 1; nbt.putInt(key, tracker_count); + if (hasOldTag && !redirectedKey.equals(key)) { + nbt.remove(redirectedKey); + StrangeItems.LOGGER.info("Redirected id {} to {}", key, redirectedKey); + } this.setTrackerValueNbt(stack, nbt); } } @@ -129,4 +139,8 @@ public boolean stackHasMapTracker(ItemStack stack) { public KeyMapping getKeybinding() { return TrackerKeybindings.get_map_keybind(this); } + + public void addIdRedirect(Identifier target, Identifier replace) { + this.idRedirects.put(replace.toString(), target.toString()); + } } diff --git a/src/main/resources/data/strangeitems/tags/item/can_make_collectors_item.json b/src/main/resources/data/strangeitems/tags/item/can_make_collectors_item.json index 3727361..ae9cbd0 100644 --- a/src/main/resources/data/strangeitems/tags/item/can_make_collectors_item.json +++ b/src/main/resources/data/strangeitems/tags/item/can_make_collectors_item.json @@ -3,6 +3,7 @@ "#strangeitems:can_track_stats", "#minecraft:bundles", "#minecraft:compasses", + "#minecraft:harnesses", "#c:music_discs", "#c:armors/horse", "#c:armors/nautilus", @@ -15,6 +16,7 @@ "minecraft:shield", "minecraft:heavy_core", "minecraft:goat_horn", - "minecraft:totem_of_undying" + "minecraft:totem_of_undying", + "minecraft:writable_book" ] } \ No newline at end of file From de0399d1503650ea41a217b11154ddb4da43d1fb Mon Sep 17 00:00:00 2001 From: Embin <113154360+embinmc@users.noreply.github.com> Date: Fri, 6 Mar 2026 21:13:43 -0800 Subject: [PATCH 22/28] fix timestamp tracker showing 1 more than it should --- .../embinmc/mod/strangeitems/tracker/TimestampTracker.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/embinmc/mod/strangeitems/tracker/TimestampTracker.java b/src/main/java/embinmc/mod/strangeitems/tracker/TimestampTracker.java index f7eeef8..c7f7029 100644 --- a/src/main/java/embinmc/mod/strangeitems/tracker/TimestampTracker.java +++ b/src/main/java/embinmc/mod/strangeitems/tracker/TimestampTracker.java @@ -57,7 +57,7 @@ public void append_tooltip_map(ItemStack stack, Consumer tooltip, Cal int size = this.getTrackerValueInt(stack) - 1; for (int i = size; i >= 0; i--) { String key = String.valueOf(i + 1); - if ((size - StrangeOptions.mapElementLimit()) <= i || StrangeUtil.isTooltipScrollInstalled()) { + if ((size - StrangeOptions.mapElementLimit()) < i || StrangeUtil.isTooltipScrollInstalled()) { Component stat_text = Component.translatable("tooltip.strangeitems.unknown_value").withStyle(ChatFormatting.DARK_GRAY); if (this.getTrackerValueNbt(stack).contains(key)) { long tracker_value = this.getTrackerValueNbt(stack).getLong(key).orElse(0L); @@ -69,8 +69,8 @@ public void append_tooltip_map(ItemStack stack, Consumer tooltip, Cal tooltip.accept(Component.literal(" ").append(tooltip_text).append(stat_text)); } } - if (size >= (StrangeOptions.mapElementLimit() + 1) && !StrangeUtil.isTooltipScrollInstalled()) { - tooltip.accept(Component.translatable("tooltip.strangeitems.map_cutoff", size - StrangeOptions.mapElementLimit()).withStyle(ChatFormatting.ITALIC)); + if (size > (StrangeOptions.mapElementLimit() + 1) && !StrangeUtil.isTooltipScrollInstalled()) { + tooltip.accept(Component.translatable("tooltip.strangeitems.map_cutoff", size - StrangeOptions.mapElementLimit() + 1).withStyle(ChatFormatting.ITALIC)); } StrangeUtil.addItemIdToTooltip(stack, tooltip, type); ci.cancel(); From 91524810855140ffd490fde3b915baf86bac1a52 Mon Sep 17 00:00:00 2001 From: Embin <113154360+embinmc@users.noreply.github.com> Date: Fri, 6 Mar 2026 22:24:53 -0800 Subject: [PATCH 23/28] blee bloo --- .../strangeitems/client/StrangeOptions.java | 4 +- .../mod/strangeitems/mixin/ItemMixin.java | 42 +++++++------------ .../mod/strangeitems/tracker/MapTracker.java | 1 + .../mod/strangeitems/tracker/Tracker.java | 1 + .../assets/strangeitems/lang/en_us.json | 2 +- 5 files changed, 21 insertions(+), 29 deletions(-) diff --git a/src/main/java/embinmc/mod/strangeitems/client/StrangeOptions.java b/src/main/java/embinmc/mod/strangeitems/client/StrangeOptions.java index ff1f14b..d88f3a3 100644 --- a/src/main/java/embinmc/mod/strangeitems/client/StrangeOptions.java +++ b/src/main/java/embinmc/mod/strangeitems/client/StrangeOptions.java @@ -15,7 +15,7 @@ public class StrangeOptions { "options.strangeitems.map_element_limit", OptionInstance.noTooltip(), (caption, value) -> { String key = "options.strangeitems.map_element_limit.unlimited"; - Component valStr = (value >= UNLIMITED_POINT ? Component.translatable(key) : Component.literal(String.valueOf(value))).withStyle(ChatFormatting.YELLOW); + Component valStr = (value >= UNLIMITED_POINT ? Component.translatable(key) : Component.literal(String.valueOf(value))); return caption.copy().append(": ").append(valStr); }, new OptionInstance.IntRange(3, UNLIMITED_POINT, true), 8, num -> {} @@ -37,7 +37,7 @@ public static OptionInstance mapElementLimitOption() { public static int mapElementLimit() { int val = StrangeOptions.MAP_ELEMEMT_LIMIT.get(); - return val >= UNLIMITED_POINT ? 999_999 : val; + return val >= UNLIMITED_POINT ? 512 : val; } public static OptionInstance showTrackersInTooltipOption() { diff --git a/src/main/java/embinmc/mod/strangeitems/mixin/ItemMixin.java b/src/main/java/embinmc/mod/strangeitems/mixin/ItemMixin.java index 55b45bb..c846110 100644 --- a/src/main/java/embinmc/mod/strangeitems/mixin/ItemMixin.java +++ b/src/main/java/embinmc/mod/strangeitems/mixin/ItemMixin.java @@ -13,7 +13,6 @@ import net.minecraft.world.item.component.CustomData; import net.minecraft.world.level.Level; import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Overwrite; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; @@ -106,37 +105,28 @@ public void nameColorMixin(Item.TooltipContext context, Player player, TooltipFl */ } - @Inject(at = @At(value = "HEAD"), method = "inventoryTick") + @Inject(at = @At(value = "TAIL"), method = "inventoryTick") public void fixTick(Level level, Entity owner, EquipmentSlot slot, CallbackInfo ci) { - ItemStack stack = (ItemStack)(Object) this; - if (level.isClientSide()) return; - if (stack.has(StrangeItemsComponents.COLLECTORS_ITEM)) { - stack.remove(StrangeItemsComponents.COLLECTORS_ITEM); - stack.update(DataComponents.CUSTOM_DATA, CustomData.EMPTY, cd -> cd.update(nbt -> nbt.putBoolean(StrangeUtil.COLLECTORS_ITEM_TAG, true))); - StrangeItems.LOGGER.info("Fixed collector's status of {}", stack); - } - if (stack.has(StrangeItemsComponents.HAS_ALL_TRACKERS)) { - stack.remove(StrangeItemsComponents.HAS_ALL_TRACKERS); - stack.update(DataComponents.CUSTOM_DATA, CustomData.EMPTY, cd -> cd.update(nbt -> nbt.putBoolean(StrangeUtil.HAS_ALL_TRACKERS_TAG, true))); - StrangeItems.LOGGER.info("Fixed full tracking status of {}", stack); + if (!level.isClientSide()) { + ItemStack stack = (ItemStack)(Object) this; + if (stack.has(StrangeItemsComponents.COLLECTORS_ITEM)) { + stack.remove(StrangeItemsComponents.COLLECTORS_ITEM); + stack.update(DataComponents.CUSTOM_DATA, CustomData.EMPTY, cd -> cd.update(nbt -> nbt.putBoolean(StrangeUtil.COLLECTORS_ITEM_TAG, true))); + StrangeItems.LOGGER.info("Fixed collector's status of {}", stack); + } + if (stack.has(StrangeItemsComponents.HAS_ALL_TRACKERS)) { + stack.remove(StrangeItemsComponents.HAS_ALL_TRACKERS); + stack.update(DataComponents.CUSTOM_DATA, CustomData.EMPTY, cd -> cd.update(nbt -> nbt.putBoolean(StrangeUtil.HAS_ALL_TRACKERS_TAG, true))); + StrangeItems.LOGGER.info("Fixed full tracking status of {}", stack); + } } } - /** - * @author Embin - * @reason bleh - */ - @Overwrite() - public Component getHoverName() { + @Inject(method = "getHoverName", at = @At(value = "RETURN", ordinal = 1), cancellable = true) + public void collectorsName(CallbackInfoReturnable cir) { ItemStack stack = (ItemStack)(Object) this; - - Component text = stack.getCustomName(); - if (text != null) { - return text; - } if (StrangeUtil.isCollectors(stack)) { - return Component.translatable("tooltip.strangeitems.collectors_item.item_name", stack.getItemName()); + cir.setReturnValue(Component.translatable("tooltip.strangeitems.collectors_item.item_name", cir.getReturnValue())); } - return stack.getItemName(); } } diff --git a/src/main/java/embinmc/mod/strangeitems/tracker/MapTracker.java b/src/main/java/embinmc/mod/strangeitems/tracker/MapTracker.java index 01539c8..1595b42 100644 --- a/src/main/java/embinmc/mod/strangeitems/tracker/MapTracker.java +++ b/src/main/java/embinmc/mod/strangeitems/tracker/MapTracker.java @@ -26,6 +26,7 @@ import net.minecraft.world.item.TooltipFlag; import net.minecraft.world.item.component.CustomData; +// TODO: rewrite all this dog shit public class MapTracker extends Tracker { private final Map idRedirects = HashMap.newHashMap(12); public String map_id; diff --git a/src/main/java/embinmc/mod/strangeitems/tracker/Tracker.java b/src/main/java/embinmc/mod/strangeitems/tracker/Tracker.java index bc9d6e4..be668a0 100644 --- a/src/main/java/embinmc/mod/strangeitems/tracker/Tracker.java +++ b/src/main/java/embinmc/mod/strangeitems/tracker/Tracker.java @@ -29,6 +29,7 @@ /** * Base Tracker class */ +// TODO: rewrite all this dog shit public class Tracker { // god this code is a mess private static final Logger LOGGER = LoggerFactory.getLogger(Tracker.class); diff --git a/src/main/resources/assets/strangeitems/lang/en_us.json b/src/main/resources/assets/strangeitems/lang/en_us.json index 0536694..1c49f7b 100644 --- a/src/main/resources/assets/strangeitems/lang/en_us.json +++ b/src/main/resources/assets/strangeitems/lang/en_us.json @@ -73,5 +73,5 @@ "options.strangeitems.map_element_limit": "Tracker Element Limit", "options.strangeitems.map_element_limit.unlimited": "∞", - "options.strangeitems.show_trackers_in_tooltip": "Tracker Tooltip" + "options.strangeitems.show_trackers_in_tooltip": "Trackers Tooltip" } \ No newline at end of file From b2c391a40848da5d3bf8e5a2d4d2d361d5795a4f Mon Sep 17 00:00:00 2001 From: Embin <113154360+embinmc@users.noreply.github.com> Date: Fri, 6 Mar 2026 22:25:12 -0800 Subject: [PATCH 24/28] fix again... --- .../embinmc/mod/strangeitems/tracker/TimestampTracker.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/embinmc/mod/strangeitems/tracker/TimestampTracker.java b/src/main/java/embinmc/mod/strangeitems/tracker/TimestampTracker.java index c7f7029..691dd0e 100644 --- a/src/main/java/embinmc/mod/strangeitems/tracker/TimestampTracker.java +++ b/src/main/java/embinmc/mod/strangeitems/tracker/TimestampTracker.java @@ -22,6 +22,7 @@ import net.minecraft.world.item.TooltipFlag; import net.minecraft.world.item.component.CustomData; +// TODO: rewrite all this dog shit public class TimestampTracker extends Tracker { public String map_id; public TimestampTracker(String id) { @@ -51,6 +52,7 @@ public void setTrackerValueNbt(ItemStack stack, Tag value) { stack.update(DataComponents.CUSTOM_DATA, CustomData.EMPTY, comp -> comp.update(currentnbt -> currentnbt.put(this.map_id, value))); } + // why does this differ from maptracker public void append_tooltip_map(ItemStack stack, Consumer tooltip, CallbackInfo ci, TooltipFlag type) { if (this.shouldTrack(stack) && should_show_tooltip(stack)) { this.appendTooltipNoSpace(stack, tooltip, type); @@ -69,7 +71,7 @@ public void append_tooltip_map(ItemStack stack, Consumer tooltip, Cal tooltip.accept(Component.literal(" ").append(tooltip_text).append(stat_text)); } } - if (size > (StrangeOptions.mapElementLimit() + 1) && !StrangeUtil.isTooltipScrollInstalled()) { + if (size >= StrangeOptions.mapElementLimit() && !StrangeUtil.isTooltipScrollInstalled()) { tooltip.accept(Component.translatable("tooltip.strangeitems.map_cutoff", size - StrangeOptions.mapElementLimit() + 1).withStyle(ChatFormatting.ITALIC)); } StrangeUtil.addItemIdToTooltip(stack, tooltip, type); From ba88b64f3adc7e1e1756c4d4bd547edde553e539 Mon Sep 17 00:00:00 2001 From: Embin <113154360+embinmc@users.noreply.github.com> Date: Fri, 6 Mar 2026 22:29:18 -0800 Subject: [PATCH 25/28] . --- deps/vanillaoptionsapi-1.0.0-sources.jar | Bin 20708 -> 20713 bytes deps/vanillaoptionsapi-1.0.0.jar | Bin 35733 -> 37937 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/deps/vanillaoptionsapi-1.0.0-sources.jar b/deps/vanillaoptionsapi-1.0.0-sources.jar index 0a975a80505d2797e9800b13983110c8eedba196..2f1293a5cf2b99b7b77f04815daf087d849fb327 100644 GIT binary patch delta 701 zcmaE|kn!b0#tAK)T+E3Ziy0XhE>7$fuMhO~KI|Z1yZyp{0kMP4Ws@^>g90WzI@n#c ziv4Bc?we-8n|3Fr3+pcZfA{Yu(JYRXvU}B&x95Lb{IEe`eQOGLqQDlV&1?32i(L`p zS+#6I=8U|xhbL@xV7eiH@=4NszIF~xwbu9gi;SwfFTHvBS5-)>@s7ibs(X8!SEsfe ziVBdfKVwxgUuUJh;bGY*MZ>Jf^z7UVFYWFYI?Q{@B~tj*=s=A2=^dpX><+B3KHR!| z@~vB9>6QB!qsz5VZ9NmemG{@5Ka>1wIfSJjI3@15P!reV9p$2YU~zTZIg5GzCu|$H zWeLA@`kJt1l2c`Ii}{1qERmbDO*OjR?{oTZFOkU)E~?imb@l(hKy%5I4g5DQPj~+; zw9j$wpZOVhTwYf*~mTi&QylkzcZnw+LP4iU0=xu#;VdMRC?@yf6of}tKdEV``QM3%>T$XF3RBntNF?MocdBGG%O-yd210 zGx?#H3*%!TDK*)_+m%U1d2+m=;G`6(+O!YB72MS?NsD#y~0g$vb`Rn68?DncSullMVc|nC6&)xz&F5Os_4# z%-enrOdG7gOdEe|rW_kEbB4bolZ!o=`ODvq>AxeG85v;Dw8Lfcc^8w(=K=)Srn@r$ F0RUC2DGmSt delta 692 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 Mi%1cdvsr~;Lj0L0=@=LxwzXh99^4LS zoGUQMo0eSLivRZKLnuR_lxJXn4u&;+gE?MC^G6i{zD7G_m4(BE4C&xIRLUs#?}mA# zd<~Six>lL$=z1v@4rF6R6|`Nx+WnaOud!dwZ}adzT>i9Note z(q24nfR#J=A<8TP{>O8k;VAvCgT38Z-E61*n1f~$0mPqq}f(7Pm#RzjD=x{?YQ zR7`1+ZgQre+Nes_91Ud1TZ(d}P=*)0)K4gjHGkl*_<(xN@|?8dh;1-{B8!m9YNy1@ zTEklA8OP$1qc^t9`ArLRr8yHt0vRjV3!hOEX)qqm-3-EZ&8bF;41cK>vZN%bEVaUC zfTzmwsRX9Ce(lk8m~lWUPq0bP^2kyrwRUX!0* z8ev)zlER*q)ZvkqPVUu4Q_~`EYeF6XgIs^a!82}^z0000000000q=5mG N+mlcRwS52p001iJ6}SKZ From c0ea80f8626d74b8cd165923a3636f0c4e4cc750 Mon Sep 17 00:00:00 2001 From: Embin <113154360+embinmc@users.noreply.github.com> Date: Fri, 6 Mar 2026 23:51:44 -0800 Subject: [PATCH 26/28] we good? --- build.gradle | 4 +++- deps/vanillaoptionsapi-1.0.0-sources.jar | Bin 20713 -> 17799 bytes deps/vanillaoptionsapi-1.0.0.jar | Bin 37937 -> 35023 bytes gradle.properties | 4 ++-- .../client/StrangeItemsClient.java | 2 +- .../strangeitems/client/StrangeOptions.java | 1 - 6 files changed, 6 insertions(+), 5 deletions(-) diff --git a/build.gradle b/build.gradle index 823774e..2452a2e 100644 --- a/build.gradle +++ b/build.gradle @@ -37,11 +37,13 @@ dependencies { api "com.terraformersmc:modmenu:17.0.0-alpha.1" } - api files( + implementation files( "${rootProject.projectDir}/deps/vanillaoptionsapi-1.0.0.jar", "${rootProject.projectDir}/deps/vanillaoptionsapi-1.0.0-sources.jar" ) + include "${rootProject.projectDir}/deps/vanillaoptionsapi-1.0.0.jar" + implementation 'com.electronwill.night-config:json:3.6.6' } diff --git a/deps/vanillaoptionsapi-1.0.0-sources.jar b/deps/vanillaoptionsapi-1.0.0-sources.jar index 2f1293a5cf2b99b7b77f04815daf087d849fb327..435d292e062b17b8b9bb0c651eb63975d085f05d 100644 GIT binary patch delta 4390 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

?PhAkJ* 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 Ypn4CJjFV0Ro^O-flTQZkdH?_b0I1#=3IG5A delta 7102 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 Date: Sat, 7 Mar 2026 23:32:24 -0800 Subject: [PATCH 27/28] remove target --- gradle.properties | 2 +- .../embinmc/mod/strangeitems/mixin/SmithingScreenMixin.java | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/gradle.properties b/gradle.properties index 3f5c40d..ffe024c 100644 --- a/gradle.properties +++ b/gradle.properties @@ -9,7 +9,7 @@ loader_version=0.18.4 loom_version=1.15-SNAPSHOT # Mod Properties -mod_version=1.6.0 +mod_version=1.6.0-beta.1 maven_group=embinmc.mod archives_base_name=strangeitems diff --git a/src/main/java/embinmc/mod/strangeitems/mixin/SmithingScreenMixin.java b/src/main/java/embinmc/mod/strangeitems/mixin/SmithingScreenMixin.java index d884c02..9a3b4e7 100644 --- a/src/main/java/embinmc/mod/strangeitems/mixin/SmithingScreenMixin.java +++ b/src/main/java/embinmc/mod/strangeitems/mixin/SmithingScreenMixin.java @@ -27,8 +27,7 @@ private SmithingScreenMixin(SmithingMenu menu, Inventory inventory, Component ti @Redirect( method = "renderOnboardingTooltips", - at = @At(value = "INVOKE", target = "Ljava/util/Optional;ifPresent(Ljava/util/function/Consumer;)V"), - target = @Desc(value = "renderOnboardingTooltips",args={GuiGraphics.class, int.class, int.class}) + at = @At(value = "INVOKE", target = "Ljava/util/Optional;ifPresent(Ljava/util/function/Consumer;)V") ) private void giveDescription(Optional instance, Consumer action) { if (this.hoveredSlot != null) { // check special case for if template item is an echo shard From 89b5dccc0009124771a01b5839e43696132dc9b4 Mon Sep 17 00:00:00 2001 From: Embin <113154360+embinmc@users.noreply.github.com> Date: Sat, 7 Mar 2026 23:34:16 -0800 Subject: [PATCH 28/28] Update build.gradle --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 2452a2e..fbdd0a9 100644 --- a/build.gradle +++ b/build.gradle @@ -42,7 +42,7 @@ dependencies { "${rootProject.projectDir}/deps/vanillaoptionsapi-1.0.0-sources.jar" ) - include "${rootProject.projectDir}/deps/vanillaoptionsapi-1.0.0.jar" + // include "${rootProject.projectDir}\\deps\\vanillaoptionsapi-1.0.0.jar" implementation 'com.electronwill.night-config:json:3.6.6'