Solved Mob spawning help.

Discussion in 'Plugin Development' started by mrgreen33gamer, Jul 22, 2014.

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

    mrgreen33gamer

    Hello,

    I need some advice or some help solving the issue I am having. Problem:

    - I keep trying to figure out how to format a code to make it to were a mob will spawn on a certain block. Instance, if I want a creeper to spawn in my WorldGuard region, then I want it to spawn on a redstone block. I know how to spawn mobs in a WorldGuard region, I need to know how to let them spawn on a block. Example: Redstone block.

    Any help would be fine :D!

    ~mrgreen33gamer
     
  2. Offline

    Paradrakor

    I'm confused by your questions. Do you want creepers to spawn only on specific blocks, or are there a few locations within your world that you want to spawn creepers at?
     
  3. Offline

    ZodiacTheories

    mrgreen33gamer

    Spawn a mob, get the block beneath the mob, set it to redstone?
     
  4. Offline

    Paradrakor

    You could do something like this:

    CreatureSpawnEvent{
    if entity's location =/= specific location {
    cancel event
    }
    }
     
  5. Offline

    mrgreen33gamer

    Paradrakor
    ZodiacTheories

    Well. I tried this:

    Code:java
    1.  
    2. public void spawnLocationsCreeper(Creeper entity){
    3. Random random = new Random();
    4. int rnd = random.nextInt(8);
    5. switch(rnd){
    6. case 0:
    7. Location loc = new Location(Bukkit.getServer().getWorld("world"), 1039.5, 4, 1128.5); //spawn 1
    8. entity.teleport(loc);
    9. break;
    10. case 1:
    11. Location loc1 = new Location(Bukkit.getServer().getWorld("world"), 1039.5, 11,1128.5); //spawn 2
    12. entity.teleport(loc1);
    13. break;
    14. case 2:
    15. Location loc2 = new Location(Bukkit.getServer().getWorld("world"), 1026.5, 10, 1111.5); //spawn 3
    16. entity.teleport(loc2);
    17. break;
    18. case 3:
    19. Location loc3 = new Location(Bukkit.getServer().getWorld("world"), 1023.5, 4, 1143.5); //spawn 4
    20. entity.teleport(loc3);
    21. break;
    22. case 4:
    23. Location loc4 = new Location(Bukkit.getServer().getWorld("world"), 1046.5, 4, 1114.5); //spawn 5
    24. entity.teleport(loc4);
    25. break;
    26. case 5:
    27. Location loc5 = new Location(Bukkit.getServer().getWorld("world"), 1038.5, 4, 1098.5); //spawn 6
    28. entity.teleport(loc5);
    29. break;
    30. case 6:
    31. Location loc6 = new Location(Bukkit.getServer().getWorld("world"), 1049.5, 4, 1098.5); //spawn 7
    32. entity.teleport(loc6);
    33. break;
    34. case 7:
    35. Location loc7 = new Location(Bukkit.getServer().getWorld("world"), 1028.5, 4, 1102.5); //spawn 8
    36. entity.teleport(loc7);
    37. break;
    38.  
    39. }
    40. }
    41.  

    Along with:
    Code:java
    1.  
    2. public void creeperSpawn(final double d, final int y, final double e, final String name, final boolean Charged, final double Health, int seconds){
    3. test.add(test.size() + 1);
    4. this.plugin.getServer().getScheduler().scheduleSyncDelayedTask(this.plugin, new Runnable(){
    5. @Override
    6. public void run(){
    7. Location loc = new Location(Bukkit.getServer().getWorld("world"), 1046.5, 16, 1114.5);
    8. Creeper creeper = (Creeper)Bukkit.getWorld("world").spawnEntity(loc, EntityType.CREEPER);
    9. spawnLocationsCreeper(creeper);
    10. creeper.setCustomName(name);
    11. creeper.setCustomNameVisible(true);
    12. creeper.setRemoveWhenFarAway(false);
    13. creeper.setMetadata("mobarena-entity", new FixedMetadataValue(plugin, "true"));
    14. creeper.setMaxHealth(Health);
    15. if(Charged == true){
    16. creeper.setPowered(true);
    17. }
    18. }
    19. }, seconds * 20);
    20. }
    21.  


    And the mobs are like glitched -_-.
     
  6. Offline

    Paradrakor

    make an event handler for creature spawn
    if entity is creeper
    generate random # between 1-3
    teleport entity at spawn (random number)
     
    mrgreen33gamer likes this.
  7. Offline

    mrgreen33gamer

    Paradrakor 1+ like and SOLVED! Thank you! I have a lot of posts because I am developing minigames on my server!

    THANKS FOR HELPING!
     
Thread Status:
Not open for further replies.

Share This Page