Помогите с кастомным скрапом

CustomNetheriteScrap.zip (653,5 КБ)
Помогите пж с кастомным скрапом сам блок рабочий но ресурс пак я не понимаю как сделать что бы он работал с этом плагином помогите пж

как ты заебал

4 лайка

Поздравляю

name: CustomNetheriteScrap version: 1.0.0 main: CustomNetheriteScrap\Main api: 5.28.3 description: A plugin that adds a custom Netherite Scrap item to creative inventory. author: YourName интересно ты каждый будешь вписывать в api актуальную версию? :rofl: ии постарался))

Ну вообще ничего такого тут нет.

Поможешь?:smiling_face_with_tear: Пожалуйста

Стрёмно тебе помогать. Если бы не модер, то тогда я бы всё таки не получил свою галочку

1 лайк

С чего вдруг стремно?

мда

И че тип если поможешь то - галочка?

Помогу, ты дашь галочку, но спустя 2-3 часа снова заберешь и поставишь себе

Да ■■■ я не снимал ее тибе, клянусь я сам хз че за хрень я уже одному челу тут галочку ставил а она сносилась какова та хе…ра я не сам делал это

Не веришь?(

Ауууу(((

А тепеть сам угадай причину. В рп у тебя идентификатор предмета назван в стиле snake_case, но в плагине идентификатор назван в стиле PascalCase. Перейди в один стиль, а не в два разных

А как? я хз(

Давай на пальчиках объясню.

У тебя есть два файла:
:page_facing_up: item_texture.json и :page_facing_up: NetheriteScrap.php.


В item_texture.json, строка 5:

Ты пишешь:

"custom_netherite_scrap": "..."

Это название текстуры. Оно всё маленькими буквами, с подчёркиванием между словами.
Это стиль называется snake_case.


В NetheriteScrap.php, строка 19:

Ты пишешь:

$item->setString("CustomItem", "CustomNetheriteScrap");

Это название предмета (внутренний ID).
Оно с большой буквы каждое слово, без подчёркиваний.
Это стиль называется PascalCase.


В чём проблема?

Игра или движок, с которым ты работаешь, не поймёт, что это один и тот же предмет, если названия не совпадают.
Ты как будто дал одному объекту два разных имени:

  • В одном месте назвал его "Вася",
  • А в другом — "ВАСИЛИЙ_ПЕТРОВИЧ".

Так нельзя.


Что делать?

Просто привести оба названия к одному стилю и значению.
Например:

  • Или везде использовать custom_netherite_scrap
  • Или везде CustomNetheriteScrap

Но лучше придерживаться одного стиля:

  • Для ID в коде — PascalCase (CustomNetheriteScrap)
  • Для текстур и JSON-ключей — snake_case (custom_netherite_scrap)

Как это решить быстро:

Возьми, и в одном из файлов замени одно имя на другое. Всё. Готово. :white_check_mark:

Если тебе проще, скажи, и я подскажу — какой вариант лучше выбрать в зависимости от платформы (например, для Minecraft Bedrock или другого движка).

1 лайк

Я кстати пытался через String таким же методом через ресурс пак сделать свою текстуру, но в MCPE к сожалению такого недоступно, только замена текстур, что и получилось у меня

Вроде сделал как ты сказал но все равно нема


CustomNetheriteScrapResourcePack1.zip (4,0 КБ)
Еще когда выключаю сервер появляется ошибка

pocketmine\data\bedrock\item\ItemTypeSerializeException: “No serializer registered for CustomNetheriteScrap\item\NetheriteScrap (1000) custom_netherite_scrap” (EXCEPTION) in “pmsrc/src/data/bedrock/item/ItemSerializer” at line 104
— Stack trace —
#0 pmsrc/src/data/bedrock/item/ItemSerializer(140): pocketmine\data\bedrock\item\ItemSerializer->serializeType(object CustomNetheriteScrap\item\NetheriteScrap#62683, null)
#1 pmsrc/src/item/Item(747): pocketmine\data\bedrock\item\ItemSerializer->serializeStack(object CustomNetheriteScrap\item\NetheriteScrap#62683, int 17)
#2 pmsrc/src/entity/Human(443): pocketmine\item\Item->nbtSerialize(int 17)
#3 pmsrc/src/player/Player(2448): pocketmine\entity\Human->saveNBT()
#4 pmsrc/src/player/Player(2482): pocketmine\player\Player->getSaveData()
#5 pmsrc/src/player/Player(2374): pocketmine\player\Player->save()
#6 pmsrc/src/network/mcpe/NetworkSession(799): pocketmine\player\Player->onPostDisconnect(string[13] Server closed, object pocketmine\lang\Translatable#62875)
#7 pmsrc/src/network/mcpe/NetworkSession(738): pocketmine\network\mcpe\NetworkSession->pocketmine\network\mcpe{closure}()
#8 pmsrc/src/network/mcpe/NetworkSession(794): pocketmine\network\mcpe\NetworkSession->tryDisconnect(object Closure#63206, string[13] Server closed)
#9 pmsrc/src/network/NetworkSessionManager(111): pocketmine\network\mcpe\NetworkSession->disconnect(string[13] Server closed, null)
#10 pmsrc/src/Server(1563): pocketmine\network\NetworkSessionManager->close(string[13] Server closed)
#11 pmsrc/src/Server(1149): pocketmine\Server->forceShutdown()
#12 pmsrc/src/PocketMine(360): pocketmine\Server->__construct(object pocketmine\thread\ThreadSafeClassLoader#3, object pocketmine\utils\MainLogger#6, string[13] /root/server/, string[21] /root/server/plugins/)
#13 pmsrc/src/PocketMine(383): pocketmine\server()
— End of exception information —

Криво предмет зарегал. Потом дома помогу