magicstick event + flashback msg error and ignores portal rtp

This commit is contained in:
SuperRonanCraft
2020-11-20 00:15:37 -05:00
parent 462b2fa6be
commit 5ce3a43d87
14 changed files with 105 additions and 28 deletions

View File

@@ -1,5 +1,6 @@
package me.SuperRonanCraft.BetterRTPAddons.addons.flashback;
import me.SuperRonanCraft.BetterRTP.player.rtp.RTP_TYPE;
import me.SuperRonanCraft.BetterRTP.references.customEvents.RTP_TeleportPostEvent;
import me.SuperRonanCraft.BetterRTPAddons.Addon;
import me.SuperRonanCraft.BetterRTPAddons.util.Files;
@@ -32,7 +33,7 @@ public class AddonFlashback implements Addon, Listener {
@Override
public void load() {
Files.FILETYPE file = getFile(Files.FILETYPE.CONFIG);
this.time = file.getConfig().getLong(name + ".Time");
this.time = file.getConfig().getLong(name + ".Timer.Delay");
this.database.load(FlashbackDatabase.Columns.values());
warnings.clear();
@@ -67,6 +68,7 @@ public class AddonFlashback implements Addon, Listener {
@EventHandler
void onTeleport(RTP_TeleportPostEvent e) {
System.out.println("Player " + e.getPlayer().getName() + " was rtp'd!");
players.add(new FlashbackPlayer(this, e.getPlayer(), e.getOldLocation(), time));
if (e.getType() != RTP_TYPE.ADDON_PORTAL)
players.add(new FlashbackPlayer(this, e.getPlayer(), e.getOldLocation(), time));
}
}

View File

@@ -4,7 +4,7 @@ import me.SuperRonanCraft.BetterRTPAddons.AddonsMessages;
import org.bukkit.command.CommandSender;
public class FlashbackMessages implements AddonsMessages {
private static String preM = "Messages";
private static String preM = "Flashback.";
public void getWarning(CommandSender sendi) {
sms(sendi, getLang().getString(preM + "Warning"));

View File

@@ -21,7 +21,7 @@ public class FlashbackPlayer {
}
private Runnable getTimedFlash(Long seconds) {
if (plugin.database.setPlayer(p, oldLoc, System.currentTimeMillis() + (seconds * 1000)))
if (!plugin.database.setPlayer(p, oldLoc, System.currentTimeMillis() + (seconds * 1000)))
p.sendMessage("A Database error has occurred!");
return () -> {
plugin.msgs.getWarning(p);

View File

@@ -5,11 +5,13 @@ import me.SuperRonanCraft.BetterRTPAddons.Addon;
import me.SuperRonanCraft.BetterRTPAddons.Main;
import me.SuperRonanCraft.BetterRTPAddons.addons.magicStick.cmds.MagicStickCommand;
import me.SuperRonanCraft.BetterRTPAddons.util.Files;
import org.bukkit.inventory.ItemStack;
public class AddonMagicStick implements Addon {
public MagicStickMessages msgs = new MagicStickMessages();
MagicStickCommand cmd = new MagicStickCommand(this);
public MagicStickEvents events = new MagicStickEvents();
@Override
public boolean isEnabled() {
@@ -19,10 +21,11 @@ public class AddonMagicStick implements Addon {
@Override
public void load() {
BetterRTP.getInstance().getCmd().registerCommand(cmd, false);
events.load();
}
@Override
public void unload() {
events.unload();
}
}

View File

@@ -0,0 +1,59 @@
package me.SuperRonanCraft.BetterRTPAddons.addons.magicStick;
import me.SuperRonanCraft.BetterRTP.BetterRTP;
import me.SuperRonanCraft.BetterRTP.player.rtp.RTP_TYPE;
import me.SuperRonanCraft.BetterRTPAddons.Main;
import me.SuperRonanCraft.BetterRTPAddons.util.Files;
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.event.EventHandler;
import org.bukkit.event.HandlerList;
import org.bukkit.event.Listener;
import org.bukkit.event.block.Action;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import java.util.List;
import java.util.Objects;
import java.util.function.Consumer;
public class MagicStickEvents implements Listener {
public ItemStack item;
boolean take;
void load() {
Bukkit.getPluginManager().registerEvents(this, Main.getInstance());
Files.FILETYPE file = Main.getInstance().getFiles().getType(Files.FILETYPE.CONFIG);
String title = file.getString("MagicStick.Item.Name");
Material mat = Material.valueOf(file.getString("MagicStick.Item.Material").toUpperCase());
List<String> lore = file.getStringList("MagicStick.Item.Lore");
item = new ItemStack(mat);
ItemMeta meta = item.getItemMeta();
assert meta != null;
meta.setDisplayName(BetterRTP.getInstance().getText().color(title));
meta.setLore(lore);
lore.forEach((str) -> {lore.set(lore.indexOf(str), BetterRTP.getInstance().getText().color(str)); });
item.setItemMeta(meta);
this.take = file.getBoolean("MagicStick.Take");
}
void unload() {
HandlerList.unregisterAll(this);
}
@EventHandler
void use(PlayerInteractEvent e) {
if (e.getAction() == Action.RIGHT_CLICK_AIR || e.getAction() == Action.RIGHT_CLICK_BLOCK) {
ItemStack eItem = e.getItem();
if (eItem != null && eItem.getType() == item.getType()) {
if (Objects.equals(eItem.getItemMeta(), item.getItemMeta())) {
BetterRTP.getInstance().getCmd().tp(e.getPlayer(), e.getPlayer(), e.getPlayer().getWorld().getName(), null, RTP_TYPE.ADDON);
}
}
}
}
}

View File

@@ -4,11 +4,13 @@ import me.SuperRonanCraft.BetterRTPAddons.addons.magicStick.AddonMagicStick;
import me.SuperRonanCraft.BetterRTPAddons.addons.portals.AddonPortals;
import me.SuperRonanCraft.BetterRTPAddons.addons.portals.region.PortalsRegionInfo;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
public class MagicStickCommand_Give implements MagicStickCommands {
@Override
public void execute(CommandSender sendi, String label, String[] args, AddonMagicStick addon) {
sendi.sendMessage("magicstick give command!");
Player p = (Player) sendi;
p.getWorld().dropItem(p.getLocation(), addon.events.item.clone());
}
}

View File

@@ -56,7 +56,7 @@ public class PortalsEvents implements Listener {
&& ploc.getBlockY() >= Math.min(loc1.getBlockY(), loc2.getBlockY())) {
playerPortaling.put(e.getPlayer(), portal);
BetterRTP.getInstance().getCmd().tp(e.getPlayer(), e.getPlayer(),
e.getPlayer().getWorld().getName(), null, RTP_TYPE.ADDON, ignoreCooldown, ignoreDelay);
e.getPlayer().getWorld().getName(), null, RTP_TYPE.ADDON_PORTAL, ignoreCooldown, ignoreDelay);
return;
}
}