Variables globales y estáticas
Link to variables-globales-y-estáticas
Sure you have been in the situation where you declared the same variable in each and every script over and over again.
"Why is there no way to make them available in every script?" Is what went through your head at such times.
Be relieved now for there has been added a means of declaring and accessing global and scriptbound (static) values!
They cannot be changed, though.
La diferencia entre estática y global
Link to la-diferencia-entre-estática-y-global
Both, statics and globals are scriptbound and instantiated before the script is executed.
Both cannot be changed.
The difference is how they are called:
Globals can be called from everywhere simply by their name unless you already have a local variable that has the same name.
Statics on the other hand, need to use the cross-script reference to be accessed.
Globals are created using the global
keyword.
Statics are created using the static
keyword.
Aparte de eso, ¡son idénticas!
Declarando un valor global
Link to declarando-un-valor-global
Declarar una variable global es tan simple como declarar una variable local:
ZenScript Copyimport crafttweaker.item.IItemStack;
global miValorGlobal as IItemStack = <minecraft:dirt>;
static miValorEstatico as IItemStack = <minecraft:sand>;
Vamos a analizar esto:
global
nos indica que la variable es globalmiValorGlobal
el nombre de la variableas IItemStack
el tipo de la variable (se recomienda importarlo)= <minecraft:dirt>;
inicialización de la variable. Como los valores globales son finales, se deben inicializar en su declaración
Consejo rápido
Link to consejo-rápido
- Solo puedes acceder a globales que ya han sido declaradas Usa la Prioridad para asegurarte de que los scripts que contienen las variables globales se ejecutan en primer lugar.
- Las globales no pueden estar en scripts que se encuentran en subcarpetas. Se compilará pero quedará con un enorme Error.
- Aunque técnicamente se puede omitir el cast, se recomienda dejarlo ya que puede causar errores. Además, hace tu declaración más clara para quien lee tu script.
- Variables locales pueden sobreescribir variables globales El script usará la más local antes que la global cuando intente usar las variables.