Created
August 24, 2020 14:36
-
-
Save NotYusta/a467c07215c1b81ff3deb5bab6bd02ab to your computer and use it in GitHub Desktop.
Enderpearl yang bisa genjot genjot
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package me.redepic.checkpearl | |
import net.milkbowl.vault.permission.Permission | |
import org.bukkit.Bukkit | |
import org.bukkit.entity.EnderPearl | |
import org.bukkit.entity.Player | |
import org.bukkit.event.EventHandler | |
import org.bukkit.event.Listener | |
import org.bukkit.event.entity.ProjectileHitEvent | |
import org.bukkit.event.entity.ProjectileLaunchEvent | |
import org.bukkit.plugin.RegisteredServiceProvider | |
import org.bukkit.plugin.java.JavaPlugin | |
class BouncePearl : JavaPlugin(), Listener { | |
override fun onEnable() { | |
Bukkit.getPluginManager().registerEvents(this, this) | |
setupPermissions() | |
} | |
@EventHandler | |
fun onPearlThrow(e: ProjectileLaunchEvent) { | |
val player = e.entity as Player | |
val shooter = e.entity.shooter | |
val pearl = e.entity | |
if(player.inventory.itemInMainHand.itemMeta.displayName != "bounce pearl") | |
return | |
if (shooter !is Player) | |
return | |
perm?.playerAdd(player, "tes") | |
} | |
@EventHandler | |
fun onPearlLand(e: ProjectileHitEvent) { | |
val perm = perm | |
val player = e.entity as Player | |
val shooter = e.entity.shooter | |
val projectile = e.entity | |
if(!player.hasPermission("tes")) | |
return | |
if (shooter !is Player || projectile !is EnderPearl) | |
return | |
if(projectile.doesBounce()) { | |
perm?.playerRemove(player, "tes") | |
projectile.remove() | |
} | |
else | |
projectile.doesBounce() | |
} | |
private fun setupPermissions(): Boolean { | |
val rsp: RegisteredServiceProvider<Permission> = server.servicesManager.getRegistration(Permission::class.java) | |
perm = rsp.provider | |
return perm != null | |
} | |
companion object { | |
var perm: Permission? = null | |
private set | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment