mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2024-11-21 20:56:45 +01:00
Added a simple death detection and global message when a player dies.
Signed-off-by: nossr50 <nossr50@gmail.com>
This commit is contained in:
parent
e9d3da07f0
commit
3c316c1cca
@ -21,11 +21,12 @@ public class settings {
|
||||
private boolean cmdTphere = false;
|
||||
private boolean globalmessages = false;
|
||||
private boolean cmdSay = false;
|
||||
private boolean cmdEzModo = false;
|
||||
private PropertiesFile properties;
|
||||
String file = "vminecraft.properties";
|
||||
public String rules[] = null;
|
||||
|
||||
public void loadSettings()
|
||||
public void loadSettings() throws IOException
|
||||
{
|
||||
File theDir = new File("vminecraft.properties");
|
||||
if(!theDir.exists())
|
||||
@ -52,6 +53,7 @@ public class settings {
|
||||
writer.write("globalmessages=true\r\n");
|
||||
writer.write("FFF=true\r\n");
|
||||
writer.write("adminchat=true\r\n");
|
||||
writer.write("cmdEzModo=true\r\n");
|
||||
writer.write("rules=Rules@#1: No griefing@#2: No griefing\r\n");
|
||||
} catch (Exception e) {
|
||||
log.log(Level.SEVERE, "Exception while creating " + location, e);
|
||||
@ -86,6 +88,7 @@ public class settings {
|
||||
cmdTphere = properties.getBoolean("cmdTphere",true);
|
||||
globalmessages = properties.getBoolean("globalmessages",true);
|
||||
cmdSay = properties.getBoolean("cmdSay",true);
|
||||
cmdEzModo = properties.getBoolean("cmdEzModo",true);
|
||||
rules = properties.getString("rules", "").split("@");
|
||||
log.log(Level.INFO, "vminecraft plugin successfully loaded");
|
||||
|
||||
@ -110,6 +113,7 @@ public class settings {
|
||||
public boolean cmdRules() {return cmdRules;}
|
||||
public boolean globalmessages() {return globalmessages;}
|
||||
public boolean cmdMasstp() {return cmdMasstp;}
|
||||
public boolean cmdEzModo() {return cmdEzModo;}
|
||||
|
||||
public static settings getInstance() {
|
||||
if (instance == null) {
|
||||
|
@ -1,25 +1,36 @@
|
||||
//Vminecraft plugin by nossr50 & TrapAlice
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
public class vminecraftListener extends PluginListener {
|
||||
protected static final Logger log = Logger.getLogger("Minecraft");
|
||||
public void disable() {
|
||||
log.log(Level.INFO, "vminecraft disabled");
|
||||
}
|
||||
|
||||
private ArrayList<String> ezmodo = new ArrayList<String>(); //An array of players currently in ezmodo
|
||||
|
||||
public void enable() {
|
||||
public void enable() throws IOException {
|
||||
settings.getInstance().loadSettings(); //Load the settings files
|
||||
if (etc.getInstance().isHealthEnabled()){
|
||||
etc.getInstance().addCommand("/ezmodo", "Toggle invulnerability");
|
||||
}
|
||||
log.log(Level.INFO, "vminecraft enabled");
|
||||
}
|
||||
public void onPlayerMove () {
|
||||
if (ezmodo.contains(player.getName())){
|
||||
if (player.getHealth() < 30)
|
||||
{
|
||||
player.setHealth(30);
|
||||
}
|
||||
}
|
||||
public void disable() {
|
||||
log.log(Level.INFO, "vminecraft disabled");
|
||||
if (etc.getInstance().isHealthEnabled()) {
|
||||
etc.getInstance().removeCommand("/ezmodo");
|
||||
}
|
||||
}
|
||||
|
||||
public boolean onHealthChange(Player player,int oldValue,int newValue){
|
||||
if (player.getHealth() != 30 && ezmodo.contains(player.getName())) {
|
||||
player.setHealth(30);
|
||||
}
|
||||
else if (settings.getInstance().globalmessages() && player.getHealth() < 1) {
|
||||
other.gmsg(Colors.Gray + player.getName() + " is no more");
|
||||
}
|
||||
return false;
|
||||
}
|
||||
public boolean onChat(Player player, String message){
|
||||
String temp2 = "<" + player.getColor() + player.getName() + Colors.White +"> "; //Copies the formatting of id.java
|
||||
@ -101,11 +112,34 @@ import java.util.logging.Logger;
|
||||
}
|
||||
player.sendMessage(Colors.Blue+"Summoning successful.");
|
||||
}
|
||||
//ezmodo
|
||||
if (split[0].equals("/ezmodo")) {
|
||||
//Disable using /modify to add commands (need to make a boolean settings for this)
|
||||
if(split[0].equals("/modify") && split[2].equals("commands")) {
|
||||
return true;
|
||||
}
|
||||
//ezlist
|
||||
if(settings.getInstance().cmdEzModo() && split[0].equals("/ezlist")) {
|
||||
player.sendMessage("Ezmodo: " + ezmodo);
|
||||
return true;
|
||||
}
|
||||
//slay
|
||||
if(settings.getInstance().cmdEzModo() && split[0].equals("/slay")) {
|
||||
Player playerTarget = etc.getServer().matchPlayer(split[1]);
|
||||
if (!ezmodo.contains(playerTarget.getName())) {
|
||||
playerTarget.setHealth(0);
|
||||
other.gmsg(player.getColor() + player.getName() + Colors.LightBlue + " has slain " + playerTarget.getColor() + playerTarget.getName());
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
player.sendMessage(Colors.Rose + "That player is currently in ezmodo! Hahahaha");
|
||||
return true;
|
||||
}
|
||||
}
|
||||
//ezmodo
|
||||
if (settings.getInstance().cmdEzModo() && split[0].equals("/ezmodo")) {
|
||||
if (ezmodo.contains(player.getName())) {
|
||||
player.sendMessage(Colors.Red + "ezmodo = off");
|
||||
ezmodo.remove(ezmodo.indexOf(player.getName()));
|
||||
return true;
|
||||
} else {
|
||||
player.sendMessage(Colors.LightBlue + "eh- maji? ezmodo!?");
|
||||
player.sendMessage(Colors.Rose + "kimo-i");
|
||||
@ -113,8 +147,8 @@ import java.util.logging.Logger;
|
||||
player.sendMessage(Colors.Red + "**Laughter**");
|
||||
ezmodo.add(player.getName());
|
||||
player.setHealth(30);
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
//Replacement for /tp
|
||||
if(settings.getInstance().cmdTp() && split[0].equalsIgnoreCase("/tp")) {
|
||||
@ -198,7 +232,11 @@ import java.util.logging.Logger;
|
||||
}
|
||||
//Should only reload vminecraft settings if the player is able to use /reload
|
||||
if(split[0].equalsIgnoreCase("/reload") && player.canUseCommand("/reload")) {
|
||||
settings.getInstance().loadSettings();
|
||||
try {
|
||||
settings.getInstance().loadSettings();
|
||||
} catch (IOException ex) {
|
||||
Logger.getLogger(vminecraftListener.class.getName()).log(Level.SEVERE, null, ex);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
//Rules
|
||||
|
@ -1,3 +1,8 @@
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
/**
|
||||
* vminecraft Plugin
|
||||
* @author Robert, TrapAlice
|
||||
@ -5,14 +10,17 @@
|
||||
//This is how we setup the listener
|
||||
public class vminecraftPlugin extends Plugin {
|
||||
static final vminecraftListener listener = new vminecraftListener();
|
||||
|
||||
public void enable() {
|
||||
//If we had commands we would add them here.
|
||||
etc.getInstance().addCommand("/masstp", "Teleports those with lower permissions to you");
|
||||
etc.getInstance().addCommand("/rules", "Displays the rules");
|
||||
etc.getInstance().addCommand("/fabulous", "makes text SUUUPER");
|
||||
etc.getInstance().addCommand("/whois", "/whois [user]");
|
||||
settings.getInstance().loadSettings(); //Hopefully this will make the plugin load right away
|
||||
try {
|
||||
settings.getInstance().loadSettings(); //Hopefully this will make the plugin load right away
|
||||
} catch (IOException ex) {
|
||||
Logger.getLogger(vminecraftPlugin.class.getName()).log(Level.SEVERE, null, ex);
|
||||
}
|
||||
}
|
||||
|
||||
public void disable() {
|
||||
@ -23,5 +31,8 @@ public class vminecraftPlugin extends Plugin {
|
||||
//Here we add the hook we're going to use. In this case it's the arm swing event.
|
||||
etc.getLoader().addListener(PluginLoader.Hook.CHAT, listener, this, PluginListener.Priority.MEDIUM);
|
||||
etc.getLoader().addListener(PluginLoader.Hook.COMMAND, listener, this, PluginListener.Priority.HIGH);
|
||||
if(etc.getInstance().isHealthEnabled()){
|
||||
etc.getLoader().addListener(PluginLoader.Hook.HEALTH_CHANGE, listener, this, PluginListener.Priority.MEDIUM);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user