Only this pageAll pages
Powered by GitBook
1 of 29

Lorenzo0111's Plugins

Loading...

RocketJoin

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

RocketPlaceholders

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

MultiLang

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Home

Welcome on the Lorenzo0111's products official wiki.

Select a plugin on the sidebar to get started.

Starting

The plugin works without any dependency but its functionalities are limited. With its integrations, you can customize RocketJoin even more.

Supported Integrations

Bukkit / Spigot / Paper

Velocity / Bungeecord

The plugin automatically hooks into these plugins when found

PlaceholderAPI
SuperVanish
SayanVanish
PAPIProxyBridge
SayanVanish

Configure

The config is really easy to understand, here is a copy of the default one. For each message string such as the message one, you can use a list to let the plugin choose a random one each time. Here is an example:

message: 
  - "&a{player} &7joined!"
  - "&a{player} &7appeared!"

Default Config:

Conditions

The RocketJoin conditions system is similar to the RocketPlaceholders system, you can learn more about it by clicking here.

There are two types of conditions: PERMISSION and FIRST ( FirstJoin ).

Example of configuration:

conditions:
  example-vip:
    # type of the condition
    type: PERMISSION
    # Optional: Value
    value: "rocketjoin.vip"

    # Join and leave message
    join: "&e&l» &6&lVIP &7{player} joined!"
    leave: "&e&l» &6&lVIP &7{player} left!"
    # Sound options
    sound: true
    sound-type: "" # List: https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Sound.html
    # Fireworks options
    fireworks: false
    fireworks-amount: 3
    # Commands to execute on join. Placeholders: {player}
    commands: []

#    _____            _        _          _       _
#    |  __ \          | |      | |        | |     (_)
#    | |__) |___   ___| | _____| |_       | | ___  _ _ __
#    |  _  // _ \ / __| |/ / _ \ __|  _   | |/ _ \| | '_ \
#    | | \ \ (_) | (__|   <  __/ |_  | |__| | (_) | | | | |
#    |_|  \_\___/ \___|_|\_\___|\__|  \____/ \___/|_|_| |_|

# Do not change these values
config-version: @version@
already-asked: false

# WARNING: If this plugin is running on bungeecord or velocity please read https://wiki.lorenzo0111.me/rocketjoin/bungeecord

# Start of the configuration

prefix: "&8&l»"

# Enable Update Message on Join. Default: true
update-message: true

# Placeholders: {Player} (Name) and {DisplayPlayer} (Display Name)
# PlaceholderAPI Support! Download it from tinyurl.com/PlaceholderAPI

# Join message
# Note:
# otherServerMessage is only available in a proxy( Velocity or Bungeecord)
# Additional placeholders: {server}
join:
  enabled: true
  message: "&a{player} &7joined!"
  otherServerMessage: "&a{player} &7joined &a{server}!"
  enable-title: true
  # Send a title to the player when they join the server!
  title: "&a&lWelcome {player}!"
  subtitle: "&7Welcome in ServerName Server!"

leave:
  enabled: true
  message: "&c{player} &7left!"
  otherServerMessage: "&c{player} &7left &a{server}!"

# Only available in a proxy( Velocity or Bungeecord)
# Called on server switch
# Additional placeholders: {oldServer} {newServer}
serverSwitch:
  enabled: false
  messageFrom: "&a{player} &7switched to &a{newServer}"
  messageTo: "&a{player} &7came from &a{oldServer}"

# Commands that will be executed from console when an user joins the server
# If you want to disable this just set it to []
# See https://wiki.lorenzo0111.me/rocketjoin/execute-commands for more information
# commands: []
commands: []

# If you enable hide feature people with the permission of hide-permission won't have a join message
enable-hide: false
hide-permission: "rocketjoin.silent"

# ---> Custom Conditions <---

conditions:
  example-vip:
    # Read http://wiki.lorenzo0111.me/rocketjoin/conditions for more information
    type: PERMISSION
    value: "rocketjoin.vip"

    join: "&e&l» &6&lVIP &7{player} joined!"
    leave: "&e&l» &6&lVIP &7{player} left!"
    sound: true
    sound-type: "entity.experience_orb.pickup"
    fireworks: false
    fireworks-amount: 3
    commands: []

# Use \n for a new line
# Set to "disable" to disable this feature
# welcome: "disable"
welcome: "&8&l&m===============&e  Welcome &8&l&m===============\n
    &7Welcome {player} in Minecraft Server!\n
    Use /kit default to get your kit\n"

Permission

Just set the type to PERMISSION and a value.

Example:

