Skip to content

Commit

Permalink
Initial commit, [BETA] 0.1
Browse files Browse the repository at this point in the history
  • Loading branch information
CoocooFroggy committed Aug 3, 2020
0 parents commit dfd0918
Show file tree
Hide file tree
Showing 35 changed files with 977 additions and 0 deletions.
3 changes: 3 additions & 0 deletions .idea/.gitignore

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions .idea/artifacts/Bomb_Lobbers_jar.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions .idea/artifacts/Bomb_Lobbers_jar2.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

25 changes: 25 additions & 0 deletions .idea/jsonSchemas.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

11 changes: 11 additions & 0 deletions .idea/libraries/spigot_1_16_1.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions .idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 12 additions & 0 deletions Bomb Lobbers.iml
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>
Binary file added out/artifacts/Bomb_Lobbers_jar/Bomb Lobbers.jar
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
11 changes: 11 additions & 0 deletions out/production/Bomb Lobbers/plugin.yml
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
66 changes: 66 additions & 0 deletions src/com/CoocooFroggy/bomblobbers/ChangeTeam.java
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);
}
}
62 changes: 62 additions & 0 deletions src/com/CoocooFroggy/bomblobbers/DeathListener.java
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);
}
}
}
}
}
84 changes: 84 additions & 0 deletions src/com/CoocooFroggy/bomblobbers/DirectHitChecker.java
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;
}
}
Loading

0 comments on commit dfd0918

Please sign in to comment.