Tree is free until the 26th!

This commit is contained in:
Austin Mayes 2018-12-24 16:15:49 -06:00
parent 807a013b3a
commit 152401f631
2 changed files with 14 additions and 2 deletions

View File

@ -1,5 +1,8 @@
package tc.oc.lobby.bukkit.gizmos.christmas;
import com.google.common.collect.Range;
import java.time.MonthDay;
import java.time.ZoneOffset;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import tc.oc.lobby.bukkit.gizmos.Gizmo;
@ -11,10 +14,13 @@ public abstract class ChristmasGizmo extends Gizmo {
super(name, prefix, description, icon, 0);
}
public abstract Range<MonthDay> freeRange();
@Override
public boolean canPurchase(Player player) {
// HACK: Players can only have one hallow gizmo
return (player.hasPermission("lobby.gizmo.buy.christmas") && !ownsAny(player)) || player.isOp();
// HACK: Players can only have one Christmas gizmo
MonthDay now = MonthDay.now(ZoneOffset.UTC);
return (player.hasPermission("lobby.gizmo.buy.christmas") && !ownsAny(player)) || player.isOp() || (freeRange().contains(now));
}
private boolean ownsAny(Player player) {

View File

@ -1,5 +1,7 @@
package tc.oc.lobby.bukkit.gizmos.christmas.tree;
import com.google.common.collect.Range;
import java.time.MonthDay;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.Material;
@ -22,6 +24,10 @@ public class ChristmasTreeGizmo extends ChristmasGizmo {
Bukkit.getPluginManager().registerEvents(this, Lobby.get());
}
@Override public Range<MonthDay> freeRange() {
return Range.open(MonthDay.of(12, 24), MonthDay.of(12, 26));
}
@EventHandler(ignoreCancelled = true)
public void onPlayerInteract(PlayerInteractEvent e) {
if (!(Gizmos.gizmoMap.get(e.getPlayer()) instanceof ChristmasTreeGizmo)