Skip to content

Commit 82f6613

Browse files
authored
Add files via upload
1 parent ce2b4d1 commit 82f6613

File tree

7 files changed

+270
-0
lines changed

7 files changed

+270
-0
lines changed
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package me.mrlion.lionplugin;
2+
3+
import me.mrlion.lionplugin.commands.FlyCommand;
4+
import me.mrlion.lionplugin.commands.HealCommand;
5+
import me.mrlion.lionplugin.commands.MsgCommand;
6+
import me.mrlion.lionplugin.commands.ReloadCommand;
7+
import org.bukkit.plugin.java.JavaPlugin;
8+
9+
public class LionPlugin extends JavaPlugin {
10+
11+
@Override
12+
public void onEnable() {
13+
getCommand("fly").setExecutor(new FlyCommand(this));
14+
getCommand("heal").setExecutor(new HealCommand(this));
15+
getCommand("msg").setExecutor(new MsgCommand(this));
16+
getCommand("lreload").setExecutor(new ReloadCommand(this));
17+
getLogger().info("\uD83E\uDD81 LionPlugin has been enabled!");
18+
saveDefaultConfig();
19+
reloadConfig();
20+
}
21+
22+
@Override
23+
public void onDisable() {
24+
getLogger().info("🦁 LionPlugin has been disabled!");
25+
}
26+
}
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
package me.mrlion.lionplugin.commands;
2+
3+
import me.mrlion.lionplugin.LionPlugin;
4+
import org.bukkit.command.Command;
5+
import org.bukkit.command.CommandExecutor;
6+
import org.bukkit.command.CommandSender;
7+
import org.bukkit.entity.Player;
8+
9+
public class FlyCommand implements CommandExecutor {
10+
11+
private final LionPlugin plugin;
12+
13+
public FlyCommand(LionPlugin plugin) {
14+
this.plugin = plugin;
15+
}
16+
17+
@Override
18+
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
19+
if (!(sender instanceof Player)) {
20+
sender.sendMessage(plugin.getConfig().getString("fly.player-only"));
21+
return true;
22+
}
23+
24+
Player player = (Player) sender;
25+
if (!player.hasPermission("lionplugin.fly")) {
26+
sender.sendMessage(plugin.getConfig().getString("fly.no-permission-fly"));
27+
return true;
28+
}
29+
30+
if (player.getAllowFlight()) {
31+
player.setAllowFlight(false);
32+
plugin.getLogger().info(player.getName() + " has disabled flight mode.");
33+
} else {
34+
player.setAllowFlight(true);
35+
plugin.getLogger().info(player.getName() + " has enabled flight mode.");
36+
}
37+
38+
return true;
39+
}
40+
}
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
package me.mrlion.lionplugin.commands;
2+
3+
import me.mrlion.lionplugin.LionPlugin;
4+
import org.bukkit.Bukkit;
5+
import org.bukkit.ChatColor;
6+
import org.bukkit.command.Command;
7+
import org.bukkit.command.CommandExecutor;
8+
import org.bukkit.command.CommandSender;
9+
import org.bukkit.entity.Player;
10+
11+
public class HealCommand implements CommandExecutor {
12+
13+
private final LionPlugin plugin;
14+
15+
public HealCommand(LionPlugin plugin) {
16+
this.plugin = plugin;
17+
}
18+
19+
@Override
20+
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
21+
if (sender instanceof Player) {
22+
Player player = (Player) sender;
23+
24+
if (!player.hasPermission("lionplugin.heal")) {
25+
player.sendMessage(ChatColor.RED + plugin.getConfig().getString("heal.no-permission-message"));
26+
return true;
27+
}
28+
29+
if (args.length == 0) {
30+
player.setHealth(20);
31+
player.sendMessage(ChatColor.translateAlternateColorCodes('&', plugin.getConfig().getString("heal.self-heal-message")));
32+
plugin.getLogger().info(player.getName() + " has been healed.");
33+
return true;
34+
}
35+
36+
if (args[0].equalsIgnoreCase("all")) {
37+
for (Player onlinePlayer : Bukkit.getOnlinePlayers()) {
38+
onlinePlayer.setHealth(20);
39+
onlinePlayer.sendMessage(ChatColor.translateAlternateColorCodes('&', plugin.getConfig().getString("heal.other-heal-message").replace("{healer}", player.getName())));
40+
}
41+
plugin.getLogger().info("All players have been healed!");
42+
return true;
43+
}
44+
45+
Player target = Bukkit.getPlayer(args[0]);
46+
if (target == null) {
47+
player.sendMessage(ChatColor.RED + plugin.getConfig().getString("heal.player-not-found-message"));
48+
return true;
49+
}
50+
51+
target.setHealth(20);
52+
target.sendMessage(ChatColor.translateAlternateColorCodes('&', plugin.getConfig().getString("heal.other-heal-message").replace("{healer}", player.getName())));
53+
plugin.getLogger().info(target.getName() + " has been healed by " + player.getName());
54+
} else {
55+
// If command is executed from console
56+
if (args.length == 0 || !args[0].equalsIgnoreCase("all")) {
57+
sender.sendMessage(ChatColor.RED + plugin.getConfig().getString("heal.console-usage-message"));
58+
return true;
59+
}
60+
61+
if (args[0].equalsIgnoreCase("all")) {
62+
for (Player onlinePlayer : Bukkit.getOnlinePlayers()) {
63+
onlinePlayer.setHealth(20);
64+
onlinePlayer.sendMessage(ChatColor.translateAlternateColorCodes('&', plugin.getConfig().getString("heal.other-heal-message").replace("{healer}", "Console")));
65+
}
66+
plugin.getLogger().info("All players have been healed!");
67+
return true;
68+
}
69+
}
70+
71+
return true;
72+
}
73+
}
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
package me.mrlion.lionplugin.commands;
2+
3+
import me.mrlion.lionplugin.LionPlugin;
4+
import org.bukkit.Bukkit;
5+
import org.bukkit.command.Command;
6+
import org.bukkit.command.CommandExecutor;
7+
import org.bukkit.command.CommandSender;
8+
import org.bukkit.entity.Player;
9+
10+
public class MsgCommand implements CommandExecutor {
11+
12+
private final LionPlugin plugin;
13+
14+
public MsgCommand(LionPlugin plugin) {
15+
this.plugin = plugin;
16+
}
17+
18+
@Override
19+
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
20+
if (!(sender instanceof Player)) {
21+
sender.sendMessage("This command can only be used by players.");
22+
return true;
23+
}
24+
25+
Player player = (Player) sender;
26+
27+
// Check if the correct number of arguments is provided
28+
if (args.length < 2) {
29+
player.sendMessage("Usage: /msg <player> <message>");
30+
return true;
31+
}
32+
33+
// Get the recipient player
34+
Player recipient = Bukkit.getPlayer(args[0]);
35+
if (recipient == null) {
36+
player.sendMessage("Player not found!");
37+
return true;
38+
}
39+
40+
// Concatenate the message
41+
StringBuilder message = new StringBuilder();
42+
for (int i = 1; i < args.length; i++) {
43+
message.append(args[i]).append(" ");
44+
}
45+
46+
String outgoingMessage = plugin.getConfig().getString("msg.outgoing-message-format")
47+
.replace("{sender}", player.getName())
48+
.replace("{receiver}", recipient.getName())
49+
.replace("{message}", message.toString());
50+
player.sendMessage(outgoingMessage);
51+
52+
String incomingMessage = plugin.getConfig().getString("msg.incoming-message-format")
53+
.replace("{sender}", player.getName())
54+
.replace("{receiver}", recipient.getName())
55+
.replace("{message}", message.toString());
56+
recipient.sendMessage(incomingMessage);
57+
58+
return true;
59+
}
60+
}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package me.mrlion.lionplugin.commands;
2+
3+
import me.mrlion.lionplugin.LionPlugin;
4+
import org.bukkit.command.Command;
5+
import org.bukkit.command.CommandExecutor;
6+
import org.bukkit.command.CommandSender;
7+
8+
public class ReloadCommand implements CommandExecutor {
9+
10+
private final LionPlugin plugin;
11+
12+
public ReloadCommand(LionPlugin plugin) {
13+
this.plugin = plugin;
14+
}
15+
16+
@Override
17+
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
18+
if (!sender.hasPermission("lionplugin.reload")) {
19+
sender.sendMessage(plugin.getConfig().getString("reload.no-permission-reload"));
20+
return true;
21+
}
22+
23+
plugin.reloadConfig();
24+
sender.sendMessage(plugin.getConfig().getString("reload.config-reloaded"));
25+
plugin.getLogger().info("Config.yml was reloaded!");
26+
return true;
27+
}
28+
}

