Files
Postea/src/main/java/com/colen/postea/API/BlockReplacementManager.java
T

37 lines
1.3 KiB
Java
Raw Normal View History

package com.colen.postea.API;
2023-10-30 01:28:47 +00:00
import akka.japi.Pair;
2023-10-30 20:02:08 +00:00
import cpw.mods.fml.common.registry.GameRegistry;
import net.minecraft.block.Block;
2023-10-23 15:37:55 +01:00
import net.minecraft.item.Item;
import java.util.HashMap;
import java.util.Map;
2023-10-30 01:28:47 +00:00
import java.util.function.Function;
2023-10-23 15:37:55 +01:00
import static com.colen.postea.API.ItemStackReplacementManager.addItemReplacement;
public class BlockReplacementManager {
2023-10-30 01:28:47 +00:00
private static final Map<BlockKey, Function<BlockKey, Pair<Integer, Integer>>> blockReplacementMap = new HashMap<>();
@SuppressWarnings("unused")
2023-10-30 01:28:47 +00:00
public static void addBlockReplacement(String blockNameIn, int metadataIn, Function<BlockKey, Pair<Integer, Integer>> transformer) {
blockReplacementMap.put(new BlockKey(blockNameIn, metadataIn), transformer);
}
@SuppressWarnings("unused")
2023-10-30 01:28:47 +00:00
public static Pair<Integer, Integer> getBlockReplacement(int blockID, int metadataIn) {
Block block = Block.getBlockById(blockID);
2023-10-30 20:02:08 +00:00
String blockName = GameRegistry.findUniqueIdentifierFor(block).toString();
2023-10-30 01:28:47 +00:00
Function<BlockKey, Pair<Integer, Integer>> transformer = blockReplacementMap.getOrDefault(new BlockKey(blockName, metadataIn), null);
if (transformer == null) {
return null;
} else {
return transformer.apply(new BlockKey(blockName, metadataIn));
}
}
2023-10-30 01:28:47 +00:00
}