Jump to content

UntitledGoose

Member
  • Posts

    465
  • Joined

  • Last visited

  • Days Won

    4

Posts posted by UntitledGoose

  1. On 1/9/2021 at 11:38 AM, quick007 said:

    on rightclick with diamond sword:

        push player forward at speed 5

    Aspect of the End teleports you, this just kinda shoves you in one direction.

    Better just to use:

    on right click holding diamond sword:
    	teleport player to block 4 meters in player's direction

     

    • Like 1
  2. 3 minutes ago, thevirtualpotato said:

    it says that an on inventory close event cannot be cancelled?

    They indeed cannot be cancelled. This is an option

    on inventory close:
    	if name of event-inventory contains "<name here>":
    		open event-inventory to player

     

    • Like 1
  3.  

    M I N E H U T  C O M M U N I T Y  F A Q

    HOW TO USE FUNCTIONS WITH SKRIPT

    REQUIREMENTS: Skript
    DIFFICULTY: MEDIUM

    Introduction

    Functions are little doodads in Skript that hold snippets of code, and that function can be executed to run that code. Functions also take parameters, and can return values. You’ll learn all about functions here.

     

    What you’ll learn

    • General look on functions

    • Parameters

    • Returning

    • Examples

     

    General look on functions

    Functions have 4 components to them: name, parameters, return type, and code.

    Name is the name of the function, you will see more about this later.

    Parameters are inputs that the function can take in when executed, the functions can interact with these inputs to make diverse outcomes.

    Return types are required if you want to return something. It basically says what something should expect a function to return. What the function returns must follow this type. A few examples of types are string, numbers, player, etc.

    Code is the snippet that the function executes when it is called.

     

    This is what a function looks like:

    function name(parameter_name: parameter_type) :: return_type:

    ____# code___________________________________________________

     

    Note that after putting the parameter’s name and type in the function’s declaration, you can also tack on a default value. The parameter’s content becomes the default value if that parameter was not filled in when the function was called. It looks like this:

     

    _______________________________________________

    parameter_name: parameter_type = default value_

    _______________________________________________

     

    To call a function in code, you put the name, and then round brackets, and put your parameters inside of the brackets, separated by commas. It looks like this:

      ___ _______________________

    name({_par1}, {_par2}, ...) _

      ____ ______________________

     

    Parameters

    Parameters can be passed when calling a function. These parameters can be anything, as long as it follows the type specified in the function’s declaration.

     

    A function can access the value of a parameter in a local variable, with the parameter’s name as the label. This is what it looks like:

    ________________

    {_parametername}

    ________________

     

    Returning

    The return keyword can be used to return a value from a function, this can be thought of a conversation between the function and the code, with parameters and returns.

     

    Code calls function -> Passes in parameters -> Function does magic with parameters and whatnot -> Returns value -> Code does stuff with new value

     

    Note here that even when a return type is defined in the function, the function does not have to return something. It can choose to return nothing.

     

    Here is the syntax for returning:

    ______________ _+

    return %objects% _

    _______________ +

     

    Examples

    ______________________________________________________________________function hello(name: text) :: text:___________________________________

    ____return “Hello, %{_name}%!”________________________________________

    ______________________________________________________________________

    hello(“Goose”) # Returned value: “Hello, Goose!”______________________

    ______________________________________________________________________

    function set(name: text, value: object):______________________________

    ____set {vars::%{_name}%} to {_value}_________________________________

    ______________________________________________________________________

    set(“foo”, “bar”)_____________________________________________________

    {vars::foo} # Value: “bar”____________________________________________

     

    Require further assistance?:

    If you need more help on this topic, head over to this section of forums, or join our Discord!

    Compiled by the Minehut Staff Team

     

    • Like 1
  4. 25 minutes ago, mekbturtle said:

    ppl can send any http so it's not really a security issue unless they can grab minehut server's ip

    doesn't matter if you can grab a minehut server's ip.. lol

     

    you can get it by going into a terminal and running "ping <ip>" it's as easy as that looks like it pings cloudflare. oops! somebody grabbing the number ip still wouldn't be an issue though

  5. Introduction

    Functions are little doodads in Skript that hold snippets of code, and that function can be executed to run that code. Functions also take parameters, and can return values. You’ll learn all about functions here.

     

    What you’ll learn

    • General look on functions

    • Parameters

    • Returning

    • Examples

     

    General look on functions

    Functions have 4 components to them: name, parameters, return type, and code.

    Name is the name of the function, you will see more about this later.

    Parameters are inputs that the function can take in when executed, the functions can interact with these inputs to make diverse outcomes.

    Return types are required if you want to return something. It basically says what something should expect a function to return. What the function returns must follow this type. A few examples of types are string, numbers, player, etc.

    Code is the snippet that the function executes when it is called.

     

    This is what a function looks like:

    function name(parameter_name: parameter_type) :: return_type:

    ____# code___________________________________________________

     

    Note that after putting the parameter’s name and type in the function’s declaration, you can also tack on a default value. The parameter’s content becomes the default value if that parameter was not filled in when the function was called. It looks like this:

     

    _______________________________________________

    parameter_name: parameter_type = default value_

    _______________________________________________

     

    To call a function in code, you put the name, and then round brackets, and put your parameters inside of the brackets, separated by commas. It looks like this:

      ___ _______________________

    name({_par1}, {_par2}, ...) _

      ____ ______________________

     

    Parameters

    Parameters can be passed when calling a function. These parameters can be anything, as long as it follows the type specified in the function’s declaration.

     

    A function can access the value of a parameter in a local variable, with the parameter’s name as the label. This is what it looks like:

    ________________

    {_parametername}

    ________________

     

    Returning

    The return keyword can be used to return a value from a function, this can be thought of a conversation between the function and the code, with parameters and returns.

     

    Code calls function -> Passes in parameters -> Function does magic with parameters and whatnot -> Returns value -> Code does stuff with new value

     

    Note here that even when a return type is defined in the function, the function does not have to return something. It can choose to return nothing.

     

    Here is the syntax for returning:

    ______________ _+

    return %objects% _

    _______________ +

     

    Examples

    ______________________________________________________________________function hello(name: text) :: text:___________________________________

    ____return “Hello, %{_name}%!”________________________________________

    ______________________________________________________________________

    hello(“Goose”) # Returned value: “Hello, Goose!”______________________

    ______________________________________________________________________

    function set(name: text, value: object):______________________________

    ____set {vars::%{_name}%} to {_value}_________________________________

    ______________________________________________________________________

    set(“foo”, “bar”)_____________________________________________________

    {vars::foo} # Value: “bar”____________________________________________

     

    Conclusion

    Functions are a very nifty tool that can be used to make code cleaner and easier to manage! I hope this tutorial covered most of functions, and feel free to comment anything I missed.

    • Like 3
  6. On 9/10/2020 at 12:31 PM, Yodamaster said:

    you need skript addon json for it im pretty sure

     

    no you dont lol

    On 9/10/2020 at 11:47 AM, Soione said:

    Make me a /Discord script

    command discord:
    	trigger:
    		send formatted "&7Join our discord <url:https://discord.gg/(code)>&6&lby clicking here<r>&7!"

     

  7. 55 minutes ago, ShaneBee said:

    It has been suggested dozens of times to add Skript-mirror/reflect:

    https://forums.minehut.com/search/?q=skript-mirror&quick=1

    Long story short, it's a no.

    Short story now medium- skript-mirror/reflect provides users the ability to use Java imports, which is essentially custom plugins, and that provides a large security threat, so we won't be adding it (at least not for now)

     

    ...would be sick if Minehut or somebody forked skript-reflect to remove Java imports but keep everything else so we can use custom syntax

    • Like 1
  8. Introduction

    Variables are a form of data storage in Skript that allows you to store strings, integers, players, multiple players, etc. You will be learning how to use every type of variable in Skript, aswell as what each one is and does.

     

    What you’ll learn about

    • Variable commonplace

    • How to set variables

    • Single value variables (‘Normal’ variables)

    • List variables

    • Local variables

    • Metadata tags

     

    Variable commonplace

    There are 2 key components to any variable: index and value

     

    The index is like the name of your variable, if I had a variable named {epic}, the index would be ‘epic’.

    The value is what your variable stores, if I had a variable that held the string “minehut.com”, the value would be “minehut.com”.

     

    How to set variables

    You can set variables with the effect Change: Set/Add/Remove/Delete/Reset. The syntax for this effect looks like:

    (add|give) %objects% to %objects% _________

    increase %objects% by %objects%____________

    give %objects% %objects%___________________

    set %objects% to %objects%_________________

    remove (all|every) %objects% from %objects% 

    (remove|subtract) %objects% from %objects%_

    reduce %objects% by %objects% _____________

    (delete|clear) %objects%___________________

    reset %objects%____________________________

     

    So if I were to set a variable with this, it’d look like:

    set {woohoo} to “Join minehut.com for quality servers today!”

     

    Single value variables

    Because I’m lazy, I’ll be referring to single value variables as normal variables so it’s easier for me to type and explain.

     

    Normal variables can be thought of as envelopes, they can hold anything, but only 1 one of that something. Normal variables usually look like this: {index}, {my.awesome.variable}, etc. These variables can be set or retrieved anywhere within your script.

     

    set {my.variable} to “a”  # Success! {my.variable} is now set to “a”______________

    set {my.variable} to “a” and “b” # {my.variable} can only be set to one object, not more 

     

    38Wl2JHGEWN8U3Ypp-rGVvtJNsm2vO982xZEUsybNMdHq4nigwnZxbq0SbjiOIgfOKhHb9rbafX_dsH-_Qr5qLwe5AFQu6S0fbnTi1qL517Tc__Ta_JDWcFX4Z5Xl6lmnSFMUYtv

     

    List variables

    List variables are like cardboard boxes, they can hold multiple items, compared to normal variables, which can only hold one thing.

     

    In order for a list variable to hold multiple values, the index MUST end in ::*, and have nothing else after it (except for the closing })

     

    List variables look like this:

    {my::variable::*}

    {my.variable::*}

    {hello_there::*}

     

    set {my.variable::*} to “a” and “b”  # Success! {my.variable::*} is now set to “a” and “b”

    set {my::variable} to “a” and “b” # {my::variable} can only be set to one object, not more_

     

    Local variables

    Local variables are temporary variables. They can be either list variables or normal variables, but they will be deleted at the end of a trigger (the end of a command or event), and cannot be accessed by external triggers.

     

    You can initiate a local variable by slapping a _ right before the index.

    This will look like:

    {_variable}

    {_my.list::*}

    {_hey::*}

    {_}

     

    Metadata tags

    Metadata tags are [also temporary] variables, but they’re attached to an entity or block, and are flushed when the server restarts. Note that metadata tags can only hold one value.

     

    This is the syntax for metadata tags:

    metadata [(value|tag)[s]] %strings% of %metadataholders% 

    %metadataholders%'[s] metadata [(value|tag)[s]] %string%

     

    Note: %metadataholders% = entity or block

     

    Examples of metadata tags:

    set metadata tag “super cool” of player to true

    delete metadata tag “epic” of target block____.

     

    Conclusion

    There you go! Now you’re a pro on everything Skript variables. Hope this tutorial helped clear up some fog, and be sure to comment on this post if I missed everything. 🙂

    • Like 5
  9. 4 hours ago, CasualFry said:

    Just saw this because of chillins reply. Most of the time you get kicked anyways cuz either minehut or the gen server crashes in general cuz those servers run on literal 5 tps 

    pardon me if i've read this wrong but I don't think a gen server crashing would kick people from the network entirely?

  10.  

    M I N E H U T  C O M M U N I T Y  F A Q

    HOW TO CREATE KITS WITH ESSENTIALSX

    REQUIREMENTS: EssentialsX
    DIFFICULTY: Easy

    Introduction:

    With EssentialsX, you can create kits that provide supplies to a player. These can be used in mostly any type of server to make day-to-day life easier and more convenient.

    Managing kits:

    Creating kits:

    You can create kits with “/createkit <kit name> [cooldown in seconds: optional]”, note that you must be opped or have been given permission via a permission plugin to run this command. Kit name is the name of the kit you want to create, and cooldown is the cooldown between uses of a kit. Note that there must not already be a kit with the chosen name.

    Note that if you set the cooldown to -1, the kit will be one time use.

     

    For example, “/createkit hourly 3600” would create a kit named ‘hourly’, that I can only use once every day.

     

    Deleting kits:

    You can delete kits with “/delkit <kit name>”. This will delete the specified kit. You need to be opped or have permission to run this command.

    Viewing kits:

    You can view kits with “/showkit <kit name>”. This will bring up a menu showing you the contents of the kit specified.

    Using kits:

    Kits can be used with “/kit <kit name>”. Note that you will need a special permission to use kits.

    Configuration:

    Newbie Kits:

    The newbie kits option allows you to give new players a kit when they join for the first time. This can be used from giving new players starter tools, or a booklet containing the server rules.

    You can enable newbie kits by putting this in config.yml:

    newbies:
    	kit: tools

    This will give new players the kit tools when they join. Note that EssentialsSpawn is required for newbie kits to work.

    Kit Costs:

    The kit costs option allows you to charge a player in-game currency when they use a kit.

    In the Command costs section of config.yml, you can add this:

    kit-tools: 100

    This will make the kit tools charge the player $100 every time they run /kit tools.

      

    Permission nodes:

    essentials.createkit Allows you to use /createkit.

    essentials.delkit Allows you to use /delkit.

    essentials.showkit Allows you to use /showkit.

    essentials.kit Allows you to use /kit

    essentials.kit.others Allows you to use /kit on other people.

    essentials.kit.exemptdelay Allows you to use kits without having to wait for the cooldown to end

    essentials.kits.* Allows you to use all kits.

    essentials.kits.[kit name] Allows you to use a specific kit.

    Note that ‘essentials.kit’ is required in order to use ‘essentials.kits’.

     

    Examples:

    ‘/createkit hourly 3600’ - Creates a kit named ‘hourly’ with a cooldown of 1 hour.

    ‘/delkit daily’ - Deletes a kit named ‘daily’.

    ‘/showkit daily’ - Brings up a menu showing the contents of the kit named ‘daily’

    ‘/createkit starter’ - Creates a kit named ‘starter’.

     

    Require further assistance?:

    If you need more help on this topic, head over to this section of forums, or join our Discord!

    📎  https://youtu.be/HUxXi5iSi7g

    Compiled by the Minehut Support Team

    • Like 3
×
×
  • Create New...