GunCode

Discussion in 'Plugin Development' started by Norbu10, Feb 5, 2014.

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

    Norbu10

    So i have some code but when i want to use an BukkitRunnable it will give me lots of errors!

    And Some Sounds Dont work! Why?

    Code :
    Code:java
    1. package me.norbert.norbuland;
    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.Material;
    9. import org.bukkit.Sound;
    10. import org.bukkit.block.Block;
    11. import org.bukkit.entity.Arrow;
    12. import org.bukkit.entity.Entity;
    13. import org.bukkit.entity.LivingEntity;
    14. import org.bukkit.entity.Player;
    15. import org.bukkit.event.EventHandler;
    16. import org.bukkit.event.EventPriority;
    17. import org.bukkit.event.Listener;
    18. import org.bukkit.event.block.Action;
    19. import org.bukkit.event.entity.EntityDamageByEntityEvent;
    20. import org.bukkit.event.entity.EntityDamageEvent;
    21. import org.bukkit.event.entity.PlayerDeathEvent;
    22. import org.bukkit.event.entity.ProjectileHitEvent;
    23. import org.bukkit.event.entity.EntityDamageEvent.DamageCause;
    24. import org.bukkit.event.player.PlayerInteractEvent;
    25. import org.bukkit.event.player.PlayerMoveEvent;
    26. import org.bukkit.event.player.PlayerQuitEvent;
    27. import org.bukkit.event.player.PlayerToggleSneakEvent;
    28. import org.bukkit.inventory.Inventory;
    29. import org.bukkit.inventory.ItemStack;
    30. import org.bukkit.potion.PotionEffect;
    31. import org.bukkit.util.BlockIterator;
    32. import org.bukkit.util.Vector;
    33.  
    34.  
    35. public class shooterhouse implements Listener{
    36.  
    37. ArrayList<String> gunner = new ArrayList<String>();
    38. ArrayList<String> jumpers = new ArrayList<String>();
    39. ArrayList<String> level1 = new ArrayList<String>();
    40. ArrayList<String> level2 = new ArrayList<String>();
    41. ArrayList<String> level3 = new ArrayList<String>();
    42. ArrayList<String> level4 = new ArrayList<String>();
    43. ArrayList<String> level5 = new ArrayList<String>();
    44.  
    45. ItemStack upgrade = new ItemStack(Material.INK_SACK, 1, (short)10);
    46.  
    47.  
    48.  
    49.  
    50. @EventHandler
    51. public void onClick(PlayerInteractEvent e) {
    52. if(e.getAction() == Action.RIGHT_CLICK_AIR || e.getAction() == Action.RIGHT_CLICK_BLOCK) {
    53. Player p = e.getPlayer();
    54. if (gunner.contains(p.getName())) {
    55. if(p.getItemInHand().getType() == Material.FIREWORK_CHARGE) {
    56. p.playSound(p.getLocation(), Sound.BLAZE_HIT, 200, 3);
    57. Ammo(p);
    58. }
    59. }
    60. }
    61. }
    62. @EventHandler
    63. public void onClickUpgrade(PlayerInteractEvent e) {
    64. if(e.getAction() == Action.RIGHT_CLICK_AIR || e.getAction() == Action.RIGHT_CLICK_BLOCK) {
    65. Player p = e.getPlayer();
    66. if (gunner.contains(p.getName())) {
    67. p.playSound(p.getLocation(), Sound.BLAZE_HIT, 200, 3);
    68. if(p.getItemInHand().getType() == Material.INK_SACK) {
    69. if (gunner.contains(p.getName())) {
    70. p.getInventory().removeItem(new ItemStack(upgrade));
    71. p.playSound(p.getLocation(), Sound.FIREWORK_LAUNCH, -200, 3);
    72. if (level1.contains(p.getName())) {
    73. level2.add(p.getName());
    74. level1.remove(p.getName());
    75. p.chat(ChatColor.GRAY+"Ik ben geupgrade naar lvl : "+ChatColor.GREEN+"2 "+ChatColor.GRAY+"In GunHouse!" );
    76. p.playSound(p.getLocation(), Sound.FIREWORK_LAUNCH, -200, 3);
    77. } else if (level2.contains(p.getName())) {
    78. level3.add(p.getName());
    79. level2.remove(p.getName());
    80. p.playSound(p.getLocation(), Sound.FIREWORK_LAUNCH, -200, 3);
    81. p.chat(ChatColor.GRAY+"Ik ben geupgrade naar lvl : "+ChatColor.GREEN+"3 "+ChatColor.GRAY+"In GunHouse!" );
    82. } else if (level3.contains(p.getName())) {
    83. level4.add(p.getName());
    84. level3.remove(p.getName());
    85. p.playSound(p.getLocation(), Sound.FIREWORK_LAUNCH, -200, 3);
    86. p.chat(ChatColor.GRAY+"Ik ben geupgrade naar lvl : "+ChatColor.GREEN+"4 "+ChatColor.GRAY+"In GunHouse!" );
    87. } else if (level4.contains(p.getName())) {
    88. level5.add(p.getName());
    89. level4.remove(p.getName());
    90. p.playSound(p.getLocation(), Sound.ENDERMAN_DEATH, -200, 3);
    91. p.chat(ChatColor.GRAY+"Ik ben geupgrade naar lvl : "+ChatColor.GREEN+"5 "+ChatColor.GRAY+"In GunHouse!" );
    92. } else if (level5.contains(p.getName())) {
    93. p.sendMessage(ChatColor.DARK_GRAY+"[*]"+ChatColor.RED+" Je bent al in Kill Streak mode! "+ChatColor.DARK_GRAY+"[*]");
    94. }
    95. }
    96. }
    97. }
    98. }
    99. }
    100. private void Ammo(Player p) {
    101. if (level1.contains(p.getName())) {
    102. Arrow ar = p.launchProjectile(Arrow.class);
    103. ar.setVelocity(p.getLocation().getDirection().multiply(1.8));
    104. } else if (level2.contains(p.getName())) {
    105. Arrow ar = p.launchProjectile(Arrow.class);
    106. ar.setVelocity(p.getLocation().getDirection().multiply(2.4));
    107. } else if (level3.contains(p.getName())) {
    108. Arrow ar = p.launchProjectile(Arrow.class);
    109. ar.setVelocity(p.getLocation().getDirection().multiply(3.2));
    110. } else if (level4.contains(p.getName())) {
    111. Arrow ar = p.launchProjectile(Arrow.class);
    112. ar.setVelocity(p.getLocation().getDirection().multiply(4.1));
    113.  
    114.  
    115.  
    116. } else if (level5.contains(p.getName())) {
    117. Arrow ar = p.launchProjectile(Arrow.class);
    118. ar.setVelocity(p.getLocation().getDirection().multiply(5.0));
    119. }
    120. };
    121. @EventHandler
    122. public void onPlayerInteractWithGunner(PlayerInteractEvent event) {
    123. if (event.getAction().equals(Action.PHYSICAL)) {
    124. if (event.getClickedBlock().getType().equals(Material.STONE_PLATE)) {
    125. Location location = event.getClickedBlock().getLocation();
    126. location.setY(location.getY()-1);
    127. if(location.getBlock().getType().equals(Material.EMERALD_BLOCK)){
    128. event.getPlayer().playSound(event.getPlayer().getLocation(), Sound.NOTE_PIANO, -200, 3);
    129. Player p = event.getPlayer();
    130. p.sendMessage(ChatColor.DARK_GRAY+"[*]"+ChatColor.GRAY+" Ammo Loaded "+ChatColor.DARK_GRAY+"[*]");
    131. gunner.add(p.getName());
    132. level1.add(p.getName());
    133. }
    134. }
    135. }
    136. }
    137. @EventHandler
    138. public void onPlayerInteractWithRemoveGunner(PlayerInteractEvent event) {
    139. if (event.getAction().equals(Action.PHYSICAL)) {
    140. if (event.getClickedBlock().getType().equals(Material.STONE_PLATE)) {
    141. Location location = event.getClickedBlock().getLocation();
    142. location.setY(location.getY()-1);
    143. if(location.getBlock().getType().equals(Material.REDSTONE_BLOCK)){
    144. event.getPlayer().playSound(event.getPlayer().getLocation(), Sound.CLICK, 200, 3);
    145. Player p = event.getPlayer();
    146. p.sendMessage(ChatColor.DARK_GRAY+"[*]"+ChatColor.GRAY+" Ammo Empty "+ChatColor.DARK_GRAY+"[*]");
    147. gunner.remove(p.getName());
    148. level1.remove(p.getName());
    149. level2.remove(p.getName());
    150. level3.remove(p.getName());
    151. level4.remove(p.getName());
    152. level5.remove(p.getName());
    153. for (PotionEffect effect : p.getActivePotionEffects())
    154. p.removePotionEffect(effect.getType());
    155. }
    156. }
    157. }
    158. }
    159. @EventHandler
    160. public void onPlayerToggleSneakEvent(PlayerToggleSneakEvent event) {
    161. Player player = event.getPlayer();
    162. if (gunner.contains(player.getName())) {
    163. if(player.isSneaking()) {player.setMaxHealth(6.00);
    164. player.setHealth(6.00);
    165. player.sendMessage(ChatColor.DARK_GRAY+"NorbuLand : "+ChatColor.GRAY+"Je bent uit Ghost Mode");
    166. player.sendMessage(ChatColor.DARK_GRAY+"NorbuLand : "+ChatColor.GRAY+"Je hebt weer 3 Levens :)");
    167. for(Player all : Bukkit.getServer().getOnlinePlayers()) {
    168. all.showPlayer(player);
    169.  
    170. }
    171. } else {
    172. player.setMaxHealth(2.00);
    173. player.setHealth(2.00);
    174. player.sendMessage(ChatColor.DARK_GRAY+"NorbuLand : "+ChatColor.GRAY+"Je bent in Ghost Mode");
    175. player.sendMessage(ChatColor.DARK_GRAY+"NorbuLand : "+ChatColor.GRAY+"Maar pas op! je hebt maar 1 Leven!");
    176. for(Player all : Bukkit.getServer().getOnlinePlayers()) {
    177. all.hidePlayer(player);
    178. }
    179. }
    180.  
    181. }
    182. }
    183. @SuppressWarnings("deprecation")
    184. @EventHandler
    185. public void onProjectileHit(ProjectileHitEvent event) {
    186. Entity entity = event.getEntity();
    187.  
    188. if (entity instanceof Arrow) {
    189. BlockIterator iterator = new BlockIterator(entity.getWorld(), entity.getLocation().toVector(), entity.getVelocity().normalize(), 0, 4);
    190. Block hitBlock = null;
    191. while(iterator.hasNext()) {
    192. hitBlock = iterator.next();
    193. if(hitBlock.getTypeId()!=0) {
    194. break;
    195. }
    196. }
    197. entity.remove(); //remove arrow
    198. }
    199. }
    200. @EventHandler
    201. public void GunnerLeave(PlayerQuitEvent event){
    202. Player p = event.getPlayer();
    203. p.sendMessage(ChatColor.DARK_GRAY+"[*]"+ChatColor.GRAY+" Ammo Empty "+ChatColor.DARK_GRAY+"[*]");
    204. gunner.remove(p.getName());
    205. level1.remove(p.getName());
    206. level2.remove(p.getName());
    207. level3.remove(p.getName());
    208. level4.remove(p.getName());
    209. level5.remove(p.getName());
    210. for (PotionEffect effect : p.getActivePotionEffects())
    211. p.removePotionEffect(effect.getType());
    212. }
    213. public int Timer = 30;
    214. @EventHandler (priority = EventPriority.LOW, ignoreCancelled = false)
    215. public void onArrowHit(EntityDamageByEntityEvent event)
    216. {
    217. Entity damaged = event.getEntity();
    218. Entity damageEntity = event.getDamager();
    219.  
    220. if(damaged instanceof Player)
    221. if(damageEntity instanceof Arrow)
    222. {
    223. Arrow arrow = (Arrow)damageEntity;
    224. LivingEntity entityThrower = arrow.getShooter();
    225. if(entityThrower instanceof Player)
    226. {
    227. Player ph = (Player)damaged;
    228. Player pt = (Player)entityThrower;
    229. Inventory pti = pt.getInventory();
    230. ph.setHealth(00.00);
    231. pti.addItem(upgrade);
    232. ph.sendMessage(ChatColor.DARK_GRAY+"[*]"+ChatColor.RED+"Je bent dood gegaan! Wreek je dood door "+pt.getName()+" Te doden!"+ChatColor.DARK_GRAY+"[*]");
    233. if (gunner.contains(pt.getName())) {
    234. pt.sendMessage(ChatColor.DARK_GRAY+"[*]"+ChatColor.GREEN+" Pas op! volgens mij gaat "+ph.getName()+" Zijn dood door jou wreken!"+ChatColor.DARK_GRAY+"[*]");
    235. pt.sendMessage(ChatColor.DARK_GRAY+"[*]"+ChatColor.GREEN+" Hallo daar! Ik ben een upgrade! Klik op mij om te upgraden! "+ChatColor.DARK_GRAY+"[*]");
    236. if (ph.isSneaking()) {
    237. pt.sendMessage(ChatColor.DARK_GRAY+"[*]"+ChatColor.GRAY+" Je hebt een Ghost verslagen! "+ChatColor.DARK_GRAY+"[*]");
    238. }
    239. }
    240. }
    241. }
    242. }
    243. @EventHandler(priority=EventPriority.LOW)
    244. public void onPlayerDeath(PlayerDeathEvent event)
    245. {
    246. Player p = event.getEntity();
    247. gunner.remove(p.getName());
    248. level1.remove(p.getName());
    249. level2.remove(p.getName());
    250. level3.remove(p.getName());
    251. level4.remove(p.getName());
    252. level5.remove(p.getName());
    253. for (PotionEffect effect : p.getActivePotionEffects())
    254. p.removePotionEffect(effect.getType());
    255. }
    256. @EventHandler
    257. public void onPlayerMove(PlayerMoveEvent event) {
    258. Block below = event.getPlayer().getWorld().getBlockAt(event.getPlayer().getLocation().getBlockX(), event.getPlayer().getLocation().getBlockY() - 1, event.getPlayer().getLocation().getBlockZ());
    259. Player p = event.getPlayer();
    260. if (below.getType() == Material.BEDROCK){
    261. if (gunner.contains(p.getName())) {
    262. Vector vector = p.getEyeLocation().getDirection();
    263. vector.multiply(1.0F);
    264. vector.setY(2.0);
    265. p.setVelocity(vector);
    266. p.playSound(p.getLocation(), Sound.PISTON_EXTEND, -200, 3);
    267. jumpers.add(p.getName());
    268. }
    269. }
    270. }
    271. @EventHandler
    272. public void onPlayerDamage(EntityDamageEvent e) {
    273. if (e.getEntity() instanceof Player) {
    274. Player p = (Player) e.getEntity();
    275. if (e.getCause() == DamageCause.FALL && jumpers.contains(p)) {
    276. e.setDamage(0.0);
    277. ParticleEffect.CRIT.display(p.getLocation(), (float) 0.2, (float) 0.2, (float) 0.2, 1, 5);
    278. ParticleEffect.HAPPY_VILLAGER.display(p.getLocation(), (float) 0.2, (float) 0.2, (float) 0.2, 1, 5);
    279. p.playSound(p.getLocation(), Sound.STEP_SAND, 1, -100);
    280. jumpers.remove(p.getName());
    281. }
    282. }
    283. }
    284. }
     
  2. Offline

    ThePlayerPaul

    Post your errors
     
  3. Offline

    Norbu10

    Code:java
    1. @EventHandler
    2. public void onClick(PlayerInteractEvent e) {
    3. if(e.getAction() == Action.RIGHT_CLICK_AIR || e.getAction() == Action.RIGHT_CLICK_BLOCK) {
    4. Player p = e.getPlayer();
    5. if (gunner.contains(p.getName())) {
    6. if(p.getItemInHand().getType() == Material.FIREWORK_CHARGE) {
    7. p.playSound(p.getLocation(), Sound.BLAZE_HIT, 200, 3);
    8. Ammo(p);
    9. new BukkitRunnable {
    10.  
    11. @Override
    12. public void run() {
    13. plugin.getServer().broadcastMessage(
    14. "here are the errors at plugin . and new");
    15. }
    16.  
    17. }.runTaskLater(this.plugin, 20);
    18. }
    19. }
    20. }
    21. }

    syntax error on token "." delete this token
    plugin can not be resolved or is not a field
    syntax error on token "new" , interface expected
     
  4. Offline

    ThePlayerPaul

  5. Offline

    Norbu10

    Yeah but whats wrong with it?
     
  6. Offline

    ThePlayerPaul

    Is it your main class?
     
  7. Offline

    Norbu10

    ThePlayerPaul
    No it isnt


    And why dont my sounds work?

    Only some sounds work
     
  8. Offline

    Dolphin26

    FYI, I ran into a similar problem. I found the example for an anonymous class at http://wiki.bukkit.org/Scheduler_Programming had a mistake in it. The line where you create it had:
    Code:
     new BukkitRunnable {
    where it should read:
    Code:
     new BukkitRunnable() {
    It was missing parentheses in the constructor, and that caused the error you reported:
    Code:
    syntax error on token "new" , interface expected
    Your code in the second code section of this thread has the exact same problem, so I am guessing you based your code on that wiki page. I have since then edited that page, correcting the mistake, so future people won't have the same problem.
     
Thread Status:
Not open for further replies.

Share This Page