From 9e2ddeb55321b09086a5a27254197d783847e6e3 Mon Sep 17 00:00:00 2001 From: Leonard Kugis Date: Mon, 25 Apr 2022 18:50:36 +0200 Subject: Initial commit --- .../java/com/encrox/zombie/interactable/Chest.java | 27 +++++++++++++++ .../encrox/zombie/interactable/Interactable.java | 23 +++++++++++++ .../java/com/encrox/zombie/interactable/Lever.java | 38 ++++++++++++++++++++++ .../com/encrox/zombie/interactable/Powerup.java | 22 +++++++++++++ 4 files changed, 110 insertions(+) create mode 100755 src/main/java/com/encrox/zombie/interactable/Chest.java create mode 100755 src/main/java/com/encrox/zombie/interactable/Interactable.java create mode 100755 src/main/java/com/encrox/zombie/interactable/Lever.java create mode 100755 src/main/java/com/encrox/zombie/interactable/Powerup.java (limited to 'src/main/java/com/encrox/zombie/interactable') diff --git a/src/main/java/com/encrox/zombie/interactable/Chest.java b/src/main/java/com/encrox/zombie/interactable/Chest.java new file mode 100755 index 0000000..10045a2 --- /dev/null +++ b/src/main/java/com/encrox/zombie/interactable/Chest.java @@ -0,0 +1,27 @@ +package com.encrox.zombie.interactable; + +import org.bukkit.block.BlockFace; +import org.bukkit.util.BlockVector; + +public class Chest extends Interactable { + + private BlockFace facing; + + public Chest(BlockVector bv, int cost, BlockFace facing) { + super(bv, cost); + this.facing = facing; + } + + public Chest(BlockVector bv, int cost, String facing) { + this(bv, cost, BlockFace.valueOf(facing)); + } + + public Chest(BlockVector bv, int cost) { + this(bv, cost, BlockFace.NORTH); + } + + public BlockFace getFacing() { + return facing; + } + +} diff --git a/src/main/java/com/encrox/zombie/interactable/Interactable.java b/src/main/java/com/encrox/zombie/interactable/Interactable.java new file mode 100755 index 0000000..9bc4dc3 --- /dev/null +++ b/src/main/java/com/encrox/zombie/interactable/Interactable.java @@ -0,0 +1,23 @@ +package com.encrox.zombie.interactable; + +import org.bukkit.util.BlockVector; + +public abstract class Interactable { + + private BlockVector bv; + private int cost; + + public Interactable(BlockVector bv, int cost) { + this.bv = bv; + this.cost = cost; + } + + public int getCost() { + return cost; + } + + public BlockVector getBlockVector() { + return bv; + } + +} diff --git a/src/main/java/com/encrox/zombie/interactable/Lever.java b/src/main/java/com/encrox/zombie/interactable/Lever.java new file mode 100755 index 0000000..4776f39 --- /dev/null +++ b/src/main/java/com/encrox/zombie/interactable/Lever.java @@ -0,0 +1,38 @@ +package com.encrox.zombie.interactable; + +import org.bukkit.util.BlockVector; + +public class Lever extends Interactable { + + private boolean toggle; + private Lever[] others; + + public Lever(BlockVector bv, int cost, boolean toggle, Lever[] others) { + super(bv, cost); + this.toggle = toggle; + this.others = others; + } + + public Lever(BlockVector bv, int cost, Lever[] others) { + this(bv, cost, false, others); + } + + public Lever(BlockVector bv, int cost, boolean toggle) { + this(bv, cost, toggle, new Lever[0]); + } + + public Lever(BlockVector bv, int cost) { + this(bv, cost, false); + } + + public void toggle() { + toggle = !toggle; + for(int i = 0; i