You can only repair items two times, ClansAdmin commands now require admin, Fix durability bug, Fix potion effects making inventory shift
This commit is contained in:
parent
a5400b0fef
commit
adfc451e9f
@ -30,9 +30,7 @@
|
|||||||
<processorPath useClasspath="true" />
|
<processorPath useClasspath="true" />
|
||||||
</profile>
|
</profile>
|
||||||
</annotationProcessing>
|
</annotationProcessing>
|
||||||
<bytecodeTargetLevel target="1.7">
|
<bytecodeTargetLevel target="1.7" />
|
||||||
<module name="bungee" target="1.7" />
|
|
||||||
</bytecodeTargetLevel>
|
|
||||||
</component>
|
</component>
|
||||||
<component name="JavacSettings">
|
<component name="JavacSettings">
|
||||||
<option name="GENERATE_NO_WARNINGS" value="true" />
|
<option name="GENERATE_NO_WARNINGS" value="true" />
|
||||||
|
@ -126,6 +126,10 @@ public class UtilGear
|
|||||||
{
|
{
|
||||||
goldSet.add(Material.GOLD_SWORD);
|
goldSet.add(Material.GOLD_SWORD);
|
||||||
goldSet.add(Material.GOLD_AXE);
|
goldSet.add(Material.GOLD_AXE);
|
||||||
|
goldSet.add(Material.GOLD_HELMET);
|
||||||
|
goldSet.add(Material.GOLD_CHESTPLATE);
|
||||||
|
goldSet.add(Material.GOLD_LEGGINGS);
|
||||||
|
goldSet.add(Material.GOLD_BOOTS);
|
||||||
}
|
}
|
||||||
|
|
||||||
return goldSet.contains(item.getType());
|
return goldSet.contains(item.getType());
|
||||||
|
@ -25,6 +25,11 @@ public class ClansAdmin
|
|||||||
|
|
||||||
public void command(Player caller, String[] args)
|
public void command(Player caller, String[] args)
|
||||||
{
|
{
|
||||||
|
if (Clans.getClientManager().hasRank(caller, Rank.ADMIN))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (args.length == 1)
|
if (args.length == 1)
|
||||||
help(caller);
|
help(caller);
|
||||||
|
|
||||||
|
@ -6,19 +6,27 @@ import java.util.TimeZone;
|
|||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.craftbukkit.v1_7_R4.inventory.CraftItemStack;
|
||||||
|
import org.bukkit.craftbukkit.v1_7_R4.util.CraftMagicNumbers;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
import org.bukkit.event.EventPriority;
|
import org.bukkit.event.EventPriority;
|
||||||
import org.bukkit.event.block.Action;
|
import org.bukkit.event.block.Action;
|
||||||
|
import org.bukkit.event.block.BlockBreakEvent;
|
||||||
import org.bukkit.event.entity.EntityShootBowEvent;
|
import org.bukkit.event.entity.EntityShootBowEvent;
|
||||||
import org.bukkit.event.player.AsyncPlayerChatEvent;
|
import org.bukkit.event.player.AsyncPlayerChatEvent;
|
||||||
import org.bukkit.event.player.PlayerInteractEvent;
|
import org.bukkit.event.player.PlayerInteractEvent;
|
||||||
|
import org.bukkit.event.player.PlayerItemBreakEvent;
|
||||||
import org.bukkit.event.player.PlayerJoinEvent;
|
import org.bukkit.event.player.PlayerJoinEvent;
|
||||||
import org.bukkit.event.player.PlayerLoginEvent;
|
import org.bukkit.event.player.PlayerLoginEvent;
|
||||||
import org.bukkit.event.player.PlayerQuitEvent;
|
import org.bukkit.event.player.PlayerQuitEvent;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
import org.bukkit.plugin.java.JavaPlugin;
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
|
|
||||||
|
import net.minecraft.server.v1_7_R4.EnumToolMaterial;
|
||||||
|
import net.minecraft.server.v1_7_R4.Item;
|
||||||
|
import net.minecraft.server.v1_7_R4.ItemSword;
|
||||||
|
|
||||||
import mineplex.core.MiniClientPlugin;
|
import mineplex.core.MiniClientPlugin;
|
||||||
import mineplex.core.account.CoreClientManager;
|
import mineplex.core.account.CoreClientManager;
|
||||||
import mineplex.core.achievement.AchievementManager;
|
import mineplex.core.achievement.AchievementManager;
|
||||||
@ -35,6 +43,7 @@ import mineplex.core.disguise.DisguiseManager;
|
|||||||
import mineplex.core.donation.DonationManager;
|
import mineplex.core.donation.DonationManager;
|
||||||
import mineplex.core.energy.Energy;
|
import mineplex.core.energy.Energy;
|
||||||
import mineplex.core.explosion.Explosion;
|
import mineplex.core.explosion.Explosion;
|
||||||
|
import mineplex.core.gui.SimpleGuiItem;
|
||||||
import mineplex.core.movement.Movement;
|
import mineplex.core.movement.Movement;
|
||||||
import mineplex.core.npc.NpcManager;
|
import mineplex.core.npc.NpcManager;
|
||||||
import mineplex.core.packethandler.PacketHandler;
|
import mineplex.core.packethandler.PacketHandler;
|
||||||
@ -679,15 +688,53 @@ public class ClansManager extends MiniClientPlugin<ClientClan> implements IRelat
|
|||||||
_worldEvent.onDisable();
|
_worldEvent.onDisable();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// @EventHandler
|
||||||
|
public void itemBreak(PlayerItemBreakEvent event)
|
||||||
|
{
|
||||||
|
Bukkit.broadcastMessage("Item Break: " + event.getPlayer());
|
||||||
|
|
||||||
|
Thread.dumpStack();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// @EventHandler
|
||||||
|
public void blockBreak(BlockBreakEvent event)
|
||||||
|
{
|
||||||
|
Bukkit.broadcastMessage("dur: " + event.getPlayer().getItemInHand().getDurability());
|
||||||
|
// Item item = ((CraftItemStack) event.getPlayer().getItemInHand()).getHandle().getItem();
|
||||||
|
Item item = CraftMagicNumbers.getItem(Material.IRON_SWORD);
|
||||||
|
Class clazz = ItemSword.class;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
java.lang.reflect.Field field = clazz.getDeclaredField("b");
|
||||||
|
field.setAccessible(true);
|
||||||
|
EnumToolMaterial material = (EnumToolMaterial) field.get(item);
|
||||||
|
Bukkit.broadcastMessage("Material: " + material.name());
|
||||||
|
Bukkit.broadcastMessage("Dur: " + material.a());
|
||||||
|
}
|
||||||
|
catch (NoSuchFieldException e)
|
||||||
|
{
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
catch (IllegalAccessException e)
|
||||||
|
{
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
Bukkit.broadcastMessage("name: " + item.getName() + " max dur: " + item.getMaxDurability());
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
@EventHandler(priority = EventPriority.HIGHEST)
|
@EventHandler(priority = EventPriority.HIGHEST)
|
||||||
public void onJoin(PlayerLoginEvent event)
|
public void onJoin(PlayerLoginEvent event)
|
||||||
{
|
{
|
||||||
Rank rank = _clientManager.Get(event.getPlayer()).GetRank();
|
Rank rank = _clientManager.Get(event.getPlayer()).GetRank();
|
||||||
if (/*!rank.Has(Rank.MAPDEV) &&*/ !event.getPlayer().isWhitelisted())
|
if (!rank.Has(Rank.MAPDEV) && !event.getPlayer().isWhitelisted())
|
||||||
{
|
{
|
||||||
event.setResult(PlayerLoginEvent.Result.KICK_OTHER);
|
event.setResult(PlayerLoginEvent.Result.KICK_OTHER);
|
||||||
event.setKickMessage("This server is whitelisted!");
|
// event.setKickMessage("This server is whitelisted!");
|
||||||
// event.setKickMessage("Only Builder+ can join this server");
|
event.setKickMessage("Only Builder+ can join this server");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -49,6 +49,7 @@ import org.bukkit.event.player.PlayerBucketEmptyEvent;
|
|||||||
import org.bukkit.event.player.PlayerBucketFillEvent;
|
import org.bukkit.event.player.PlayerBucketFillEvent;
|
||||||
import org.bukkit.event.player.PlayerInteractEvent;
|
import org.bukkit.event.player.PlayerInteractEvent;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
import org.bukkit.inventory.meta.ItemMeta;
|
||||||
import org.bukkit.plugin.java.JavaPlugin;
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
|
|
||||||
public class Gameplay extends MiniPlugin
|
public class Gameplay extends MiniPlugin
|
||||||
@ -522,13 +523,7 @@ public class Gameplay extends MiniPlugin
|
|||||||
}
|
}
|
||||||
|
|
||||||
int repairs = ItemStackFactory.Instance.GetLoreVar(item, "Repaired", 0);
|
int repairs = ItemStackFactory.Instance.GetLoreVar(item, "Repaired", 0);
|
||||||
boolean gold = UtilGear.isGold(item);
|
boolean canRepair = canRepair(item);
|
||||||
boolean canRepair = true;
|
|
||||||
|
|
||||||
if (repairs >= 3 && gold)
|
|
||||||
canRepair = false;
|
|
||||||
else if (repairs >= 2 && !gold)
|
|
||||||
canRepair = false;
|
|
||||||
|
|
||||||
if (!canRepair)
|
if (!canRepair)
|
||||||
{
|
{
|
||||||
@ -566,12 +561,32 @@ public class Gameplay extends MiniPlugin
|
|||||||
}
|
}
|
||||||
|
|
||||||
//Record
|
//Record
|
||||||
ItemStackFactory.Instance.SetLoreVar(item, "Repaired", "" + repairs + 1);
|
ItemStackFactory.Instance.SetLoreVar(item, "Repaired", (repairs + 1) + "");
|
||||||
|
if (!canRepair(item))
|
||||||
|
{
|
||||||
|
ItemMeta meta = item.getItemMeta();
|
||||||
|
meta.getLore().add(ChatColor.BLUE + "Nonfixable");
|
||||||
|
item.setItemMeta(meta);
|
||||||
|
}
|
||||||
|
|
||||||
//Effect
|
//Effect
|
||||||
player.playSound(player.getLocation(), Sound.ANVIL_USE, 1f, 1f);
|
player.playSound(player.getLocation(), Sound.ANVIL_USE, 1f, 1f);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean canRepair(ItemStack item)
|
||||||
|
{
|
||||||
|
int repairs = ItemStackFactory.Instance.GetLoreVar(item, "Repaired", 0);
|
||||||
|
boolean gold = UtilGear.isGold(item);
|
||||||
|
boolean canRepair = true;
|
||||||
|
|
||||||
|
if (repairs >= 3 && gold)
|
||||||
|
canRepair = false;
|
||||||
|
else if (repairs >= 2 && !gold)
|
||||||
|
canRepair = false;
|
||||||
|
|
||||||
|
return canRepair;
|
||||||
|
}
|
||||||
|
|
||||||
public DamageManager getDamageManager()
|
public DamageManager getDamageManager()
|
||||||
{
|
{
|
||||||
return _damageManager;
|
return _damageManager;
|
||||||
|
@ -187,20 +187,20 @@ public class ItemFactory extends MiniPlugin implements IItemFactory
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
try
|
// try
|
||||||
{
|
// {
|
||||||
_itemMaxDurability.setInt(net.minecraft.server.v1_7_R4.Item.getById(newItem.GetType().getId()), 56);
|
// _itemMaxDurability.setInt(net.minecraft.server.v1_7_R4.Item.getById(newItem.GetType().getId()), 56);
|
||||||
}
|
// }
|
||||||
catch (IllegalArgumentException e)
|
// catch (IllegalArgumentException e)
|
||||||
{
|
// {
|
||||||
e.printStackTrace();
|
// e.printStackTrace();
|
||||||
}
|
// }
|
||||||
catch (IllegalAccessException e)
|
// catch (IllegalAccessException e)
|
||||||
{
|
// {
|
||||||
e.printStackTrace();
|
// e.printStackTrace();
|
||||||
}
|
// }
|
||||||
|
|
||||||
_items.put(newItem.GetName(), newItem);
|
_items.put(newItem.GetName(), newItem);
|
||||||
}
|
}
|
||||||
|
|
||||||
public BlockRestore BlockRestore()
|
public BlockRestore BlockRestore()
|
||||||
|
@ -2,9 +2,11 @@ package mineplex.minecraft.game.core.condition;
|
|||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.craftbukkit.v1_7_R4.entity.CraftLivingEntity;
|
||||||
import org.bukkit.entity.LivingEntity;
|
import org.bukkit.entity.LivingEntity;
|
||||||
import org.bukkit.potion.PotionEffect;
|
import org.bukkit.potion.PotionEffect;
|
||||||
import org.bukkit.potion.PotionEffectType;
|
import org.bukkit.potion.PotionEffectType;
|
||||||
|
import net.minecraft.server.v1_7_R4.MobEffect;
|
||||||
|
|
||||||
public class Condition
|
public class Condition
|
||||||
{
|
{
|
||||||
@ -124,14 +126,23 @@ public class Condition
|
|||||||
{
|
{
|
||||||
PotionEffectType type = PotionEffectType.getByName(_type.toString());
|
PotionEffectType type = PotionEffectType.getByName(_type.toString());
|
||||||
|
|
||||||
//Remove
|
boolean remove = false;
|
||||||
_ent.removePotionEffect(type);
|
for (PotionEffect effect : _ent.getActivePotionEffects())
|
||||||
|
{
|
||||||
|
if (effect.getType() == type && effect.getAmplifier() != _mult)
|
||||||
|
remove = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Remove
|
||||||
|
if (remove)
|
||||||
|
_ent.removePotionEffect(type);
|
||||||
|
|
||||||
//Add
|
//Add
|
||||||
|
PotionEffect effect = new PotionEffect(type, _ticks, _mult, _ambient);
|
||||||
if (_ticks == -1)
|
if (_ticks == -1)
|
||||||
_ent.addPotionEffect(new PotionEffect(type, 72000, _mult, _ambient), true);
|
_ent.addPotionEffect(new PotionEffect(type, 72000, _mult, _ambient), true);
|
||||||
else
|
else
|
||||||
_ent.addPotionEffect(new PotionEffect(type, _ticks, _mult, _ambient), true);
|
((CraftLivingEntity) _ent).getHandle().addEffect(new MobEffect(effect.getType().getId(), effect.getDuration(), effect.getAmplifier(), effect.isAmbient()));
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user