Created
June 13, 2013 17:24
-
-
Save ucchyocean/5775561 to your computer and use it in GitHub Desktop.
PVPGunPlusで、リスポーン後のNoDamageTicks期間はダメージ無効にする。
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
/* | |
* @author ucchy | |
* @license GPLv3 | |
* @copyright Copyright ucchy 2013 | |
*/ | |
package com.github.ucchyocean.pr; | |
import org.bukkit.entity.Player; | |
import org.bukkit.event.EventHandler; | |
import org.bukkit.event.Listener; | |
import org.bukkit.plugin.java.JavaPlugin; | |
import com.orange451.pvpgunplus.events.PVPGunPlusGunDamageEntityEvent; | |
/** | |
* PVPGunPlus_Addon_RespawnKillGuard | |
* @author ucchy | |
*/ | |
public class RespawnKillGuard extends JavaPlugin implements Listener { | |
/** | |
* @see org.bukkit.plugin.java.JavaPlugin#onEnable() | |
*/ | |
@Override | |
public void onEnable() { | |
getServer().getPluginManager().registerEvents(this, this); | |
} | |
@EventHandler | |
public void onPVPGunDamage(PVPGunPlusGunDamageEntityEvent event) { | |
if ( event.getEntityDamaged() instanceof Player ) { | |
Player damager = (Player)event.getEntityDamaged(); | |
int ticks = damager.getNoDamageTicks(); | |
if ( ticks > 0 ) { | |
event.setCancelled(true); | |
} | |
} | |
} | |
} |
PVPGunPlus側から、NoDamageTicksを設定している箇所があり(例えば、ショットガンなど複数の弾が飛んで多段ヒットする場合、多段ノックバックしないようになっている)、
このコード(RespawnKillGuard)を入れると、多段ヒットしなくなるので威力が下がる可能性がある。
対策案としては例えば、ColorTeaming側から設定するNoDamageTicksを20多くし、こっちのコード側34行目の判定を if ( ticks > 20 ) にする(結構苦し紛れか・・・)。
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
PVPGunPlus.jarをクラスパスに入れて、PVPGunPlusGunDamageEntityEvent のイベントをEventHandlerでハンドルする。