94 lines
3.2 KiB
Java
94 lines
3.2 KiB
Java
|
|
package net.paladrill.paladrillmod.block;
|
|
|
|
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
|
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
|
|
|
|
import net.minecraftforge.fml.relauncher.SideOnly;
|
|
import net.minecraftforge.fml.relauncher.Side;
|
|
import net.minecraftforge.fml.common.registry.GameRegistry;
|
|
import net.minecraftforge.client.model.ModelLoader;
|
|
import net.minecraftforge.client.event.ModelRegistryEvent;
|
|
|
|
import net.minecraft.world.gen.feature.WorldGenMinable;
|
|
import net.minecraft.world.gen.IChunkGenerator;
|
|
import net.minecraft.world.chunk.IChunkProvider;
|
|
import net.minecraft.world.World;
|
|
import net.minecraft.world.IBlockAccess;
|
|
import net.minecraft.util.math.BlockPos;
|
|
import net.minecraft.util.NonNullList;
|
|
import net.minecraft.item.ItemStack;
|
|
import net.minecraft.item.ItemBlock;
|
|
import net.minecraft.item.Item;
|
|
import net.minecraft.init.Blocks;
|
|
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
|
import net.minecraft.block.state.IBlockState;
|
|
import net.minecraft.block.material.Material;
|
|
import net.minecraft.block.SoundType;
|
|
import net.minecraft.block.Block;
|
|
|
|
import java.util.Random;
|
|
|
|
@ElementsPaladrillmodMod.ModElement.Tag
|
|
public class BlockKisakayOre extends ElementsPaladrillmodMod.ModElement {
|
|
@GameRegistry.ObjectHolder("paladrillmod:kisakayore")
|
|
public static final Block block = null;
|
|
public BlockKisakayOre(ElementsPaladrillmodMod instance) {
|
|
super(instance, 280);
|
|
}
|
|
|
|
@Override
|
|
public void initElements() {
|
|
elements.blocks.add(() -> new BlockCustom().setRegistryName("kisakayore"));
|
|
elements.items.add(() -> new ItemBlock(block).setRegistryName(block.getRegistryName()));
|
|
}
|
|
|
|
@SideOnly(Side.CLIENT)
|
|
@Override
|
|
public void registerModels(ModelRegistryEvent event) {
|
|
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(block), 0,
|
|
new ModelResourceLocation("paladrillmod:kisakayore", "inventory"));
|
|
}
|
|
|
|
@Override
|
|
public void generateWorld(Random random, int chunkX, int chunkZ, World world, int dimID, IChunkGenerator cg, IChunkProvider cp) {
|
|
boolean dimensionCriteria = false;
|
|
if (dimID == 0)
|
|
dimensionCriteria = true;
|
|
if (!dimensionCriteria)
|
|
return;
|
|
for (int i = 0; i < 2; i++) {
|
|
int x = chunkX + random.nextInt(16);
|
|
int y = random.nextInt(15) + 1;
|
|
int z = chunkZ + random.nextInt(16);
|
|
(new WorldGenMinable(block.getDefaultState(), 1, new com.google.common.base.Predicate<IBlockState>() {
|
|
public boolean apply(IBlockState blockAt) {
|
|
boolean blockCriteria = false;
|
|
IBlockState require;
|
|
if (blockAt.getBlock() == Blocks.STONE.getDefaultState().getBlock())
|
|
blockCriteria = true;
|
|
return blockCriteria;
|
|
}
|
|
})).generate(world, random, new BlockPos(x, y, z));
|
|
}
|
|
}
|
|
public static class BlockCustom extends Block {
|
|
public BlockCustom() {
|
|
super(Material.ROCK);
|
|
setUnlocalizedName("kisakayore");
|
|
setSoundType(SoundType.STONE);
|
|
setHarvestLevel("pickaxe", 4);
|
|
setHardness(6F);
|
|
setResistance(12F);
|
|
setLightLevel(0F);
|
|
setLightOpacity(0);
|
|
setCreativeTab(TabPalaDrillMod.tab);
|
|
}
|
|
|
|
@Override
|
|
public void getDrops(NonNullList<ItemStack> drops, IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
|
|
drops.add(new ItemStack(BlockKisakayOre.block, (int) (1)));
|
|
}
|
|
}
|
|
}
|