Merge branch 'development'
This commit is contained in:
commit
12d2f59610
2
pom.xml
2
pom.xml
|
@ -2,7 +2,7 @@
|
|||
<groupId>com.songoda</groupId>
|
||||
<artifactId>UltimateRepairing</artifactId>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<version>1.4.3b</version>
|
||||
<version>1.4.4</version>
|
||||
<build>
|
||||
<defaultGoal>clean install</defaultGoal>
|
||||
<finalName>UltimateRepairing-${project.version}</finalName>
|
||||
|
|
|
@ -83,7 +83,7 @@ public class UltimateRepairing extends SongodaPlugin {
|
|||
pluginManager.registerEvents(new PlayerListeners(this), this);
|
||||
pluginManager.registerEvents(new BlockListeners(this), this);
|
||||
pluginManager.registerEvents(new InteractListeners(this, guiManager), this);
|
||||
pluginManager.registerEvents(new InventoryListeners(this), this);
|
||||
pluginManager.registerEvents(new InventoryListeners(), this);
|
||||
|
||||
Bukkit.getScheduler().runTaskTimerAsynchronously(this, this::saveToFile, 6000, 6000);
|
||||
}
|
||||
|
|
|
@ -3,12 +3,12 @@ package com.songoda.ultimaterepairing.anvil;
|
|||
import com.songoda.core.hooks.HologramManager;
|
||||
import com.songoda.ultimaterepairing.UltimateRepairing;
|
||||
import com.songoda.ultimaterepairing.settings.Settings;
|
||||
import java.util.ArrayList;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.World;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Objects;
|
||||
import org.bukkit.Bukkit;
|
||||
|
||||
public class UAnvil {
|
||||
|
||||
|
@ -45,7 +45,7 @@ public class UAnvil {
|
|||
|
||||
Location location = getLocation().add(0, .1, 0);
|
||||
|
||||
Bukkit.getScheduler().runTaskLater(UltimateRepairing.getInstance(), ()->{
|
||||
Bukkit.getScheduler().runTaskLater(UltimateRepairing.getInstance(), () -> {
|
||||
if (!hologram) {
|
||||
HologramManager.removeHologram(location);
|
||||
} else {
|
||||
|
@ -117,7 +117,8 @@ public class UAnvil {
|
|||
UAnvil other = (UAnvil) obj;
|
||||
return Objects.equals(location, other.location);
|
||||
}
|
||||
public boolean shouldSave(){
|
||||
|
||||
public boolean shouldSave() {
|
||||
return hologram || particles || infinity || permPlaced;
|
||||
}
|
||||
|
||||
|
|
|
@ -2,9 +2,10 @@ package com.songoda.ultimaterepairing.commands;
|
|||
|
||||
import com.songoda.core.commands.AbstractCommand;
|
||||
import com.songoda.ultimaterepairing.UltimateRepairing;
|
||||
import java.util.List;
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class CommandReload extends AbstractCommand {
|
||||
|
||||
public CommandReload() {
|
||||
|
|
|
@ -4,13 +4,14 @@ import com.songoda.core.commands.AbstractCommand;
|
|||
import com.songoda.core.configuration.editor.PluginConfigGui;
|
||||
import com.songoda.core.gui.GuiManager;
|
||||
import com.songoda.ultimaterepairing.UltimateRepairing;
|
||||
import java.util.List;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class CommandSettings extends AbstractCommand {
|
||||
|
||||
GuiManager guiManager;
|
||||
private GuiManager guiManager;
|
||||
|
||||
public CommandSettings(GuiManager guiManager) {
|
||||
super(true, "settings");
|
||||
|
|
|
@ -2,10 +2,11 @@ package com.songoda.ultimaterepairing.commands;
|
|||
|
||||
import com.songoda.core.commands.AbstractCommand;
|
||||
import com.songoda.ultimaterepairing.UltimateRepairing;
|
||||
import java.util.List;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class CommandURAnvil extends AbstractCommand {
|
||||
|
||||
public CommandURAnvil() {
|
||||
|
|
|
@ -10,7 +10,7 @@ import org.bukkit.inventory.ItemStack;
|
|||
|
||||
public class AnvilSettingsGui extends Gui {
|
||||
|
||||
final UAnvil anvil;
|
||||
private final UAnvil anvil;
|
||||
|
||||
public AnvilSettingsGui(UAnvil anvil, Gui gui) {
|
||||
super(gui);
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
package com.songoda.ultimaterepairing.gui;
|
||||
|
||||
import com.songoda.core.compatibility.CompatibleMaterial;
|
||||
import com.songoda.core.gui.Gui;
|
||||
import com.songoda.core.gui.GuiUtils;
|
||||
import com.songoda.core.utils.ItemUtils;
|
||||
|
@ -17,10 +16,10 @@ import java.util.Arrays;
|
|||
|
||||
public class RepairGui extends Gui {
|
||||
|
||||
final Location anvil;
|
||||
final Player player;
|
||||
final UltimateRepairing plugin = UltimateRepairing.getInstance();
|
||||
final ItemStack item;
|
||||
private final Location anvil;
|
||||
private final Player player;
|
||||
private final UltimateRepairing plugin = UltimateRepairing.getInstance();
|
||||
private final ItemStack item;
|
||||
|
||||
public static void newGui(Player player, Location anvil) {
|
||||
RepairType type = RepairType.EXPERIENCE;
|
||||
|
@ -78,18 +77,18 @@ public class RepairGui extends Gui {
|
|||
|
||||
final String itemName = TextUtils.formatText(ItemUtils.getItemName(item).replace("_", " "), true);
|
||||
if (type == RepairType.ECONOMY) {
|
||||
item = GuiUtils.createButtonItem(CompatibleMaterial.getMaterial(item),
|
||||
item = GuiUtils.createButtonItem(item,
|
||||
plugin.getLocale().getMessage("interface.repair.item")
|
||||
.processPlaceholder("ITEM", itemName).getMessage(),
|
||||
plugin.getLocale().getMessage("interface.repair.ecolore").getMessage());
|
||||
} else if (type == RepairType.ITEM) {
|
||||
item = GuiUtils.createButtonItem(CompatibleMaterial.getMaterial(item),
|
||||
item = GuiUtils.createButtonItem(item,
|
||||
plugin.getLocale().getMessage("interface.repair.item")
|
||||
.processPlaceholder("ITEM", itemName).getMessage(),
|
||||
plugin.getLocale().getMessage("interface.repair.itemlore")
|
||||
.processPlaceholder("item", itemName).getMessage());
|
||||
} else if (type == RepairType.EXPERIENCE) {
|
||||
item = GuiUtils.createButtonItem(CompatibleMaterial.getMaterial(item),
|
||||
item = GuiUtils.createButtonItem(item,
|
||||
plugin.getLocale().getMessage("interface.repair.item")
|
||||
.processPlaceholder("ITEM", itemName).getMessage(),
|
||||
plugin.getLocale().getMessage("interface.repair.xplore").getMessage());
|
||||
|
|
|
@ -3,33 +3,29 @@ package com.songoda.ultimaterepairing.gui;
|
|||
import com.songoda.core.compatibility.CompatibleMaterial;
|
||||
import com.songoda.core.gui.Gui;
|
||||
import com.songoda.core.gui.GuiUtils;
|
||||
import com.songoda.core.utils.ItemUtils;
|
||||
import com.songoda.core.utils.TextUtils;
|
||||
import com.songoda.ultimaterepairing.UltimateRepairing;
|
||||
import com.songoda.ultimaterepairing.anvil.PlayerAnvilData;
|
||||
import com.songoda.ultimaterepairing.repair.RepairType;
|
||||
import com.songoda.ultimaterepairing.settings.Settings;
|
||||
import com.songoda.ultimaterepairing.utils.Methods;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
public class StartConfirmGui extends Gui {
|
||||
|
||||
final Location anvil;
|
||||
final Player player;
|
||||
final UltimateRepairing instance = UltimateRepairing.getInstance();
|
||||
final ItemStack item;
|
||||
final RepairType type;
|
||||
private final Player player;
|
||||
private final UltimateRepairing instance = UltimateRepairing.getInstance();
|
||||
private final ItemStack item;
|
||||
private final RepairType type;
|
||||
boolean isYes = false;
|
||||
|
||||
public StartConfirmGui(Location anvil, RepairType type, Player player, ItemStack item) {
|
||||
this(anvil, type, player, item, null);
|
||||
public StartConfirmGui(RepairType type, Player player, ItemStack item) {
|
||||
this(type, player, item, null);
|
||||
}
|
||||
|
||||
public StartConfirmGui(Location anvil, RepairType type, Player player, ItemStack item, Gui gui) {
|
||||
public StartConfirmGui(RepairType type, Player player, ItemStack item, Gui gui) {
|
||||
super(gui);
|
||||
this.anvil = anvil;
|
||||
this.player = player;
|
||||
this.item = item;
|
||||
this.type = type;
|
||||
|
@ -47,7 +43,7 @@ public class StartConfirmGui extends Gui {
|
|||
} else if (type == RepairType.ECONOMY) {
|
||||
cost = "$" + playerData.getPrice();
|
||||
} else if (type == RepairType.ITEM) {
|
||||
cost = playerData.getPrice() + " " + Methods.formatText(Methods.getType(item).name(), true);
|
||||
cost = playerData.getPrice() + " " + TextUtils.formatText(Methods.getType(item).name(), true);
|
||||
}
|
||||
|
||||
setTitle(instance.getLocale().getMessage("interface.yesno.title")
|
||||
|
@ -82,13 +78,15 @@ public class StartConfirmGui extends Gui {
|
|||
instance.getRepairHandler().finish(false, player);
|
||||
});
|
||||
|
||||
if(Settings.RAINBOW.getBoolean()) {
|
||||
for(int cell = 0; cell < rows * 9; ++cell) {
|
||||
if(getItem(cell) == null) {
|
||||
if (Settings.RAINBOW.getBoolean()) {
|
||||
for (int cell = 0; cell < rows * 9; ++cell) {
|
||||
if (getItem(cell) == null) {
|
||||
setItem(cell, GuiUtils.getBorderItem(Methods.getRainbowGlass()));
|
||||
}
|
||||
}
|
||||
}
|
||||
setOnClose((event) -> {if(!isYes) instance.getRepairHandler().finish(false, player);});
|
||||
setOnClose((event) -> {
|
||||
if (!isYes) instance.getRepairHandler().finish(false, player);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,7 +2,6 @@ package com.songoda.ultimaterepairing.handlers;
|
|||
|
||||
import com.songoda.core.compatibility.CompatibleMaterial;
|
||||
import com.songoda.core.compatibility.CompatibleSound;
|
||||
import com.songoda.core.compatibility.ServerVersion;
|
||||
import com.songoda.core.gui.GuiManager;
|
||||
import com.songoda.core.hooks.EconomyManager;
|
||||
import com.songoda.core.utils.PlayerUtils;
|
||||
|
@ -12,10 +11,13 @@ import com.songoda.ultimaterepairing.gui.RepairGui;
|
|||
import com.songoda.ultimaterepairing.gui.StartConfirmGui;
|
||||
import com.songoda.ultimaterepairing.repair.RepairType;
|
||||
import com.songoda.ultimaterepairing.utils.Methods;
|
||||
import org.bukkit.*;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Effect;
|
||||
import org.bukkit.GameMode;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.Item;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.EntityEquipment;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.metadata.FixedMetadataValue;
|
||||
import org.bukkit.util.Vector;
|
||||
|
@ -107,7 +109,7 @@ public class RepairHandler {
|
|||
playerData.setType(type);
|
||||
playerData.setPrice(price);
|
||||
|
||||
guiManager.showGUI(p, new StartConfirmGui(playerData.getLocation(), type, p, item));
|
||||
guiManager.showGUI(p, new StartConfirmGui(type, p, item));
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -15,10 +15,10 @@ import org.bukkit.event.block.BlockPlaceEvent;
|
|||
*/
|
||||
public class BlockListeners implements Listener {
|
||||
|
||||
private final UltimateRepairing instance;
|
||||
private final UltimateRepairing plugin;
|
||||
|
||||
public BlockListeners(UltimateRepairing instance) {
|
||||
this.instance = instance;
|
||||
public BlockListeners(UltimateRepairing plugin) {
|
||||
this.plugin = plugin;
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
|
||||
|
@ -28,7 +28,7 @@ public class BlockListeners implements Listener {
|
|||
return;
|
||||
}
|
||||
|
||||
UAnvil anvil = instance.getAnvilManager().getAnvil(event.getBlock());
|
||||
UAnvil anvil = plugin.getAnvilManager().getAnvil(event.getBlock());
|
||||
anvil.setParticles(Settings.SHOW_PARTICLES_BY_DEFAULT.getBoolean());
|
||||
anvil.setHologram(Settings.SHOW_HOLOGRAMS_BY_DEFAULT.getBoolean());
|
||||
anvil.setPermPlaced(true);
|
||||
|
@ -38,12 +38,12 @@ public class BlockListeners implements Listener {
|
|||
public void onBlockBreak(BlockBreakEvent event) {
|
||||
String loc = Methods.serializeLocation(event.getBlock());
|
||||
|
||||
if (!event.getBlock().getType().name().contains("ANVIL") && !instance.getConfig().contains("data.anvil." + loc)) {
|
||||
if (!event.getBlock().getType().name().contains("ANVIL") && !plugin.getConfig().contains("data.anvil." + loc)) {
|
||||
return;
|
||||
}
|
||||
|
||||
UAnvil anvil = instance.getAnvilManager().getAnvil(event.getBlock());
|
||||
UAnvil anvil = plugin.getAnvilManager().getAnvil(event.getBlock());
|
||||
anvil.setHologram(false);
|
||||
instance.getAnvilManager().removeAnvil(event.getBlock().getLocation());
|
||||
plugin.getAnvilManager().removeAnvil(event.getBlock().getLocation());
|
||||
}
|
||||
}
|
|
@ -21,11 +21,11 @@ import org.bukkit.event.player.PlayerInteractEvent;
|
|||
|
||||
public class InteractListeners implements Listener {
|
||||
|
||||
private final UltimateRepairing instance;
|
||||
private final UltimateRepairing plugin;
|
||||
private final GuiManager guiManager;
|
||||
|
||||
public InteractListeners(UltimateRepairing instance, GuiManager guiManager) {
|
||||
this.instance = instance;
|
||||
public InteractListeners(UltimateRepairing plugin, GuiManager guiManager) {
|
||||
this.plugin = plugin;
|
||||
this.guiManager = guiManager;
|
||||
}
|
||||
|
||||
|
@ -41,14 +41,10 @@ public class InteractListeners implements Listener {
|
|||
if (!event.getClickedBlock().getType().name().contains("ANVIL") // don't pay attention if it's not an anvil
|
||||
// also don't handle if we don't have perms to use this repair anvil
|
||||
|| (Settings.PERMISSION_ANVIL_PLACE.getBoolean()
|
||||
&& !(anvil1 = instance.getAnvilManager().getAnvil(event.getClickedBlock())).isPermPlaced())) {
|
||||
&& !(anvil1 = plugin.getAnvilManager().getAnvil(event.getClickedBlock())).isPermPlaced())) {
|
||||
return;
|
||||
}
|
||||
anvil1 = anvil1 != null ? anvil1 : instance.getAnvilManager().getAnvil(event.getClickedBlock());
|
||||
// if (anvil1.isInfinity()) {
|
||||
// event.getClickedBlock().setType(Material.AIR);
|
||||
// event.getClickedBlock().setType(Material.ANVIL); //ToDO: This may not work.
|
||||
// }
|
||||
anvil1 = anvil1 != null ? anvil1 : plugin.getAnvilManager().getAnvil(event.getClickedBlock());
|
||||
// check if we should process this as a right click
|
||||
boolean rightClick = (event.getAction() == Action.RIGHT_CLICK_BLOCK) ^ (Settings.SWAP_LEFT_RIGHT.getBoolean());
|
||||
// admin interface?
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
package com.songoda.ultimaterepairing.listeners;
|
||||
|
||||
import com.songoda.ultimaterepairing.UltimateRepairing;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.inventory.InventoryPickupItemEvent;
|
||||
|
@ -10,12 +9,6 @@ import org.bukkit.event.inventory.InventoryPickupItemEvent;
|
|||
*/
|
||||
public class InventoryListeners implements Listener {
|
||||
|
||||
private final UltimateRepairing instance;
|
||||
|
||||
public InventoryListeners(UltimateRepairing instance) {
|
||||
this.instance = instance;
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onPickup(InventoryPickupItemEvent event) {
|
||||
if (event.getItem().hasMetadata("UltimateRepairing"))
|
||||
|
|
|
@ -8,21 +8,20 @@ import org.bukkit.event.player.PlayerQuitEvent;
|
|||
|
||||
public class PlayerListeners implements Listener {
|
||||
|
||||
private final UltimateRepairing plugin;
|
||||
|
||||
private final UltimateRepairing instance;
|
||||
|
||||
public PlayerListeners(UltimateRepairing instance) {
|
||||
this.instance = instance;
|
||||
public PlayerListeners(UltimateRepairing plugin) {
|
||||
this.plugin = plugin;
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onLeave(PlayerQuitEvent event) {
|
||||
|
||||
if (!instance.getRepairHandler().hasInstance(event.getPlayer())
|
||||
|| !instance.getRepairHandler().getDataFor(event.getPlayer()).getInRepair())
|
||||
if (!plugin.getRepairHandler().hasInstance(event.getPlayer())
|
||||
|| !plugin.getRepairHandler().getDataFor(event.getPlayer()).getInRepair())
|
||||
return;
|
||||
|
||||
PlayerAnvilData playerData = instance.getRepairHandler().getDataFor(event.getPlayer());
|
||||
instance.getRepairHandler().removeItem(playerData, event.getPlayer());
|
||||
PlayerAnvilData playerData = plugin.getRepairHandler().getDataFor(event.getPlayer());
|
||||
plugin.getRepairHandler().removeItem(playerData, event.getPlayer());
|
||||
}
|
||||
}
|
|
@ -6,6 +6,7 @@ import com.songoda.core.configuration.ConfigSetting;
|
|||
import com.songoda.core.hooks.EconomyManager;
|
||||
import com.songoda.core.hooks.HologramManager;
|
||||
import com.songoda.ultimaterepairing.UltimateRepairing;
|
||||
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
public class Settings {
|
||||
|
@ -26,12 +27,12 @@ public class Settings {
|
|||
public static final ConfigSetting MULTIPLY_COST_FOR_ENCHANTED = new ConfigSetting(config, "Main.Cost Multiplier For Enchanted Items", 2,
|
||||
"Should enchanted items have their repair costs multiplied?");
|
||||
|
||||
public static final ConfigSetting ECONOMY = new ConfigSetting(config, "Main.Economy",
|
||||
public static final ConfigSetting ECONOMY = new ConfigSetting(config, "Main.Economy",
|
||||
EconomyManager.getEconomy() == null ? "Vault" : EconomyManager.getEconomy().getName(),
|
||||
"Which economy plugin should be used?",
|
||||
"You can choose from \"" + EconomyManager.getManager().getRegisteredPlugins().stream().collect(Collectors.joining("\", \"")) + "\".");
|
||||
|
||||
public static final ConfigSetting HOLOGRAM = new ConfigSetting(config, "Main.Hologram",
|
||||
public static final ConfigSetting HOLOGRAM = new ConfigSetting(config, "Main.Hologram",
|
||||
HologramManager.getHolograms() == null ? "HolographicDisplays" : HologramManager.getHolograms().getName(),
|
||||
"Which hologram plugin should be used?",
|
||||
"You can choose from \"" + HologramManager.getManager().getRegisteredPlugins().stream().collect(Collectors.joining(", ")) + "\".");
|
||||
|
@ -69,10 +70,10 @@ public class Settings {
|
|||
public static final ConfigSetting LANGUGE_MODE = new ConfigSetting(config, "System.Language Mode", "en_US",
|
||||
"The enabled language file.",
|
||||
"More language files (if available) can be found in the plugins data folder.");
|
||||
|
||||
|
||||
public static final ConfigSetting SHOW_PARTICLES_BY_DEFAULT = new ConfigSetting(config, "Main.Show Particles By Default", true,
|
||||
"Should particles be enabled when an anvil is placed down?");
|
||||
|
||||
|
||||
public static final ConfigSetting SHOW_HOLOGRAMS_BY_DEFAULT = new ConfigSetting(config, "Main.Show Holograms By Default", true,
|
||||
"Should holograms be enabled when an anvil is placed down?");
|
||||
|
||||
|
|
|
@ -4,7 +4,11 @@ import com.songoda.core.compatibility.CompatibleMaterial;
|
|||
import com.songoda.ultimaterepairing.UltimateRepairing;
|
||||
import com.songoda.ultimaterepairing.repair.RepairType;
|
||||
import com.songoda.ultimaterepairing.settings.Settings;
|
||||
import org.bukkit.*;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.inventory.Inventory;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
@ -12,7 +16,11 @@ import org.bukkit.inventory.ItemStack;
|
|||
import javax.script.ScriptEngine;
|
||||
import javax.script.ScriptEngineManager;
|
||||
import javax.script.ScriptException;
|
||||
import java.util.*;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Random;
|
||||
|
||||
/**
|
||||
* Created by songoda on 2/25/2017.
|
||||
|
@ -192,18 +200,4 @@ public class Methods {
|
|||
serializeCache.put(cacheKey, location.clone());
|
||||
return location;
|
||||
}
|
||||
|
||||
public static String formatText(String text) {
|
||||
if (text == null || text.equals(""))
|
||||
return "";
|
||||
return formatText(text, false);
|
||||
}
|
||||
|
||||
public static String formatText(String text, boolean cap) {
|
||||
if (text == null || text.equals(""))
|
||||
return "";
|
||||
if (cap)
|
||||
text = text.substring(0, 1).toUpperCase() + text.substring(1);
|
||||
return ChatColor.translateAlternateColorCodes('&', text);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue