2023-10-23 14:02:09 +01:00
|
|
|
package com.colen.postea.API;
|
|
|
|
|
|
2023-10-31 00:27:30 +00:00
|
|
|
import com.colen.postea.Utility.BlockConversionInfo;
|
2023-10-23 14:02:09 +01:00
|
|
|
|
|
|
|
|
import java.util.HashMap;
|
|
|
|
|
import java.util.Map;
|
2023-10-30 01:28:47 +00:00
|
|
|
import java.util.function.Function;
|
2023-10-23 14:02:09 +01:00
|
|
|
|
|
|
|
|
public class BlockReplacementManager {
|
|
|
|
|
|
2023-10-31 00:27:30 +00:00
|
|
|
private static final Map<String, Function<BlockConversionInfo, BlockConversionInfo>> blockReplacementMap = new HashMap<>();
|
2023-10-23 14:02:09 +01:00
|
|
|
|
|
|
|
|
@SuppressWarnings("unused")
|
2023-10-31 00:27:30 +00:00
|
|
|
public static void addBlockReplacement(String blockNameIn, Function<BlockConversionInfo, BlockConversionInfo> transformer) {
|
|
|
|
|
blockReplacementMap.put(blockNameIn, transformer);
|
2023-10-23 14:02:09 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@SuppressWarnings("unused")
|
2023-10-31 00:27:30 +00:00
|
|
|
public static BlockConversionInfo getBlockReplacement(BlockConversionInfo blockConversionInfo) {
|
2023-10-30 01:28:47 +00:00
|
|
|
|
2023-10-31 00:27:30 +00:00
|
|
|
Function<BlockConversionInfo, BlockConversionInfo> transformer = blockReplacementMap.getOrDefault(blockConversionInfo.blocKName, null);
|
2023-10-30 01:28:47 +00:00
|
|
|
|
|
|
|
|
if (transformer == null) {
|
|
|
|
|
return null;
|
|
|
|
|
} else {
|
2023-10-31 00:27:30 +00:00
|
|
|
return transformer.apply(blockConversionInfo);
|
2023-10-30 01:28:47 +00:00
|
|
|
}
|
2023-10-23 14:02:09 +01:00
|
|
|
}
|
2023-10-30 01:28:47 +00:00
|
|
|
|
2023-10-23 14:02:09 +01:00
|
|
|
}
|