mirror of
https://github.com/StarWishsama/Slimefun4.git
synced 2024-09-20 11:45:51 +00:00
Added permission checks for the GEO Scanner and GPS Control Panel
This commit is contained in:
parent
a843e99dbf
commit
37f0715156
@ -1,6 +1,9 @@
|
|||||||
package io.github.thebusybiscuit.slimefun4.implementation.items.geo;
|
package io.github.thebusybiscuit.slimefun4.implementation.items.geo;
|
||||||
|
|
||||||
|
import io.github.thebusybiscuit.cscorelib2.protection.ProtectableAction;
|
||||||
|
import me.mrCookieSlime.Slimefun.api.Slimefun;
|
||||||
import org.bukkit.block.Block;
|
import org.bukkit.block.Block;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
import io.github.thebusybiscuit.slimefun4.core.handlers.BlockUseHandler;
|
import io.github.thebusybiscuit.slimefun4.core.handlers.BlockUseHandler;
|
||||||
@ -19,10 +22,22 @@ public class GEOScanner extends SimpleSlimefunItem<BlockUseHandler> {
|
|||||||
@Override
|
@Override
|
||||||
public BlockUseHandler getItemHandler() {
|
public BlockUseHandler getItemHandler() {
|
||||||
return e -> {
|
return e -> {
|
||||||
Block b = e.getClickedBlock().get();
|
|
||||||
|
|
||||||
e.cancel();
|
e.cancel();
|
||||||
SlimefunPlugin.getGPSNetwork().getResourceManager().scan(e.getPlayer(), b, 0);
|
|
||||||
|
Block b = e.getClickedBlock().get();
|
||||||
|
Player p = e.getPlayer();
|
||||||
|
|
||||||
|
if (p.hasPermission("slimefun.inventory.bypass")
|
||||||
|
|| (SlimefunPlugin.getProtectionManager().hasPermission(
|
||||||
|
p, b.getLocation(), ProtectableAction.ACCESS_INVENTORIES))
|
||||||
|
&& Slimefun.hasUnlocked(e.getPlayer(), item, false)
|
||||||
|
) {
|
||||||
|
|
||||||
|
SlimefunPlugin.getGPSNetwork().getResourceManager().scan(p, b, 0);
|
||||||
|
} else {
|
||||||
|
SlimefunPlugin.getLocalization().sendMessage(p, "inventory.no-access", true);
|
||||||
|
|
||||||
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,8 @@
|
|||||||
package io.github.thebusybiscuit.slimefun4.implementation.items.gps;
|
package io.github.thebusybiscuit.slimefun4.implementation.items.gps;
|
||||||
|
|
||||||
|
import io.github.thebusybiscuit.cscorelib2.protection.ProtectableAction;
|
||||||
|
import me.mrCookieSlime.Slimefun.api.Slimefun;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
import io.github.thebusybiscuit.slimefun4.core.handlers.BlockUseHandler;
|
import io.github.thebusybiscuit.slimefun4.core.handlers.BlockUseHandler;
|
||||||
@ -17,6 +20,22 @@ public class GPSControlPanel extends SimpleSlimefunItem<BlockUseHandler> {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public BlockUseHandler getItemHandler() {
|
public BlockUseHandler getItemHandler() {
|
||||||
return e -> SlimefunPlugin.getGPSNetwork().openTransmitterControlPanel(e.getPlayer());
|
return e -> {
|
||||||
|
e.cancel();
|
||||||
|
|
||||||
|
Player p = e.getPlayer();
|
||||||
|
|
||||||
|
if (p.hasPermission("slimefun.inventory.bypass")
|
||||||
|
|| (SlimefunPlugin.getProtectionManager().hasPermission(
|
||||||
|
p, e.getClickedBlock().get().getLocation(), ProtectableAction.ACCESS_INVENTORIES))
|
||||||
|
&& Slimefun.hasUnlocked(p, item, false)
|
||||||
|
) {
|
||||||
|
|
||||||
|
SlimefunPlugin.getGPSNetwork().openTransmitterControlPanel(p);
|
||||||
|
} else {
|
||||||
|
SlimefunPlugin.getLocalization().sendMessage(p, "inventory.no-access", true);
|
||||||
|
|
||||||
|
}
|
||||||
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user