conditions:
    permissionExample:
        type: PERMISSION
        value: "example.permission"

Permission Condition

This condition is easy to use.

Just set the type to PERMISSION and a value.

Example:

conditions:
    permissionExample:
        type: PERMISSION
        value: "example.permission"
        text: "Example condition text"

Group Condition

This condition requires vault and an permissions plugin like luckperms.

This condition is easy to use.

Just set the type to GROUP and a value.

Example:

conditions:
    permissionExample:
        type: GROUP
        value: "ExampleGroup"
        text: "Example condition text"

MySQL F.A.Q

What is the difference from MySQL and YML?

With MySQL you can sync placeholders across your servers.

What is a Main Server?

First Join

Set the type to FIRST and the condition will be triggered when a player joins for the first time.

Example:

Join Commands

All commands are executed from the console. You can use the {player} placeholder in the command.

You can disable commands just setting the commands item to [].

conditions:
    firstJoinExample:
        type: FIRST
The main server is the server that put his config's placeholders in the database. The other servers will get the placeholders from the database.

Only one server can be the main server.

Will the MySQL cause lag?

No

If I use MySQL are the config's placeholders read?

Yes, if the server is not a main server you'll have the database's placeholders and the config's placeholders.

How can i delete all my config's placeholders to use only database placeholders?

Just delete all placeholders

placeholders:
  # Nothing here ツ

Messages

Translate the plugin messages

Click to see the default values.

Configuration

Learn how to configure the plugin

Every title is a config option

prefix

It is the plugin prefix, all messages have it at their start.

Starting

MultiLang is the best free multilocalization plugin.

With this plugin you can add multilocalization strings with simple placeholders.

Why MultiLang

MultiLang is the best free multi localization plugin and I'll continue update it.

It is opensource and you can contribute by clicking .

I do my best to mantain the plugin for free.

Proxy

This page answers the most common questions about the proxy integration using Bungeecord or Velocity.

How can i use PlaceholderAPI from the proxy?

You can install to use PAPI placeholders from the proxy.

MySQL

How to synchronize placeholders across servers

1: Fill the connection informations form

Custom Conditions

With RocketPlaceholders you can create custom conditions to view the text.

You can view requirement types .

Creating a condition

Here is an example to learn how to create a custom condition.

Let's add a custom permission condition on this placeholder:

Add the conditions section, add the type (PERMISSION) and a value:

Installation
here
I've RocketJoin on spigot and proxy servers, it is double posting join messages, how can I fix?

It is very easy to fix. Just disable join and leave messages in the spigot part.

Fireworks and sounds doesn't work on the proxy

Unfortunately fireworks and sounds doesn't work on the proxy.

What is the proxy command?

You can use /rocketjoin or /rj for your spigot servers and /rjb for your bungeecord server and /rjv for your velocity server.

Any other question? Join in my discord server

PAPIProxyBridge

current

Current locale

current-other

Current locale of another player

not-found

When a player does not exist

lang-not-found

When a language does not exist

changed

When you change your language

gui.title

Gui title

gui.current

Current language item name

key

description

console

Sent when you try to execute a command that can be executed from players only

subcommands.not-found

When a subcommand does not exist

subcommands.edit

When you use an invalid /lang edit syntax

already

here

When you have already chosen a language as primary language

2: Choose a main server

Remember to chose a main server, all placeholders are copied from it.

See here.

3: (Re)Start the server

See the faq for more informations

MySQL F.A.Q
storage
  • MYSQL

  • FILE

If you don't have a MySQL server you can use file.

If you choose mysql you can synchronize the player language across servers.

mysql

MySQL database settings.

If you choose file you don't have to configure it

default

Default player language

default-base

Default language base64. See gui for more information.

languages

List of all languages that a player can select.

How does the autodetect work?

You have to put a the Locale code of that language. You can view a list here.

Example:

strings

All translated strings

Example of a translated string:

It is simple and easy to use.

Still confused?

Click on this message to join on my discord support server. I will help you to configure the plugin.

Gui
The priority is based on the order. Here is an example:

If a player has the rocketplaceholder.example and the rocketplaceholder.example2 permissions the text will be First condition because it is on the top.

You can view more informations in the single conditions pages.

  1:
    placeholder: "test"
    text: "This is an example"
    conditions:
      permissionExample:
        type: PERMISSION
        value: "rocketplaceholder.example"
        text: "Example condition"
here
mysql:
  # If this is not enabled will be used local placeholders
  enabled: false
  # The main server is the server from the placeholders are copied
  main: false
  # Database information
  ip: 0.0.0.0
  port: 3306
  username: "root"
  password: "" # Leave empty if none
  database: "rocketplaceholders"
