mirror of
https://github.com/EssentialsX/Essentials.git
synced 2025-02-11 12:20:36 +08:00
CB#1501 B#1037
New spawnmob options: cow:baby sheep:baby chicken:baby pig:baby
This commit is contained in:
parent
31b9e792bd
commit
613cb57fdb
@ -56,7 +56,7 @@ import org.bukkit.scheduler.BukkitScheduler;
|
||||
|
||||
public class Essentials extends JavaPlugin implements IEssentials
|
||||
{
|
||||
public static final int BUKKIT_VERSION = 1467;
|
||||
public static final int BUKKIT_VERSION = 1501;
|
||||
private static final Logger LOGGER = Logger.getLogger("Minecraft");
|
||||
private transient ISettings settings;
|
||||
private final transient TNTExplodeListener tntListener = new TNTExplodeListener(this);
|
||||
|
@ -3,6 +3,8 @@ package com.earth2me.essentials;
|
||||
import static com.earth2me.essentials.I18n._;
|
||||
import java.util.List;
|
||||
import java.util.logging.Logger;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.Animals;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.entity.EntityRegainHealthEvent.RegainReason;
|
||||
@ -49,6 +51,17 @@ public class EssentialsEntityListener extends EntityListener
|
||||
}
|
||||
}
|
||||
}
|
||||
if (eDefend instanceof Animals && eAttack instanceof Player)
|
||||
{
|
||||
User player = ess.getUser(eAttack);
|
||||
ItemStack hand = player.getItemInHand();
|
||||
if (hand != null && hand.getType() == Material.MILK_BUCKET) {
|
||||
((Animals)eDefend).setAge(-24000);
|
||||
player.setItemInHand(new ItemStack(Material.BUCKET, hand.getAmount()));
|
||||
player.updateInventory();
|
||||
event.setCancelled(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (event.getEntity() instanceof Player && ess.getUser(event.getEntity()).isGodModeEnabled())
|
||||
{
|
||||
|
@ -1,5 +1,6 @@
|
||||
package com.earth2me.essentials;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
import org.bukkit.*;
|
||||
@ -514,5 +515,11 @@ public class FakeWorld implements World
|
||||
public int getSeaLevel()
|
||||
{
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public File getWorldFolder()
|
||||
{
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
}
|
||||
|
@ -20,7 +20,7 @@ public class Commandspawnmob extends EssentialsCommand
|
||||
{
|
||||
super("spawnmob");
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void run(Server server, User user, String commandLabel, String[] args) throws Exception
|
||||
{
|
||||
@ -29,8 +29,8 @@ public class Commandspawnmob extends EssentialsCommand
|
||||
throw new NotEnoughArgumentsException();
|
||||
//TODO: user.sendMessage("§7Mobs: Zombie PigZombie Skeleton Slime Chicken Pig Monster Spider Creeper Ghast Squid Giant Cow Sheep Wolf");
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
String[] mountparts = args[0].split(",");
|
||||
String[] parts = mountparts[0].split(":");
|
||||
String mobType = parts[0];
|
||||
@ -50,24 +50,24 @@ public class Commandspawnmob extends EssentialsCommand
|
||||
mountData = parts[1];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
Entity spawnedMob = null;
|
||||
Mob mob = null;
|
||||
Entity spawnedMount = null;
|
||||
Mob mobMount = null;
|
||||
|
||||
|
||||
mob = Mob.fromName(mobType);
|
||||
if (mob == null)
|
||||
{
|
||||
throw new Exception(_("invalidMob"));
|
||||
}
|
||||
|
||||
|
||||
if (ess.getSettings().getProtectPreventSpawn(mob.getType().toString().toLowerCase(Locale.ENGLISH)))
|
||||
{
|
||||
throw new Exception(_("unableToSpawnMob"));
|
||||
}
|
||||
|
||||
|
||||
final Block block = Util.getTarget(user).getBlock();
|
||||
if (block == null)
|
||||
{
|
||||
@ -83,7 +83,7 @@ public class Commandspawnmob extends EssentialsCommand
|
||||
{
|
||||
throw new Exception(_("unableToSpawnMob"));
|
||||
}
|
||||
|
||||
|
||||
if (mountType != null)
|
||||
{
|
||||
mobMount = Mob.fromName(mountType);
|
||||
@ -92,7 +92,7 @@ public class Commandspawnmob extends EssentialsCommand
|
||||
user.sendMessage(_("invalidMob"));
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if (ess.getSettings().getProtectPreventSpawn(mobMount.getType().toString().toLowerCase(Locale.ENGLISH)))
|
||||
{
|
||||
throw new Exception(_("unableToSpawnMob"));
|
||||
@ -124,7 +124,7 @@ public class Commandspawnmob extends EssentialsCommand
|
||||
mobCount = serverLimit;
|
||||
user.sendMessage(_("mobSpawnLimit"));
|
||||
}
|
||||
|
||||
|
||||
try
|
||||
{
|
||||
for (int i = 1; i < mobCount; i++)
|
||||
@ -171,7 +171,7 @@ public class Commandspawnmob extends EssentialsCommand
|
||||
user.sendMessage(mob.name + " " + _("spawned"));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void changeMobData(String type, Entity spawned, String data, User user) throws Exception
|
||||
{
|
||||
if ("Slime".equalsIgnoreCase(type))
|
||||
@ -185,6 +185,15 @@ public class Commandspawnmob extends EssentialsCommand
|
||||
throw new Exception(_("slimeMalformedSize"), e);
|
||||
}
|
||||
}
|
||||
if (("Sheep".equalsIgnoreCase(type)
|
||||
|| "Cow".equalsIgnoreCase(type)
|
||||
|| "Chicken".equalsIgnoreCase(type)
|
||||
|| "Pig".equalsIgnoreCase(type))
|
||||
&& data.equalsIgnoreCase("baby"))
|
||||
{
|
||||
((Animals)spawned).setAge(-24000);
|
||||
return;
|
||||
}
|
||||
if ("Sheep".equalsIgnoreCase(type))
|
||||
{
|
||||
try
|
||||
|
@ -586,4 +586,10 @@ public class FakeServer implements Server
|
||||
{
|
||||
return "Essentials Fake-Server";
|
||||
}
|
||||
|
||||
@Override
|
||||
public File getWorldContainer()
|
||||
{
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
}
|
||||
|
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue
Block a user