TuSKe 1.8.2

A Skript addon that integrates everything (or almost!)

  1. Tuke_Nuke
    Tested Minecraft Versions:
    • 1.7
    • 1.8
    • 1.9
    • 1.10
    [​IMG]
    TuSKe is an addon for Skript, that brings integrations with some popular and useful plugins to Skript, and also, brings some new features to help server's admins.


    Supported plugins:
    - Marriage
    - SimpleClans
    - LegendChat
    - ProtocolSupport / ViaVersion

    Documentation: SkUnity's Doc.
    Code (Text):
    #Called when a player say something.
    [on] l[egend]c[hat] chat

    #Returns:
    - player : The player who send the message:
    - l[egend]c[hat] channel : The channel that the player send the message. Returns %channel%.
    - l[egend]c[hat] message : The message. Can be cleared and setted to %string%. Returns %string%.

    #Called when a player send a tell.
    [on] l[egend]c[hat] tell

    #Returns:
    - sender : Who send the message. (player/console)
    - receiver : Who will receive the message. (player/console)
    - tell message : The message. Can be cleared and setted to %string%. Returns %string%.
    Code (Text):
    #Returns if a player is muted.
    %player% is muted
    %player% is(n't| not) muted

    #Returns if a player has permission to see/say in channel.
    %player% can (see|say in) [channel] %channel%
    %player% can't (see|say in) [channel] %channel%
    Code (Text):
    #Make a player send tell to another player.
    [make] %player% [send] tell %string% to %player%

    #Mute a player for a minutes or forever (or until server restart).
    mute %player% [for %integer% minute[s]]

    #Unmute the player.
    unmute %player%

    #Make player say something in a channel.
    make %player% say %string% in [channel] %channel%
    Code (Text):
    #Returns the remaining time of mute of player if he's muted. Returns %integer%.
    mute (left|remaining) time of %player%
    %player%'[s] mute (left|remaining) time

    #Returns the default channel of player in Legendchat. Can be set to %channel%. Returns %channel%.
    default channel of %player%
    %player%'[s] default channel

    #Returns the spy state of player (true or false). Can be set to %boolean%. Returns %boolean%.
    spy state of %player%
    %player%'[s] spy state

    #Returns the hide state of player (true or false). Can be se to %boolean%. Returns %boolean%.
    hide state of %player%
    %player%'[s] hide state

    #Returns a custom chat tag of player. You have to add a tag at LegendChat's chat formati
    #in your config file to see it in the chat. You can set and clear/delete it. Returns %string%.
    [chat] tag %string% of %player%
    %player%'[s] [chat] tag %string%

    #Returns all custom tags from player. It will return something like "Mytag" not like "[MyTag]"
    [chat] tags of %player%
    %player%'[s] [chat] tags
    Code (Text):
    #The channels that was created in config of plugin. Values: global, local...
    - channel

    Features:
    To create a custom enchantment, is very simple and easy to do, let's start with a simple tutorial.
    After 1.5.3, you can create custom enchantments using effects in your skript. All you have to do is register a enchantment with a name, this name will be used at your code to enchant items.
    Code (Text):

    on skript load:
         register a new custom enchantment with id name "Magic"
     
    The id name is what you use in your code to enchants a item, in this example, we will use Magic as custom enchantment's name.

    This is the basic of creating a custom enchantment, but it's not all. It has somethings that you can hide and the plugin will use a default value and there are values that are optional. The expressions that you don't need to set if you don't want are:

    The max level that a enchantment can have, it goes from 1 to 10, the default is 3.

    The rarity of enchantment, it goes from 1 (rare) to 5 (common), the default is 3.

    The types of items that the enchantment accepts. This doesn't accept the ID or name of item, only especific values and they are:
    Helmets, Chestplates, Leggings, Boots, Pickaxes, Axes, Shovels, Bow and Fishing Rod
    And there are values that represents a group of groups above:
    Tools: Pickaxes, Axes and Shovels
    Armor: Helmets, Chestplates, Leggings and Boots
    All: All groups above
    If this option is not set, it will use the default value, All. You can use more than one value, it's just separate with "," or "and".

    If true, the enchantment can be gotten on enchantment table, else, only by skript. By default is false.

    The optional value doesn't have a default value, so you don't need it if you don't want it.

    It will set a group of enchantments that is incompatible with the enchantment, it means that they won't be together at same item. The value is the ID name of other custom enchantments.

    Here is a example of how it's should look like:
    Code (Text):

    on skript load:
         register a new custom enchantment with id name "Magic"
         set {_enchantment} to "Magic" parsed as custom enchantment
         set max level of {_enchantment} to 5
         set rarity of {_enchantment} to 1
         set accepted items for {_enchantment} to "Swords" and "Bow"
         set lore name of {_enchantment} to "Magic Power"
     

    After the configuration, you just have to reload the file: or you restart your server or you execute the skript effect:
    If everything is right, you shouldn't see any errors on console. After that, you only have to create your custom effects for the enchantment by yourself. And to do that, you have some expressions to help you.

    Code (Text):
    #You can specify the level or not.
    %itemtype% has custom enchantment %custom enchantment%
    level of custom enchantment %custom enchantment% of %itemstack%
    #You can add or remove enchantments from it.
    [all] custom enchantments of %itemstack%
    ...
    To create a GUI, isn't that complex, we have these effects:

    (format|create|make) [a] gui slot %numbers% of %players% with %itemstack% to [do] nothing

    (format|create|make) [a] gui slot
    %numbers% of %players% with %itemstack% to close [using %click action% [(button|click|action)]]

    (format|create|make) [a] gui slot
    %numbers% of %players% with %itemstack% to [close then] run %command sender% command %string% [as op] [using %click action% [(button|click|action)]] [with cursor [item] %itemstack%]

    (format|create|make) [a] gui slot
    %numbers% of %players% with %itemstack% to [close then] run function %function% [using %click action% [(button|click|action)]] [with cursor [item] %itemstack%]

    The first one will do exactly nothing more than just nothing. The item won't peform any action.

    The other 3 effects has [using %click action%], if you use that in the effect, it will run the command/function only if it is a specifc click action. and if you don't want, it will run with any click type. The supported click actions are:

    Code (Text):
    left, right, shift left, shift right, double click, middle, number key, drop and control drop
    If you have v2.2-dev16b or above from Bensku' Skript fork, you will have to search for click action in its documentation, because the values are different.

    The second will close when you click on it.

    The last two has [with cursor %item stack%]. It will only run if a player click on item, with another specific item.

    The third will peform a command. You can execute with console or a player, and if it is a player, you can execute as op too.

    And the last one is to execute a function.
    Examples:
    Code (Text):
    create a gui slot 0 of player with stone to do nothing
    create a gui slot 1 of player with potato to close with left click
    create a gui slot 2 of player with paper to run player command "CommandHere" as op
    create a gui slot 3 of player with diamond to run console command "CommandHere"
    create a gui slot 4 of player with gravel to run function giveItems(player) with cursor item stone
    You can also use multiple action:
    Code (Text):
    create a gui slot 2 of player with stone to run function subtract(1) with left click
    create a gui slot 2 of player with stone to run function increase(1) with right click
    If you want to change the item, you don't need to format the slot again, you can just change the item in slot:
    Code (Text):
    function toggle(p: Player):
        if {var} is true:
            set slot 0 of current inventory of {_p} to red wool
        else:
            set slot 0 of current inventory of {_p} to green wool

    #your code to open a inventory/virtual inventory
    create a gui slot 0 of player with green wool to run function toggle(player)
    And if you want to unformat the slot, it's just:
    Code (Text):
    unformat the gui slot 1 of player
    #or if you want the whole inventory
    unformat all gui slots of player
    And some conditions:
    Code (Text):
    %player% has [a] gui #Check if has any gui in his open inventory
    slot %number% of %player% is a gui #Check if a slot is a gui
    Bug fixes from the old method, an another addon that it isn't update anymore:
    - No wait a tick needed after open the inventory.
    - It will only format the current open inventory of player (doesn't include the crafting slots).
    - Doesn't conflicts with others slots of the same inventory.
    - No loop problem, you can make loops and the command/function will have different values for each one.

    Examples:
    Code (Text):
    on anvil combine:
          event-item-one is a diamond sword
          event-item-two is a diamond sword
          send "Oh, you combined two diamonds swords!"

    on anvil rename:
          event-string is "Awesome axe"
          event-item-result is any axe
          send "You've renamed your %event-item% from %event-item's name% to %event-string%"

    command /players: #will send a list of players in alphabetic order
          trigger:
                set {_players::*} to alphabet order of all players
                loop {_players::*}:
                      send "%loop-value%"

    command /xp: #shows the amount of experiences orbs that player has
          trigger:
                send "You have %xp of player% experiences orbs."
    on damage of player:
          if attacker's tool has custom enchantment Vampire:
                set {_AddHealth} to 1 * level of custom enchantment Vampire of attacker's tool
                add {_AddHealth} to health of attacker

    Requires:
    - Skript
    - (Optionally) the plugins listed above.

    How to install:
    - Place the Skript and TuSKe at plugins' folder. (If you already have Skript, place only the TuSKe).
    - Restart your server. (You can't load the plugins while your server is running.)
    - Done!
    Now it's just start to code in Skript and use the features of TuSKe in your scripts.

    Support:
    If you have a problem to make some code, you can use the Skript's forum: SkUnity's Forum. If you have a especific problem with TuSKe, go to the post about TuSKe.

    Suggestions and bugs:
    Do you have any suggestions? Comment below.
    Did you found some bug? Send me a PM or comment in discussion page.

Recent Reviews

  1. JacobNightCore
    JacobNightCore
    5/5,
    Version: 1.8.2
    The features are amazing, mainly here for the recipes, furnace recipes and GUI management.
  2. iMason2005
    iMason2005
    2/5,
    Version: 1.8.2
    Please make a 1.8.8 because most good servers runoff that version of Minecraft. Overall a great plugin
  3. Korti
    Korti
    1/5,
    Version: 1.8.2
    terrible plugin, nothing works, a lot of bugs
    i dont recommend this totally. tryin
  4. Chriszahle
    Chriszahle
    2/5,
    Version: 1.8.2
    I cant get the rigt version... have tried them alle but they dont work at all... using paperspigot 1.8.8 and it is so fustrating!!!
  5. -2-
    -2-
    4/5,
    Version: 1.8.2
    some bugs but FINALLY WORKS!!! now i can make my xp system for a server im creating
  6. TheRobLP
    TheRobLP
    4/5,
    Version: 1.8.2
    You guys do realize that the rating section is not for posting your error logs? And since I know how to use it properly, here is my review: Great plugin, sadly has severe problems in current versions. However the concept is really good.
  7. oscarisknap
    oscarisknap
    4/5,
    Version: 1.8.2
    I had a error with this line: open (virtual chest named "options") to player

    [ERROR] #!#! [Skript] Severe Error:

    [ERROR] #!#! TuSKe's class com.github.tukenuke.tuske.effects.EffMakeDrop generated an exception while loading

    [ERROR] #!#!

    [ERROR] #!#! Something went horribly wrong with Skript.

    [ERROR] #!#! This issue is NOT your fault! You probably can't fix it yourself, either.

    [ERROR] #!#! It looks like you are using some plugin(s) that alter how Skript works (addons).

    [ERROR] #!#! Following plugins are probably related to this error in some way:

    [ERROR] #!#! TuSKe (github.com/Tuke-Nuke/TuSKe)

    [ERROR] #!#! You should try disabling those plugins one by one, trying to find which one causes it.

    [ERROR] #!#! If the error doesn't disappear even after disabling all listed plugins, it is probably Skript issue.

    [ERROR] #!#! In that case, you will be given instruction on how should you report it.

    [ERROR] #!#! On the other hand, if the error disappears when disabling some plugin, report it to author of that plugin.

    [ERROR] #!#! Only if the author tells you to do so, report it to Skript's issue tracker.

    [ERROR] #!#!

    [ERROR] #!#! Stack trace:

    [ERROR] #!#! java.lang.NullPointerException

    [ERROR] #!#! at com.github.tukenuke.tuske.effects.EffMakeDrop.<clinit>(EffMakeDrop.java:25)

    [ERROR] #!#! at java.lang.Class.forNameImpl(Native Method)

    [ERROR] #!#! at java.lang.Class.forName(Class.java:403)

    [ERROR] #!#! at ch.njol.skript.SkriptAddon.loadClasses(SkriptAddon.java:108)

    [ERROR] #!#! at com.github.tukenuke.tuske.TuSKe.onEnable(TuSKe.java:100)

    [ERROR] #!#! at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:264)

    [ERROR] #!#! at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:337)

    [ERROR] #!#! at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:403)

    [ERROR] #!#! at org.bukkit.craftbukkit.v1_12_R1.CraftServer.enablePlugin(CraftServer.java:381)

    [ERROR] #!#! at org.bukkit.craftbukkit.v1_12_R1.CraftServer.enablePlugins(CraftServer.java:330)

    [ERROR] #!#! at net.minecraft.server.v1_12_R1.MinecraftServer.t(MinecraftServer.java:422)

    [ERROR] #!#! at net.minecraft.server.v1_12_R1.MinecraftServer.l(MinecraftServer.java:383)

    [ERROR] #!#! at net.minecraft.server.v1_12_R1.MinecraftServer.a(MinecraftServer.java:338)

    [ERROR] #!#! at net.minecraft.server.v1_12_R1.DedicatedServer.init(DedicatedServer.java:272)

    [ERROR] #!#! at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:545)

    [ERROR] #!#! at java.lang.Thread.run(Thread.java:813)

    [ERROR] #!#!

    [ERROR] #!#! Version Information:

    [ERROR] #!#! Skript: 2.4-beta9 (latest)

    [ERROR] #!#! Flavor: skriptlang-github

    [ERROR] #!#! Date: 2019-10-15

    [ERROR] #!#! Bukkit: 1.12.2-R0.1-SNAPSHOT

    [ERROR] #!#! Minecraft: 1.12.2

    [ERROR] #!#! Java: 1.8.0_212 (Eclipse OpenJ9 VM openj9-0.14.0)

    [ERROR] #!#! OS: Linux amd64 4.15.0-55-generic

    [ERROR] #!#!

    [ERROR] #!#! Server platform: Spigot

    [ERROR] #!#!

    [ERROR] #!#! Current node: null

    [ERROR] #!#! Current item: null

    [ERROR] #!#!

    [ERROR] #!#! Thread: Server thread

    [ERROR] #!#!

    [ERROR] #!#! Language: english

    [ERROR] #!#! Link parse mode: DISABLED

    [ERROR] #!#!

    [ERROR] #!#! End of Error.

    [ERROR] #!#!
  8. Bolean
    Bolean
    4/5,
    Version: 1.8.2
  9. hamodi1299
    hamodi1299
    3/5,
    Version: 1.8.2
    pls update this to 1.13.2

    ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  10. coolfire02
    coolfire02
    5/5,
    Version: 1.8.2
    For all those that have troubles with Tuske (Such problems include:
    - Skripts not loading on start up till /sk reload
    - Reloading skripts with Tuske's GUI Manager creates an error only removable via reboot

    Use Tuske Version - 1.7.3
    Use Skript Version - (Always try the latest if it still doesnt work after installing 1.7.3)

    Spent almost 2h 30m testing every version of skript etc tgt with the addon. Hope this helps people going through the same problems!

    And also, the entire doc (well at least I didnt see it) didnt say anything about the creation of GUI at all. Only the formatting. Thus, here is some example code:

    open virtual chest inventory to player
    create a gui slot 0 of player with stone to do nothing

    The current skript jar I have just says skript 2.2 thus I do not know what is the exact version. If you need the file because yours dosent work, ill send the jar files for the skript & tuske im currently using :)