[Skript] Yenileme - Hammaddeyi skript ile yenilemek isteyenlere...

Treil

Kömür Madencisi
En iyi cevaplar
0

Selamlar,
Skript çok iddialı değil ama bazı arkadaşların işini göreceğini düşündüğümden paylaşma gereği duydum, yenilemeyi sadece lapis için yaptım bunları kendiniz değiştirebilirsiniz.. Birçok sunucuda gördüğüm bir sıkıntı olarak nitelendirdiğim yerin altına kadar kazma olayı bu tarz yineleyici skript veya pluginlerle tek bir blok halinde yapılması şeklinde daha hoş bir görünüm alabiliyor. Yapmış olduğum skriptteki tek sıkıcı yön, blokları teker teker seçmek zorunda olmanız, onun dışında bence hoş bir şey oldu...
:)


Kod:
command /lapissecici:
permission: op
trigger:
  give 1 stick named "&fLapis Seçme Çubuğu" to player

rightclick on lapis lazuli ore holding stick:
player is op:
  add location of clicked block to {lapis::listesi::*}
  message "&aListeye yeni bir lapis ekledin, listende %size of {lapis::listesi::*}% lapis var."

break of lapis lazuli ore:
"%{lapis::listesi::*}%" contains "%event-block's location%":
  wait 5 second #Burası lapisin kaç saniyede yenilenmesini istediğine bağlı, kendine göre değişkenlik göstertebilirsin.
  set block at event-block to lapis lazuli ore
credit: Axel102​
 
Son düzenleme:

karahanio

Peki Hocam
En iyi cevaplar
0
Skript bildiğiniz üzere tek başına bile sunucuyu gereksiz yoran bir eklentidir ve sizin burada yaptığınız işlem gerçekten algoritmadan uzaktır. Eğer dikdörtgen prizma bir alan yenilenecekse sadece 2 koordinat ile bunu yapabilirsiniz fakat tüm 25x25x25 alandaki tüm blokları kaydedip sonra tekrar yükleyip sonrada o yüklediğiniz bloklar ile Lapis'i değiştirmeniz gerçekten çok gereksiz bir işlem olacaktır ve 25x25x25'lik alan bile sadece 15625 blok edecektir ve bunların hepsini tek tek seçmek yanlıştır. Skript'e nasıl uyumlu hale getirirsiniz bilmem fakat aşağıda bulunan Java algoritması size 0,0,0 noktasından 25,25,25 noktasına kadar tüm blokların koordinatını yazdıracaktır.

PHP:
for(int x = 0; x <= 25; x++)
            for(int y = 0; y <= 25; y++)
                for(int z = 0; z <= 25; z++)
                    System.out.printf("%d,%d,%d\n", x, y, z);
 

Gokhann

Zombi Katili
En iyi cevaplar
0
Mineresetline kullan daha iyi

Discovery cihazımdan Tapatalk kullanılarak gönderildi
 

EnesXYZ

Kızıltaş Madencisi
En iyi cevaplar
0
@Himmetry kardeş kusura bakma kardeş ama herkes java bilmiyor, üstelik skriptten daha zor ve karışık olduğuda bir gerçektir.
Java bilginle buradaki insanlara hava atmak gibi bir şey yapman hiç hoş değil açıkcası :( Java öğrenmeye başladım fakat çok karışık geliyor.
Garip garip çengelli parantezler yok if yok else yok boolean :D
Metodlar algoritmalar ooofff iş içinden çıkılmaz bir hal alır kafa allak bullak olr vs vs :D
 

ShiodomeMiuna

Nether Yerlisi
En iyi cevaplar
11
PHP:
on rightclick with stick:
    tool's display name is "&6Lapis secme cubugu":
        set {lapislok1} to clicked block

on leftclick with stick:
    tool's display name is "&6Lapis secme cubugu":
        set {lapislok2} to clicked block

Every 20 minutes:
    loop blocks within {lapislok1} and {lapislok2}:
        set loop-block to lapis lazuli ore

İki köşe seçmesi yeterli olur. O köşeleri seçince içindeki alan 20 dkda bir lapis olur.

Skript bildiğiniz üzere tek başına bile sunucuyu gereksiz yoran bir eklentidir ve sizin burada yaptığınız işlem gerçekten algoritmadan uzaktır. Eğer dikdörtgen prizma bir alan yenilenecekse sadece 2 koordinat ile bunu yapabilirsiniz fakat tüm 25x25x25 alandaki tüm blokları kaydedip sonra tekrar yükleyip sonrada o yüklediğiniz bloklar ile Lapis'i değiştirmeniz gerçekten çok gereksiz bir işlem olacaktır ve 25x25x25'lik alan bile sadece 15625 blok edecektir ve bunların hepsini tek tek seçmek yanlıştır. Skript'e nasıl uyumlu hale getirirsiniz bilmem fakat aşağıda bulunan Java algoritması size 0,0,0 noktasından 25,25,25 noktasına kadar tüm blokların koordinatını yazdıracaktır.

PHP:
for(int x = 0; x <= 25; x++)
            for(int y = 0; y <= 25; y++)
                for(int z = 0; z <= 25; z++)
                    System.out.printf("%d,%d,%d\n", x, y, z);
Buyur.
 
Üst