mirror of
https://github.com/StarWishsama/Slimefun4.git
synced 2024-09-20 03:35:51 +00:00
Changed the version check to 1.9 and 1.10 for easier future support
This commit is contained in:
parent
35b65139ce
commit
8ffb6ffd61
@ -57,18 +57,18 @@ import me.mrCookieSlime.Slimefun.api.inventory.BlockMenuPreset;
|
|||||||
import me.mrCookieSlime.Slimefun.api.inventory.UniversalBlockMenu;
|
import me.mrCookieSlime.Slimefun.api.inventory.UniversalBlockMenu;
|
||||||
|
|
||||||
public class ItemListener implements Listener {
|
public class ItemListener implements Listener {
|
||||||
|
|
||||||
public ItemListener(SlimefunStartup plugin) {
|
public ItemListener(SlimefunStartup plugin) {
|
||||||
plugin.getServer().getPluginManager().registerEvents(this, plugin);
|
plugin.getServer().getPluginManager().registerEvents(this, plugin);
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void onIgnitionChamberItemMove(InventoryMoveItemEvent e) {
|
public void onIgnitionChamberItemMove(InventoryMoveItemEvent e) {
|
||||||
if(BlockStorage.check(((Hopper) e.getInitiator().getHolder()).getBlock(), "IGNITION_CHAMBER")) {
|
if(BlockStorage.check(((Hopper) e.getInitiator().getHolder()).getBlock(), "IGNITION_CHAMBER")) {
|
||||||
e.setCancelled(true);
|
e.setCancelled(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings("deprecation")
|
@SuppressWarnings("deprecation")
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void debug(PlayerInteractEvent e) {
|
public void debug(PlayerInteractEvent e) {
|
||||||
@ -141,19 +141,19 @@ public class ItemListener implements Listener {
|
|||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings("deprecation")
|
@SuppressWarnings("deprecation")
|
||||||
@EventHandler(priority=EventPriority.NORMAL)
|
@EventHandler(priority=EventPriority.NORMAL)
|
||||||
public void onRightClick(ItemUseEvent e) {
|
public void onRightClick(ItemUseEvent e) {
|
||||||
if (e.getParentEvent() != null && !e.getParentEvent().getHand().equals(EquipmentSlot.HAND)) {
|
if (e.getParentEvent() != null && !e.getParentEvent().getHand().equals(EquipmentSlot.HAND)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
final Player p = e.getPlayer();
|
final Player p = e.getPlayer();
|
||||||
ItemStack item = e.getItem();
|
ItemStack item = e.getItem();
|
||||||
if (SlimefunManager.isItemSimiliar(item, SlimefunGuide.getItem(BookDesign.BOOK), true)) {
|
if (SlimefunManager.isItemSimiliar(item, SlimefunGuide.getItem(BookDesign.BOOK), true)) {
|
||||||
@ -172,7 +172,7 @@ public class ItemListener implements Listener {
|
|||||||
item = SlimefunGuide.getItem(true);
|
item = SlimefunGuide.getItem(true);
|
||||||
p.getInventory().setItemInMainHand(item);
|
p.getInventory().setItemInMainHand(item);
|
||||||
PlayerInventory.update(p);
|
PlayerInventory.update(p);
|
||||||
|
|
||||||
if (p.isSneaking()) SlimefunGuide.openSettings(p, item);
|
if (p.isSneaking()) SlimefunGuide.openSettings(p, item);
|
||||||
else SlimefunGuide.openGuide(p, true);
|
else SlimefunGuide.openGuide(p, true);
|
||||||
}
|
}
|
||||||
@ -180,7 +180,7 @@ public class ItemListener implements Listener {
|
|||||||
item = SlimefunGuide.getItem(false);
|
item = SlimefunGuide.getItem(false);
|
||||||
p.getInventory().setItemInMainHand(item);
|
p.getInventory().setItemInMainHand(item);
|
||||||
PlayerInventory.update(p);
|
PlayerInventory.update(p);
|
||||||
|
|
||||||
if (p.isSneaking()) SlimefunGuide.openSettings(p, item);
|
if (p.isSneaking()) SlimefunGuide.openSettings(p, item);
|
||||||
else SlimefunGuide.openGuide(p, false);
|
else SlimefunGuide.openGuide(p, false);
|
||||||
}
|
}
|
||||||
@ -203,7 +203,7 @@ public class ItemListener implements Listener {
|
|||||||
List<Integer> modes = ((MultiTool) SlimefunItem.getByItem(tool)).getModes();
|
List<Integer> modes = ((MultiTool) SlimefunItem.getByItem(tool)).getModes();
|
||||||
int index = 0;
|
int index = 0;
|
||||||
if (Variables.mode.containsKey(p.getUniqueId())) index = Variables.mode.get(p.getUniqueId());
|
if (Variables.mode.containsKey(p.getUniqueId())) index = Variables.mode.get(p.getUniqueId());
|
||||||
|
|
||||||
if (!p.isSneaking()) {
|
if (!p.isSneaking()) {
|
||||||
float charge = ItemEnergy.getStoredEnergy(item);
|
float charge = ItemEnergy.getStoredEnergy(item);
|
||||||
float cost = 0.3F;
|
float cost = 0.3F;
|
||||||
@ -221,7 +221,7 @@ public class ItemListener implements Listener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (SlimefunManager.isItemSimiliar(item, SlimefunItems.HEAVY_CREAM, true)) e.setCancelled(true);
|
else if (SlimefunManager.isItemSimiliar(item, SlimefunItems.HEAVY_CREAM, true)) e.setCancelled(true);
|
||||||
|
|
||||||
if (e.getClickedBlock() != null && BlockStorage.hasBlockInfo(e.getClickedBlock())) {
|
if (e.getClickedBlock() != null && BlockStorage.hasBlockInfo(e.getClickedBlock())) {
|
||||||
String id = BlockStorage.checkID(e.getClickedBlock());
|
String id = BlockStorage.checkID(e.getClickedBlock());
|
||||||
if (BlockMenuPreset.isInventory(id)) {
|
if (BlockMenuPreset.isInventory(id)) {
|
||||||
@ -233,7 +233,7 @@ public class ItemListener implements Listener {
|
|||||||
else {
|
else {
|
||||||
e.setCancelled(true);
|
e.setCancelled(true);
|
||||||
BlockStorage storage = BlockStorage.getStorage(e.getClickedBlock().getWorld());
|
BlockStorage storage = BlockStorage.getStorage(e.getClickedBlock().getWorld());
|
||||||
|
|
||||||
if (storage.hasUniversalInventory(id)) {
|
if (storage.hasUniversalInventory(id)) {
|
||||||
UniversalBlockMenu menu = storage.getUniversalInventory(id);
|
UniversalBlockMenu menu = storage.getUniversalInventory(id);
|
||||||
if (menu.canOpen(e.getClickedBlock(), p)) menu.open(p);
|
if (menu.canOpen(e.getClickedBlock(), p)) menu.open(p);
|
||||||
@ -248,7 +248,7 @@ public class ItemListener implements Listener {
|
|||||||
}
|
}
|
||||||
else e.setCancelled(true);
|
else e.setCancelled(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean canPlaceBlock(Player p, Block relative) {
|
private boolean canPlaceBlock(Player p, Block relative) {
|
||||||
return p.isSneaking() && relative.getType().equals(Material.AIR);
|
return p.isSneaking() && relative.getType().equals(Material.AIR);
|
||||||
}
|
}
|
||||||
@ -286,7 +286,7 @@ public class ItemListener implements Listener {
|
|||||||
SlimefunItem sfItem = SlimefunItem.getByItem(item);
|
SlimefunItem sfItem = SlimefunItem.getByItem(item);
|
||||||
if (sfItem != null && sfItem instanceof Juice) {
|
if (sfItem != null && sfItem instanceof Juice) {
|
||||||
// Fix for 1.11 and 1.12 where Saturation potions are no longer working
|
// Fix for 1.11 and 1.12 where Saturation potions are no longer working
|
||||||
if (ReflectionUtils.getVersion().startsWith("v1_11_") || ReflectionUtils.getVersion().startsWith("v1_12_")) {
|
if (ReflectionUtils.getVersion().startsWith("v1_9_") || ReflectionUtils.getVersion().startsWith("v1_10_")) {
|
||||||
for (PotionEffect effect : ((PotionMeta) item.getItemMeta()).getCustomEffects()) {
|
for (PotionEffect effect : ((PotionMeta) item.getItemMeta()).getCustomEffects()) {
|
||||||
if (effect.getType().equals(PotionEffectType.SATURATION)) {
|
if (effect.getType().equals(PotionEffectType.SATURATION)) {
|
||||||
p.addPotionEffect(new PotionEffect(PotionEffectType.SATURATION, effect.getDuration(), effect.getAmplifier()));
|
p.addPotionEffect(new PotionEffect(PotionEffectType.SATURATION, effect.getDuration(), effect.getAmplifier()));
|
||||||
@ -316,9 +316,9 @@ public class ItemListener implements Listener {
|
|||||||
|
|
||||||
// Remove the glass bottle once drunk
|
// Remove the glass bottle once drunk
|
||||||
final int m = mode;
|
final int m = mode;
|
||||||
|
|
||||||
Bukkit.getScheduler().scheduleSyncDelayedTask(SlimefunStartup.instance, new Runnable() {
|
Bukkit.getScheduler().scheduleSyncDelayedTask(SlimefunStartup.instance, new Runnable() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
if (m == 0) {
|
if (m == 0) {
|
||||||
@ -331,7 +331,7 @@ public class ItemListener implements Listener {
|
|||||||
p.getInventory().removeItem(new ItemStack(Material.GLASS_BOTTLE, 1));
|
p.getInventory().removeItem(new ItemStack(Material.GLASS_BOTTLE, 1));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}, 1L);
|
}, 1L);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -339,7 +339,7 @@ public class ItemListener implements Listener {
|
|||||||
else e.setCancelled(true);
|
else e.setCancelled(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void onCraft(CraftItemEvent e) {
|
public void onCraft(CraftItemEvent e) {
|
||||||
for (ItemStack item: e.getInventory().getContents()) {
|
for (ItemStack item: e.getInventory().getContents()) {
|
||||||
@ -350,7 +350,7 @@ public class ItemListener implements Listener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler(priority=EventPriority.LOWEST)
|
@EventHandler(priority=EventPriority.LOWEST)
|
||||||
public void onEntityChangeBlock(EntityChangeBlockEvent e) {
|
public void onEntityChangeBlock(EntityChangeBlockEvent e) {
|
||||||
if (e.getEntity() instanceof FallingBlock) {
|
if (e.getEntity() instanceof FallingBlock) {
|
||||||
@ -367,12 +367,12 @@ public class ItemListener implements Listener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void onAnvil(InventoryClickEvent e) {
|
public void onAnvil(InventoryClickEvent e) {
|
||||||
if (e.getRawSlot() == 2 && e.getWhoClicked() instanceof Player && e.getInventory().getType() == InventoryType.ANVIL) {
|
if (e.getRawSlot() == 2 && e.getWhoClicked() instanceof Player && e.getInventory().getType() == InventoryType.ANVIL) {
|
||||||
if (SlimefunManager.isItemSimiliar(e.getInventory().getContents()[0], SlimefunItems.ELYTRA, true)) return;
|
if (SlimefunManager.isItemSimiliar(e.getInventory().getContents()[0], SlimefunItems.ELYTRA, true)) return;
|
||||||
|
|
||||||
if (SlimefunItem.getByItem(e.getInventory().getContents()[0]) != null && !SlimefunItem.isDisabled(e.getInventory().getContents()[0])) {
|
if (SlimefunItem.getByItem(e.getInventory().getContents()[0]) != null && !SlimefunItem.isDisabled(e.getInventory().getContents()[0])) {
|
||||||
e.setCancelled(true);
|
e.setCancelled(true);
|
||||||
Messages.local.sendTranslation((Player) e.getWhoClicked(), "anvil.not-working", true);
|
Messages.local.sendTranslation((Player) e.getWhoClicked(), "anvil.not-working", true);
|
||||||
|
Loading…
Reference in New Issue
Block a user