Skip to content

Commit

Permalink
Special strings, first prod version
Browse files Browse the repository at this point in the history
  • Loading branch information
itsmaxymoo committed Apr 2, 2022
1 parent 8390b47 commit e9050fe
Show file tree
Hide file tree
Showing 8 changed files with 64 additions and 18 deletions.
28 changes: 16 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,14 +24,23 @@ aliases:
Of course, `_showtext` supports [standard Minecraft formatting codes](https://minecraft.fandom.com/wiki/Formatting_codes).

### Advanced Strings
### Strings

The `_showstring` command will display to the user a string defined in the plugin's `config.yml` under the `strings` section.
The config file can be reloaded at any time using the `aliasshowtext-reload` command (OP only or permission `aliasshowtext.reload`).
The config file can be reloaded at any time using the `aliasshowtext reload` command (OP only or permission `aliasshowtext.admin`).
A list of loaded strings can be displayed with the command `aliasshowtext list`.

### Arguments
#### Special Strings

Arguments are only supported by `_showstring` and use a `{{ argument number }}` format. For example:
There are some predefined strings that have special behaviors.

| String Name | Behavior |
|-------------|-------------------------------------------------|
| `_onjoin` | String to be displayed to any player that joins |

#### Arguments

Arguments are only supported by strings and use a `{{ argument number }}` format. For example:

```yaml
strings:
Expand All @@ -48,9 +57,9 @@ Some things to note:
* Arguments follow the format `{{ n }}` where `n` is the number argument you wish to use
* If you try to access an argument that does not exist, the `{{ n }}` tag will **not** be replaced

### Functions
#### Functions

Functions are only supported by `_showstring` and use a `{% func_name arg1, arg2, etc... %}` format. For example:
Functions are only supported by strings and use a `{% func_name arg1 arg2 etc... %}` format. For example:

```yaml
strings:
Expand All @@ -61,7 +70,7 @@ strings:
**Please remember,** arguments are processed before functions!
This allows you to pass argument values as function parameters.

#### Function List
##### Function List

| **Function** | **Arguments** | **Usage** |
|--------------|---------------|-------------------------------------------------------------------------------------------------------------|
Expand All @@ -70,8 +79,3 @@ This allows you to pass argument values as function parameters.
| `playerX` | | Returns the user's X position. Player only. |
| `playerY` | | Returns the user's Y position. Player only. |
| `playerZ` | | Returns the user's Z position. Player only. |

## To-Do

* verbosity based off of op/permission
* Support for special cases (ex: joining the server)
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

<groupId>com.itsmaxymoo</groupId>
<artifactId>AliasShowText</artifactId>
<version>0.2.4-SNAPSHOT</version>
<version>0.2.5-SNAPSHOT</version>
<packaging>jar</packaging>

<name>AliasShowText</name>
Expand Down
7 changes: 7 additions & 0 deletions src/main/java/com/itsmaxymoo/aliasshowtext/AliasShowText.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
package com.itsmaxymoo.aliasshowtext;

import com.itsmaxymoo.aliasshowtext.command.CommandAdmin;
import com.itsmaxymoo.aliasshowtext.command.CommandShowString;
import com.itsmaxymoo.aliasshowtext.command.CommandShowText;
import org.bukkit.plugin.java.JavaPlugin;

public final class AliasShowText extends JavaPlugin {
Expand All @@ -15,6 +18,10 @@ public void onEnable() {
getCommand("aliasshowtext").setExecutor(new CommandAdmin());
getCommand("_showtext").setExecutor(new CommandShowText());
getCommand("_showstring").setExecutor(new CommandShowString());

// Register listeners
getServer().getPluginManager()
.registerEvents(new com.itsmaxymoo.aliasshowtext.events.OnPlayerJoin(this), this);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.itsmaxymoo.aliasshowtext;
package com.itsmaxymoo.aliasshowtext.command;

import com.itsmaxymoo.aliasshowtext.ConfigManager;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package com.itsmaxymoo.aliasshowtext;
package com.itsmaxymoo.aliasshowtext.command;

import com.itsmaxymoo.aliasshowtext.ArgString;
import com.itsmaxymoo.aliasshowtext.ConfigManager;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.itsmaxymoo.aliasshowtext;
package com.itsmaxymoo.aliasshowtext.command;

import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
package com.itsmaxymoo.aliasshowtext.events;

import com.itsmaxymoo.aliasshowtext.ConfigManager;
import org.bukkit.Bukkit;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.plugin.java.JavaPlugin;

public class OnPlayerJoin implements Listener {
private final String MAGIC_STRING_NAME = "_onjoin";
private final JavaPlugin server;

public OnPlayerJoin(JavaPlugin server) {
this.server = server;
}

@EventHandler
public void onPlayerJoin(PlayerJoinEvent e) {
if (ConfigManager.getLoadedStringNames().contains(MAGIC_STRING_NAME)) {
Bukkit.getScheduler().runTaskLater(server, new Runnable() {
@Override
public void run() {
e.getPlayer().sendMessage(
ConfigManager.getArgString(MAGIC_STRING_NAME)
.getFormatted(e.getPlayer(), new String[]{MAGIC_STRING_NAME})
);
}
}, 2L);
}
}
}
4 changes: 2 additions & 2 deletions src/main/resources/plugin.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@ commands:
permission: aliasshowtext.admin
_showtext:
description: ""
usage: "Consult documentation"
usage: ""
_showstring:
description: ""
usage: "Consult documentation"
usage: ""

permissions:
aliasshowtext.admin:
Expand Down

0 comments on commit e9050fe

Please sign in to comment.