mirror of
https://github.com/StarWishsama/Slimefun4.git
synced 2024-09-20 03:35:51 +00:00
Merge pull request #267 from VoidAngel/master
Backpack & crucible fixes
This commit is contained in:
commit
a162d3c812
@ -2284,7 +2284,7 @@ public class SlimefunSetup {
|
||||
|
||||
new SlimefunGadget(Categories.MACHINES_1, SlimefunItems.CRUCIBLE, "CRUCIBLE", RecipeType.ENHANCED_CRAFTING_TABLE,
|
||||
new ItemStack [] {new ItemStack(Material.HARD_CLAY), null, new ItemStack(Material.HARD_CLAY), new ItemStack(Material.HARD_CLAY), null, new ItemStack(Material.HARD_CLAY), new ItemStack(Material.HARD_CLAY), new ItemStack(Material.FLINT_AND_STEEL), new ItemStack(Material.HARD_CLAY)},
|
||||
new ItemStack [] {new ItemStack(Material.COBBLESTONE, 16), new ItemStack(Material.LAVA_BUCKET), new ItemStack(Material.LEAVES, 16), new ItemStack(Material.WATER_BUCKET), new ItemStack(Material.HARD_CLAY, 12), new ItemStack(Material.WATER_BUCKET)})
|
||||
new ItemStack [] {new ItemStack(Material.COBBLESTONE, 16), new ItemStack(Material.LAVA_BUCKET), new ItemStack(Material.LEAVES, 16), new ItemStack(Material.WATER_BUCKET), new ItemStack(Material.HARD_CLAY, 12), new ItemStack(Material.LAVA_BUCKET)})
|
||||
.register(true, new ItemInteractionHandler() {
|
||||
|
||||
@Override
|
||||
@ -2297,6 +2297,7 @@ public class SlimefunSetup {
|
||||
for (ItemStack convert: RecipeType.getRecipeInputs(machine)) {
|
||||
if (input != null) {
|
||||
if (SlimefunManager.isItemSimiliar(input, convert, true)) {
|
||||
e.setCancelled(true);
|
||||
ItemStack removing = input.clone();
|
||||
removing.setAmount(convert.getAmount());
|
||||
p.getInventory().removeItem(removing);
|
||||
@ -2305,7 +2306,7 @@ public class SlimefunSetup {
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
if (input.getType() == Material.COBBLESTONE) {
|
||||
if (input.getType() == Material.COBBLESTONE || input.getType() == Material.HARD_CLAY) {
|
||||
block.setType(Material.LAVA);
|
||||
block.setData((byte) 7);
|
||||
block.getWorld().playSound(block.getLocation(), Sound.BLOCK_LAVA_POP, 1F, 1F);
|
||||
@ -2319,7 +2320,7 @@ public class SlimefunSetup {
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
if (input.getType() == Material.COBBLESTONE) {
|
||||
if (input.getType() == Material.COBBLESTONE || input.getType() == Material.HARD_CLAY) {
|
||||
block.setType(Material.LAVA);
|
||||
block.setData((byte) 6);
|
||||
block.getWorld().playSound(block.getLocation(), Sound.BLOCK_LAVA_POP, 1F, 1F);
|
||||
@ -2333,7 +2334,7 @@ public class SlimefunSetup {
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
if (input.getType() == Material.COBBLESTONE) {
|
||||
if (input.getType() == Material.COBBLESTONE || input.getType() == Material.HARD_CLAY) {
|
||||
block.setType(Material.LAVA);
|
||||
block.setData((byte) 5);
|
||||
block.getWorld().playSound(block.getLocation(), Sound.BLOCK_LAVA_POP, 1F, 1F);
|
||||
@ -2347,7 +2348,7 @@ public class SlimefunSetup {
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
if (input.getType() == Material.COBBLESTONE) {
|
||||
if (input.getType() == Material.COBBLESTONE || input.getType() == Material.HARD_CLAY) {
|
||||
block.setType(Material.LAVA);
|
||||
block.setData((byte) 4);
|
||||
block.getWorld().playSound(block.getLocation(), Sound.BLOCK_LAVA_POP, 1F, 1F);
|
||||
@ -2361,7 +2362,7 @@ public class SlimefunSetup {
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
if (input.getType() == Material.COBBLESTONE) {
|
||||
if (input.getType() == Material.COBBLESTONE || input.getType() == Material.HARD_CLAY) {
|
||||
block.setType(Material.LAVA);
|
||||
block.setData((byte) 3);
|
||||
block.getWorld().playSound(block.getLocation(), Sound.BLOCK_LAVA_POP, 1F, 1F);
|
||||
@ -2375,7 +2376,7 @@ public class SlimefunSetup {
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
if (input.getType() == Material.COBBLESTONE) {
|
||||
if (input.getType() == Material.COBBLESTONE || input.getType() == Material.HARD_CLAY) {
|
||||
block.setType(Material.LAVA);
|
||||
block.setData((byte) 2);
|
||||
block.getWorld().playSound(block.getLocation(), Sound.BLOCK_LAVA_POP, 1F, 1F);
|
||||
@ -2389,7 +2390,7 @@ public class SlimefunSetup {
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
if (input.getType() == Material.COBBLESTONE) {
|
||||
if (input.getType() == Material.COBBLESTONE || input.getType() == Material.HARD_CLAY) {
|
||||
block.setType(Material.LAVA);
|
||||
block.setData((byte) 1);
|
||||
block.getWorld().playSound(block.getLocation(), Sound.BLOCK_LAVA_POP, 1F, 1F);
|
||||
@ -2403,7 +2404,7 @@ public class SlimefunSetup {
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
if (input.getType() == Material.COBBLESTONE) {
|
||||
if (input.getType() == Material.COBBLESTONE || input.getType() == Material.HARD_CLAY) {
|
||||
block.setType(Material.STATIONARY_LAVA);
|
||||
block.setData((byte) 0);
|
||||
block.getWorld().playSound(block.getLocation(), Sound.BLOCK_LAVA_POP, 1F, 1F);
|
||||
|
@ -6,6 +6,7 @@ import me.mrCookieSlime.Slimefun.Variables;
|
||||
import me.mrCookieSlime.Slimefun.SlimefunStartup;
|
||||
import me.mrCookieSlime.Slimefun.Lists.SlimefunItems;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.Juice;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunBackpack;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem;
|
||||
import me.mrCookieSlime.Slimefun.Setup.Messages;
|
||||
import me.mrCookieSlime.Slimefun.Setup.SlimefunManager;
|
||||
@ -18,8 +19,10 @@ import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.block.Action;
|
||||
import org.bukkit.event.inventory.ClickType;
|
||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||
import org.bukkit.event.inventory.InventoryCloseEvent;
|
||||
import org.bukkit.event.player.PlayerDropItemEvent;
|
||||
import org.bukkit.event.player.PlayerInteractEvent;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
@ -40,28 +43,40 @@ public class BackpackListener implements Listener {
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onItemDrop(PlayerDropItemEvent e) {
|
||||
if (Variables.backpack.containsKey(e.getPlayer().getUniqueId())){
|
||||
ItemStack item = e.getItemDrop().getItemStack();
|
||||
SlimefunItem sfItem = SlimefunItem.getByItem(item);
|
||||
if (sfItem instanceof SlimefunBackpack) e.setCancelled(true);
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onClick(InventoryClickEvent e) {
|
||||
if (Variables.backpack.containsKey(e.getWhoClicked().getUniqueId())) {
|
||||
ItemStack item = Variables.backpack.get(e.getWhoClicked().getUniqueId());
|
||||
if (SlimefunManager.isItemSimiliar(item, SlimefunItem.getItem("COOLER"), false)) {
|
||||
SlimefunItem sfItem = SlimefunItem.getByItem(e.getCurrentItem());
|
||||
if (e.getCurrentItem() == null);
|
||||
else if (sfItem == null) e.setCancelled(true);
|
||||
else if (!(sfItem instanceof Juice)) e.setCancelled(true);
|
||||
if (e.getClick() == ClickType.NUMBER_KEY) {
|
||||
ItemStack hotbarItem = e.getWhoClicked().getInventory().getItem(e.getHotbarButton());
|
||||
SlimefunItem sfItem = SlimefunItem.getByItem(hotbarItem);
|
||||
if (hotbarItem != null && hotbarItem.getType().toString().contains("SHULKER_BOX")) e.setCancelled(true);
|
||||
else if (sfItem instanceof SlimefunBackpack) e.setCancelled(true);
|
||||
}
|
||||
else {
|
||||
SlimefunItem sfItem = SlimefunItem.getByItem(e.getCurrentItem());
|
||||
if (SlimefunManager.isItemSimiliar(item, SlimefunItem.getItem("COOLER"), false)) {
|
||||
if (e.getCurrentItem() == null);
|
||||
else if (sfItem == null) e.setCancelled(true);
|
||||
else if (!(sfItem instanceof Juice)) e.setCancelled(true);
|
||||
}
|
||||
else if (e.getCurrentItem() != null && e.getCurrentItem().getType().toString().contains("SHULKER_BOX")) e.setCancelled(true);
|
||||
else if (sfItem instanceof SlimefunBackpack) e.setCancelled(true);
|
||||
else if (SlimefunManager.isItemSimiliar(e.getCurrentItem(), SlimefunItems.VOIDBAG_SMALL, false)) e.setCancelled(true);
|
||||
else if (SlimefunManager.isItemSimiliar(e.getCurrentItem(), SlimefunItems.VOIDBAG_MEDIUM, false)) e.setCancelled(true);
|
||||
else if (SlimefunManager.isItemSimiliar(e.getCurrentItem(), SlimefunItems.VOIDBAG_BIG, false)) e.setCancelled(true);
|
||||
else if (SlimefunManager.isItemSimiliar(e.getCurrentItem(), SlimefunItems.VOIDBAG_LARGE, false)) e.setCancelled(true);
|
||||
else if (SlimefunManager.isItemSimiliar(e.getCurrentItem(), SlimefunItems.BOUND_VOIDBAG, false)) e.setCancelled(true);
|
||||
}
|
||||
else if (SlimefunManager.isItemSimiliar(e.getCurrentItem(), item, true)) e.setCancelled(true);
|
||||
else if (SlimefunManager.isItemSimiliar(e.getCurrentItem(), SlimefunItems.BACKPACK_SMALL, false)) e.setCancelled(true);
|
||||
else if (SlimefunManager.isItemSimiliar(e.getCurrentItem(), SlimefunItems.BACKPACK_MEDIUM, false)) e.setCancelled(true);
|
||||
else if (SlimefunManager.isItemSimiliar(e.getCurrentItem(), SlimefunItems.BACKPACK_LARGE, false)) e.setCancelled(true);
|
||||
else if (SlimefunManager.isItemSimiliar(e.getCurrentItem(), SlimefunItems.WOVEN_BACKPACK, false)) e.setCancelled(true);
|
||||
else if (SlimefunManager.isItemSimiliar(e.getCurrentItem(), SlimefunItems.GILDED_BACKPACK, false)) e.setCancelled(true);
|
||||
else if (SlimefunManager.isItemSimiliar(e.getCurrentItem(), SlimefunItems.BOUND_BACKPACK, false)) e.setCancelled(true);
|
||||
else if (SlimefunManager.isItemSimiliar(e.getCurrentItem(), SlimefunItems.VOIDBAG_SMALL, false)) e.setCancelled(true);
|
||||
else if (SlimefunManager.isItemSimiliar(e.getCurrentItem(), SlimefunItems.VOIDBAG_MEDIUM, false)) e.setCancelled(true);
|
||||
else if (SlimefunManager.isItemSimiliar(e.getCurrentItem(), SlimefunItems.VOIDBAG_BIG, false)) e.setCancelled(true);
|
||||
else if (SlimefunManager.isItemSimiliar(e.getCurrentItem(), SlimefunItems.VOIDBAG_LARGE, false)) e.setCancelled(true);
|
||||
else if (SlimefunManager.isItemSimiliar(e.getCurrentItem(), SlimefunItems.BOUND_VOIDBAG, false)) e.setCancelled(true);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user