- Mesajlar
- 774
- En iyi cevaplar
- 1
- Beğeniler
- 431
- Puanları
- 600
- Ruh hali
Minecraft Kodları: Fonksiyonlar
Merhaba değerli Minecraft Mühendisleri! Bugün son sürümlerde eklenen bir özelliği size anlatmak tanıtmak ve onu kullanmanızı sağlamak istiyorum. Bu çok az kişinin bildiği function özelliği Eğer istiyorsanız konumuza geçelim.
Function son sürüm yani 1.12 de eklenen Minecraft'ta kodların sürekli tekrarlandığı veya belli bir durumda tekrarlandığı sistemleri text dosyalarını .mcfunction uzantısı ile dosyalara kaydedilmesidir.
Minecraft Fonksiyon Kodları Nasıl Kullanılır:
Function dosyalarını öncelikle kullanmanız için 1.12 sürümü veya üstü bir sürümde bulunmanız gerekir. Ardından "%appdata% =>Saves => [dünya adı] => data => functions" a bir Gamer dosyası açalım. Sonra onun içine bir forum dosyası açalım ve onun içine de bir json dosyası açalım, ben bu dosyaya test ismini vereceğim. (kafa karıştırıcı fakat gerekiyor). ve sonra bu json dosyasını açıp farklı kaydetten isminin sonuna .mcfunction uzantısını yazalım ve kabul edelim. Ardından dosyamızı bir açalım ve içine girmek istediğimiz komutları yazalım. Komutların nasıl aktif edileceğini sonradan yazacağım.
Örnek olarak ben oyuncunun altında elmas blok varsa 5 diamond verip diamond aldınız demek ve sonra altındaki elması demire çevirmek istiyorum. Yapmamız gereken komut şöyle olacak:
Kod:
execute @a - - - detect - --1 - diamond_block 0 give @s diamond 5
execute @a - - - detect - --1 - diamond_block 0 say diamond aldınız.
execute @a - - - detect - --1 - diamond_block 0 setblock - --1 - iron_block
Eğer burada bir not düşmek istiyorsanız Essentials configdeki gibi başına # koyarak yapabilirsiniz.
Oyun İçinden Aktif Etmek:
Birçoğunuz eğer uğraşmışsanız function adında nasıl kullanıldığı belli belirsiz bir komut vardır fakat bu komutu kullanmamız zorunlu değil. Bunun için bir gamerule var; bu gamerulenin adı GameLoopFunction ve kullanımı ise yukarıda yazdığım dosyalamaya göre:
Kod:
gamerule GameLoopFunction gamer:forum/test
şeklinde olacaktır ve bu şekilde yazdığımız functionu saniyede 20 defa yani 20 tick deneyecektir. Eğer şartlar yerine gelirse hiç komut bloğu kullanmadan sistemimiz tamam olacak.
Eğer diyorsanız ki bu benim işimi görmez o zaman size function komutunu tanıtayım. İçinde 2 adet çeşidi mevcut; if ve unless.
Eğer if dersek bu şekilde oyuncunun veya yaratığım sahip olduğu bir özellik var ise çalıştıracaktır. Mesela eğer ben tosuncuk isimli bir inek var ise çalıştırmak istiyorsam bu komutu şu şekilde yazmalıyım.
Kod:
function gamer:forum/tosun if @e[type=cow,name=tosuncuk]
Eğer unless dersek bizim bu yaratık veya kişinin olmadığı durumlarda çalıştırmamız gerekiyor. Mesela bizim önceki tosuncuğumuzu buna uyarlarsak:
Kod:
function gamer:forum/tosun unless @e[type=cow,name=tosuncuk]
şeklinde olacaktır. 1. anlattığımız komutta o varlık varken çalışacak ve 2. komutta ise o varlık yoksa çalışacak fakat bunları da bir komut bloğu içine yazmak lazım. Bu yüzden functionu execute ile harmanlayıp kullanmanız tavsiyemdir.
2 ya da Daha Fazla Minecraft Fonksiyon'u Olursa:
Bunun 2 şekilde çözümü vardır. Birincisi ilk functionunuzu yazıp sonra kafanız karışmasın diye onu ### şeklinde ayırdıktan sonra ikinci functionunuzu yazmak. Yada 3. bir function dosyası oluşturup şu functionu kendinize göre düzenleyip yazmaktır.
Kod:
function <dosya>:<dosya içinde oluşturduğunuz dosya>/<functionunuz> if @a
function <dosya>:<dosya içinde oluşturduğunuz dosya>/<diğe functionunuz> if @a
Bu şekilde yapabileceğiniz her türlü komut sistemini functiona geçirebilirsiniz.
MC Türk Forum Topluluğu'na iyi forumlar dilerim!