Compare commits
4 Commits
70a1740644
...
3c1dea3451
Author | SHA1 | Date | |
---|---|---|---|
3c1dea3451 | |||
36fc89e915 | |||
7a15984f19 | |||
87870c96f7 |
@ -1,7 +1,7 @@
|
||||
package eu.mhsl.craftattack.spawn.appliances.customAdvancements;
|
||||
|
||||
import eu.mhsl.craftattack.spawn.appliance.ApplianceListener;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.entity.EntityDamageByEntityEvent;
|
||||
@ -9,12 +9,11 @@ import org.bukkit.event.entity.EntityDamageByEntityEvent;
|
||||
public class CustomAdvancementsDamageEntityListener extends ApplianceListener<CustomAdvancements> {
|
||||
@EventHandler
|
||||
public void onEntityDamageEntity(EntityDamageByEntityEvent event) {
|
||||
Entity damaged = event.getEntity();
|
||||
if(!(damaged instanceof Player)) return;
|
||||
Entity damager = event.getDamager();
|
||||
if(!(damager instanceof Player)) return;
|
||||
if(damaged.hasPermission("admin")) {
|
||||
getAppliance().grantAdvancement("search_trouble", (Player) damager);
|
||||
}
|
||||
if(!(event.getEntity() instanceof Player damaged)) return;
|
||||
if(!(event.getDamager() instanceof Player damager)) return;
|
||||
if(!damager.getInventory().getItemInMainHand().getType().equals(Material.AIR)) return;
|
||||
if(!damaged.hasPermission("admin")) return;
|
||||
|
||||
getAppliance().grantAdvancement("search_trouble", damager);
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,22 @@
|
||||
package eu.mhsl.craftattack.spawn.appliances.snowballKnockback;
|
||||
|
||||
import eu.mhsl.craftattack.spawn.appliance.Appliance;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.util.Vector;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class SnowballKnockback extends Appliance {
|
||||
public void dealKnockback(LivingEntity entity, Vector velocityVector, double strength, double damage) {
|
||||
entity.damage(damage);
|
||||
entity.knockback(strength, -velocityVector.getX(), -velocityVector.getZ());
|
||||
}
|
||||
|
||||
@Override
|
||||
@NotNull
|
||||
protected List<Listener> listeners() {
|
||||
return List.of(new SnowballKnockbackListener());
|
||||
}
|
||||
}
|
@ -0,0 +1,18 @@
|
||||
package eu.mhsl.craftattack.spawn.appliances.snowballKnockback;
|
||||
|
||||
import eu.mhsl.craftattack.spawn.appliance.ApplianceListener;
|
||||
import org.bukkit.entity.*;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.entity.ProjectileHitEvent;
|
||||
|
||||
public class SnowballKnockbackListener extends ApplianceListener<SnowballKnockback> {
|
||||
@EventHandler
|
||||
public void onSnowballHit(ProjectileHitEvent event) {
|
||||
if(event.getHitEntity() == null) return;
|
||||
if(!event.getEntityType().equals(EntityType.SNOWBALL)) return;
|
||||
if(!(event.getHitEntity() instanceof LivingEntity hitEntity)) return;
|
||||
|
||||
Entity snowball = event.getEntity();
|
||||
getAppliance().dealKnockback(hitEntity, snowball.getVelocity(), 0.4, 0.1);
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user