-
Постов
140 -
Зарегистрирован
Тип контента
Профили
Форумы
События
Весь контент NotDen
-
@qDanx12 В майне такого лимита нет. Скорее всего у тебя в какой-то команде [наверное после 40-й] есть ошибка
-
Создавал ентити Text_display, не и столкнулся с проблемой, что как запихнуть компонент в Метадату. Были 2 нерабочих варианта: new WrappedDataValue(23, WrappedDataWatcher.Registry.get(String.class), GsonComponentSerializer.gson().serialize( <некий компонент> )), /* text */ new WrappedDataValue(23, WrappedDataWatcher.Registry.getChatComponentSerializer(), WrappedChatComponent.fromJson(GsonComponentSerializer.gson().serialize( <некий компонент> ))), /* text */ В первом случаи просто не работает, во втором ошибка WrappedChatComponent cannot be cast to class net.minecraft.network.chat.IChatBaseComponent Если использовать WrappedChatComponent.class в Registry.get то ошибка No serializer found for class WrappedChatComponent Вопрос: как это заставить работать? Полный код:
-
В данных случаях ты видишь цепочки КБ с цикличиским в начале. Тэг это некоторые метки которые можно оставить на сущностях. В данных случаях в самом начале игры мы выполняем команду tag @a add isPlaying чтобы всем игрокам выдать тэг, говорящий о том, что данный игрок сейчас в игре. Для того чтобы выкинуть игрока при смерти: tag @a[scores={deaths=1..}] remove isPlaying scoreboard players reset @a[scores={deaths=1..}] deaths - deaths - скорборд с типом minecraft.custom:minecraft.deaths Когда у какого-то игрока счетчик смертей 1 и больше, то мы убираем у него тэг и сбрасываем счетчик
-
@Maksonchic Ну погнали. Скорборд с типом minecraft.custom:minecraft.deaths может считать кол-во смертей игрока, когда игрок умирает, то можно как то помечать что он умер. Например убирать у игрока некий тэг, или выкидывать его из своей команды В режиме каждый сам за себя нужно будет это scoreboard players set count system 0 execute as @a[tag=IsPlaying] run scoreboard players add count system 1 execute if score count system matches 0..1 run <...> - tag=IsPlaying - то, с помощью чего мы определяем что игрок ещё играет, после смерти игрока нужно убрать тэг у него - system - некоторый скорборд нужный для подсчетов, здесь вполне можно использовать любой - count - сам счетчик В данных командах мы сбрасываем счетчик в 0, и за каждого играющего игрока добавляем 1. После проверяем что остался 1 игрок или игроков не осталось В командных режимах будет похожее: scoreboard players set count system 0 execute if entity @p[team=<Команда 1>] run scoreboard players add count system 1 execute if entity @p[team=<Команда 2>] run scoreboard players add count system 1 execute if entity @p[team=<Команда 3>] run scoreboard players add count system 1 ... execute if score count system matches 0..1 run <...> Думаю разъяснять не нужно Но опятьже, есть два способа проверки что команда жива, либо когда игрок умирает, то выкидывать его из его команды, либо добавлять тэг: тогда получится execute if entity @p[team=<Команда 2>,tag=IsPlaying] run scoreboard players add count system 1
-
@Maksonchic Ну правильная команда будет выглядеть так: execute positioned 272 69 -4 as @a[distance=..2,team=<Команда>] at @s if block ~ ~-1 ~ minecraft:gold_block run scoreboard players add @a[team=<Команда>] Предложения: я думаю раз у тебя жёстко задан position то впринцепи можно и без золотых блоков, т.е. если игрок стоит на точке/у точки, то тогда давать очки. Команда: execute positioned <корды> if entity @p[team=<Команда>,distance=..2] run scoreboard players add @a[team=<Команда>] Если нужно чтобы довалось больше очков за большее кол-во игроков на точке: execute positioned <корды> as @a[team=<Команда>,distance=..2] run scoreboard players add @a[team=<Команда>]
-
@Varsid Скорборд с критерием minecraft.custom:minecraft.damage_taken будет считать кол-во ХП нанесённое данному игроку, но сюда также входит урон от падения и тд. Если нужно, вы можете считать, что другой игрок ударил кого-либо через скорборд minecraft.custom:minecraft.damage_dealt, если есть игрок получивший урон, и игрок который нанёс урон, то первый получил урон от второго. Но оно также считает урон нанесённый другим мобам.
-
@btwidontneedusername Датапак с ачивкой на съедение яблок и наградой в виде исполняющейся функции. Там уже койнибудь рандом и вытекающее из этого.
-
@NoLog Вродебы никак.
-
@Шишчка На гитхабе говорят про continuity, без него выляты могут прекратиться. На редит, про новый fabric и старый indium. Попробуйте понизить версию Fabric API, или обновить Indium, и с ним наверное Sodium. Так было-бы не плохо почитать файл логов Удачной игры на континенте Попа
-
Решение 1: использовать вместо блока, сущность, например block_display или armor_stand с этим блоком на голове Решение 2: использовать другой блок. В майне, если сторона блока полностью закрывает сторону своего соседа, то она не будет отображаться, пример блоков которые так не делают: полублоки, ступеньки, заборы, стекло...
-
scoreboard players remove @s score 1
-
@kagiyamaЧерез боссбар без текстуры
-
@DarkRed139 Продублируй вызов, но с другим условием. типа execute if <условие 1> run <функция 1> execute if <условие 2> run <функция 1>
-
@Umpalumpa Нет способа скрыть предметы в хотбаре, по крайней мере я не нашёл. Ну и как решения: - Очищать инвентарь (хотя не думаю что вам это надо) - Перемещать предметы в другое место, как сказал SuperCola, ну или эндер-сундук, если уж игрок будет не один - Временно переводить игрока в режим спектатора, оставляя его на том же месте. Перемещение и вращение можно заблокировать вселив игрока в какую-нибудь стойку Возможно можно с помощью шейдеров, но не уверен
-
Ну типа: mydatapack:tick Тоже самое что ты вводишь в команде function
-
@Makses580_ В файлах типа