languages:
  english: "en_us"
1:
  # This is the identifier, in this case the placeholder will be %multilang_example%
  identifier: "example"
  # Default string if language is not selected or is not translated.
  default: "Hello world"
  # List of locales
  locales:
    # If the player has italian as language he will see this text
    italiano: "Ciao mondo"
    conditions:
      1:
        type: PERMISSION
        value: "rocketplaceholder.example"      
        text: "First condition"
      2:
        type: PERMISSION
        value: "rocketplaceholder.example2"
        text: "Second condition"

Configure

Config:

Creating a custom placeholder

In order to create a custom placeholder, you need to create a new file in the placeholders with the following layout:

More informations:

Using a JavaScript expression for the placeholder text

The JavaScript feature can be used with RocketPlaceholders 1.9.1+

Translating

Learn how to translate entities, inventories and plugin messages

Translating entities, inventories and plugin messages is very easy!

You have to create your translation and use a special pattern.

Remember to install ProtocolLib or the translations won't work.

How does it work?

The plugin will handle all packets that the server sends to the client and it will translate them.

Using the pattern

Here is an example to make it easy.

If you want to translate a menu, maybe a you just have to set the menu title to <lang>yourIdentifier</lang>, remember to replace yourIdentifier with the identifier of your translation.

You can also use more than one translation, for example if you want to create a custom plugin message like you will have to set the plugin message to: <lang>gamemode</lang> {0} <lang>for</lang> {1}. This example has been made for essentials but you can adapt it for every plugin.

Not sure about something?

Click to join in our discord server, I'll help you!

JavaScript Condition

With this condition you can create a lot of custom conditions.

You have two variables: Player (Rapresents the ) and Server (Rapresent the ).

Now you can create a expression that needs to return a (true or false). Just set the type to and the value to the expression.

Here is an example:

Gui

How to use the gui.yml file

In the gui.yml file you can add a base64 for every language that will appear in the gui.

First of all, what is a base64?

In small words a base64 is a string containing the texture of an head.

#
#
#    _____  _                _           _     _
#    |  __ \| |              | |         | |   | |
#    | |__) | | __ _  ___ ___| |__   ___ | | __| | ___ _ __ ___
#    |  ___/| |/ _` |/ __/ _ \ '_ \ / _ \| |/ _` |/ _ \ '__/ __|
#    | |    | | (_| | (_|  __/ | | | (_) | | (_| |  __/ |  \__ \
#    |_|    |_|\__,_|\___\___|_| |_|\___/|_|\__,_|\___|_|  |___/
#
#
# This config has been generated with RocketPlaceholders v@version@
# RocketPlaceholders Wiki: https://docs.rocketplugins.space/rocketplaceholders

# RocketPlaceholders prefix
prefix: "&9RocketPlaceholders &8»&r"
no_permission: "&cYou do not have permission to use this command!"
debug: false

#Enable Update Message on Join. Default: true
update-message: true

mysql:
  # If this is not enabled will be used local placeholders
  enabled: false
  # The main server is the server from the placeholders are copied
  main: false
  # Database information
  ip: 0.0.0.0
  port: 3306
  username: ""
  password: ""
  database: ""

# All placeholders have been moved in the placeholders folder.
DeluxeMenu
this
here

Starting

How to install:

placeholders:
    test: #DO NOT USE THE 0 NUMBER
    placeholder: "test" #ex "test" = %rp_test%
    text: "'Hello World' === 'Hello World' ? 'YES' : 'NO'" # This will return YES
    parsejs: true
Custom Permissions
conditions:
    moneyExample:
        type: JAVASCRIPT
        value: "Player.hasPermission('example.permission');"
        text: "Example condition text"
Player
Server
javascript
boolean
JAVASCRIPT
placeholders:
  test:
    placeholder: "test" # The placeholder will be %rp_test% ( PlaceholderAPI ) or {rp_test} ( MVdWPlaceholderAPI )
    text: "This is an example"
    conditions:
      permissionExample:
        type: PERMISSION # LIST: https://to.lorenzo0111.me/conditions
        value: "rocketplaceholder.example"
        text: "Example text with a permission condition"
      itemExample:
        type: ITEM
        material: STONE
        name: "&cExample"
        text: "Example text with a item condition"
How can I create a base64?

With this simple tool you can generate a base64 from the head of a skin.

You have to pick the Texture Signature value.

Here you are an easy gif that explain it.

You can also use an existing head from Minecraft-Heads, you have to pick the value value.

How can I add a base64 to a new language?

Just add it to the gui.yml

