about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorBaitinq <manuelpalenzuelamerino@gmail.com>2018-03-21 20:52:28 +0000
committerBaitinq <manuelpalenzuelamerino@gmail.com>2018-03-21 20:52:28 +0000
commitf6692f60908b57efc4defb43573dc12c5b1846b8 (patch)
tree7cfa8280bdafc534b470e1ee89744861b89f9f05 /src
downloadPrimalMC-f6692f60908b57efc4defb43573dc12c5b1846b8.tar.gz
PrimalMC-f6692f60908b57efc4defb43573dc12c5b1846b8.tar.bz2
PrimalMC-f6692f60908b57efc4defb43573dc12c5b1846b8.zip
Initial commit HEAD master
Diffstat (limited to 'src')
-rw-r--r--src/Main.iml23
-rw-r--r--src/com/baitinq/primalmc/Main.java116
-rw-r--r--src/com/baitinq/primalmc/Scoreboard/Scoreboard.java22
-rw-r--r--src/com/baitinq/primalmc/commands/BaitinqCommand.java4
-rw-r--r--src/com/baitinq/primalmc/commands/DiscordCommand.java24
-rw-r--r--src/com/baitinq/primalmc/commands/PanicCommand.java41
-rw-r--r--src/com/baitinq/primalmc/commands/StaffCommand.java86
-rw-r--r--src/com/baitinq/primalmc/commands/StoreCommand.java24
-rw-r--r--src/com/baitinq/primalmc/commands/TeamspeakCommand.java24
-rw-r--r--src/com/baitinq/primalmc/commands/VanishCommand.java47
-rw-r--r--src/com/baitinq/primalmc/commands/WebsiteCommand.java24
-rw-r--r--src/com/baitinq/primalmc/events/FirstLogin.java32
-rw-r--r--src/com/baitinq/primalmc/events/HubEvents.java78
-rw-r--r--src/com/baitinq/primalmc/events/PlayerJoin.java31
-rw-r--r--src/com/baitinq/primalmc/events/StaffEvents/Events.java53
-rw-r--r--src/com/baitinq/primalmc/events/StaffJoin.java30
-rw-r--r--src/com/baitinq/primalmc/inventories/Items/StaffItems.java40
-rw-r--r--src/com/baitinq/primalmc/inventories/StaffInventory.java25
-rw-r--r--src/com/baitinq/primalmc/utils/ChatUtils.java28
-rw-r--r--src/com/baitinq/primalmc/utils/ConfigurationManager.java59
-rw-r--r--src/config.yml3
-rw-r--r--src/players.yml1
-rw-r--r--src/plugin.yml21
23 files changed, 836 insertions, 0 deletions
diff --git a/src/Main.iml b/src/Main.iml
new file mode 100644
index 0000000..52b9b8c
--- /dev/null
+++ b/src/Main.iml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
+  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
+    <output url="file://$MODULE_DIR$/target/classes" />
+    <output-test url="file://$MODULE_DIR$/target/test-classes" />
+    <content url="file://$MODULE_DIR$">
+      <excludeFolder url="file://$MODULE_DIR$/target" />
+    </content>
+    <orderEntry type="jdk" jdkName="1.8" jdkType="JavaSDK" />
+    <orderEntry type="sourceFolder" forTests="false" />
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$USER_HOME$/Dr/Server/HCF/spigot.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES>
+          <root url="jar://$USER_HOME$/Desktop/Server/HCF/spigot.jar!/" />
+        </SOURCES>
+      </library>
+    </orderEntry>
+  </component>
+</module>
\ No newline at end of file
diff --git a/src/com/baitinq/primalmc/Main.java b/src/com/baitinq/primalmc/Main.java
new file mode 100644
index 0000000..dfaba93
--- /dev/null
+++ b/src/com/baitinq/primalmc/Main.java
@@ -0,0 +1,116 @@
+package com.baitinq.primalmc;
+
+import com.baitinq.primalmc.commands.*;
+import com.baitinq.primalmc.events.HubEvents;
+import com.baitinq.primalmc.inventories.StaffInventory;
+import com.baitinq.primalmc.utils.ChatUtils;
+import com.baitinq.primalmc.utils.ConfigurationManager;
+import lombok.Getter;
+import org.bukkit.Bukkit;
+import org.bukkit.ChatColor;
+import org.bukkit.command.CommandExecutor;
+import org.bukkit.entity.Player;
+import org.bukkit.event.Listener;
+import com.baitinq.primalmc.events.PlayerJoin;
+import org.bukkit.plugin.java.JavaPlugin;
+import java.util.ArrayList;
+import java.util.UUID;
+
+@Getter
+public class Main extends JavaPlugin implements Listener, CommandExecutor{
+
+    @SuppressWarnings( "deprecation" )
+
+    private ConfigurationManager cfg;
+    private StaffCommand staffcmd;
+    private StaffInventory staffinv;
+
+    @Getter public String PREFIX = ChatUtils.chat(ChatColor.GOLD+""+ChatColor.BOLD+"PrimalMC»");
+    @Getter public String STAFF = ChatUtils.chat(ChatColor.GRAY+"["+ChatColor.GOLD+ChatColor.BOLD+"Staff"+ChatColor.RESET+ChatColor.GRAY+"]");
+
+    @Getter public String staffpermission = "primalmc.staff";
+
+    //List of Online Staff
+    @Getter public ArrayList<UUID> Staff = new ArrayList<UUID>();
+
+    @Getter public ArrayList<UUID> Vanished = new ArrayList<UUID>();
+
+
+    @Override
+    public void onEnable(){
+        loadEvents();
+        loadCMD();
+        LoadConfig();
+    }
+    @Override
+    public void onDisable(){
+        saveConfig();
+    }
+
+    public void LoadConfig(){
+        LoadConfigManager();
+        getConfig().options().copyDefaults(true);
+        saveConfig();
+        reloadConfig();
+    }
+    //ConfigManager (Config.yml reload, save, etc)
+    public void LoadConfigManager(){
+        cfg = new ConfigurationManager();
+        cfg.setup();
+        cfg.SavePlayers();
+        cfg.ReloadPlayers();
+    }
+//loadCommands (Clean up onEnable)
+    public void loadCMD(){
+        getCommand("staff").setExecutor(new StaffCommand());
+        getCommand("vanish").setExecutor(new VanishCommand());
+        getCommand("discord").setExecutor(new DiscordCommand());
+        getCommand("website").setExecutor(new WebsiteCommand());
+        getCommand("teamspeak").setExecutor(new TeamspeakCommand());
+        getCommand("store").setExecutor(new StoreCommand());
+//loadEvents (Clean up onEnable)
+    }
+    public void loadEvents(){
+
+        getServer().getPluginManager().registerEvents(new PlayerJoin(), this);
+        getServer().getPluginManager().registerEvents(new HubEvents(), this);
+    }
+
+    //void to add to staff
+    public void addToStaffMode(Player player){
+        Staff.add(player.getUniqueId());
+    }
+    //void remove from staff
+    public void removeFromStaffMode(Player player){
+        Staff.remove(player.getUniqueId());
+    }
+    //void vanish the player
+    public void setVanished(Player player){
+        Vanished.add(player.getUniqueId());
+        for(Player p : Bukkit.getServer().getOnlinePlayers()){
+            p.hidePlayer(player);
+        }
+    }
+    //void unvanish the player
+    public void removeVanished(Player player){
+        Vanished.remove(player.getUniqueId());
+        for(Player p : Bukkit.getServer().getOnlinePlayers()){
+            p.showPlayer(player);
+        }
+    }
+    //set the staff inv
+   // public void giveStaffInv(Player player){
+    //    StaffInventory i = new StaffInventory();
+    //    i.
+    //}
+}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/com/baitinq/primalmc/Scoreboard/Scoreboard.java b/src/com/baitinq/primalmc/Scoreboard/Scoreboard.java
new file mode 100644
index 0000000..68921b8
--- /dev/null
+++ b/src/com/baitinq/primalmc/Scoreboard/Scoreboard.java
@@ -0,0 +1,22 @@
+package com.baitinq.primalmc.Scoreboard;
+
+import com.baitinq.primalmc.Main;
+import org.bukkit.Bukkit;
+import org.bukkit.entity.Player;
+import org.bukkit.event.Listener;
+import org.bukkit.scoreboard.ScoreboardManager;
+
+public class Scoreboard implements Listener {
+
+    private static Main plugin;
+
+    public void CreateScoreboard(Player player){
+
+       //ScoreboardManager sm = Bukkit.getServer().getScoreboardManager();
+       //sm.getNewScoreboard().registerNewTeam("Vanish");
+      // sm.getNewScoreboard().registerNewTeam("Gamemode");
+      // player.setScoreboard(board);
+
+    }
+
+}
diff --git a/src/com/baitinq/primalmc/commands/BaitinqCommand.java b/src/com/baitinq/primalmc/commands/BaitinqCommand.java
new file mode 100644
index 0000000..87ac8b6
--- /dev/null
+++ b/src/com/baitinq/primalmc/commands/BaitinqCommand.java
@@ -0,0 +1,4 @@
+package com.baitinq.primalmc.commands;
+
+public class BaitinqCommand {
+}
diff --git a/src/com/baitinq/primalmc/commands/DiscordCommand.java b/src/com/baitinq/primalmc/commands/DiscordCommand.java
new file mode 100644
index 0000000..40f8003
--- /dev/null
+++ b/src/com/baitinq/primalmc/commands/DiscordCommand.java
@@ -0,0 +1,24 @@
+package com.baitinq.primalmc.commands;
+
+import org.bukkit.ChatColor;
+import org.bukkit.command.Command;
+import org.bukkit.command.CommandExecutor;
+import org.bukkit.command.CommandSender;
+import org.bukkit.entity.Player;
+
+public class DiscordCommand implements CommandExecutor{
+
+    private String discord = "discord";
+
+    @Override
+    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
+        if(!(sender instanceof Player)){
+            sender.sendMessage(ChatColor.RED+"Only executable by players.");
+        }
+        Player player = (Player) sender;
+        player.sendMessage(ChatColor.YELLOW+"The PrimalMC Discord is "+ChatColor.GOLD+ discord);
+
+
+        return true;
+    }
+}
diff --git a/src/com/baitinq/primalmc/commands/PanicCommand.java b/src/com/baitinq/primalmc/commands/PanicCommand.java
new file mode 100644
index 0000000..ede0bf4
--- /dev/null
+++ b/src/com/baitinq/primalmc/commands/PanicCommand.java
@@ -0,0 +1,41 @@
+package com.baitinq.primalmc.commands;
+
+import com.baitinq.primalmc.Main;
+import org.bukkit.ChatColor;
+import org.bukkit.command.Command;
+import org.bukkit.command.CommandExecutor;
+import org.bukkit.command.CommandSender;
+import org.bukkit.entity.Player;
+import org.bukkit.event.player.PlayerMoveEvent;
+
+import java.util.ArrayList;
+
+public class PanicCommand implements CommandExecutor{
+
+    private TeamspeakCommand plugin;
+
+    ArrayList<Player> paniced = new ArrayList<Player>();
+
+    @Override
+    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
+        if(!(sender instanceof Player)){
+            sender.sendMessage(ChatColor.YELLOW+"This command is only executable by players.");
+        }
+        Player player = (Player) sender;
+
+
+        return true;
+    }
+
+
+    public void PanicEvent(PlayerMoveEvent event){
+        Player player = event.getPlayer();
+        if(paniced.contains(player)){
+            //añadir si tiene permiso pueda quitar de panick si no no
+            paniced.remove(player);
+            player.sendMessage(ChatColor.YELLOW+"You are no longer panicked.");
+        }
+        paniced.add(player);
+        player.sendMessage(ChatColor.YELLOW+"You are in panick mode! Connect to" + ChatColor.GOLD+plugin.teamspeak);
+    }
+}
diff --git a/src/com/baitinq/primalmc/commands/StaffCommand.java b/src/com/baitinq/primalmc/commands/StaffCommand.java
new file mode 100644
index 0000000..fe13064
--- /dev/null
+++ b/src/com/baitinq/primalmc/commands/StaffCommand.java
@@ -0,0 +1,86 @@
+package com.baitinq.primalmc.commands;
+
+import com.baitinq.primalmc.Main;
+import com.baitinq.primalmc.inventories.StaffInventory;
+import com.sun.org.apache.xerces.internal.xs.datatypes.ByteList;
+import org.bukkit.Bukkit;
+import org.bukkit.ChatColor;
+import org.bukkit.GameMode;
+import org.bukkit.Material;
+import org.bukkit.command.Command;
+import org.bukkit.command.CommandExecutor;
+import org.bukkit.command.CommandSender;
+import org.bukkit.entity.HumanEntity;
+import org.bukkit.entity.Player;
+import org.bukkit.event.Listener;
+import org.bukkit.event.inventory.InventoryType;
+import org.bukkit.inventory.Inventory;
+import org.bukkit.inventory.InventoryHolder;
+import org.bukkit.inventory.ItemStack;
+import org.bukkit.inventory.meta.ItemMeta;
+
+import java.util.*;
+
+
+public class StaffCommand implements CommandExecutor, Listener {
+
+    @SuppressWarnings( "deprecation" )
+
+    private static Main plugin;
+    private static StaffInventory staffinv;
+//TODO PREFIX
+
+    ArrayList<UUID> staff= new ArrayList<UUID>();
+
+
+    @Override
+    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
+        if(!(sender instanceof Player)){
+            sender.sendMessage(ChatColor.RED+"This command is only executable by players.");
+        }
+        Player player = (Player) sender;
+        if(player.hasPermission("primalmc.staff")){
+            if(!staff.contains(player.getUniqueId())){
+                player.sendMessage(ChatColor.GOLD+"Staff Mode Enabled.");
+                player.setGameMode(GameMode.CREATIVE);
+                plugin.addToStaffMode(player);
+               // player.getInventory();
+               // staffinv.CreateInv(player);
+                plugin.setVanished(player);
+
+
+                return true;
+            }
+            player.sendMessage(ChatColor.GOLD+"Staff Mode Disabled.");
+            player.setGameMode(GameMode.SURVIVAL);
+            plugin.removeFromStaffMode(player);
+            plugin.removeVanished(player);
+            //player.getInventory().setContents();
+
+
+
+
+        }
+        else{
+            player.sendMessage(ChatColor.RED+"You don't have permission to use this command.");
+
+        } return true;
+    }
+
+    public void Vanish(Player player){
+        for (Player p : Bukkit.getServer().getOnlinePlayers()){
+            p.hidePlayer(player);
+        }
+
+    }
+
+    public void UnVanish(Player player){
+        for (Player p : Bukkit.getServer().getOnlinePlayers()){
+            p.showPlayer(player);
+        }
+
+    }
+}
+
+
+
diff --git a/src/com/baitinq/primalmc/commands/StoreCommand.java b/src/com/baitinq/primalmc/commands/StoreCommand.java
new file mode 100644
index 0000000..48d79e5
--- /dev/null
+++ b/src/com/baitinq/primalmc/commands/StoreCommand.java
@@ -0,0 +1,24 @@
+package com.baitinq.primalmc.commands;
+
+import org.bukkit.ChatColor;
+import org.bukkit.command.Command;
+import org.bukkit.command.CommandExecutor;
+import org.bukkit.command.CommandSender;
+import org.bukkit.entity.Player;
+
+public class StoreCommand implements CommandExecutor{
+
+    private String store = "store.primalmc.com";
+
+    @Override
+    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
+        if(!(sender instanceof Player)){
+            sender.sendMessage(ChatColor.RED+"Only executable by players.");
+        }
+        Player player = (Player) sender;
+        player.sendMessage(ChatColor.YELLOW+"The PrimalMC Store is "+ChatColor.GOLD+ store);
+
+
+        return true;
+    }
+}
diff --git a/src/com/baitinq/primalmc/commands/TeamspeakCommand.java b/src/com/baitinq/primalmc/commands/TeamspeakCommand.java
new file mode 100644
index 0000000..f9d2cc0
--- /dev/null
+++ b/src/com/baitinq/primalmc/commands/TeamspeakCommand.java
@@ -0,0 +1,24 @@
+package com.baitinq.primalmc.commands;
+
+import org.bukkit.ChatColor;
+import org.bukkit.command.Command;
+import org.bukkit.command.CommandExecutor;
+import org.bukkit.command.CommandSender;
+import org.bukkit.entity.Player;
+
+public class TeamspeakCommand implements CommandExecutor{
+
+    public String teamspeak = "ts.primalmc.com";
+
+    @Override
+    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
+        if(!(sender instanceof Player)){
+            sender.sendMessage(ChatColor.RED+"Only executable by players.");
+        }
+        Player player = (Player) sender;
+        player.sendMessage(ChatColor.YELLOW+"The PrimalMC Teamspeak is "+ChatColor.GOLD+ teamspeak);
+
+
+        return true;
+    }
+}
\ No newline at end of file
diff --git a/src/com/baitinq/primalmc/commands/VanishCommand.java b/src/com/baitinq/primalmc/commands/VanishCommand.java
new file mode 100644
index 0000000..ad4248f
--- /dev/null
+++ b/src/com/baitinq/primalmc/commands/VanishCommand.java
@@ -0,0 +1,47 @@
+package com.baitinq.primalmc.commands;
+
+import com.baitinq.primalmc.Main;
+import org.bukkit.Bukkit;
+import org.bukkit.ChatColor;
+import org.bukkit.command.Command;
+import org.bukkit.command.CommandExecutor;
+import org.bukkit.command.CommandSender;
+import org.bukkit.craftbukkit.libs.org.ibex.nestedvm.util.Platform;
+import org.bukkit.entity.Player;
+
+import java.util.ArrayList;
+import java.util.UUID;
+
+public class VanishCommand implements CommandExecutor{
+
+    @SuppressWarnings( "deprecation" )
+
+    private static Main plugin;
+
+    //TODO PREFIX
+
+    @Override
+    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
+        Player player = (Player) sender;
+        if(!(sender instanceof Player)){
+            sender.sendMessage(ChatColor.RED+"This command is only executable by players.");
+        }
+
+        if(player.hasPermission("primalmc.staff")){
+            if(!plugin.Vanished.contains(player.getUniqueId())){
+                plugin.Vanished.add(player.getUniqueId());
+                return true;
+            }
+
+            plugin.Vanished.remove(player.getUniqueId());
+            return true;
+
+        }
+
+          player.sendMessage(ChatColor.RED+"You dont have permission to use this command.");
+
+        return true;
+    }
+}
+
+
diff --git a/src/com/baitinq/primalmc/commands/WebsiteCommand.java b/src/com/baitinq/primalmc/commands/WebsiteCommand.java
new file mode 100644
index 0000000..aaa2e6b
--- /dev/null
+++ b/src/com/baitinq/primalmc/commands/WebsiteCommand.java
@@ -0,0 +1,24 @@
+package com.baitinq.primalmc.commands;
+
+import org.bukkit.ChatColor;
+import org.bukkit.command.Command;
+import org.bukkit.command.CommandExecutor;
+import org.bukkit.command.CommandSender;
+import org.bukkit.entity.Player;
+
+public class WebsiteCommand implements CommandExecutor{
+
+    private String website = "www.primalmc.com";
+
+    @Override
+    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
+        if(!(sender instanceof Player)){
+            sender.sendMessage(ChatColor.RED+"Only executable by players.");
+        }
+        Player player = (Player) sender;
+        player.sendMessage(ChatColor.YELLOW+"The PrimalMC Website is "+ChatColor.GOLD+ website);
+
+
+        return true;
+    }
+}
diff --git a/src/com/baitinq/primalmc/events/FirstLogin.java b/src/com/baitinq/primalmc/events/FirstLogin.java
new file mode 100644
index 0000000..0aefbd6
--- /dev/null
+++ b/src/com/baitinq/primalmc/events/FirstLogin.java
@@ -0,0 +1,32 @@
+package com.baitinq.primalmc.events;
+
+import com.baitinq.primalmc.Main;
+import org.bukkit.Bukkit;
+import org.bukkit.ChatColor;
+import org.bukkit.entity.Player;
+import org.bukkit.event.EventHandler;
+import org.bukkit.event.Listener;
+import org.bukkit.event.player.PlayerJoinEvent;
+
+public class FirstLogin implements Listener{
+
+    private static Main plugin;
+    public FirstLogin(Main plugin){
+        this.plugin = plugin;
+    }
+
+    int players = plugin.getConfig().getInt("number");
+
+    @EventHandler
+    public void FirstLogin(PlayerJoinEvent event){
+        Player player = event.getPlayer();
+        if(!player.hasPlayedBefore()){
+            players++;
+            Bukkit.getServer().broadcastMessage(plugin.PREFIX+ChatColor.GOLD+""+ player +ChatColor.YELLOW +"has joined the server"+" ("+ChatColor.DARK_GRAY+players+"#"+ChatColor.GRAY+")");
+            plugin.saveConfig();
+            plugin.reloadConfig();
+        }
+    }
+
+
+}
diff --git a/src/com/baitinq/primalmc/events/HubEvents.java b/src/com/baitinq/primalmc/events/HubEvents.java
new file mode 100644
index 0000000..a1b43bf
--- /dev/null
+++ b/src/com/baitinq/primalmc/events/HubEvents.java
@@ -0,0 +1,78 @@
+package com.baitinq.primalmc.events;
+
+import com.baitinq.primalmc.Main;
+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.Material;
+import org.bukkit.event.entity.EntityCombustEvent;
+import org.bukkit.event.entity.EntityDamageByEntityEvent;
+import org.bukkit.event.entity.EntityDamageEvent;
+import org.bukkit.event.entity.EntitySpawnEvent;
+import org.bukkit.event.player.PlayerMoveEvent;
+import org.bukkit.event.player.PlayerToggleFlightEvent;
+
+public class HubEvents implements Listener {
+
+    private static Main plugin;
+
+
+    //anti mob-spawn
+    public void MobSpawn(final EntitySpawnEvent event){
+        if(plugin.getConfig().getBoolean("hub", true)){
+            event.setCancelled(true);
+        }
+    }
+
+    //no damage in hub
+    public void Damage(final EntityDamageByEntityEvent event){
+        if(plugin.getConfig().getBoolean("hub", true)){
+            event.setCancelled(true);
+        }
+    }
+    //no burning in hub
+    public void CombustEvent(final EntityCombustEvent event){
+        if(plugin.getConfig().getBoolean("hub", true)){
+            event.setCancelled(true);
+        }
+    }
+    //tp to Spawn if they fall into void
+    public void VoidFall(final EntityDamageEvent event){
+        Player player = (Player) event.getEntity();
+        if(plugin.getConfig().getBoolean("hub", true)){
+            if(event.getCause().equals(EntityDamageEvent.DamageCause.VOID) && event.getEntity().equals(player)){
+                player.teleport(player.getWorld().getSpawnLocation());
+            }
+        }
+    }
+
+    //doublejump method
+    @EventHandler
+    public void DoubleJump(final PlayerMoveEvent event){
+        Player player = (Player) event.getPlayer();
+        if(plugin.getConfig().getBoolean("doublejump", true)){
+            if((player.getGameMode()!=GameMode.CREATIVE) && (player.getLocation().subtract(0, 1, 0).getBlock().getType()!= Material.AIR) && (!player.isFlying())){
+            player.setAllowFlight(true);
+            }
+        }
+
+    }
+    //actual double jump
+    @EventHandler
+    public void DoubleJumpUtil(final PlayerToggleFlightEvent event){
+        Player player = (Player) event.getPlayer();
+        if(plugin.getConfig().getBoolean("doublejump", true)){
+            if(player.getGameMode()==GameMode.CREATIVE){
+            return;
+            }
+            event.setCancelled(true);
+            player.setAllowFlight(false);
+            player.setFlying(false);
+            player.setVelocity(player.getLocation().getDirection().multiply(1.5).setY(1));
+
+        }
+    }
+
+}
diff --git a/src/com/baitinq/primalmc/events/PlayerJoin.java b/src/com/baitinq/primalmc/events/PlayerJoin.java
new file mode 100644
index 0000000..2680958
--- /dev/null
+++ b/src/com/baitinq/primalmc/events/PlayerJoin.java
@@ -0,0 +1,31 @@
+package com.baitinq.primalmc.events;
+
+import com.baitinq.primalmc.Main;
+import org.bukkit.Bukkit;
+import org.bukkit.ChatColor;
+import com.baitinq.primalmc.utils.ChatUtils;
+import org.bukkit.entity.Player;
+import org.bukkit.event.EventHandler;
+import org.bukkit.event.Listener;
+import org.bukkit.event.player.PlayerJoinEvent;
+
+public class PlayerJoin implements Listener {
+
+    private static Main plugin;
+
+    @EventHandler
+    public void JoinEvent(PlayerJoinEvent event){
+        Player player = event.getPlayer();
+        event.setJoinMessage("");
+        player.sendMessage(ChatColor.GOLD+"       PrimalMC");
+        player.sendMessage(ChatColor.YELLOW+""+ChatColor.STRIKETHROUGH+"----------------------------");
+        player.sendMessage(ChatColor.GOLD+"www.primalmc.com");
+        player.sendMessage(ChatColor.GOLD+"ts.primalmc.net");
+        player.sendMessage(ChatColor.GOLD+"store.primalmc.com");
+        player.sendMessage(ChatColor.YELLOW+""+ChatColor.STRIKETHROUGH+"----------------------------");
+
+
+    }
+
+
+}
diff --git a/src/com/baitinq/primalmc/events/StaffEvents/Events.java b/src/com/baitinq/primalmc/events/StaffEvents/Events.java
new file mode 100644
index 0000000..a8a739a
--- /dev/null
+++ b/src/com/baitinq/primalmc/events/StaffEvents/Events.java
@@ -0,0 +1,53 @@
+package com.baitinq.primalmc.events.StaffEvents;
+
+import com.baitinq.primalmc.Main;
+import com.baitinq.primalmc.commands.StaffCommand;
+import org.bukkit.entity.Entity;
+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.PlayerInteractEntityEvent;
+import org.bukkit.event.player.PlayerPickupItemEvent;
+
+public class Events implements Listener {
+
+    private static Main plugin;
+    private static StaffCommand staffcmd;
+
+    public Events(Main plugin){
+        this.plugin = plugin;
+    }
+
+    //@EventHandler
+    //public void PickupItem(PlayerPickupItemEvent event){
+       // Player player = event.getPlayer();
+        //if(plugin.staff.contains(player.getUniqueId())){
+            //player.setCanPickupItems(false);
+        //}
+   // }
+
+    public void PlayerInteractEntity(PlayerInteractEntityEvent event){
+        Player player = event.getPlayer();
+        //if(plugin.staff.contains(player.getUniqueId())){
+            event.setCancelled(true);
+            player.sendMessage("You can not interact while vanished");
+
+    }
+    public void BlockPlace(BlockPlaceEvent event){
+        Player player = event.getPlayer();
+        //if(plugin.getStaff().contains(player.getUniqueId()))
+            event.setCancelled(true);
+            player.sendMessage("You can not build while vanished");
+
+    }
+
+    public void BlockBreak(BlockBreakEvent event){
+        Player player = event.getPlayer();
+        //if(plugin.staff.contains(player.getUniqueId())){
+        event.setCancelled(true);
+        player.sendMessage("You can not build when vanished");
+
+    }
+}
diff --git a/src/com/baitinq/primalmc/events/StaffJoin.java b/src/com/baitinq/primalmc/events/StaffJoin.java
new file mode 100644
index 0000000..c3a75d5
--- /dev/null
+++ b/src/com/baitinq/primalmc/events/StaffJoin.java
@@ -0,0 +1,30 @@
+package com.baitinq.primalmc.events;
+
+import com.baitinq.primalmc.Main;
+import com.baitinq.primalmc.utils.ChatUtils;
+import org.bukkit.Bukkit;
+import org.bukkit.ChatColor;
+import org.bukkit.entity.Player;
+import org.bukkit.event.EventHandler;
+import org.bukkit.event.Listener;
+import org.bukkit.event.player.PlayerJoinEvent;
+
+public class StaffJoin implements Listener{
+
+    private static Main plugin;
+    public StaffJoin(Main plugin){
+        this.plugin = plugin;
+    }
+    String staffprefix = plugin.STAFF;
+    String prefix = plugin.PREFIX;
+    @EventHandler
+    public void StaffJoin(PlayerJoinEvent event){
+        Player player = event.getPlayer();
+        if(player.hasPermission("primalmc.staff")){
+            Bukkit.getServer().broadcast(prefix+ ChatColor.GOLD+player+ChatColor.GRAY+" has joined the server.", "primalmc.staff");
+
+
+
+        }
+    }
+}
\ No newline at end of file
diff --git a/src/com/baitinq/primalmc/inventories/Items/StaffItems.java b/src/com/baitinq/primalmc/inventories/Items/StaffItems.java
new file mode 100644
index 0000000..52a5ac6
--- /dev/null
+++ b/src/com/baitinq/primalmc/inventories/Items/StaffItems.java
@@ -0,0 +1,40 @@
+package com.baitinq.primalmc.inventories.Items;
+
+import org.bukkit.ChatColor;
+import org.bukkit.Material;
+import org.bukkit.entity.Player;
+import org.bukkit.event.Listener;
+import org.bukkit.inventory.ItemStack;
+import org.bukkit.inventory.meta.ItemMeta;
+
+import java.util.ArrayList;
+
+public class StaffItems implements Listener {
+
+    public void VanishItem(Player player){
+        ItemStack vanishitem = new ItemStack(Material.CAKE, 1);
+        ItemMeta vanishmeta = vanishitem.getItemMeta();
+
+        vanishmeta.setDisplayName(ChatColor.GREEN + "Vanish");
+
+        ArrayList<String> vanishlore = new ArrayList<String>();
+        vanishlore.add(ChatColor.YELLOW + "Right click this to get in and out of vanish!");
+
+        vanishmeta.setLore(vanishlore);
+        vanishitem.setItemMeta(vanishmeta);
+    }
+
+    public void AlertsItem(Player player){
+        ItemStack alertsitem = new ItemStack(Material.REDSTONE_BLOCK, 1);
+        ItemMeta alertsmeta = alertsitem.getItemMeta();
+
+        alertsmeta.setDisplayName(ChatColor.RED + "Alerts");
+
+        ArrayList<String> vanishlore = new ArrayList<String>();
+        vanishlore.add(ChatColor.YELLOW + "Right click this to get enable and disable alerts");
+
+        alertsmeta.setLore(vanishlore);
+        alertsitem.setItemMeta(alertsmeta);
+    }
+
+}
diff --git a/src/com/baitinq/primalmc/inventories/StaffInventory.java b/src/com/baitinq/primalmc/inventories/StaffInventory.java
new file mode 100644
index 0000000..1266de7
--- /dev/null
+++ b/src/com/baitinq/primalmc/inventories/StaffInventory.java
@@ -0,0 +1,25 @@
+package com.baitinq.primalmc.inventories;
+
+import com.baitinq.primalmc.Main;
+import com.baitinq.primalmc.inventories.Items.StaffItems;
+import org.bukkit.ChatColor;
+import org.bukkit.Material;
+import org.bukkit.entity.Player;
+import org.bukkit.event.Listener;
+import org.bukkit.inventory.Inventory;
+import org.bukkit.inventory.ItemStack;
+import org.bukkit.inventory.meta.ItemMeta;
+
+import java.util.ArrayList;
+
+public class StaffInventory implements Listener{
+
+    private static Main plugin;
+    private static StaffItems items;
+
+    public void StaffInv(Player player){
+        Inventory staffinv = plugin.getServer().createInventory(null, 36, ChatColor.GOLD + "StaffInventory");
+        //staffinv.setContents(items.VanishItem());
+
+    }
+}
diff --git a/src/com/baitinq/primalmc/utils/ChatUtils.java b/src/com/baitinq/primalmc/utils/ChatUtils.java
new file mode 100644
index 0000000..07c312f
--- /dev/null
+++ b/src/com/baitinq/primalmc/utils/ChatUtils.java
@@ -0,0 +1,28 @@
+package com.baitinq.primalmc.utils;
+
+import com.baitinq.primalmc.Main;
+import org.bukkit.Bukkit;
+import org.bukkit.ChatColor;
+import org.bukkit.entity.Player;
+
+public class ChatUtils {
+
+    private static  Main plugin;
+
+    public ChatUtils(Main plugin){
+        this.plugin = plugin;
+    }
+    //translates the weird s to & in color codes
+    public static String chat(String msg){
+        return ChatColor.translateAlternateColorCodes('&',msg);
+    }
+
+    //sends a message to all players with "primalmc.staff" permission
+    public static void StaffMsg(String message){
+        for(Player player : Bukkit.getServer().getOnlinePlayers()){
+            if(player.hasPermission("primalmc.staff")){
+                player.sendMessage(message);
+            }
+        }
+    }
+}
diff --git a/src/com/baitinq/primalmc/utils/ConfigurationManager.java b/src/com/baitinq/primalmc/utils/ConfigurationManager.java
new file mode 100644
index 0000000..4f39bbe
--- /dev/null
+++ b/src/com/baitinq/primalmc/utils/ConfigurationManager.java
@@ -0,0 +1,59 @@
+package com.baitinq.primalmc.utils;
+
+import com.baitinq.primalmc.Main;
+import org.bukkit.Bukkit;
+import org.bukkit.ChatColor;
+import org.bukkit.configuration.file.FileConfiguration;
+import org.bukkit.configuration.file.YamlConfiguration;
+
+import java.io.File;
+import java.io.IOError;
+import java.io.IOException;
+
+public class ConfigurationManager {
+
+    private Main plugin = Main.getPlugin(Main.class);
+
+
+    public FileConfiguration playerscfg;
+    public File playersfile;
+
+    public void setup(){
+
+        if(!plugin.getDataFolder().exists()){
+            plugin.getDataFolder().mkdir();
+        }
+        playersfile = new File(plugin.getDataFolder(),"players.yml");
+
+        if(!playersfile.exists()){
+            try{
+                playersfile.createNewFile();
+            }catch (IOException e){
+                Bukkit.getServer().getConsoleSender().sendMessage(ChatColor.RED+"Could not create players.yml");
+            }
+        }
+        playerscfg = YamlConfiguration.loadConfiguration(playersfile);
+    }
+
+    public FileConfiguration getPlayers() {
+        return playerscfg;
+    }
+
+    public void SavePlayers(){
+        try{
+            playerscfg.save(playersfile);
+
+        }catch (IOException e){
+            Bukkit.getServer().getConsoleSender().sendMessage(ChatColor.RED+"Could not save players.yml");
+        }
+    }
+    public void ReloadPlayers(){
+        try{
+            playerscfg = YamlConfiguration.loadConfiguration(playersfile);
+
+        }catch(IOError e){
+
+            playerscfg = YamlConfiguration.loadConfiguration(playersfile);
+        }
+    }
+}
diff --git a/src/config.yml b/src/config.yml
new file mode 100644
index 0000000..6be211a
--- /dev/null
+++ b/src/config.yml
@@ -0,0 +1,3 @@
+PrimalVersion: 1.0
+hub: false
+doublejump: false
\ No newline at end of file
diff --git a/src/players.yml b/src/players.yml
new file mode 100644
index 0000000..238c7ea
--- /dev/null
+++ b/src/players.yml
@@ -0,0 +1 @@
+players:
\ No newline at end of file
diff --git a/src/plugin.yml b/src/plugin.yml
new file mode 100644
index 0000000..32e9660
--- /dev/null
+++ b/src/plugin.yml
@@ -0,0 +1,21 @@
+name: PrimalMC
+version: 0.1-Alpha
+author: Baitinq
+main: com.baitinq.primalmc.Main
+description: PrimalMC Network Core Plugin.
+load: STARTUP
+commands:
+    staff:
+      aliases: [mod, primalstaff]
+    vanish:
+      aliases: [v]
+    alert:
+      aliases: [broadcast, primalalert]
+    teamspeak:
+      aliases: [ts, primalts, primalteamspeak]
+    discord:
+      aliases: [disc, pdisc, primaldiscord]
+    website:
+      aliases: [website, www, primalwebsite, pwebsite, pwww, web, pweb]
+    store:
+      aliases: [primalstore, pstore]