Initial commit
This commit is contained in:
3
Plugins/Old/Split-Challenge/.idea/.gitignore
generated
vendored
Normal file
3
Plugins/Old/Split-Challenge/.idea/.gitignore
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
# Default ignored files
|
||||
/shelf/
|
||||
/workspace.xml
|
||||
8
Plugins/Old/Split-Challenge/.idea/artifacts/Split_Challenge.xml
generated
Normal file
8
Plugins/Old/Split-Challenge/.idea/artifacts/Split_Challenge.xml
generated
Normal file
@@ -0,0 +1,8 @@
|
||||
<component name="ArtifactManager">
|
||||
<artifact type="jar" name="Split-Challenge">
|
||||
<output-path>$PROJECT_DIR$/../Output</output-path>
|
||||
<root id="archive" name="Split-Challenge.jar">
|
||||
<element id="module-output" name="Split-Challenge" />
|
||||
</root>
|
||||
</artifact>
|
||||
</component>
|
||||
11
Plugins/Old/Split-Challenge/.idea/libraries/spigot_1_16_2.xml
generated
Normal file
11
Plugins/Old/Split-Challenge/.idea/libraries/spigot_1_16_2.xml
generated
Normal file
@@ -0,0 +1,11 @@
|
||||
<component name="libraryTable">
|
||||
<library name="spigot-1.16.2">
|
||||
<CLASSES>
|
||||
<root url="jar://$PROJECT_DIR$/../spigot-1.16.2.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES>
|
||||
<root url="jar://$PROJECT_DIR$/../spigot-1.16.2.jar!/" />
|
||||
</SOURCES>
|
||||
</library>
|
||||
</component>
|
||||
6
Plugins/Old/Split-Challenge/.idea/misc.xml
generated
Normal file
6
Plugins/Old/Split-Challenge/.idea/misc.xml
generated
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
|
||||
<output url="file://$PROJECT_DIR$/out" />
|
||||
</component>
|
||||
</project>
|
||||
8
Plugins/Old/Split-Challenge/.idea/modules.xml
generated
Normal file
8
Plugins/Old/Split-Challenge/.idea/modules.xml
generated
Normal file
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/Split-Challenge.iml" filepath="$PROJECT_DIR$/Split-Challenge.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
</project>
|
||||
12
Plugins/Old/Split-Challenge/Split-Challenge.iml
Normal file
12
Plugins/Old/Split-Challenge/Split-Challenge.iml
Normal file
@@ -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.2" level="project" />
|
||||
</component>
|
||||
</module>
|
||||
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.
@@ -0,0 +1,10 @@
|
||||
name: split-herzen
|
||||
main: de.craftix.splitChallenge.Main
|
||||
version: 1.0.0
|
||||
api-version: 1.16
|
||||
|
||||
commands:
|
||||
timer:
|
||||
settings:
|
||||
position:
|
||||
bp:
|
||||
@@ -0,0 +1,11 @@
|
||||
package de.craftix.splitChallenge;
|
||||
|
||||
import net.md_5.bungee.api.ChatMessageType;
|
||||
import net.md_5.bungee.api.chat.TextComponent;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class ActionBar {
|
||||
public static void show(Player p, String msg){
|
||||
p.spigot().sendMessage(ChatMessageType.ACTION_BAR, new TextComponent(msg));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
package de.craftix.splitChallenge;
|
||||
|
||||
import de.craftix.splitChallenge.commands.Backpack;
|
||||
import de.craftix.splitChallenge.commands.Invsee;
|
||||
import de.craftix.splitChallenge.commands.Position;
|
||||
import de.craftix.splitChallenge.commands.Settings;
|
||||
import de.craftix.splitChallenge.listener.onDamage;
|
||||
import de.craftix.splitChallenge.listener.onDeath;
|
||||
import de.craftix.splitChallenge.listener.onStart;
|
||||
import de.craftix.splitChallenge.listener.onWin;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.GameMode;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.plugin.PluginManager;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
public class Main extends JavaPlugin {
|
||||
private static Main instance;
|
||||
private static Timer timer;
|
||||
|
||||
@Override
|
||||
public void onEnable() {
|
||||
instance = this;
|
||||
timer = new Timer();
|
||||
Backpack.bp = Bukkit.createInventory(null, 3*9, "Backpack");
|
||||
|
||||
Settings settings = new Settings();
|
||||
Bukkit.getPluginManager().registerEvents(settings, this);
|
||||
getCommand("settings").setExecutor(settings);
|
||||
getCommand("timer").setExecutor(timer);
|
||||
getCommand("position").setExecutor(new Position());
|
||||
getCommand("bp").setExecutor(new Backpack());
|
||||
getCommand("invsee").setExecutor(new Invsee());
|
||||
|
||||
PluginManager pm = Bukkit.getPluginManager();
|
||||
pm.registerEvents(new onDamage(), this);
|
||||
pm.registerEvents(new onStart(), this);
|
||||
pm.registerEvents(new onWin(), this);
|
||||
pm.registerEvents(new onDeath(), this);
|
||||
}
|
||||
|
||||
public static void win(){
|
||||
timer.stop();
|
||||
for (Player p : Bukkit.getOnlinePlayers()){
|
||||
p.setGameMode(GameMode.SPECTATOR);
|
||||
}
|
||||
Bukkit.broadcastMessage("§6Die Challenge wurde erfolgreich absolviert");
|
||||
}
|
||||
|
||||
public static void loose(){
|
||||
timer.stop();
|
||||
for (Player p : Bukkit.getOnlinePlayers()){
|
||||
p.setGameMode(GameMode.SPECTATOR);
|
||||
}
|
||||
}
|
||||
|
||||
public static Main getInstance() {
|
||||
return instance;
|
||||
}
|
||||
|
||||
public static Timer getTimer() {
|
||||
return timer;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,110 @@
|
||||
package de.craftix.splitChallenge;
|
||||
|
||||
import de.craftix.splitChallenge.commands.Settings;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.GameMode;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class Timer implements CommandExecutor {
|
||||
|
||||
private Integer id;
|
||||
private Integer stopID;
|
||||
public int seconds = 0;
|
||||
public int minutes = 0;
|
||||
public int hours = 0;
|
||||
public boolean isStarted = false;
|
||||
|
||||
public Timer(){
|
||||
stopID = Bukkit.getScheduler().scheduleSyncRepeatingTask(Main.getInstance(), new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
for (Player p : Bukkit.getOnlinePlayers()){
|
||||
ActionBar.show(p, "§6Der Timer ist pausiert");
|
||||
}
|
||||
}
|
||||
}, 1, 20);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onCommand(CommandSender sender, Command command, String s, String[] args) {
|
||||
if (sender instanceof Player){
|
||||
Player p = (Player)sender;
|
||||
if (p.hasPermission("challenge.timer")){
|
||||
if (args[0].equalsIgnoreCase("start") || args[0].equalsIgnoreCase("resume")){
|
||||
start();
|
||||
}else if (args[0].equalsIgnoreCase("stop")){
|
||||
stop();
|
||||
}else if (args[0].equalsIgnoreCase("reset")){
|
||||
reset();
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public void start(){
|
||||
isStarted = true;
|
||||
for (Player all : Bukkit.getOnlinePlayers()){
|
||||
if (!all.getGameMode().equals(GameMode.SPECTATOR)) all.setGameMode(GameMode.SURVIVAL);
|
||||
}
|
||||
try {
|
||||
Bukkit.getScheduler().cancelTask(stopID);
|
||||
id = Bukkit.getScheduler().scheduleSyncRepeatingTask(Main.getInstance(), new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
seconds++;
|
||||
if (seconds >= 60){
|
||||
seconds = 0;
|
||||
minutes++;
|
||||
}
|
||||
if (minutes >= 60){
|
||||
minutes = 0;
|
||||
hours++;
|
||||
}
|
||||
for (Player p : Bukkit.getOnlinePlayers()){
|
||||
String SHours;
|
||||
String SMinutes;
|
||||
String SSeconds;
|
||||
if (seconds <= 9) SSeconds = "0" + seconds;
|
||||
else SSeconds = "" + seconds;
|
||||
if (minutes <= 9) SMinutes = "0" + minutes;
|
||||
else SMinutes = "" + minutes;
|
||||
if (hours <= 9) SHours = "0" + hours;
|
||||
else SHours = "" + hours;
|
||||
|
||||
ActionBar.show(p, "§aChallenge: §b" + SHours + ":" + SMinutes + ":" + SSeconds);
|
||||
}
|
||||
}
|
||||
}, 1, 20);
|
||||
}catch (Exception e){
|
||||
System.err.println(e.toString());
|
||||
}
|
||||
}
|
||||
|
||||
public void stop(){
|
||||
isStarted = false;
|
||||
try {
|
||||
Bukkit.getScheduler().cancelTask(id);
|
||||
stopID = Bukkit.getScheduler().scheduleSyncRepeatingTask(Main.getInstance(), new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
for (Player p : Bukkit.getOnlinePlayers()){
|
||||
ActionBar.show(p, "§6Der Timer ist pausiert");
|
||||
}
|
||||
}
|
||||
}, 1, 20);
|
||||
}catch (Exception e){
|
||||
System.err.println(e.toString());
|
||||
}
|
||||
}
|
||||
|
||||
public void reset(){
|
||||
seconds = 0;
|
||||
minutes = 0;
|
||||
hours = 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
package de.craftix.splitChallenge.commands;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.Inventory;
|
||||
|
||||
public class Backpack implements CommandExecutor {
|
||||
public static Inventory bp;
|
||||
@Override
|
||||
public boolean onCommand(CommandSender sender, Command command, String s, String[] strings) {
|
||||
Player p = (Player)sender;
|
||||
p.openInventory(bp);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
package de.craftix.splitChallenge.commands;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class Invsee implements CommandExecutor {
|
||||
@Override
|
||||
public boolean onCommand(CommandSender sender, Command command, String s, String[] args) {
|
||||
if (!sender.hasPermission("challenge.invsee")) return false;
|
||||
if (!(sender instanceof Player)) return false;
|
||||
if (args.length != 1) return false;
|
||||
Player p = (Player)sender;
|
||||
Player t = Bukkit.getPlayer(args[0]);
|
||||
if (t == null){
|
||||
p.sendMessage("§cSpieler konnte nicht gefunden werden");
|
||||
return false;
|
||||
}
|
||||
p.openInventory(t.getInventory());
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package de.craftix.splitChallenge.commands;
|
||||
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
public class Position implements CommandExecutor {
|
||||
private HashMap<String, Location> positions = new HashMap<>();
|
||||
|
||||
@Override
|
||||
public boolean onCommand(CommandSender sender, Command command, String s, String[] args) {
|
||||
if (!(sender instanceof Player)) return false;
|
||||
Player p = (Player)sender;
|
||||
if (args.length != 1) return false;
|
||||
if (positions.containsKey(args[0])){
|
||||
Location loc = positions.get(args[0]);
|
||||
p.sendMessage("§aDie Position " + args[0] + " Befindet sich bei §b" + loc.getBlockX() + " " + loc.getBlockY() + " " + loc.getBlockZ());
|
||||
}else {
|
||||
positions.put(args[0], p.getLocation());
|
||||
p.sendMessage("§aDie Position §6" + args[0] + " §awurde erfolgreich gespeichert");
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
package de.craftix.splitChallenge.commands;
|
||||
|
||||
import net.md_5.bungee.api.ChatMessageType;
|
||||
import net.md_5.bungee.api.chat.TextComponent;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||
import org.bukkit.inventory.Inventory;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
|
||||
public class Settings implements CommandExecutor, Listener {
|
||||
public static boolean splitHerzen = false;
|
||||
|
||||
private ItemStack split;
|
||||
|
||||
@Override
|
||||
public boolean onCommand(CommandSender sender, Command command, String s, String[] args) {
|
||||
if (!sender.hasPermission("challenge.settings")) return true;
|
||||
Player p = (Player)sender;
|
||||
p.openInventory(getInv(1));
|
||||
return true;
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onInvClick(InventoryClickEvent event){
|
||||
if (!event.getView().getTitle().equalsIgnoreCase("Settings")) return;
|
||||
if (event.getCurrentItem() == null) return;
|
||||
event.setCancelled(true);
|
||||
if (event.getCurrentItem().equals(split)){
|
||||
splitHerzen = !splitHerzen;
|
||||
Bukkit.broadcastMessage("§aSplit-Herzen wurden auf " + splitHerzen + " gesetzt");
|
||||
}
|
||||
}
|
||||
|
||||
private Inventory getInv(int type){
|
||||
if (type == 1){
|
||||
Inventory inv = Bukkit.createInventory(null, 3*9, "Settings");
|
||||
split = new ItemStack(Material.CRAFTING_TABLE);
|
||||
ItemMeta splitMeta = split.getItemMeta();
|
||||
splitMeta.setDisplayName("§aSplit Herzen");
|
||||
split.setItemMeta(splitMeta);
|
||||
inv.setItem(13, split);
|
||||
for (int i = 0; i < inv.getSize(); i++){
|
||||
if (inv.getItem(i) != null) continue;
|
||||
ItemStack glass = new ItemStack(Material.GRAY_STAINED_GLASS_PANE);
|
||||
ItemMeta glassMeta = glass.getItemMeta();
|
||||
glassMeta.setDisplayName(" ");
|
||||
glass.setItemMeta(glassMeta);
|
||||
inv.setItem(i, glass);
|
||||
}
|
||||
return inv;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
package de.craftix.splitChallenge.listener;
|
||||
|
||||
import de.craftix.splitChallenge.Main;
|
||||
import de.craftix.splitChallenge.commands.Settings;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.GameMode;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.entity.EntityDamageEvent;
|
||||
|
||||
public class onDamage implements Listener {
|
||||
private static int id;
|
||||
|
||||
@EventHandler
|
||||
public void onDamageEvent(EntityDamageEvent event){
|
||||
if (!Main.getTimer().isStarted) return;
|
||||
if (!Settings.splitHerzen) return;
|
||||
if (!(event.getEntity() instanceof Player)) return;
|
||||
Player p = (Player)event.getEntity();
|
||||
for (Player all : Bukkit.getOnlinePlayers()){
|
||||
if (all.getGameMode().equals(GameMode.SPECTATOR)) continue;
|
||||
if (all.getUniqueId().equals(p.getUniqueId())) continue;
|
||||
all.setHealth(p.getHealth());
|
||||
}
|
||||
try{
|
||||
Bukkit.getScheduler().cancelTask(id);
|
||||
}catch (Exception e){}
|
||||
refresh();
|
||||
}
|
||||
|
||||
public static void refresh(){
|
||||
id = Bukkit.getScheduler().scheduleSyncRepeatingTask(Main.getInstance(), new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
Player p = Bukkit.getPlayer("xNekr0las");
|
||||
for (Player all : Bukkit.getOnlinePlayers()){
|
||||
if (all.getGameMode().equals(GameMode.SPECTATOR)) continue;
|
||||
if (all.getUniqueId().equals(p.getUniqueId())) continue;
|
||||
all.setHealth(p.getHealth());
|
||||
}
|
||||
}
|
||||
}, 0, 50);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package de.craftix.splitChallenge.listener;
|
||||
|
||||
import de.craftix.splitChallenge.Main;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.entity.PlayerDeathEvent;
|
||||
|
||||
public class onDeath implements Listener {
|
||||
|
||||
@EventHandler
|
||||
public void onDeathEvent(PlayerDeathEvent event){
|
||||
if (!Main.getTimer().isStarted) return;
|
||||
Main.loose();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
package de.craftix.splitChallenge.listener;
|
||||
|
||||
import de.craftix.splitChallenge.Main;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.block.BlockBreakEvent;
|
||||
import org.bukkit.event.block.BlockPlaceEvent;
|
||||
import org.bukkit.event.entity.EntityDamageEvent;
|
||||
import org.bukkit.event.entity.FoodLevelChangeEvent;
|
||||
import org.bukkit.event.player.PlayerInteractEvent;
|
||||
|
||||
public class onStart implements Listener {
|
||||
|
||||
@EventHandler
|
||||
public void onBuild(BlockPlaceEvent event){
|
||||
if (Main.getTimer().isStarted) return;
|
||||
event.setCancelled(true);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onBreak(BlockBreakEvent event){
|
||||
if (Main.getTimer().isStarted) return;
|
||||
event.setCancelled(true);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onInteract(PlayerInteractEvent event){
|
||||
if (Main.getTimer().isStarted) return;
|
||||
event.setCancelled(true);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onDamage(EntityDamageEvent event){
|
||||
if (Main.getTimer().isStarted) return;
|
||||
event.setCancelled(true);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onFood(FoodLevelChangeEvent event){
|
||||
if (Main.getTimer().isStarted) return;
|
||||
event.setCancelled(true);
|
||||
Player p = (Player)event.getEntity();
|
||||
p.setFoodLevel(25);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package de.craftix.splitChallenge.listener;
|
||||
|
||||
import de.craftix.splitChallenge.Main;
|
||||
import org.bukkit.entity.EnderDragon;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.entity.EntityDeathEvent;
|
||||
|
||||
public class onWin implements Listener {
|
||||
|
||||
@EventHandler
|
||||
public void onDeath(EntityDeathEvent event){
|
||||
if (!Main.getTimer().isStarted) return;
|
||||
if (!(event.getEntity() instanceof EnderDragon)) return;
|
||||
Main.win();
|
||||
}
|
||||
|
||||
}
|
||||
11
Plugins/Old/Split-Challenge/src/plugin.yml
Normal file
11
Plugins/Old/Split-Challenge/src/plugin.yml
Normal file
@@ -0,0 +1,11 @@
|
||||
name: split-herzen
|
||||
main: de.craftix.splitChallenge.Main
|
||||
version: 1.0.0
|
||||
api-version: 1.16
|
||||
|
||||
commands:
|
||||
timer:
|
||||
settings:
|
||||
position:
|
||||
bp:
|
||||
invsee:
|
||||
Reference in New Issue
Block a user