RE:NODE

Minecraft12 წუთის საკითხავი

Minecraft სერვერის ბრძანებები: კონსოლისა და ოპერატორის ცნობარი

ოპერატორის ბრძანებები, target selector-ები, execute და gamerule-ები, რომლებიც ღირს შეცვლად, კონსოლის წესები და ოთხი ბრძანება, რომელსაც სამყაროს დაკარგვა შეუძლია.

0 მკითხველი

Minecraft სერვერის სამართავად საჭირო ბრძანებების უმეტესობა დაახლოებით ოცია, და სერვერის კონსოლში ისინი ჩატისგან ოდნავ განსხვავებულად იქცევა: წინ დახრილი ხაზი არ გჭირდება, მოთამაშის პოზიცია არ არსებობს, და უფლების დონე ყოველთვის მაქსიმალურია. ეს არის ცნობარი ამ ოცისთვის, ასევე target selector-ებისთვის, რომლებიც ერთ ბრძანებას ასად აქცევს, execute სინტაქსისთვის, რომელზეც ყველაფერი თანამედროვე დგას, და gamerule-ებისთვის მათი რეალური ნაგულისხმევი მნიშვნელობებით. ის ეხება vanilla სერვერსა და Paper-ს, რომელზეც RE:NODE-ის Minecraft ხაზი მუშაობს; სადაც Paper რაიმე სასარგებლოს ამატებს, ეს მითითებულია.

კონსოლი ჩატის ველი არ არის#

პანელის კონსოლი სერვერის პროცესის standard input-ია. რასაც აკრიფებ, ბრძანებად პირდაპირ გადაეცემა სერვერს, ამიტომ წინა /, რომელსაც მოთამაშე ჩატში აკრეფს, საჭირო არ არის და უმეტეს build-ზე შეცდომაა. დაწერე list და არა /list.

აქედან კიდევ სამი რამ გამომდინარეობს:

  • კონსოლს აქვს უფლების დონე 4 და მისი დაწევა შეუძლებელია. ის მოთამაშე არ არის, ამიტომ plugin-ების უფლებები მასზე არც ვრცელდება. რასაც LuckPerms ჯგუფი კრძალავს, კონსოლს მაინც შეუძლია. ამიტომ ის არის გზა უკან, როცა საკუთარ permission ხეს ჩაიკეტავ - იხილე LuckPerms-ის გზამკვლევი ხისთვის, რომელიც იქ მიგიყვანს.
  • კონსოლს აქვს პოზიცია და ის შენი არ არის. კონსოლიდან ბრძანებები სრულდება overworld-ის spawn წერტილში. ამიტომ @p ნიშნავს "spawn-თან უახლოეს მოთამაშეს" და არა "ჩემთან უახლოეს", ხოლო @s არასწორია, რადგან კონსოლი entity არ არის. დაასახელე მოთამაშე, ან გამოიყენე execute as @a at @s run ....
  • ბრძანების გამოტანა კონსოლის გამოტანაა. შეცდომები იმავე ნაკადში ჩანს, სადაც ყველაფერი დანარჩენი, ამიტომ ჩავარდნილი ბრძანება plugin-ების ფონურ ხმაურში გადაიკარგება. კონსოლის კითხვა განმარტავს, როგორ გაფილტრო ეს.

როცა ბრძანება არასწორია, სერვერი შენს შეყვანას უკან ბეჭდავს და მარკერით აჩვენებს, სად შეჩერდა:

code
Unknown or incomplete command, see below for errorgamemode creativ<--[HERE]

ეს მარკერი ზუსტია. თუ ის მოთამაშის სახელზე მიუთითებს, მოთამაშე ონლაინ არ არის ან სახელი არასწორადაა დაწერილი; თუ სივრცეზე მიუთითებს სრულად გამოიყურებადი ბრძანების შემდეგ, არგუმენტი აკლია.

ოპერატორის დონეები და ვის რა შეუძლია#

op <player> ნაგულისხმევად დონე 4-ს იძლევა, ანუ ყველაფერს. დონეები ისე არსებობს, ინახება თითო ოპერატორზე და ღირს გამოყენებად.

დონერას იძლევა
1spawn-ის დაცვის გვერდის ავლა
2Cheat ბრძანებები: gamemode, give, tp, setblock, summon, effect, command block-ები
3მოთამაშეების მართვა: kick, ban, pardon, op, deop, whitelist
4სერვერის მართვა: stop, save-all, save-off, save-on

