Archived
Private
Public Access
1
0

Initial commit

This commit is contained in:
2022-09-04 12:45:01 +02:00
commit f4a01d6a69
11601 changed files with 4206660 additions and 0 deletions

3
Plugins/Old/Lobby/.idea/.gitignore generated vendored Normal file
View File

@@ -0,0 +1,3 @@
# Default ignored files
/shelf/
/workspace.xml

1
Plugins/Old/Lobby/.idea/.name generated Normal file
View File

@@ -0,0 +1 @@
Lobby Plugin

View File

@@ -0,0 +1,8 @@
<component name="ArtifactManager">
<artifact type="jar" name="Hub-mc1.8.9-v1.0">
<output-path>$PROJECT_DIR$/../..</output-path>
<root id="archive" name="Hub-mc1.8.9-v1.0.jar">
<element id="module-output" name="Hub-1.8.9" />
</root>
</artifact>
</component>

View File

@@ -0,0 +1,8 @@
<component name="ArtifactManager">
<artifact type="jar" name="Lobby">
<output-path>$USER_HOME$/Downloads/Exports</output-path>
<root id="archive" name="Lobby.jar">
<element id="module-output" name="Lobby" />
</root>
</artifact>
</component>

6
Plugins/Old/Lobby/.idea/dictionaries generated Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectDictionaryState">
<dictionary name="Marc" />
</component>
</project>

6
Plugins/Old/Lobby/.idea/discord.xml generated Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="DiscordProjectSettings">
<option name="show" value="PROJECT_FILES" />
</component>
</project>

View File

@@ -0,0 +1,9 @@
<component name="libraryTable">
<library name="CoinSystem-v1.0">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../CoinSystem-v1.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,11 @@
<component name="libraryTable">
<library name="spigot 1.8.8">
<CLASSES>
<root url="jar://E:/Tools/Sicherung/Plugins/Spigot Versions/spigot 1.8.8.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://E:/Tools/Sicherung/Plugins/Spigot Versions/spigot 1.8.8.jar!/" />
</SOURCES>
</library>
</component>

View File

@@ -0,0 +1,11 @@
<component name="libraryTable">
<library name="spigot-1.8.8-R0.1-SNAPSHOT-latest">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../spigot-1.8.8-R0.1-SNAPSHOT-latest.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$PROJECT_DIR$/../spigot-1.8.8-R0.1-SNAPSHOT-latest.jar!/" />
</SOURCES>
</library>
</component>

11
Plugins/Old/Lobby/.idea/misc.xml generated Normal file
View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="EntryPointsManager">
<list size="1">
<item index="0" class="java.lang.String" itemvalue="org.bukkit.event.EventHandler" />
</list>
</component>
<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/Lobby/.idea/modules.xml generated Normal file
View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/Hub-1.8.9.iml" filepath="$PROJECT_DIR$/Hub-1.8.9.iml" />
</modules>
</component>
</project>

124
Plugins/Old/Lobby/.idea/uiDesigner.xml generated Normal file
View File

@@ -0,0 +1,124 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Palette2">
<group name="Swing">
<item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
</item>
<item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
</item>
<item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
</item>
<item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.png" removable="false" auto-create-binding="false" can-attach-label="true">
<default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
</item>
<item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
<initial-values>
<property name="text" value="Button" />
</initial-values>
</item>
<item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
<initial-values>
<property name="text" value="RadioButton" />
</initial-values>
</item>
<item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
<initial-values>
<property name="text" value="CheckBox" />
</initial-values>
</item>
<item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
<initial-values>
<property name="text" value="Label" />
</initial-values>
</item>
<item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
</item>
<item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
<preferred-size width="200" height="200" />
</default-constraints>
</item>
<item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
<preferred-size width="200" height="200" />
</default-constraints>
</item>
<item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
</item>
<item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
</item>
<item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
</item>
<item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
</item>
<item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
<preferred-size width="-1" height="20" />
</default-constraints>
</item>
<item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
</item>
<item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
</item>
</group>
</component>
</project>

6
Plugins/Old/Lobby/.idea/vcs.xml generated Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="Git" />
</component>
</project>

View File

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="FacetManager">
<facet type="minecraft" name="Minecraft">
<configuration>
<autoDetectTypes>
<platformType>SPIGOT</platformType>
</autoDetectTypes>
</configuration>
</facet>
</component>
<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.8.8-R0.1-SNAPSHOT-latest" level="project" />
<orderEntry type="library" name="CoinSystem-v1.0" level="project" />
<orderEntry type="library" name="spigot 1.8.8" level="project" />
</component>
</module>

View 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 Versions" level="project" />
</component>
</module>

View File

@@ -0,0 +1,24 @@
# Hub Plugin - 1.8.9
Das ist ein Lobby/Hub plugin für Spigot/Paper Server
**PrincepDE**
## Commands
|Command | Erklärung | Permissions |
|--|--|--|
| /build | Setzt dich in den Bau Modus | hub.build |
| /build [Player] | Setzt andere in den Bau Modus | hub.build.other |
| /setLoc | Setze den Spawnpunkt oder die Deathboarder | hub.admin.setLoc |
| /spawn | Teleportiert dich zu Spawn Punkt | - |
| /spawn [Player] | Teleportiert andere zu Spawn Punkt | hub.spawn.other |
| /fly | Setzt dich in den Fly Modus | hub.admin.fly |
| /fly [Player] | Setzt andere in den Fly Modus | hub.admin.fly.other |
| /setWarp | Setze Warps | hub.admin.warp.set |
| /delWarp | Lösche Warps | hub.admin.warp.del |
| /gamemode [0-3] | Gamemode | hub.admin.gamemode |
> **Note:** Es könnten sich noch Bugs herrausstellen.
> Bitte kontaktiere dann sofort einem **Admin**!

View File

@@ -0,0 +1,13 @@
name: Hub
main: de.marc.hub.main.Main
version: 1.0
commands:
build:
test:
setLoc:
spawn:
fly:
setWarp:
delWarp:
gm:

View File

@@ -0,0 +1,8 @@
name: Lobby
main: de.craftix.lobby.general.Main
version: 1.8.8
commands:
setspawn: null
spawn: null
build: null

View File

@@ -0,0 +1,16 @@
# ----------------------------------------------------------
# Config.yml
# ----------------------------------------------------------
# made by marc
#
# warps: citybuild, freebuild
Location:
Spawn:
world:
x:
y:
z:
yaw:
pitch:
Deathborder:

View File

@@ -0,0 +1,42 @@
package de.craftix.lobby.commands;
import de.craftix.lobby.general.Main;
import de.craftix.lobby.general.Messages;
import de.craftix.lobby.general.Permissions;
import de.craftix.lobby.utils.Spawn;
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 BuildCmd implements CommandExecutor {
@Override
public boolean onCommand(CommandSender sender, Command command, String s, String[] strings) {
if (sender instanceof Player){
if (sender.hasPermission(Permissions.admin) ||sender.hasPermission(Permissions.builder)){
Player p = (Player)sender;
if (Main.buildMode.contains(p)){
Main.buildMode.remove(p);
p.setGameMode(GameMode.ADVENTURE);
Spawn.giveInventory(p);
p.sendMessage(Messages.prefix + "§aDer Baumodus wurde verlassen");
}else {
Main.buildMode.add(p);
p.getInventory().clear();
p.setGameMode(GameMode.CREATIVE);
p.sendMessage(Messages.prefix + "§aDer Baumodus wurde betreten");
}
}else {
sender.sendMessage(Messages.noPermission);
}
}else {
sender.sendMessage(Messages.onlyPlayer);
}
return false;
}
}

View File

@@ -0,0 +1,39 @@
package de.craftix.lobby.commands;
import de.craftix.lobby.general.Main;
import de.craftix.lobby.general.Messages;
import de.craftix.lobby.general.Permissions;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.entity.Player;
public class SetspawnCmd implements CommandExecutor {
@Override
public boolean onCommand(CommandSender sender, Command cmd, String s, String[] args) {
if (sender instanceof Player){
if (sender.hasPermission(Permissions.admin)){
Player p = (Player)sender;
FileConfiguration config = Main.getPlugin().getConfig();
config.set("Spawn.World", p.getLocation().getWorld().getName());
config.set("Spawn.X", p.getLocation().getBlockX() + 0.5);
config.set("Spawn.Y", p.getLocation().getBlockY() + 2);
config.set("Spawn.Z", p.getLocation().getBlockZ() + 0.5);
config.set("Spawn.Yaw", p.getLocation().getYaw());
config.set("Spawn.Pitch", p.getLocation().getPitch());
Main.getPlugin().saveConfig();
p.sendMessage(Messages.prefix + "§aSpawnpunkt wurde gesetzt!");
}else {
sender.sendMessage(Messages.noPermission);
}
}else {
sender.sendMessage(Messages.onlyPlayer);
}
return true;
}
}

View File

@@ -0,0 +1,28 @@
package de.craftix.lobby.commands;
import de.craftix.lobby.general.Main;
import de.craftix.lobby.general.Messages;
import de.craftix.lobby.utils.Spawn;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.World;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.entity.Player;
public class SpawnCmd implements CommandExecutor {
@Override
public boolean onCommand(CommandSender sender, Command command, String s, String[] args) {
if (sender instanceof Player){
Player p = (Player)sender;
Spawn.teleport(p);
}else {
sender.sendMessage(Messages.onlyPlayer);
}
return false;
}
}

View File

@@ -0,0 +1,60 @@
package de.craftix.lobby.general;
import de.craftix.lobby.commands.BuildCmd;
import de.craftix.lobby.commands.SetspawnCmd;
import de.craftix.lobby.commands.SpawnCmd;
import de.craftix.lobby.listener.*;
import de.craftix.lobby.utils.Hider;
import de.craftix.lobby.utils.Navigator;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;
import java.util.ArrayList;
public class Main extends JavaPlugin {
private static Main plugin;
public static ArrayList<Player> buildMode = new ArrayList<>();
@Override
public void onEnable() {
plugin = this;
Bukkit.getMessenger().registerOutgoingPluginChannel(this, "BungeeCord");
regCommands();
regEvents();
System.out.println("Lobby enabled successfully");
}
@Override
public void onDisable() {
System.out.println("Lobby disabled successfully");
}
public static Main getPlugin(){
return plugin;
}
private void regEvents(){
PluginManager pm = Bukkit.getPluginManager();
pm.registerEvents(new onJoin(), this);
pm.registerEvents(new onQuit(), this);
pm.registerEvents(new onBuild(), this);
pm.registerEvents(new onDamage(), this);
pm.registerEvents(new onWeather(), this);
pm.registerEvents(new onChat(), this);
pm.registerEvents(new Hider(), this);
pm.registerEvents(new Navigator(), this);
pm.registerEvents(new onDrop(), this);
}
private void regCommands(){
getCommand("setspawn").setExecutor(new SetspawnCmd());
getCommand("spawn").setExecutor(new SpawnCmd());
getCommand("build").setExecutor(new BuildCmd());
}
}

View File

@@ -0,0 +1,9 @@
package de.craftix.lobby.general;
public class Messages {
public static final String prefix = "§7[§6Lobby§7] §r";
public static final String noPermission = prefix + "§cHierzu hast du keine Rechte!";
public static final String onlyPlayer = prefix + "§cDieser Befehl funktioniert nur als Spieler!";
}

