Coding With Relativity Error

Discussion in 'Plugin Development' started by XSilver_FalconX, Feb 11, 2013.

Thread Status:
Not open for further replies.
  1. Offline

    XSilver_FalconX

    Hey guys, I quickly coded this out and I keep getting no response, the listener works and responds when hitting the anvil with a lever but has no response to it's programmed purpose. Thanks!:)
    Code:
            if (event.getAction() == Action.LEFT_CLICK_BLOCK) {
                Player p = event.getPlayer();
                if (p.hasPermission(botuse)) {
                    if (p.getItemInHand().getType().equals(Material.LEVER)) {
                        p.sendMessage("hit ? w/ lever");
                        if (event.getClickedBlock().getType().equals(Material.ANVIL)) {
                            p.sendMessage("hit Anvil w/ lever");
                            if (event.getClickedBlock().getRelative(BlockFace.WEST, 1).getType().equals(Material.BURNING_FURNACE)) {
                                if (event.getClickedBlock().getRelative(BlockFace.UP, 5).getType().equals(Material.LOG)) {
                                    if (event.getClickedBlock().getRelative(BlockFace.UP, 4).getType().equals(Material.LOG)) {
                                        if (event.getClickedBlock().getRelative(BlockFace.UP, 3).getType().equals(Material.LOG)) {
                                            if (event.getClickedBlock().getRelative(BlockFace.UP, 2).getType().equals(Material.LOG)) {
                                                if (event.getClickedBlock().getRelative(BlockFace.UP, 1).getType().equals(Material.LOG)) {
                                                    event.getClickedBlock().getRelative(BlockFace.UP, 5).setType(Material.AIR);
                                                    event.getClickedBlock().getRelative(BlockFace.UP, 4).setType(Material.AIR);
                                                    event.getClickedBlock().getRelative(BlockFace.UP, 3).setType(Material.AIR);
                                                    event.getClickedBlock().getRelative(BlockFace.UP, 2).setType(Material.AIR);
                                                    event.getClickedBlock().getRelative(BlockFace.UP, 1).setType(Material.AIR);
                                                    p.getInventory().addItem(new ItemStack(Material.LOG, 5));
                                                    p.sendMessage(ChatColor.GRAY + "Log(s) Added!");
                                                    p.sendMessage(ChatColor.GRAY + "Your Bot has finished it's task.");
                                                }
                                            }
                                        }
                                    }
                                } else if (event.getClickedBlock().getRelative(BlockFace.UP, 5).getType().equals(Material.AIR)) {
                                    if (event.getClickedBlock().getRelative(BlockFace.UP, 4).getType().equals(Material.LOG)) {
                                        if (event.getClickedBlock().getRelative(BlockFace.UP, 3).getType().equals(Material.LOG)) {
                                            if (event.getClickedBlock().getRelative(BlockFace.UP, 2).getType().equals(Material.LOG)) {
                                                if (event.getClickedBlock().getRelative(BlockFace.UP, 1).getType().equals(Material.LOG)) {
                                                    event.getClickedBlock().getRelative(BlockFace.UP, 4).setType(Material.AIR);
                                                    event.getClickedBlock().getRelative(BlockFace.UP, 3).setType(Material.AIR);
                                                    event.getClickedBlock().getRelative(BlockFace.UP, 2).setType(Material.AIR);
                                                    event.getClickedBlock().getRelative(BlockFace.UP, 1).setType(Material.AIR);
                                                    p.getInventory().addItem(new ItemStack(Material.LOG, 4));
                                                    p.sendMessage(ChatColor.GRAY + "Log(s) Added!");
                                                    p.sendMessage(ChatColor.GRAY + "Your Bot has finished it's task.");
                                                }
                                            }
                                        }
                                    } else if (event.getClickedBlock().getRelative(BlockFace.UP, 4).getType().equals(Material.AIR)) {
                                        if (event.getClickedBlock().getRelative(BlockFace.UP, 3).getType().equals(Material.LOG)) {
                                            if (event.getClickedBlock().getRelative(BlockFace.UP, 2).getType().equals(Material.LOG)) {
                                                if (event.getClickedBlock().getRelative(BlockFace.UP, 1).getType().equals(Material.LOG)) {
                                                    event.getClickedBlock().getRelative(BlockFace.UP, 3).setType(Material.AIR);
                                                    event.getClickedBlock().getRelative(BlockFace.UP, 2).setType(Material.AIR);
                                                    event.getClickedBlock().getRelative(BlockFace.UP, 1).setType(Material.AIR);
                                                    p.getInventory().addItem(new ItemStack(Material.LOG, 3));
                                                    p.sendMessage(ChatColor.GRAY + "Log(s) Added!");
                                                    p.sendMessage(ChatColor.GRAY + "Your Bot has finished it's task.");
                                                }
                                            }
                                        } else if (event.getClickedBlock().getRelative(BlockFace.UP, 3).getType().equals(Material.AIR)) {
                                            if (event.getClickedBlock().getRelative(BlockFace.UP, 2).getType().equals(Material.LOG)) {
                                                if (event.getClickedBlock().getRelative(BlockFace.UP, 1).getType().equals(Material.LOG)) {
                                                    event.getClickedBlock().getRelative(BlockFace.UP, 2).setType(Material.AIR);
                                                    event.getClickedBlock().getRelative(BlockFace.UP, 1).setType(Material.AIR);
                                                    p.getInventory().addItem(new ItemStack(Material.LOG, 2));
                                                    p.sendMessage(ChatColor.GRAY + "Log(s) Added!");
                                                    p.sendMessage(ChatColor.GRAY + "Your Bot has finished it's task.");
                                                }
                                            } else if (event.getClickedBlock().getRelative(BlockFace.UP, 2).getType().equals(Material.AIR)) {
                                                if (event.getClickedBlock().getRelative(BlockFace.UP, 1).getType().equals(Material.LOG)) {
                                                    event.getClickedBlock().getRelative(BlockFace.UP, 1).setType(Material.AIR);
                                                    p.getInventory().addItem(new ItemStack(Material.LOG, 1));
                                                    p.sendMessage(ChatColor.GRAY + "Log(s) Added!");
                                                    p.sendMessage(ChatColor.GRAY + "Your Bot has finished it's task.");
                                                } else if (event.getClickedBlock().getRelative(BlockFace.UP, 1).getType().equals(Material.AIR)) {
                                                    p.sendMessage(ChatColor.GRAY + "Log(s) Added!");
                                                    p.sendMessage(ChatColor.GRAY + "There are no logs for your bot to chop, shutting down.");
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
     
  2. Offline

    Double0negative

  3. Offline

    CubixCoders

    Comparing with .equals for ItemStacks and such is bad, use ==
     
  4. Offline

    XSilver_FalconX

    Yeah, but didn't really go through in do that. Did it the lazy way. :p

    I guess, but that can't possibly be the problem here

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 31, 2016
  5. Offline

    CubixCoders

    What code gets run and which doesn't? Add test messages to each to see where the code fails
     
  6. Offline

    XSilver_FalconX

    Will do, I'll get back to you. And I ran 2 checks with the p.sendMessage originally. the listener registers and calls the event when you git the anvil with the lever

    actually just that works o_0 everything else fails

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 31, 2016
  7. Offline

    CubixCoders

    So your blockface checks are failing.

    Your blockface West is probably failing, try moving the burning furnace (yeah that's a different block too btw) around the block. Make sure the furnace is on

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 31, 2016
  8. Offline

    XSilver_FalconX

    ah, it was the blockface. Oddly enough the block that should've been west was east. Must be something with the anvil. Thanks for the help!
     
  9. Offline

    CubixCoders

Thread Status:
Not open for further replies.

Share This Page