ოპერატორები ინახება ops.json-ში სერვერის root-ში, და დონე იქვე შეგიძლია პირდაპირ შეცვალო გაჩერებულ სერვერზე:

ops.json
[  {    "uuid": "069a79f4-44e9-4726-a5be-fca90e38aaf5",    "name": "Notch",    "level": 3,    "bypassesPlayerLimit": false  }]

ნაგულისხმევებს ორი server.properties გასაღები აკონტროლებს: op-permission-level (ნაგულისხმევი 4) არის დონე, რომელსაც /op გასცემს, და function-permission-level (ნაგულისხმევი 2) არის დონე, რომლითაც datapack ფუნქციები და command block-ები სრულდება. enable-command-block ნაგულისხმევად false-ია, და ასე დატოვება გონივრული უსაფრთხოების გადაწყვეტილებაა საჯარო სერვერზე, რადგან command block არის დონე 2-ის ბრძანებების შემსრულებელი, რომლის დადებაც ნებისმიერ მშენებელს შეუძლია სათანადო უფლებით. ამ ფაილის ყველა გასაღები განხილულია server.properties ახსნილში.

plugin-ებიან სერვერზე ოპერატორის სტატუსი უხეში ინსტრუმენტია, რომელიც plugin-ების permission შემოწმებებსაც უვლის გვერდს. შაბლონი, რომელიც მუშაობს, ასეთია: ყველას წაართვი op და მიეცი minecraft.command.<name> node-ები - minecraft.command.gamemode, minecraft.command.time და ა.შ. - რაც ზუსტად ის დეტალურობაა, რასაც ოპერატორის დონეები არ იძლევა.

ბრძანებები, რომლებსაც რეალურად გამოიყენებ#

ბრძანებაშენიშვნები
listვინ არის ონლაინ. list uuids UUID-ებსაც ამატებს
kick <player> [reason]მიზეზი ჩანს მათ გათიშვის ეკრანზე
ban <player> [reason], pardon <player>წერს banned-players.json-ს
ban-ip <address>, pardon-ip <address>წერს banned-ips.json-ს
banlist players, banlist ipsბეჭდავს სიებს
whitelist on/off/add/remove/list/reloadძალაში შესასვლელად white-list=true-ც სჭირდება
op <player>, deop <player>
say <message>გადაიცემა სერვერის სახელით
tell <player> <message>პირადი. msg და w მისი ალიასებია
tellraw <targets> <component>ფორმატირებული ტექსტის გაგზავნის ერთადერთი გზა
gamemode <mode> [targets]survival, creative, adventure, spectator
defaultgamemode <mode>ვრცელდება პირველად შემოსულ მოთამაშეებზე
difficulty <level>peaceful, easy, normal, hard
time set day/noon/night/midnightან tick-ის ნომერი. time add 1000
weather clear/rain/thunder [seconds]ხანგრძლივობის გარეშე შემთხვევითია
seedსამყაროს seed
setworldspawn [x y z]სად ჩნდებიან ახალი მოთამაშეები
worldborder set <blocks> [seconds]დროთა განმავლობაში იკუმშება ან იზრდება
setidletimeout <minutes>გამოყავს უმოქმედო მოთამაშეები. 0 თიშავს
kill @e[type=item]გასუფთავებს დაგდებულ ნივთებს ჩატვირთულ chunk-ებში
save-all flush, save-off, save-onიხილე შენახვის თავი ქვემოთ
stopერთადერთი სუფთა გამორთვა

კიდევ რამდენიმე ღირს იმის ცოდნად, რომ არსებობს: spreadplayers ჯგუფს შემთხვევით არჩეულ რადიუსში ფანტავს, forceload add chunk-ს მოთამაშის გარეშე ჩატვირთულს ინახავს, datapack list/enable/disable datapack-ებს runtime-ზე მართავს (დეტალები datapack-ების გზამკვლევშია), ხოლო transfer <host> [port] 1.20.5-სა და შემდეგ ვერსიებზე კლიენტს სხვა სერვერზე გადაიყვანს თამაშიდან გამოსვლის გარეშე. 1.20.3-სა და შემდეგ ვერსიებზე tick freeze, tick step და tick rate <n> თავად tick ციკლს აკონტროლებს, ეს debugging ხელსაწყოა და არა რაღაც, რაც ჩართული უნდა დატოვო.

Target selector-ები#

selector მოთამაშის სახელს ანაცვლებს და ნულ ან მეტ სამიზნედ ფართოვდება.

