Selaa lähdekoodia

Merge branch 'master' of github.com:nossr50/vminecraft-plugin

cerevisiae 14 vuotta sitten
vanhempi
sitoutus
d65252d289
4 muutettua tiedostoa jossa 17 lisäystä ja 3 poistoa
  1. 1 0
      vMinecraft.java
  2. 3 2
      vMinecraftCommands.java
  3. 8 0
      vMinecraftListener.java
  4. 5 1
      vMinecraftSettings.java

+ 1 - 0
vMinecraft.java

@@ -28,6 +28,7 @@ public class vMinecraft extends Plugin {
         etc.getLoader().addListener(PluginLoader.Hook.IGNITE, listener, this, PluginListener.Priority.HIGH);
         etc.getLoader().addListener(PluginLoader.Hook.DAMAGE, listener, this, PluginListener.Priority.MEDIUM);
         etc.getLoader().addListener(PluginLoader.Hook.EXPLODE, listener, this, PluginListener.Priority.HIGH);
+        etc.getLoader().addListener(PluginLoader.Hook.LIQUID_DESTROY, listener, this, PluginListener.Priority.MEDIUM);
         etc.getLoader().addListener(PluginLoader.Hook.HEALTH_CHANGE, listener, this, PluginListener.Priority.MEDIUM);
         }
     }

+ 3 - 2
vMinecraftCommands.java

@@ -585,8 +585,9 @@ public class vMinecraftCommands{
 	public static int modifySplit(Player player, String[] args)
 	{
 		//Exploit fix for people giving themselves commands
-		if(args[1].equals("commands"))
-			return EXIT_SUCCESS;
+		if(args[2].equals("commands")){
+			return EXIT_FAIL;
+                }
 		return EXIT_CONTINUE;
 	}
 

+ 8 - 0
vMinecraftListener.java

@@ -90,6 +90,14 @@ public class vMinecraftListener extends PluginListener {
     public void onLogin(Player player){
         vMinecraftUsers.addUser(player);
     }
+    public boolean onIgnite(Block block, Player player) {
+        if(vMinecraftSettings.stopFire){
+            if (vMinecraftSettings.fireNoSpread.contains(block)){
+                return true;
+            }
+        }
+        return false;
+    }
     public boolean onDamage(PluginLoader.DamageType type, BaseEntity attacker, BaseEntity defender, int amount) {
         if(defender.isPlayer()){
         Player player = (Player)defender;

+ 5 - 1
vMinecraftSettings.java

@@ -40,6 +40,8 @@ public class vMinecraftSettings {
 	static ArrayList<String> ezModo = new ArrayList<String>();
         //An array of players currently toggled for admin chat
         static ArrayList<String> adminChatList = new ArrayList<String>();
+        //An array of blocks that won't catch on fire
+        static ArrayList<String> fireNoSpread = new ArrayList<String>();
 
 	
 	private PropertiesFile properties;
@@ -88,6 +90,8 @@ public class vMinecraftSettings {
 				writer.write("#The health ezmodo people will have while in ezmodo. Don't set to 0\r\n");
 				writer.write("ezHealth=30\r\n");
 				writer.write("stopFire=false\r\n");
+                                writer.write("#Flame Immune blocks will never have fire spread to them, seperate with comma. Needs stopFire to be true\r\n");
+                                writer.write("fireNoSpread=5,17,18");
 				writer.write("stopTnt=false\r\n");
 				writer.write("rules=Rules@#1: No griefing@#2: No griefing\r\n");
 				writer.write("#Death messages, seperate them by comma. All death messages start with the player name and a space.\r\n");
@@ -137,7 +141,7 @@ public class vMinecraftSettings {
 			stopTnt = properties.getBoolean("stopTNT",true);
 			rules = properties.getString("rules", "").split("@");
 			deathMessages = properties.getString("deathmessages", "").split(",");
-			
+                        fireNoSpread.add(properties.getString("fireNoSpread", "").split(",").toString());
 			String[] tempEz = properties.getString("ezModo").split(",");
 			ezModo = new ArrayList<String>();
 			for(String ezName : tempEz)