src/main/resources/config.yml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# LION PLUGIN
2+
# MADE BY MRLION
3+
4+
msg: #Placeholders {sender}, {receiver} and {message}
5+
outgoing-message-format: '&7[&b{sender} -> {receiver}&7] {message}'
6+
incoming-message-format: '&7[&b{sender} -> you&7] {message}'
7+
8+
fly:
9+
no-permission-fly: "&cYou don't have permission for this!"
10+
player-only: "&cOnly players can use this command!"
11+
12+
reload:
13+
no-permission-reload: "No perms to reload"
14+
config-reloaded: "Reloaded"
15+
16+
heal:
17+
self-heal-message: "&aYou have been healed!"
18+
other-heal-message: "&aYou have been healed by {healer}!"
19+
all-heal-message: "&aAll players have been healed!"
20+
player-not-found-message: "&cPlayer not found!"
21+
console-usage-message: "&cUsage: /heal <player/all>"

src/main/resources/plugin.yml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
name: LionPlugin
2+
author: Mrlion
3+
description: A utility plugin, made by Mrlion
4+
load: POSTWORLD
5+
version: "BUILD 168"
6+
main: me.mrlion.lionplugin.LionPlugin
7+
api-version: '1.20'
8+
resources:
9+
- config.yml
10+
commands:
11+
fly:
12+
description: Toggle flight mode
13+
usage: /fly
14+
heal:
15+
description: Heals you or everyone
16+
usage: /heal <player/all>
17+
msg:
18+
description: Message a specific player
19+
usage: /msg <player> <message>
20+
reload:
21+
description: Reloads config.yml
22+
usage: /lreload

0 commit comments

Comments
 (0)