Selectorნიშნავს
@pუახლოესი მოთამაშე
@aყველა მოთამაშე, spectator-ებისა და ზღვრული შემთხვევების ჩათვლით
@rერთი შემთხვევითი მოთამაშე
@eყველა entity, მოთამაშეების ჩათვლით
@sშემსრულებელი. კონსოლიდან არასოდეს სწორია
@nნებისმიერი ტიპის უახლოესი entity, დაემატა 1.21-ში

არგუმენტები კვადრატულ ფრჩხილებში იწერება, მძიმით გაყოფილი, და ისინი თანმიმდევრობით გამოყენებული ფილტრებია:

code
$ kill @e[type=minecraft:zombie,distance=..100]$ gamemode adventure @a[gamemode=survival]$ tp @a[tag=lobby] 0 70 0$ give @a[limit=1,sort=nearest,distance=..20] minecraft:bread 16$ effect give @a[scores={deaths=5..}] minecraft:weakness 60 0
არგუმენტიმაგალითიმნიშვნელობა
typetype=minecraft:creeperEntity-ის ტიპი. type=!player გამოსაკლებად
distancedistance=..64, distance=10..დიაპაზონი ბლოკებში შესრულების წერტილიდან
limit, sortlimit=3,sort=nearestრაოდენობის ზღვარი და დალაგება
tagtag=vip, tag=!afkScoreboard tag-ები, დაყენებული tag add-ით
teamteam=red
scoresscores={kills=10..}Objective-ების დიაპაზონები
gamemodegamemode=!creative
levellevel=30..გამოცდილების დონე, მხოლოდ მოთამაშეებისთვის
namename=Steveზუსტი დამთხვევა
nbtnbt={Invulnerable:1b}ნელია. ჯერ type-ით გაფილტრე
x,y,z,dx,dy,dzx=0,y=64,z=0,dx=32ყუთია და არა სფერო

დიაპაზონები ..-ს იყენებს და ჩართულია ბოლოებიც: 1..5 ერთიდან ხუთამდეა, ..64 64-ამდეა, 10.. ათი და მეტია. ! უარყოფს არგუმენტების უმეტესობას, და ზოგი არგუმენტი შეიძლება რამდენჯერმე გამოჩნდეს AND-ისთვის (tag=a,tag=b), ხოლო type და gamemode განმეორდება მხოლოდ უარყოფის შემთხვევაში.

კოორდინატები სამი ფორმისაა. აბსოლუტური (100 64 -200), შესრულების წერტილთან მიმართებითი (~ ~5 ~, ხუთი ბლოკი ზემოთ) და შემსრულებლის მიმართულებაზე ლოკალური (^ ^ ^5, ხუთი ბლოკი წინ). ლოკალურ კოორდინატებს სჭირდება entity, რომელიც რამეს უყურებს, ამიტომ კონსოლიდან ისინი არაფრის მაქნისია.

execute: ბრძანება, რომელიც სხვა ბრძანებებს უშვებს#

execute ცვლის, ვინ ასრულებს ბრძანებას, სად სრულდება და სრულდება თუ არა საერთოდ. თანამედროვე Minecraft-ის ადმინისტრირება უმეტესად ამ ერთი ბრძანებაა, და ის ჯაჭვდება: თითოეული clause კონტექსტს შემდეგისთვის ცვლის.

code
$ execute as @a at @s run playsound minecraft:entity.experience_orb.pickup master @s$ execute in minecraft:the_nether run kill @e[type=item]$ execute as @a[gamemode=survival] at @s if block ~ ~-1 ~ minecraft:magma_block run effect give @s minecraft:fire_resistance 10 0 true$ execute store result score Steve health run data get entity Steve Health

clause-ები, რომლებიც ღირს სწავლად:

  • as <targets> ცვლის შემსრულებელს, ამიტომ ბრძანების დანარჩენში @s თითოეულს მორიგეობით ნიშნავს. ის შესრულების წერტილს არ ამოძრავებს.
  • at <targets> შესრულების წერტილს მათზე გადააქვს. as @a at @s წყვილია, რომელიც თითქმის ყოველთვის გინდა: გაუშვი ეს თითო მოთამაშეზე ერთხელ, იმ მოთამაშის ადგილას.
  • positioned, rotated, facing, align, anchored წერტილს დახვეწენ.
  • in <dimension> გადადის minecraft:overworld-ზე, minecraft:the_nether-ზე ან minecraft:the_end-ზე.
  • if და unless პირობას ამოწმებს და ჯაჭვს აჩერებს, თუ ის ჩავარდა: if block, if blocks, if entity, if score, if data, if predicate, if dimension, if loaded, if biome.
  • store result|success ბრძანების რიცხვით შედეგს წერს score-ში, entity-ის NBT-ში, ბლოკში, bossbar-ში ან data storage-ში.
  • run ყოველთვის ბოლოა და იღებს შესასრულებელ ბრძანებას.

