mirror of
https://github.com/songoda/UltimateRepairing.git
synced 2024-11-01 00:10:19 +01:00
Merge branch 'development'
This commit is contained in:
commit
302407f935
2
pom.xml
2
pom.xml
@ -2,7 +2,7 @@
|
|||||||
<groupId>com.songoda</groupId>
|
<groupId>com.songoda</groupId>
|
||||||
<artifactId>UltimateRepairing</artifactId>
|
<artifactId>UltimateRepairing</artifactId>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<version>1.4.4</version>
|
<version>1.4.5</version>
|
||||||
<build>
|
<build>
|
||||||
<defaultGoal>clean install</defaultGoal>
|
<defaultGoal>clean install</defaultGoal>
|
||||||
<finalName>UltimateRepairing-${project.version}</finalName>
|
<finalName>UltimateRepairing-${project.version}</finalName>
|
||||||
|
@ -12,12 +12,6 @@ public class AnvilSettingsGui extends Gui {
|
|||||||
|
|
||||||
private final UAnvil anvil;
|
private final UAnvil anvil;
|
||||||
|
|
||||||
public AnvilSettingsGui(UAnvil anvil, Gui gui) {
|
|
||||||
super(gui);
|
|
||||||
this.anvil = anvil;
|
|
||||||
init();
|
|
||||||
}
|
|
||||||
|
|
||||||
public AnvilSettingsGui(UAnvil anvil) {
|
public AnvilSettingsGui(UAnvil anvil) {
|
||||||
this.anvil = anvil;
|
this.anvil = anvil;
|
||||||
init();
|
init();
|
||||||
|
@ -18,25 +18,23 @@ public class RepairGui extends Gui {
|
|||||||
|
|
||||||
private final Location anvil;
|
private final Location anvil;
|
||||||
private final Player player;
|
private final Player player;
|
||||||
private final UltimateRepairing plugin = UltimateRepairing.getInstance();
|
private static final UltimateRepairing plugin = UltimateRepairing.getInstance();
|
||||||
private final ItemStack item;
|
|
||||||
|
|
||||||
public static void newGui(Player player, Location anvil) {
|
public static void newGui(Player player, Location anvil) {
|
||||||
RepairType type = RepairType.EXPERIENCE;
|
RepairType type = RepairType.EXPERIENCE;
|
||||||
if (!type.hasPermission(player))
|
if (!type.hasPermission(player))
|
||||||
type = type.getNext(player);
|
type = type.getNext(player);
|
||||||
if (type == null) {
|
if (type == null) {
|
||||||
UltimateRepairing.getInstance().getLocale().getMessage("event.general.nopermission").sendPrefixedMessage(player);
|
plugin.getLocale().getMessage("event.general.nopermission").sendPrefixedMessage(player);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
UltimateRepairing.getInstance().getGuiManager().showGUI(player, new RepairGui(player, anvil, null, type));
|
plugin.getGuiManager().showGUI(player, new RepairGui(player, anvil, null, type));
|
||||||
}
|
}
|
||||||
|
|
||||||
private RepairGui(Player player, Location anvil, Gui gui, RepairType type) {
|
private RepairGui(Player player, Location anvil, Gui gui, RepairType type) {
|
||||||
super(gui);
|
super(gui);
|
||||||
this.anvil = anvil;
|
this.anvil = anvil;
|
||||||
this.player = player;
|
this.player = player;
|
||||||
this.item = player.getItemInHand();
|
|
||||||
|
|
||||||
setRows(6);
|
setRows(6);
|
||||||
setTitle(plugin.getLocale().getMessage("interface.repair.title").getMessage());
|
setTitle(plugin.getLocale().getMessage("interface.repair.title").getMessage());
|
||||||
@ -98,16 +96,19 @@ public class RepairGui extends Gui {
|
|||||||
int finalplayerslot = playerslot;
|
int finalplayerslot = playerslot;
|
||||||
setButton(i, item, (event) -> {
|
setButton(i, item, (event) -> {
|
||||||
exit();
|
exit();
|
||||||
UltimateRepairing.getInstance().getRepairHandler().preRepair(toRepair, finalplayerslot, player, type, anvil);
|
if (!player.getInventory().contains(toRepair)) {
|
||||||
|
plugin.getLocale().getMessage("event.repair.notfound").sendPrefixedMessage(player);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
plugin.getRepairHandler().preRepair(toRepair, finalplayerslot, player, type, anvil);
|
||||||
});
|
});
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Settings.RAINBOW.getBoolean()) {
|
if (Settings.RAINBOW.getBoolean()) {
|
||||||
for (int cell = 0; cell < rows * 9; ++cell) {
|
for (int cell = 0; cell < rows * 9; ++cell) {
|
||||||
if (getItem(cell) == null) {
|
if (getItem(cell) == null)
|
||||||
setItem(cell, GuiUtils.getBorderItem(Methods.getRainbowGlass()));
|
setItem(cell, GuiUtils.getBorderItem(Methods.getRainbowGlass()));
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -8,6 +8,7 @@ import com.songoda.ultimaterepairing.gui.RepairGui;
|
|||||||
import com.songoda.ultimaterepairing.settings.Settings;
|
import com.songoda.ultimaterepairing.settings.Settings;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.block.Block;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
import org.bukkit.event.Listener;
|
import org.bukkit.event.Listener;
|
||||||
@ -34,17 +35,18 @@ public class InteractListeners implements Listener {
|
|||||||
boolean ourRepair = false;
|
boolean ourRepair = false;
|
||||||
boolean vanillaRepair = false;
|
boolean vanillaRepair = false;
|
||||||
Player player = event.getPlayer();
|
Player player = event.getPlayer();
|
||||||
if (event.getClickedBlock() == null) return;
|
Block block = event.getClickedBlock();
|
||||||
|
if (block == null) return;
|
||||||
|
|
||||||
UAnvil anvil1 = null;
|
UAnvil anvil1 = null;
|
||||||
|
|
||||||
if (!event.getClickedBlock().getType().name().contains("ANVIL") // don't pay attention if it's not an anvil
|
if (!block.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
|
// also don't handle if we don't have perms to use this repair anvil
|
||||||
|| (Settings.PERMISSION_ANVIL_PLACE.getBoolean()
|
|| (Settings.PERMISSION_ANVIL_PLACE.getBoolean()
|
||||||
&& !(anvil1 = plugin.getAnvilManager().getAnvil(event.getClickedBlock())).isPermPlaced())) {
|
&& !(anvil1 = plugin.getAnvilManager().getAnvil(block)).isPermPlaced())) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
anvil1 = anvil1 != null ? anvil1 : plugin.getAnvilManager().getAnvil(event.getClickedBlock());
|
anvil1 = anvil1 != null ? anvil1 : plugin.getAnvilManager().getAnvil(block);
|
||||||
// check if we should process this as a right click
|
// check if we should process this as a right click
|
||||||
boolean rightClick = (event.getAction() == Action.RIGHT_CLICK_BLOCK) ^ (Settings.SWAP_LEFT_RIGHT.getBoolean());
|
boolean rightClick = (event.getAction() == Action.RIGHT_CLICK_BLOCK) ^ (Settings.SWAP_LEFT_RIGHT.getBoolean());
|
||||||
// admin interface?
|
// admin interface?
|
||||||
|
@ -41,9 +41,9 @@ public enum RepairType {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public RepairType getNext(Player player) {
|
public RepairType getNext(Player player) {
|
||||||
for (int i = 0; i < values().length; i++) {
|
for (int i = 1; i < values().length + 1; i++) {
|
||||||
int index = ordinal();
|
int index = ordinal();
|
||||||
int nextIndex = index + 1;
|
int nextIndex = index + i;
|
||||||
RepairType[] cars = RepairType.values();
|
RepairType[] cars = RepairType.values();
|
||||||
nextIndex %= cars.length;
|
nextIndex %= cars.length;
|
||||||
RepairType type = cars[nextIndex];
|
RepairType type = cars[nextIndex];
|
||||||
|
@ -40,3 +40,4 @@ event:
|
|||||||
notenough: '&cYou don''t have enough %type% &cto repair this item!'
|
notenough: '&cYou don''t have enough %type% &cto repair this item!'
|
||||||
success: '&aYour item has been successfully repaired!'
|
success: '&aYour item has been successfully repaired!'
|
||||||
cancelled: '&cCancelled repairing.'
|
cancelled: '&cCancelled repairing.'
|
||||||
|
notfound: '&cThe item you attempted to repair has disappeared.'
|
||||||
|
Loading…
Reference in New Issue
Block a user