Skip to content
Open
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
6 changes: 4 additions & 2 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -22,15 +22,15 @@
</repository>
<repository>
<id>CodeMC</id>
<url>https://repo.codemc.org/repository/maven-public</url>
<url>https://repo.codemc.org/repository/maven-public/</url>
</repository>
</repositories>

<dependencies>
<dependency>
<groupId>org.spigotmc</groupId>
<artifactId>spigot-api</artifactId>
<version>1.15-R0.1-SNAPSHOT</version>
<version>1.17-R0.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
<dependency>
Expand Down Expand Up @@ -59,9 +59,11 @@
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.3.1</version>
<!-- Uncomment after PR merge.
<configuration>
<outputDirectory>C:\Users\ChrisWalker\Desktop\1.18server\plugins</outputDirectory>
</configuration>
-->
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -101,13 +101,6 @@ public void onEnable() {

inventorylistener.addText();

getServer().getPluginManager().registerEvents(inventorylistener, plugin);
getServer().getPluginManager().registerEvents(wrenchlistener, plugin);
getServer().getPluginManager().registerEvents(wirelesslistener, plugin);
getServer().getPluginManager().registerEvents(iolistener, plugin);
getServer().getPluginManager().registerEvents(storagebreakslistener, plugin);
getServer().getPluginManager().registerEvents(configmanager, plugin);

getCommand("deepstorageplus").setExecutor(new CommandHandler(itemList));
getCommand("dsp").setExecutor(new CommandHandler(itemList));

Expand Down
33 changes: 16 additions & 17 deletions src/main/java/me/darkolythe/deepstorageplus/dsu/StorageUtils.java
Original file line number Diff line number Diff line change
Expand Up @@ -85,27 +85,27 @@ public static boolean isDSU(Inventory inv) {

for (ItemStack i : inv.getContents()) {
if (i != null) {
// Check if we are in the DSU IO Configuration
if (i.getType().equals(Material.TRIPWIRE_HOOK)
&& i.hasItemMeta()
&& i.getItemMeta() != null
&& i.getItemMeta().hasDisplayName()
&& i.getItemMeta().getDisplayName().equals(ChatColor.BLUE.toString() + "Lock DSU")) {
&& i.getItemMeta().getDisplayName().equals(ChatColor.BLUE + "Lock DSU")) {
return false;
}
}
}

int slots[] = {7, 16, 25, 34, 43, 52};
int[] slots = {7, 16, 25, 34, 43, 52};
boolean isDSU = false;

for (int i : slots) {
if (inv.getItem(i) != null && inv.getItem(i).equals(DSUManager.getDSUWall()))
ItemStack temp = inv.getItem(i);

if (temp != null && temp.equals(DSUManager.getDSUWall()))
isDSU = true;
}

if (!isDSU)
return false;

return true;

return isDSU;
}

public static boolean isSorter(Inventory inv) {
Expand All @@ -115,24 +115,23 @@ public static boolean isSorter(Inventory inv) {
if (inv.getType() != InventoryType.CHEST)
return false;

int slots[] = {18, 19, 20, 21, 22, 23, 24, 25, 26};
int[] slots = {18, 19, 20, 21, 22, 23, 24, 25, 26};
boolean isSorter = false;

for (int i : slots) {
if (inv.getItem(i) != null && inv.getItem(i).equals(SorterManager.getSorterWall()))
ItemStack temp = inv.getItem(i);

if (temp != null && temp.equals(SorterManager.getSorterWall()))
isSorter = true;
}

if (!isSorter)
return false;

return true;
return isSorter;
}

/**
* Returns the custom name of a chest or double chest, if either side has one. Prefers the left chest.
* @param block
* @return
* @param block The block to get the name from
* @return Optional containing the name of the block.
*/
public static Optional<String> getChestCustomName(Block block) {
Chest chest = (Chest) block.getState();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,12 @@
import me.darkolythe.deepstorageplus.DeepStoragePlus;
import me.darkolythe.deepstorageplus.dsu.StorageUtils;
import me.darkolythe.deepstorageplus.dsu.managers.DSUManager;
import me.darkolythe.deepstorageplus.dsu.managers.SorterManager;
import me.darkolythe.deepstorageplus.utils.LanguageManager;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.block.Chest;
import org.bukkit.block.Container;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
Expand Down Expand Up @@ -38,8 +36,9 @@ public class IOListener implements Listener {
private DeepStoragePlus main;
public IOListener(DeepStoragePlus plugin) {
this.main = plugin; // set it equal to an instance of main
Bukkit.getServer().getPluginManager().registerEvents(this, plugin);
}

@EventHandler(priority = EventPriority.HIGHEST)
private void onDSUClick(PlayerInteractEvent event) {
if (event.getAction() == Action.RIGHT_CLICK_BLOCK || event.getAction() == Action.RIGHT_CLICK_AIR) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import me.darkolythe.deepstorageplus.dsu.StorageUtils;
import me.darkolythe.deepstorageplus.dsu.managers.DSUManager;
import me.darkolythe.deepstorageplus.dsu.managers.SorterManager;
import me.darkolythe.deepstorageplus.utils.ItemList;
import me.darkolythe.deepstorageplus.utils.LanguageManager;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
Expand All @@ -21,6 +22,7 @@

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

import static me.darkolythe.deepstorageplus.dsu.StorageUtils.matToString;
Expand All @@ -31,6 +33,7 @@ public class InventoryListener implements Listener {
private DeepStoragePlus main;
public InventoryListener(DeepStoragePlus plugin) {
this.main = plugin; // set it equal to an instance of main
Bukkit.getServer().getPluginManager().registerEvents(this, plugin);
}

@EventHandler
Expand Down Expand Up @@ -75,25 +78,27 @@ 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 && item.getType() == Material.WHITE_STAINED_GLASS_PANE) {
if (ItemList.isDSPItem(item, ItemList.STORAGE_SLOT_MODEL_ID)) {
event.setCancelled(true);
if (cursor.hasItemMeta()) { //if putting a Storage Container in the dsu
if (cursor.getItemMeta().getDisplayName().contains(LanguageManager.getValue("storagecontainer")) && cursor.getItemMeta().isUnbreakable()) {
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);
}
}
} else { //if trying to take placeholder out
if (!(cursor.hasItemMeta() && cursor.getItemMeta().getDisplayName().contains(LanguageManager.getValue("storagecontainer")) && cursor.getItemMeta().isUnbreakable())) {
if (!ItemList.isStorageContainerItem(cursor)) {
event.setCancelled(true);
} else if (event.isShiftClick()) {
event.setCancelled(true);
}
}
} else { //if taking container out
event.setCancelled(true);
if (item != null && item.getType() != Material.WHITE_STAINED_GLASS_PANE) {
if (ItemList.isStorageContainerItem(item)) {
player.setItemOnCursor(item.clone());
inv.setItem(event.getSlot(), DSUManager.getEmptyBlock());
main.dsuupdatemanager.updateItems(inv, null);
Expand Down Expand Up @@ -121,7 +126,7 @@ private void onStorageInteract(InventoryClickEvent event) {
main.dsuupdatemanager.updateItems(inv, mat);

if (cursor.getAmount() > 0 && isvaliditem) {
player.sendMessage(DeepStoragePlus.prefix + ChatColor.RED.toString() + LanguageManager.getValue("containersfull"));
player.sendMessage(DeepStoragePlus.prefix + ChatColor.RED + LanguageManager.getValue("containersfull"));
}
} else if (cursor == null || cursor.getType() == Material.AIR && item != null) { //taking item out of dsu
if (event.getClick() != ClickType.DOUBLE_CLICK) {
Expand All @@ -131,7 +136,7 @@ private void onStorageInteract(InventoryClickEvent event) {
int amtTaken = DSUManager.takeItems(item.getType(), inv, item.getType().getMaxStackSize());
player.getInventory().addItem(new ItemStack(item.getType(), amtTaken));
} else {
player.sendMessage(DeepStoragePlus.prefix + ChatColor.RED.toString() + LanguageManager.getValue("nomorespace"));
player.sendMessage(DeepStoragePlus.prefix + ChatColor.RED + LanguageManager.getValue("nomorespace"));
}
} else {
int amtTaken = DSUManager.takeItems(item.getType(), inv, item.getType().getMaxStackSize());
Expand All @@ -157,25 +162,25 @@ private void onStorageInteract(InventoryClickEvent event) {
if (event.getClickedInventory() != player.getInventory()) {
if (event.getSlot() > 26) { // link module field
if (cursor != null && cursor.getType() != Material.AIR) { //if putting container in
if (item != null && item.getType() == Material.WHITE_STAINED_GLASS_PANE) {
if (ItemList.isDSPItem(item, ItemList.LINK_SLOT_MODEL_ID)) {
event.setCancelled(true);
//if putting a link module into the sorter
if (cursor.hasItemMeta() && cursor.getItemMeta().getDisplayName().contains(LanguageManager.getValue("linkmodule")) && cursor.getItemMeta().isUnbreakable()) {
if (ItemList.isDSPItem(cursor, ItemList.LINK_MODULE_MODEL_ID)) {
inv.setItem(event.getSlot(), cursor);
cursor.setAmount(0);
}
} else { //if trying to take placeholder out
if (!(cursor.hasItemMeta() && cursor.getItemMeta().getDisplayName().contains(LanguageManager.getValue("linkmodule")) && cursor.getItemMeta().isUnbreakable())) {
if (!ItemList.isDSPItem(cursor, ItemList.LINK_MODULE_MODEL_ID)) {
event.setCancelled(true);
} else if (event.isShiftClick()) {
event.setCancelled(true);
}
}
} else { //if taking link module out
event.setCancelled(true);
if (item != null && item.getType() != Material.WHITE_STAINED_GLASS_PANE) {
if (ItemList.isDSPItem(item, ItemList.LINK_MODULE_MODEL_ID)) {
player.setItemOnCursor(item.clone());
inv.setItem(event.getSlot(), DSUManager.getEmptyBlock());
inv.setItem(event.getSlot(), SorterManager.getEmptyBlock());
}
}
} else if (event.getSlot() > 17 && event.getSlot() < 27) { //walls
Expand All @@ -194,15 +199,16 @@ private void onStorageInteract(InventoryClickEvent event) {
}
}

} else if (event.getView().getTitle().equals(ChatColor.BLUE.toString() + ChatColor.BOLD.toString() + LanguageManager.getValue("dsuioconfig"))) {
} else if (event.getView().getTitle().equals(ChatColor.BLUE + ChatColor.BOLD.toString() + LanguageManager.getValue("dsuioconfig"))) {
event.setCancelled(true);
if (event.getSlot() == 8 || event.getSlot() == 17) {
startSelection(event.getSlot(), inv);
} else { //change selection and io items
if (event.getSlot() % 9 != 8 && event.getSlot() % 9 != 7) {
if (item != null) {
for (int i = 0; i < inv.getContents().length; i++) {
if (inv.getItem(i) != null && inv.getItem(i).getEnchantments().size() > 0) {
ItemStack temp = inv.getItem(i);
if (temp != null && temp.getEnchantments().size() > 0) {
//If the item clicked is one of the DSU items to choose an IO item
ItemStack newitem = item.clone();
ItemMeta itemmeta = newitem.getItemMeta();
Expand All @@ -211,7 +217,7 @@ private void onStorageInteract(InventoryClickEvent event) {
} else {
itemmeta.setDisplayName(ChatColor.GRAY + LanguageManager.getValue("output") + ": " + ChatColor.GREEN + matToString(newitem.getType()));
}
itemmeta.setLore(Arrays.asList(ChatColor.GRAY + LanguageManager.getValue("clicktoclear")));
itemmeta.setLore(Collections.singletonList(ChatColor.GRAY + LanguageManager.getValue("clicktoclear")));
newitem.setItemMeta(itemmeta);
inv.setItem(i, newitem);
}
Expand Down Expand Up @@ -284,17 +290,17 @@ private void onInventoryDrag(InventoryDragEvent event) {
private void onInventoryClose(InventoryCloseEvent event) {
if (event.getPlayer() instanceof Player) {
Player player = (Player) event.getPlayer();
if (event.getView().getTitle().equals(ChatColor.BLUE.toString() + ChatColor.BOLD.toString() + LanguageManager.getValue("dsuioconfig"))) {
Container DSUContainer = DeepStoragePlus.openDSU.get(player.getUniqueId());
Inventory DSU = DSUContainer.getInventory();
if (event.getView().getTitle().equals(ChatColor.BLUE + ChatColor.BOLD.toString() + LanguageManager.getValue("dsuioconfig"))) {
Container dsuContainer = DeepStoragePlus.openDSU.get(player.getUniqueId());
Inventory dsu = dsuContainer.getInventory();

Inventory IOInv = event.getInventory();
ItemStack input = IOInv.getItem(8);
ItemStack output = IOInv.getItem(17);
ItemStack sorting = IOInv.getItem(26);
ItemStack lock = IOInv.getItem(53);

int speedUpgrade = getSpeedUpgrade(DSU.getItem(53));
int speedUpgrade = getSpeedUpgrade(dsu.getItem(53));

List<String> lore = new ArrayList<>();

Expand Down Expand Up @@ -324,7 +330,7 @@ private void onInventoryClose(InventoryCloseEvent event) {
lore.add(ChatColor.GREEN + LanguageManager.getValue("unlocked"));
}

ItemStack i = DSU.getItem(53);
ItemStack i = dsu.getItem(53);
ItemMeta m = i.getItemMeta();
m.setLore(lore);
i.setItemMeta(m);
Expand All @@ -334,7 +340,7 @@ private void onInventoryClose(InventoryCloseEvent event) {
@Override
public void run() {
if (DeepStoragePlus.gettingInput.containsKey(player.getUniqueId()) && !DeepStoragePlus.gettingInput.get(player.getUniqueId())) {
player.openInventory(DSU);
player.openInventory(dsu);
}
}
}, 1L);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ public class StorageBreakListener implements Listener {
DeepStoragePlus main;
public StorageBreakListener(DeepStoragePlus plugin) {
main = plugin;
Bukkit.getServer().getPluginManager().registerEvents(this, plugin);
}

@EventHandler (priority = EventPriority.HIGHEST)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import me.darkolythe.deepstorageplus.dsu.managers.DSUManager;
import me.darkolythe.deepstorageplus.utils.LanguageManager;
import me.darkolythe.deepstorageplus.utils.RecipeManager;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Chunk;
import org.bukkit.Material;
Expand Down Expand Up @@ -35,6 +36,7 @@ public class WirelessListener implements Listener {
private DeepStoragePlus main;
public WirelessListener(DeepStoragePlus plugin) {
this.main = plugin; // set it equal to an instance of main
Bukkit.getServer().getPluginManager().registerEvents(this, plugin);
}

@EventHandler(priority = EventPriority.HIGHEST)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ public class WrenchListener implements Listener {
private DeepStoragePlus main;
public WrenchListener(DeepStoragePlus plugin) {
main = plugin;
Bukkit.getServer().getPluginManager().registerEvents(this, plugin);
}

@EventHandler (priority = EventPriority.HIGHEST)
Expand Down
Loading