Solved Changing Spawner as it's placed.

Discussion in 'Plugin Development' started by Eggspurt, Jun 21, 2015.

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

    Eggspurt

    Basically what my intentions are is to be able to change the TYPE of spawner it is as it's placed... So say I place a normal mob spawner I want it to change to a Blaze Spawner; here's what I have thus far!

    Code:
        @EventHandler
        public void PlaceSpawner (BlockPlaceEvent e) {
            ItemStack hand = e.getItemInHand();
            if(hand.getType() == Material.MOB_SPAWNER) { //or test the block's type
                BlockState blockState = e.getBlock().getState();
                        CreatureSpawner spawner = ((CreatureSpawner)blockState);
                        spawner.setSpawnedType(EntityType.BLAZE);
                        blockState.update();
             e.getPlayer().sendMessage("You've placed a Mob Spawner!");
            }
        }
     
  2. Offline

    Xerox262

    Code:java
    1.  
    2. if(e.getBlock().getType() == Material.MOB_SPAWNER) {
    3. CreatureSpawner spawner = ((CreatureSpawner) e.getBlock().getState());
    4. spawner.setSpawnedType(EntityType.BLAZE);
    5. e.getBlock().getState().update();
    6. e.getPlayer().sendMessage("You've placed a Mob Spawner!");
    7. }


    Just tested this and it does exactly what you're asking
     
    Eggspurt likes this.
  3. Offline

    Eggspurt

    Using that exact code? It sends me a message saying You've placed a Spawner but it doesn't change it..

    After further investigations I've figured out it is one of my plugins - Thanks for your help regardless!

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jun 12, 2016
Thread Status:
Not open for further replies.

Share This Page