View File

@@ -0,0 +1,12 @@
package de.craftix.lobby.general;
public class Permissions {
public static final String admin = "lobby.admin";
public static final String team = "lobby.team";
public static final String builder = "lobby.builder";
public static final String vip = "lobby.vip";
public static final String canChat = "lobby.chat";
}

View File

@@ -0,0 +1,34 @@
package de.craftix.lobby.listener;
import de.craftix.lobby.general.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.player.PlayerInteractEvent;
public class onBuild implements Listener {
@EventHandler
public void onBuildEvent(BlockPlaceEvent event){
Player p = event.getPlayer();
if (Main.buildMode.contains(p)) return;
event.setCancelled(true);
}
@EventHandler
public void onBreakEvent(BlockBreakEvent event){
Player p = event.getPlayer();
if (Main.buildMode.contains(p)) return;
event.setCancelled(true);
}
@EventHandler
public void onInteractEvent(PlayerInteractEvent event){
Player p = event.getPlayer();
if (Main.buildMode.contains(p)) return;
event.setCancelled(true);
}
}

View File

@@ -0,0 +1,19 @@
package de.craftix.lobby.listener;
import de.craftix.lobby.general.Permissions;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.AsyncPlayerChatEvent;
public class onChat implements Listener {
@EventHandler
public void onChatEvent(AsyncPlayerChatEvent event){
Player p = event.getPlayer();
if (p.hasPermission(Permissions.canChat)) return;
p.sendMessage("§cNur VIP's dürfen den Chat in der Lobby benutzen!");
event.setCancelled(true);
}
}

View File

@@ -0,0 +1,27 @@
package de.craftix.lobby.listener;
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.FoodLevelChangeEvent;
public class onDamage implements Listener {
@EventHandler
public void onDamageEvent(EntityDamageEvent event){
if (!(event.getEntity() instanceof Player)) return;
event.setCancelled(true);
Player p = (Player)event.getEntity();
p.setHealth(20);
}
@EventHandler
public void onHungerEvent(FoodLevelChangeEvent event){
if (!(event.getEntity() instanceof Player)) return;
Player p = (Player)event.getEntity();
event.setCancelled(true);
p.setFoodLevel(25);
}
}

View File

@@ -0,0 +1,26 @@
package de.craftix.lobby.listener;
import de.craftix.lobby.general.Main;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.event.player.PlayerDropItemEvent;
public class onDrop implements Listener {
@EventHandler
public void onDropEvent(PlayerDropItemEvent event){
Player p = event.getPlayer();
if (Main.buildMode.contains(p)) return;
event.setCancelled(true);
}
@EventHandler
public void onMoveEvent(InventoryClickEvent event){
Player p = (Player) event.getWhoClicked();
if (Main.buildMode.contains(p)) return;
event.setCancelled(true);
}
}

View File

@@ -0,0 +1,25 @@
package de.craftix.lobby.listener;
import de.craftix.lobby.utils.Spawn;
import org.bukkit.GameMode;
import org.bukkit.craftbukkit.v1_8_R3.entity.CraftPlayer;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
public class onJoin implements Listener {
@EventHandler
public void onJoinEvent(PlayerJoinEvent event){
event.setJoinMessage(null);
Player p = event.getPlayer();
p.setMaxHealth(6);
p.setFoodLevel(25);
p.setHealth(6);
p.setGameMode(GameMode.ADVENTURE);
Spawn.giveInventory(p);
Spawn.teleport(p);
}
}

View File

@@ -0,0 +1,14 @@
package de.craftix.lobby.listener;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerQuitEvent;
public class onQuit implements Listener {
@EventHandler
private void onQuitEvent(PlayerQuitEvent event){
event.setQuitMessage(null);
}
}

View File

@@ -0,0 +1,14 @@
package de.craftix.lobby.listener;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.weather.WeatherChangeEvent;
public class onWeather implements Listener {
@EventHandler
public void onWeatherChange(WeatherChangeEvent event){
event.setCancelled(true);
}
}

View File

@@ -0,0 +1,24 @@
package de.craftix.lobby.utils;
import net.minecraft.server.v1_8_R3.IChatBaseComponent;
import net.minecraft.server.v1_8_R3.PacketPlayOutChat;
import org.bukkit.craftbukkit.v1_8_R3.entity.CraftPlayer;
import org.bukkit.entity.Player;
public class ActionBar {
private String message;
public ActionBar(String msg){
this.message = msg;
}
public void send(Player p){
IChatBaseComponent ichat = IChatBaseComponent.ChatSerializer.a("{\"text\": \"\"}").a(message);
PacketPlayOutChat chat = new PacketPlayOutChat(ichat, (byte) 2);
CraftPlayer cp = (CraftPlayer)p;
cp.getHandle().playerConnection.sendPacket(chat);
}
}

View File

@@ -0,0 +1,36 @@
package de.craftix.lobby.utils;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.inventory.meta.SkullMeta;
public class CreateItem {
public static ItemStack normal(Material mat, String name){
ItemStack is = new ItemStack(mat);
ItemMeta im = is.getItemMeta();
im.setDisplayName(name);
is.setItemMeta(im);
return is;
}
public static ItemStack normal(Material mat, int subID, String name){
ItemStack is = new ItemStack(mat, 1, (short) subID);
ItemMeta im = is.getItemMeta();
im.setDisplayName(name);
is.setItemMeta(im);
return is;
}
public static ItemStack skull (String name, Player owner){
ItemStack is = new ItemStack(Material.SKULL_ITEM, 1, (short) 3);
SkullMeta sm = (SkullMeta) is.getItemMeta();
sm.setOwner(owner.getName());
sm.setDisplayName(name);
is.setItemMeta(sm);
return is;
}
}

View File

@@ -0,0 +1,144 @@
package de.craftix.lobby.utils;
import de.craftix.lobby.general.Main;
import de.craftix.lobby.general.Permissions;
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.Action;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
import java.util.ArrayList;
public class Hider implements Listener {
private ArrayList<Player> hideAll = new ArrayList<>();
private ArrayList<Player> hideVIP = new ArrayList<>();
@EventHandler
public void onClick(PlayerInteractEvent event){
Player p = event.getPlayer();
if (Main.buildMode.contains(p)) return;
if (p.getInventory().getHeldItemSlot() != 7) return;
if (!(event.getAction().equals(Action.RIGHT_CLICK_AIR) || event.getAction().equals(Action.RIGHT_CLICK_BLOCK))) return;
openGUI(p);
}
private final String GUI_NAME = "§b§lSpieler verstecken";
private final int SIZE = 1*9;
private void openGUI(Player p){
Inventory inv = Bukkit.createInventory(null, SIZE, GUI_NAME);
//Items
ItemStack empty = CreateItem.normal(Material.STAINED_GLASS_PANE, 7, " ");
ItemStack hideall = CreateItem.normal(Material.STAINED_GLASS_PANE, 14, "§cSpieler verstecken");
ItemStack hidevip = CreateItem.normal(Material.STAINED_GLASS_PANE, 10, "§5Nur VIP's");
ItemStack show = CreateItem.normal(Material.STAINED_GLASS_PANE, 5, "§aSpieler anzeigen");
//Set Items
inv.setItem(2, hideall);
inv.setItem(4, hidevip);
inv.setItem(6, show);
int count = 0;
for (ItemStack all : inv){
if (all == null) inv.setItem(count, empty);
count++;
}
p.openInventory(inv);
}
@EventHandler
public void onInvClick (InventoryClickEvent event){
if (event.getClickedInventory() == null) return;
if (!event.getClickedInventory().getTitle().equals(GUI_NAME)) return;
event.setCancelled(true);
Player p = (Player) event.getWhoClicked();
if (event.getSlot() == 2) {
//Hide All
hideVIP.remove(p);
hideAll.add(p);
for (Player all : Bukkit.getOnlinePlayers()) {
p.hidePlayer(all);
}
} else if (event.getSlot() == 4) {
//Hide VIP
hideAll.remove(p);
hideVIP.add(p);
for (Player all : Bukkit.getOnlinePlayers()) {
if (all.hasPermission(Permissions.vip)) {
p.showPlayer(all);
continue;
}
p.hidePlayer(all);
}
} else if (event.getSlot() == 6) {
//Show All
hideAll.remove(p);
hideVIP.remove(p);
for (Player all : Bukkit.getOnlinePlayers()) {
p.showPlayer(all);
}
}
update(p);
}
@EventHandler
public void onJoinEvent (PlayerJoinEvent event){
Player p = event.getPlayer();
for (Player all : hideAll){
all.hidePlayer(p);
}
if (p.hasPermission(Permissions.vip)){
for (Player all : hideVIP){
all.showPlayer(p);
}
}
}
@EventHandler
public void onJoinSelf(PlayerJoinEvent event){
Player p = event.getPlayer();
if (hideAll.contains(p)){
for (Player all : Bukkit.getOnlinePlayers()) {
p.hidePlayer(all);
}
}else if (hideVIP.contains(p)){
for (Player all : Bukkit.getOnlinePlayers()) {
if (all.hasPermission(Permissions.vip)) {
p.showPlayer(all);
continue;
}
p.hidePlayer(all);
}
}else {
for (Player all : Bukkit.getOnlinePlayers()) {
p.showPlayer(all);
}
}
}
private void update(Player p){
ActionBar ab;
if (hideAll.contains(p)){
ab = new ActionBar("§6Player Hider: §cAlle Spieler versteckt");
ab.send(p);
}else if (hideVIP.contains(p)){
ab = new ActionBar("§6Player Hider: §5Nur VIP's sichtbar");
ab.send(p);
}else {
ab = new ActionBar("§6Player Hider: §aAlle Spieler sichtbar");
ab.send(p);
}
}
}

View File

@@ -0,0 +1,71 @@
package de.craftix.lobby.utils;
import de.craftix.lobby.general.Main;
import de.craftix.lobby.general.Messages;
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.command.Command;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.Action;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
import java.io.ByteArrayOutputStream;
import java.io.Console;
import java.io.DataOutputStream;
public class Navigator implements Listener {
@EventHandler
public void onKlick(PlayerInteractEvent event){
Player p = event.getPlayer();
if (Main.buildMode.contains(p)) return;
if (p.getInventory().getHeldItemSlot() != 4) return;
if (!(event.getAction().equals(Action.RIGHT_CLICK_AIR) || event.getAction().equals(Action.RIGHT_CLICK_BLOCK))) return;
openGUI(p);
}
private final String GUI_NAME = "§b§lTeleporter";
private final int SIZE = 3*9;
private void openGUI(Player p){
Inventory inv = Bukkit.createInventory(null, SIZE, GUI_NAME);
// Items
ItemStack empty = CreateItem.normal(Material.STAINED_GLASS_PANE, 7, " ");
ItemStack spawn = CreateItem.normal(Material.MAGMA_CREAM, "§aSpawn");
ItemStack skyfarms = CreateItem.normal(Material.GRASS, "§aSkyFarms");
// Set Items
inv.setItem(4, spawn);
inv.setItem(10, skyfarms);
int count = 0;
for (ItemStack all : inv){
if (all == null) inv.setItem(count, empty);
count++;
}
p.openInventory(inv);
}
@EventHandler
public void onInvClick(InventoryClickEvent event){
if (event.getClickedInventory() == null) return;
if (!event.getClickedInventory().getTitle().equals(GUI_NAME)) return;
event.setCancelled(true);
Player p = (Player) event.getWhoClicked();
switch (event.getSlot()){
case 4:
Spawn.teleport(p);
break;
case 10:
Server.connect("skyfarms", p);
break;
}
}
}