რადგან as @a იმეორებს, ერთი execute შეიძლება ძვირი იყოს. execute as @a at @s run fill ~-50 ~-50 ~-50 ~50 ~50 ~50 air დატვირთულ სერვერზე მის გაყინვის კარგი გზაა.

Gamerule-ები, რომლებიც ღირს შეცვლად#

gamerule მნიშვნელობის გარეშე მიმდინარე პარამეტრს ბეჭდავს. მნიშვნელობები სამყაროში ინახება და არა server.properties-ში, ამიტომ ისინი სერვერის jar-ის ხელახლა დაყენებას გადაურჩება და ახალ სამყაროს არა.

Gameruleნაგულისხმევირას აკეთებს
keepInventoryfalseსიკვდილისას ნივთების შენარჩუნება
doDaylightCycletrueდრო მიდის
doWeatherCycletrueამინდი თავისით იცვლება
doFireTicktrueცეცხლი ვრცელდება. მშენებლობის სერვერზე დააყენე false
mobGriefingtrueCreeper-ები, enderman-ები და wither-ები ბლოკებს ცვლიან
doMobSpawningtrueბუნებრივი spawn საერთოდ
doInsomniatruePhantom-ები
doPatrolSpawningtruePillager-ების პატრულები
doTraderSpawningtrueმოხეტიალე ვაჭრები
randomTickSpeed3მოსავლის ზრდა და ბლოკების გაფუჭება. გაზრდა CPU-ს ხარჯავს
maxEntityCramming24ერთ ბლოკში entity-ების რაოდენობა ზიანამდე. 0 თიშავს
playersSleepingPercentage100ღამის გამოსატოვებლად საჭირო პროცენტი
announceAdvancementstrueმიღწევების შეტყობინებები ჩატში
showDeathMessagestrue
sendCommandFeedbacktrueბრძანებების უკუკავშირი ჩატში
commandBlockOutputtrueCommand block-ის გამოტანა op-ებისთვის. სპამის დროს გამორთე
logAdminCommandstrueადმინის ბრძანებები იწერება ლოგში
spawnRadius10გავრცელება სამყაროს spawn-ის გარშემო
naturalRegenerationtrueჯანმრთელობა საკვებიდან აღდგება
reducedDebugInfofalseF3-ში კოორდინატებს მალავს
disableRaidsfalse
spectatorsGenerateChunkstrueდააყენე false, რომ spectator-მა ახალი რელიეფი ვერ ჩატვირთოს

უფრო ახალი ვერსიები მეტს ამატებს, და ზემოთ ჩამოთვლილთაგან რამდენიმე 1.19-ში ან მოგვიანებით გამოჩნდა, ამიტომ შენს სერვერზე gamerule tab completion-ით შენი ვერსიის საბოლოო სიაა.

ამათგან სამს რეალური წარმადობის მხარე აქვს. randomTickSpeed chunk-ზე tick-ში შესასრულებელ სამუშაოს ამრავლებს, და ხალხი მას უფრო სწრაფი ფერმებისთვის ზრდის, შემდგომ TPS-ის ვარდნას კი არ უკავშირებს. maxEntityCramming 0-ზე აქრობს ერთადერთ რამეს, რაც mob ფერმას ათასობით entity-ის ერთ ბლოკში დაწყობას უშლის. ხოლო spectatorsGenerateChunks false-ზე spectator-ს აჩერებს, რომ გამოუკვლეველ რელიეფზე გაფრინდეს და chunk-ები შექმნას, რომლებსაც სერვერი მერე უნდა ინახავდეს. თუ უკვე lag-ს მისდევ, რატომ ეცემა TPS და რა ვქნათ ამის უფრო ფართო ვერსიაა.

Paper-ის საკუთარი ბრძანებები#

