Çözüldü Sunucu için yardım

  • Konuyu Başlatan Konuyu Başlatan Salih09
  • Başlangıç tarihi Başlangıç tarihi
  • Görüntüleme 183
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

Salih09

Odunlara Vur Vur Vur!
Katılım
24 Ekim 2025
Mesajlar
36
Elmaslar
1
Puan
145
Yaş
25
Konum
Muğla
minecraft sunucuma özel fırınlar eklemek istiyorum yapay zekaya sordum bir plugin söyledi plugini kullandım ama dediğim özelliği bulamadım yapay zekanın söylediği plugin ExecutableItems bu pluginden anladığım kadarıyla yapılmıyor veya yapılıyorsa yardımcı olurmusunuz lütfen

 
Dediğin özellik nedir? Kaynak paketli fırınlar mı yoksa seviye atlatmalı fırınlar gibi bir şey mi?
 
Dediğin özellik nedir? Kaynak paketli fırınlar mı yoksa seviye atlatmalı fırınlar gibi bir şey mi?
demek istediğim şey mesela fırın 1 item pişiriyorsa ve pişirdiği itemden 1 tane veriyorsa yaptığım özel fırın 1 item pişirsin ama 2 tane pişmiş itemden versin gibi
 

EpicFurnaces tarzı bir plugin bulmalısın benim aklıma gelen direkt epicfurnaces geldi​

 

EpicFurnaces tarzı bir plugin bulmalısın benim aklıma gelen direkt epicfurnaces geldi​

tamam teşekkürler deneyeceğim (eklenti ücretliymiş sanırım ben ücretsiz bir eklenti arıyordum veya bunu skript ile yapabilirmiyim skript böyle bir şeyi ekleyebilirmi?)
 
Piyasada senin isteğini tam olarak karşılayan bir eklenti bulunmuyor.

İsteğini karşılayacak şekilde bu Skripti kullanabilirsin:
Öncelikle sunucunda
Değerli ziyaretçimiz, içeriği görebilmek için şimdi giriş yapın veya kayıt olun.
ve yanında
Değerli ziyaretçimiz, içeriği görebilmek için şimdi giriş yapın veya kayıt olun.
ile
Değerli ziyaretçimiz, içeriği görebilmek için şimdi giriş yapın veya kayıt olun.
isimli addon eklentilerinin de yüklü olması gerekiyor. Eklentileri tam olarak yükle ve ayar dosyalarını, sunucuyu çalıştırarak oluştur.
Daha sonra "plugins/Skript/scripts" klasörünü aç ve klasörün içinde firin.sk isimli bir dosya oluştur. Uzantısı .sk olmalı ama yoksa çalışmaz.
Oluşturduktan sonra notepad++ ile aç ve içine kodu yapıştır:

YAML:
options:
    prefix: <##ff0000>[keremMode] &f
    tag: firin_2x
    yamlid: firin_data

command /fırın <player>:
    permission: ozelfirin.admin
    trigger:
        give createOzelFirin() to arg-1
        send "{@prefix}%arg-1% adlı oyuncuya fırın verildi." to sender

function createOzelFirin() :: item:
    set {_item} to furnace named "&6&lÖzel Fırın"
    set line 1 of lore of {_item} to "&fEritmelerde x2 kazandırır."
    set line 2 of lore of {_item} to "&8ID: {@tag}"
    return {_item}

function isOzelFirinItem(i: item) :: boolean:
    if {_i} is not set:
        return false
    if {_i} is furnace or blast furnace or smoker:
        if line 2 of lore of {_i} contains "{@tag}":
            return true
    return false

