Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,7 @@ public void onEnable() {
getServer().getPluginManager().registerEvents(iolistener, plugin);
getServer().getPluginManager().registerEvents(storagebreakslistener, plugin);
getServer().getPluginManager().registerEvents(configmanager, plugin);
getServer().getPluginManager().registerEvents(new InteractionListener(), plugin);

getCommand("deepstorageplus").setExecutor(new CommandHandler(itemList));
getCommand("dsp").setExecutor(new CommandHandler(itemList));
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
package me.darkolythe.deepstorageplus.dsu.listeners;

import me.darkolythe.deepstorageplus.utils.ItemList;
import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.Action;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.inventory.ItemStack;

public class InteractionListener implements Listener {

@EventHandler
public void onJukeboxInteraction(PlayerInteractEvent event) {
if (event.getAction() != Action.RIGHT_CLICK_BLOCK){
return;
}

Block block = event.getClickedBlock();
if (block != null && block.getType() == Material.JUKEBOX) {
ItemStack item = event.getPlayer().getInventory().getItemInMainHand();
if (!event.isCancelled() && ItemList.isStorageContainerItem(item)) {
event.setCancelled(true);
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -77,10 +77,12 @@ private void onStorageInteract(InventoryClickEvent event) {
if (event.getSlot() % 9 == 8) { //rightmost column
if (event.getSlot() != 53) { //if containers clicked
if (cursor != null && cursor.getType() != Material.AIR) { //if putting container in
if (item != null && ItemList.isDSPItem(item, ItemList.STORAGE_SLOT_MODEL_ID)) {
if (ItemList.isDSPItem(item, ItemList.STORAGE_SLOT_MODEL_ID)) {
event.setCancelled(true);
if (cursor.hasItemMeta()) { //if putting a Storage Container in the dsu
System.out.println("meta check passed");
if (ItemList.isStorageContainerItem(cursor)) {
System.out.println("cursor is container");
inv.setItem(event.getSlot(), cursor);
cursor.setAmount(0);
main.dsuupdatemanager.updateItems(inv, null);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,17 @@

import de.tr7zw.changeme.nbtapi.NBTItem;
import me.darkolythe.deepstorageplus.DeepStoragePlus;
import me.darkolythe.deepstorageplus.utils.ItemBuilder;
import me.darkolythe.deepstorageplus.utils.ItemList;
import me.darkolythe.deepstorageplus.utils.LanguageManager;
import me.darkolythe.deepstorageplus.utils.item.misc.DSUWall;
import me.darkolythe.deepstorageplus.utils.item.misc.EmptyStorageSlot;
import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemFlag;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.BundleMeta;
import org.bukkit.inventory.meta.ItemMeta;

import java.util.*;
Expand Down Expand Up @@ -90,8 +92,7 @@ public static ItemStack getDSUWall() {
if (dsuWall != null)
return dsuWall;

return dsuWall = new ItemBuilder(Material.PAPER)
.setModelData(20002)
return dsuWall = new DSUWall()
.setName(ChatColor.DARK_GRAY + LanguageManager.getValue("dsuwalls"))
.setItemMeta()
.getItem();
Expand All @@ -101,8 +102,7 @@ public static ItemStack getDSUWall() {
Create an Empty Block item to fill the dsu Inventory
*/
public static ItemStack getEmptyBlock() {
return new ItemBuilder(Material.PAPER)
.setModelData(20005)
return new EmptyStorageSlot()
.setName(ChatColor.YELLOW + LanguageManager.getValue("emptystorageblock"))
.setItemMeta()
.getItem();
Expand Down Expand Up @@ -220,12 +220,13 @@ private static Material getType(String lore) {
Update the container with the itemstack being added
*/
public static void addDataToContainer(ItemStack container, ItemStack item) {
if (container.hasItemMeta() && container.getItemMeta().hasDisplayName() && container.getItemMeta().getDisplayName().contains(LanguageManager.getValue("storagecontainer"))) {
if (container.getItemMeta() != null && ItemList.isStorageContainerItem(container)) {
Material mat = item.getType();
int amount = item.getAmount();

int storage = countStorage(container, LanguageManager.getValue("currentstorage") + ": ");
int types = countStorage(container, LanguageManager.getValue("currenttypes") + ": ");

HashSet<Material> mats = getTypes(container.getItemMeta().getLore());
int canAdd = Math.min(storage, amount);
if (mats.contains(mat)) { //if the material is already stored in the container
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,10 @@

import me.darkolythe.deepstorageplus.DeepStoragePlus;
import me.darkolythe.deepstorageplus.dsu.StorageUtils;
import me.darkolythe.deepstorageplus.utils.ItemBuilder;
import me.darkolythe.deepstorageplus.utils.ItemList;
import me.darkolythe.deepstorageplus.utils.LanguageManager;
import me.darkolythe.deepstorageplus.utils.item.misc.DSUWall;
import me.darkolythe.deepstorageplus.utils.item.misc.EmptyLinkModuleSlot;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Location;
Expand All @@ -14,7 +15,6 @@
import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;

import java.util.*;
import java.util.stream.Collectors;
Expand Down Expand Up @@ -50,8 +50,7 @@ public static ItemStack getSorterWall() {
if (sorterWall != null)
return sorterWall;

return sorterWall = new ItemBuilder(Material.PAPER)
.setModelData(20002)
return sorterWall = new DSUWall()
.setName(ChatColor.DARK_GRAY + LanguageManager.getValue("sorterwalls"))
.setItemMeta()
.getItem();
Expand All @@ -61,8 +60,7 @@ public static ItemStack getSorterWall() {
Create an Empty Block item to fill the dsu Inventory
*/
public static ItemStack getEmptyBlock() {
return new ItemBuilder(Material.PAPER)
.setModelData(20004)
return new EmptyLinkModuleSlot()
.setName(ChatColor.YELLOW + LanguageManager.getValue("emptysorterblock"))
.setItemMeta()
.getItem();
Expand Down
Loading