View File

@@ -0,0 +1,29 @@
package de.craftix.lobby.utils;
import de.craftix.lobby.general.Main;
import de.craftix.lobby.general.Messages;
import org.bukkit.entity.Player;
import java.io.ByteArrayOutputStream;
import java.io.DataOutputStream;
public class Server {
public static void connect(String server, Player p){
try {
ByteArrayOutputStream b = new ByteArrayOutputStream();
DataOutputStream out = new DataOutputStream(b);
out.writeUTF("Connect");
out.writeUTF(server);
p.sendMessage("§aVerbinde zu " + server + "...");
p.sendPluginMessage(Main.getPlugin(), "BungeeCord", b.toByteArray());
} catch (Exception e){
p.sendMessage(Messages.prefix + "§cEin Fehler ist aufgetreten!");
}
}
}

View File

@@ -0,0 +1,87 @@
package de.craftix.lobby.utils;
import de.craftix.lobby.general.Main;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.World;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.inventory.meta.SkullMeta;
public class Spawn {
public static void teleport(Player p){
FileConfiguration config = Main.getPlugin().getConfig();
if (!config.contains("Spawn.World")) return;
World world = Bukkit.getWorld(config.getString("Spawn.World"));
double x = config.getDouble("Spawn.X");
double y = config.getDouble("Spawn.Y");
double z = config.getDouble("Spawn.Z");
float yaw = (float) config.getDouble("Spawn.Yaw");
float pitch = (float) config.getDouble("Spawn.Pitch");
Location spawn = new Location(world, x, y, z, yaw, pitch);
p.teleport(spawn);
}
public static Location getLocation(){
FileConfiguration config = Main.getPlugin().getConfig();
if (!config.contains("Spawn.World")) return null;
World world = Bukkit.getWorld(config.getString("Spawn.World"));
double x = config.getDouble("Spawn.X");
double y = config.getDouble("Spawn.Y");
double z = config.getDouble("Spawn.Z");
float yaw = (float) config.getDouble("Spawn.Yaw");
float pitch = (float) config.getDouble("Spawn.Pitch");
Location spawn = new Location(world, x, y, z, yaw, pitch);
return spawn;
}
public static void giveInventory(Player p){
p.getInventory().clear();
ItemStack tele = new ItemStack(Material.COMPASS);
ItemMeta teleMeta = tele.getItemMeta();
teleMeta.setDisplayName("§6Teleporter §7(Rechtsklick)");
tele.setItemMeta(teleMeta);
ItemStack shop = new ItemStack(Material.EMERALD);
ItemMeta shopMeta = shop.getItemMeta();
shopMeta.setDisplayName("§6Shop §7(Rechtsklick)");
shop.setItemMeta(shopMeta);
ItemStack inv = new ItemStack(Material.CHEST);
ItemMeta invMeta = inv.getItemMeta();
invMeta.setDisplayName("§6Inventar §7(Rechtsklick)");
inv.setItemMeta(invMeta);
ItemStack hider = new ItemStack(Material.BLAZE_ROD);
ItemMeta hiderMeta = hider.getItemMeta();
hiderMeta.setDisplayName("§6Spieler verstecken §7(Rechtsklick)");
hider.setItemMeta(hiderMeta);
ItemStack profile = new ItemStack(Material.SKULL_ITEM, 1, (short) 3);
SkullMeta profileMeta = (SkullMeta) profile.getItemMeta();
profileMeta.setDisplayName("§6Profil §7(Rechtsklick)");
profileMeta.setOwner(p.getName());
profile.setItemMeta(profileMeta);
p.getInventory().setItem(4, tele);
p.getInventory().setItem(1, shop);
p.getInventory().setItem(0, inv);
p.getInventory().setItem(7, hider);
p.getInventory().setItem(8, profile);
}
}

View File

@@ -0,0 +1,78 @@
package de.marc.hub.banner;
import org.bukkit.DyeColor;
import org.bukkit.Material;
import org.bukkit.block.banner.Pattern;
import org.bukkit.enchantments.Enchantment;
import org.bukkit.inventory.ItemFlag;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.BannerMeta;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
public class BannerBuilder {
private final Material material = Material.BANNER;
private String name;
private final HashMap<Enchantment, Integer> enchantments = new HashMap<>();
private final ArrayList<String> lore = new ArrayList<>();
private boolean showEnchantments = true;
private DyeColor color;
private final ArrayList<Pattern> patterns = new ArrayList<>();
public BannerBuilder setName(String name) {
this.name = name;
return this;
}
public BannerBuilder setLore(String... lore){
this.lore.addAll(Arrays.asList(lore));
return this;
}
public BannerBuilder setGlowing(boolean value) {
if (value) {
enchantments.put(Enchantment.DURABILITY, 1);
showEnchantments = false;
}else {
enchantments.clear();
showEnchantments = true;
}
return this;
}
public BannerBuilder setBaseColor(DyeColor color) {
this.color = color;
return this;
}
public BannerBuilder setPatterns(Pattern... patterns) {
this.patterns.addAll(Arrays.asList(patterns));
return this;
}
public ItemStack build(){
ItemStack item;
item = new ItemStack(material);
BannerMeta meta = (BannerMeta) item.getItemMeta();
for (Enchantment e : enchantments.keySet()){
meta.addEnchant(e, enchantments.get(e), true);
}
meta.setLore(lore);
meta.setDisplayName(name);
if (!showEnchantments) meta.addItemFlags(ItemFlag.HIDE_ENCHANTS);
meta.setBaseColor(color);
meta.setPatterns(patterns);
item.setItemMeta(meta);
return item;
}
}

View File