Paper და Spigot რამდენიმეს ამატებენ, რაც vanilla-ში არ არის, და სწორედ ისინი გჭირდება, როცა რაღაც არასწორადაა.

  • tps ბეჭდავს tick-ის სიჩქარეს ბოლო ერთი, ხუთი და თხუთმეტი წუთის განმავლობაში. ოცი მაქსიმუმია; დაახლოებით 19-ზე დაბალი შესამჩნევია.
  • mspt ბეჭდავს, რამდენ ხანს გრძელდება tick სინამდვილეში, საშუალოდ და უარეს შემთხვევაში. ეს უფრო პატიოსანი რიცხვია, რადგან TPS 20-ზეა შეზღუდული, რამდენიც არ უნდა იყოს დარჩენილი სივრცე. 50 ms-ზე ნაკლები ნიშნავს, რომ სერვერს მარაგი აქვს.
  • plugins (ან pl) ჩამოთვლის plugin-ებს, მწვანე ნიშნავს ჩართულს. version <plugin> ზუსტ build-ს იძლევა.
  • paper entity list თითო სამყაროზე თითო ტიპის entity-ებს ითვლის, ხოლო paper mobcaps აჩვენებს, თითოეული კატეგორია spawn ლიმიტს რამდენად უახლოვდება. ორივე პასუხობს კითხვას "რა არის ამ სერვერზე, რაც არ უნდა იყოს".
  • paper heap მეხსიერების გამოყენებას ბეჭდავს კლასების მიხედვით, ხოლო paper dumpplugins წერს JSON აღწერას ყველა ჩატვირთული plugin-ისა.
  • spark profiler start და spark profiler stop გაზიარებად profile-ს ქმნის. Timings Paper 1.21-ში ამოიღეს და spark მისი ჩამნაცვლებელია; Paper-ის ახალი build-ები მას შეიცავს. გამოტანის კითხვა ცალკე თემაა, განხილულია lag-ის დიაგნოსტიკაში spark-ით.

ერთი Bukkit დეტალი, რომელიც კამათს გიშველის: plugin-ებს შეუძლიათ vanilla ბრძანების სახელით ბრძანება დაარეგისტრირონ, და plugin იმარჯვებს. namespace-ის პრეფიქსი ორიგინალს აიძულებს - minecraft:tp ყოველთვის vanilla teleport-ია, რაც არ უნდა გაუკეთოს EssentialsX-მა /tp-ს. ალიასები commands.yml-შია სერვერის root-ში, თუ გინდა სამუდამოდ შეცვალო, რომელი იმარჯვებს.

შენახვა, გამორთვა და backup-ები#

სამყარო მეხსიერებაში ინახება და პერიოდულად იწერება. რაც პროცესს შენახვის გარეშე დაასრულებს, მეხსიერებაში მყოფს გადაყრის, ამიტომ ამ ოთხ ბრძანებას მათ სიგრძეზე მეტი მნიშვნელობა აქვს.

code
$ save-off$ save-all flush... copy the world folder ...$ save-on

save-off ავტომატურ შენახვას აჩერებს და სერვერს ჩაწერების შეკავებას ეუბნება; save-all flush ყველაფერს დისკზე აიძულებს და ელოდება, მყისიერად დაბრუნების ნაცვლად; save-on აღადგენს. ეს თანმიმდევრობა შენ თანმიმდევრულ ასლს გაძლევს. save-on-ის დავიწყება კლასიკური შეცდომაა: სერვერი მუშაობს და აღარასოდეს წერს, სანამ არ გადაიტვირთება, და მერე ერთბაშად ბევრს წერს.

stop ერთადერთი სუფთა გამორთვაა. ის ყველა სამყაროს ინახავს, მოთამაშეებს სათანადო შეტყობინებით გამოჰყავს და plugin-ებს საკუთარი მონაცემების ჩაწერის საშუალებას აძლევს - ეს მნიშვნელოვანია, რადგან ეკონომიკის plugin, რომელიც გამორთვისას წერს, ბალანსებს დაკარგავს, თუ პროცესს მოკლავ.

RE:NODE-ზე Stop და Restart ღილაკები სწორედ ამ სუფთა stop-ს აგზავნის. Schedules ჩანართი cron გამოსახულებით დაგეგმილ დავალებებს დაყოვნებებით ასრულებს, რაც საკმარისია უსაფრთხო backup ფანჯრის ასაგებად: console command დავალება save-off-ით, შემდეგ save-all flush, მოკლე დაყოვნება, backup დავალება, შემდეგ console command, რომელიც save-on-ს უშვებს. Backup სლოტები ყველა გეგმაზეა, backup-ები იმ მანქანის გარეთ ინახება, რომელსაც იცავს, და აღდგენა ღილაკია. ამ წინადადების მეორე ნახევარი მნიშვნელოვანია - backup, რომელიც არავის აღუდგენია, ჰიპოთეზაა, რასაც backup-ები, რომლებიც ნამდვილად აღდგება სათანადოდ განიხილავს.

