mirror of
https://github.com/RonanPlugins/BetterRTP.git
synced 2025-08-18 01:25:45 +00:00
RTPMenu auto refresh
This commit is contained in:
parent
a94b7d3ce8
commit
a1f480ca28
@ -100,7 +100,9 @@ public class AddonRTPMenu implements Addon, Listener {
|
||||
private void onTeleport(RTP_CommandEvent e) {
|
||||
if (e.getCmd() instanceof CmdTeleport && e.getSendi() instanceof Player) {
|
||||
e.setCancelled(true);
|
||||
RTPMenu_SelectWorld.createInv(this, (Player) e.getSendi());
|
||||
int refresh = Files.FILETYPE.CONFIG.getInt(AddonRTPMenu.name + ".AutoRefresh");
|
||||
Player player = (Player) e.getSendi();
|
||||
new RTPMenu_Refresh(this, player, refresh);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -0,0 +1,52 @@
|
||||
package me.SuperRonanCraft.BetterRTPAddons.addons.rtpmenu;
|
||||
|
||||
import me.SuperRonanCraft.BetterRTPAddons.Main;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.HandlerList;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.inventory.InventoryCloseEvent;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
import org.bukkit.scheduler.BukkitTask;
|
||||
|
||||
public class RTPMenu_Refresh implements Listener {
|
||||
|
||||
private final AddonRTPMenu addon;
|
||||
private final Player player;
|
||||
private final int time;
|
||||
private BukkitTask task;
|
||||
private boolean opening = true;
|
||||
|
||||
RTPMenu_Refresh(AddonRTPMenu addon, Player player, int time) {
|
||||
this.addon = addon;
|
||||
this.player = player;
|
||||
this.time = time;
|
||||
if (time > 0) {
|
||||
Bukkit.getPluginManager().registerEvents(this, Main.getInstance());
|
||||
start();
|
||||
} else {
|
||||
RTPMenu_SelectWorld.createInv(addon, player);
|
||||
}
|
||||
}
|
||||
|
||||
private void start() {
|
||||
opening = true;
|
||||
RTPMenu_SelectWorld.createInv(addon, player);
|
||||
opening = false;
|
||||
this.task = new BukkitRunnable() {
|
||||
@Override public void run() {
|
||||
start();
|
||||
}
|
||||
}.runTaskLater(Main.getInstance(), time);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
void close(InventoryCloseEvent e) {
|
||||
if (e.getPlayer() == player && !opening) {
|
||||
task.cancel();
|
||||
HandlerList.unregisterAll(this);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -39,9 +39,9 @@ MagicStick:
|
||||
Name: '&d&lMagic RTP Stick &8(Right-Click)'
|
||||
Material: 'Stick'
|
||||
Lore:
|
||||
- ''
|
||||
- '&7Right click this stick and unlock'
|
||||
- '&7a brand new adventure!'
|
||||
- ''
|
||||
- '&7Right click this stick and unlock'
|
||||
- '&7a brand new adventure!'
|
||||
Take: true
|
||||
|
||||
#Addon Commands
|
||||
@ -64,17 +64,22 @@ Parties:
|
||||
#Addon RTPMenu (Enable `/rtp` world select menu)
|
||||
RTPMenu:
|
||||
Enabled: false
|
||||
AutoRefresh: 0 #0 means menu will not refresh! (in ticks)
|
||||
Title: "Choose World"
|
||||
WorldList:
|
||||
- world:
|
||||
Name: '&7World'
|
||||
Item: 'map'
|
||||
Lore:
|
||||
- ''
|
||||
- '&8Click to rtp in world!'
|
||||
- world_nether:
|
||||
Name: '&cNether'
|
||||
Item: 'netherrack'
|
||||
Lore:
|
||||
- ''
|
||||
- '&8Click to rtp in world!'
|
||||
- world:
|
||||
Name: '&7World'
|
||||
Item: 'map'
|
||||
Lore:
|
||||
- ''
|
||||
- '&8Click to rtp in world!'
|
||||
- ''
|
||||
- '&7Cooldown&8: &d%betterrtp_cooldown%'
|
||||
- world_nether:
|
||||
Name: '&cNether'
|
||||
Item: 'netherrack'
|
||||
Lore:
|
||||
- ''
|
||||
- '&8Click to rtp in world!'
|
||||
- ''
|
||||
- '&7Cooldown&8: &d%betterrtp_cooldown%'
|
Loading…
x
Reference in New Issue
Block a user