Non-Pushable and stationary help!

Discussion in 'Plugin Development' started by Sean0402, Jul 27, 2014.

Thread Status:
Not open for further replies.
  1. How do I make my mobs non-pushable and stationary?? My villager keeps running off..

    http://gyazo.com/8e1e8cd45831aa33d8aa8c34c56a1bba

    My code:
    Code:java
    1. package me.sean0402.freezemobs;
    2.  
    3. import java.util.ArrayList;
    4.  
    5. import org.bukkit.Bukkit;
    6. import org.bukkit.ChatColor;
    7. import org.bukkit.Location;
    8. import org.bukkit.World;
    9. import org.bukkit.entity.Blaze;
    10. import org.bukkit.entity.Cow;
    11. import org.bukkit.entity.Creeper;
    12. import org.bukkit.entity.Entity;
    13. import org.bukkit.entity.EntityType;
    14. import org.bukkit.entity.Player;
    15. import org.bukkit.entity.Skeleton;
    16. import org.bukkit.entity.Villager;
    17. import org.bukkit.event.EventHandler;
    18. import org.bukkit.event.Listener;
    19. import org.bukkit.event.entity.EntityCombustEvent;
    20. import org.bukkit.event.entity.EntityDamageByEntityEvent;
    21. import org.bukkit.event.entity.EntityDamageEvent;
    22. import org.bukkit.event.entity.EntityDamageEvent.DamageCause;
    23. import org.bukkit.plugin.java.JavaPlugin;
    24.  
    25.  
    26. public class FreezeMobs extends JavaPlugin implements Listener {
    27.  
    28. public ArrayList<Villager> v1 = new ArrayList<Villager>();
    29. public ArrayList<Villager> v2 = new ArrayList<Villager>();
    30.  
    31. public void onEnable() {
    32.  
    33. getServer().getPluginManager().registerEvents(this, this);
    34.  
    35. for(Entity e : Bukkit.getWorld("world").getEntities()){
    36. if(e instanceof Villager){
    37. e.remove();
    38. for(Entity e1 : Bukkit.getWorld("world").getEntities()){
    39. if(e1 instanceof Skeleton){
    40. e1.remove();
    41. }
    42. }
    43. }
    44. }
    45. ourEntities();
    46. }
    47.  
    48.  
    49. public void ourEntities() {
    50. World w = Bukkit.getWorld("world");
    51. Location loc1 = new Location(w, 292.4, 87, -53.5);
    52. Location loc2 = new Location(w, 287.4, 87, -53.4);
    53.  
    54. Skeleton s = (Skeleton)loc1.getWorld().spawnEntity(loc1, EntityType.SKELETON);
    55. StopWalking.createWMAPIMob(s, loc1);
    56. s.setCustomName(ChatColor.AQUA + "Kits");
    57. s.setCustomNameVisible(true);
    58.  
    59.  
    60. Villager z = (Villager)loc2.getWorld().spawnEntity(loc2, EntityType.VILLAGER);
    61. StopWalking.createWMAPIMob(s, loc2);
    62. z.setCustomName(ChatColor.GOLD + "Shop");
    63. z.setCustomNameVisible(true);
    64. }
    65.  
    66. @EventHandler
    67. public void onBurn(EntityCombustEvent event)
    68. {
    69. event.setCancelled(true);
    70. }
    71.  
    72. @EventHandler
    73. public void onDamage(EntityDamageByEntityEvent e){
    74. Entity en = (Entity) e.getEntity();
    75. if(en instanceof Villager){
    76. Villager v = (Villager) en;
    77. if(v.getCustomName().equalsIgnoreCase(ChatColor.GOLD + "Shop")){
    78. e.setCancelled(true);
    79. }else if(v.getCustomName().equalsIgnoreCase(ChatColor.AQUA + "Kits")){
    80. e.setCancelled(true);
    81. }
    82. }else if(en instanceof Skeleton){
    83. Skeleton v = (Skeleton) en;
    84. if(v.getCustomName().equalsIgnoreCase(ChatColor.AQUA + "Kits")){
    85. e.setCancelled(true);
    86. }else if(v.getCustomName().equalsIgnoreCase(ChatColor.GOLD + "Shop")){
    87. e.setCancelled(true);
    88. }
    89. }
    90. }
    91. }
     
  2. Offline

    Jalau

    Double Post and as i already said, use Citizens for that, if you want it easy and fast :)
     
Thread Status:
Not open for further replies.

Share This Page