Обновлено: 29.01.2023
Субъекту статьи ещё не дано официальное название и оно может измениться в любое время.
Пространство имён [ ]
Это не новая концепция, но думаю, что я должен повторить, что такое «пространство имён». Большинство вещей в игре имеет пространство имён, так что если мы добавим что-то и модификацию (карту или что-то ещё), добавляющую что-то , они оба будут иметь абсолютно разное что-то . Всякий раз, когда вас просят указать что-то, например таблицу добычи, вы также должны указать, из какого пространства имён исходит этот объект. Если вы не укажете пространство имён, игра по умолчанию использует minecraft . Это означает, что что-то и minecraft:что-то — это одно и то же.
Например, два пакета данных добавляют два механизма мини-игр в Minecraft; они оба имеют Пользовательское пространство имён [ ]
Пространство имён должно быть отличным от каждого добавляемого проекта или контента (например, пакета данных, пакета ресурсов, модификации, пакета ресурсов для пользовательской карты и так далее).
Чтобы предотвратить возможные конфликты, пространства имён должны быть максимально конкретными.
- Следует избегать алфавитных супов. Например, проект, названный «ядерный корабль», не должен использовать пространство имён nc , так как это слишком неоднозначное имя.
- Следует избегать слишком «расплывчатых» слов. Имя battle_royale не выглядит столь информативно, поэтому имя player_name_battle_royale выглядит намного лучше и более информативно.
В любом случае, эти неудачно выбранные пространства имён снижают вероятность конфликта проектов, когда в игре используется несколько видов добавляемого контента.
Пространство имён minecraft [ ]
Другие встроенные пространства имён [ ]
По умолчанию пакет ресурсов Minecraft использует для Realms языковые файлы в пространстве имён realms (расположенном в assets/realms/lang/<языковой-код>.json ) и связанные с игрой языковые файлы в пространстве имён minecraft , даже если ключи перевода не являются идентификаторами пространства имён. Сам Realms.jar тоже использует свой собственный языковой файл ru_ru.JSON и текстуры в пространстве имён realms .
Содержание
Итак, ID — это положительное целочисленное значение, присваиваемое каждому объекту в игре. Поскольку количество идентификаторов ограничено (Максимальный ID для блока — 4095), разработчикам модов не всегда удаётся избежать использования тех ID, которые уже были заняты другими модами. Поскольку мы решаем эту проблему в ручном режиме, нам не потребуется использовать специальные моды для переназначения уже занятых ID.
Начать стоит с отчёта об ошибке, который появляется после попытки запустить игру. Обычно в самом начале этого текста содержится следующая строчка:
java.lang.IllegalArgumentException:
Slot *a* is already occupied by *b* when adding *c*
*a* — ID, который не поделили моды *b* и *c*
Обратите внимание: изменения можно внести как в конфигурационный файл мода *b*, так и мода *c*. Если оба мода не поддерживают изменение ID через конфигурационные файлы, решить конфликт вручную не выйдет.
Это был один из двух возможных способов ручного устранения конфликта ID. Второй мы рассмотрим в следующей статье.
Мой совет: устанавливая каждый следующий мод, проверяйте, работает ли сборка после его установки. Так не возникнет цепной реакции, связанный с использованием одинаковых идентификаторов.
Также, советую посмотреть видео-урок по устранения конфликта ID в ручном режиме:
Использование [ ]
Допустимый идентификатор пространства имён имеет формат namespace: name , где могут использоваться только определённые символы.
Это список всех объектов игры, которые имеют пространство имён идентификаторов:
Допустимые символы [ ]
Java Edition [ ]
Пространство имён и имена идентификаторов могут содержать только следующие символы:
- 0123456789 Цифры
- abcdefghijklmnopqrstuvwxyz Строчные буквы
- _ Нижнее подчёркивание
- — Дефис/минус
Следующие символы недопустимы в пространстве имён, но допустимы в самом имени:
- / Косая черта (слэш)
- Разделитель каталогов
- Разделитель наименования и расширения файлов.
Запись каждого пространства имён должна выглядеть следующим образом: lower_case_with_underscores (нижний_регистр_с_нижним_подчёркиванием).
Bedrock Edition [ ]
Пространство имён и имена идентификаторов могут содержать все символы, кроме косых черт (слэша) и двоеточий.
Следующие символы недопустимы в пространстве имён, но допустимы в именах таблиц добычи и функций:
- / Косая черта (слэш)
- Разделитель каталогов
Запись каждого пространства имён должна выглядеть следующим образом: lower_case_with_underscores (нижний_регистр_с_нижним_подчёркиванием).
Преобразование в строку [ ]
Идентификатор пространства имён преобразовывается в строку, если использовать : (двоеточие) между ним и его пространством имён.
Пространство имён Имя Преобразование в строку minecraft diamond minecraft:diamond foo bar.baz foo:bar.baz minecraftwiki commands/minecraft_wiki minecraftwiki:commands/minecraft_wiki Преобразование из строки [ ]
В отличие от идентификаторов пространства имён, которые могут быть преобразованы в строки, есть отдельные строки, которые, наоборот, не могут быть преобразованы в идентификаторы.
Есть несколько ограничений:
- Строка может иметь только один символ : (двоеточие)
- Остальная часть строки должна соответствовать требованиям допустимых символов
- Если : присутствует, то часть строки перед : (пространство имён) не должна содержать символы / или .
Рекомендуется всегда включать : в строковый формат идентификаторов пространств имён.
Объекты, добавленные файлами из пакетов ресурсов и пакетов данных, могут быть найдены игрой, используя пространство имён идентификаторов, предоставляемое выбранным пакетом.
Хотя расположение зависит от типа объекта и типа пакета, которому принадлежит данный объект, существует определённая закономерность. Как правило, расположение выглядит следующим образом: pack_type/namespace/object_type/name.suffix , где все символы / (слэш) (может быть частью object_type или name ) заменяется разделителем каталогов, зависящим от операционной системы.
Мапирование происходит из типа объекта в переменные pack_type , object_type , и suffix
Тип объекта Пакет объекта Вместо pack_type Вместо object_type Вместо suffix Пакет ресурсов assets blockstates json Пакет ресурсов assets models json Частицы Пакет ресурсов assets particles json Текстуры Пакет ресурсов assets textures png Достижения Пакет данных data advancements json Пакет данных data functions mcfunction Таблицы добычи Пакет данных data loot_tables json Рецепты Пакет данных data recipes json Структуры Пакет данных data structures nbt Теги блоков Пакет данных data tags/blocks json Теги типов сущностей Пакет данных data tags/entity_types json Теги предметов Пакет данных data tags/items json Теги жидкостей Пакет данных data tags/fluids json Теги функций Пакет данных data tags/functions json Примечание: некоторые элементы в пакете ресурсов не обязательно поддерживаются объектом с идентификатором пространства имён, например текстуры графического интерфейса пользователя.
Учитывая тип содержимого, можно найти соответствующие файлы pack_type , object_type и suffix . Затем их можно заменить и узнать окончательное расположение содержимого.
Идентификаторы пространства имён Тип содержимого pack_type object_type suffix Окончательное расположение my_texture_pack:diamonds Текстуры assets textures png assets/my_texture_pack/textures/diamonds.jpg abc:run_game Тег функции data tags/functions json data/minecraft/tags/functions/load.json rocket_pack:industry/start_of_story Достижения data advancements json data/rocket_pack/advancements/industry/start_of_story.json Предмет с индификатором minecraft не существует что делать
Caman86
ТруЪ Олдфаги-с
Звание: V.I.P на хуторе
Weazzer,
На сервере этот мод не установлен/не включен.Weazzer
Caman86,
Как раз таки мод установлен, проверял все 1000 разCaman86
ТруЪ Олдфаги-с
Звание: V.I.P на хуторе
Weazzer
Caman86
ТруЪ Олдфаги-с
Звание: V.I.P на хуторе
Статистика форума
Сейчас онлайн: 22
Администраторы | Главные редакторы | Модератор | Дедушки | Журналисты | HENTAI BOY | Goldфаги | Журналисты-олдфаги | ТруЪ Олдфаги-с | ТруЪ Плагинщик | Олдфаги | true Художник | Модератор бездны | Картоделы | XXXL ПХЛ | Просто хорошие люди | Посетители | Новички
Предмет с индификатором minecraft не существует что делать
ТруЪ Олдфаги-с
Звание: Искуственный AI, блеять
Полная ерунда. Держите готовую команду — /testfor @e[type=Item,name=Pivko] >.
Чеканной монетой платить не надо.
Статистика форума
Сейчас онлайн: 22
Администраторы | Главные редакторы | Модератор | Дедушки | Журналисты | HENTAI BOY | Goldфаги | Журналисты-олдфаги | ТруЪ Олдфаги-с | ТруЪ Плагинщик | Олдфаги | true Художник | Модератор бездны | Картоделы | XXXL ПХЛ | Просто хорошие люди | Посетители | Новички
Читайте также:
- Ethernet surge protector что это
- Объем 1 моль водорода в сосуде при температуре t и давлении p равен 3л чему
- Где сложная линия в доте 2
- Как посмотреть историю игр в hearthstone
- Как отключить акселерометр в гта 5
-
Нажимаю на вещь и мне пишет: Unknown item name
Из модов только NEI, OptiFine, Zan’s minimap.
Версия 1.7.2.Последнее редактирование: 24 май 2014 -
Ты щас издеваешься надо мной? Если ты не понимаешь, чё лезть то?
Во 1: У меня права «-*»
Во 2: Когда нет прав, пишет: You don’t have permissions!
В 3: Перевод моей проблемы, означает, что мод не знает ID предмета, который я хочу гивануть! -
Не помогает
UP!
UUUUUP!!!!!!!!!!!!!!! -
MOR_IV
Активный участник
Пользователь- Баллы:
- 88
- Имя в Minecraft:
- MOR_IV
Чувак — установи nei на сторону сервера, и все будет. И надо чтоб моды клиента стояли на сервере.
-
У меня сервер без лаунчера. Влеплю щас MCPC+, залью мод NEI и хер кто без него зайдёт!
-
Может быть моды на сервере отсутствуют? Или несовпадение модов на клиенте и сервере? Проверь)
Лайка2 и HoShiMin нравится это.
-
MOR_IV
Активный участник
Пользователь- Баллы:
- 88
- Имя в Minecraft:
- MOR_IV
Тогда ни как не сделаешь. Бери исходники NEI и переписывай команду give.
Лайка2 и Лайка нравится это.
-
Мозги вам переписывать надо . А с NEI все впорядке.
@Primal_Healer, Поменяй формат команды в конфиге на /i {1}:{3} {2}
Лайка2 и Alexgrist нравится это.
-
MOR_IV
Активный участник
Пользователь- Баллы:
- 88
- Имя в Minecraft:
- MOR_IV
Александр, ну штож так жестко в мою сторону.? про формат команды не знал.
-
Сейчас проверим
Никаких изменений Всё та же проблема -
Тогда смотрите формат под свой плагин, то что я скинул это под essentials.
Смотри команды item своего плагина и подстраивай NEI под него. -
так работает у меня в TMI.
-
Чувак видимо сидит на каком нибить убогом комбуке или похуже хрени . По этому у него не стандартная команда.
Лайка2 и Alexgrist нравится это.
-
NEI Пишет неизвестное название предмета: tile.sandStone — как настроить чтоб выводило в команду с id предмета, а не с названием.. не найду никак в конфиге..
При точно так же настроенном конфиге NEI в версии 1.6.4 выдаёт командой
/give nik 12 64 2
а в версии для 1.7.2
/give nik tile.sandStone 64 2
И вот тут ещё зацепка.. это ессентиалс не понимает названия предмета. А если использовать на сервере без плагинов — выдаёт только воздух ) вместо любых id. Тоже не понимает. На сервере 1.7.9 тоже самое.Вот что нашел на форуме. Но решения пока нет )
Поделиться этой страницей
Решено Не выдаются предметы из модов командой на сервере.
Тема в разделе «Помощь», создана пользователем KaneB, 13 мар 2021.
-
Начну с того, что на сервере и на клиенте установлены идентичные моды. Суть проблемы заключается в том, что когда я прописываю команду /give kaneb 4945 1 , то сервер выдает мне следующее: Неизвестный id предмета
. Причём, всё моды работают на сервере, но их выдача путём команды не работает, как при помощи названия предмета, так и при написании id.
Ядро сервера: Magma.
Версия игры 1.12.2
Список плагинов:
AnimationLib, BetterRTP, Chatty, ChestCommands, ClearLag, CustomJoinItems, EffectLib, Essentials, EssentialsSpawn, GadgetsMenu, HolographicDisplays, LeaderHeads, LiteJoin, LuckPerms, MessageAnnouncer, NametagEdit, PluginConstructorAPI, PluginManager, ProtocolLib, Scavenger, ServerListPlus, TAB, TitleManager, TreysCommandBlocker, UralClans2, Vault,
WorldBorder, WorldEdit, WorldGuard. -
Проблема была в essentials. Отключение команды give в конфиге essentials, полностью решает проблему.
# Disabling commands here will prevent Essentials handling the command, this will not affect command conflicts.
# You should not have to disable commands used in other plugins, they will automatically get priority.
# See http://wiki.bukkit.org/Commands.yml#aliases to map commands to other plugins.
disabled-commands:
— giveПоследнее редактирование: 13 мар 2021
<
Поделиться этой страницей
Hi,
I made a Modded Server with the current mods installed
Forge
DivineRPG
Millenaire
More Bows Mod
Update Check Mod
CodeChickenCore
NEI
IDResolver
REIs Minimap
Everytime I try to spawn in an item within these mods it says Error:Unknown Item ID. I am not that experienced with Servers with Mods. Maybe this would help?
at org.bukkit.plugin.java.JavaPluginLoader.getClassByName(JavaPluginLoader.java:284)
at com.earth2me.essentials.storage.BukkitConstructor.getClassForNode(BukkitConstructor.java:418)
at org.yaml.snakeyaml.constructor.Constructor$ConstructYamlObject.getConstructor(Constructor.java:321)
at org.yaml.snakeyaml.constructor.Constructor$ConstructYamlObject.construct(Constructor.java:331)
at org.yaml.snakeyaml.constructor.BaseConstructor.constructObject(BaseConstructor.java:183)
at org.yaml.snakeyaml.constructor.BaseConstructor.constructDocument(BaseConstructor.java:142)
at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseConstructor.java:128)
at org.yaml.snakeyaml.Yaml.loadFromReader(Yaml.java:480)
at org.yaml.snakeyaml.Yaml.load(Yaml.java:423)
at com.earth2me.essentials.storage.YamlStorageReader.load(YamlStorageReader.java:47)
at com.earth2me.essentials.storage.AbstractDelayedYamlFileReader.run(AbstractDelayedYamlFileReader.java:37)
at org.bukkit.craftbukkit.v1_4_R1.scheduler.CraftTask.run(CraftTask.java:53)
at org.bukkit.craftbukkit.v1_4_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:53)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Thanks I would really appreciate it if someone helped me,
Cozmify
Information
Full output of /ess version
:
Server version: 1.16.1-R0.1-SNAPSHOT git-Paper-108 (MC: 1.16.1)
EssentialsX version: 2.18.0.7
LuckPerms version: 5.1.26
Vault version: 1.7.3-b131
EssentialsXChat version: 2.18.0.7
Server log: https://gist.github.com/waybaker/abc79c4f970ffabec3f2c006c1bb409b
EssentialsX config: https://gist.github.com/waybaker/d5b0a97d28371b9a86fe8e3290fccfba
Details
Description
When using the /give command, either in console or in game, and using enchantments, an error is returned — «Unknown Item Name».
Sample Command: /give [putplayernamehere] diamond_axe{Enchantments:[{id:efficiency,lvl:5},{id:fortune,lvl:3},{id:mending,lvl:1},{id:sharpness,lvl:5},{id:unbreaking,lvl:3}]} 1
Error Returned: Error: Unknown item name: diamond_axe{enchantments:[{id:efficiency,lvl:5},{id:fortune,lvl:3},{id:mending,lvl:1},{id:sharpness,lvl:5},{id:unbreaking,lvl:3}]}.
Steps to reproduce
With plugin loaded, issue the command. I removed plugins one by one until I figured out it was this one. After removing the EssentialsX and EssentialsX Chat Plugins, the issue resolved.
Expected behavior
The player identified in the command string should be given the item specified, with the enchantments specified.
Screenshots