Перейти к содержанию

Щербатый бесстыдник

Пользователи
  • Постов

    1 060
  • Зарегистрирован

  • Посещение

  • Победитель дней

    12

Весь контент Щербатый бесстыдник

  1. если прям жесть как нужно именно дату проверять, то вот: execute as @a[nbt={Inventory:[{id:"minecraft:dirt",components:{"minecraft:custom_name":{text:"Локация 2"}}}]}] run tag @s add has_dirt чтобы посмотреть дату игрока пропиши data get entity @p перед этим желательно удали из игрока все достижения и рецепты, чтобы было меньше мусора
  2. execute as @a if items entity @s inventory.* minecraft:dirt[minecraft:custom_name="Локация 2"] run tag @s add has_dirt clear @a[tag=has_dirt] minecraft:dirt[minecraft:custom_name="Локация 2"]
  3. Моё воспитание не позволяет мне одобрять стукачество ¯⁠\⁠_⁠(⁠ツ⁠)⁠_⁠/⁠¯
  4. Мысли есть, мне лень их формулировать Вообще рил бесполезный блок)
  5. Философские вопросы без винтика болтика какие-то не философские))
  6. ДОПОЛНЕНИЕ К ГАЙДУ 1.21.2+ (вы тоже дополняйте, не стесняйтесь) капееец рибята, я только что вспомнил про то что можно выдавать предметы с функцией глайдера ( iron_boots[glider={}] ) то есть фактически можно сделать какой-нибудь амулет двойного прыжка или ботинки двойного прыжка. Чтобы сделать ботинки двойного прыжка, вам необходимо построить первый механизм и сделать с ним то что написано ниже: Командный блок №6 нужно заменить этим блоком execute as @a if items entity @s armor.feet *[minecraft:custom_data={Tags:["JumpBoots_off"]}] if data entity @s {OnGround:1b} run item replace entity @s armor.feet with iron_boots[custom_name=["",{"text":"Ботинки двойного прыжка","italic":false}],glider={},enchantment_glint_override=true,minecraft:custom_data={Tags:["JumpBoots"]}] Командный блок №2 нужно заменить этим блоком execute as @a if items entity @s armor.feet *[minecraft:custom_data={Tags:["JumpBoots"]}] if data entity @s {FallFlying:1b} run item replace entity @s armor.feet with minecraft:iron_boots[custom_name=["",{"text":"Ботинки двойного прыжка","italic":false}],enchantment_glint_override=true,minecraft:custom_data={Tags:["JumpBoots_off"]}] Командный блок №1 нужно заменить этим блоком execute as @a at @s unless items entity @s armor.chest minecraft:elytra if items entity @s armor.feet *[minecraft:custom_data={Tags:["JumpBoots"]}] if data entity @s {FallFlying:1b} run summon wind_charge ~ ~-0.5 ~ {Tags:["DoubleJump"]} Командный блок №0 нужно заменить этим блоком give @a iron_boots[custom_name=["",{"text":"Ботинки двойного прыжка","italic":false}],glider={},enchantment_glint_override=true,minecraft:custom_data={Tags:["JumpBoots"]}]
  7. Когда речь заходит о двойном прыжке, первым делом встают 2 вопроса -- как задетектить два нажатия пробела подряд? -- как подкинуть игрока? Ответом на первый вопрос будут элитры. Когда игрок хочет полететь на элитрах, он жмёт пробел 2 раза, мы можем это задетектить при помощи FallFlying:1b Ответом на второй вопрос являются заряды ветра. Если мы заспавним wind_charge ~ ~-0.5 ~ {Motion:[0,1,0]}, то он стрельнет игроку в жопу, тем самым его подкинет. Кто-то скажет что это костыли, но работа с mcfunction это костыльство в чистом виде, по этому брезгать подобным глупо, особенно зная что даже создатели плагинов детектят двойной прыжок точно также, но только через креативный полёт. execute as @a at @s if items entity @s armor.chest *[minecraft:custom_data={Tags:["DoubleJump_off"]}] run particle minecraft:firework ~ ~ ~ 0 0 0 0 0 КБ №7 - Чисто декоративная фигня, спавнит партиклы под ногами игрока совершающего двойной прыжок. Этот блок можно убрать execute as @a if items entity @s armor.chest *[minecraft:custom_data={Tags:["DoubleJump_off"]}] if data entity @s {OnGround:1b} if data entity @s {FallFlying:0b} run item replace entity @s armor.chest with minecraft:elytra[custom_name='["",{"text":"Прыгательные элитры","italic":false,"color":"white"}]',lore=['["",{"text":"Когда надето:","italic":false,"color":"gray"}]','["",{"text":"двойной прыжок","italic":false,"color":"blue"}]'],enchantment_glint_override=true,minecraft:custom_data={Tags:["DoubleJump"]}] КБ №6 - Определяет игрока находящегося на земле и одетого в элитры с тегом "DoubleJump_off". Выполняет замену элитр на те которые у него были изначально Замена элитр нужна для того чтобы игрок мог повторить двойной прыжок только после приземления. execute as @e[tag=DoubleJump] at @s run data modify entity @s Motion[1] set value 0.5 КБ №5 - Даёт заряду ветра дату Motion чтобы он летел вверх (в игрока) execute as @e[tag=DoubleJump] at @s run tp @s ^ ^ ^-0.3 КБ №4 - Телепортирует заряд ветра немного назад, это нужно чтобы отбросить игрока не идеально вверх, а чуть чуть вперёд, к сожалению из-за небольшого урона наносимого зарядом ветра, у меня не получилось сделать так чтобы игрок летел ровно вперёд, получилось так что его немного заносит. execute as @e[tag=DoubleJump] at @s positioned ~ ~0.5 ~ run data modify entity @s Rotation[0] set from entity @p Rotation[0] КБ №3 - Разворачивает призванный первым блоком заряд ветра в ту сторону, в которую смотрит игрок, это нужно для следующего блока. execute as @a if items entity @s armor.chest *[minecraft:custom_data={Tags:["DoubleJump"]}] if data entity @s {FallFlying:1b} run item replace entity @s armor.chest with elytra[minecraft:damage=500,custom_name='["",{"text":"Прыгательные элитры","italic":false,"color":"white"}]',lore=['["",{"text":"Когда надето:","italic":false,"color":"gray"}]','["",{"text":"двойной прыжок","italic":false,"color":"blue"}]'],enchantment_glint_override=true,minecraft:custom_data={Tags:["DoubleJump_off"]}] КБ №2 - Определяет игрока находящегося в полёте и одетого в элитры с тегом "DoubleJump". Выполняет замену его элитр на такие-же, но неработающие и с тегом "DoubleJump_off". Если удалить "minecraft:damage=500," то игрок сможет воспользоваться элитрами после подбрасывания. execute as @a at @s if items entity @s armor.chest *[minecraft:custom_data={Tags:["DoubleJump"]}] if data entity @s {FallFlying:1b} run summon wind_charge ~ ~-0.5 ~ {Tags:["DoubleJump"]} КБ №1 - Определяет игрока находящегося в полёте и одетого в элитры с тегом "DoubleJump". Выполняет спавн заряда ветра с таким-же тегом. Ещё хочу сказать, что мой способ в данном исполнении подходит больше для аркадных режимов, чем для выживания, но его можно переделать под себя. Если у вас возникнут проблемы с именем и описанием предмета, то попробуйте удалить ' из команды. Например не '["text":"123"]' а просто ["text":"123"] Механизм сделан под элитры с особым тегом, по этому "обычные" элитры работают нормально и не влияют на работу механизма. Командные блоки нужно располагать в ряд друг за другом, так как показано на картинках артёма ;) give @p minecraft:elytra[custom_name='["",{"text":"Прыгательные элитры","italic":false,"color":"white"}]',lore=['["",{"text":"Когда надето:","italic":false,"color":"gray"}]','["",{"text":"двойной прыжок","italic":false,"color":"blue"}]'],enchantment_glint_override=true,minecraft:custom_data={Tags:["DoubleJump"]}] КБ №0 - Выдаёт игроку прыгательные элитры (обычные элитры будут работать как обычные элитры) Моё исполнение двойного прыжка довольно грубое и имеет недостатки, например, у меня не получилось сделать его без помощи элитр, а ещё заряд ветра наносит игроку небольшой урон, тем самым толкает его не пойми в какую сторону, поэтому я надеюсь, что более опытные коллеги дополнят гайд, если найдут способы улучшить механизм.
  8. Стопудняк хочет сделать обновления карты после какой-нибудь игры по типу голодных игр. В маине реально не хватает ванильных бэкапов мира. Файлы региона копировать, а потом ещё и мир перезагружать как то заморочено
  9. Только у тех кто уже их создавал, порог входа в датапаки довольно высокий, кто бы что не говорил. А челику нужно просто кнопочку сделать, если заставить его разбираться в датапаках, то велик шанс того что он забьёт болт и сделает что-то в стиле kill @e :)
  10. К сожалению нельзя. Если использовать только ванильные инструменты то тут только clone и структурные блоки Очень не люблю утверждать о невозможности тех или иных вещей, но тут 100% нет других вариков (в твоих условиях фулл ванилы)
  11. если челик не может задетектить нажатие кнопки, то он вероятно не знает даже о их существовании (о существовании датапаков, не кнопок)
  12. я думаю что проблемы с clone могут возникать из-за установленного лимита по блокам, одна из этих команд должна его убрать /gamerule minecraft:max_block_modifications 999999999 /gamerule commandModificationBlockLimit 999999999
  13. Внутри структурного блока "запись" можно указывать размеры конструкции без помощи "угла", покопайся в блоке
  14. Есть также блок структурной пустоты, если он присутствует в постройке, то при копировании, места с этим блоком не будут заполняться воздухом, а останутся такими какими были. give @p minecraft:structure_void сохраняются схематики кстати в world/generated/minecraft/название.nbt и их можно переносить между мирами
  15. Для сохранения больших областей нужно использовать либо мод/плагин WorldtEdit либо структурный блок. give @p minecraft:structure_block у структурного блока есть 3 режима - чтение, запись и угол. Чтение нужно для того чтобы вставлять схематики. а запись и угол для того чтобы сохранять, но можно обойтись и без угла. Для того чтобы сохранить постройку нужно в один угол поставить блок "запись", а в противоположный угол блок "угол". В них нужно написать одно и тоже название, после чего нажать кнопку "расчёт" в блоке записи, а потом "запись"
  16. Мой способ вряд ли можно назвать оптимальным решением, но я его уже придумал, по этому напишу Сперва создаём 4 маркера с тегами в том месте куда должны будут телепортироваться победители после финала игры, важно чтобы между ними было минимальное расстояние, хотя бы в 0.0001 блока. summon minecraft:marker 0 64.01 0 {Tags:["4team","wictory_counter"]} summon minecraft:marker 0 64.02 0 {Tags:["3team","wictory_counter"]} summon minecraft:marker 0 64.03 0 {Tags:["2team","wictory_counter"]} summon minecraft:marker 0 64.04 0 {Tags:["1team","wictory_counter"]} Далее записываем в маркеры скорборд от вашего счётчика побед (можно изначально в них записывать), а также присваиваем *wictory счёт 0 scoreboard players operation @e[tag=4team] score = ваш счётчик от команды 4 scoreboard players operation @e[tag=3team] score = ваш счётчик от команды 3 scoreboard players operation @e[tag=2team] score = ваш счётчик от команды 2 scoreboard players operation @e[tag=1team] score = ваш счётчик от команды 1 scoreboard players set *wictory score 0 И в конце копируем в *wictory самый большой скорборд, убиваем все маркеры чей скорборд меньше чем это значение, и либо объявляем ничью если осталось больше одного маркера, либо объявляем победу определённой команды и телепортируем победителей execute at @n[tag=4team] unless entity @n[tag=wictory_counter,distance=0.0001..] run tp @a[team=4] @s execute at @n[tag=3team] unless entity @n[tag=wictory_counter,distance=0.0001..] run tp @a[team=3] @s execute at @n[tag=2team] unless entity @n[tag=wictory_counter,distance=0.0001..] run tp @a[team=2] @s execute at @n[tag=1team] unless entity @n[tag=wictory_counter,distance=0.0001..] run tp @a[team=1] @s execute at @n[tag=wictory_counter] if entity @n[tag=wictory_counter,distance=0.0001..] run say ничья execute as @e[tag=wictory_counter] at @s if score @s score < *wictory score run kill @s execute as @e[tag=wictory_counter] at @s if score @s score > *wictory score run scoreboard players operation *wictory score = @s score
  17. Всегда когда мы с корешами играем в дримхант у нас кастомные правила - тот кто убил дрима сам становится дримом, и охотятся продолжается уже на него, это более честно. У меня для этих целей датапак даже есть (в разработке лол)
  18. Рецепты делаются через датапаки (через плагины тоже можно, но я не умею), и помещаются по этому пути: server/world/datapacks/название датапака/data/снова название датапака/recipe/название рецепта.json Для генерации рецептов есть удобный сайт https://misode.github.io/recipe/ , не забывай указывать версию. На этом сайте ты можешь сгенерировать не только рецепт, но и весь датапак целиком, по этому не буду учить тебя как это делать.
  19. Но в настройках же есть функция, чтобы всегда при заходе в тему, тебя к последнему сообщению матало
  20. execute as @a at @s if predicate {condition:"minecraft:location_check",predicate:{position:{x:{min:50,max:100},y:{min:50,max:100},z:{min:50,max:100}}}} run say 1 Попробуй это. И проверь правильность координат
×
×
  • Создать...