Make sure that you have already created the language in the languages section.

API

How to use our API

Add the plugin as a dependency:

repositories {
    maven {
        url = uri('https://repo.codemc.org/repository/maven-public/')
    }
}

dependencies {
    compileOnly 'me.Lorenzo0111:RocketPlaceholders:VERSION'
}
<repositories>
    <repository>
        <id>codemc-repo</id>
        <url>https://repo.codemc.org/repository/maven-public/</url>
    </repository>
</repositories>

<dependencies>
    <dependency>
        <groupId>me.Lorenzo0111</groupId>
        <artifactId>RocketPlaceholders</artifactId>
        <version>VERSION</version>
        <scope>provided</scope>
    </dependency>
</dependencies>

Download this and add it as dependency.

Replace version with .

Get the API

How to add a placeholders

Without permissions nodes

With permissions nodes

How to get all placeholders

Internal placeholders

External placeholders

Placeholders added via API won't synchronized with MySQL

Cookbook

Click to view our cookbook.

.

Custom Permissions

This section has been deprecated. Please see custom conditions.

Creating a MultiPermission Placeholder

With RocketPlaceholders you can create a custom placeholder based on permissions.

All players with the example.example permission can view the Example text, other people can view the This is an example text

You can create unillimted permissions with this system.

The priority is based on the order, example:

If a player has the example.example and the example.2 permissions the text will be Example because it is on the top.

Creating a Public Placeholder

Public Placeholders can be viewed by everyone with the same text.

You can create it just removing the permissions section:

Viewed text: This is an example

Money Condition

This condition requires vault and an economy plugin like essentialsx.

If you want to create a money condition you have to create a condition with the MONEY type.

After that you have to insert a value.

Do not use number starting with -

Example:

RealTime

Learn how to configure the realtime function of the plugin

Choosing an api

You have to choose beetween two apis: google or bing. I personally suggest using bing because google may not work.

If you know another good api, feel free to suggest it .

base:
  # Existing bases..
  "your-awesome-lang": "your awesome base64"
  0:
    placeholder: "example"
    text: "This is an example"
    permissions:
      1:
        permission: "example.example"
        text: "Example"
conditions:
    moneyExample:
        type: MONEY
        value: 10
        text: "Example condition text"
 0:
    placeholder: "example"
    text: "This is an example"
    permissions:
      1:
        permission: "example.example"
        text: "Example"      
      2:
        permission: "example.2"
        text: "Example 2"
  0:
    placeholder: "example"
    text: "This is an example"
Creating an API-Key

You only need it if you are using bing.

You can create subscribe for a free api key at this url. Then you'll have to retrieve the key at this url.

You can follow this simple gif to learn how to retrieve it:

Should I use cache?

Of course, it will reduce lot of delay.

My database size is too big. What should I do?

Just run /multilangadmin clearCache to clear the cache.

Will it cause lag?

No, all tasks are executed async. But it may add a bit of delay before your message is sent(if you use the cache, it will happen only the first time you send that text)

What will happen when I reach my quota limit?

The RealTime translation will be automatically disabled. If you found an api without this limit please suggest it here.

Still need help? Join our discord server.

here
here
You can see javadocs here

Item Condition

With this condition you can check if the player has an item in his inventory.

Set the type to ITEM.

Now you have some options to set.

Material

Material of the item. You can view a list here.

[Optional] Name

Name of the item.

[Optional] Lore

Lore of the item as string list. Example:

[Optional] Colors

If set to true color codes like &a are translated and they are coloured.

Default: false

Here is a full example:

RocketPlaceholdersAPI api = Bukkit.getServicesManager().load(RocketPlaceholdersAPI.class);
if (api != null) {
    this.getLogger().info("RocketPlaceholders hooked!");
} else {
    this.getLogger().severe("Unable to find RocketPlaceholdersAPI, disabling..");
    this.getServer().getPluginManager().disablePlugin(this);
}
this.getAPI().addPlaceholder(new PlaceholderBuilder("identifier", "text"));
this.api.addPlaceholder(new PlaceholderBuilder(new PlaceholderBuilder("identifier", "text").createPermissionNode("permission.example", "secret text"));
this.getAPI().getInternalPlaceholders().getStorageManager().getInternalPlaceholders();
this.getAPI().getInternalPlaceholders().getStorageManager().getExternalPlaceholders().getHashMap();
lore:
    - "First line"
    - "Second line"
conditions:
    itemExample:
        type: ITEM
        material: STONE
        name: "&cExample"
        lore:
            - "&aExample line"
        colors: true
        text: "Example condition text"
relase