mirror of
https://github.com/exituser/Brewery.git
synced 2026-09-17 05:28:59 +00:00
Added sealing command
This commit is contained in:
@@ -62,6 +62,7 @@ Help_Player: '&6/brew <Spieler> <%Trunkenheit> [Qualität]&9 Setzt Trunkenheit (
|
|||||||
Help_Reload: '&6/brew reload &9Config neuladen'
|
Help_Reload: '&6/brew reload &9Config neuladen'
|
||||||
Help_Configname: '&6/brew ItemName &9Zeigt Name für die Config vom Item in der Hand'
|
Help_Configname: '&6/brew ItemName &9Zeigt Name für die Config vom Item in der Hand'
|
||||||
Help_UnLabel: '&6/brew UnLabel &9Entfernt die genaue Beschriftung des Trankes'
|
Help_UnLabel: '&6/brew UnLabel &9Entfernt die genaue Beschriftung des Trankes'
|
||||||
|
Help_Seal: '&6/brew Seal &9Tränke für den Verkauf versiegeln'
|
||||||
Help_Wakeup: '&6/brew Wakeup List <Seite>&9 Listet alle Aufwachpunkte auf'
|
Help_Wakeup: '&6/brew Wakeup List <Seite>&9 Listet alle Aufwachpunkte auf'
|
||||||
Help_WakeupAdd: '&6/brew Wakeup Add &9Setzt einen Aufwachpunkt and deiner Position'
|
Help_WakeupAdd: '&6/brew Wakeup Add &9Setzt einen Aufwachpunkt and deiner Position'
|
||||||
Help_WakeupCheck: '&6/brew Wakeup Check &9Teleportiert zu allen Aufwachpunkten'
|
Help_WakeupCheck: '&6/brew Wakeup Check &9Teleportiert zu allen Aufwachpunkten'
|
||||||
|
|||||||
@@ -64,6 +64,7 @@ Help_Reload: '&6/brew reload &9Reload config'
|
|||||||
Help_Configname: '&6/brew ItemName &9Display name of item in hand for the config'
|
Help_Configname: '&6/brew ItemName &9Display name of item in hand for the config'
|
||||||
Help_Static: '&6/brew static &9Make Brew static -> No further ageing or distilling'
|
Help_Static: '&6/brew static &9Make Brew static -> No further ageing or distilling'
|
||||||
Help_UnLabel: '&6/brew unlabel &9Removes the detailled label of a potion'
|
Help_UnLabel: '&6/brew unlabel &9Removes the detailled label of a potion'
|
||||||
|
Help_Seal: '&6/brew seal &9Seal Brews for selling in shops'
|
||||||
Help_Wakeup: '&6/brew wakeup list <Page>&9 Lists all wakeup points'
|
Help_Wakeup: '&6/brew wakeup list <Page>&9 Lists all wakeup points'
|
||||||
Help_WakeupAdd: '&6/brew wakeup add &9Adds a wakeup point at your current position'
|
Help_WakeupAdd: '&6/brew wakeup add &9Adds a wakeup point at your current position'
|
||||||
Help_WakeupCheck: '&6/brew wakeup check &9Teleports to all wakeup points'
|
Help_WakeupCheck: '&6/brew wakeup check &9Teleports to all wakeup points'
|
||||||
|
|||||||
@@ -37,6 +37,7 @@ permissions:
|
|||||||
brewery.mod: true
|
brewery.mod: true
|
||||||
brewery.cmd.info: true
|
brewery.cmd.info: true
|
||||||
brewery.cmd.infoOther: true
|
brewery.cmd.infoOther: true
|
||||||
|
brewery.cmd.seal: true
|
||||||
brewery.cmd.player: true
|
brewery.cmd.player: true
|
||||||
brewery.cmd.create: true
|
brewery.cmd.create: true
|
||||||
brewery.cmd.copy: true
|
brewery.cmd.copy: true
|
||||||
@@ -60,6 +61,8 @@ permissions:
|
|||||||
description: Information about your own drunkeness
|
description: Information about your own drunkeness
|
||||||
brewery.cmd.infoOther:
|
brewery.cmd.infoOther:
|
||||||
description: Information about the drunkeness of another Player
|
description: Information about the drunkeness of another Player
|
||||||
|
brewery.cmd.seal:
|
||||||
|
description: Open the Brew Sealer by command
|
||||||
brewery.cmd.player:
|
brewery.cmd.player:
|
||||||
description: Set Player-values
|
description: Set Player-values
|
||||||
brewery.cmd.wakeup:
|
brewery.cmd.wakeup:
|
||||||
|
|||||||
@@ -9,16 +9,18 @@ import org.bukkit.block.Container;
|
|||||||
import org.bukkit.block.data.Directional;
|
import org.bukkit.block.data.Directional;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.inventory.InventoryType;
|
import org.bukkit.event.inventory.InventoryType;
|
||||||
import org.bukkit.inventory.Inventory;
|
import org.bukkit.inventory.*;
|
||||||
import org.bukkit.inventory.InventoryHolder;
|
|
||||||
import org.bukkit.inventory.ItemStack;
|
|
||||||
import org.bukkit.inventory.RecipeChoice;
|
|
||||||
import org.bukkit.inventory.ShapedRecipe;
|
|
||||||
import org.bukkit.inventory.meta.ItemMeta;
|
import org.bukkit.inventory.meta.ItemMeta;
|
||||||
import org.bukkit.persistence.PersistentDataType;
|
import org.bukkit.persistence.PersistentDataType;
|
||||||
import org.bukkit.scheduler.BukkitTask;
|
import org.bukkit.scheduler.BukkitTask;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
|
import java.util.Iterator;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The Sealing Inventory that is being checked for Brews and seals them after a second.
|
||||||
|
* <p>Class doesn't load in mc <= 1.12 (Can't find RecipeChoice, BlockData and NamespacedKey)
|
||||||
|
*/
|
||||||
public class BSealer implements InventoryHolder {
|
public class BSealer implements InventoryHolder {
|
||||||
public static final NamespacedKey TAG_KEY = new NamespacedKey(P.p, "SealingTable");
|
public static final NamespacedKey TAG_KEY = new NamespacedKey(P.p, "SealingTable");
|
||||||
public static boolean recipeRegistered = false;
|
public static boolean recipeRegistered = false;
|
||||||
@@ -27,8 +29,8 @@ public class BSealer implements InventoryHolder {
|
|||||||
private final Inventory inventory;
|
private final Inventory inventory;
|
||||||
private final Player player;
|
private final Player player;
|
||||||
private short[] slotTime = new short[9];
|
private short[] slotTime = new short[9];
|
||||||
ItemStack[] contents = null;
|
private ItemStack[] contents = null;
|
||||||
BukkitTask task;
|
private BukkitTask task;
|
||||||
|
|
||||||
public BSealer(Player player) {
|
public BSealer(Player player) {
|
||||||
this.player = player;
|
this.player = player;
|
||||||
@@ -91,7 +93,7 @@ public class BSealer implements InventoryHolder {
|
|||||||
Brew brew = Brew.get(contents[i]);
|
Brew brew = Brew.get(contents[i]);
|
||||||
if (brew != null && !brew.isStripped()) {
|
if (brew != null && !brew.isStripped()) {
|
||||||
brew.seal(contents[i]);
|
brew.seal(contents[i]);
|
||||||
if (playerValid) {
|
if (playerValid && P.use1_9) {
|
||||||
player.playSound(player.getLocation(), Sound.ITEM_BOTTLE_FILL_DRAGONBREATH, 1, 1.5f + (float) (Math.random() * 0.2));
|
player.playSound(player.getLocation(), Sound.ITEM_BOTTLE_FILL_DRAGONBREATH, 1, 1.5f + (float) (Math.random() * 0.2));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -152,6 +154,14 @@ public class BSealer implements InventoryHolder {
|
|||||||
|
|
||||||
public static void unregisterRecipe() {
|
public static void unregisterRecipe() {
|
||||||
recipeRegistered = false;
|
recipeRegistered = false;
|
||||||
P.p.getServer().removeRecipe(new NamespacedKey(P.p, "SealingTable"));
|
//P.p.getServer().removeRecipe(new NamespacedKey(P.p, "SealingTable")); 1.15 Method
|
||||||
|
Iterator<Recipe> recipeIterator = P.p.getServer().recipeIterator();
|
||||||
|
while (recipeIterator.hasNext()) {
|
||||||
|
Recipe next = recipeIterator.next();
|
||||||
|
if (next instanceof ShapedRecipe && ((ShapedRecipe) next).getKey().equals(TAG_KEY)) {
|
||||||
|
recipeIterator.remove();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -121,7 +121,7 @@ public class P extends JavaPlugin {
|
|||||||
if (use1_9) {
|
if (use1_9) {
|
||||||
p.getServer().getPluginManager().registerEvents(new CauldronListener(), p);
|
p.getServer().getPluginManager().registerEvents(new CauldronListener(), p);
|
||||||
}
|
}
|
||||||
if (BConfig.hasChestShop) {
|
if (BConfig.hasChestShop && use1_13) {
|
||||||
p.getServer().getPluginManager().registerEvents(new ChestShopListener(), p);
|
p.getServer().getPluginManager().registerEvents(new ChestShopListener(), p);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -81,6 +81,14 @@ public class CommandListener implements CommandExecutor {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
} else if (cmd.equalsIgnoreCase("seal") || cmd.startsWith("seal") || cmd.startsWith("Seal")) {
|
||||||
|
|
||||||
|
if (sender.hasPermission("brewery.cmd.seal")) {
|
||||||
|
cmdSeal(sender);
|
||||||
|
} else {
|
||||||
|
p.msg(sender, p.languageReader.get("Error_NoPermissions"));
|
||||||
|
}
|
||||||
|
|
||||||
} else if (cmd.equalsIgnoreCase("copy") || cmd.equalsIgnoreCase("cp")) {
|
} else if (cmd.equalsIgnoreCase("copy") || cmd.equalsIgnoreCase("cp")) {
|
||||||
|
|
||||||
if (sender.hasPermission("brewery.cmd.copy")) {
|
if (sender.hasPermission("brewery.cmd.copy")) {
|
||||||
@@ -174,6 +182,10 @@ public class CommandListener implements CommandExecutor {
|
|||||||
cmds.add (p.languageReader.get("Help_Info"));
|
cmds.add (p.languageReader.get("Help_Info"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (P.use1_13 && sender.hasPermission("brewery.cmd.seal")) {
|
||||||
|
cmds.add (p.languageReader.get("Help_Seal"));
|
||||||
|
}
|
||||||
|
|
||||||
if (sender.hasPermission("brewery.cmd.unlabel")) {
|
if (sender.hasPermission("brewery.cmd.unlabel")) {
|
||||||
cmds.add (p.languageReader.get("Help_UnLabel"));
|
cmds.add (p.languageReader.get("Help_UnLabel"));
|
||||||
}
|
}
|
||||||
@@ -366,6 +378,20 @@ public class CommandListener implements CommandExecutor {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void cmdSeal(CommandSender sender) {
|
||||||
|
if (!P.use1_13) {
|
||||||
|
P.p.msg(sender, "Sealing requires minecraft 1.13 or higher");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (!(sender instanceof Player)) {
|
||||||
|
p.msg(sender, p.languageReader.get("Error_PlayerCommand"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Player player = (Player) sender;
|
||||||
|
player.openInventory(new BSealer(player).getInventory());
|
||||||
|
}
|
||||||
|
|
||||||
@Deprecated
|
@Deprecated
|
||||||
public void cmdCopy(CommandSender sender, int count) {
|
public void cmdCopy(CommandSender sender, int count) {
|
||||||
|
|
||||||
|
|||||||
@@ -193,6 +193,7 @@ public class InventoryListener implements Listener {
|
|||||||
// Handle the Brew Sealer Inventory
|
// Handle the Brew Sealer Inventory
|
||||||
@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
|
@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
|
||||||
public void onInventoryClickBSealer(InventoryClickEvent event) {
|
public void onInventoryClickBSealer(InventoryClickEvent event) {
|
||||||
|
if (!P.use1_13) return;
|
||||||
InventoryHolder holder = event.getInventory().getHolder();
|
InventoryHolder holder = event.getInventory().getHolder();
|
||||||
if (!(holder instanceof BSealer)) {
|
if (!(holder instanceof BSealer)) {
|
||||||
return;
|
return;
|
||||||
@@ -296,6 +297,7 @@ public class InventoryListener implements Listener {
|
|||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void onInventoryClose(InventoryCloseEvent event) {
|
public void onInventoryClose(InventoryCloseEvent event) {
|
||||||
|
if (!P.use1_13) return;
|
||||||
if (event.getInventory().getHolder() instanceof BSealer) {
|
if (event.getInventory().getHolder() instanceof BSealer) {
|
||||||
((BSealer) event.getInventory().getHolder()).closeInv();
|
((BSealer) event.getInventory().getHolder()).closeInv();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ import com.dre.brewery.filedata.UpdateChecker;
|
|||||||
import com.dre.brewery.utility.LegacyUtil;
|
import com.dre.brewery.utility.LegacyUtil;
|
||||||
import org.bukkit.GameMode;
|
import org.bukkit.GameMode;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.Nameable;
|
|
||||||
import org.bukkit.block.Block;
|
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;
|
||||||
@@ -42,7 +41,7 @@ public class PlayerListener implements Listener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (BSealer.isBSealer(clickedBlock)) {
|
if (P.use1_14 && BSealer.isBSealer(clickedBlock)) {
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
if (BConfig.enableSealingTable) {
|
if (BConfig.enableSealingTable) {
|
||||||
BSealer sealer = new BSealer(player);
|
BSealer sealer = new BSealer(player);
|
||||||
|
|||||||
Reference in New Issue
Block a user