@@ -0,0 +1,231 @@
package de.marc.hub.banner;
import org.bukkit.DyeColor;
import org.bukkit.block.banner.Pattern;
import org.bukkit.block.banner.PatternType;
public enum Banners {
LIGHTNING(new BannerBuilder().setName("§eLightning").setBaseColor(DyeColor.YELLOW).setPatterns(
new Pattern(DyeColor.RED, PatternType.SQUARE_TOP_LEFT),
new Pattern(DyeColor.RED, PatternType.SQUARE_BOTTOM_RIGHT),
new Pattern(DyeColor.RED, PatternType.STRIPE_LEFT),
new Pattern(DyeColor.RED, PatternType.STRIPE_RIGHT),
new Pattern(DyeColor.RED, PatternType.TRIANGLES_TOP),
new Pattern(DyeColor.RED, PatternType.TRIANGLES_BOTTOM)
), 0, 1),
SKULL(new BannerBuilder().setName("§8Dark Skull").setBaseColor(DyeColor.LIGHT_BLUE).setPatterns(
new Pattern(DyeColor.CYAN, PatternType.BORDER),
new Pattern(DyeColor.BLACK, PatternType.GRADIENT),
new Pattern(DyeColor.BLACK, PatternType.GRADIENT_UP),
new Pattern(DyeColor.BLACK, PatternType.SKULL)
), 1, 1),
MOON(new BannerBuilder().setName("§fMoon").setBaseColor(DyeColor.BLUE).setPatterns(
new Pattern(DyeColor.SILVER, PatternType.MOJANG),
new Pattern(DyeColor.LIGHT_BLUE, PatternType.GRADIENT_UP),
new Pattern(DyeColor.BLACK, PatternType.GRADIENT),
new Pattern(DyeColor.BLACK, PatternType.TRIANGLES_BOTTOM),
new Pattern(DyeColor.WHITE, PatternType.CIRCLE_MIDDLE),
new Pattern(DyeColor.BLACK, PatternType.SQUARE_BOTTOM_LEFT)
), 2, 1),
PORTAL(new BannerBuilder().setName("§5Portal").setBaseColor(DyeColor.PURPLE).setPatterns(
new Pattern(DyeColor.MAGENTA, PatternType.STRIPE_SMALL),
new Pattern(DyeColor.PURPLE, PatternType.BRICKS),
new Pattern(DyeColor.MAGENTA, PatternType.CURLY_BORDER),
new Pattern(DyeColor.BLACK, PatternType.BORDER)
), 3, 1),
SMILEY(new BannerBuilder().setName("§eSmiley").setBaseColor(DyeColor.WHITE).setPatterns(
new Pattern(DyeColor.YELLOW, PatternType.STRAIGHT_CROSS),
new Pattern(DyeColor.YELLOW, PatternType.STRIPE_TOP),
new Pattern(DyeColor.YELLOW, PatternType.HALF_HORIZONTAL_MIRROR),
new Pattern(DyeColor.BLACK, PatternType.MOJANG),
new Pattern(DyeColor.YELLOW, PatternType.STRIPE_MIDDLE),
new Pattern(DyeColor.YELLOW, PatternType.TRIANGLE_TOP)
), 4, 1),
APPLE(new BannerBuilder().setName("§fApple").setBaseColor(DyeColor.BLACK).setPatterns(
new Pattern(DyeColor.WHITE, PatternType.MOJANG),
new Pattern(DyeColor.WHITE, PatternType.CIRCLE_MIDDLE),
new Pattern(DyeColor.BLACK, PatternType.MOJANG),
new Pattern(DyeColor.BLACK, PatternType.MOJANG),
new Pattern(DyeColor.BLACK, PatternType.MOJANG),
new Pattern(DyeColor.BLACK, PatternType.MOJANG)
), 5, 1),
BATTERY(new BannerBuilder().setName("§aBattery").setBaseColor(DyeColor.BLACK).setPatterns(
new Pattern(DyeColor.WHITE, PatternType.CIRCLE_MIDDLE),
new Pattern(DyeColor.RED, PatternType.HALF_HORIZONTAL_MIRROR),
new Pattern(DyeColor.WHITE, PatternType.STRIPE_MIDDLE),
new Pattern(DyeColor.BLACK, PatternType.STRIPE_RIGHT),
new Pattern(DyeColor.BLACK, PatternType.STRIPE_LEFT),
new Pattern(DyeColor.BLACK, PatternType.STRIPE_BOTTOM)
), 6, 1),
UFO(new BannerBuilder().setName("§9UFO").setBaseColor(DyeColor.BLACK).setPatterns(
new Pattern(DyeColor.YELLOW, PatternType.CIRCLE_MIDDLE),
new Pattern(DyeColor.SILVER, PatternType.STRIPE_MIDDLE),
new Pattern(DyeColor.BLACK, PatternType.HALF_HORIZONTAL_MIRROR),
new Pattern(DyeColor.CYAN, PatternType.TRIANGLE_BOTTOM),
new Pattern(DyeColor.BLACK, PatternType.GRADIENT_UP),
new Pattern(DyeColor.BLACK, PatternType.BORDER)
), 6, 1),
EARTH(new BannerBuilder().setName("§2Earth").setBaseColor(DyeColor.YELLOW).setPatterns(
new Pattern(DyeColor.GREEN, PatternType.RHOMBUS_MIDDLE),
new Pattern(DyeColor.LIGHT_BLUE, PatternType.MOJANG),
new Pattern(DyeColor.BLACK, PatternType.BORDER),
new Pattern(DyeColor.BLACK, PatternType.STRIPE_BOTTOM),
new Pattern(DyeColor.BLACK, PatternType.STRIPE_TOP),
new Pattern(DyeColor.BLACK, PatternType.GRADIENT_UP)
), 7, 1),
PINEAPPLE(new BannerBuilder().setName("§6Pineapple").setBaseColor(DyeColor.ORANGE).setPatterns(
new Pattern(DyeColor.YELLOW, PatternType.BRICKS),
new Pattern(DyeColor.CYAN, PatternType.HALF_HORIZONTAL),
new Pattern(DyeColor.LIME, PatternType.FLOWER),
new Pattern(DyeColor.CYAN, PatternType.BORDER),
new Pattern(DyeColor.LIME, PatternType.CIRCLE_MIDDLE),
new Pattern(DyeColor.CYAN, PatternType.CURLY_BORDER)
), 8, 2),
SHEEP(new BannerBuilder().setName("§fSheep").setBaseColor(DyeColor.LIGHT_BLUE).setPatterns(
new Pattern(DyeColor.LIME, PatternType.STRIPE_BOTTOM),
new Pattern(DyeColor.WHITE, PatternType.CIRCLE_MIDDLE),
new Pattern(DyeColor.BLACK, PatternType.CREEPER),
new Pattern(DyeColor.WHITE, PatternType.FLOWER)
), 9, 2),
FIRE(new BannerBuilder().setName("§cFire").setBaseColor(DyeColor.BLACK).setPatterns(
new Pattern(DyeColor.ORANGE, PatternType.MOJANG),
new Pattern(DyeColor.BLACK, PatternType.BRICKS),
new Pattern(DyeColor.ORANGE, PatternType.TRIANGLE_BOTTOM),
new Pattern(DyeColor.BLACK, PatternType.RHOMBUS_MIDDLE),
new Pattern(DyeColor.ORANGE, PatternType.GRADIENT_UP),
new Pattern(DyeColor.YELLOW, PatternType.TRIANGLES_BOTTOM)
), 10, 2),
SKULL_MASK(new BannerBuilder().setName("§7Mask").setBaseColor(DyeColor.BLACK).setPatterns(
new Pattern(DyeColor.WHITE, PatternType.CURLY_BORDER),
new Pattern(DyeColor.WHITE, PatternType.STRIPE_CENTER),
new Pattern(DyeColor.BLACK, PatternType.STRIPE_BOTTOM),
new Pattern(DyeColor.WHITE, PatternType.STRIPE_TOP),
new Pattern(DyeColor.WHITE, PatternType.CREEPER),
new Pattern(DyeColor.BLACK, PatternType.GRADIENT)
), 11, 2),
ZOMBIE(new BannerBuilder().setName("§2Zombie").setBaseColor(DyeColor.BLACK).setPatterns(
new Pattern(DyeColor.GREEN, PatternType.SKULL),
new Pattern(DyeColor.BLUE, PatternType.STRIPE_BOTTOM),
new Pattern(DyeColor.LIGHT_BLUE, PatternType.CREEPER),
new Pattern(DyeColor.BLACK, PatternType.STRIPE_LEFT),
new Pattern(DyeColor.BLACK, PatternType.STRIPE_RIGHT),
new Pattern(DyeColor.BLACK, PatternType.GRADIENT)
), 12, 2),
NUKE(new BannerBuilder().setName("§eNuke").setBaseColor(DyeColor.YELLOW).setPatterns(
new Pattern(DyeColor.BLACK, PatternType.HALF_HORIZONTAL),
new Pattern(DyeColor.YELLOW, PatternType.TRIANGLE_TOP),
new Pattern(DyeColor.BLACK, PatternType.TRIANGLE_BOTTOM),
new Pattern(DyeColor.BLACK, PatternType.CIRCLE_MIDDLE)
), 13, 2),
CHRISTMAS(new BannerBuilder().setName("§cCHRIST§eMAS").setBaseColor(DyeColor.LIGHT_BLUE).setPatterns(
new Pattern(DyeColor.YELLOW, PatternType.CREEPER),
new Pattern(DyeColor.RED, PatternType.SKULL),
new Pattern(DyeColor.GREEN, PatternType.FLOWER),
new Pattern(DyeColor.LIGHT_BLUE, PatternType.CIRCLE_MIDDLE)
), 14, 2),
GREEN_SKULL(new BannerBuilder().setName("§aGreen Skull").setBaseColor(DyeColor.LIME).setPatterns(
new Pattern(DyeColor.RED, PatternType.HALF_HORIZONTAL_MIRROR),
new Pattern(DyeColor.BLACK, PatternType.STRIPE_SMALL),
new Pattern(DyeColor.BLACK, PatternType.BRICKS),
new Pattern(DyeColor.LIME, PatternType.SKULL)
), 15, 2),
ENDERMAN(new BannerBuilder().setName("§5Enderman").setBaseColor(DyeColor.PURPLE).setPatterns(
new Pattern(DyeColor.MAGENTA, PatternType.STRIPE_SMALL),
new Pattern(DyeColor.MAGENTA, PatternType.STRIPE_SMALL),
new Pattern(DyeColor.BLACK, PatternType.STRIPE_MIDDLE),
new Pattern(DyeColor.BLACK, PatternType.STRAIGHT_CROSS),
new Pattern(DyeColor.BLACK, PatternType.HALF_HORIZONTAL_MIRROR),
new Pattern(DyeColor.BLACK, PatternType.STRIPE_TOP)
), 16, 2),
RABBIT(new BannerBuilder().setName("§fRabbit").setBaseColor(DyeColor.WHITE).setPatterns(
new Pattern(DyeColor.BLACK, PatternType.CIRCLE_MIDDLE),
new Pattern(DyeColor.WHITE, PatternType.FLOWER),
new Pattern(DyeColor.BLACK, PatternType.TRIANGLE_TOP),
new Pattern(DyeColor.WHITE, PatternType.CROSS),
new Pattern(DyeColor.BLACK, PatternType.CURLY_BORDER),
new Pattern(DyeColor.WHITE, PatternType.TRIANGLES_BOTTOM)
), 17, 3),
RICE(new BannerBuilder().setName("§cRice").setBaseColor(DyeColor.BLACK).setPatterns(
new Pattern(DyeColor.BROWN, PatternType.DIAGONAL_RIGHT),
new Pattern(DyeColor.BLACK, PatternType.CROSS),
new Pattern(DyeColor.WHITE, PatternType.CIRCLE_MIDDLE),
new Pattern(DyeColor.RED, PatternType.HALF_HORIZONTAL_MIRROR),
new Pattern(DyeColor.BLACK, PatternType.CURLY_BORDER),
new Pattern(DyeColor.BLACK, PatternType.STRIPE_BOTTOM)
), 18, 3),
DRAGON(new BannerBuilder().setName("§5Dragon").setBaseColor(DyeColor.WHITE).setPatterns(
new Pattern(DyeColor.BLACK, PatternType.CURLY_BORDER),
new Pattern(DyeColor.WHITE, PatternType.STRIPE_RIGHT),
new Pattern(DyeColor.PURPLE, PatternType.FLOWER),
new Pattern(DyeColor.BLACK, PatternType.STRIPE_MIDDLE),
new Pattern(DyeColor.WHITE, PatternType.TRIANGLE_TOP),
new Pattern(DyeColor.BLACK, PatternType.MOJANG)
), 19, 3),
CHICKEN(new BannerBuilder().setName("§fChicken").setBaseColor(DyeColor.WHITE).setPatterns(
new Pattern(DyeColor.BLACK, PatternType.STRIPE_TOP),
new Pattern(DyeColor.WHITE, PatternType.STRAIGHT_CROSS),
new Pattern(DyeColor.RED, PatternType.HALF_HORIZONTAL_MIRROR),
new Pattern(DyeColor.WHITE, PatternType.BORDER),
new Pattern(DyeColor.WHITE, PatternType.STRIPE_BOTTOM),
new Pattern(DyeColor.YELLOW, PatternType.STRIPE_MIDDLE)
), 20, 3),
SQUID(new BannerBuilder().setName("§2Squid").setBaseColor(DyeColor.RED).setPatterns(
new Pattern(DyeColor.BLUE, PatternType.TRIANGLE_BOTTOM),
new Pattern(DyeColor.RED, PatternType.STRIPE_SMALL),
new Pattern(DyeColor.WHITE, PatternType.STRIPE_MIDDLE),
new Pattern(DyeColor.BLUE, PatternType.CURLY_BORDER),
new Pattern(DyeColor.RED, PatternType.CIRCLE_MIDDLE),
new Pattern(DyeColor.BLUE, PatternType.BORDER)
), 21, 3),
FLOWER(new BannerBuilder().setName("§6F§9l§6o§9w§6e§9r").setBaseColor(DyeColor.BLUE).setPatterns(
new Pattern(DyeColor.ORANGE, PatternType.GRADIENT_UP),
new Pattern(DyeColor.BLACK, PatternType.STRIPE_SMALL),
new Pattern(DyeColor.BLACK, PatternType.RHOMBUS_MIDDLE),
new Pattern(DyeColor.BLACK, PatternType.CURLY_BORDER),
new Pattern(DyeColor.ORANGE, PatternType.FLOWER),
new Pattern(DyeColor.BLACK, PatternType.FLOWER)
), 22, 3),
CAT(new BannerBuilder().setName("§7Cat").setBaseColor(DyeColor.GRAY).setPatterns(
new Pattern(DyeColor.LIGHT_BLUE, PatternType.TRIANGLES_TOP),
new Pattern(DyeColor.LIGHT_BLUE, PatternType.SQUARE_TOP_LEFT),
new Pattern(DyeColor.LIGHT_BLUE, PatternType.CURLY_BORDER),
new Pattern(DyeColor.LIME, PatternType.STRIPE_BOTTOM),
new Pattern(DyeColor.GRAY, PatternType.MOJANG),
new Pattern(DyeColor.BROWN, PatternType.TRIANGLES_BOTTOM)
), 23, 3),
PANDA(new BannerBuilder().setName("§8P§fa§8n§fd§8a").setBaseColor(DyeColor.WHITE).setPatterns(
new Pattern(DyeColor.BLACK, PatternType.FLOWER),
new Pattern(DyeColor.WHITE, PatternType.HALF_HORIZONTAL_MIRROR),
new Pattern(DyeColor.BLACK, PatternType.TRIANGLES_TOP),
new Pattern(DyeColor.WHITE, PatternType.STRIPE_CENTER),
new Pattern(DyeColor.BLACK, PatternType.CREEPER),
new Pattern(DyeColor.WHITE, PatternType.STRIPE_BOTTOM)
), 24, 3),
PIKACHU(new BannerBuilder().setName("§ePikachu").setBaseColor(DyeColor.BLUE).setPatterns(
new Pattern(DyeColor.RED, PatternType.STRIPE_MIDDLE),
new Pattern(DyeColor.BLACK, PatternType.CIRCLE_MIDDLE),
new Pattern(DyeColor.YELLOW, PatternType.FLOWER),
new Pattern(DyeColor.YELLOW, PatternType.CROSS),
new Pattern(DyeColor.BLUE, PatternType.STRIPE_BOTTOM),
new Pattern(DyeColor.BLUE, PatternType.CURLY_BORDER)
), 25, 3);
private final BannerBuilder item;
private final int id;
private final int level;
Banners(BannerBuilder item, int id, int level) {
this.item = item;
this.id = id;
this.level = level;
}
public BannerBuilder getItem() { return item; }
public int getId() { return id; }
public int getLevel() { return level; }
}

