package com.nisovin.magicspells.materials;
import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.block.BlockState;
import org.bukkit.material.MaterialData;
public class MagicBlockRandomMaterial extends MagicBlockMaterial {
MagicMaterial[] materials;
public MagicBlockRandomMaterial(MagicMaterial[] materials) {
super(null);
this.materials = materials;
}
@Override
public Material getMaterial() {
return materials[ItemNameResolver.rand.nextInt(materials.length)].getMaterial();
}
@Override
public MaterialData getMaterialData() {
return materials[ItemNameResolver.rand.nextInt(materials.length)].getMaterialData();
}
@Override
public void setBlock(Block block, boolean applyPhysics) {
MagicMaterial material = materials[ItemNameResolver.rand.nextInt(materials.length)];
BlockState state = block.getState();
MaterialData data = material.getMaterialData();
state.setType(data.getItemType());
state.setData(data);
state.update(true, applyPhysics);
}
@Override
public boolean equals(MaterialData data) {
for (MagicMaterial m : materials) {
if (m.equals(data)) return true;
}
return false;
}
}