package com.genuineflix.co.events;
import java.lang.reflect.Field;
import net.minecraft.block.Block;
import net.minecraft.world.gen.feature.WorldGenMinable;
import net.minecraftforge.event.terraingen.OreGenEvent;
import com.genuineflix.co.generator.feature.CommonGenMinable;
import com.genuineflix.co.registry.MetalRegistry;
import cpw.mods.fml.common.eventhandler.Event.Result;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
public class OreGenerationEvent {
public static final Field blockField = WorldGenMinable.class.getDeclaredFields()[0];
// Blocking ores from being able to generate
@SubscribeEvent
public void minable(final OreGenEvent.GenerateMinable event) {
if (event.generator == null || event.generator instanceof CommonGenMinable)
return;
if (event.generator instanceof WorldGenMinable)
try {
final WorldGenMinable gen = (WorldGenMinable) event.generator;
final Block block = (Block) blockField.get(event.generator);
if (block != null && MetalRegistry.isCommon(block))
event.setResult(Result.DENY);
}
catch (final Exception e) {
e.printStackTrace();
}
}
static {
blockField.setAccessible(true);
}
}
Comments
0 B
|👍
/👎