View File

@@ -0,0 +1,67 @@
package de.marc.hub.commands;
import de.marc.hub.gui.PlayerInvGUI;
import de.marc.hub.main.Main;
import de.marc.hub.utils.Title;
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 BuildCommand implements CommandExecutor {
@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
if (sender instanceof Player) {
Player player = (Player) sender;
if (player.hasPermission("hub.build")) {
if (args.length == 0) {
if (Main.buildMode.contains(player)) {
Main.buildMode.remove(player);
player.setGameMode(GameMode.SURVIVAL);
PlayerInvGUI.addPlayerInv(player);
player.sendMessage(Title.prefix + "§7Du bist nicht mehr im Builder Modus.");
} else {
Main.buildMode.add(player);
player.setGameMode(GameMode.CREATIVE);
player.getInventory().clear();
player.sendMessage(Title.prefix + "§7Du bist nun im Builder Modus.");
}
}else if (args.length == 1) {
Player target = Bukkit.getPlayer(args[0]);
if (target != null) {
if (player.hasPermission("hub.build.other")) {
if (Main.buildMode.contains(target)) {
Main.buildMode.remove(target);
target.setGameMode(GameMode.SURVIVAL);
PlayerInvGUI.addPlayerInv(target);
player.sendMessage(Title.prefix + "§7Du hast §e" + target.getDisplayName() + " §7aus den Builder Modus entfernt.");
target.sendMessage(Title.prefix + "§7Du bist nicht mehr im Builder Modus.");
} else {
Main.buildMode.add(target);
target.setGameMode(GameMode.CREATIVE);
target.getInventory().clear();
player.sendMessage(Title.prefix + "§7Du hast §e" + target.getDisplayName() + " §7in den Builder Modus gesetzt.");
target.sendMessage(Title.prefix + "§7Du bist nun im Builder Modus.");
}
}
} else
player.sendMessage(Title.prefix + "§e" + args[0] + " §7ist nicht online.");
}
} else
player.sendMessage(Title.noPerm);
}
return false;
}
}

View File

@@ -0,0 +1,29 @@
package de.marc.hub.commands;
import de.marc.hub.main.Main;
import de.marc.hub.utils.Title;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
public class DelWarpCommand implements CommandExecutor {
@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
if (sender instanceof Player) {
Player player = (Player) sender;
if (player.hasPermission("hub.admin.warp.del")) {
if (args.length == 1) {
Main.locationManager.delWarp(args[0]);
player.sendMessage(Title.prefix + "§7Du hast den §e" + args[0] + " §7Punkt gelöscht.");
} else player.sendMessage(Title.prefix + "§7Benutzt §e/delWarp <Name>§7!");
}
}
return false;
}
}

View File

@@ -0,0 +1,61 @@
package de.marc.hub.commands;
import de.marc.hub.main.Main;
import de.marc.hub.utils.Title;
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 FlyCommand implements CommandExecutor {
@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
if (sender instanceof Player) {
Player player = (Player) sender;
if (player.hasPermission("hub.admin.fly")) {
if (args.length == 0) {
if (Main.flyMode.contains(player)) {
Main.flyMode.remove(player);
player.sendMessage(Title.prefix + "§7Du kannst nicht mehr fliegen.");
player.setAllowFlight(false);
} else {
Main.flyMode.add(player);
player.sendMessage(Title.prefix + "§7Du kannst nun fliegen.");
player.setAllowFlight(true);
}
} else if (args.length == 1) {
Player target = Bukkit.getPlayer(args[0]);
if (target != null) {
if (player.hasPermission("hub.admin.fly.other")) {
if (Main.flyMode.contains(target)) {
Main.flyMode.remove(target);
target.sendMessage(Title.prefix + "§7Du kannst nicht mehr fliegen.");
player.sendMessage(Title.prefix + target.getDisplayName() + "§7kann nicht mehr fliegen.");
target.setAllowFlight(false);
} else {
Main.flyMode.add(target);
target.sendMessage(Title.prefix + "§7Du kannst nun fliegen.");
player.sendMessage(Title.prefix + target.getDisplayName() + "§7kann nun fliegen.");
target.setAllowFlight(true);
}
}
} else player.sendMessage(Title.prefix + "§e" + args[0] + " §7ist nicht online.");
} else player.sendMessage(Title.noPerm);
} else player.sendMessage(Title.noPerm);
}
return false;
}
}

View File

@@ -0,0 +1,64 @@
package de.marc.hub.commands;
import de.marc.hub.utils.Title;
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 GameModeCommand implements CommandExecutor {
@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
if (sender instanceof Player) {
Player player = (Player) sender;
if (player.hasPermission("hub.admin.gamemode")) {
if (args.length == 1) {
if (args[0].equalsIgnoreCase("0") || args[0].equalsIgnoreCase("survival") || args[0].equalsIgnoreCase("s")) {
player.setGameMode(GameMode.SURVIVAL);
player.sendMessage(Title.prefix + "§7Du bist nun im Gamemode 0");
} else if (args[0].equalsIgnoreCase("1") || args[0].equalsIgnoreCase("creative") || args[0].equalsIgnoreCase("c")) {
player.setGameMode(GameMode.CREATIVE);
player.sendMessage(Title.prefix + "§7Du bist nun im Gamemode 1");
} else if (args[0].equalsIgnoreCase("2") || args[0].equalsIgnoreCase("adventure") || args[0].equalsIgnoreCase("a")) {
player.setGameMode(GameMode.ADVENTURE);
player.sendMessage(Title.prefix + "§7Du bist nun im Gamemode 2");
} else if (args[0].equalsIgnoreCase("3") || args[0].equalsIgnoreCase("spectator") || args[0].equalsIgnoreCase("spec")) {
player.setGameMode(GameMode.SPECTATOR);
player.sendMessage(Title.prefix + "§7Du bist nun im Gamemode 3");
} else player.sendMessage(Title.prefix + "§7Benutze §e/gm <0-3>");
} else if (args.length == 2) {
if (Bukkit.getPlayer(args[1]) != null) {
Player target = Bukkit.getPlayer(args[1]);
if (args[0].equalsIgnoreCase("0") || args[0].equalsIgnoreCase("survival") || args[0].equalsIgnoreCase("s")) {
target.setGameMode(GameMode.SURVIVAL);
target.sendMessage(Title.prefix + "§7Du bist nun im Gamemode 0");
player.sendMessage(Title.prefix + "§7Du hast §e" + target.getName() + " §7in den Gamemode 0 gesetzt");
} else if (args[0].equalsIgnoreCase("1") || args[0].equalsIgnoreCase("creative") || args[0].equalsIgnoreCase("c")) {
target.setGameMode(GameMode.CREATIVE);
target.sendMessage(Title.prefix + "§7Du bist nun im Gamemode 1");
player.sendMessage(Title.prefix + "§7Du hast §e" + target.getName() + " §7in den Gamemode 1 gesetzt");
} else if (args[0].equalsIgnoreCase("2") || args[0].equalsIgnoreCase("adventure") || args[0].equalsIgnoreCase("a")) {
target.setGameMode(GameMode.ADVENTURE);
target.sendMessage(Title.prefix + "§7Du bist nun im Gamemode 2");
player.sendMessage(Title.prefix + "§7Du hast §e" + target.getName() + " §7in den Gamemode 2 gesetzt");
} else if (args[0].equalsIgnoreCase("3") || args[0].equalsIgnoreCase("spectator") || args[0].equalsIgnoreCase("spec")) {
target.setGameMode(GameMode.SPECTATOR);
target.sendMessage(Title.prefix + "§7Du bist nun im Gamemode 3");
player.sendMessage(Title.prefix + "§7Du hast §e" + target.getName() + " §7in den Gamemode 3 gesetzt");
} else player.sendMessage(Title.prefix + "§7Benutze §e/gm <0-3>");
} else player.sendMessage(Title.prefix + "§e" + args[1] + " §7ist nicht online!");
}
} else player.sendMessage(Title.noPerm);
}
return false;
}
}

View File

@@ -0,0 +1,33 @@
package de.marc.hub.commands;
import de.marc.hub.main.Main;
import de.marc.hub.utils.Title;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
public class SetLocationCommand implements CommandExecutor {
@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
Player player = (Player) sender;
if(player.hasPermission("hub.admin.setLoc")) {
if(args.length == 1) {
if(args[0].equalsIgnoreCase("Spawn")) {
Main.locationManager.setLocation(player.getLocation());
player.sendMessage(Title.prefix + "§7Du hast den §eSpawn §7gesetzt!");
} else if(args[0].equalsIgnoreCase("Death")) {
Main.locationManager.setDeathBoarder(player);
player.sendMessage(Title.prefix + "§7Du hast die §cDeathBorder §7gesetzt!");
} else
player.sendMessage(Title.noPerm);
} else
player.sendMessage(Title.noPerm);
}
return false;
}
}

View File

@@ -0,0 +1,29 @@
package de.marc.hub.commands;
import de.marc.hub.main.Main;
import de.marc.hub.utils.Title;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
public class SetWarpCommand implements CommandExecutor {
@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
if (sender instanceof Player) {
Player player = (Player) sender;
if (player.hasPermission("hub.admin.warp.set")) {
if (args.length == 1) {
Main.locationManager.setWarp(args[0], player.getLocation());
player.sendMessage(Title.prefix + "§7Du hast den §e" + args[0] + " §7Punkt gesetzt.");
} else player.sendMessage(Title.prefix + "§7Benutzt §e/setWarp <Name>§7!");
}
}
return false;
}
}

View File

@@ -0,0 +1,87 @@
package de.marc.hub.commands;
import de.marc.hub.main.Main;
import de.marc.hub.utils.Title;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.Sound;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
public class SpawnCommand implements CommandExecutor {
@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
if (sender instanceof Player) {
Player player = (Player) sender;
if (args.length == 0) {
Location l = null;
try {
l = Main.locationManager.getLocation();
} catch (Exception ignored) { }
if (!(l == null)) {
player.teleport(Main.locationManager.getLocation());
//Sound
player.playSound(player.getLocation(), Sound.LEVEL_UP, 1, 2);
} else {
//Sound
player.playSound(player.getLocation(), Sound.ANVIL_BREAK, 1, 1);
//msg
player.sendMessage("§8»");
player.sendMessage(Title.prefix + "§7Der Spawn wurde noch nicht gesetzt.");
player.sendMessage(Title.prefix + "§7Bitte wende dich an einen Serveradministrator.");
player.sendMessage("§8»");
}
} else if (args.length == 1) {
Player target = Bukkit.getPlayer(args[0]);
if (target != null) {
if (player.hasPermission("hub.spawn.other")) {
Location l = null;
try {
l = Main.locationManager.getLocation();
} catch (Exception ignored) { }
if (!(l == null)) {
target.teleport(Main.locationManager.getLocation());
//Sound
target.playSound(target.getLocation(), Sound.LEVEL_UP, 1, 2);
} else {
//Sound
player.playSound(player.getLocation(), Sound.ANVIL_BREAK, 1, 1);
//msg
player.sendMessage("§8»");
player.sendMessage(Title.prefix + "§7Der Spawn wurde noch nicht gesetzt.");
player.sendMessage(Title.prefix + "§7Bitte wende dich an einen Serveradministrator.");
player.sendMessage("§8»");
}
}
} else player.sendMessage(Title.prefix + "§e" + args[0] + " §7ist nicht online.");
} else player.sendMessage(Title.noPerm);
}
return false;
}
}

