-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
- Loading branch information
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<module type="JAVA_MODULE" version="4"> | ||
<component name="NewModuleRootManager" inherit-compiler-output="true"> | ||
<exclude-output /> | ||
<content url="file://$MODULE_DIR$"> | ||
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" /> | ||
</content> | ||
<orderEntry type="inheritedJdk" /> | ||
<orderEntry type="sourceFolder" forTests="false" /> | ||
<orderEntry type="library" name="spigot-1.16.1" level="project" /> | ||
</component> | ||
</module> |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
main: com.CoocooFroggy.bomblobbers.Main | ||
name: BombLobbers | ||
author: CoocooFroggy | ||
version: 1.0 | ||
api-version: 1.13 | ||
|
||
commands: | ||
bomblobbers: | ||
description: Commands for the Bomb Lobbers plugin | ||
usage: /bomblobbers [enable/disable, start/stop] | ||
aliases: bl |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,66 @@ | ||
package com.CoocooFroggy.bomblobbers; | ||
|
||
import org.bukkit.Bukkit; | ||
import org.bukkit.ChatColor; | ||
import org.bukkit.Material; | ||
import org.bukkit.entity.Player; | ||
import org.bukkit.inventory.Inventory; | ||
import org.bukkit.inventory.ItemStack; | ||
import org.bukkit.inventory.meta.ItemMeta; | ||
|
||
import java.util.ArrayList; | ||
import java.util.List; | ||
|
||
public class ChangeTeam { | ||
public static Inventory inv; | ||
|
||
public static boolean changeTeam(Player player) { | ||
createInv(); | ||
player.openInventory(inv); | ||
return false; | ||
} | ||
|
||
public static void createInv() { | ||
inv = Bukkit.createInventory(null, 9, ChatColor.BOLD + "Select a Team"); | ||
|
||
//Vars | ||
ItemStack item = new ItemStack(Material.GLASS_PANE); | ||
ItemMeta meta = item.getItemMeta(); | ||
|
||
//Blue Team | ||
item.setType(Material.BLUE_WOOL); | ||
meta.setDisplayName(ChatColor.DARK_BLUE + "Blue Team"); | ||
List<String> lore = new ArrayList<String>(); | ||
lore.add(ChatColor.GRAY + "Click to join team!"); | ||
meta.setLore(lore); | ||
item.setItemMeta(meta); | ||
inv.setItem(0, item); | ||
|
||
//Red Team | ||
item.setType(Material.RED_WOOL); | ||
meta.setDisplayName(ChatColor.DARK_RED + "Red Team"); | ||
lore = new ArrayList<String>(); | ||
lore.add(ChatColor.GRAY + "Click to join team!"); | ||
meta.setLore(lore); | ||
item.setItemMeta(meta); | ||
inv.setItem(1, item); | ||
|
||
//Green Team | ||
item.setType(Material.LIME_WOOL); | ||
meta.setDisplayName(ChatColor.GREEN + "Green Team"); | ||
lore = new ArrayList<String>(); | ||
lore.add(ChatColor.GRAY + "Click to join team!"); | ||
meta.setLore(lore); | ||
item.setItemMeta(meta); | ||
inv.setItem(2, item); | ||
|
||
//Close button | ||
item.setType(Material.BARRIER); | ||
meta.setDisplayName(ChatColor.RED + "Close Menu"); | ||
lore = new ArrayList<String>(); | ||
lore.add(ChatColor.GRAY + "Click to close the change team menu"); | ||
meta.setLore(lore); | ||
item.setItemMeta(meta); | ||
inv.setItem(8, item); | ||
} | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
package com.CoocooFroggy.bomblobbers; | ||
|
||
import org.bukkit.ChatColor; | ||
import org.bukkit.GameMode; | ||
import org.bukkit.Location; | ||
import org.bukkit.entity.Player; | ||
import org.bukkit.event.EventHandler; | ||
import org.bukkit.event.Listener; | ||
import org.bukkit.event.entity.EntityDamageEvent; | ||
import org.bukkit.event.entity.PlayerDeathEvent; | ||
import org.bukkit.scoreboard.Scoreboard; | ||
|
||
import java.util.HashMap; | ||
import java.util.List; | ||
|
||
public class DeathListener implements Listener { | ||
static int deathCount = 0; | ||
static HashMap<String, Integer> teamsAndAliveCount = new HashMap<String, Integer>(); | ||
//New teamsAndPlayers | ||
static HashMap<String, List<Player>> teamsAndPlayers = new HashMap<String, List<Player>>(); | ||
static HashMap<String, List<Player>> teamsAndAlive = new HashMap<String, List<Player>>(); | ||
static HashMap<Player, String> playersAndTeams = new HashMap<Player, String>(); | ||
|
||
@EventHandler | ||
public void onPlayerDeath(EntityDamageEvent event) { | ||
if (StartGame.gameStarted) { | ||
if (event.getEntity() instanceof Player) { | ||
Player player = (Player) event.getEntity(); | ||
if (event.getDamage() >= player.getHealth() - 1) { | ||
deathCount++; | ||
|
||
//Get the team the dead player was on | ||
String currentTeam = playersAndTeams.get(player); | ||
|
||
//Subtract 1 from the team alive count | ||
teamsAndAliveCount.put(currentTeam, teamsAndAliveCount.get(currentTeam) - 1); | ||
|
||
//Remove player from team | ||
List<Player> teamList = teamsAndAlive.get(currentTeam); | ||
teamList.remove(player); | ||
teamsAndAlive.put(currentTeam, teamList); | ||
|
||
//Puts the player in spectator | ||
player.setGameMode(GameMode.SPECTATOR); | ||
|
||
//Heals them to full | ||
player.setHealth(20); | ||
|
||
//Respawns them | ||
Location spawn = player.getWorld().getSpawnLocation(); | ||
player.teleport(spawn); | ||
|
||
//Makes them not die (by not taking damage) | ||
event.setCancelled(true); | ||
|
||
//Tells them they died | ||
player.sendTitle(ChatColor.RED + "You died!", null, 8, 30, 8); | ||
} | ||
} | ||
} | ||
} | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,84 @@ | ||
package com.CoocooFroggy.bomblobbers; | ||
|
||
import org.bukkit.Bukkit; | ||
import org.bukkit.ChatColor; | ||
import org.bukkit.Location; | ||
import org.bukkit.Sound; | ||
import org.bukkit.block.Block; | ||
import org.bukkit.entity.Entity; | ||
import org.bukkit.entity.Player; | ||
|
||
import static org.bukkit.Bukkit.getLogger; | ||
|
||
public class DirectHitChecker { | ||
Entity currentEntity; | ||
|
||
public void trackTNT(Entity tntEntity, Player thrower) { | ||
currentEntity = tntEntity; | ||
Object[] onlinePlayers = RightClickListener.onlinePlayers; | ||
whileLabel: | ||
while (!tntEntity.isDead()) { | ||
for (int i = 0; i < onlinePlayers.length; i++) { | ||
Player currentPlayer = null; | ||
if (onlinePlayers[i] instanceof Player) { | ||
currentPlayer = (Player) onlinePlayers[i]; | ||
} else { | ||
getLogger().info("Not a player!"); | ||
return; | ||
} | ||
|
||
if (currentPlayer.equals(thrower)) | ||
continue; | ||
|
||
//Get location of player | ||
Block playerLocation = currentPlayer.getLocation().getBlock(); | ||
Block playerHeadLocation = currentPlayer.getEyeLocation().getBlock(); | ||
//Get location of TNT | ||
Block tntBlockLocation = tntEntity.getLocation().getBlock(); | ||
Location tntLocation = tntEntity.getLocation(); | ||
|
||
// //Make playerLocation + 1 in the Y | ||
// Block newPlayerLocation = currentPlayer.getLocation().add(0, 1, 0).getBlock(); | ||
|
||
if (currentPlayer.getBoundingBox().overlaps(tntEntity.getBoundingBox())) { | ||
// getLogger().info("Same block (success)!"); | ||
currentPlayer.setVelocity(tntEntity.getVelocity().multiply(4)); | ||
Player finalCurrentPlayer = currentPlayer; | ||
Bukkit.getScheduler().runTask(Main.plugin, new Runnable() { | ||
@Override | ||
public void run() { | ||
finalCurrentPlayer.damage(6); | ||
} | ||
}); | ||
thrower.playSound(thrower.getLocation(), Sound.ENTITY_EXPERIENCE_ORB_PICKUP, 1, 1); | ||
// getLogger().info("Played sound to " + thrower.getDisplayName()); | ||
break whileLabel; | ||
} | ||
|
||
// if (tntBlockLocation.equals(playerLocation) || tntBlockLocation.equals(playerHeadLocation)) { | ||
//// getLogger().info("Same block (success)!"); | ||
// currentPlayer.setVelocity(tntEntity.getVelocity().multiply(4)); | ||
// Player finalCurrentPlayer = currentPlayer; | ||
// Bukkit.getScheduler().runTask(Main.plugin, new Runnable() { | ||
// @Override | ||
// public void run() { | ||
// finalCurrentPlayer.damage(6); | ||
// } | ||
// }); | ||
// thrower.playSound(thrower.getLocation(), Sound.ENTITY_EXPERIENCE_ORB_PICKUP, 1, 1); | ||
//// getLogger().info("Played sound to " + thrower.getDisplayName()); | ||
// break whileLabel; | ||
// } | ||
// else { | ||
// getLogger().info("not same, TNT loc is " + tntLocation + ChatColor.RESET + " and " + currentPlayer.getDisplayName() + " player loc is " + ChatColor.GOLD + playerLocation); | ||
// } | ||
} | ||
try { | ||
Thread.sleep(150); | ||
} catch (InterruptedException e) { | ||
e.printStackTrace(); | ||
} | ||
} | ||
return; | ||
} | ||
} |