mirror of
https://github.com/songoda/EpicBosses.git
synced 2025-03-12 14:39:05 +01:00
1.0.2-U2
+ Fixed issue with AddItems Panel duplicating buttons to the bottom panel + Fixed issue with Lower versions (running Legacy build) having issues with enchanted items
This commit is contained in:
parent
5fad88bb5c
commit
3198dafd4b
@ -36,12 +36,7 @@ public class AddItemsPanel extends PanelHandler {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void initializePanel(PanelBuilder panelBuilder) {
|
public void initializePanel(PanelBuilder panelBuilder) {
|
||||||
PanelBuilderCounter panelBuilderCounter = panelBuilder.getPanelBuilderCounter();
|
|
||||||
|
|
||||||
panelBuilderCounter
|
|
||||||
.addSlotCounter("Cancel", getCancelAction())
|
|
||||||
.addSlotCounter("Accept", getAcceptAction())
|
|
||||||
.addSlotCounter("SelectedSlot", getSelectedSlotAction(panelBuilderCounter));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -56,7 +51,13 @@ public class AddItemsPanel extends PanelHandler {
|
|||||||
.setCancelClick(true)
|
.setCancelClick(true)
|
||||||
.setCancelLowerClick(false);
|
.setCancelLowerClick(false);
|
||||||
|
|
||||||
ServerUtils.get().runTaskAsync(() ->
|
PanelBuilderCounter counter = panel.getPanelBuilderCounter();
|
||||||
|
|
||||||
|
ServerUtils.get().runTaskAsync(() -> {
|
||||||
|
counter.getSlotsWith("Accept").forEach(slot -> panel.setOnClick(slot, getAcceptAction(panel)));
|
||||||
|
counter.getSlotsWith("Cancel").forEach(slot -> panel.setOnClick(slot, getCancelAction(panel)));
|
||||||
|
counter.getSlotsWith("SelectedSlot").forEach(slot -> panel.setOnClick(slot, getSelectedSlotAction(counter, panel)));
|
||||||
|
|
||||||
panel.setOnClick(event -> {
|
panel.setOnClick(event -> {
|
||||||
Player playerWhoClicked = (Player) event.getWhoClicked();
|
Player playerWhoClicked = (Player) event.getWhoClicked();
|
||||||
UUID uuid = playerWhoClicked.getUniqueId();
|
UUID uuid = playerWhoClicked.getUniqueId();
|
||||||
@ -75,14 +76,18 @@ public class AddItemsPanel extends PanelHandler {
|
|||||||
panel.getPanelBuilderCounter().getSlotsWith("SelectedSlot").forEach(s -> event.getInventory().setItem(s, itemStack.clone()));
|
panel.getPanelBuilderCounter().getSlotsWith("SelectedSlot").forEach(s -> event.getInventory().setItem(s, itemStack.clone()));
|
||||||
event.getClickedInventory().setItem(slot, new ItemStack(Material.AIR));
|
event.getClickedInventory().setItem(slot, new ItemStack(Material.AIR));
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
);
|
});
|
||||||
|
|
||||||
panel.openFor(player);
|
panel.openFor(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
private ClickAction getSelectedSlotAction(PanelBuilderCounter panelBuilderCounter) {
|
private ClickAction getSelectedSlotAction(PanelBuilderCounter panelBuilderCounter, Panel panel) {
|
||||||
return event -> {
|
return event -> {
|
||||||
|
int rawSlot = event.getRawSlot();
|
||||||
|
|
||||||
|
if(panel.isLowerClick(rawSlot)) return;
|
||||||
|
|
||||||
Player player = (Player) event.getWhoClicked();
|
Player player = (Player) event.getWhoClicked();
|
||||||
UUID uuid = player.getUniqueId();
|
UUID uuid = player.getUniqueId();
|
||||||
|
|
||||||
@ -95,8 +100,12 @@ public class AddItemsPanel extends PanelHandler {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
private ClickAction getAcceptAction() {
|
private ClickAction getAcceptAction(Panel panel) {
|
||||||
return event -> {
|
return event -> {
|
||||||
|
int rawSlot = event.getRawSlot();
|
||||||
|
|
||||||
|
if(panel.isLowerClick(rawSlot)) return;
|
||||||
|
|
||||||
Player player = (Player) event.getWhoClicked();
|
Player player = (Player) event.getWhoClicked();
|
||||||
UUID uuid = player.getUniqueId();
|
UUID uuid = player.getUniqueId();
|
||||||
|
|
||||||
@ -110,8 +119,12 @@ public class AddItemsPanel extends PanelHandler {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
private ClickAction getCancelAction() {
|
private ClickAction getCancelAction(Panel panel) {
|
||||||
return event -> {
|
return event -> {
|
||||||
|
int rawSlot = event.getRawSlot();
|
||||||
|
|
||||||
|
if(panel.isLowerClick(rawSlot)) return;
|
||||||
|
|
||||||
Player player = (Player) event.getWhoClicked();
|
Player player = (Player) event.getWhoClicked();
|
||||||
UUID uuid = player.getUniqueId();
|
UUID uuid = player.getUniqueId();
|
||||||
|
|
||||||
|
@ -70,9 +70,13 @@ public enum EnchantFinder {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static EnchantFinder getByEnchant(Enchantment enchantment) {
|
public static EnchantFinder getByEnchant(Enchantment enchantment) {
|
||||||
|
if(enchantment == null) return null;
|
||||||
|
|
||||||
for(EnchantFinder enchantFinder : values()) {
|
for(EnchantFinder enchantFinder : values()) {
|
||||||
Enchantment enchantFinderEnchant = enchantFinder.getEnchantment();
|
Enchantment enchantFinderEnchant = enchantFinder.getEnchantment();
|
||||||
|
|
||||||
|
if(enchantFinderEnchant == null) continue;
|
||||||
|
|
||||||
if(enchantFinderEnchant.equals(enchantment)) return enchantFinder;
|
if(enchantFinderEnchant.equals(enchantment)) return enchantFinder;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -25,9 +25,7 @@ public class EnchantConverter implements IConverter<List<String>, Map<Enchantmen
|
|||||||
Enchantment enchantment = entry.getKey();
|
Enchantment enchantment = entry.getKey();
|
||||||
EnchantFinder enchantFinder = EnchantFinder.getByEnchant(enchantment);
|
EnchantFinder enchantFinder = EnchantFinder.getByEnchant(enchantment);
|
||||||
|
|
||||||
if(enchantFinder == null) {
|
if(enchantFinder == null) continue;
|
||||||
throw new EnumConstantNotPresentException(EnchantFinder.class, "EnchantFinder couldn't find a value for " + enchantment.getName() + ". Please report this to @AMinecraftDev so he can fix it.");
|
|
||||||
}
|
|
||||||
|
|
||||||
enchants.add(enchantFinder.getFancyName() + ":" + level);
|
enchants.add(enchantFinder.getFancyName() + ":" + level);
|
||||||
}
|
}
|
||||||
|
@ -312,7 +312,7 @@ public class Panel implements Listener, ICloneable<Panel> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public boolean isLowerClick(int rawSlot) {
|
public boolean isLowerClick(int rawSlot) {
|
||||||
return rawSlot > inventory.getSize();
|
return rawSlot >= inventory.getSize();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
2
pom.xml
2
pom.xml
@ -19,7 +19,7 @@
|
|||||||
</modules>
|
</modules>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<plugin.version>1.0.2-U1</plugin.version>
|
<plugin.version>1.0.2-U2</plugin.version>
|
||||||
<plugin.name>EpicBosses</plugin.name>
|
<plugin.name>EpicBosses</plugin.name>
|
||||||
<plugin.main>com.songoda.epicbosses.CustomBosses</plugin.main>
|
<plugin.main>com.songoda.epicbosses.CustomBosses</plugin.main>
|
||||||
<plugin.author>AMinecraftDev</plugin.author>
|
<plugin.author>AMinecraftDev</plugin.author>
|
||||||
|
Loading…
Reference in New Issue
Block a user