blob: ded8c485ccf23e89a58c4c9d0cb02370ef6c7629 [file] [log] [blame] [raw]
package protocolsupport.protocol.utils;
import java.util.List;
import org.bukkit.block.data.BlockData;
import protocolsupport.api.MaterialAPI;
import protocolsupport.protocol.utils.minecraftdata.MinecraftData;
import protocolsupportbuildprocessor.Preload;
@Preload
public class BlockBlockDataLookup {
protected static final int[] blockToBlockData = new int[MinecraftData.BLOCK_COUNT];
protected static final int[] blockDataToBlock = new int[MinecraftData.BLOCKDATA_COUNT];
static {
MinecraftData.getBlocks()
.forEach(b -> {
int blockId = MaterialAPI.getBlockNetworkId(b);
List<BlockData> blockdataList = MaterialAPI.getBlockDataList(b);
blockToBlockData[blockId] = MaterialAPI.getBlockDataNetworkId(blockdataList.get(0));
blockdataList.forEach(blockdata -> blockDataToBlock[MaterialAPI.getBlockDataNetworkId(blockdata)] = blockId);
});
}
public static int getBlockDataId(int blockId) {
return blockToBlockData[blockId];
}
public static int getBlockId(int blockdataId) {
return blockDataToBlock[blockdataId];
}
}