Я создаю мод 1.21.1, предназначенный только для серверной части, который добавляет пользовательские зелья с ванильными эффектами.
Мне не удалось создать рецепт без регистрации предметов/зелий, из-за которых ванильные игроки будут кикаться при столкновении с ванильными эффектами. игроки с предметами и фабриками не смогут присоединиться.
Изначально я пытался зарегистрировать рецепт зелья с помощью builder.registerPotionRecipe(), но для этого требуется RegistryEntry
, а не Potion, который я создал.
Затем я начал использовать builder.registerItemRecipe(), но это привело к тому, что сервер не запустился.
Регистрация элемента или Зелье приводило к тому, что ванильные клиенты выгонялись всякий раз, когда встречали этот предмет в игре, а игроки за фабрику не могли присоединиться, потому что у клиента не было реестра.
Я видел, что рецепт приготовления существовал, поскольку смог поместить изумруд заблокируйте слот для ингредиентов, и заварочный стенд запустится.
@Override
public void onInitializeServer() {
ArrayList RICH_POTION_EFFECTS = new ArrayList();
RICH_POTION_EFFECTS.add(new StatusEffectInstance(StatusEffects.HERO_OF_THE_VILLAGE, 480, 5));
RICH_POTION_EFFECTS.add(new StatusEffectInstance(StatusEffects.LUCK, 480, 3));
Item RICH_POTION = new Item(new Item.Settings().component(DataComponentTypes.POTION_CONTENTS, new PotionContentsComponent(Optional.empty(),Optional.empty(), RICH_POTION_EFFECTS)));
Item AWKWARD_POTION = new Item(new Item.Settings().component(DataComponentTypes.POTION_CONTENTS, new PotionContentsComponent(Potions.AWKWARD)));
FabricBrewingRecipeRegistryBuilder.BUILD.register(builder -> {
builder.registerItemRecipe(
AWKWARD_POTION,
Items.EMERALD_BLOCK,
RICH_POTION
);
});
}
[17:10:46] [main/ERROR] (Minecraft) Failed to start the minecraft server
java.lang.IllegalStateException: Some intrusive holders were not registered: [Reference{null=[unregistered]}, Reference{null=[unregistered]}]
at net.minecraft.registry.SimpleRegistry.freeze(SimpleRegistry.java:359) ~[minecraft-common-c2b31d572c-1.21.1-net.fabricmc.yarn.1_21_1.1.21.1+build.3-v2.jar:?]
at net.minecraft.registry.Registries.freezeRegistries(Registries.java:264) ~[minecraft-common-c2b31d572c-1.21.1-net.fabricmc.yarn.1_21_1.1.21.1+build.3-v2.jar:?]
at net.minecraft.registry.Registries.bootstrap(Registries.java:248) ~[minecraft-common-c2b31d572c-1.21.1-net.fabricmc.yarn.1_21_1.1.21.1+build.3-v2.jar:?]
at net.minecraft.server.Main.handler$zhp000$fabric-registry-sync-v0$afterModInit(Main.java:1547) ~[minecraft-common-c2b31d572c-1.21.1-net.fabricmc.yarn.1_21_1.1.21.1+build.3-v2.jar:?]
at net.minecraft.server.Main.main(Main.java:111) [minecraft-common-c2b31d572c-1.21.1-net.fabricmc.yarn.1_21_1.1.21.1+build.3-v2.jar:?]
at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:480) [fabric-loader-0.16.5.jar:?]
at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) [fabric-loader-0.16.5.jar:?]
at net.fabricmc.loader.impl.launch.knot.KnotServer.main(KnotServer.java:23) [fabric-loader-0.16.5.jar:?]
at net.fabricmc.devlaunchinjector.Main.main(Main.java:86) [dev-launch-injector-0.2.1+build.8.jar:?]
Подробнее здесь: https://stackoverflow.com/questions/790 ... -a-brewing
Можно ли создать зелье с несколькими эффектами и включить его в рецепт приготовления без регистрации зелья? ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение