MortarInteract now does tuner checking

master
Soper Aylamo 2021-05-25 23:32:03 -04:00
parent 7b62e07892
commit b27f56efdb
Signed by: Soper
GPG Key ID: A27AC885ACC3BEAE
1 changed files with 29 additions and 3 deletions

View File

@ -1,5 +1,6 @@
package xyz.soper.arty.event.Listener; package xyz.soper.arty.event.Listener;
import org.bukkit.ChatColor;
import org.bukkit.block.Block; import org.bukkit.block.Block;
import org.bukkit.entity.Arrow; import org.bukkit.entity.Arrow;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
@ -11,6 +12,7 @@ import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.inventory.EquipmentSlot; import org.bukkit.inventory.EquipmentSlot;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import xyz.soper.arty.item.Mortar; import xyz.soper.arty.item.Mortar;
import xyz.soper.arty.item.MortarTuner;
import xyz.soper.arty.item.Shell; import xyz.soper.arty.item.Shell;
import xyz.soper.arty.util.MortarHandler; import xyz.soper.arty.util.MortarHandler;
@ -36,15 +38,36 @@ public class MortarInteract implements Listener {
} }
} }
} }
if(MortarTuner.isTuner(item)){
player.sendMessage("DEBUG: Player has a tuner in hand.");
if(player.isSneaking()){
if(event.getAction() == Action.RIGHT_CLICK_BLOCK){
MortarHandler.linkTuner(block, item);
player.updateInventory();
player.sendMessage(ChatColor.GOLD + "Linked Tuner with to Mortar at "
+ block.getLocation().getBlockX() + ", "
+ block.getLocation().getBlockY() + ", "
+ block.getLocation().getBlockZ());
}
}
else{
}
}
} }
@EventHandler @EventHandler
public void onShellLand(ProjectileHitEvent event){ public void onShellLand(ProjectileHitEvent event){
if(event.getEntity() instanceof Arrow //START DEBUG
&& event.getEntity().getCustomName() != null System.out.println(ChatColor.GOLD + "------ARTY-DEBUG:------");
&& event.getEntity().getCustomName().equals("shell")){ System.out.println(event.getEntity().getCustomName());
System.out.println(event.getEntity().getShooter());
System.out.println(Shell.isShell(event.getEntity()));
//END DEBUG
if(Shell.isShell(event.getEntity())){
Shell shell = new Shell(event.getEntity()); Shell shell = new Shell(event.getEntity());
/*DEBUG*/System.out.println("Projectile is an arrow, not null, and a shell");
if(event.getHitBlock() != null){ if(event.getHitBlock() != null){
/*DEBUG*/System.out.println("Projectile hit a block, exploding shell in front of block.");
shell.explodeShell( shell.explodeShell(
event.getHitBlock() event.getHitBlock()
.getLocation() .getLocation()
@ -56,9 +79,12 @@ public class MortarInteract implements Listener {
event.getEntity().remove(); event.getEntity().remove();
} }
else if(event.getHitEntity() != null){ else if(event.getHitEntity() != null){
/*DEBUG*/System.out.println("Projectile hit an entity, exploding shell on entity.");
shell.explodeShell(event.getHitEntity().getLocation()); shell.explodeShell(event.getHitEntity().getLocation());
event.getEntity().remove(); event.getEntity().remove();
} }
} }
/*DEBUG*/System.out.println("Ending onShellLand event");
/*DEBUG*/System.out.println(ChatColor.GOLD + "---END OF ARTY-DEBUG---");
} }
} }