skriptlang / skript-aliases Goto Github PK
View Code? Open in Web Editor NEWAliases for Skript
Aliases for Skript
shouldn't this be 1.12 or older
?
Raw chicken
is not possible to give to the player.
raw mutton also does not work, so it's not relating to the entityRelated
tag.
Weirdly enough, you can compare raw chicken
against a variable, so it may be thinking it's an entity data?
Workaround is just using chicken
but [raw]
is an optional defined aliases. Something is not working correct.
Add piglin skull to the aliases new to 1.19.3
I've been testing out some of the capabilities of the beta aliases release and am finding both parsing bugs (namely with variations) and some features that would be desirable to make producing aliases easier.
My aim was to test damage value variations (via the Damage
tag), block state variations, and a straightforward alias that doesn't use variations. This was my test aliases file:
variations test:
minecraft versions = 1.12 or newer
{colored}:
white = - {Damage:0}
orange = - {Damage:1}
magenta = - {Damage:2}
light blue = - {Damage:3}
yellow = - {Damage:4}
(lime [green]|light green) = - {Damage:5}
pink = - {Damage:6}
[dark] gr(a|e)y = - {Damage:7}
light gr(a|e)y = - {Damage:8}
cyan = - {Damage:9}
purple = - {Damage:10}
blue = - {Damage:11}
brown = - {Damage:12}
[dark] green = - {Damage:13}
red = - {Damage:14}
black = - {Damage:15}
{oriented}:
(north-south|south-north) = -[axis=z]
(east-west|west-east) = -[axis=x]
(vertical|up-down) = -[axis=y]
{colored} wool [block¦s] = minecraft:wool
{oriented} purpur pillar¦s = minecraft:purpur_pillar
orange wool = minecraft:wool {Damage:1}
Trying to load this in 1.12.2 with the aliases beta release gave the following results in console. Each error was repeated once for each variation of the alias (e.g. 32 times for the wool errors since there are the 16 with [block¦s]
included then the 16 without):
[20:03:15 INFO]: Mr_Simba issued server command: /sk reload aliases
[20:03:15 ERROR]: [Skript] Minecraft id 1.12 or newer is not valid (building.sk, line 2: minecraft versions = 1.12 or newer')
[20:03:15 ERROR]: [Skript] Minecraft id - is not valid (building.sk, line 27: {colored} wool [block▒s] = minecraft:wool')
[20:03:15 ERROR]: [Skript] Minecraft id - is not valid (building.sk, line 28: {oriented} purpur pillar▒s = minecraft:purpur_pillar')
We can see a few issues here:
minecraft versions
conditional as an actual alias, which is clearly incorrect. I've also tried to do more extensive testing with variations to see their limits (e.g. a variation that includes part of the ID in it for colored blocks) and I've found that it will also attempt to parse each variation as an ID in that scenario as well (e.g. this doesn't work, it tries to parse each variation as an alias).This may be due to some sort of version mismatch that I'm not realizing so of course let me know if that's the case. Regardless, support for defining part of the ID in the variation would be really useful, especially for the colored blocks.
On my skript for creating an automatic mine in my spawn, I use
on break of coal ore:
message "oui"
if "%region at player%" contains "spawn":
message "oui2"
drop coal at event-block
set event-block to bedrock
wait 10 seconds
set event-block to stone
wait 300 seconds
set event-block to coal ore
on break of iron ore:
message "oui"
if "%region at player%" contains "spawn":
message "2"
drop iron ingot at event-block
set event-block to bedrock
wait 10 seconds
set event-block to stone
wait 300 seconds
set event-block to iron ore
But once I use iron ore, and I break it's not working
Please fix this, thanks!
I propose that we close the issue tracker of this repo, and instead track all aliases issues in SkriptLang/Skript. Most of aliases-related issues are already posted there, so it would make sense to get everything there. Requesting comments from @TheBentoBox
Edit: pull requests would still be tracked here, of course
When I try to set variable to nether quartz block item, it gives error "Can't understand this expression: set {_item} to nether quartz block".
set {_item} to nether quartz block, quartz block, block of nether quartz
It is possible to solve it in half by adding alias by self to script but parsing will still not work (example below)
set {_item} to "1 of nether quartz block" parsed as item # it will be <none>
Turtle Shell dose not exist on any armor
it's should be add because it's count as an armor and it's gives the player +2 [Armor] !
No response
all leave types are missing the {waterloggable}
tag. As of Minecraft 1.19 they were able to be water logged
[01:58:27 INFO]: 'jungle leaf' at 397.5, 74.5, -154.5 in world 'world'
[01:58:27 INFO]: minecraft:jungle_leaves[distance=7;persistent=true;waterlogged=true]
[01:58:27 INFO]: jungle leaf
[01:58:28 INFO]: 'waterlogged dark oak wood stair' at 398.5, 74.5, -154.5 in world 'world'
[01:58:28 INFO]: minecraft:dark_oak_stairs[facing=north;half=bottom;shape=straight;waterlogged=true]
[01:58:28 INFO]: waterlogged dark oak wood stair
In version 1.12.2, the blocks are not exactly specified.
using:
on rightclick on a dispenser:
if target block is dispenser:
doesn't work.
but using:
on rightclick on a north facing dispenser:
if target block is north facing dispenser:
works.
works with chests...
Skript version: 2.3.5
Works in 1.13.2
Found by @arcsin0.5 on skript chat discord.
When using oak sign
or spruce sign
as an item, eg: giving it to player or setting a slot, the alias can resolve to either floor sign or a wall sign, and a wall sign cannot be given as an item. So half the time giving a sign or setting a slot will silently fail, when not specifying floor
.
The alias should always return a floor sign, like torch
always returns a floor torch.
[floor] torch¦es = minecraft:torch
any torch = floor torch, north facing wall torch, south facing wall torch, east facing wall torch, west facing wall to…
any oak sign
should still include wall signs, but oak sign
alone should not.
It's hard for me to explain and connected block face makes the most sense.
Panes have the blockdata tags east
, west
, south
, north
adding support for these adds more to them. and make it more viable than just relying on blockdata for everything as we don't have to worry about little details skript is missing like this
[02:12:17 INFO]: [Skript] Skript's aliases can be found here: https://github.com/SkriptLang/skript-aliases
[02:12:17 INFO]: [Skript] Skript's documentation can be found here: https://docs.skriptlang.org/
[02:12:17 INFO]: [Skript] Skript's tutorials can be found here: https://docs.skriptlang.org/tutorials
[02:12:17 INFO]: [Skript] Server Version: git-Paper-496 (MC: 1.20.4)
[02:12:17 INFO]: [Skript] Skript Version: 2.7.3 (skriptlang-github)
[02:12:17 INFO]: [Skript] Installed Skript Addons:
[02:12:17 INFO]: [Skript] - PoaSK v3.1.5
[02:12:17 INFO]: [Skript] - skript-gui v1.3 (https://github.com/APickledWalrus/skript-gui)
[02:12:17 INFO]: [Skript] - skript-particle v1.2.0 (https://github.com/sovdeeth/skript-particle)
[02:12:17 INFO]: [Skript] - skript-reflect v2.4 (https://github.com/SkriptLang/skript-reflect)
[02:12:17 INFO]: [Skript] - SkBee v3.0.2 (https://github.com/ShaneBeee/SkBee)
[02:12:17 INFO]: [Skript] - skript-advancements v1.6.2
[02:12:17 INFO]: [Skript] Installed dependencies:
[02:12:17 INFO]: [Skript] - Vault v1.7.3-b131
[02:12:17 INFO]: [Skript] - WorldGuard v7.0.7+216b061
Skript is converting Chiseled Red Sandstone into a block data which make this item unusable
Expected to convert Chiseled Red Sandstone to an itemtype
on load:
add chiseled red sandstone to {_list::*}
broadcast {_list::1}.getClass()
broadcast {_list::*}
[02:15:08 INFO]: class org.bukkit.craftbukkit.v1_20_R3.block.data.CraftBlockData
[02:15:08 INFO]: minecraft:chiseled_red_sandstone
No response
set block at player to a red banner
does not work as it doesn't use the standing banner properties. Where as it should, as that's the typical usage and inventory version of the banners that are known to users.
This needs to be changed so wall banner is the standard to type.
Iv'e recently updated Minecraft and Skript to their latest versions for version 1.13. Iv'e tested that the different colored banner items aren't working as they should. Every time I reloaded skript the specific colored banner item causes a unknown conditional/effect error.
For example,
set {_item} to dark gray banner item
causes an error.
When using any stone slab
aliases you're given an "or" list of slabs, however when using every stone slab
it's being treated as stone slab
over an "and" list of any stone slab
[04:21:06 INFO]: [Skript] Skript's aliases can be found here: https://github.com/SkriptLang/skript-aliases
[04:21:06 INFO]: [Skript] Skript's documentation can be found here: https://docs.skriptlang.org/
[04:21:06 INFO]: [Skript] Skript's tutorials can be found here: https://docs.skriptlang.org/tutorials
[04:21:06 INFO]: [Skript] Server Version: git-Paper-430 (MC: 1.20.4)
[04:21:06 INFO]: [Skript] Skript Version: 2.8.2 (skriptlang-github)
[04:21:06 INFO]: [Skript] Installed Skript Addons:
[04:21:06 INFO]: [Skript] - skript-gui v1.3 (https://github.com/APickledWalrus/skript-gui)
[04:21:06 INFO]: [Skript] - skript-particle v1.2.0 (https://github.com/sovdeeth/skript-particle)
[04:21:06 INFO]: [Skript] - skript-reflect v2.4-dev2 (https://github.com/SkriptLang/skript-reflect)
[04:21:06 INFO]: [Skript] - SkBee v3.3.0 (https://github.com/ShaneBeee/SkBee)
[04:21:06 INFO]: [Skript] Installed dependencies: None
Skript/Server Version
[23:21:27] [Server thread/INFO]: [Skript] Skript's aliases can be found here: https://github.com/SkriptLang/skript-aliases
[23:21:27] [Server thread/INFO]: [Skript] Skript's documentation can be found here: https://docs.skriptlang.org/
[23:21:27] [Server thread/INFO]: [Skript] Skript's tutorials can be found here: https://docs.skriptlang.org/tutorials
[23:21:27] [Server thread/INFO]: [Skript] Server Version: 4195-a-Spigot-f6a4805-cebb58e (MC: 1.20.6)
[23:21:27] [Server thread/INFO]: [Skript] Skript Version: 2.8.7 (skriptlang-github)
[23:21:27] [Server thread/INFO]: [Skript] Installed Skript Addons: None
[23:21:27] [Server thread/INFO]: [Skript] Installed dependencies: None
Bug Description
When getting ExprRawName for sandstone wall, the correct ID is not returned. The value retrieved is "minecraft:sandstone wall"
Expected Behavior
The value retrieved will be "minecraft:sandstone_wall"Steps to Reproduce
command /getTool:
trigger:
send "[%raw name of player's tool%]" to player
Execute "/getTool" while holding the sandstone wall in your main hand.
Errors or Screenshots
No response
Other
No response
Add ability to use iron golem spawn eggs items in scripts
Exemple:
give player iron golem spawn egg
Every other spawn egg has an expression to use, like...
(cow [spawn] egg|spawn cow)¦s
for cow spawn egg (referring to skript-aliases)
Some other mobs might be missing
No response
Basically, look at https://minecraft.gamepedia.com/Block_states and write a lookup table. Spigot 1.13 has nice API for turning block state string to block data object.
[00:49:10 INFO]: [Skript] Skript's aliases can be found here: https://github.com/SkriptLang/skript-aliases
[00:49:10 INFO]: [Skript] Skript's documentation can be found here: https://docs.skriptlang.org/
[00:49:10 INFO]: [Skript] Skript's tutorials can be found here: https://docs.skriptlang.org/tutorials
[00:49:10 INFO]: [Skript] Server Version: git-Paper-64 (MC: 1.20.1)
[00:49:10 INFO]: [Skript] Skript Version: 2.7.0-beta3 (skriptlang-github)
[00:49:10 INFO]: [Skript] Installed Skript Addons:
[00:49:10 INFO]: [Skript] - skript-placeholders v1.5.2 (https://github.com/APickledWalrus/skript-placeholders)
[00:49:10 INFO]: [Skript] - skript-gui v1.3 (https://github.com/APickledWalrus/skript-gui)
[00:49:10 INFO]: [Skript] - skript-reflect v2.3.1-for-skript-beta (https://github.com/TPGamesNL/skript-reflect)
[00:49:10 INFO]: [Skript] - SkBee v3.0-Fusezion-recipetype (https://github.com/ShaneBeee/SkBee)
[00:49:10 INFO]: [Skript] Installed dependencies:
[00:49:10 INFO]: [Skript] - Vault v1.7.3-b131
the aliases golden apple
doesn't support it's plural form of golden apples
golden apples
to be a supported plural type
command /test:
trigger:
send 10 golden apples
No response
cobble stone
with a space should be a valid aliases.
Skript 2.8.5
[Skript] Die Aliase von Skript finden Sie hier: https://github.com/SkriptLang/s
[Skript] Die Dokumentation von Skript finden Sie hier: https://docs.skriptlang.org/kript-aliases
[Skript] Die Tutorials von Skript finden Sie hier: https://docs.skriptlang.org/tutorials
[Skript] Server Version: git-Pufferfish-49 (MC: 1.20.4)
[Skript] Skript Version: 2.8.5 (skriptlang-github)
[Skript] Installierte Skript Addons:
[Skript] - PermSk v2.0.0 (https://iplexy.de)
[Skript] - PoaSK v3.4.3
[Skript] - Skellett v2.0.10 (https://forums.skunity.com/resources/skellett.24/)
[Skript] - SkEssentials v1.0.5
[Skript] - Lusk v1.1.1
[Skript] - SkBee v3.5.0 (https://github.com/ShaneBeee/SkBee)
[Skript] - RediSkript v1.3.7-SNAPSHOT
[Skript] - skript-placeholders v1.6.0 (https://github.com/APickledWalrus/skript-placeholders)
[Skript] - SkUniversal v2.13
[Skript] - CloudNetSk v1.0 (ein.dev)
[Skript] - skript-db v1.3.9
[Skript] - SkQuery v4.1.10
[Skript] - SkJade v1.4.3 (https://www.github.com/Ankoki-Dev/SkJade)
[Skript] Installierte Abhängigkeiten:
[Skript] - Vault v1.7.3-b131
[Skript] - WorldGuard v7.0.9+5934e49
Hello,
i have this problem. If i try to create a item with item type chiseled bookshelf or calibrated sculk sensor, he doesn't know this item type.
if i use my skript to output the item type (from held item), he showed me CHISELED_BOOKSHELF and CALIBRATED_SCULK_SENSOR. But with this itemtype cannot create a item with skript.
Script knows the Item types chiseled bookshelf and calibrated sculk sensor
create a skript with give or drop chiseled bookshelf to player
or
create a skript with give or drop calibrated sculk sensor to player
No response
No response
When using broadcast "Yes" if player has a tipped arrow of strong harming otherwise "No"
this will always broadcast "Yes" regardless of the tipped arrow type in the player's inventory.
The sniffer egg when using "sniffer egg" is a 50/50 between getting the sniffer egg (block) and the sniffer spawn egg
!give player sniffer egg
This is the 50/50
Minecraft 1.9 has a ton of issues with current aliases. See error log: https://gist.github.com/bensku/de6a8f1212a13d76050e63b38666a05c
In particular, stationary water alias does not seem to work, which causes Skript fail to start.
Closing #95 shortly after this as I went and tested more blocks which seem to be missing it in beta3
Couldn't find anything else through my search of the creative inventory
future note is 1.20.2 will include barriers on this list
If an item type can be an item or a block in the same time, then there should be a required "block" suffix to get the block of that item type. And using the item type without a suffix or using with "item" suffix should get the item. For example:
redstone [dust] block¦s
<- should return the block
redstone [dust] [item¦s]
<- should return the item
Item types with "any" prefix should exist, but not as an optional prefix because it just causes confusing/bugs.
Normally written item names shouldn't return random items, it should return the natural block/item. For example:
lit redstone torch¦es = minecraft:redstone_torch
unlit redstone torch¦es = minecraft:unlit_redstone_torch
[any] redstone torch¦es = lit redstone torch, unlit redstone torch
The user would think when using redstone torch
it will return unlit redstone torch like in inventories or when you place a redstone torch but it will return lit or unlit torch randomly.
But an item type with "any" prefix can return random items, there is no a problem. So it should be:
lit redstone torch¦es = minecraft:redstone_torch
[unlit] redstone torch¦es = minecraft:unlit_redstone_torch
any redstone torch¦es = lit redstone torch, unlit redstone torch
So when the user uses "redstone torch" it will return unlit redstone torch.
Another example can be any apple
for the 3 types of apples but golden apple
should return the normal golden apple. If the user wants enchanted golden apple, then will use enchanted golden apple
.
So i say, make the aliases user friendly.
I would like to suggest the removal of the aliases for items with armor trims.
To start:
[Skript] Loaded 232659 aliases in 4296ms # default
[Skript] Loaded 197964 aliases in 2638ms # without armor trim
I tested a build of the aliases-rework branch from the main repo with the aliases from this repo as of today since I think we've gotten them to a "complete at a cursory glance" state. Aside from obvious issues like a memory heap error when it tries to parse the +global-variations.sk file, here are my findings when testing in-game:
The Good:
[huge] red mushroom block¦s = minecraft:red_mushroom_block
, I could change the data value and it would still successfully compare my target block with red mushroom block
👍The Bad:
any tulip¦s = red tulip, orange tulip, white tulip, pink tulip
, but giving myself or setting a block to any tulip
always sets it to the pink tulip (last in the grouped alias). I also have any cobble[stone] [block¦s] = cobblestone, mossy cobblestone
and giving/setting a block to any cobble
always gives me normal cobble (the first in the grouped alias). So it doesn't work randomly like it does currently (maybe that's ok?)pink tulip
or any flower
it fails, but it passes when compared to any small flower
. However, when doing send "%target block%"
while looking at the pink tulip, it returns any flower
. This is obviously weird for two reasons: a block shouldn't return a grouped alias, and it's returning an alias which it doesn't even successfully compare against (doing broadcast "%true if target block is any flower else false%"
broadcasts false).set target block to furnace
and it sets a furnace, then send "%target block%"
returns "FURNACE" while a lit one returns "BURNING_FURNACE" (in all caps like that, like an enum entry). I also can't set or compare a block to a lit furnace
even though we have the alias for it:unlit furnace¦s = minecraft:furnace
lit furnace¦s = minecraft:lit_furnace
[any] furnace¦s = unlit furnace, lit furnace
broadcast "%true if target block is any repeater else false%"
broadcasts false when looking at a repeater, and setting a block to an inactive repeater
sets it to a minecraft:powered_repeater
(and vice-versa, setting an active repeater
sets an inactive one) even though the aliases are defined properly:(inactive|unpowered) [redstone] repeater¦s = minecraft:unpowered_repeater
(active|powered) [redstone] repeater¦s = minecraft:powered_repeater
The Ugly:
So yeah, lots of weird issues but I think for a first test of the aliases it actually went decently well.
Random variations should be possible to use, maybe with this way:
{variation here}:
[curved] (north-east|east-north) = - [shape=north-east]
[curved] (north-west|west-north) = - [shape=north-west]
[curved] (south-east|east-south) = - [shape=south-east]
[curved] (south-west|west-south) = - [shape=south-west]
curved = north-east, north-west, south-east, south-west
Or just something like this:
curved = - [shape=north-east] | [shape=north-west] | [shape=south-east] | [shape=south-west]
Same for NBT tags.
goat horns doesn't return all horns
give player all goat horns should return all the types of horns and not just the ponder one.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.