ერთი ქცევა, რომელიც უნდა იცოდე: თუ სერვერი მეხსიერების ლიმიტს მიაღწევს, container ჩერდება და სუფთად გადაიტვირთება, swap-ში დატოვების ნაცვლად. ეს სწრაფი აღდგენაა, მაგრამ არასუფთა გაჩერებაა, ამიტომ ყველაფერს კარგავს, რაც შენახული არ იყო. დიდ სამყაროზე უფრო მოკლე autosave ინტერვალი და კვირაში ერთხელ დაგეგმილი restart იაფი დაზღვევაა.

პანელის გარედან ბრძანებების გასაშვებად არსებობს RCON, რომელიც ჩაირთვება enable-rcon=true, rcon.password და rcon.port (ნაგულისხმევი 25575) მნიშვნელობებით server.properties-ში. ეს ღია ტექსტის პროტოკოლია, სახელის ღირსი rate limit-ის გარეშე, ამიტომ მას ინტერნეტში არასოდეს უნდა გამოეჭიდო - RCON-ის უსაფრთხოდ გამოყენება აღწერს, რა გააკეთო ამის ნაცვლად.

FAQ#

რატომ მუშაობს ჩემი ბრძანება ჩატში და არა კონსოლში?

ჩვეულებრივ selector-ის გამო. @s და @p შემსრულებლის პოზიციაზეა დამოკიდებული, კონსოლი კი overworld-ის spawn-ზე სრულდება და საკუთარი entity არ აქვს. გადააწერე როგორც execute as @a at @s run ..., ან დაასახელე მოთამაშე. მეორე გავრცელებული მიზეზი წინა დახრილი ხაზია, რომელიც კონსოლს არ სურს.

როგორ გავუშვა ბრძანება მოთამაშის სახელით, ამ მოთამაშის გარეშე?

execute as <player> run <command> ცვლის შემსრულებელს, მაგრამ არა უფლების დონეს - ბრძანება მაინც კონსოლის დონე 4-ით სრულდება. ეს არის აზრი: ასე გადააადგილებ ვინმეს ან გაუშვებ plugin-ის ბრძანებას მისი კონტექსტში, op-ის მიცემის გარეშე.

სად ინახება gamerule-ები და გადაურჩება თუ არა განახლებას?

level.dat-ში სამყაროს საქაღალდის შიგნით, ამიტომ ისინი სამყაროს ეკუთვნის. სერვერის jar-ის განახლება მათ ინარჩუნებს; ახალი სამყაროს შექმნა ყველა მათგანს ნაგულისხმევზე აბრუნებს. თუ გაქვს ნაკრები, რომელსაც ყოველთვის იყენებ, შეინახე gamerule ხაზები ტექსტურ ფაილში შენი ჩანაწერების გვერდით.

შემიძლია ბრძანების ყოველ ღამე გაშვება დავგეგმო?

დიახ, პანელის Schedules ჩანართით: cron გამოსახულება და console command დავალება. ყოველდღიური say Restarting in 60 seconds, შემდეგ დაყოვნება და restart მოქმედება გავრცელებული შაბლონია, და ბევრად სჯობს ჩუმ restart-ს. თამაშის შიგნით datapack ფუნქციებსაც schedule function-ით შეუძლია დროზე მიბმული სამუშაო.

რა განსხვავებაა /kill @e-სა და /kill @e[type=item]-ს შორის?

kill @e კლავს ყველა entity-ს ჩატვირთულ chunk-ებში, მოთამაშეების ჩათვლით, რაც თითქმის არასოდეს არის ის, რასაც ვინმე გულისხმობს. ყოველთვის გაფილტრე ტიპით. kill @e[type=item] გასუფთავებს დაგდებულ ნივთებს, ხოლო kill @e[type=item,nbt={Item:{id:"minecraft:cobblestone"}}] ერთ სახეობას, ნელა.


კომენტარები

სრულიად ანონიმურად: ანგარიშის, ელფოსტის და cookie-ის გარეშე. ინახება მხოლოდ სახელი, ტექსტი და დრო - სხვა არაფერი. ბმულების რაოდენობა ლიმიტირებულია.

0/2000