mirror of
https://github.com/StarWishsama/Slimefun4.git
synced 2024-09-20 03:35:51 +00:00
[Ci skip] Added a small failsafe
This commit is contained in:
parent
de9039e6db
commit
1cd84ff17a
@ -4,6 +4,7 @@ import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.logging.Level;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
@ -257,17 +258,23 @@ public class ChestSlimefunGuide implements SlimefunGuideImplementation {
|
||||
else {
|
||||
menu.addItem(index, sfitem.getItem());
|
||||
menu.addMenuClickHandler(index, (pl, slot, item, action) -> {
|
||||
if (survival) {
|
||||
displayItem(profile, sfitem, true);
|
||||
}
|
||||
else {
|
||||
if (sfitem instanceof MultiBlockMachine) {
|
||||
SlimefunPlugin.getLocal().sendMessage(pl, "guide.cheat.no-multiblocks");
|
||||
try {
|
||||
if (survival) {
|
||||
displayItem(profile, sfitem, true);
|
||||
}
|
||||
else {
|
||||
pl.getInventory().addItem(sfitem.getItem().clone());
|
||||
if (sfitem instanceof MultiBlockMachine) {
|
||||
SlimefunPlugin.getLocal().sendMessage(pl, "guide.cheat.no-multiblocks");
|
||||
}
|
||||
else {
|
||||
pl.getInventory().addItem(sfitem.getItem().clone());
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (RuntimeException x) {
|
||||
printErrorMessage(pl, x);
|
||||
}
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
@ -320,11 +327,16 @@ public class ChestSlimefunGuide implements SlimefunGuideImplementation {
|
||||
|
||||
menu.addItem(index, itemstack);
|
||||
menu.addMenuClickHandler(index, (pl, slot, itm, action) -> {
|
||||
if (!survival) {
|
||||
pl.getInventory().addItem(item.getItem().clone());
|
||||
try {
|
||||
if (!survival) {
|
||||
pl.getInventory().addItem(item.getItem().clone());
|
||||
}
|
||||
else {
|
||||
displayItem(profile, item, true);
|
||||
}
|
||||
}
|
||||
else {
|
||||
displayItem(profile, item, true);
|
||||
catch (RuntimeException x) {
|
||||
printErrorMessage(pl, x);
|
||||
}
|
||||
|
||||
return false;
|
||||
@ -486,7 +498,14 @@ public class ChestSlimefunGuide implements SlimefunGuideImplementation {
|
||||
addBackButton(menu, 0, p, profile, true);
|
||||
|
||||
MenuClickHandler clickHandler = (pl, slot, itemstack, action) -> {
|
||||
displayItem(profile, itemstack, 0, true);
|
||||
try {
|
||||
if (itemstack.getType() != Material.BARRIER) {
|
||||
displayItem(profile, itemstack, 0, true);
|
||||
}
|
||||
}
|
||||
catch (RuntimeException x) {
|
||||
printErrorMessage(pl, x);
|
||||
}
|
||||
return false;
|
||||
};
|
||||
|
||||
@ -661,4 +680,9 @@ public class ChestSlimefunGuide implements SlimefunGuideImplementation {
|
||||
return menu;
|
||||
}
|
||||
|
||||
private void printErrorMessage(Player p, RuntimeException x) {
|
||||
p.sendMessage(ChatColor.DARK_RED + "An internal server error has occured. Please inform an admin, check the console for further info.");
|
||||
Slimefun.getLogger().log(Level.SEVERE, "An error has occured while trying to open a SlimefunItem in the guide!");
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user