GenuineSounds icon

OreGenerationEvent

GenuineSounds | PRO | 01/27/15 08:34:11 PM UTC | 0 ⭐ | 508 👁️ | Never ⏰ | []
Java |

1.19 KB

|

None

|

0 👍

/

0 👎

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

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