From 9a9dc9467bde9946692c66eef21c99ea7840b6af Mon Sep 17 00:00:00 2001 From: melontini <104443436+melontini@users.noreply.github.com> Date: Sat, 27 Apr 2024 20:01:23 +0700 Subject: [PATCH 1/6] Add option to disable the item group. --- .../andromeda/base/AndromedaConfig.java | 2 + .../melontini/andromeda/common/Andromeda.java | 75 +++++------------- .../common/client/AndromedaClient.java | 4 +- .../common/registries/AndromedaItemGroup.java | 77 +++++++++++++++---- .../andromeda/common/registries/Common.java | 10 --- .../modules/blocks/incubator/Main.java | 3 +- .../modules/entities/boats/BoatItems.java | 4 +- .../entities/minecarts/MinecartItems.java | 4 +- .../modules/items/infinite_totem/Main.java | 4 +- .../modules/items/lockpick/Main.java | 4 +- .../andromeda/modules/items/magnet/Main.java | 4 +- .../andromeda/modules/items/pouches/Main.java | 4 +- .../assets/andromeda/lang/en_us.json | 2 + 13 files changed, 97 insertions(+), 100 deletions(-) diff --git a/src/main/java/me/melontini/andromeda/base/AndromedaConfig.java b/src/main/java/me/melontini/andromeda/base/AndromedaConfig.java index 85163e83..367f2a6e 100644 --- a/src/main/java/me/melontini/andromeda/base/AndromedaConfig.java +++ b/src/main/java/me/melontini/andromeda/base/AndromedaConfig.java @@ -31,6 +31,8 @@ public class AndromedaConfig { public static class Config { @ConfigEntry.Gui.RequiresRestart public boolean sideOnlyMode = false; + @ConfigEntry.Gui.RequiresRestart + public boolean itemGroup = true; public boolean sendCrashReports = true; } } diff --git a/src/main/java/me/melontini/andromeda/common/Andromeda.java b/src/main/java/me/melontini/andromeda/common/Andromeda.java index c42094bc..fa745504 100644 --- a/src/main/java/me/melontini/andromeda/common/Andromeda.java +++ b/src/main/java/me/melontini/andromeda/common/Andromeda.java @@ -2,32 +2,37 @@ package me.melontini.andromeda.common;//common between modules, not environments import com.google.common.collect.ImmutableSet; import com.google.common.collect.Sets; +import com.google.gson.JsonElement; import lombok.Getter; import me.melontini.andromeda.base.AndromedaConfig; import me.melontini.andromeda.base.Module; import me.melontini.andromeda.base.ModuleManager; import me.melontini.andromeda.common.config.DataConfigs; +import me.melontini.andromeda.common.conflicts.CommonRegistries; import me.melontini.andromeda.common.registries.AndromedaItemGroup; -import me.melontini.andromeda.common.registries.Common; +import me.melontini.andromeda.common.registries.Keeper; import me.melontini.andromeda.util.CommonValues; import me.melontini.andromeda.util.Debug; import me.melontini.dark_matter.api.base.util.Support; import me.melontini.dark_matter.api.data.loading.ServerReloadersEvent; -import me.melontini.dark_matter.api.item_group.ItemGroupBuilder; import me.melontini.dark_matter.api.minecraft.util.TextUtil; import net.fabricmc.fabric.api.event.lifecycle.v1.ServerLifecycleEvents; +import net.fabricmc.fabric.api.itemgroup.v1.ItemGroupEvents; import net.fabricmc.fabric.api.networking.v1.PacketByteBufs; import net.fabricmc.fabric.api.networking.v1.ServerLoginConnectionEvents; import net.fabricmc.fabric.api.networking.v1.ServerLoginNetworking; +import net.fabricmc.fabric.api.resource.conditions.v1.ResourceConditions; import net.minecraft.item.ItemGroup; -import net.minecraft.item.ItemStack; -import net.minecraft.item.Items; import net.minecraft.server.MinecraftServer; import net.minecraft.util.Identifier; +import net.minecraft.util.JsonHelper; import net.minecraft.util.WorldSavePath; import org.jetbrains.annotations.Nullable; -import java.util.*; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Objects; +import java.util.Set; import static me.melontini.andromeda.common.registries.Common.id; import static me.melontini.andromeda.util.CommonValues.MODID; @@ -37,55 +42,7 @@ public class Andromeda { public static final Identifier VERIFY_MODULES = new Identifier(MODID, "verify_modules"); @Nullable private static Andromeda INSTANCE; - public final ItemGroup group = ItemGroupBuilder.create(id("group")) - .entries(entries -> { - Map, List> stackMap = new LinkedHashMap<>(); - AndromedaItemGroup.Acceptor acceptor = (module, stack) -> { - if (!stack.isEmpty()) { - stackMap.computeIfAbsent(module, module1 -> new ArrayList<>()).add(stack); - } - }; - AndromedaItemGroup.getAcceptors().forEach(consumer -> consumer.accept(acceptor)); - - Map, List> small = new LinkedHashMap<>(); - Map, List> big = new LinkedHashMap<>(); - - if (stackMap.isEmpty()) { - entries.add(Items.BARRIER); - return; - } - - stackMap.forEach((module, itemStacks) -> { - if (itemStacks.size() > 2) { - big.put(module, itemStacks); - } else if (!itemStacks.isEmpty()) { - small.put(module, itemStacks); - } - }); - - if (small.isEmpty() && big.isEmpty()) { - entries.add(Items.BARRIER); - return; - } - - List stacks = new ArrayList<>(); - small.forEach((m, itemStacks) -> { - ItemStack sign = new ItemStack(Items.SPRUCE_SIGN); - sign.setCustomName(TextUtil.translatable("config.andromeda.%s".formatted(m.meta().dotted()))); - stacks.add(sign); - stacks.addAll(itemStacks); - stacks.add(ItemStack.EMPTY); - }); - entries.appendStacks(stacks); - - big.forEach((m, itemStacks) -> { - ItemStack sign = new ItemStack(Items.SPRUCE_SIGN); - sign.setCustomName(TextUtil.translatable("config.andromeda.%s".formatted(m.meta().dotted()))); - itemStacks.add(0, sign); - entries.appendStacks(itemStacks); - }); - }) - .displayName(TextUtil.translatable("itemGroup.andromeda.items")).optional().orElseThrow(); + public static final Keeper GROUP = Keeper.create(); @Getter private @Nullable MinecraftServer currentServer; @@ -98,7 +55,15 @@ public class Andromeda { } private void onInitialize(ModuleManager manager) { - Common.bootstrap(); + ResourceConditions.register(id("items_registered"), object -> JsonHelper.getArray(object, "values") + .asList().stream().filter(JsonElement::isJsonPrimitive) + .allMatch(e -> CommonRegistries.items().containsId(Identifier.tryParse(e.getAsString())))); + + AndromedaItemGroup.Acceptor acceptor = (module, main, stack) -> { + if (!stack.isEmpty()) ItemGroupEvents.modifyEntriesEvent(main).register(entries -> entries.add(stack)); + }; + AndromedaItemGroup.getAcceptors().forEach(consumer -> consumer.accept(acceptor)); + if (AndromedaConfig.get().itemGroup) GROUP.init(AndromedaItemGroup.create()); ServerLifecycleEvents.SERVER_STARTING.register(server -> this.currentServer = server); ServerLifecycleEvents.SERVER_STOPPING.register(server -> this.currentServer = null); diff --git a/src/main/java/me/melontini/andromeda/common/client/AndromedaClient.java b/src/main/java/me/melontini/andromeda/common/client/AndromedaClient.java index abd68541..07f2a5e8 100644 --- a/src/main/java/me/melontini/andromeda/common/client/AndromedaClient.java +++ b/src/main/java/me/melontini/andromeda/common/client/AndromedaClient.java @@ -64,7 +64,7 @@ public class AndromedaClient { BlockadesEvent.BUS.invoker().explain(manager, blockade); ResourceManagerHelper.registerBuiltinResourcePack(id("dark"), CommonValues.mod(), ResourcePackActivationType.NORMAL); - ItemGroupAnimaton.setIconAnimation(Andromeda.get().group, (group, context, itemX, itemY, selected, isTopRow) -> { + Andromeda.GROUP.ifPresent(g -> ItemGroupAnimaton.setIconAnimation(g, (group, context, itemX, itemY, selected, isTopRow) -> { try { if (!animate) return; drawTexture(context.getMatrices(), itemX + 8, itemY + 8, stack -> { @@ -74,7 +74,7 @@ public class AndromedaClient { } catch (Throwable t) { animate = false; } - }); + })); } private void printMissingTooltips(ModuleManager manager) { diff --git a/src/main/java/me/melontini/andromeda/common/registries/AndromedaItemGroup.java b/src/main/java/me/melontini/andromeda/common/registries/AndromedaItemGroup.java index 122a016c..415a3009 100644 --- a/src/main/java/me/melontini/andromeda/common/registries/AndromedaItemGroup.java +++ b/src/main/java/me/melontini/andromeda/common/registries/AndromedaItemGroup.java @@ -1,14 +1,19 @@ package me.melontini.andromeda.common.registries; import me.melontini.andromeda.base.Module; +import me.melontini.dark_matter.api.item_group.ItemGroupBuilder; +import me.melontini.dark_matter.api.minecraft.util.TextUtil; import net.minecraft.item.ItemConvertible; +import net.minecraft.item.ItemGroup; import net.minecraft.item.ItemStack; +import net.minecraft.item.Items; +import net.minecraft.registry.RegistryKey; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; +import java.util.*; import java.util.function.Consumer; +import static me.melontini.andromeda.common.registries.Common.id; + public class AndromedaItemGroup { private static final List> ACCEPTORS = new ArrayList<>(); @@ -22,28 +27,72 @@ public class AndromedaItemGroup { } public interface Acceptor { - void stack(Module module, ItemStack stack); + void stack(Module module, RegistryKey main, ItemStack stack); - default void stacks(Module module, List stacks) { + default void stacks(Module module, RegistryKey main, List stacks) { for (ItemStack stack : stacks) { - stack(module, stack); + stack(module, main, stack); } } - default void items(Module module, List items) { - stacks(module, items.stream().map(ItemStack::new).toList()); + default void items(Module module, RegistryKey main, List items) { + stacks(module, main, items.stream().map(ItemStack::new).toList()); } - default void item(Module module, T item) { - stack(module, new ItemStack(item)); + default void item(Module module, RegistryKey main, T item) { + stack(module, main, new ItemStack(item)); } - default void keepers(Module module, List> keepers) { - stacks(module, keepers.stream().filter(Keeper::isPresent).map(Keeper::orThrow).map(ItemStack::new).toList()); + default void keepers(Module module, RegistryKey main, List> keepers) { + stacks(module, main, keepers.stream().filter(Keeper::isPresent).map(Keeper::orThrow).map(ItemStack::new).toList()); } - default void keeper(Module module, Keeper keeper) { - if (keeper.isPresent()) stack(module, new ItemStack(keeper.orThrow())); + default void keeper(Module module, RegistryKey main, Keeper keeper) { + if (keeper.isPresent()) stack(module, main, new ItemStack(keeper.orThrow())); } } + + public static ItemGroup create() { + return ItemGroupBuilder.create(id("group")).entries(entries -> { + Map, List> stackMap = new LinkedHashMap<>(); + AndromedaItemGroup.Acceptor acceptor = (module, main, stack) -> { + if (!stack.isEmpty()) { + stackMap.computeIfAbsent(module, module1 -> new ArrayList<>()).add(stack); + } + }; + AndromedaItemGroup.getAcceptors().forEach(consumer -> consumer.accept(acceptor)); + Map, List> small = new LinkedHashMap<>(); + Map, List> big = new LinkedHashMap<>(); + if (stackMap.isEmpty()) { + entries.add(Items.BARRIER); + return; + } + stackMap.forEach((module, itemStacks) -> { + if (itemStacks.size() > 2) { + big.put(module, itemStacks); + } else if (!itemStacks.isEmpty()) { + small.put(module, itemStacks); + } + }); + if (small.isEmpty() && big.isEmpty()) { + entries.add(Items.BARRIER); + return; + } + List stacks = new ArrayList<>(); + small.forEach((m, itemStacks) -> { + ItemStack sign = new ItemStack(Items.SPRUCE_SIGN); + sign.setCustomName(TextUtil.translatable("config.andromeda.%s".formatted(m.meta().dotted()))); + stacks.add(sign); + stacks.addAll(itemStacks); + stacks.add(ItemStack.EMPTY); + }); + entries.appendStacks(stacks); + big.forEach((m, itemStacks) -> { + ItemStack sign = new ItemStack(Items.SPRUCE_SIGN); + sign.setCustomName(TextUtil.translatable("config.andromeda.%s".formatted(m.meta().dotted()))); + itemStacks.add(0, sign); + entries.appendStacks(itemStacks); + }); + }).displayName(TextUtil.translatable("itemGroup.andromeda.items")).optional().orElseThrow(); + } } diff --git a/src/main/java/me/melontini/andromeda/common/registries/Common.java b/src/main/java/me/melontini/andromeda/common/registries/Common.java index 96395f4a..b85b30aa 100644 --- a/src/main/java/me/melontini/andromeda/common/registries/Common.java +++ b/src/main/java/me/melontini/andromeda/common/registries/Common.java @@ -1,10 +1,6 @@ package me.melontini.andromeda.common.registries; -import com.google.gson.JsonElement; -import me.melontini.andromeda.common.conflicts.CommonRegistries; -import net.fabricmc.fabric.api.resource.conditions.v1.ResourceConditions; import net.minecraft.util.Identifier; -import net.minecraft.util.JsonHelper; import static me.melontini.andromeda.util.CommonValues.MODID; @@ -13,10 +9,4 @@ public class Common { public static Identifier id(String path) { return new Identifier(MODID, path); } - - public static void bootstrap() { - ResourceConditions.register(id("items_registered"), object -> JsonHelper.getArray(object, "values") - .asList().stream().filter(JsonElement::isJsonPrimitive) - .allMatch(e -> CommonRegistries.items().containsId(Identifier.tryParse(e.getAsString())))); - } } diff --git a/src/main/java/me/melontini/andromeda/modules/blocks/incubator/Main.java b/src/main/java/me/melontini/andromeda/modules/blocks/incubator/Main.java index c728422c..04ab619d 100644 --- a/src/main/java/me/melontini/andromeda/modules/blocks/incubator/Main.java +++ b/src/main/java/me/melontini/andromeda/modules/blocks/incubator/Main.java @@ -9,6 +9,7 @@ import net.fabricmc.fabric.api.item.v1.FabricItemSettings; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.minecraft.block.entity.BlockEntityType; import net.minecraft.item.BlockItem; +import net.minecraft.item.ItemGroups; import net.minecraft.sound.BlockSoundGroup; import java.util.Set; @@ -26,7 +27,7 @@ public class Main { INCUBATOR.init(RegistryUtil.register(CommonRegistries.items(), id("incubator"), () -> new BlockItem(INCUBATOR_BLOCK.orThrow(), new FabricItemSettings()))); INCUBATOR_BLOCK_ENTITY.init(RegistryUtil.register(CommonRegistries.blockEntityTypes(), id("incubator"), () -> new BlockEntityType<>(IncubatorBlockEntity::new, Set.of(INCUBATOR_BLOCK.orThrow()), null))); - AndromedaItemGroup.accept(acceptor -> acceptor.keeper(module, INCUBATOR)); + AndromedaItemGroup.accept(acceptor -> acceptor.keeper(module, ItemGroups.FUNCTIONAL, INCUBATOR)); EggProcessingData.init(); } diff --git a/src/main/java/me/melontini/andromeda/modules/entities/boats/BoatItems.java b/src/main/java/me/melontini/andromeda/modules/entities/boats/BoatItems.java index 28b116aa..de43b739 100644 --- a/src/main/java/me/melontini/andromeda/modules/entities/boats/BoatItems.java +++ b/src/main/java/me/melontini/andromeda/modules/entities/boats/BoatItems.java @@ -5,7 +5,6 @@ import me.melontini.andromeda.common.registries.AndromedaItemGroup; import me.melontini.andromeda.modules.entities.boats.items.AndromedaBoatItem; import me.melontini.dark_matter.api.minecraft.util.RegistryUtil; import net.fabricmc.fabric.api.item.v1.FabricItemSettings; -import net.fabricmc.fabric.api.itemgroup.v1.ItemGroupEvents; import net.minecraft.entity.vehicle.BoatEntity; import net.minecraft.item.Item; import net.minecraft.item.ItemGroups; @@ -34,8 +33,7 @@ public class BoatItems { Optional.ofNullable(RegistryUtil.register(config.isHopperBoatOn, CommonRegistries.items(), boatId(value, "hopper"), () -> new AndromedaBoatItem<>(BoatEntities.BOAT_WITH_HOPPER, value, new FabricItemSettings().maxCount(1)))).ifPresent(list::add); } - AndromedaItemGroup.accept(acceptor -> acceptor.items(module, list)); - ItemGroupEvents.modifyEntriesEvent(ItemGroups.TOOLS).register(entries -> list.forEach(entries::add)); + AndromedaItemGroup.accept(acceptor -> acceptor.items(module, ItemGroups.TOOLS, list)); } public static Identifier boatId(BoatEntity.Type type, String boat) { diff --git a/src/main/java/me/melontini/andromeda/modules/entities/minecarts/MinecartItems.java b/src/main/java/me/melontini/andromeda/modules/entities/minecarts/MinecartItems.java index a74152e8..e639c4e7 100644 --- a/src/main/java/me/melontini/andromeda/modules/entities/minecarts/MinecartItems.java +++ b/src/main/java/me/melontini/andromeda/modules/entities/minecarts/MinecartItems.java @@ -15,7 +15,6 @@ import me.melontini.dark_matter.api.base.util.MakeSure; import me.melontini.dark_matter.api.data.nbt.NbtBuilder; import me.melontini.dark_matter.api.minecraft.util.RegistryUtil; import net.fabricmc.fabric.api.item.v1.FabricItemSettings; -import net.fabricmc.fabric.api.itemgroup.v1.ItemGroupEvents; import net.minecraft.block.Blocks; import net.minecraft.block.NoteBlock; import net.minecraft.block.entity.JukeboxBlockEntity; @@ -51,8 +50,7 @@ public class MinecartItems { JUKEBOX_MINECART.init(RegistryUtil.register(config.isJukeboxMinecartOn, CommonRegistries.items(), id("jukebox_minecart"), () -> new JukeboxMinecartItem(new FabricItemSettings().maxCount(1)))); var l = List.of(SPAWNER_MINECART, ANVIL_MINECART, NOTE_BLOCK_MINECART, JUKEBOX_MINECART); - AndromedaItemGroup.accept(acceptor -> acceptor.keepers(module, List.copyOf(l))); - ItemGroupEvents.modifyEntriesEvent(ItemGroups.TOOLS).register(entries -> l.stream().filter(Keeper::isPresent).map(Keeper::get).forEach(entries::add)); + AndromedaItemGroup.accept(acceptor -> acceptor.keepers(module, ItemGroups.TOOLS, List.copyOf(l))); ModuleManager.get().getModule(MinecartBlockPicking.class).ifPresent(m -> { SPAWNER_MINECART.ifPresent(item -> PickUpBehaviorHandler.registerPickUpBehavior(Blocks.SPAWNER, (state, world, pos) -> { diff --git a/src/main/java/me/melontini/andromeda/modules/items/infinite_totem/Main.java b/src/main/java/me/melontini/andromeda/modules/items/infinite_totem/Main.java index aa319f0d..c50693a3 100644 --- a/src/main/java/me/melontini/andromeda/modules/items/infinite_totem/Main.java +++ b/src/main/java/me/melontini/andromeda/modules/items/infinite_totem/Main.java @@ -5,7 +5,6 @@ import me.melontini.andromeda.common.registries.AndromedaItemGroup; import me.melontini.andromeda.common.registries.Keeper; import me.melontini.dark_matter.api.minecraft.util.RegistryUtil; import net.fabricmc.fabric.api.item.v1.FabricItemSettings; -import net.fabricmc.fabric.api.itemgroup.v1.ItemGroupEvents; import net.fabricmc.fabric.api.particle.v1.FabricParticleTypes; import net.minecraft.item.Item; import net.minecraft.item.ItemGroups; @@ -26,10 +25,9 @@ public class Main { Main(InfiniteTotem module) { INFINITE_TOTEM.init(RegistryUtil.register(CommonRegistries.items(), id("infinite_totem"), () -> new Item(new FabricItemSettings().maxCount(1).rarity(Rarity.EPIC)))); - ItemGroupEvents.modifyEntriesEvent(ItemGroups.COMBAT).register(entries -> entries.add(INFINITE_TOTEM.orThrow())); KNOCKOFF_TOTEM_PARTICLE.init(RegistryUtil.register(CommonRegistries.particleTypes(), id("knockoff_totem_particles"), FabricParticleTypes::simple)); - AndromedaItemGroup.accept(acceptor -> acceptor.keeper(module, INFINITE_TOTEM)); + AndromedaItemGroup.accept(acceptor -> acceptor.keeper(module, ItemGroups.COMBAT, INFINITE_TOTEM)); } } diff --git a/src/main/java/me/melontini/andromeda/modules/items/lockpick/Main.java b/src/main/java/me/melontini/andromeda/modules/items/lockpick/Main.java index 54c93f2c..af9b0bc3 100644 --- a/src/main/java/me/melontini/andromeda/modules/items/lockpick/Main.java +++ b/src/main/java/me/melontini/andromeda/modules/items/lockpick/Main.java @@ -4,7 +4,6 @@ import me.melontini.andromeda.common.conflicts.CommonRegistries; import me.melontini.andromeda.common.registries.AndromedaItemGroup; import me.melontini.dark_matter.api.minecraft.util.RegistryUtil; import net.fabricmc.fabric.api.item.v1.FabricItemSettings; -import net.fabricmc.fabric.api.itemgroup.v1.ItemGroupEvents; import net.minecraft.item.ItemGroups; import static me.melontini.andromeda.common.registries.Common.id; @@ -13,10 +12,9 @@ public class Main { Main(Lockpick module, Lockpick.Config config) { LockpickItem.INSTANCE.init(RegistryUtil.register(CommonRegistries.items(), id("lockpick"), () -> new LockpickItem(new FabricItemSettings().maxCount(16)))); - ItemGroupEvents.modifyEntriesEvent(ItemGroups.TOOLS).register(entries -> entries.add(LockpickItem.INSTANCE.orThrow())); MerchantInventoryScreenHandler.INSTANCE.init(RegistryUtil.register(config.villagerInventory, CommonRegistries.screenHandlers(), id("merchant_inventory"), RegistryUtil.screenHandlerType(MerchantInventoryScreenHandler::new))); - AndromedaItemGroup.accept(acceptor -> acceptor.keeper(module, LockpickItem.INSTANCE)); + AndromedaItemGroup.accept(acceptor -> acceptor.keeper(module, ItemGroups.TOOLS, LockpickItem.INSTANCE)); } } diff --git a/src/main/java/me/melontini/andromeda/modules/items/magnet/Main.java b/src/main/java/me/melontini/andromeda/modules/items/magnet/Main.java index d7b07e4a..33e1dffc 100644 --- a/src/main/java/me/melontini/andromeda/modules/items/magnet/Main.java +++ b/src/main/java/me/melontini/andromeda/modules/items/magnet/Main.java @@ -6,7 +6,6 @@ import me.melontini.andromeda.common.registries.Keeper; import me.melontini.andromeda.modules.items.magnet.items.MagnetItem; import me.melontini.dark_matter.api.minecraft.util.RegistryUtil; import net.fabricmc.fabric.api.item.v1.FabricItemSettings; -import net.fabricmc.fabric.api.itemgroup.v1.ItemGroupEvents; import net.minecraft.item.ItemGroups; import static me.melontini.andromeda.common.registries.Common.id; @@ -17,8 +16,7 @@ public class Main { Main(Magnet module) { MAGNET.init(RegistryUtil.register(CommonRegistries.items(), id("magnet"), () -> new MagnetItem(new FabricItemSettings().maxCount(1)))); - ItemGroupEvents.modifyEntriesEvent(ItemGroups.TOOLS).register(entries -> entries.add(MAGNET.orThrow())); - AndromedaItemGroup.accept(a -> a.keeper(module, MAGNET)); + AndromedaItemGroup.accept(a -> a.keeper(module, ItemGroups.TOOLS, MAGNET)); } } diff --git a/src/main/java/me/melontini/andromeda/modules/items/pouches/Main.java b/src/main/java/me/melontini/andromeda/modules/items/pouches/Main.java index 42ad2b3b..10e8ea3a 100644 --- a/src/main/java/me/melontini/andromeda/modules/items/pouches/Main.java +++ b/src/main/java/me/melontini/andromeda/modules/items/pouches/Main.java @@ -9,7 +9,6 @@ import me.melontini.dark_matter.api.base.util.Exceptions; import me.melontini.dark_matter.api.minecraft.util.ItemStackUtil; import me.melontini.dark_matter.api.minecraft.util.RegistryUtil; import net.fabricmc.fabric.api.item.v1.FabricItemSettings; -import net.fabricmc.fabric.api.itemgroup.v1.ItemGroupEvents; import net.fabricmc.fabric.api.object.builder.v1.entity.FabricEntityTypeBuilder; import net.fabricmc.fabric.api.transfer.v1.item.ItemVariant; import net.fabricmc.fabric.api.transfer.v1.storage.Storage; @@ -91,8 +90,7 @@ public class Main { Trades.register(); List> l = List.of(SEED_POUCH, FLOWER_POUCH, SAPLING_POUCH, SPECIAL_POUCH); - AndromedaItemGroup.accept(acceptor -> acceptor.keepers(module, new ArrayList<>(l))); - ItemGroupEvents.modifyEntriesEvent(ItemGroups.TOOLS).register(entries -> l.stream().filter(Keeper::isPresent).map(Keeper::get).forEach(entries::add)); + AndromedaItemGroup.accept(acceptor -> acceptor.keepers(module, ItemGroups.TOOLS, new ArrayList<>(l))); var behavior = new ProjectileDispenserBehavior() { @Override diff --git a/src/main/resources/assets/andromeda/lang/en_us.json b/src/main/resources/assets/andromeda/lang/en_us.json index a65b44e0..a4d16d58 100644 --- a/src/main/resources/assets/andromeda/lang/en_us.json +++ b/src/main/resources/assets/andromeda/lang/en_us.json @@ -407,6 +407,8 @@ "config.andromeda.base.option.sideOnlyMode": "Side-Only Mode", "config.andromeda.base.option.sideOnlyMode.@Tooltip": "Disables all modules which require Andromeda to be present on server.", + "config.andromeda.base.option.itemGroup": "Item Group", + "config.andromeda.base.option.itemGroup.@Tooltip": "Enable Andromeda's display item group.\nYou can still find items in vanilla groups even if this is disabled.", "config.andromeda.base.option.sendCrashReports": "Send Crash Reports", "config.andromeda.base.option.sendCrashReports.@Tooltip": "Data sent at crash: \n- Environment (e.g. client), \n- OS version (e.g. Windows 11), \n- Platform (e.g. Fabric), \n- Java (e.g. 17 Oracle Corp), \n- Bootstrap status (e.g Discovery), \n- Certain loaded mods. \nCrash reports don't have a unique profile attached.", "config.andromeda.base.option.debugMessages": "Enable debug messages?", -- 2.51.2 From 2944e1aaa5080411b73d1103d2e8a089eeb28927 Mon Sep 17 00:00:00 2001 From: melontini <104443436+melontini@users.noreply.github.com> Date: Sat, 27 Apr 2024 20:03:53 +0700 Subject: [PATCH 2/6] Nuke the `registries` package --- .../me/melontini/andromeda/common/Andromeda.java | 8 +++++--- .../common/{registries => }/AndromedaItemGroup.java | 5 +++-- .../andromeda/common/client/AndromedaClient.java | 2 +- .../andromeda/common/config/DataConfigs.java | 4 ++-- .../andromeda/common/registries/Common.java | 12 ------------ .../common/{registries => util}/Keeper.java | 2 +- .../modules/blocks/better_fletching_table/Main.java | 4 ++-- .../andromeda/modules/blocks/incubator/Main.java | 6 +++--- .../blocks/incubator/data/EggProcessingData.java | 4 ++-- .../modules/entities/boats/BoatEntities.java | 4 ++-- .../andromeda/modules/entities/boats/BoatItems.java | 4 ++-- .../entities/boats/items/AndromedaBoatItem.java | 2 +- .../modules/entities/minecarts/MinecartEntities.java | 4 ++-- .../modules/entities/minecarts/MinecartItems.java | 6 +++--- .../minecarts/items/AndromedaMinecartItem.java | 2 +- .../minecarts/items/SpawnerMinecartItem.java | 2 +- .../modules/entities/vehicle_unentrapment/Main.java | 2 +- .../villagers_follow_emeralds/VillagerTemptGoal.java | 2 +- .../entities/zombie/clean_pickup/PickupTag.java | 2 +- .../andromeda/modules/items/infinite_totem/Main.java | 6 +++--- .../modules/items/lockpick/LockpickItem.java | 2 +- .../andromeda/modules/items/lockpick/Main.java | 4 ++-- .../lockpick/MerchantInventoryScreenHandler.java | 2 +- .../andromeda/modules/items/magnet/Main.java | 6 +++--- .../andromeda/modules/items/pouches/Main.java | 6 +++--- .../modules/items/pouches/entities/PouchEntity.java | 2 +- .../mechanics/dragon_fight/EnderDragonManager.java | 2 +- .../modules/mechanics/dragon_fight/Main.java | 2 +- .../modules/mechanics/throwable_items/Main.java | 4 ++-- .../throwable_items/data/ItemBehaviorManager.java | 2 +- .../trading_goat_horn/CustomTraderManager.java | 2 +- .../modules/mechanics/trading_goat_horn/Main.java | 2 +- .../modules/mechanics/villager_gifting/GiftTags.java | 2 +- .../modules/misc/minor_inconvenience/Main.java | 2 +- .../misc/recipe_advancements_generation/Main.java | 2 +- .../andromeda/modules/misc/unknown/Main.java | 4 ++-- .../world/crop_temperature/PlantTemperatureData.java | 4 ++-- 37 files changed, 62 insertions(+), 71 deletions(-) rename src/main/java/me/melontini/andromeda/common/{registries => }/AndromedaItemGroup.java (96%) delete mode 100644 src/main/java/me/melontini/andromeda/common/registries/Common.java rename src/main/java/me/melontini/andromeda/common/{registries => util}/Keeper.java (97%) diff --git a/src/main/java/me/melontini/andromeda/common/Andromeda.java b/src/main/java/me/melontini/andromeda/common/Andromeda.java index fa745504..a1842503 100644 --- a/src/main/java/me/melontini/andromeda/common/Andromeda.java +++ b/src/main/java/me/melontini/andromeda/common/Andromeda.java @@ -9,8 +9,7 @@ import me.melontini.andromeda.base.Module; import me.melontini.andromeda.base.ModuleManager; import me.melontini.andromeda.common.config.DataConfigs; import me.melontini.andromeda.common.conflicts.CommonRegistries; -import me.melontini.andromeda.common.registries.AndromedaItemGroup; -import me.melontini.andromeda.common.registries.Keeper; +import me.melontini.andromeda.common.util.Keeper; import me.melontini.andromeda.util.CommonValues; import me.melontini.andromeda.util.Debug; import me.melontini.dark_matter.api.base.util.Support; @@ -34,7 +33,6 @@ import java.util.HashSet; import java.util.Objects; import java.util.Set; -import static me.melontini.andromeda.common.registries.Common.id; import static me.melontini.andromeda.util.CommonValues.MODID; public class Andromeda { @@ -54,6 +52,10 @@ public class Andromeda { INSTANCE = instance; } + public static Identifier id(String path) { + return new Identifier(MODID, path); + } + private void onInitialize(ModuleManager manager) { ResourceConditions.register(id("items_registered"), object -> JsonHelper.getArray(object, "values") .asList().stream().filter(JsonElement::isJsonPrimitive) diff --git a/src/main/java/me/melontini/andromeda/common/registries/AndromedaItemGroup.java b/src/main/java/me/melontini/andromeda/common/AndromedaItemGroup.java similarity index 96% rename from src/main/java/me/melontini/andromeda/common/registries/AndromedaItemGroup.java rename to src/main/java/me/melontini/andromeda/common/AndromedaItemGroup.java index 415a3009..398cd682 100644 --- a/src/main/java/me/melontini/andromeda/common/registries/AndromedaItemGroup.java +++ b/src/main/java/me/melontini/andromeda/common/AndromedaItemGroup.java @@ -1,6 +1,7 @@ -package me.melontini.andromeda.common.registries; +package me.melontini.andromeda.common; import me.melontini.andromeda.base.Module; +import me.melontini.andromeda.common.util.Keeper; import me.melontini.dark_matter.api.item_group.ItemGroupBuilder; import me.melontini.dark_matter.api.minecraft.util.TextUtil; import net.minecraft.item.ItemConvertible; @@ -12,7 +13,7 @@ import net.minecraft.registry.RegistryKey; import java.util.*; import java.util.function.Consumer; -import static me.melontini.andromeda.common.registries.Common.id; +import static me.melontini.andromeda.common.Andromeda.id; public class AndromedaItemGroup { diff --git a/src/main/java/me/melontini/andromeda/common/client/AndromedaClient.java b/src/main/java/me/melontini/andromeda/common/client/AndromedaClient.java index 07f2a5e8..5b6f705d 100644 --- a/src/main/java/me/melontini/andromeda/common/client/AndromedaClient.java +++ b/src/main/java/me/melontini/andromeda/common/client/AndromedaClient.java @@ -32,7 +32,7 @@ import java.util.Objects; import java.util.Set; import java.util.function.Consumer; -import static me.melontini.andromeda.common.registries.Common.id; +import static me.melontini.andromeda.common.Andromeda.id; @CustomLog @Getter diff --git a/src/main/java/me/melontini/andromeda/common/config/DataConfigs.java b/src/main/java/me/melontini/andromeda/common/config/DataConfigs.java index 9a68b839..86c85e23 100644 --- a/src/main/java/me/melontini/andromeda/common/config/DataConfigs.java +++ b/src/main/java/me/melontini/andromeda/common/config/DataConfigs.java @@ -11,7 +11,7 @@ import me.melontini.andromeda.base.Module; import me.melontini.andromeda.base.ModuleManager; import me.melontini.andromeda.base.util.Experiments; import me.melontini.andromeda.base.util.annotations.Unscoped; -import me.melontini.andromeda.common.registries.Common; +import me.melontini.andromeda.common.Andromeda; import me.melontini.andromeda.common.util.IdentifiedJsonDataLoader; import me.melontini.andromeda.util.exceptions.AndromedaException; import me.melontini.dark_matter.api.base.util.MakeSure; @@ -37,7 +37,7 @@ import static me.melontini.andromeda.util.CommonValues.MODID; public class DataConfigs extends IdentifiedJsonDataLoader { private static final Identifier DEFAULT = new Identifier(MODID, "default"); - public static final ReloaderType RELOADER = ReloaderType.create(Common.id("scoped_config")); + public static final ReloaderType RELOADER = ReloaderType.create(Andromeda.id("scoped_config")); public DataConfigs() { super(RELOADER.identifier()); diff --git a/src/main/java/me/melontini/andromeda/common/registries/Common.java b/src/main/java/me/melontini/andromeda/common/registries/Common.java deleted file mode 100644 index b85b30aa..00000000 --- a/src/main/java/me/melontini/andromeda/common/registries/Common.java +++ /dev/null @@ -1,12 +0,0 @@ -package me.melontini.andromeda.common.registries; - -import net.minecraft.util.Identifier; - -import static me.melontini.andromeda.util.CommonValues.MODID; - -public class Common { - - public static Identifier id(String path) { - return new Identifier(MODID, path); - } -} diff --git a/src/main/java/me/melontini/andromeda/common/registries/Keeper.java b/src/main/java/me/melontini/andromeda/common/util/Keeper.java similarity index 97% rename from src/main/java/me/melontini/andromeda/common/registries/Keeper.java rename to src/main/java/me/melontini/andromeda/common/util/Keeper.java index e3922de7..d60390ff 100644 --- a/src/main/java/me/melontini/andromeda/common/registries/Keeper.java +++ b/src/main/java/me/melontini/andromeda/common/util/Keeper.java @@ -1,4 +1,4 @@ -package me.melontini.andromeda.common.registries; +package me.melontini.andromeda.common.util; import org.jetbrains.annotations.Nullable; diff --git a/src/main/java/me/melontini/andromeda/modules/blocks/better_fletching_table/Main.java b/src/main/java/me/melontini/andromeda/modules/blocks/better_fletching_table/Main.java index e3e87499..9688e0c5 100644 --- a/src/main/java/me/melontini/andromeda/modules/blocks/better_fletching_table/Main.java +++ b/src/main/java/me/melontini/andromeda/modules/blocks/better_fletching_table/Main.java @@ -3,7 +3,7 @@ package me.melontini.andromeda.modules.blocks.better_fletching_table; import com.google.common.collect.Sets; import me.melontini.andromeda.base.Bootstrap; import me.melontini.andromeda.common.conflicts.CommonRegistries; -import me.melontini.andromeda.common.registries.Keeper; +import me.melontini.andromeda.common.util.Keeper; import me.melontini.dark_matter.api.minecraft.util.RegistryUtil; import net.minecraft.item.Item; import net.minecraft.item.ItemConvertible; @@ -16,7 +16,7 @@ import net.minecraft.util.Identifier; import java.util.Set; -import static me.melontini.andromeda.common.registries.Common.id; +import static me.melontini.andromeda.common.Andromeda.id; public class Main { diff --git a/src/main/java/me/melontini/andromeda/modules/blocks/incubator/Main.java b/src/main/java/me/melontini/andromeda/modules/blocks/incubator/Main.java index 04ab619d..23aa4309 100644 --- a/src/main/java/me/melontini/andromeda/modules/blocks/incubator/Main.java +++ b/src/main/java/me/melontini/andromeda/modules/blocks/incubator/Main.java @@ -1,8 +1,8 @@ package me.melontini.andromeda.modules.blocks.incubator; +import me.melontini.andromeda.common.AndromedaItemGroup; import me.melontini.andromeda.common.conflicts.CommonRegistries; -import me.melontini.andromeda.common.registries.AndromedaItemGroup; -import me.melontini.andromeda.common.registries.Keeper; +import me.melontini.andromeda.common.util.Keeper; import me.melontini.andromeda.modules.blocks.incubator.data.EggProcessingData; import me.melontini.dark_matter.api.minecraft.util.RegistryUtil; import net.fabricmc.fabric.api.item.v1.FabricItemSettings; @@ -14,7 +14,7 @@ import net.minecraft.sound.BlockSoundGroup; import java.util.Set; -import static me.melontini.andromeda.common.registries.Common.id; +import static me.melontini.andromeda.common.Andromeda.id; public class Main { diff --git a/src/main/java/me/melontini/andromeda/modules/blocks/incubator/data/EggProcessingData.java b/src/main/java/me/melontini/andromeda/modules/blocks/incubator/data/EggProcessingData.java index 089bdaac..cb969499 100644 --- a/src/main/java/me/melontini/andromeda/modules/blocks/incubator/data/EggProcessingData.java +++ b/src/main/java/me/melontini/andromeda/modules/blocks/incubator/data/EggProcessingData.java @@ -5,8 +5,8 @@ import com.google.gson.JsonElement; import com.mojang.serialization.Codec; import com.mojang.serialization.JsonOps; import com.mojang.serialization.codecs.RecordCodecBuilder; +import me.melontini.andromeda.common.Andromeda; import me.melontini.andromeda.common.conflicts.CommonRegistries; -import me.melontini.andromeda.common.registries.Common; import me.melontini.andromeda.common.util.IdentifiedJsonDataLoader; import me.melontini.commander.api.command.Command; import me.melontini.commander.api.expression.Arithmetica; @@ -44,7 +44,7 @@ public record EggProcessingData(Item item, WeightedList entity, Arithmeti ).apply(data, Entry::new)); } - public static final ReloaderType RELOADER = ReloaderType.create(Common.id("egg_processing")); + public static final ReloaderType RELOADER = ReloaderType.create(Andromeda.id("egg_processing")); public static void init() { ServerReloadersEvent.EVENT.register(context -> context.register(new Reloader())); diff --git a/src/main/java/me/melontini/andromeda/modules/entities/boats/BoatEntities.java b/src/main/java/me/melontini/andromeda/modules/entities/boats/BoatEntities.java index 4a7aa7fa..4356b4b8 100644 --- a/src/main/java/me/melontini/andromeda/modules/entities/boats/BoatEntities.java +++ b/src/main/java/me/melontini/andromeda/modules/entities/boats/BoatEntities.java @@ -1,7 +1,7 @@ package me.melontini.andromeda.modules.entities.boats; import me.melontini.andromeda.common.conflicts.CommonRegistries; -import me.melontini.andromeda.common.registries.Keeper; +import me.melontini.andromeda.common.util.Keeper; import me.melontini.andromeda.modules.entities.boats.entities.FurnaceBoatEntity; import me.melontini.andromeda.modules.entities.boats.entities.HopperBoatEntity; import me.melontini.andromeda.modules.entities.boats.entities.JukeboxBoatEntity; @@ -18,7 +18,7 @@ import org.jetbrains.annotations.Nullable; import java.util.UUID; -import static me.melontini.andromeda.common.registries.Common.id; +import static me.melontini.andromeda.common.Andromeda.id; public class BoatEntities { diff --git a/src/main/java/me/melontini/andromeda/modules/entities/boats/BoatItems.java b/src/main/java/me/melontini/andromeda/modules/entities/boats/BoatItems.java index de43b739..d3549792 100644 --- a/src/main/java/me/melontini/andromeda/modules/entities/boats/BoatItems.java +++ b/src/main/java/me/melontini/andromeda/modules/entities/boats/BoatItems.java @@ -1,7 +1,7 @@ package me.melontini.andromeda.modules.entities.boats; +import me.melontini.andromeda.common.AndromedaItemGroup; import me.melontini.andromeda.common.conflicts.CommonRegistries; -import me.melontini.andromeda.common.registries.AndromedaItemGroup; import me.melontini.andromeda.modules.entities.boats.items.AndromedaBoatItem; import me.melontini.dark_matter.api.minecraft.util.RegistryUtil; import net.fabricmc.fabric.api.item.v1.FabricItemSettings; @@ -14,7 +14,7 @@ import java.util.ArrayList; import java.util.List; import java.util.Optional; -import static me.melontini.andromeda.common.registries.Common.id; +import static me.melontini.andromeda.common.Andromeda.id; public class BoatItems { diff --git a/src/main/java/me/melontini/andromeda/modules/entities/boats/items/AndromedaBoatItem.java b/src/main/java/me/melontini/andromeda/modules/entities/boats/items/AndromedaBoatItem.java index 3ea9fe19..b2433ee8 100644 --- a/src/main/java/me/melontini/andromeda/modules/entities/boats/items/AndromedaBoatItem.java +++ b/src/main/java/me/melontini/andromeda/modules/entities/boats/items/AndromedaBoatItem.java @@ -1,6 +1,6 @@ package me.melontini.andromeda.modules.entities.boats.items; -import me.melontini.andromeda.common.registries.Keeper; +import me.melontini.andromeda.common.util.Keeper; import me.melontini.andromeda.common.util.MiscUtil; import me.melontini.dark_matter.api.base.util.MakeSure; import net.minecraft.block.DispenserBlock; diff --git a/src/main/java/me/melontini/andromeda/modules/entities/minecarts/MinecartEntities.java b/src/main/java/me/melontini/andromeda/modules/entities/minecarts/MinecartEntities.java index 24d445a8..6a0ef290 100644 --- a/src/main/java/me/melontini/andromeda/modules/entities/minecarts/MinecartEntities.java +++ b/src/main/java/me/melontini/andromeda/modules/entities/minecarts/MinecartEntities.java @@ -1,7 +1,7 @@ package me.melontini.andromeda.modules.entities.minecarts; import me.melontini.andromeda.common.conflicts.CommonRegistries; -import me.melontini.andromeda.common.registries.Keeper; +import me.melontini.andromeda.common.util.Keeper; import me.melontini.andromeda.modules.entities.minecarts.entities.AnvilMinecartEntity; import me.melontini.andromeda.modules.entities.minecarts.entities.JukeboxMinecartEntity; import me.melontini.andromeda.modules.entities.minecarts.entities.NoteBlockMinecartEntity; @@ -11,7 +11,7 @@ import net.minecraft.entity.EntityDimensions; import net.minecraft.entity.EntityType; import net.minecraft.entity.SpawnGroup; -import static me.melontini.andromeda.common.registries.Common.id; +import static me.melontini.andromeda.common.Andromeda.id; public class MinecartEntities { diff --git a/src/main/java/me/melontini/andromeda/modules/entities/minecarts/MinecartItems.java b/src/main/java/me/melontini/andromeda/modules/entities/minecarts/MinecartItems.java index e639c4e7..f83a186e 100644 --- a/src/main/java/me/melontini/andromeda/modules/entities/minecarts/MinecartItems.java +++ b/src/main/java/me/melontini/andromeda/modules/entities/minecarts/MinecartItems.java @@ -1,9 +1,9 @@ package me.melontini.andromeda.modules.entities.minecarts; import me.melontini.andromeda.base.ModuleManager; +import me.melontini.andromeda.common.AndromedaItemGroup; import me.melontini.andromeda.common.conflicts.CommonRegistries; -import me.melontini.andromeda.common.registries.AndromedaItemGroup; -import me.melontini.andromeda.common.registries.Keeper; +import me.melontini.andromeda.common.util.Keeper; import me.melontini.andromeda.modules.entities.minecarts.entities.AnvilMinecartEntity; import me.melontini.andromeda.modules.entities.minecarts.items.AndromedaMinecartItem; import me.melontini.andromeda.modules.entities.minecarts.items.JukeboxMinecartItem; @@ -34,7 +34,7 @@ import org.spongepowered.asm.mixin.Unique; import java.util.List; import java.util.Objects; -import static me.melontini.andromeda.common.registries.Common.id; +import static me.melontini.andromeda.common.Andromeda.id; public class MinecartItems { diff --git a/src/main/java/me/melontini/andromeda/modules/entities/minecarts/items/AndromedaMinecartItem.java b/src/main/java/me/melontini/andromeda/modules/entities/minecarts/items/AndromedaMinecartItem.java index e6f5bacb..faafcc99 100644 --- a/src/main/java/me/melontini/andromeda/modules/entities/minecarts/items/AndromedaMinecartItem.java +++ b/src/main/java/me/melontini/andromeda/modules/entities/minecarts/items/AndromedaMinecartItem.java @@ -1,6 +1,6 @@ package me.melontini.andromeda.modules.entities.minecarts.items; -import me.melontini.andromeda.common.registries.Keeper; +import me.melontini.andromeda.common.util.Keeper; import me.melontini.dark_matter.api.base.util.MakeSure; import net.minecraft.block.AbstractRailBlock; import net.minecraft.block.BlockState; diff --git a/src/main/java/me/melontini/andromeda/modules/entities/minecarts/items/SpawnerMinecartItem.java b/src/main/java/me/melontini/andromeda/modules/entities/minecarts/items/SpawnerMinecartItem.java index 3be61ad3..f92c4f1c 100644 --- a/src/main/java/me/melontini/andromeda/modules/entities/minecarts/items/SpawnerMinecartItem.java +++ b/src/main/java/me/melontini/andromeda/modules/entities/minecarts/items/SpawnerMinecartItem.java @@ -1,7 +1,7 @@ package me.melontini.andromeda.modules.entities.minecarts.items; import me.melontini.andromeda.common.conflicts.CommonRegistries; -import me.melontini.andromeda.common.registries.Keeper; +import me.melontini.andromeda.common.util.Keeper; import me.melontini.dark_matter.api.minecraft.util.TextUtil; import net.minecraft.client.item.TooltipContext; import net.minecraft.entity.EntityType; diff --git a/src/main/java/me/melontini/andromeda/modules/entities/vehicle_unentrapment/Main.java b/src/main/java/me/melontini/andromeda/modules/entities/vehicle_unentrapment/Main.java index fe658cb7..9020d333 100644 --- a/src/main/java/me/melontini/andromeda/modules/entities/vehicle_unentrapment/Main.java +++ b/src/main/java/me/melontini/andromeda/modules/entities/vehicle_unentrapment/Main.java @@ -8,7 +8,7 @@ import net.minecraft.registry.RegistryKeys; import net.minecraft.registry.tag.TagKey; import net.minecraft.world.World; -import static me.melontini.andromeda.common.registries.Common.id; +import static me.melontini.andromeda.common.Andromeda.id; public class Main { diff --git a/src/main/java/me/melontini/andromeda/modules/entities/villagers_follow_emeralds/VillagerTemptGoal.java b/src/main/java/me/melontini/andromeda/modules/entities/villagers_follow_emeralds/VillagerTemptGoal.java index dae31c63..8e0ebc9e 100644 --- a/src/main/java/me/melontini/andromeda/modules/entities/villagers_follow_emeralds/VillagerTemptGoal.java +++ b/src/main/java/me/melontini/andromeda/modules/entities/villagers_follow_emeralds/VillagerTemptGoal.java @@ -8,7 +8,7 @@ import net.minecraft.item.Item; import net.minecraft.recipe.Ingredient; import net.minecraft.registry.tag.TagKey; -import static me.melontini.andromeda.common.registries.Common.id; +import static me.melontini.andromeda.common.Andromeda.id; public class VillagerTemptGoal extends TemptGoal { diff --git a/src/main/java/me/melontini/andromeda/modules/entities/zombie/clean_pickup/PickupTag.java b/src/main/java/me/melontini/andromeda/modules/entities/zombie/clean_pickup/PickupTag.java index d30e1f63..32afa84a 100644 --- a/src/main/java/me/melontini/andromeda/modules/entities/zombie/clean_pickup/PickupTag.java +++ b/src/main/java/me/melontini/andromeda/modules/entities/zombie/clean_pickup/PickupTag.java @@ -4,7 +4,7 @@ import me.melontini.andromeda.common.util.TagUtil; import net.minecraft.item.Item; import net.minecraft.registry.tag.TagKey; -import static me.melontini.andromeda.common.registries.Common.id; +import static me.melontini.andromeda.common.Andromeda.id; public class PickupTag { diff --git a/src/main/java/me/melontini/andromeda/modules/items/infinite_totem/Main.java b/src/main/java/me/melontini/andromeda/modules/items/infinite_totem/Main.java index c50693a3..c8284d2a 100644 --- a/src/main/java/me/melontini/andromeda/modules/items/infinite_totem/Main.java +++ b/src/main/java/me/melontini/andromeda/modules/items/infinite_totem/Main.java @@ -1,8 +1,8 @@ package me.melontini.andromeda.modules.items.infinite_totem; +import me.melontini.andromeda.common.AndromedaItemGroup; import me.melontini.andromeda.common.conflicts.CommonRegistries; -import me.melontini.andromeda.common.registries.AndromedaItemGroup; -import me.melontini.andromeda.common.registries.Keeper; +import me.melontini.andromeda.common.util.Keeper; import me.melontini.dark_matter.api.minecraft.util.RegistryUtil; import net.fabricmc.fabric.api.item.v1.FabricItemSettings; import net.fabricmc.fabric.api.particle.v1.FabricParticleTypes; @@ -12,7 +12,7 @@ import net.minecraft.particle.DefaultParticleType; import net.minecraft.util.Identifier; import net.minecraft.util.Rarity; -import static me.melontini.andromeda.common.registries.Common.id; +import static me.melontini.andromeda.common.Andromeda.id; import static me.melontini.andromeda.util.CommonValues.MODID; public class Main { diff --git a/src/main/java/me/melontini/andromeda/modules/items/lockpick/LockpickItem.java b/src/main/java/me/melontini/andromeda/modules/items/lockpick/LockpickItem.java index cf4db9a4..7c7cd7ab 100644 --- a/src/main/java/me/melontini/andromeda/modules/items/lockpick/LockpickItem.java +++ b/src/main/java/me/melontini/andromeda/modules/items/lockpick/LockpickItem.java @@ -1,7 +1,7 @@ package me.melontini.andromeda.modules.items.lockpick; import me.melontini.andromeda.base.ModuleManager; -import me.melontini.andromeda.common.registries.Keeper; +import me.melontini.andromeda.common.util.Keeper; import me.melontini.dark_matter.api.minecraft.util.TextUtil; import net.minecraft.entity.EquipmentSlot; import net.minecraft.entity.LivingEntity; diff --git a/src/main/java/me/melontini/andromeda/modules/items/lockpick/Main.java b/src/main/java/me/melontini/andromeda/modules/items/lockpick/Main.java index af9b0bc3..ae9a66fa 100644 --- a/src/main/java/me/melontini/andromeda/modules/items/lockpick/Main.java +++ b/src/main/java/me/melontini/andromeda/modules/items/lockpick/Main.java @@ -1,12 +1,12 @@ package me.melontini.andromeda.modules.items.lockpick; +import me.melontini.andromeda.common.AndromedaItemGroup; import me.melontini.andromeda.common.conflicts.CommonRegistries; -import me.melontini.andromeda.common.registries.AndromedaItemGroup; import me.melontini.dark_matter.api.minecraft.util.RegistryUtil; import net.fabricmc.fabric.api.item.v1.FabricItemSettings; import net.minecraft.item.ItemGroups; -import static me.melontini.andromeda.common.registries.Common.id; +import static me.melontini.andromeda.common.Andromeda.id; public class Main { diff --git a/src/main/java/me/melontini/andromeda/modules/items/lockpick/MerchantInventoryScreenHandler.java b/src/main/java/me/melontini/andromeda/modules/items/lockpick/MerchantInventoryScreenHandler.java index 42fe584b..e64cb289 100644 --- a/src/main/java/me/melontini/andromeda/modules/items/lockpick/MerchantInventoryScreenHandler.java +++ b/src/main/java/me/melontini/andromeda/modules/items/lockpick/MerchantInventoryScreenHandler.java @@ -1,6 +1,6 @@ package me.melontini.andromeda.modules.items.lockpick; -import me.melontini.andromeda.common.registries.Keeper; +import me.melontini.andromeda.common.util.Keeper; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.entity.player.PlayerInventory; import net.minecraft.inventory.Inventory; diff --git a/src/main/java/me/melontini/andromeda/modules/items/magnet/Main.java b/src/main/java/me/melontini/andromeda/modules/items/magnet/Main.java index 33e1dffc..96b37748 100644 --- a/src/main/java/me/melontini/andromeda/modules/items/magnet/Main.java +++ b/src/main/java/me/melontini/andromeda/modules/items/magnet/Main.java @@ -1,14 +1,14 @@ package me.melontini.andromeda.modules.items.magnet; +import me.melontini.andromeda.common.AndromedaItemGroup; import me.melontini.andromeda.common.conflicts.CommonRegistries; -import me.melontini.andromeda.common.registries.AndromedaItemGroup; -import me.melontini.andromeda.common.registries.Keeper; +import me.melontini.andromeda.common.util.Keeper; import me.melontini.andromeda.modules.items.magnet.items.MagnetItem; import me.melontini.dark_matter.api.minecraft.util.RegistryUtil; import net.fabricmc.fabric.api.item.v1.FabricItemSettings; import net.minecraft.item.ItemGroups; -import static me.melontini.andromeda.common.registries.Common.id; +import static me.melontini.andromeda.common.Andromeda.id; public class Main { diff --git a/src/main/java/me/melontini/andromeda/modules/items/pouches/Main.java b/src/main/java/me/melontini/andromeda/modules/items/pouches/Main.java index 10e8ea3a..ee0eaeb6 100644 --- a/src/main/java/me/melontini/andromeda/modules/items/pouches/Main.java +++ b/src/main/java/me/melontini/andromeda/modules/items/pouches/Main.java @@ -1,8 +1,8 @@ package me.melontini.andromeda.modules.items.pouches; +import me.melontini.andromeda.common.AndromedaItemGroup; import me.melontini.andromeda.common.conflicts.CommonRegistries; -import me.melontini.andromeda.common.registries.AndromedaItemGroup; -import me.melontini.andromeda.common.registries.Keeper; +import me.melontini.andromeda.common.util.Keeper; import me.melontini.andromeda.modules.items.pouches.entities.PouchEntity; import me.melontini.andromeda.modules.items.pouches.items.PouchItem; import me.melontini.dark_matter.api.base.util.Exceptions; @@ -34,7 +34,7 @@ import org.jetbrains.annotations.Nullable; import java.lang.reflect.Field; import java.util.*; -import static me.melontini.andromeda.common.registries.Common.id; +import static me.melontini.andromeda.common.Andromeda.id; public class Main { diff --git a/src/main/java/me/melontini/andromeda/modules/items/pouches/entities/PouchEntity.java b/src/main/java/me/melontini/andromeda/modules/items/pouches/entities/PouchEntity.java index b6c771cc..10fdd7bc 100644 --- a/src/main/java/me/melontini/andromeda/modules/items/pouches/entities/PouchEntity.java +++ b/src/main/java/me/melontini/andromeda/modules/items/pouches/entities/PouchEntity.java @@ -2,7 +2,7 @@ package me.melontini.andromeda.modules.items.pouches.entities; import it.unimi.dsi.fastutil.ints.Int2ObjectMap; import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap; -import me.melontini.andromeda.common.registries.Keeper; +import me.melontini.andromeda.common.util.Keeper; import me.melontini.andromeda.common.util.WorldUtil; import me.melontini.andromeda.modules.items.pouches.Main; import me.melontini.andromeda.modules.items.pouches.items.PouchItem; diff --git a/src/main/java/me/melontini/andromeda/modules/mechanics/dragon_fight/EnderDragonManager.java b/src/main/java/me/melontini/andromeda/modules/mechanics/dragon_fight/EnderDragonManager.java index 55992a13..339be6fa 100644 --- a/src/main/java/me/melontini/andromeda/modules/mechanics/dragon_fight/EnderDragonManager.java +++ b/src/main/java/me/melontini/andromeda/modules/mechanics/dragon_fight/EnderDragonManager.java @@ -4,7 +4,7 @@ import com.mojang.serialization.Codec; import com.mojang.serialization.codecs.RecordCodecBuilder; import lombok.Getter; import me.melontini.andromeda.base.ModuleManager; -import me.melontini.andromeda.common.registries.Keeper; +import me.melontini.andromeda.common.util.Keeper; import me.melontini.dark_matter.api.base.util.MakeSure; import net.fabricmc.fabric.api.attachment.v1.AttachmentType; import net.minecraft.entity.EntityType; diff --git a/src/main/java/me/melontini/andromeda/modules/mechanics/dragon_fight/Main.java b/src/main/java/me/melontini/andromeda/modules/mechanics/dragon_fight/Main.java index 77fd6626..dc3786d6 100644 --- a/src/main/java/me/melontini/andromeda/modules/mechanics/dragon_fight/Main.java +++ b/src/main/java/me/melontini/andromeda/modules/mechanics/dragon_fight/Main.java @@ -7,7 +7,7 @@ import net.minecraft.world.World; import java.util.Collections; -import static me.melontini.andromeda.common.registries.Common.id; +import static me.melontini.andromeda.common.Andromeda.id; public class Main { Main() { diff --git a/src/main/java/me/melontini/andromeda/modules/mechanics/throwable_items/Main.java b/src/main/java/me/melontini/andromeda/modules/mechanics/throwable_items/Main.java index 389c1b2b..6f3fd888 100644 --- a/src/main/java/me/melontini/andromeda/modules/mechanics/throwable_items/Main.java +++ b/src/main/java/me/melontini/andromeda/modules/mechanics/throwable_items/Main.java @@ -1,7 +1,7 @@ package me.melontini.andromeda.modules.mechanics.throwable_items; import me.melontini.andromeda.common.conflicts.CommonRegistries; -import me.melontini.andromeda.common.registries.Keeper; +import me.melontini.andromeda.common.util.Keeper; import me.melontini.andromeda.modules.mechanics.throwable_items.data.DefaultBehaviors; import me.melontini.andromeda.modules.mechanics.throwable_items.data.ItemBehaviorManager; import me.melontini.andromeda.modules.mechanics.throwable_items.data.ItemPlopEffect; @@ -34,7 +34,7 @@ import net.minecraft.util.Identifier; import net.minecraft.util.math.Position; import net.minecraft.world.World; -import static me.melontini.andromeda.common.registries.Common.id; +import static me.melontini.andromeda.common.Andromeda.id; import static me.melontini.andromeda.modules.mechanics.throwable_items.data.ItemBehaviorManager.RELOADER; import static me.melontini.andromeda.util.CommonValues.MODID; diff --git a/src/main/java/me/melontini/andromeda/modules/mechanics/throwable_items/data/ItemBehaviorManager.java b/src/main/java/me/melontini/andromeda/modules/mechanics/throwable_items/data/ItemBehaviorManager.java index 9f867286..c306db92 100644 --- a/src/main/java/me/melontini/andromeda/modules/mechanics/throwable_items/data/ItemBehaviorManager.java +++ b/src/main/java/me/melontini/andromeda/modules/mechanics/throwable_items/data/ItemBehaviorManager.java @@ -17,7 +17,7 @@ import net.minecraft.util.profiler.Profiler; import java.util.*; -import static me.melontini.andromeda.common.registries.Common.id; +import static me.melontini.andromeda.common.Andromeda.id; public class ItemBehaviorManager extends IdentifiedJsonDataLoader { diff --git a/src/main/java/me/melontini/andromeda/modules/mechanics/trading_goat_horn/CustomTraderManager.java b/src/main/java/me/melontini/andromeda/modules/mechanics/trading_goat_horn/CustomTraderManager.java index 64321bf2..4e48d384 100644 --- a/src/main/java/me/melontini/andromeda/modules/mechanics/trading_goat_horn/CustomTraderManager.java +++ b/src/main/java/me/melontini/andromeda/modules/mechanics/trading_goat_horn/CustomTraderManager.java @@ -4,7 +4,7 @@ import com.mojang.serialization.Codec; import com.mojang.serialization.codecs.RecordCodecBuilder; import lombok.Getter; import lombok.NonNull; -import me.melontini.andromeda.common.registries.Keeper; +import me.melontini.andromeda.common.util.Keeper; import me.melontini.dark_matter.api.base.util.MathUtil; import net.fabricmc.fabric.api.attachment.v1.AttachmentType; import net.minecraft.entity.EntityType; diff --git a/src/main/java/me/melontini/andromeda/modules/mechanics/trading_goat_horn/Main.java b/src/main/java/me/melontini/andromeda/modules/mechanics/trading_goat_horn/Main.java index 9667164d..6b9ec619 100644 --- a/src/main/java/me/melontini/andromeda/modules/mechanics/trading_goat_horn/Main.java +++ b/src/main/java/me/melontini/andromeda/modules/mechanics/trading_goat_horn/Main.java @@ -5,7 +5,7 @@ import net.fabricmc.fabric.api.event.lifecycle.v1.ServerTickEvents; import net.fabricmc.fabric.api.event.lifecycle.v1.ServerWorldEvents; import net.minecraft.world.World; -import static me.melontini.andromeda.common.registries.Common.id; +import static me.melontini.andromeda.common.Andromeda.id; public class Main { Main() { diff --git a/src/main/java/me/melontini/andromeda/modules/mechanics/villager_gifting/GiftTags.java b/src/main/java/me/melontini/andromeda/modules/mechanics/villager_gifting/GiftTags.java index 025940a6..a500440c 100644 --- a/src/main/java/me/melontini/andromeda/modules/mechanics/villager_gifting/GiftTags.java +++ b/src/main/java/me/melontini/andromeda/modules/mechanics/villager_gifting/GiftTags.java @@ -7,7 +7,7 @@ import net.minecraft.village.VillageGossipType; import java.util.Map; -import static me.melontini.andromeda.common.registries.Common.id; +import static me.melontini.andromeda.common.Andromeda.id; public class GiftTags { public static final TagKey MAJOR_POSITIVE = TagKey.of(TagUtil.key("item"), id("villager_gifts/major_positive")); diff --git a/src/main/java/me/melontini/andromeda/modules/misc/minor_inconvenience/Main.java b/src/main/java/me/melontini/andromeda/modules/misc/minor_inconvenience/Main.java index b1295338..e8b6232c 100644 --- a/src/main/java/me/melontini/andromeda/modules/misc/minor_inconvenience/Main.java +++ b/src/main/java/me/melontini/andromeda/modules/misc/minor_inconvenience/Main.java @@ -4,7 +4,7 @@ import net.minecraft.entity.damage.DamageType; import net.minecraft.registry.RegistryKey; import net.minecraft.registry.RegistryKeys; -import static me.melontini.andromeda.common.registries.Common.id; +import static me.melontini.andromeda.common.Andromeda.id; public class Main { public static final RegistryKey AGONY = RegistryKey.of(RegistryKeys.DAMAGE_TYPE, id("agony")); diff --git a/src/main/java/me/melontini/andromeda/modules/misc/recipe_advancements_generation/Main.java b/src/main/java/me/melontini/andromeda/modules/misc/recipe_advancements_generation/Main.java index 5f0d9bf3..92230196 100644 --- a/src/main/java/me/melontini/andromeda/modules/misc/recipe_advancements_generation/Main.java +++ b/src/main/java/me/melontini/andromeda/modules/misc/recipe_advancements_generation/Main.java @@ -2,7 +2,7 @@ package me.melontini.andromeda.modules.misc.recipe_advancements_generation; import com.google.common.collect.Lists; import com.google.gson.JsonElement; -import me.melontini.andromeda.common.registries.Keeper; +import me.melontini.andromeda.common.util.Keeper; import me.melontini.dark_matter.api.base.util.MakeSure; import net.fabricmc.fabric.api.event.lifecycle.v1.ServerLifecycleEvents; import net.minecraft.advancement.Advancement; diff --git a/src/main/java/me/melontini/andromeda/modules/misc/unknown/Main.java b/src/main/java/me/melontini/andromeda/modules/misc/unknown/Main.java index 217a04b5..99e9536f 100644 --- a/src/main/java/me/melontini/andromeda/modules/misc/unknown/Main.java +++ b/src/main/java/me/melontini/andromeda/modules/misc/unknown/Main.java @@ -1,7 +1,7 @@ package me.melontini.andromeda.modules.misc.unknown; import me.melontini.andromeda.common.conflicts.CommonRegistries; -import me.melontini.andromeda.common.registries.Keeper; +import me.melontini.andromeda.common.util.Keeper; import me.melontini.dark_matter.api.minecraft.util.RegistryUtil; import net.fabricmc.fabric.api.item.v1.FabricItemSettings; import net.minecraft.block.AbstractBlock; @@ -10,7 +10,7 @@ import net.minecraft.block.FlowerBlock; import net.minecraft.entity.effect.StatusEffects; import net.minecraft.util.Rarity; -import static me.melontini.andromeda.common.registries.Common.id; +import static me.melontini.andromeda.common.Andromeda.id; public class Main { diff --git a/src/main/java/me/melontini/andromeda/modules/world/crop_temperature/PlantTemperatureData.java b/src/main/java/me/melontini/andromeda/modules/world/crop_temperature/PlantTemperatureData.java index 71007356..acb073e8 100644 --- a/src/main/java/me/melontini/andromeda/modules/world/crop_temperature/PlantTemperatureData.java +++ b/src/main/java/me/melontini/andromeda/modules/world/crop_temperature/PlantTemperatureData.java @@ -6,8 +6,8 @@ import com.google.gson.JsonParseException; import com.mojang.serialization.Codec; import com.mojang.serialization.JsonOps; import com.mojang.serialization.codecs.RecordCodecBuilder; +import me.melontini.andromeda.common.Andromeda; import me.melontini.andromeda.common.conflicts.CommonRegistries; -import me.melontini.andromeda.common.registries.Common; import me.melontini.andromeda.common.util.IdentifiedJsonDataLoader; import me.melontini.andromeda.util.Debug; import me.melontini.dark_matter.api.base.util.Mapper; @@ -37,7 +37,7 @@ public record PlantTemperatureData(List blocks, float min, float max, flo Codec.FLOAT.fieldOf("aMax").forGetter(PlantTemperatureData::aMax) ).apply(data, PlantTemperatureData::new)); - public static final ReloaderType RELOADER = ReloaderType.create(Common.id("crop_temperatures")); + public static final ReloaderType RELOADER = ReloaderType.create(Andromeda.id("crop_temperatures")); public static boolean roll(Block block, float temp, ServerWorld world) { if (!world.am$get(PlantTemperature.class).enabled) return false; -- 2.51.2 From 8ca76acc7d2aad775c98ae02c7c813d715dbd279 Mon Sep 17 00:00:00 2001 From: Rad <99306685+Rad586@users.noreply.github.com> Date: Sun, 28 Apr 2024 16:21:25 +0800 Subject: [PATCH 3/6] Update zh_cn.json (#119) --- .../resources/assets/andromeda/lang/zh_cn.json | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/src/main/resources/assets/andromeda/lang/zh_cn.json b/src/main/resources/assets/andromeda/lang/zh_cn.json index 9d0b7bcf..7b5d7fbf 100644 --- a/src/main/resources/assets/andromeda/lang/zh_cn.json +++ b/src/main/resources/assets/andromeda/lang/zh_cn.json @@ -106,7 +106,6 @@ "config.andromeda.entities.zombie.clean_pickup": "僵尸不再拾起垃圾", "config.andromeda.entities.zombie.clean_pickup.@Tooltip": "防止僵尸捡起没用的物品。\n“有用”的物品包括:工具,护甲以及可投掷物品(若有启用这个特性)\n还有“andromeda:zombies_pickup”标签。", - "config.andromeda.entities.zombie.all_pick_up": "所有僵尸均可拾起物品", "config.andromeda.entities.zombie.all_pick_up.@Tooltip": "无视难度设置,允许所有僵尸拾起物品。", @@ -237,6 +236,13 @@ "entity.andromeda.hopper_boat": "载漏斗的船", "entity.andromeda.tnt_boat": "载TNT的船", + "config.andromeda.entities.ghast_tweaks": "恶魂调整", + "config.andromeda.entities.ghast_tweaks.@Tooltip": "各种与恶魂有关的调整。", + "config.andromeda.entities.ghast_tweaks.option.explodeOnDeath": "死亡爆炸", + "config.andromeda.entities.ghast_tweaks.option.explodeOnDeath.@Tooltip": "恶魂将在死亡时爆炸。", + "config.andromeda.entities.ghast_tweaks.option.explosionPower": "爆炸强度", + "config.andromeda.entities.ghast_tweaks.option.explosionPower.@Tooltip": "恶魂的爆炸强度。默认等同于TNT。", + "config.andromeda.entities.vehicle_unentrapment": "脱离载具", "config.andromeda.entities.vehicle_unentrapment.@Tooltip": "在“andromeda:escape_vehicles_on_hit”标签内的生物(默认为末影人)会在受击后脱离载具。\n载具类别需要在“andromeda:escapable_vehicle”中写入(默认为船和矿车)", @@ -300,8 +306,10 @@ "item.andromeda.special_pouch": "神秘袋", "config.andromeda.category.bugfixes": "Bug修复", + "config.andromeda.bugfixes.advancement_shadow": "独立成就阴影渲染", "config.andromeda.bugfixes.advancement_shadow.@Tooltip": "还记得当鼠标移动到成就上时显示的阴影吗?\n现在它不会再因为帧率变动而改变动画速度了。", + "config.andromeda.bugfixes.aligned_alternatives": "对齐配方界面", "config.andromeda.bugfixes.aligned_alternatives.@Tooltip": "在组内配方繁多时,配方组别不会再看上去那么小块了", @@ -338,7 +346,6 @@ "config.andromeda.gui.name_tooltips": "工具提示样式", "config.andromeda.gui.name_tooltips.@Tooltip": "在物品栏中选择物品时,展示其工具提示而非名称", - "config.andromeda.gui.no_more_adventure": "无冒险模式", "config.andromeda.gui.no_more_adventure.@Tooltip": "从游戏模式切换界面移除“冒险模式”选项", @@ -364,12 +371,12 @@ "config.andromeda.gui.smooth_tooltips.option.deltaY": "垂直限位系数", "config.andromeda.category.misc": "杂项", - "config.andromeda.misc.damage_backport": "/damage指令复刻", "config.andromeda.misc.damage_backport.@Tooltip": "对高版本/damage指令的非完全复刻!", - "config.andromeda.misc.translations": "翻译更新", "config.andromeda.misc.translations.@Tooltip": "尝试从github下载最新版的翻译文件", + "andromeda.misc.translations.exception.no_valid_lang": "无法找到有效的语言选项!", + "andromeda.misc.translations.failed_lang_acquire": "无法使用所选语言!", "config.andromeda.misc.recipe_advancements_generation": "自动生成配方成就", "config.andromeda.misc.recipe_advancements_generation.@Tooltip": "尝试为绝大部分配方生成配方成就。", @@ -407,6 +414,8 @@ "config.andromeda.lab.title": "群星实验室 🧪", "config.andromeda.button.lab.tooltip": "试试那些实验性功能!", + "config.andromeda.base.option.itemGroup": "专有物品组别", + "config.andromeda.base.option.itemGroup.@Tooltip": "群星的物品将被单独放到一个组别里。\n即使禁用,你也可以在原版的物品组别里找到这些物品。", "config.andromeda.lab.option.scopedConfigs": "分化配置", "config.andromeda.lab.option.scopedConfigs.@Tooltip": "使你能够逐世界、逐维度应用配置。\n这些配置可以通过数据包覆盖,也可以用KubeJS更改。\n欲知更多内容,请查阅维基!", -- 2.51.2 From ca86d437894733b9e8627388e917d1de2145947e Mon Sep 17 00:00:00 2001 From: melontini <104443436+melontini@users.noreply.github.com> Date: Sun, 28 Apr 2024 23:18:52 +0700 Subject: [PATCH 4/6] Fix circular dependency and SOF --- src/main/java/me/melontini/andromeda/util/CommonValues.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/me/melontini/andromeda/util/CommonValues.java b/src/main/java/me/melontini/andromeda/util/CommonValues.java index 9ce9997d..7e4e3c8f 100644 --- a/src/main/java/me/melontini/andromeda/util/CommonValues.java +++ b/src/main/java/me/melontini/andromeda/util/CommonValues.java @@ -1,7 +1,7 @@ package me.melontini.andromeda.util; import com.google.common.base.Suppliers; -import lombok.CustomLog; +import lombok.extern.log4j.Log4j2; import me.melontini.dark_matter.api.base.util.Exceptions; import net.fabricmc.api.EnvType; import net.fabricmc.loader.api.FabricLoader; @@ -18,14 +18,14 @@ import java.util.Locale; import java.util.Optional; import java.util.function.Supplier; -@CustomLog +@Log4j2 public class CommonValues { public static final String MODID = "andromeda"; private static final Supplier MOD_CONTAINER = Suppliers.memoize(() -> FabricLoader.getInstance().getModContainer(MODID).orElseThrow()); private static final Supplier MOD_VERSION = Suppliers.memoize(() -> mod().getMetadata().getVersion().getFriendlyString()); - private static final Supplier MOD_UPDATED = Suppliers.memoize(CommonValues::updated); + private static final Supplier MOD_UPDATED = Suppliers.memoize(CommonValues::checkUpdate); private static final Supplier HIDDEN_PATH = Suppliers.memoize(() -> { var path = FabricLoader.getInstance().getGameDir().resolve(".andromeda"); -- 2.51.2 From 4aede1f606cfd90b5396c7babd4d62731845530c Mon Sep 17 00:00:00 2001 From: Rad <99306685+Rad586@users.noreply.github.com> Date: Mon, 29 Apr 2024 16:39:22 +0800 Subject: [PATCH 5/6] Enderman overhaul support (#123) --- .../entity_types/escape_vehicles_on_hit.json | 84 ++++++++++++++++++- 1 file changed, 82 insertions(+), 2 deletions(-) diff --git a/src/main/resources/data/andromeda/tags/entity_types/escape_vehicles_on_hit.json b/src/main/resources/data/andromeda/tags/entity_types/escape_vehicles_on_hit.json index 264d2016..2a1cc77d 100644 --- a/src/main/resources/data/andromeda/tags/entity_types/escape_vehicles_on_hit.json +++ b/src/main/resources/data/andromeda/tags/entity_types/escape_vehicles_on_hit.json @@ -1,6 +1,86 @@ { "replace": false, "values": [ - "minecraft:enderman" + "minecraft:enderman", + { + "id": "endermanoverhaul:axolotl_pet_enderman", + "required": false + }, + { + "id": "endermanoverhaul:badlands_enderman", + "required": false + }, + { + "id": "endermanoverhaul:cave_enderman", + "required": false + }, + { + "id": "endermanoverhaul:crimson_forest_enderman", + "required": false + }, + { + "id": "endermanoverhaul:dark_oak_enderman", + "required": false + }, + { + "id": "endermanoverhaul:desert_enderman", + "required": false + }, + { + "id": "endermanoverhaul:end_islands_enderman", + "required": false + }, + { + "id": "endermanoverhaul:flower_fields_enderman", + "required": false + }, + { + "id": "endermanoverhaul:hammerhead_pet_enderman", + "required": false + }, + { + "id": "endermanoverhaul:ice_spikes_enderman", + "required": false + }, + { + "id": "endermanoverhaul:mushroom_fields_enderman", + "required": false + }, + { + "id": "endermanoverhaul:nether_wastes_enderman", + "required": false + }, + { + "id": "endermanoverhaul:ocean_enderman", + "required": false + }, + { + "id": "endermanoverhaul:pet_enderman", + "required": false + }, + { + "id": "endermanoverhaul:savanna_enderman", + "required": false + }, + { + "id": "endermanoverhaul:snowy_enderman", + "required": false + }, + { + "id": "endermanoverhaul:soulsand_valley_enderman", + "required": false + }, + { + "id": "endermanoverhaul:swamp_enderman", + "required": false + }, + { + "id": "endermanoverhaul:warped_forest_enderman", + "required": false + }, + { + "id": "endermanoverhaul:windswept_hills_enderman", + "required": false + } ] -} \ No newline at end of file +} -- 2.51.2 From 21696ee401525c95aa9b474acc9e2dc8f91b8d29 Mon Sep 17 00:00:00 2001 From: melontini <104443436+melontini@users.noreply.github.com> Date: Mon, 29 Apr 2024 18:30:56 +0700 Subject: [PATCH 6/6] CHANGELOG.md --- CHANGELOG.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d342b3e3..8636cd51 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,4 +12,6 @@ * Fixed merging of early translations. * Fixed Lab and Wiki buttons in the config screen. -* Updated Dark Matter. \ No newline at end of file +* Added an option to disable Andromeda's item group. +* Updated Dark Matter. +* Updated Chinese translation. Courtesy of [Rad586](https://github.com/Rad586). \ No newline at end of file -- 2.51.2