on place of furnace, blast furnace or smoker:
    if isOzelFirinItem(player's tool) is true:
        set {ozelfirin::%location of event-block%} to true

on break of furnace, blast furnace or smoker:
    if {ozelfirin::%location of event-block%} is set:
        cancel event
        set {_loc} to location of event-block
        set {_inv} to inventory of event-block
        loop all items in {_inv}:
            drop loop-item at {_loc}
        set event-block to air
        drop createOzelFirin() at {_loc}
        delete {ozelfirin::%location of event-block%}
        if player's gamemode is creative:
            remove 1 of furnace from player

on smelt:
    if {ozelfirin::%location of event-block%} is set:
        set {_result} to smelted item
        set {_amount} to item amount of {_result}
        set {_newAmount} to {_amount} * 2
        set {_max} to max stack size of {_result}
        if {_newAmount} > {_max}:
            set {_newAmount} to {_max}
        set item amount of {_result} to {_newAmount}
        set smelted item to {_result}

on inventory item move:
    if holder of past event-inventory is a furnace or blast furnace or smoker:
        if {ozelfirin::%location of holder of past event-inventory%} is set:
            set {_amount} to item amount of event-item
            if {_amount} > 1:
                cancel event
                set {_single} to event-item
                set item amount of {_single} to 1
                add {_single} to event-inventory
                set {_loc} to location of holder of past event-inventory
                drop ({_amount} - 1) of event-item at {_loc}

on explode:
    loop exploded blocks:
        if loop-block is furnace or blast furnace or smoker:
            if {ozelfirin::%location of loop-block%} is set:
                set {_loc} to location of loop-block
                set {_inv} to inventory of loop-block
                loop all items in {_inv}:
                    drop loop-item at {_loc}
                drop createOzelFirin() at {_loc}
                delete {ozelfirin::%location of loop-block%}
                remove loop-block from exploded blocks

on piston extend:
    loop moved blocks:
        if loop-block is furnace or blast furnace or smoker:
            if {ozelfirin::%location of loop-block%} is set:
                cancel event
                stop

on piston retract:
    loop moved blocks:
        if loop-block is furnace or blast furnace or smoker:
            if {ozelfirin::%location of loop-block%} is set:
                cancel event
                stop

on inventory click:
    set {_item} to event-slot
    if {_item} is set:
        if isOzelFirinItem({_item}) is true:
            if click type is double click:
                cancel event
            if player's gamemode is creative:
                wait 1 tick
                loop all items in player's inventory:
                    if isOzelFirinItem(loop-item) is true:
                        if loop-item is not {_item}:
                            remove loop-item from player

every 10 minutes:
    if yaml "{@yamlid}" is not loaded:
        load yaml "plugins/Skript/scripts/ozelfirin_data.yml" as "{@yamlid}"
    loop {ozelfirin::*}:
        set yaml value "furnaces.%loop-index%" from "{@yamlid}" to loop-value
    save yaml "{@yamlid}"

on load:
    load yaml "plugins/Skript/scripts/ozelfirin_data.yml" as "{@yamlid}"
    if yaml "{@yamlid}" is loaded:
        loop yaml nodes with keys "furnaces" from "{@yamlid}":
            set {ozelfirin::%loop-value%} to yaml value "furnaces.%loop-value%" from "{@yamlid}"
        if {ozelfirin::*} is set:
            send "{@prefix}%size of {ozelfirin::*}% fırın yüklendi." to console
        else:
            send "{@prefix}İlk çalıştırma yapılıyor." to console
    else:
        send "{@prefix}Veritabanı oluşturuldu." to console
    send "{@prefix}Fırın sistemi çalıştırıldı." to console

on unload:
    if yaml "{@yamlid}" is not loaded:
        load yaml "plugins/Skript/scripts/ozelfirin_data.yml" as "{@yamlid}"
    loop {ozelfirin::*}:
        set yaml value "furnaces.%loop-index%" from "{@yamlid}" to loop-value
    save yaml "{@yamlid}"
    send "{@prefix}Fırın sistemi kapatıldı." to console

Sonra garanti olması adına sunucuyu yeniden başlat.

"/fırın <oyuncu>" komutuyla istediğin oyuncuya özel fırından verebilirsin. Fırın, eritilen her bir eşyayı x2 olarak veriyor. 1 ham demir = 2 demir külçesi yani.
 
Gerekli eklenti yapılabilir piyasada denk gelmedim hiç.
 
Piyasada senin isteğini tam olarak karşılayan bir eklenti bulunmuyor.

İsteğini karşılayacak şekilde bu Skripti kullanabilirsin:
Öncelikle sunucunda
Değerli ziyaretçimiz, içeriği görebilmek için şimdi giriş yapın veya kayıt olun.
ve yanında
Değerli ziyaretçimiz, içeriği görebilmek için şimdi giriş yapın veya kayıt olun.
ile
Değerli ziyaretçimiz, içeriği görebilmek için şimdi giriş yapın veya kayıt olun.
isimli addon eklentilerinin de yüklü olması gerekiyor. Eklentileri tam olarak yükle ve ayar dosyalarını, sunucuyu çalıştırarak oluştur.
Daha sonra "plugins/Skript/scripts" klasörünü aç ve klasörün içinde firin.sk isimli bir dosya oluştur. Uzantısı .sk olmalı ama yoksa çalışmaz.
Oluşturduktan sonra notepad++ ile aç ve içine kodu yapıştır:

YAML:
options:
    prefix: <##ff0000>[keremMode] &f
    tag: firin_2x
    yamlid: firin_data

command /fırın <player>:
    permission: ozelfirin.admin
    trigger:
        give createOzelFirin() to arg-1
        send "{@prefix}%arg-1% adlı oyuncuya fırın verildi." to sender

function createOzelFirin() :: item:
    set {_item} to furnace named "&6&lÖzel Fırın"
    set line 1 of lore of {_item} to "&fEritmelerde x2 kazandırır."
    set line 2 of lore of {_item} to "&8ID: {@tag}"
    return {_item}

function isOzelFirinItem(i: item) :: boolean:
    if {_i} is not set:
        return false
    if {_i} is furnace or blast furnace or smoker:
        if line 2 of lore of {_i} contains "{@tag}":
            return true
    return false

on place of furnace, blast furnace or smoker:
    if isOzelFirinItem(player's tool) is true:
        set {ozelfirin::%location of event-block%} to true

on break of furnace, blast furnace or smoker:
    if {ozelfirin::%location of event-block%} is set:
        cancel event
        set {_loc} to location of event-block
        set {_inv} to inventory of event-block
        loop all items in {_inv}:
            drop loop-item at {_loc}
        set event-block to air
        drop createOzelFirin() at {_loc}
        delete {ozelfirin::%location of event-block%}
        if player's gamemode is creative:
            remove 1 of furnace from player

on smelt:
    if {ozelfirin::%location of event-block%} is set:
        set {_result} to smelted item
        set {_amount} to item amount of {_result}
        set {_newAmount} to {_amount} * 2
        set {_max} to max stack size of {_result}
        if {_newAmount} > {_max}:
            set {_newAmount} to {_max}
        set item amount of {_result} to {_newAmount}
        set smelted item to {_result}

on inventory item move:
    if holder of past event-inventory is a furnace or blast furnace or smoker:
        if {ozelfirin::%location of holder of past event-inventory%} is set:
            set {_amount} to item amount of event-item
            if {_amount} > 1:
                cancel event
                set {_single} to event-item
                set item amount of {_single} to 1
                add {_single} to event-inventory
                set {_loc} to location of holder of past event-inventory
                drop ({_amount} - 1) of event-item at {_loc}

on explode:
    loop exploded blocks:
        if loop-block is furnace or blast furnace or smoker:
            if {ozelfirin::%location of loop-block%} is set:
                set {_loc} to location of loop-block
                set {_inv} to inventory of loop-block
                loop all items in {_inv}:
                    drop loop-item at {_loc}
                drop createOzelFirin() at {_loc}
                delete {ozelfirin::%location of loop-block%}
                remove loop-block from exploded blocks

on piston extend:
    loop moved blocks:
        if loop-block is furnace or blast furnace or smoker:
            if {ozelfirin::%location of loop-block%} is set:
                cancel event
                stop

on piston retract:
    loop moved blocks:
        if loop-block is furnace or blast furnace or smoker:
            if {ozelfirin::%location of loop-block%} is set:
                cancel event
                stop

on inventory click:
    set {_item} to event-slot
    if {_item} is set:
        if isOzelFirinItem({_item}) is true:
            if click type is double click:
                cancel event
            if player's gamemode is creative:
                wait 1 tick
                loop all items in player's inventory:
                    if isOzelFirinItem(loop-item) is true:
                        if loop-item is not {_item}:
                            remove loop-item from player

every 10 minutes:
    if yaml "{@yamlid}" is not loaded:
        load yaml "plugins/Skript/scripts/ozelfirin_data.yml" as "{@yamlid}"
    loop {ozelfirin::*}:
        set yaml value "furnaces.%loop-index%" from "{@yamlid}" to loop-value
    save yaml "{@yamlid}"

on load:
    load yaml "plugins/Skript/scripts/ozelfirin_data.yml" as "{@yamlid}"
    if yaml "{@yamlid}" is loaded:
        loop yaml nodes with keys "furnaces" from "{@yamlid}":
            set {ozelfirin::%loop-value%} to yaml value "furnaces.%loop-value%" from "{@yamlid}"
        if {ozelfirin::*} is set:
            send "{@prefix}%size of {ozelfirin::*}% fırın yüklendi." to console
        else:
            send "{@prefix}İlk çalıştırma yapılıyor." to console
    else:
        send "{@prefix}Veritabanı oluşturuldu." to console
    send "{@prefix}Fırın sistemi çalıştırıldı." to console

on unload:
    if yaml "{@yamlid}" is not loaded:
        load yaml "plugins/Skript/scripts/ozelfirin_data.yml" as "{@yamlid}"
    loop {ozelfirin::*}:
        set yaml value "furnaces.%loop-index%" from "{@yamlid}" to loop-value
    save yaml "{@yamlid}"
    send "{@prefix}Fırın sistemi kapatıldı." to console

Sonra garanti olması adına sunucuyu yeniden başlat.

"/fırın <oyuncu>" komutuyla istediğin oyuncuya özel fırından verebilirsin. Fırın, eritilen her bir eşyayı x2 olarak veriyor. 1 ham demir = 2 demir külçesi yani.
teşekkürler fakat verdiğin kod düzgün çalışmıyor ve dediğin eklentiye ihtiyaç yok kodu ilk senin verdiğini yapınca 7 tane hata veriyor bunları düzelttim birde işlevinide yapmıyor 1 demir ısıtıyorum 1 demir geri veriyor bunu düzelttim şuan 1 hata veriyor ama yinede çalışıyor kodu kullanmak isteyen kullansın 1.20 sunucuda düzgün çalışıyor
 

Ekli dosyalar

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

Hala Discord sunucumuza katılmadın mı?

Büyük bir topluluğun parçası ol, etkinliklere katıl ve özel hediyeler kazanma şansı yakala!

Şimdi Katıl
Üst