Lots of changes, specifics:
Fixed clans having more than max energy. Made /c home work from anywhere, 20 secs warmup, 30 secs in claimed territory. /c <clan> now works with clans with 18+ players.
This commit is contained in:
parent
4bf7e15055
commit
1840572c49
@ -0,0 +1,65 @@
|
|||||||
|
package mineplex.core.delayedtask;
|
||||||
|
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.event.EventHandler;
|
||||||
|
import org.bukkit.event.player.PlayerKickEvent;
|
||||||
|
import org.bukkit.event.player.PlayerQuitEvent;
|
||||||
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
|
|
||||||
|
import mineplex.core.MiniClientPlugin;
|
||||||
|
import mineplex.core.common.util.Callback;
|
||||||
|
import mineplex.core.updater.UpdateType;
|
||||||
|
import mineplex.core.updater.event.UpdateEvent;
|
||||||
|
|
||||||
|
public class DelayedTask extends MiniClientPlugin<DelayedTaskClient>
|
||||||
|
{
|
||||||
|
public static DelayedTask Instance;
|
||||||
|
|
||||||
|
public DelayedTask(JavaPlugin plugin)
|
||||||
|
{
|
||||||
|
super("Delayed Task", plugin);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void Initialize(JavaPlugin plugin)
|
||||||
|
{
|
||||||
|
Instance = new DelayedTask(plugin);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void doDelay(Player player, String task, Callback<DelayedTaskClient> end, Callback<DelayedTaskClient> tick, Callback<DelayedTaskClient> cancel, long wait, boolean allowMovement)
|
||||||
|
{
|
||||||
|
Get(player).insert(new Task(Get(player), task, end, tick, cancel, wait, allowMovement));
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
public void onUpdate(UpdateEvent event)
|
||||||
|
{
|
||||||
|
if (event.getType() != UpdateType.TICK)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (Player player : Bukkit.getOnlinePlayers())
|
||||||
|
{
|
||||||
|
Get(player).tick();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
public void onPlayerQuit(PlayerQuitEvent event)
|
||||||
|
{
|
||||||
|
Get(event.getPlayer()).cleanup();
|
||||||
|
}
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
public void onPlayerKick(PlayerKickEvent event)
|
||||||
|
{
|
||||||
|
Get(event.getPlayer()).cleanup();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected DelayedTaskClient AddPlayer(String player)
|
||||||
|
{
|
||||||
|
return new DelayedTaskClient(Bukkit.getPlayer(player));
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,82 @@
|
|||||||
|
package mineplex.core.delayedtask;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
public class DelayedTaskClient
|
||||||
|
{
|
||||||
|
public Map<String, Task> Tasks = new HashMap<>();
|
||||||
|
|
||||||
|
private Player _player;
|
||||||
|
|
||||||
|
public DelayedTaskClient(Player player)
|
||||||
|
{
|
||||||
|
_player = player;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void insert(Task task)
|
||||||
|
{
|
||||||
|
Tasks.put(task.getName(), task);
|
||||||
|
}
|
||||||
|
|
||||||
|
public long getTimeLeft(String task)
|
||||||
|
{
|
||||||
|
if (!Tasks.containsKey(task)) return -1;
|
||||||
|
|
||||||
|
return getEndTime(task) - System.currentTimeMillis();
|
||||||
|
}
|
||||||
|
|
||||||
|
public long getEndTime(String task)
|
||||||
|
{
|
||||||
|
if (!Tasks.containsKey(task)) return -1;
|
||||||
|
|
||||||
|
return Tasks.get(task).getEndTime();
|
||||||
|
}
|
||||||
|
|
||||||
|
public long getStartTime(String task)
|
||||||
|
{
|
||||||
|
if (!Tasks.containsKey(task)) return -1;
|
||||||
|
|
||||||
|
return Tasks.get(task).getStartTime();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void cleanup()
|
||||||
|
{
|
||||||
|
if (Tasks == null)
|
||||||
|
{
|
||||||
|
Tasks = new HashMap<>();
|
||||||
|
}
|
||||||
|
|
||||||
|
Tasks.clear();
|
||||||
|
Tasks = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void cleanup(String task)
|
||||||
|
{
|
||||||
|
Tasks.remove(task);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void tick()
|
||||||
|
{
|
||||||
|
if (Tasks == null)
|
||||||
|
{
|
||||||
|
Tasks = new HashMap<>();
|
||||||
|
}
|
||||||
|
|
||||||
|
for (Task task : Tasks.values())
|
||||||
|
{
|
||||||
|
if (task.getTick() != null)
|
||||||
|
{
|
||||||
|
task.tick();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public Player getPlayer()
|
||||||
|
{
|
||||||
|
return _player;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,95 @@
|
|||||||
|
package mineplex.core.delayedtask;
|
||||||
|
|
||||||
|
import org.bukkit.Location;
|
||||||
|
|
||||||
|
import mineplex.core.common.util.Callback;
|
||||||
|
|
||||||
|
public class Task
|
||||||
|
{
|
||||||
|
private DelayedTaskClient _client;
|
||||||
|
|
||||||
|
private Callback<DelayedTaskClient> _end;
|
||||||
|
private Callback<DelayedTaskClient> _tick;
|
||||||
|
private Callback<DelayedTaskClient> _cancel;
|
||||||
|
|
||||||
|
private String _name;
|
||||||
|
|
||||||
|
private long _startTime;
|
||||||
|
private long _endTime;
|
||||||
|
|
||||||
|
private Location _startPos;
|
||||||
|
private boolean _allowMovement;
|
||||||
|
|
||||||
|
public Task(DelayedTaskClient client, String task, Callback<DelayedTaskClient> end, Callback<DelayedTaskClient> tick, Callback<DelayedTaskClient> cancel, long taskLength, boolean allowMovement)
|
||||||
|
{
|
||||||
|
_client = client;
|
||||||
|
|
||||||
|
_name = task;
|
||||||
|
_end = end;
|
||||||
|
_tick = tick;
|
||||||
|
_cancel = cancel;
|
||||||
|
|
||||||
|
_startPos = client.getPlayer().getLocation();
|
||||||
|
|
||||||
|
_allowMovement = allowMovement;
|
||||||
|
|
||||||
|
_startTime = System.currentTimeMillis();
|
||||||
|
_endTime = _startTime + taskLength;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName()
|
||||||
|
{
|
||||||
|
return _name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Callback<DelayedTaskClient> getEnd()
|
||||||
|
{
|
||||||
|
return _end;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Callback<DelayedTaskClient> getTick()
|
||||||
|
{
|
||||||
|
return _tick;
|
||||||
|
}
|
||||||
|
|
||||||
|
public long getEndTime()
|
||||||
|
{
|
||||||
|
return _endTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public long getStartTime()
|
||||||
|
{
|
||||||
|
return _startTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void tick()
|
||||||
|
{
|
||||||
|
_tick.run(_client);
|
||||||
|
|
||||||
|
if (!_allowMovement && _startPos.distance(_client.getPlayer().getLocation()) > 0.3)
|
||||||
|
{
|
||||||
|
if (_cancel != null)
|
||||||
|
{
|
||||||
|
_cancel.run(_client);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (_end != null)
|
||||||
|
{
|
||||||
|
_end.run(_client);
|
||||||
|
}
|
||||||
|
|
||||||
|
_client.cleanup(_name);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (System.currentTimeMillis() >= _endTime)
|
||||||
|
{
|
||||||
|
if (_end != null)
|
||||||
|
{
|
||||||
|
_end.run(_client);
|
||||||
|
}
|
||||||
|
|
||||||
|
_client.cleanup(_name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -152,7 +152,11 @@ public class Donor
|
|||||||
public void addGold(int amount)
|
public void addGold(int amount)
|
||||||
{
|
{
|
||||||
_gold = Math.max(0, _gold + amount);
|
_gold = Math.max(0, _gold + amount);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGold(int amount)
|
||||||
|
{
|
||||||
|
_gold = Math.max(0, amount);
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<CoinTransactionToken> getCoinTransactions()
|
public List<CoinTransactionToken> getCoinTransactions()
|
||||||
|
@ -13,6 +13,7 @@ import mineplex.core.antihack.AntiHack;
|
|||||||
import mineplex.core.blockrestore.BlockRestore;
|
import mineplex.core.blockrestore.BlockRestore;
|
||||||
import mineplex.core.chat.Chat;
|
import mineplex.core.chat.Chat;
|
||||||
import mineplex.core.command.CommandCenter;
|
import mineplex.core.command.CommandCenter;
|
||||||
|
import mineplex.core.delayedtask.DelayedTask;
|
||||||
import mineplex.core.donation.DonationManager;
|
import mineplex.core.donation.DonationManager;
|
||||||
import mineplex.core.explosion.Explosion;
|
import mineplex.core.explosion.Explosion;
|
||||||
import mineplex.core.friend.FriendManager;
|
import mineplex.core.friend.FriendManager;
|
||||||
@ -76,6 +77,8 @@ public class Clans extends JavaPlugin
|
|||||||
|
|
||||||
ItemStackFactory.Initialize(this, false);
|
ItemStackFactory.Initialize(this, false);
|
||||||
|
|
||||||
|
DelayedTask.Initialize(this);
|
||||||
|
|
||||||
Recharge.Initialize(this);
|
Recharge.Initialize(this);
|
||||||
VisibilityManager.Initialize(this);
|
VisibilityManager.Initialize(this);
|
||||||
// new ProfileCacheManager(this);
|
// new ProfileCacheManager(this);
|
||||||
|
@ -507,6 +507,11 @@ public class ClanInfo
|
|||||||
|
|
||||||
public int getEnergy()
|
public int getEnergy()
|
||||||
{
|
{
|
||||||
|
if (_energy > getEnergyMax())
|
||||||
|
{
|
||||||
|
_energy = getEnergyMax();
|
||||||
|
}
|
||||||
|
|
||||||
return _energy;
|
return _energy;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -15,9 +15,12 @@ import mineplex.core.common.util.UtilBlock;
|
|||||||
import mineplex.core.common.util.UtilInput;
|
import mineplex.core.common.util.UtilInput;
|
||||||
import mineplex.core.common.util.UtilPlayer;
|
import mineplex.core.common.util.UtilPlayer;
|
||||||
import mineplex.core.common.util.UtilServer;
|
import mineplex.core.common.util.UtilServer;
|
||||||
|
import mineplex.core.common.util.UtilTextMiddle;
|
||||||
import mineplex.core.common.util.UtilTime;
|
import mineplex.core.common.util.UtilTime;
|
||||||
import mineplex.core.common.util.UtilTime.TimeUnit;
|
import mineplex.core.common.util.UtilTime.TimeUnit;
|
||||||
import mineplex.core.common.util.UtilWorld;
|
import mineplex.core.common.util.UtilWorld;
|
||||||
|
import mineplex.core.delayedtask.DelayedTask;
|
||||||
|
import mineplex.core.delayedtask.DelayedTaskClient;
|
||||||
import mineplex.core.recharge.Recharge;
|
import mineplex.core.recharge.Recharge;
|
||||||
import mineplex.game.clans.clans.ClanInfo;
|
import mineplex.game.clans.clans.ClanInfo;
|
||||||
import mineplex.game.clans.clans.ClanRole;
|
import mineplex.game.clans.clans.ClanRole;
|
||||||
@ -27,14 +30,11 @@ import mineplex.game.clans.clans.ClansManager;
|
|||||||
import mineplex.game.clans.clans.ClientClan;
|
import mineplex.game.clans.clans.ClientClan;
|
||||||
import mineplex.game.clans.clans.event.ClanJoinEvent;
|
import mineplex.game.clans.clans.event.ClanJoinEvent;
|
||||||
import mineplex.game.clans.clans.event.ClansCommandExecutedEvent;
|
import mineplex.game.clans.clans.event.ClansCommandExecutedEvent;
|
||||||
import mineplex.game.clans.tutorials.Tutorial;
|
|
||||||
import mineplex.game.clans.tutorials.TutorialManager;
|
|
||||||
import net.minecraft.server.v1_8_R3.EnumDirection;
|
import net.minecraft.server.v1_8_R3.EnumDirection;
|
||||||
|
|
||||||
public class ClansCommand extends CommandBase<ClansManager>
|
public class ClansCommand extends CommandBase<ClansManager>
|
||||||
{
|
{
|
||||||
private ClansManager _manager;
|
private ClansManager _manager;
|
||||||
|
|
||||||
public ClansCommand(ClansManager plugin)
|
public ClansCommand(ClansManager plugin)
|
||||||
{
|
{
|
||||||
super(plugin, Rank.ALL, "c", "clan", "clans", "factions");
|
super(plugin, Rank.ALL, "c", "clan", "clans", "factions");
|
||||||
@ -741,7 +741,7 @@ public class ClansCommand extends CommandBase<ClansManager>
|
|||||||
Plugin.getItemMapManager().setMap(caller);
|
Plugin.getItemMapManager().setMap(caller);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void home(Player caller, String[] args)
|
public void home(final Player caller, String[] args)
|
||||||
{
|
{
|
||||||
if (args.length > 1)
|
if (args.length > 1)
|
||||||
{
|
{
|
||||||
@ -752,7 +752,7 @@ public class ClansCommand extends CommandBase<ClansManager>
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ClanInfo clan = Plugin.getClanUtility().getClanByPlayer(caller);
|
final ClanInfo clan = Plugin.getClanUtility().getClanByPlayer(caller);
|
||||||
|
|
||||||
if (clan == null)
|
if (clan == null)
|
||||||
{
|
{
|
||||||
@ -772,18 +772,6 @@ public class ClansCommand extends CommandBase<ClansManager>
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!Plugin.getClanUtility().isSafe(caller.getLocation()))
|
|
||||||
{
|
|
||||||
_manager.getTutorials().sendTutorialMsg(caller, F.main("Clans", "You can only use Clan Home from Spawn."));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!Plugin.getClanUtility().isSpecial(caller.getLocation(), "Spawn"))
|
|
||||||
{
|
|
||||||
_manager.getTutorials().sendTutorialMsg(caller, F.main("Clans", "You can only use Clan Home from Spawn."));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
Location home = clan.getHome();
|
Location home = clan.getHome();
|
||||||
|
|
||||||
if (!(home.getBlock().getType().equals(Material.BED_BLOCK) && home.add(0, 1, 0).getBlock().getType().equals(Material.AIR)) && home.add(0, 2, 0).getBlock().getType().equals(Material.AIR))
|
if (!(home.getBlock().getType().equals(Material.BED_BLOCK) && home.add(0, 1, 0).getBlock().getType().equals(Material.AIR)) && home.add(0, 2, 0).getBlock().getType().equals(Material.AIR))
|
||||||
@ -802,15 +790,32 @@ public class ClansCommand extends CommandBase<ClansManager>
|
|||||||
* }
|
* }
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// if (!Recharge.Instance.use(caller, "Clans Teleport", "Clans
|
if (!Recharge.Instance.use(caller, "Home Teleport", 5 * 60 * 1000, true, false))
|
||||||
// Teleport", 300000, true, false, false, false)) return;
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
DelayedTask.Instance.doDelay(caller, "Home Teleport", new Callback<DelayedTaskClient>() {
|
||||||
|
public void run(DelayedTaskClient player)
|
||||||
|
{
|
||||||
// Do
|
// Do
|
||||||
Plugin.getTeleport().TP(caller, clan.getHome().add(0, 1, 0));
|
Plugin.getTeleport().TP(caller, clan.getHome().add(0, 1, 0));
|
||||||
|
|
||||||
// Inform
|
// Inform
|
||||||
_manager.getTutorials().sendTutorialMsg(caller, F.main("Clans", "You teleported to your Clan Home " + UtilWorld.locToStrClean(caller.getLocation()) + "."));
|
_manager.getTutorials().sendTutorialMsg(caller, F.main("Clans", "You teleported to your Clan Home " + UtilWorld.locToStrClean(caller.getLocation()) + "."));
|
||||||
}
|
}
|
||||||
|
}, new Callback<DelayedTaskClient>() {
|
||||||
|
public void run(DelayedTaskClient client)
|
||||||
|
{
|
||||||
|
UtilTextMiddle.display("", "Teleporting to Clan Home in " + F.elem(UtilTime.MakeStr(Math.max(0, client.getTimeLeft("Home Teleport")))), 0, 5, 0);
|
||||||
|
}
|
||||||
|
}, new Callback<DelayedTaskClient>() {
|
||||||
|
public void run(DelayedTaskClient client)
|
||||||
|
{
|
||||||
|
UtilPlayer.message(client.getPlayer(), F.main("Clans", "Teleport has been cancelled due to movement."));
|
||||||
|
}
|
||||||
|
}, (Plugin.getClanUtility().getClaim(caller.getLocation()) != null ? 30 : 20) * 1000, false);
|
||||||
|
}
|
||||||
|
|
||||||
public void homeSet(Player caller)
|
public void homeSet(Player caller)
|
||||||
{
|
{
|
||||||
@ -881,7 +886,9 @@ public class ClansCommand extends CommandBase<ClansManager>
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void infoClan(Player caller, String search)
|
public void infoClan(Player caller, String search)
|
||||||
{System.out.println(search);
|
{
|
||||||
|
System.out.println(search);
|
||||||
|
|
||||||
if (search == null)
|
if (search == null)
|
||||||
{
|
{
|
||||||
_manager.getTutorials().sendTutorialMsg(caller, F.main("Clans", "You did not input a search parameter."));
|
_manager.getTutorials().sendTutorialMsg(caller, F.main("Clans", "You did not input a search parameter."));
|
||||||
|
@ -41,8 +41,8 @@ public class ClansLoginManager extends MiniPlugin implements ILoginProcessor
|
|||||||
{
|
{
|
||||||
if (_queue.contains(event.getPlayer().getName()) && !event.getPlayer().isOp())
|
if (_queue.contains(event.getPlayer().getName()) && !event.getPlayer().isOp())
|
||||||
{
|
{
|
||||||
event.setKickMessage("This is not your Clans home server");
|
// event.setKickMessage("This is not your Clans home server");
|
||||||
event.setResult(PlayerLoginEvent.Result.KICK_OTHER);
|
// event.setResult(PlayerLoginEvent.Result.KICK_OTHER);
|
||||||
}
|
}
|
||||||
|
|
||||||
_queue.remove(event.getPlayer().getName());
|
_queue.remove(event.getPlayer().getName());
|
||||||
@ -50,18 +50,18 @@ public class ClansLoginManager extends MiniPlugin implements ILoginProcessor
|
|||||||
|
|
||||||
private void kickPlayer(final String playerName, final String homeServer)
|
private void kickPlayer(final String playerName, final String homeServer)
|
||||||
{
|
{
|
||||||
runSyncLater(new Runnable()
|
// runSyncLater(new Runnable()
|
||||||
{
|
// {
|
||||||
@Override
|
// @Override
|
||||||
public void run()
|
// public void run()
|
||||||
{
|
// {
|
||||||
Player player = UtilPlayer.searchExact(playerName);
|
// Player player = UtilPlayer.searchExact(playerName);
|
||||||
if (player != null && player.isOnline() && !player.isOp())
|
// if (player != null && player.isOnline() && !player.isOp())
|
||||||
{
|
// {
|
||||||
player.kickPlayer("This is not your home server. To play clans, connect to " + homeServer);
|
// player.kickPlayer("This is not your home server. To play clans, connect to " + homeServer);
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}, 20);
|
// }, 20);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -31,7 +31,7 @@ public class ClanWhoPage extends ClanPageBase
|
|||||||
|
|
||||||
public ClanWhoPage(ClansManager plugin, ClanShop shop, CoreClientManager clientManager, DonationManager donationManager, Player player, ClanInfo lookupClan, boolean showBackButton)
|
public ClanWhoPage(ClansManager plugin, ClanShop shop, CoreClientManager clientManager, DonationManager donationManager, Player player, ClanInfo lookupClan, boolean showBackButton)
|
||||||
{
|
{
|
||||||
super(plugin, shop, clientManager, donationManager, lookupClan.getName(), player, 36);
|
super(plugin, shop, clientManager, donationManager, lookupClan.getName(), player, 45);
|
||||||
_lookupClan = lookupClan;
|
_lookupClan = lookupClan;
|
||||||
_showBackButton = showBackButton;
|
_showBackButton = showBackButton;
|
||||||
|
|
||||||
|
@ -185,6 +185,14 @@ public class PvpTimer extends MiniClientPlugin<PvpTimerClient>
|
|||||||
@EventHandler
|
@EventHandler
|
||||||
public void onSkill(SkillTriggerEvent event)
|
public void onSkill(SkillTriggerEvent event)
|
||||||
{
|
{
|
||||||
|
if (event.GetTargets() != null
|
||||||
|
&& event.GetTargets().size() == 1
|
||||||
|
&& event.GetTargets().get(0) instanceof Player
|
||||||
|
&& hasTimer((Player) event.GetTargets().get(0)))
|
||||||
|
{
|
||||||
|
event.SetCancelled(true);
|
||||||
|
}
|
||||||
|
|
||||||
for (Iterator<Entity> iterator = event.GetTargets().iterator(); iterator.hasNext();)
|
for (Iterator<Entity> iterator = event.GetTargets().iterator(); iterator.hasNext();)
|
||||||
{
|
{
|
||||||
Entity entity = iterator.next();
|
Entity entity = iterator.next();
|
||||||
|
@ -62,7 +62,7 @@ public class GiantsBroadsword extends LegendaryItem
|
|||||||
|
|
||||||
private void buffPlayer(Player player)
|
private void buffPlayer(Player player)
|
||||||
{
|
{
|
||||||
grantPotionEffect(player, PotionEffectType.SLOW, 20, 10);
|
grantPotionEffect(player, PotionEffectType.SLOW, 40, 10);
|
||||||
grantPotionEffect(player, PotionEffectType.REGENERATION, 1, 10);
|
grantPotionEffect(player, PotionEffectType.REGENERATION, 40, 10);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -89,7 +89,6 @@ public abstract class ClansShopPage<T extends ShopBase<ClansManager>> extends Sh
|
|||||||
addShopItem(index, item, (byte) 0, displayName, 1);
|
addShopItem(index, item, (byte) 0, displayName, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void addShopItem(int index, ClansShopItem item)
|
public void addShopItem(int index, ClansShopItem item)
|
||||||
{
|
{
|
||||||
addShopItem(index, item, (byte) 0);
|
addShopItem(index, item, (byte) 0);
|
||||||
|
Loading…
Reference in New Issue
Block a user