View File

@@ -0,0 +1,15 @@
package de.marc.hub.commands;
import de.marc.hub.cosmetics.CosmeticManager;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
public class TestCmd implements CommandExecutor {
@Override
public boolean onCommand(CommandSender commandSender, Command command, String s, String[] strings) {
CosmeticManager.openInventory((Player) commandSender);
return false;
}
}

View File

@@ -0,0 +1,36 @@
package de.marc.hub.cosmetics;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.event.player.PlayerMoveEvent;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.UUID;
public abstract class Cosmetic {
protected HashMap<UUID, Boolean> enabled = new HashMap<>();
protected int type;
public abstract void setup();
public abstract void enable(Player player);
public abstract void disable(Player player);
public abstract void onMove(PlayerMoveEvent event);
public void setEnabled(Player p, boolean enabled) { this.enabled.remove(p.getUniqueId()); this.enabled.put(p.getUniqueId(), enabled); }
public void setType(int type) { this.type = type; }
public boolean isEnabled(Player p) { try { return enabled.get(p.getUniqueId()); } catch (Exception e) { return false; } }
public int getType() { return type; }
public UUID[] getEnabledPlayers() {
ArrayList<UUID> a = new ArrayList<>();
for (UUID p : enabled.keySet()) if (enabled.get(p) && Bukkit.getPlayer(p) != null) a.add(p);
return a.toArray(new UUID[0]);
}
public ArrayList<UUID> getEnabledPlayersAsList() {
ArrayList<UUID> a = new ArrayList<>();
for (UUID p : enabled.keySet()) if (enabled.get(p) && Bukkit.getPlayer(p) != null) a.add(p);
return a;
}
}

View File

@@ -0,0 +1,95 @@
package de.marc.hub.cosmetics;
import java.sql.ResultSet;
import java.util.HashMap;
import java.util.UUID;
import de.marc.hub.main.Main;
import de.marc.hub.utils.MySQL;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.event.player.PlayerMoveEvent;
import org.bukkit.inventory.Inventory;
public final class CosmeticManager implements Listener {
private static final HashMap<UUID, Cosmetics> cosmetics = new HashMap<>();
public static void initialize() {
if (!MySQL.isConnected()) throw new NullPointerException("MySQL not connected");
MySQL.insert("CREATE TABLE IF NOT EXISTS Cosmetics (UUID VARCHAR(100), ID INT(10))");
Bukkit.getPluginManager().registerEvents(new CosmeticManager(), Main.getInstance());
for (Cosmetics cosmetics : Cosmetics.values()) cosmetics.getCosmetic().setup();
loadCosmetics();
}
public static void loadCosmetics() {
cosmetics.clear();
try {
ResultSet rs = MySQL.getData("SELECT * FROM Cosmetics");
while (true) {
assert rs != null;
if (!rs.next()) break;
Integer id = rs.getInt("ID");
cosmetics.put(UUID.fromString(rs.getString("UUID")), Cosmetics.getByID(id));
}
}catch (Exception e) { e.printStackTrace(); }
}
public static void saveCosmetics() {
MySQL.insert("DELETE FROM Cosmetics");
for (UUID p : cosmetics.keySet()) {
MySQL.insert("INSERT INTO Cosmetics (UUID, ID) VALUES (\"" + p + "\", " + cosmetics.get(p).getID() + ")");
}
}
public static void setCosmetics(Player p, Cosmetics c) {
disableCosmetics(p);
cosmetics.put(p.getUniqueId(), c);
c.getCosmetic().setEnabled(p, true);
c.getCosmetic().enable(p);
}
public static void disableCosmetics(Player p) {
while (cosmetics.containsKey(p.getUniqueId())) {
cosmetics.get(p.getUniqueId()).getCosmetic().setEnabled(p, false);
cosmetics.get(p.getUniqueId()).getCosmetic().disable(p);
cosmetics.remove(p.getUniqueId());
}
}
public static boolean isEnabled(Player p) {
if (!cosmetics.containsKey(p.getUniqueId())) return false;
return cosmetics.get(p.getUniqueId()).getCosmetic().isEnabled(p);
}
public static void openInventory(Player p) {
Inventory inv = Bukkit.createInventory(null, 3*9, "Cosmetics");
for (Cosmetics c : Cosmetics.values()) inv.setItem(c.getID(), c.getItem());
p.openInventory(inv);
}
@EventHandler
public void onInvClick(InventoryClickEvent event) {
if (!event.getView().getTitle().equals("Cosmetics")) return;
if (event.getCurrentItem() == null || event.getCurrentItem().getItemMeta() == null || event.getCurrentItem().getItemMeta().getDisplayName() == null) return;
event.setCancelled(true);
event.getWhoClicked().closeInventory();
Player p = (Player) event.getWhoClicked();
for (Cosmetics c : Cosmetics.values()) {
if (event.getCurrentItem().getItemMeta().getDisplayName().equals(c.getName())) {
if (isEnabled(p)) disableCosmetics(p);
else setCosmetics(p, c);
}
}
}
@EventHandler
public void onMove(PlayerMoveEvent event) {
for (Cosmetics cosmetic : Cosmetics.values()) cosmetic.getCosmetic().onMove(event);
}
}

View File

@@ -0,0 +1,41 @@
package de.marc.hub.cosmetics;
import de.marc.hub.cosmetics.particles.*;
import de.marc.hub.utils.ItemBuilder;
import org.bukkit.Material;
import org.bukkit.inventory.ItemStack;
public enum Cosmetics {
PARTICLE_FIRE(new Fire(), "§4Feuer", 0, Material.FIREBALL),
PARTICLE_HEARTS(new Hearts(), "§cHerzen", 1, Material.REDSTONE),
PARTICLE_MUSIC(new Music(), "§bNoten", 2, Material.JUKEBOX),
PARTICLE_PORNOPUFF(new PornoPuff(), "§5Enderman", 3, Material.ENDER_PEARL),
WINGS_FIRE(new WingsFire(), "FeuerFlügel", 4, Material.BARRIER);
private final Cosmetic cosmetic;
private final String name;
private final Integer id;
private final Material item;
Cosmetics(Cosmetic cosmetic, String name, Integer id, Material item) {
this.cosmetic = cosmetic;
this.name = name;
this.id = id;
this.item = item;
}
public Cosmetic getCosmetic() { return cosmetic; }
public String getName() { return name; }
public Integer getID() { return id; }
public ItemStack getItem() { return new ItemBuilder(item).setName(name).build(); }
public static Cosmetics getByID(Integer id) {
for (Cosmetics c : values()) {
if (c.getID().equals(id)) return c;
}
return null;
}
}

View File

@@ -0,0 +1,31 @@
package de.marc.hub.cosmetics.particles;
import de.marc.hub.cosmetics.Cosmetic;
import org.bukkit.Bukkit;
import org.bukkit.Effect;
import org.bukkit.entity.Player;
import org.bukkit.event.player.PlayerMoveEvent;
public class Fire extends Cosmetic {
@Override
public void setup() {
}
@Override
public void enable(Player player) {
}
@Override
public void disable(Player player) {
}
@Override
public void onMove(PlayerMoveEvent event) {
if (!getEnabledPlayersAsList().contains(event.getPlayer().getUniqueId())) return;
Player p = event.getPlayer();
for (Player all : Bukkit.getOnlinePlayers()) all.playEffect(p.getLocation(), Effect.MOBSPAWNER_FLAMES, 1);
}
}

View File

@@ -0,0 +1,28 @@
package de.marc.hub.cosmetics.particles;
import de.marc.hub.cosmetics.Cosmetic;
import org.bukkit.Bukkit;
import org.bukkit.Effect;
import org.bukkit.entity.Player;
import org.bukkit.event.player.PlayerMoveEvent;
public class Hearts extends Cosmetic {
@Override
public void setup() {
}
@Override
public void enable(Player player) {
}
@Override
public void disable(Player player) {
}
@Override
public void onMove(PlayerMoveEvent event) {
if (!getEnabledPlayersAsList().contains(event.getPlayer().getUniqueId())) return;
Player p = event.getPlayer();
for (Player all : Bukkit.getOnlinePlayers()) all.playEffect(p.getLocation(), Effect.HEART, 1);
}
}

View File

@@ -0,0 +1,31 @@
package de.marc.hub.cosmetics.particles;
import de.marc.hub.cosmetics.Cosmetic;
import org.bukkit.Bukkit;
import org.bukkit.Effect;
import org.bukkit.entity.Player;
import org.bukkit.event.player.PlayerMoveEvent;
public class Music extends Cosmetic {
@Override
public void setup() {
}
@Override
public void enable(Player player) {
}
@Override
public void disable(Player player) {
}
@Override
public void onMove(PlayerMoveEvent event) {
if (!getEnabledPlayersAsList().contains(event.getPlayer().getUniqueId())) return;
Player p = event.getPlayer();
for (Player all : Bukkit.getOnlinePlayers()) all.playEffect(p.getLocation(), Effect.NOTE, 1);
}
}

View File

@@ -0,0 +1,33 @@
package de.marc.hub.cosmetics.particles;
import de.marc.hub.cosmetics.Cosmetic;
import org.bukkit.Bukkit;
import org.bukkit.Effect;
import org.bukkit.entity.Player;
import org.bukkit.event.player.PlayerMoveEvent;
public class PornoPuff extends Cosmetic {
@Override
public void setup() {
}
@Override
public void enable(Player player) {
}
@Override
public void disable(Player player) {
}
@Override
public void onMove(PlayerMoveEvent event) {
if (!getEnabledPlayersAsList().contains(event.getPlayer().getUniqueId())) return;
Player p = event.getPlayer();
for (Player all : Bukkit.getOnlinePlayers()) all.playEffect(p.getLocation(), Effect.ENDER_SIGNAL, 1);
}
}

View File

@@ -0,0 +1,51 @@
package de.marc.hub.cosmetics.particles;
import de.marc.hub.cosmetics.Cosmetic;
import de.marc.hub.main.Main;
import org.bukkit.Bukkit;
import org.bukkit.Effect;
import org.bukkit.Location;
import org.bukkit.entity.Player;
import org.bukkit.event.player.PlayerMoveEvent;
import org.bukkit.util.Vector;
import java.util.UUID;
public class WingsFire extends Cosmetic implements Runnable {
@Override
public void setup() {
Bukkit.getScheduler().scheduleSyncRepeatingTask(Main.getInstance(), this, 10, 0);
}
@Override
public void enable(Player player) {
}
@Override
public void disable(Player player) {
}
@Override
public void onMove(PlayerMoveEvent event) {
}
@Override
public void run() {
for (UUID uuid : getEnabledPlayers()) {
Player p = Bukkit.getPlayer(uuid);
Vector[] offsets = new Vector[0]; //Particle Grid
for (final Vector offset : offsets) {
Vector pos = p.getLocation().toVector();
pos.add(new Vector(0, 1.5f, 0));
pos.add(offset);
Location result = pos.toLocation(p.getWorld());
for (Player all : Bukkit.getOnlinePlayers()) {
all.playEffect(result, Effect.FLAME, 1);
}
}
}
}
}

