--- ../src-base/minecraft/net/minecraft/util/RegistryNamespaced.java +++ ../src-work/minecraft/net/minecraft/util/RegistryNamespaced.java @@ -5,6 +5,11 @@ import java.util.Iterator; import java.util.Map; +// Cauldron start +import cpw.mods.fml.common.FMLLog; +import net.minecraft.block.Block; +// Cauldron end + public class RegistryNamespaced extends RegistrySimple implements IObjectIntIterable { protected ObjectIntIdentityMap underlyingIntegerMap = new ObjectIntIdentityMap(); @@ -18,6 +23,21 @@ public void addObject(int p_148756_1_, String p_148756_2_, Object p_148756_3_) { + // Cauldron start - register item/block materials for Bukkit + boolean isForgeBlock = p_148756_3_ instanceof Block && (p_148756_3_.getClass().getName().length() > 3 && !p_148756_3_.getClass().getName().startsWith("net.minecraft.block")) ? true : false; + org.bukkit.Material material = org.bukkit.Material.addMaterial(p_148756_1_, p_148756_2_, isForgeBlock); + if (material != null && net.minecraft.server.MinecraftServer.kcauldronConfig.loggingMaterialInjection.getValue()) + { + if (isForgeBlock) + { + FMLLog.info("Injected new Forge block material %s with ID %d.", material.name(), material.getId()); + } + else + { + FMLLog.info("Injected new Forge item material %s with ID %d.", material.name(), material.getId()); + } + } + // Cauldron end this.underlyingIntegerMap.func_148746_a(p_148756_3_, p_148756_1_); this.putObject(ensureNamespaced(p_148756_2_), p_148756_3_); }