Aller au contenu
  • 0

Probleme de "function"


Question

Posté(e)

Version de Minecraft : 1.16.4
Version de Skript : 2.5.3

Addons utilisés: skript-gui (v1.2.0), SkQuery(v4.1.4), skript-mirror (v1.0.0)

Type du skript : Je souhaite faire un skript qui me remplace les blocs pris entre deux locations

Description du skript :

Bonjour ou Bonsoir,

J'ai trouvé ce bout de Skript sur internet qui me permet de créer une multitude fonction qui font ce que j'aurais besoin de faire:

import:
    com.sk89q.worldedit.regions.CuboidRegion
    com.sk89q.worldedit.Vector as WorldEditVector
    com.sk89q.worldedit.EditSession
    com.boydti.fawe.FaweAPI
    com.boydti.fawe.util.EditSessionBuilder
    com.sk89q.worldedit.blocks.BaseBlock
    com.sk89q.worldedit.patterns.BlockChance
    java.util.Arrays
    com.sk89q.worldedit.patterns.RandomFillPattern
    java.util.stream.Collectors
 
function getRegion(pos1: location, pos2: location) :: object:
    loop 1 and 2:
        set {_vec::%loop-value%} to new WorldEditVector((x-coord of {_pos%loop-value%}), (y-coord of {_pos%loop-value%}) and (z-coord of {_pos%loop-value%}))
    return new CuboidRegion({_vec::*})
 
function getBaseBlock(block: itemtype) :: object:
    return new BaseBlock({_block}.getRandom().getTypeId() and {_block}.getRandom().getData().getData())
 
function getBlockChance(block: itemtype, chance: number) :: object:
    return new BlockChance(getBaseBlock({_block}) and {_chance})
 
function getWorld(world: world) :: object:
    return FaweAPI.getWorld("%{_world}%")
 
function getEditSession(world: world) :: object:
    return new EditSessionBuilder(getWorld({_world})).fastmode(true).build()
 
function setBlocks(pos1: location, pos2: location, block: object) :: boolean:
    set {_session} to getEditSession(world of {_pos1})
    set {_args::*} to getRegion({_pos1}, {_pos2}) and getBaseBlock({_block})
    if {_block} is a text:
        loop split {_block} at ",":
            set {_it::*} to join (split loop-value at "%%") with " " parsed as "%integer% %item%"
            if {_it::*} is set:
                add getBlockChance({_it::2}, {_it::1}) to {_c::*}
                delete {_it::*}
            else:
                return false
        set {_args::*} to getRegion({_pos1}, {_pos2})
        add new RandomFillPattern(Arrays.stream([{_c::*}]).collect(Collectors.toList())) to {_args::*}
    {_session}.setBlocks({_args::*})
    {_session}.flushQueue()
    return true

J'ai ajouter à ce code le code suivant:

command /restartmine:
    description: Permet de reset les mines si bug
    permission: skript.restart.mine
    usage: /restartmine
    executable by: players
    trigger:
        set {_loc1} to location at -209, 167, 351 in world "flat_end"
        set {_loc2} to location at -224, 152, 336 in world "flat_end"
        set {_bool} to setBlocks({_loc1}, {_loc2}, "100%%air")

on Skript start:
    execute console command "/restartmine"

Cependant lors de l'exécution de la commande de reload du skript les erreurs suivantes font leur apparition:
image.thumb.png.2192f63f4d3c7dd5aac500115212d5a3.png
D'après ce que je comprends, ma commande est bien crée mais cependant, certaines fonctions ne parviennent pas à se créer.

Merci d'avance de l'aide précieux que vous m'apporterez.
Je vous souhaite une agréable journée/soirée.

Cordialement,
PoLaN

1 réponse à cette question

Messages recommandés

Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.