View File

@@ -0,0 +1,75 @@
package de.marc.hub.gui;
import de.marc.hub.cosmetics.CosmeticManager;
import de.marc.hub.utils.ItemBuilder;
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.Sound;
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;
public class CosmeticGUI implements Listener {
private static final String invTitle = "§6Cosmetics";
public static void openCosmetic(Player player) {
Inventory inventory = Bukkit.createInventory(null, 9*3, invTitle);
for (int slot = 0; slot < 9; slot++) {
inventory.setItem(slot, new ItemBuilder(Material.STAINED_GLASS_PANE, 1, 15).setName(" ").build());
}
for (int slot = 18; slot < inventory.getSize(); slot++) {
inventory.setItem(slot, new ItemBuilder(Material.STAINED_GLASS_PANE, 1, 15).setName(" ").build());
}
inventory.setItem(11, new ItemBuilder(Material.LEATHER_BOOTS).setName("§bParticle").build());
inventory.setItem(13, new ItemBuilder(Material.GLASS).setName("§6Heads").build());
inventory.setItem(15, new ItemBuilder(Material.STRING).setName("§3Flügel").build());
inventory.setItem(22, new ItemBuilder(Material.BARRIER).setName("§4Alle entfernen").build());
player.openInventory(inventory);
}
@EventHandler
public void handleNavigatorGUIClick(InventoryClickEvent event) {
//sehr wichtig
if (event.getClickedInventory() == null) return;
if(!(event.getWhoClicked() instanceof Player)) return;
Player player = (Player) event.getWhoClicked();
if (event.getInventory().getTitle().equals(invTitle)) {
event.setCancelled(true);
switch (event.getCurrentItem().getType()) {
case LEATHER_BOOTS:
ParticleGUI.openParticle(player);
break;
case GLASS:
break;
case STRING:
break;
case BARRIER:
CosmeticManager.disableCosmetics(player);
player.getInventory().setHelmet(null);
player.playSound(player.getLocation(), Sound.PISTON_RETRACT, 1, 2);
break;
}
}
}
}

View File

@@ -0,0 +1,66 @@
package de.marc.hub.gui;
import de.marc.coins.api.CoinAPI;
import de.marc.hub.utils.ItemBuilder;
import de.marc.hub.utils.Title;
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.Sound;
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;
public class InventoryGUI implements Listener {
private static final String invTitle = "§6Inventar";
public static void openInventory(Player player) {
Inventory inventory = Bukkit.createInventory(null, 9*3, invTitle);
for (int slot = 0; slot < 9; slot++) {
inventory.setItem(slot, new ItemBuilder(Material.STAINED_GLASS_PANE, 1, 15).setName(" ").build());
}
for (int slot = 18; slot < inventory.getSize(); slot++) {
inventory.setItem(slot, new ItemBuilder(Material.STAINED_GLASS_PANE, 1, 15).setName(" ").build());
}
inventory.setItem(10, new ItemBuilder(Material.GOLD_INGOT).setName("§e" + CoinAPI.getCoins(player.getUniqueId().toString()) + " Coins").build());
inventory.setItem(12, new ItemBuilder(Material.EMERALD).setName("§20 Token").setLore("§ccoming soon...").build());
inventory.setItem(14, new ItemBuilder(Material.ENDER_CHEST).setName("§50 Chests").setLore("§ccoming soon...").build());
inventory.setItem(16, new ItemBuilder(Material.FEATHER).setName("§6Cosmetics").build());
player.openInventory(inventory);
}
@EventHandler
public void handleNavigatorGUIClick(InventoryClickEvent event) {
//sehr wichtig
if (event.getClickedInventory() == null) return;
if(!(event.getWhoClicked() instanceof Player)) return;
Player player = (Player) event.getWhoClicked();
if (event.getInventory().getTitle().equals(invTitle)) {
event.setCancelled(true);
switch (event.getCurrentItem().getType()) {
case ENDER_CHEST:
player.playSound(player.getLocation(), Sound.ANVIL_BREAK, 1, 1);
Title.sendActionBar(player, Title.prefix + "§4coming soon");
break;
case FEATHER:
CosmeticGUI.openCosmetic(player);
break;
}
}
}
}

View File

@@ -0,0 +1,57 @@
package de.marc.hub.gui;
import de.marc.hub.utils.ItemBuilder;
import org.bukkit.Bukkit;
import org.bukkit.Material;
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;
public class NavigationGUI implements Listener {
private static final String invTitle = "§cNavigation f";
public static void openNav(Player player) {
Inventory inventory = Bukkit.createInventory(null, 9*6, invTitle);
for (int slot = 0; slot < 9; slot++) {
inventory.setItem(slot, new ItemBuilder(Material.STAINED_GLASS_PANE, 1, 15).setName(" ").build());
}
inventory.setItem(4, new ItemBuilder(Material.EYE_OF_ENDER).setName("§6§lSpawn").build());
inventory.setItem(10, new ItemBuilder(Material.SANDSTONE).setName("§eBuildFFA").build());
inventory.setItem(13, new ItemBuilder(Material.SLIME_BLOCK).setName("§aJump and Run").build());
inventory.setItem(16, new ItemBuilder(Material.DIAMOND_SWORD).setName("§b1 §lvs §r§b1").build());
inventory.setItem(29, new ItemBuilder(Material.CHAINMAIL_CHESTPLATE).setName("§cArena").build());
inventory.setItem(31, new ItemBuilder(Material.WORKBENCH).setName("§5CityBuild").build());
inventory.setItem(33, new ItemBuilder(Material.BARRIER).setName("§4coming soon..").build());
inventory.setItem(46, new ItemBuilder(Material.BARRIER).setName("§4coming soon..").build());
inventory.setItem(49, new ItemBuilder(Material.BARRIER).setName("§4coming soon..").build());
inventory.setItem(52, new ItemBuilder(Material.BARRIER).setName("§4coming soon..").build());
player.openInventory(inventory);
}
@EventHandler
public void handleNavigatorGUIClick(InventoryClickEvent event) {
//sehr wichtig
if (event.getClickedInventory() == null) return;
if(!(event.getWhoClicked() instanceof Player)) return;
Player player = (Player) event.getWhoClicked();
if (event.getInventory().getTitle().equals(invTitle)) {
event.setCancelled(true);
switch (event.getCurrentItem().getType()) {
case CHEST:
//InventoryGUI
break;
}
}
}
}

View File

@@ -0,0 +1,79 @@
package de.marc.hub.gui;
import de.marc.hub.cosmetics.CosmeticManager;
import de.marc.hub.cosmetics.Cosmetics;
import de.marc.hub.utils.ItemBuilder;
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.Sound;
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;
public class ParticleGUI implements Listener {
private static final String invTitle = "§6Cosmetics §8» §r§bParticle";
public static void openParticle(Player player) {
Inventory inventory = Bukkit.createInventory(null, 9*3, invTitle);
for (int slot = 0; slot < 9; slot++) {
inventory.setItem(slot, new ItemBuilder(Material.STAINED_GLASS_PANE, 1, 15).setName(" ").build());
}
for (int slot = 18; slot < inventory.getSize(); slot++) {
inventory.setItem(slot, new ItemBuilder(Material.STAINED_GLASS_PANE, 1, 15).setName(" ").build());
}
inventory.setItem(10, Cosmetics.PARTICLE_HEARTS.getItem());
inventory.setItem(12, Cosmetics.PARTICLE_FIRE.getItem());
inventory.setItem(14, Cosmetics.PARTICLE_PORNOPUFF.getItem());
inventory.setItem(16, Cosmetics.PARTICLE_MUSIC.getItem());
player.openInventory(inventory);
}
@EventHandler
public void handleNavigatorGUIClick(InventoryClickEvent event) {
//sehr wichtig
if (event.getClickedInventory() == null) return;
if(!(event.getWhoClicked() instanceof Player)) return;
Player player = (Player) event.getWhoClicked();
if (event.getInventory().getTitle().equals(invTitle)) {
event.setCancelled(true);
switch (event.getSlot()) {
case 10:
CosmeticManager.setCosmetics(player, Cosmetics.PARTICLE_HEARTS);
player.playSound(player.getLocation(), Sound.ANVIL_USE, 1, 2);
player.closeInventory();
break;
case 12:
CosmeticManager.setCosmetics(player, Cosmetics.PARTICLE_FIRE);
player.playSound(player.getLocation(), Sound.ANVIL_USE, 1, 2);
player.closeInventory();
break;
case 14:
CosmeticManager.setCosmetics(player, Cosmetics.PARTICLE_PORNOPUFF);
player.playSound(player.getLocation(), Sound.ANVIL_USE, 1, 2);
player.closeInventory();
break;
case 16:
CosmeticManager.setCosmetics(player, Cosmetics.PARTICLE_MUSIC);
player.playSound(player.getLocation(), Sound.ANVIL_USE, 1, 2);
player.closeInventory();
break;
}
}
}
}

View File

@@ -0,0 +1,66 @@
package de.marc.hub.gui;
import de.marc.hub.main.Main;
import de.marc.hub.utils.ItemBuilder;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.Action;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
public class PlayerInvGUI implements Listener {
public static void addPlayerInv(Player player) {
player.getInventory().clear();
Inventory inventory = player.getInventory();
inventory.setItem(0, new ItemBuilder(Material.CHEST).setName("§6Inventar").build());
inventory.setItem(1, new ItemBuilder(Material.NETHER_STAR).setName("§eShop").build());
inventory.setItem(4, new ItemBuilder(Material.COMPASS).setName("§c§lNavigator").build());
//hider
inventory.setItem(7, new ItemStack(Material.GLOWSTONE_DUST));
inventory.setItem(8, new ItemBuilder(player).setName("§7§l" + player.getName()).build());
}
@EventHandler
public void onInteract(PlayerInteractEvent event) {
if (event.getAction().equals(Action.RIGHT_CLICK_AIR) || event.getAction().equals(Action.RIGHT_CLICK_BLOCK)) {
Player player = event.getPlayer();
if (Main.buildMode.contains(player)) return;
event.setCancelled(true);
if (event.getItem() == null) return;
switch (event.getItem().getType()) {
case CHEST:
InventoryGUI.openInventory(player);
break;
case NETHER_STAR:
//ShopGUI
break;
case COMPASS:
//NavigationGUI.openNav(player);
TempNavGUI.openTemNav(player);
break;
//case GLOWSTONE_DUST:
//hider
case SKULL_ITEM:
//FRIENDGUI
break;
default:
break;
}
}
}
}

View File

