implemented multiblock structure

This commit is contained in:
Niklas 2020-06-27 16:40:30 +02:00
parent c5eae6172c
commit 9ce6ebe8e0

View File

@ -0,0 +1,37 @@
package org.kapelle.multiblock;
import org.bukkit.Location;
import org.bukkit.util.BlockVector;
import java.util.List;
public class MultiblockStructure {
List<List<List<BlockComponent>>> structure;
public MultiblockStructure(List<List<List<BlockComponent>>> structure){
this.structure = structure;
}
private BlockComponent getComponent(int x, int y, int z){
return structure.get(x).get(y).get(z);
}
public boolean isValid(Location location, BlockVector offset){
for (int x = 0; x < structure.size(); x++) {
for (int y = 0; y < structure.get(x).size(); y++) {
for (int z = 0; z < structure.get(x).get(y).size(); z++) {
BlockComponent currentComponent = getComponent(x,y,z);
Location globalBlockLocation = location.clone().subtract(offset);
if(!currentComponent.isValidBlock(globalBlockLocation)){
return false;
}
}
}
}
return true;
}
}