nosingleplayer 1.1.1: fond custom via blit + log debug widgets
This commit is contained in:
@@ -0,0 +1,93 @@
|
||||
|
||||
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)));
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user