@@ -0,0 +1,78 @@
package de.marc.hub.gui;
import de.marc.hub.main.Main;
import de.marc.hub.utils.ItemBuilder;
import de.marc.hub.utils.Title;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.Sound;
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;
public class TempNavGUI implements Listener {
private static final String invTitle = "§cNavigation";
public static void openTemNav(Player player) {
Inventory inventory = Bukkit.createInventory(null, 9*3, invTitle);
for (int slot = 0; slot < 9; slot++) {
inventory.setItem(slot, new ItemBuilder(Material.STAINED_GLASS_PANE, 1, 15).setName(" ").build());
}
for (int slot = 18; slot < inventory.getSize(); slot++) {
inventory.setItem(slot, new ItemBuilder(Material.STAINED_GLASS_PANE, 1, 15).setName(" ").build());
}
inventory.setItem(4, new ItemBuilder(Material.EYE_OF_ENDER).setName("§6§lSpawn").build());
inventory.setItem(11, new ItemBuilder(Material.WORKBENCH).setName("§5CityBuild").setLore("§7Handel in der §eWirtschaft §7und", "§7lasse beim bauen deiner", "§eKreativität §7freien Lauf.").build());
inventory.setItem(15, new ItemBuilder(Material.GOLD_PICKAXE).setName("§2FreeBuild").setLore("§7Baue alleine oder mit deinen", "§7Freunden eine eigene §eStadt §7auf.").build());
player.openInventory(inventory);
}
@EventHandler
public void handleNavigatorGUIClick(InventoryClickEvent event) {
//sehr wichtig
if (event.getClickedInventory() == null) return;
if(!(event.getWhoClicked() instanceof Player)) return;
Player player = (Player) event.getWhoClicked();
if (event.getInventory().getTitle().equals(invTitle)) {
event.setCancelled(true);
switch (event.getCurrentItem().getType()) {
case EYE_OF_ENDER:
Location l = null;
try {
l = Main.locationManager.getLocation();
} catch (Exception ignored) { }
if (!(l == null)) {
player.teleport(Main.locationManager.getLocation());
player.playSound(player.getLocation(), Sound.LEVEL_UP, 1, 2);
} else {
player.playSound(player.getLocation(), Sound.ANVIL_BREAK, 1, 1);
player.sendMessage("§8»");
player.sendMessage(Title.prefix + "§7Der Spawn wurde noch nicht gesetzt.");
player.sendMessage(Title.prefix + "§7Bitte wende dich an einen Serveradministrator.");
player.sendMessage("§8»");
}
break;
case WORKBENCH:
Title.locTP(player, Main.locationManager.getWarp("citybuild"));
break;
case GOLD_PICKAXE:
Title.locTP(player, Main.locationManager.getWarp("freebuild"));
break;
}
}
}
}

View File

@@ -0,0 +1,34 @@
package de.marc.hub.listener;
import de.marc.hub.main.Main;
import de.marc.hub.utils.Title;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.Action;
import org.bukkit.event.block.BlockBreakEvent;
import org.bukkit.event.player.PlayerInteractEvent;
public class BlockBreakListener implements Listener {
@EventHandler
public void onBlockBreak(BlockBreakEvent event) {
Player player = event.getPlayer();
if (!(Main.buildMode.contains(player))) {
if (player.hasPermission("hub.build")) {
Title.sendActionBar(player, Title.prefix + "§7Benutze §c/build §7 um zu bauen");
} else
Title.sendActionBar(player, Title.prefix + "§cDu kannst das nicht abbauen!");
event.setCancelled(true);
}
}
@EventHandler
public void noUproot(PlayerInteractEvent event)
{
if(event.getAction() == Action.PHYSICAL && event.getClickedBlock().getType() == Material.SOIL)
event.setCancelled(true);
}
}

View File

@@ -0,0 +1,24 @@
package de.marc.hub.listener;
import de.marc.hub.main.Main;
import de.marc.hub.utils.Title;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockPlaceEvent;
public class BlockPlaceListener implements Listener {
@EventHandler
public void onBlockPlace(BlockPlaceEvent event) {
Player player = event.getPlayer();
if (!(Main.buildMode.contains(player))) {
if (player.hasPermission("hub.build")) {
Title.sendActionBar(player, Title.prefix + "§7Benutze §c/build §7 um zu bauen");
} else
Title.sendActionBar(player, Title.prefix + "§cDu darfst nicht bauen!");
event.setCancelled(true);
}
}
}

View File

@@ -0,0 +1,27 @@
package de.marc.hub.listener;
import de.marc.hub.main.Main;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.PlayerDeathEvent;
import org.bukkit.event.player.PlayerRespawnEvent;
public class DeathListener implements Listener {
@EventHandler
public void onPlayerDeath(PlayerDeathEvent event) {
Player player = event.getEntity();
event.getDrops().clear();
Bukkit.getScheduler().scheduleSyncDelayedTask(Main.getInstance(), () -> player.spigot().respawn(), 1);
}
@EventHandler
public void onRespawn(PlayerRespawnEvent event) {
//Spawn
event.setRespawnLocation(Main.locationManager.getLocation());
}
}

View File

@@ -0,0 +1,24 @@
package de.marc.hub.listener;
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.EntityExplodeEvent;
public class EntityDamageListener implements Listener {
@EventHandler
public void onEntityDamage(EntityDamageEvent event) {
if (event.getEntity() instanceof Player) {
event.setCancelled(true);
}
}
@EventHandler
public void onExplode(EntityExplodeEvent event) {
event.setCancelled(true);
event.blockList().clear();
}
}

View File

@@ -0,0 +1,17 @@
package de.marc.hub.listener;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.FoodLevelChangeEvent;
public class FoodListener implements Listener {
@EventHandler
public void onFoodLevelChange(FoodLevelChangeEvent event) {
if (event.getEntity() instanceof Player) {
event.setCancelled(true);
}
}
}

View File

@@ -0,0 +1,49 @@
package de.marc.hub.listener;
import de.marc.hub.gui.PlayerInvGUI;
import de.marc.hub.main.Main;
import de.marc.hub.utils.Title;
import org.bukkit.GameMode;
import org.bukkit.Location;
import org.bukkit.Sound;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
public class JoinListener implements Listener {
@EventHandler
public void onJoin(PlayerJoinEvent event) {
Player player = event.getPlayer();
//Msg
event.setJoinMessage("");
//Gamemode
player.setGameMode(GameMode.SURVIVAL);
//Inv
PlayerInvGUI.addPlayerInv(player);
//XP
player.setLevel(2021);
//spawn loc
Location l = null;
try {
l = Main.locationManager.getLocation();
} catch (Exception ignored) { }
if (!(l == null)) {
player.teleport(Main.locationManager.getLocation());
player.playSound(player.getLocation(), Sound.LEVEL_UP, 1, 2);
} else {
player.playSound(player.getLocation(), Sound.ANVIL_BREAK, 1, 1);
player.sendMessage("§8»");
player.sendMessage(Title.prefix + "§7Der Spawn wurde noch nicht gesetzt.");
player.sendMessage(Title.prefix + "§7Bitte wende dich an einen Serveradministrator.");
player.sendMessage("§8»");
}
}
}

View File

@@ -0,0 +1,59 @@
package de.marc.hub.listener;
import de.marc.hub.main.Main;
import org.bukkit.*;
import org.bukkit.block.Block;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.*;
import org.bukkit.util.Vector;
import java.util.HashMap;
public class JumpListener implements Listener {
private static final HashMap<Player, Boolean> hash = new HashMap<>();
//Double Jump
@EventHandler
public void onPlayerJoin(PlayerJoinEvent event) {
hash.put(event.getPlayer(), true);
}
@EventHandler
public void onPlayerLeave(PlayerQuitEvent event) {
hash.remove(event.getPlayer());
}
@EventHandler
public void onGameModeChange(PlayerGameModeChangeEvent event) {
if (event.getNewGameMode().equals(GameMode.SURVIVAL)) {
Bukkit.getScheduler().scheduleSyncDelayedTask(Main.getInstance(), () -> event.getPlayer().setAllowFlight(true), 20);
}
}
@EventHandler
public void onDoubleJump(PlayerToggleFlightEvent event) {
Player player = event.getPlayer();
if (player.getGameMode() != GameMode.CREATIVE && player.getGameMode() != GameMode.SPECTATOR) {
if (Main.flyMode.contains(player)) return;
event.setCancelled(true);
Block block = player.getWorld().getBlockAt(player.getLocation().subtract(0, 2, 0));
if (!block.getType().equals(Material.AIR)) {
if (hash.get(player)) {
Vector v = player.getLocation().getDirection().multiply(1).setY(1);
player.setVelocity(v);
player.playSound(player.getLocation(), Sound.ENDERDRAGON_WINGS, 2, 1);
hash.remove(player);
player.setAllowFlight(false);
hash.put(player, false);
Bukkit.getScheduler().scheduleSyncDelayedTask(Main.getInstance(), () -> {
hash.remove(player);
hash.put(player, true);
}, 2*20);
}
}
}
}
}

View File

@@ -0,0 +1,14 @@
package de.marc.hub.listener;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.LeavesDecayEvent;
public class LeavesDecayListener implements Listener {
@EventHandler
public void onLeavesDecay(LeavesDecayEvent event) {
event.setCancelled(false);
}
}

View File

@@ -0,0 +1,47 @@
package de.marc.hub.listener;
import de.marc.hub.main.Main;
import org.bukkit.*;
import org.bukkit.block.Block;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerMoveEvent;
import org.bukkit.util.Vector;
public class MoveListener implements Listener {
@EventHandler
public void onPlayerMove(PlayerMoveEvent event) {
Player player = event.getPlayer();
//Für JumpListener
Block block = player.getWorld().getBlockAt(player.getLocation().subtract(0, 1, 0));
Block block1 = player.getWorld().getBlockAt(player.getLocation().subtract(0, 2, 0));
if (!(Main.flyMode.contains(player))) {
if (!(block.getType().equals(Material.AIR)) || !(block1.getType().equals(Material.AIR))) {
player.setAllowFlight(true);
} else player.setAllowFlight(player.getGameMode().equals(GameMode.CREATIVE) || player.getGameMode().equals(GameMode.SPECTATOR));
}
if (player.getLocation().getBlock().getType() == Material.GOLD_PLATE) {
Vector vector = player.getLocation().getDirection().multiply(4.0).setY(1.5);
player.setVelocity(vector);
player.playSound(player.getLocation(), Sound.ENDERMAN_TELEPORT, 10, 2);
for (final Player players : Bukkit.getOnlinePlayers()) {
players.playEffect(player.getLocation(), Effect.MOBSPAWNER_FLAMES, 1);
}
}
//DeathBorder
double y = player.getLocation().getY();
if(y < Main.locationManager.getDeathBoarder()) {
player.teleport(Main.locationManager.getLocation());
player.playSound(player.getLocation(), Sound.LEVEL_UP, 1, 2);
event.setCancelled(true);
}
}
}

View File

@@ -0,0 +1,19 @@
package de.marc.hub.listener;
import de.marc.hub.main.Main;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerPickupItemEvent;
public class PickupListener implements Listener {
@EventHandler
public static void onPickup(PlayerPickupItemEvent event) {
Player player = event.getPlayer();
if (!(Main.buildMode.contains(player))) {
event.setCancelled(true);
}
}
}

Some files were not shown because too many files have changed in this diff Show More