Add SignSideMap for easier working with both-side fields

Signed-off-by: Irmo van den Berge <irmo.vandenberge@ziggo.nl>
This commit is contained in:
Irmo van den Berge committed 2023-06-11 16:29:25 +02:00
1 parent 76157d4f4c
commit 3e04ed35f2
1 file changed
+57
@@ -0,0 +1,57 @@
package com.bergerkiller.bukkit.common.block;
import java.util.Arrays;
import java.util.List;
/**
* Stores two values for both sides of a sign. Makes it easier
* to track information about both sides of a sign.
*/
public class SignSideMap<T> {
private T front, back;
public SignSideMap() {
}
public SignSideMap(T front, T back) {
this.front = front;
this.back = back;
}
public T front() {
return front;
}
public T back() {
return back;
}
public T side(SignSide side) {
return side == SignSide.BACK ? back : front;
}
public void set(T front, T back) {
this.front = front;
this.back = back;
}
public void setSide(SignSide side, T value) {
if (side == SignSide.BACK) {
back = value;
} else {
front = value;
}
}
public void setFront(T front) {
this.front = front;
}
public void setBack(T back) {
this.back = back;
}
public List<T> both() {
return Arrays.asList(front, back);
}
}