nosingleplayer 1.1.1: fond custom via blit + log debug widgets
This commit is contained in:
@@ -0,0 +1,107 @@
|
||||
|
||||
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 BlockAmethystOre extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:amethystore")
|
||||
public static final Block block = null;
|
||||
public BlockAmethystOre(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 2);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("amethystore"));
|
||||
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:amethystore", "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 < 5; i++) {
|
||||
int x = chunkX + random.nextInt(16);
|
||||
int y = random.nextInt(24) + 1;
|
||||
int z = chunkZ + random.nextInt(16);
|
||||
(new WorldGenMinable(block.getDefaultState(), 5, new com.google.common.base.Predicate<IBlockState>() {
|
||||
public boolean apply(IBlockState blockAt) {
|
||||
boolean blockCriteria = false;
|
||||
IBlockState require;
|
||||
if (blockAt.getBlock() == Blocks.GRAVEL.getDefaultState().getBlock())
|
||||
blockCriteria = true;
|
||||
require = Blocks.STONE.getStateFromMeta(0);
|
||||
try {
|
||||
if ((blockAt.getBlock() == require.getBlock())
|
||||
&& (blockAt.getBlock().getMetaFromState(blockAt) == require.getBlock().getMetaFromState(require)))
|
||||
blockCriteria = true;
|
||||
} catch (Exception e) {
|
||||
if (blockAt.getBlock() == require.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("amethystore");
|
||||
setSoundType(SoundType.STONE);
|
||||
setHarvestLevel("pickaxe", 2);
|
||||
setHardness(3F);
|
||||
setResistance(5F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDrops(NonNullList<ItemStack> drops, IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
|
||||
drops.add(new ItemStack(BlockAmethystOre.block, (int) (1)));
|
||||
}
|
||||
}
|
||||
}
|
||||
+59
@@ -0,0 +1,59 @@
|
||||
|
||||
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.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
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;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockAmethystOreBlock extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:amethystoreblock")
|
||||
public static final Block block = null;
|
||||
public BlockAmethystOreBlock(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 4);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("amethystoreblock"));
|
||||
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:amethystoreblock", "inventory"));
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.IRON);
|
||||
setUnlocalizedName("amethystoreblock");
|
||||
setSoundType(SoundType.METAL);
|
||||
setHarvestLevel("pickaxe", 2);
|
||||
setHardness(5F);
|
||||
setResistance(8F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,65 @@
|
||||
|
||||
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.util.BlockRenderLayer;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
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;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockAmethystSpike extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:amethystspike")
|
||||
public static final Block block = null;
|
||||
public BlockAmethystSpike(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 100);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("amethystspike"));
|
||||
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:amethystspike", "inventory"));
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.ROCK);
|
||||
setUnlocalizedName("amethystspike");
|
||||
setSoundType(SoundType.GROUND);
|
||||
setHardness(1F);
|
||||
setResistance(10F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public BlockRenderLayer getBlockLayer() {
|
||||
return BlockRenderLayer.CUTOUT_MIPPED;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,91 @@
|
||||
|
||||
package net.paladrill.paladrillmod.block;
|
||||
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureAngelicWaterMobplayerCollidesBlock;
|
||||
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.fml.common.event.FMLPreInitializationEvent;
|
||||
import net.minecraftforge.fluids.FluidRegistry;
|
||||
import net.minecraftforge.fluids.Fluid;
|
||||
import net.minecraftforge.fluids.BlockFluidClassic;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.client.renderer.block.statemap.StateMapperBase;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.client.renderer.block.model.ModelBakery;
|
||||
import net.minecraft.client.renderer.ItemMeshDefinition;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockAngelicWater extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:angelicwater")
|
||||
public static final Block block = null;
|
||||
@GameRegistry.ObjectHolder("paladrillmod:angelicwater")
|
||||
public static final Item item = null;
|
||||
private Fluid fluid;
|
||||
public BlockAngelicWater(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 54);
|
||||
fluid = new Fluid("angelicwater", new ResourceLocation("paladrillmod:blocks/angelicwater_still"),
|
||||
new ResourceLocation("paladrillmod:blocks/angelicwater_flowing")).setLuminosity(0).setDensity(1000).setViscosity(1000)
|
||||
.setGaseous(false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockFluidClassic(fluid, Material.WATER) {
|
||||
@Override
|
||||
public void onEntityCollidedWithBlock(World world, BlockPos pos, IBlockState state, Entity entity) {
|
||||
super.onEntityCollidedWithBlock(world, pos, state, entity);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("entity", entity);
|
||||
ProcedureAngelicWaterMobplayerCollidesBlock.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
}.setUnlocalizedName("angelicwater").setRegistryName("angelicwater"));
|
||||
elements.items.add(() -> new ItemBlock(block).setRegistryName("angelicwater"));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void preInit(FMLPreInitializationEvent event) {
|
||||
FluidRegistry.registerFluid(fluid);
|
||||
FluidRegistry.addBucketForFluid(fluid);
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelBakery.registerItemVariants(item);
|
||||
ModelLoader.setCustomMeshDefinition(item, new ItemMeshDefinition() {
|
||||
@Override
|
||||
public ModelResourceLocation getModelLocation(ItemStack stack) {
|
||||
return new ModelResourceLocation("paladrillmod:angelicwater", "angelicwater");
|
||||
}
|
||||
});
|
||||
ModelLoader.setCustomStateMapper(block, new StateMapperBase() {
|
||||
@Override
|
||||
protected ModelResourceLocation getModelResourceLocation(IBlockState state) {
|
||||
return new ModelResourceLocation("paladrillmod:angelicwater", "angelicwater");
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
|
||||
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.util.BlockRenderLayer;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockCaveBlock extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:caveblock")
|
||||
public static final Block block = null;
|
||||
public BlockCaveBlock(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 1);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("caveblock"));
|
||||
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:caveblock", "inventory"));
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.ROCK);
|
||||
setUnlocalizedName("caveblock");
|
||||
setSoundType(SoundType.METAL);
|
||||
setHardness(1F);
|
||||
setResistance(10F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public BlockRenderLayer getBlockLayer() {
|
||||
return BlockRenderLayer.CUTOUT_MIPPED;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
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.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
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;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockCobblebreaker extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:cobblebreaker")
|
||||
public static final Block block = null;
|
||||
public BlockCobblebreaker(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 322);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("cobblebreaker"));
|
||||
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:cobblebreaker", "inventory"));
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.IRON);
|
||||
setUnlocalizedName("cobblebreaker");
|
||||
setSoundType(SoundType.METAL);
|
||||
setHarvestLevel("pickaxe", 2);
|
||||
setHardness(5F);
|
||||
setResistance(10F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,91 @@
|
||||
|
||||
package net.paladrill.paladrillmod.block;
|
||||
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureFakeWaterMobplayerCollidesBlock;
|
||||
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.fml.common.event.FMLPreInitializationEvent;
|
||||
import net.minecraftforge.fluids.FluidRegistry;
|
||||
import net.minecraftforge.fluids.Fluid;
|
||||
import net.minecraftforge.fluids.BlockFluidClassic;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.client.renderer.block.statemap.StateMapperBase;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.client.renderer.block.model.ModelBakery;
|
||||
import net.minecraft.client.renderer.ItemMeshDefinition;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockFakeWater extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:fakewater")
|
||||
public static final Block block = null;
|
||||
@GameRegistry.ObjectHolder("paladrillmod:fakewater")
|
||||
public static final Item item = null;
|
||||
private Fluid fluid;
|
||||
public BlockFakeWater(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 53);
|
||||
fluid = new Fluid("fakewater", new ResourceLocation("paladrillmod:blocks/sulfuricwater_still"),
|
||||
new ResourceLocation("paladrillmod:blocks/sulfuricwater_flowing")).setLuminosity(0).setDensity(1000).setViscosity(1000)
|
||||
.setGaseous(false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockFluidClassic(fluid, Material.WATER) {
|
||||
@Override
|
||||
public void onEntityCollidedWithBlock(World world, BlockPos pos, IBlockState state, Entity entity) {
|
||||
super.onEntityCollidedWithBlock(world, pos, state, entity);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("entity", entity);
|
||||
ProcedureFakeWaterMobplayerCollidesBlock.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
}.setUnlocalizedName("fakewater").setRegistryName("fakewater"));
|
||||
elements.items.add(() -> new ItemBlock(block).setRegistryName("fakewater"));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void preInit(FMLPreInitializationEvent event) {
|
||||
FluidRegistry.registerFluid(fluid);
|
||||
FluidRegistry.addBucketForFluid(fluid);
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelBakery.registerItemVariants(item);
|
||||
ModelLoader.setCustomMeshDefinition(item, new ItemMeshDefinition() {
|
||||
@Override
|
||||
public ModelResourceLocation getModelLocation(ItemStack stack) {
|
||||
return new ModelResourceLocation("paladrillmod:fakewater", "fakewater");
|
||||
}
|
||||
});
|
||||
ModelLoader.setCustomStateMapper(block, new StateMapperBase() {
|
||||
@Override
|
||||
protected ModelResourceLocation getModelResourceLocation(IBlockState state) {
|
||||
return new ModelResourceLocation("paladrillmod:fakewater", "fakewater");
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,171 @@
|
||||
|
||||
package net.paladrill.paladrillmod.block;
|
||||
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureFikutsiStage0UpdateTick;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureFikutsiStage0BlockDestroyByPlayerBlockDestroyedByPlayer;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureBreakBlockUnderCropsForFikutsi;
|
||||
import net.paladrill.paladrillmod.item.ItemFikutsiSeeds;
|
||||
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.World;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.Explosion;
|
||||
import net.minecraft.util.math.RayTraceResult;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.AxisAlignedBB;
|
||||
import net.minecraft.util.NonNullList;
|
||||
import net.minecraft.util.BlockRenderLayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.material.EnumPushReaction;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
import java.util.Random;
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockFikutsiStage0 extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:fikutsistage0")
|
||||
public static final Block block = null;
|
||||
public BlockFikutsiStage0(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 252);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("fikutsistage0"));
|
||||
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:fikutsistage0", "inventory"));
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.PLANTS);
|
||||
setUnlocalizedName("fikutsistage0");
|
||||
setSoundType(SoundType.PLANT);
|
||||
setHardness(0F);
|
||||
setResistance(0F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
setTickRandomly(true);
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public BlockRenderLayer getBlockLayer() {
|
||||
return BlockRenderLayer.CUTOUT_MIPPED;
|
||||
}
|
||||
|
||||
@Override
|
||||
@javax.annotation.Nullable
|
||||
public AxisAlignedBB getCollisionBoundingBox(IBlockState blockState, IBlockAccess worldIn, BlockPos pos) {
|
||||
return NULL_AABB;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPassable(IBlockAccess worldIn, BlockPos pos) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isFullCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int tickRate(World world) {
|
||||
return 100;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumPushReaction getMobilityFlag(IBlockState state) {
|
||||
return EnumPushReaction.DESTROY;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos, EntityPlayer player) {
|
||||
return new ItemStack(ItemFikutsiSeeds.block, (int) (1));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDrops(NonNullList<ItemStack> drops, IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
|
||||
drops.add(new ItemStack(ItemFikutsiSeeds.block, (int) (1)));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void neighborChanged(IBlockState state, World world, BlockPos pos, Block neighborBlock, BlockPos fromPos) {
|
||||
super.neighborChanged(state, world, pos, neighborBlock, fromPos);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
if (world.isBlockIndirectlyGettingPowered(new BlockPos(x, y, z)) > 0) {
|
||||
} else {
|
||||
}
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureBreakBlockUnderCropsForFikutsi.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateTick(World world, BlockPos pos, IBlockState state, Random random) {
|
||||
super.updateTick(world, pos, state, random);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureFikutsiStage0UpdateTick.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockDestroyedByExplosion(World world, BlockPos pos, Explosion e) {
|
||||
super.onBlockDestroyedByExplosion(world, pos, e);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureFikutsiStage0BlockDestroyByPlayerBlockDestroyedByPlayer.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,171 @@
|
||||
|
||||
package net.paladrill.paladrillmod.block;
|
||||
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureFikutsiStage0UpdateTick;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureFikutsiStage0BlockDestroyByPlayerBlockDestroyedByPlayer;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureBreakBlockUnderCropsForFikutsi;
|
||||
import net.paladrill.paladrillmod.item.ItemFikutsiSeeds;
|
||||
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.World;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.Explosion;
|
||||
import net.minecraft.util.math.RayTraceResult;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.AxisAlignedBB;
|
||||
import net.minecraft.util.NonNullList;
|
||||
import net.minecraft.util.BlockRenderLayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.material.EnumPushReaction;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
import java.util.Random;
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockFikutsiStage1 extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:fikutsistage1")
|
||||
public static final Block block = null;
|
||||
public BlockFikutsiStage1(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 253);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("fikutsistage1"));
|
||||
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:fikutsistage1", "inventory"));
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.PLANTS);
|
||||
setUnlocalizedName("fikutsistage1");
|
||||
setSoundType(SoundType.PLANT);
|
||||
setHardness(0F);
|
||||
setResistance(0F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
setTickRandomly(true);
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public BlockRenderLayer getBlockLayer() {
|
||||
return BlockRenderLayer.CUTOUT_MIPPED;
|
||||
}
|
||||
|
||||
@Override
|
||||
@javax.annotation.Nullable
|
||||
public AxisAlignedBB getCollisionBoundingBox(IBlockState blockState, IBlockAccess worldIn, BlockPos pos) {
|
||||
return NULL_AABB;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPassable(IBlockAccess worldIn, BlockPos pos) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isFullCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int tickRate(World world) {
|
||||
return 100;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumPushReaction getMobilityFlag(IBlockState state) {
|
||||
return EnumPushReaction.DESTROY;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos, EntityPlayer player) {
|
||||
return new ItemStack(ItemFikutsiSeeds.block, (int) (1));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDrops(NonNullList<ItemStack> drops, IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
|
||||
drops.add(new ItemStack(ItemFikutsiSeeds.block, (int) (1)));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void neighborChanged(IBlockState state, World world, BlockPos pos, Block neighborBlock, BlockPos fromPos) {
|
||||
super.neighborChanged(state, world, pos, neighborBlock, fromPos);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
if (world.isBlockIndirectlyGettingPowered(new BlockPos(x, y, z)) > 0) {
|
||||
} else {
|
||||
}
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureBreakBlockUnderCropsForFikutsi.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateTick(World world, BlockPos pos, IBlockState state, Random random) {
|
||||
super.updateTick(world, pos, state, random);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureFikutsiStage0UpdateTick.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockDestroyedByExplosion(World world, BlockPos pos, Explosion e) {
|
||||
super.onBlockDestroyedByExplosion(world, pos, e);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureFikutsiStage0BlockDestroyByPlayerBlockDestroyedByPlayer.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,171 @@
|
||||
|
||||
package net.paladrill.paladrillmod.block;
|
||||
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureFikutsiStage0UpdateTick;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureFikutsiStage0BlockDestroyByPlayerBlockDestroyedByPlayer;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureBreakBlockUnderCropsForFikutsi;
|
||||
import net.paladrill.paladrillmod.item.ItemFikutsiSeeds;
|
||||
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.World;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.Explosion;
|
||||
import net.minecraft.util.math.RayTraceResult;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.AxisAlignedBB;
|
||||
import net.minecraft.util.NonNullList;
|
||||
import net.minecraft.util.BlockRenderLayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.material.EnumPushReaction;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
import java.util.Random;
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockFikutsiStage2 extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:fikutsistage2")
|
||||
public static final Block block = null;
|
||||
public BlockFikutsiStage2(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 254);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("fikutsistage2"));
|
||||
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:fikutsistage2", "inventory"));
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.PLANTS);
|
||||
setUnlocalizedName("fikutsistage2");
|
||||
setSoundType(SoundType.PLANT);
|
||||
setHardness(0F);
|
||||
setResistance(0F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
setTickRandomly(true);
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public BlockRenderLayer getBlockLayer() {
|
||||
return BlockRenderLayer.CUTOUT_MIPPED;
|
||||
}
|
||||
|
||||
@Override
|
||||
@javax.annotation.Nullable
|
||||
public AxisAlignedBB getCollisionBoundingBox(IBlockState blockState, IBlockAccess worldIn, BlockPos pos) {
|
||||
return NULL_AABB;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPassable(IBlockAccess worldIn, BlockPos pos) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isFullCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int tickRate(World world) {
|
||||
return 100;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumPushReaction getMobilityFlag(IBlockState state) {
|
||||
return EnumPushReaction.DESTROY;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos, EntityPlayer player) {
|
||||
return new ItemStack(ItemFikutsiSeeds.block, (int) (1));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDrops(NonNullList<ItemStack> drops, IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
|
||||
drops.add(new ItemStack(ItemFikutsiSeeds.block, (int) (1)));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void neighborChanged(IBlockState state, World world, BlockPos pos, Block neighborBlock, BlockPos fromPos) {
|
||||
super.neighborChanged(state, world, pos, neighborBlock, fromPos);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
if (world.isBlockIndirectlyGettingPowered(new BlockPos(x, y, z)) > 0) {
|
||||
} else {
|
||||
}
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureBreakBlockUnderCropsForFikutsi.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateTick(World world, BlockPos pos, IBlockState state, Random random) {
|
||||
super.updateTick(world, pos, state, random);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureFikutsiStage0UpdateTick.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockDestroyedByExplosion(World world, BlockPos pos, Explosion e) {
|
||||
super.onBlockDestroyedByExplosion(world, pos, e);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureFikutsiStage0BlockDestroyByPlayerBlockDestroyedByPlayer.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,172 @@
|
||||
|
||||
package net.paladrill.paladrillmod.block;
|
||||
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureFikutsiStage3Casser;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureFikutsiStage0BlockDestroyByPlayerBlockDestroyedByPlayer;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureBreakBlockUnderCropsForFikutsi;
|
||||
import net.paladrill.paladrillmod.item.ItemFikutsiSeeds;
|
||||
import net.paladrill.paladrillmod.item.ItemEggPlantFruit;
|
||||
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.World;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.Explosion;
|
||||
import net.minecraft.util.math.RayTraceResult;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.AxisAlignedBB;
|
||||
import net.minecraft.util.NonNullList;
|
||||
import net.minecraft.util.BlockRenderLayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.material.EnumPushReaction;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockFikutsiStage3 extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:fikutsistage3")
|
||||
public static final Block block = null;
|
||||
public BlockFikutsiStage3(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 255);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("fikutsistage3"));
|
||||
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:fikutsistage3", "inventory"));
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.PLANTS);
|
||||
setUnlocalizedName("fikutsistage3");
|
||||
setSoundType(SoundType.PLANT);
|
||||
setHardness(0F);
|
||||
setResistance(0F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
setTickRandomly(true);
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public BlockRenderLayer getBlockLayer() {
|
||||
return BlockRenderLayer.CUTOUT_MIPPED;
|
||||
}
|
||||
|
||||
@Override
|
||||
@javax.annotation.Nullable
|
||||
public AxisAlignedBB getCollisionBoundingBox(IBlockState blockState, IBlockAccess worldIn, BlockPos pos) {
|
||||
return NULL_AABB;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPassable(IBlockAccess worldIn, BlockPos pos) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isFullCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int tickRate(World world) {
|
||||
return 100;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumPushReaction getMobilityFlag(IBlockState state) {
|
||||
return EnumPushReaction.DESTROY;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos, EntityPlayer player) {
|
||||
return new ItemStack(ItemFikutsiSeeds.block, (int) (1));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDrops(NonNullList<ItemStack> drops, IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
|
||||
drops.add(new ItemStack(ItemEggPlantFruit.block, (int) (1)));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void neighborChanged(IBlockState state, World world, BlockPos pos, Block neighborBlock, BlockPos fromPos) {
|
||||
super.neighborChanged(state, world, pos, neighborBlock, fromPos);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
if (world.isBlockIndirectlyGettingPowered(new BlockPos(x, y, z)) > 0) {
|
||||
} else {
|
||||
}
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureBreakBlockUnderCropsForFikutsi.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean removedByPlayer(IBlockState state, World world, BlockPos pos, EntityPlayer entity, boolean willHarvest) {
|
||||
boolean retval = super.removedByPlayer(state, world, pos, entity, willHarvest);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureFikutsiStage3Casser.executeProcedure($_dependencies);
|
||||
}
|
||||
return retval;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockDestroyedByExplosion(World world, BlockPos pos, Explosion e) {
|
||||
super.onBlockDestroyedByExplosion(world, pos, e);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureFikutsiStage0BlockDestroyByPlayerBlockDestroyedByPlayer.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,109 @@
|
||||
|
||||
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 BlockFindiumOre extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:findiumore")
|
||||
public static final Block block = null;
|
||||
public BlockFindiumOre(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 46);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("findiumore"));
|
||||
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:findiumore", "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 < 5; i++) {
|
||||
int x = chunkX + random.nextInt(16);
|
||||
int y = random.nextInt(32) + 1;
|
||||
int z = chunkZ + random.nextInt(16);
|
||||
(new WorldGenMinable(block.getDefaultState(), 3, 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;
|
||||
require = Blocks.DIRT.getStateFromMeta(0);
|
||||
try {
|
||||
if ((blockAt.getBlock() == require.getBlock())
|
||||
&& (blockAt.getBlock().getMetaFromState(blockAt) == require.getBlock().getMetaFromState(require)))
|
||||
blockCriteria = true;
|
||||
} catch (Exception e) {
|
||||
if (blockAt.getBlock() == require.getBlock())
|
||||
blockCriteria = true;
|
||||
}
|
||||
if (blockAt.getBlock() == Blocks.GRAVEL.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("findiumore");
|
||||
setSoundType(SoundType.STONE);
|
||||
setHarvestLevel("pickaxe", 2);
|
||||
setHardness(3F);
|
||||
setResistance(8.705505632961241F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDrops(NonNullList<ItemStack> drops, IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
|
||||
drops.add(new ItemStack(BlockFindiumOre.block, (int) (1)));
|
||||
}
|
||||
}
|
||||
}
|
||||
+59
@@ -0,0 +1,59 @@
|
||||
|
||||
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.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
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;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockFindiumOreBlock extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:findiumoreblock")
|
||||
public static final Block block = null;
|
||||
public BlockFindiumOreBlock(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 48);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("findiumoreblock"));
|
||||
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:findiumoreblock", "inventory"));
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.IRON);
|
||||
setUnlocalizedName("findiumoreblock");
|
||||
setSoundType(SoundType.METAL);
|
||||
setHarvestLevel("pickaxe", 2);
|
||||
setHardness(5F);
|
||||
setResistance(10F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
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.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
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;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockGrinderBlock extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:grinderblock")
|
||||
public static final Block block = null;
|
||||
public BlockGrinderBlock(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 321);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("grinderblock"));
|
||||
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:grinderblock", "inventory"));
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.IRON);
|
||||
setUnlocalizedName("grinderblock");
|
||||
setSoundType(SoundType.METAL);
|
||||
setHarvestLevel("pickaxe", 2);
|
||||
setHardness(5F);
|
||||
setResistance(10F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
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.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
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;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockGrinderCasing extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:grindercasing")
|
||||
public static final Block block = null;
|
||||
public BlockGrinderCasing(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 320);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("grindercasing"));
|
||||
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:grindercasing", "inventory"));
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.IRON);
|
||||
setUnlocalizedName("grindercasing");
|
||||
setSoundType(SoundType.METAL);
|
||||
setHarvestLevel("pickaxe", 2);
|
||||
setHardness(5F);
|
||||
setResistance(10F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
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.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
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;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockGrinderFrame extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:grinderframe")
|
||||
public static final Block block = null;
|
||||
public BlockGrinderFrame(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 319);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("grinderframe"));
|
||||
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:grinderframe", "inventory"));
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.IRON);
|
||||
setUnlocalizedName("grinderframe");
|
||||
setSoundType(SoundType.METAL);
|
||||
setHarvestLevel("pickaxe", 2);
|
||||
setHardness(5F);
|
||||
setResistance(10F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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)));
|
||||
}
|
||||
}
|
||||
}
|
||||
+53
@@ -0,0 +1,53 @@
|
||||
|
||||
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.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockKisakayOreBlock extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:kisakayoreblock")
|
||||
public static final Block block = null;
|
||||
public BlockKisakayOreBlock(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 281);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("kisakayoreblock"));
|
||||
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:kisakayoreblock", "inventory"));
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.IRON);
|
||||
setUnlocalizedName("kisakayoreblock");
|
||||
setSoundType(SoundType.METAL);
|
||||
setHarvestLevel("pickaxe", 9);
|
||||
setHardness(5F);
|
||||
setResistance(10F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(255);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,166 @@
|
||||
|
||||
package net.paladrill.paladrillmod.block;
|
||||
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureKiwanoStage0UpdateTick;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureKiwanoStage0BlockDestroyByPlayer;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureBreakBlockUnderCropsForKiwano;
|
||||
import net.paladrill.paladrillmod.item.ItemKiwanoSeeds;
|
||||
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.World;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.Explosion;
|
||||
import net.minecraft.util.math.RayTraceResult;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.AxisAlignedBB;
|
||||
import net.minecraft.util.NonNullList;
|
||||
import net.minecraft.util.BlockRenderLayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.material.EnumPushReaction;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
import java.util.Random;
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockKiwanoStage0 extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:kiwanostage0")
|
||||
public static final Block block = null;
|
||||
public BlockKiwanoStage0(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 184);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("kiwanostage0"));
|
||||
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:kiwanostage0", "inventory"));
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.PLANTS);
|
||||
setUnlocalizedName("kiwanostage0");
|
||||
setSoundType(SoundType.PLANT);
|
||||
setHardness(0F);
|
||||
setResistance(0F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
setTickRandomly(true);
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public BlockRenderLayer getBlockLayer() {
|
||||
return BlockRenderLayer.CUTOUT_MIPPED;
|
||||
}
|
||||
|
||||
@Override
|
||||
@javax.annotation.Nullable
|
||||
public AxisAlignedBB getCollisionBoundingBox(IBlockState blockState, IBlockAccess worldIn, BlockPos pos) {
|
||||
return NULL_AABB;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPassable(IBlockAccess worldIn, BlockPos pos) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isFullCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int tickRate(World world) {
|
||||
return 100;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumPushReaction getMobilityFlag(IBlockState state) {
|
||||
return EnumPushReaction.DESTROY;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos, EntityPlayer player) {
|
||||
return new ItemStack(ItemKiwanoSeeds.block, (int) (1));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDrops(NonNullList<ItemStack> drops, IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
|
||||
drops.add(new ItemStack(ItemKiwanoSeeds.block, (int) (1)));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void neighborChanged(IBlockState state, World world, BlockPos pos, Block neighborBlock, BlockPos fromPos) {
|
||||
super.neighborChanged(state, world, pos, neighborBlock, fromPos);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
if (world.isBlockIndirectlyGettingPowered(new BlockPos(x, y, z)) > 0) {
|
||||
} else {
|
||||
}
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureBreakBlockUnderCropsForKiwano.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateTick(World world, BlockPos pos, IBlockState state, Random random) {
|
||||
super.updateTick(world, pos, state, random);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureKiwanoStage0UpdateTick.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockDestroyedByExplosion(World world, BlockPos pos, Explosion e) {
|
||||
super.onBlockDestroyedByExplosion(world, pos, e);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureKiwanoStage0BlockDestroyByPlayer.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,171 @@
|
||||
|
||||
package net.paladrill.paladrillmod.block;
|
||||
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureKiwanoStage0UpdateTick;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureKiwanoStage0BlockDestroyByPlayer;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureBreakBlockUnderCropsForKiwano;
|
||||
import net.paladrill.paladrillmod.item.ItemKiwanoSeeds;
|
||||
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.World;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.Explosion;
|
||||
import net.minecraft.util.math.RayTraceResult;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.AxisAlignedBB;
|
||||
import net.minecraft.util.NonNullList;
|
||||
import net.minecraft.util.BlockRenderLayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.material.EnumPushReaction;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
import java.util.Random;
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockKiwanoStage1 extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:kiwanostage1")
|
||||
public static final Block block = null;
|
||||
public BlockKiwanoStage1(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 185);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("kiwanostage1"));
|
||||
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:kiwanostage1", "inventory"));
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.PLANTS);
|
||||
setUnlocalizedName("kiwanostage1");
|
||||
setSoundType(SoundType.PLANT);
|
||||
setHardness(0F);
|
||||
setResistance(0F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
setTickRandomly(true);
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public BlockRenderLayer getBlockLayer() {
|
||||
return BlockRenderLayer.CUTOUT_MIPPED;
|
||||
}
|
||||
|
||||
@Override
|
||||
@javax.annotation.Nullable
|
||||
public AxisAlignedBB getCollisionBoundingBox(IBlockState blockState, IBlockAccess worldIn, BlockPos pos) {
|
||||
return NULL_AABB;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPassable(IBlockAccess worldIn, BlockPos pos) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isFullCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int tickRate(World world) {
|
||||
return 100;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumPushReaction getMobilityFlag(IBlockState state) {
|
||||
return EnumPushReaction.DESTROY;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos, EntityPlayer player) {
|
||||
return new ItemStack(ItemKiwanoSeeds.block, (int) (1));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDrops(NonNullList<ItemStack> drops, IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
|
||||
drops.add(new ItemStack(ItemKiwanoSeeds.block, (int) (1)));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void neighborChanged(IBlockState state, World world, BlockPos pos, Block neighborBlock, BlockPos fromPos) {
|
||||
super.neighborChanged(state, world, pos, neighborBlock, fromPos);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
if (world.isBlockIndirectlyGettingPowered(new BlockPos(x, y, z)) > 0) {
|
||||
} else {
|
||||
}
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureBreakBlockUnderCropsForKiwano.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateTick(World world, BlockPos pos, IBlockState state, Random random) {
|
||||
super.updateTick(world, pos, state, random);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureKiwanoStage0UpdateTick.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockDestroyedByExplosion(World world, BlockPos pos, Explosion e) {
|
||||
super.onBlockDestroyedByExplosion(world, pos, e);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureKiwanoStage0BlockDestroyByPlayer.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,171 @@
|
||||
|
||||
package net.paladrill.paladrillmod.block;
|
||||
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureKiwanoStage0UpdateTick;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureKiwanoStage0BlockDestroyByPlayer;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureBreakBlockUnderCropsForKiwano;
|
||||
import net.paladrill.paladrillmod.item.ItemKiwanoSeeds;
|
||||
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.World;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.Explosion;
|
||||
import net.minecraft.util.math.RayTraceResult;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.AxisAlignedBB;
|
||||
import net.minecraft.util.NonNullList;
|
||||
import net.minecraft.util.BlockRenderLayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.material.EnumPushReaction;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
import java.util.Random;
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockKiwanoStage2 extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:kiwanostage2")
|
||||
public static final Block block = null;
|
||||
public BlockKiwanoStage2(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 186);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("kiwanostage2"));
|
||||
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:kiwanostage2", "inventory"));
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.PLANTS);
|
||||
setUnlocalizedName("kiwanostage2");
|
||||
setSoundType(SoundType.PLANT);
|
||||
setHardness(0F);
|
||||
setResistance(0F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
setTickRandomly(true);
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public BlockRenderLayer getBlockLayer() {
|
||||
return BlockRenderLayer.CUTOUT_MIPPED;
|
||||
}
|
||||
|
||||
@Override
|
||||
@javax.annotation.Nullable
|
||||
public AxisAlignedBB getCollisionBoundingBox(IBlockState blockState, IBlockAccess worldIn, BlockPos pos) {
|
||||
return NULL_AABB;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPassable(IBlockAccess worldIn, BlockPos pos) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isFullCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int tickRate(World world) {
|
||||
return 100;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumPushReaction getMobilityFlag(IBlockState state) {
|
||||
return EnumPushReaction.DESTROY;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos, EntityPlayer player) {
|
||||
return new ItemStack(ItemKiwanoSeeds.block, (int) (1));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDrops(NonNullList<ItemStack> drops, IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
|
||||
drops.add(new ItemStack(ItemKiwanoSeeds.block, (int) (1)));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void neighborChanged(IBlockState state, World world, BlockPos pos, Block neighborBlock, BlockPos fromPos) {
|
||||
super.neighborChanged(state, world, pos, neighborBlock, fromPos);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
if (world.isBlockIndirectlyGettingPowered(new BlockPos(x, y, z)) > 0) {
|
||||
} else {
|
||||
}
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureBreakBlockUnderCropsForKiwano.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateTick(World world, BlockPos pos, IBlockState state, Random random) {
|
||||
super.updateTick(world, pos, state, random);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureKiwanoStage0UpdateTick.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockDestroyedByExplosion(World world, BlockPos pos, Explosion e) {
|
||||
super.onBlockDestroyedByExplosion(world, pos, e);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureKiwanoStage0BlockDestroyByPlayer.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,171 @@
|
||||
|
||||
package net.paladrill.paladrillmod.block;
|
||||
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureKiwanoStage0UpdateTick;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureKiwanoStage0BlockDestroyByPlayer;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureBreakBlockUnderCropsForKiwano;
|
||||
import net.paladrill.paladrillmod.item.ItemKiwanoSeeds;
|
||||
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.World;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.Explosion;
|
||||
import net.minecraft.util.math.RayTraceResult;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.AxisAlignedBB;
|
||||
import net.minecraft.util.NonNullList;
|
||||
import net.minecraft.util.BlockRenderLayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.material.EnumPushReaction;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
import java.util.Random;
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockKiwanoStage3 extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:kiwanostage3")
|
||||
public static final Block block = null;
|
||||
public BlockKiwanoStage3(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 187);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("kiwanostage3"));
|
||||
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:kiwanostage3", "inventory"));
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.PLANTS);
|
||||
setUnlocalizedName("kiwanostage3");
|
||||
setSoundType(SoundType.PLANT);
|
||||
setHardness(0F);
|
||||
setResistance(0F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
setTickRandomly(true);
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public BlockRenderLayer getBlockLayer() {
|
||||
return BlockRenderLayer.CUTOUT_MIPPED;
|
||||
}
|
||||
|
||||
@Override
|
||||
@javax.annotation.Nullable
|
||||
public AxisAlignedBB getCollisionBoundingBox(IBlockState blockState, IBlockAccess worldIn, BlockPos pos) {
|
||||
return NULL_AABB;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPassable(IBlockAccess worldIn, BlockPos pos) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isFullCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int tickRate(World world) {
|
||||
return 100;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumPushReaction getMobilityFlag(IBlockState state) {
|
||||
return EnumPushReaction.DESTROY;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos, EntityPlayer player) {
|
||||
return new ItemStack(ItemKiwanoSeeds.block, (int) (1));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDrops(NonNullList<ItemStack> drops, IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
|
||||
drops.add(new ItemStack(ItemKiwanoSeeds.block, (int) (1)));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void neighborChanged(IBlockState state, World world, BlockPos pos, Block neighborBlock, BlockPos fromPos) {
|
||||
super.neighborChanged(state, world, pos, neighborBlock, fromPos);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
if (world.isBlockIndirectlyGettingPowered(new BlockPos(x, y, z)) > 0) {
|
||||
} else {
|
||||
}
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureBreakBlockUnderCropsForKiwano.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateTick(World world, BlockPos pos, IBlockState state, Random random) {
|
||||
super.updateTick(world, pos, state, random);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureKiwanoStage0UpdateTick.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockDestroyedByExplosion(World world, BlockPos pos, Explosion e) {
|
||||
super.onBlockDestroyedByExplosion(world, pos, e);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureKiwanoStage0BlockDestroyByPlayer.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,171 @@
|
||||
|
||||
package net.paladrill.paladrillmod.block;
|
||||
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureKiwanoStage0BlockDestroyByPlayerBlockDestroyedByPlayer;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureKiwanoStage0BlockDestroyByPlayer;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureBreakBlockUnderCropsForKiwano;
|
||||
import net.paladrill.paladrillmod.item.ItemKiwano;
|
||||
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.World;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.Explosion;
|
||||
import net.minecraft.util.math.RayTraceResult;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.AxisAlignedBB;
|
||||
import net.minecraft.util.NonNullList;
|
||||
import net.minecraft.util.BlockRenderLayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.material.EnumPushReaction;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockKiwanoStage4 extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:kiwanostage4")
|
||||
public static final Block block = null;
|
||||
public BlockKiwanoStage4(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 188);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("kiwanostage4"));
|
||||
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:kiwanostage4", "inventory"));
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.PLANTS);
|
||||
setUnlocalizedName("kiwanostage4");
|
||||
setSoundType(SoundType.PLANT);
|
||||
setHardness(0F);
|
||||
setResistance(0F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
setTickRandomly(true);
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public BlockRenderLayer getBlockLayer() {
|
||||
return BlockRenderLayer.CUTOUT_MIPPED;
|
||||
}
|
||||
|
||||
@Override
|
||||
@javax.annotation.Nullable
|
||||
public AxisAlignedBB getCollisionBoundingBox(IBlockState blockState, IBlockAccess worldIn, BlockPos pos) {
|
||||
return NULL_AABB;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPassable(IBlockAccess worldIn, BlockPos pos) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isFullCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int tickRate(World world) {
|
||||
return 100;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumPushReaction getMobilityFlag(IBlockState state) {
|
||||
return EnumPushReaction.DESTROY;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos, EntityPlayer player) {
|
||||
return new ItemStack(ItemKiwano.block, (int) (1));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDrops(NonNullList<ItemStack> drops, IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
|
||||
drops.add(new ItemStack(ItemKiwano.block, (int) (1)));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void neighborChanged(IBlockState state, World world, BlockPos pos, Block neighborBlock, BlockPos fromPos) {
|
||||
super.neighborChanged(state, world, pos, neighborBlock, fromPos);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
if (world.isBlockIndirectlyGettingPowered(new BlockPos(x, y, z)) > 0) {
|
||||
} else {
|
||||
}
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureBreakBlockUnderCropsForKiwano.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean removedByPlayer(IBlockState state, World world, BlockPos pos, EntityPlayer entity, boolean willHarvest) {
|
||||
boolean retval = super.removedByPlayer(state, world, pos, entity, willHarvest);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureKiwanoStage0BlockDestroyByPlayerBlockDestroyedByPlayer.executeProcedure($_dependencies);
|
||||
}
|
||||
return retval;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockDestroyedByExplosion(World world, BlockPos pos, Explosion e) {
|
||||
super.onBlockDestroyedByExplosion(world, pos, e);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureKiwanoStage0BlockDestroyByPlayer.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,171 @@
|
||||
|
||||
package net.paladrill.paladrillmod.block;
|
||||
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureOkamiStage0UpdateTick;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureOkamiStage0BlockDestroyByPlayerBlockDestroyedByPlayer;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureBreakBlockUnderCropsForOkami;
|
||||
import net.paladrill.paladrillmod.item.ItemOkamiSeeds;
|
||||
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.World;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.Explosion;
|
||||
import net.minecraft.util.math.RayTraceResult;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.AxisAlignedBB;
|
||||
import net.minecraft.util.NonNullList;
|
||||
import net.minecraft.util.BlockRenderLayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.material.EnumPushReaction;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
import java.util.Random;
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockOkamiStage0 extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:okamistage0")
|
||||
public static final Block block = null;
|
||||
public BlockOkamiStage0(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 270);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("okamistage0"));
|
||||
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:okamistage0", "inventory"));
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.PLANTS);
|
||||
setUnlocalizedName("okamistage0");
|
||||
setSoundType(SoundType.PLANT);
|
||||
setHardness(0F);
|
||||
setResistance(0F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
setTickRandomly(true);
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public BlockRenderLayer getBlockLayer() {
|
||||
return BlockRenderLayer.CUTOUT_MIPPED;
|
||||
}
|
||||
|
||||
@Override
|
||||
@javax.annotation.Nullable
|
||||
public AxisAlignedBB getCollisionBoundingBox(IBlockState blockState, IBlockAccess worldIn, BlockPos pos) {
|
||||
return NULL_AABB;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPassable(IBlockAccess worldIn, BlockPos pos) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isFullCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int tickRate(World world) {
|
||||
return 100;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumPushReaction getMobilityFlag(IBlockState state) {
|
||||
return EnumPushReaction.DESTROY;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos, EntityPlayer player) {
|
||||
return new ItemStack(ItemOkamiSeeds.block, (int) (1));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDrops(NonNullList<ItemStack> drops, IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
|
||||
drops.add(new ItemStack(ItemOkamiSeeds.block, (int) (1)));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void neighborChanged(IBlockState state, World world, BlockPos pos, Block neighborBlock, BlockPos fromPos) {
|
||||
super.neighborChanged(state, world, pos, neighborBlock, fromPos);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
if (world.isBlockIndirectlyGettingPowered(new BlockPos(x, y, z)) > 0) {
|
||||
} else {
|
||||
}
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureBreakBlockUnderCropsForOkami.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateTick(World world, BlockPos pos, IBlockState state, Random random) {
|
||||
super.updateTick(world, pos, state, random);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureOkamiStage0UpdateTick.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockDestroyedByExplosion(World world, BlockPos pos, Explosion e) {
|
||||
super.onBlockDestroyedByExplosion(world, pos, e);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureOkamiStage0BlockDestroyByPlayerBlockDestroyedByPlayer.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,171 @@
|
||||
|
||||
package net.paladrill.paladrillmod.block;
|
||||
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureOkamiStage0UpdateTick;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureOkamiStage0BlockDestroyByPlayerBlockDestroyedByPlayer;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureBreakBlockUnderCropsForOkami;
|
||||
import net.paladrill.paladrillmod.item.ItemOkamiSeeds;
|
||||
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.World;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.Explosion;
|
||||
import net.minecraft.util.math.RayTraceResult;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.AxisAlignedBB;
|
||||
import net.minecraft.util.NonNullList;
|
||||
import net.minecraft.util.BlockRenderLayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.material.EnumPushReaction;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
import java.util.Random;
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockOkamiStage1 extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:okamistage1")
|
||||
public static final Block block = null;
|
||||
public BlockOkamiStage1(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 271);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("okamistage1"));
|
||||
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:okamistage1", "inventory"));
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.PLANTS);
|
||||
setUnlocalizedName("okamistage1");
|
||||
setSoundType(SoundType.PLANT);
|
||||
setHardness(0F);
|
||||
setResistance(0F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
setTickRandomly(true);
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public BlockRenderLayer getBlockLayer() {
|
||||
return BlockRenderLayer.CUTOUT_MIPPED;
|
||||
}
|
||||
|
||||
@Override
|
||||
@javax.annotation.Nullable
|
||||
public AxisAlignedBB getCollisionBoundingBox(IBlockState blockState, IBlockAccess worldIn, BlockPos pos) {
|
||||
return NULL_AABB;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPassable(IBlockAccess worldIn, BlockPos pos) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isFullCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int tickRate(World world) {
|
||||
return 100;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumPushReaction getMobilityFlag(IBlockState state) {
|
||||
return EnumPushReaction.DESTROY;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos, EntityPlayer player) {
|
||||
return new ItemStack(ItemOkamiSeeds.block, (int) (1));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDrops(NonNullList<ItemStack> drops, IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
|
||||
drops.add(new ItemStack(ItemOkamiSeeds.block, (int) (1)));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void neighborChanged(IBlockState state, World world, BlockPos pos, Block neighborBlock, BlockPos fromPos) {
|
||||
super.neighborChanged(state, world, pos, neighborBlock, fromPos);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
if (world.isBlockIndirectlyGettingPowered(new BlockPos(x, y, z)) > 0) {
|
||||
} else {
|
||||
}
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureBreakBlockUnderCropsForOkami.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateTick(World world, BlockPos pos, IBlockState state, Random random) {
|
||||
super.updateTick(world, pos, state, random);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureOkamiStage0UpdateTick.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockDestroyedByExplosion(World world, BlockPos pos, Explosion e) {
|
||||
super.onBlockDestroyedByExplosion(world, pos, e);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureOkamiStage0BlockDestroyByPlayerBlockDestroyedByPlayer.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,170 @@
|
||||
|
||||
package net.paladrill.paladrillmod.block;
|
||||
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureOkamiStage0UpdateTick;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureBreakBlockUnderCropsForOkami;
|
||||
import net.paladrill.paladrillmod.item.ItemOkamiSeeds;
|
||||
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.World;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.Explosion;
|
||||
import net.minecraft.util.math.RayTraceResult;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.AxisAlignedBB;
|
||||
import net.minecraft.util.NonNullList;
|
||||
import net.minecraft.util.BlockRenderLayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.material.EnumPushReaction;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
import java.util.Random;
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockOkamiStage2 extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:okamistage2")
|
||||
public static final Block block = null;
|
||||
public BlockOkamiStage2(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 272);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("okamistage2"));
|
||||
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:okamistage2", "inventory"));
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.PLANTS);
|
||||
setUnlocalizedName("okamistage2");
|
||||
setSoundType(SoundType.PLANT);
|
||||
setHardness(0F);
|
||||
setResistance(0F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
setTickRandomly(true);
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public BlockRenderLayer getBlockLayer() {
|
||||
return BlockRenderLayer.CUTOUT_MIPPED;
|
||||
}
|
||||
|
||||
@Override
|
||||
@javax.annotation.Nullable
|
||||
public AxisAlignedBB getCollisionBoundingBox(IBlockState blockState, IBlockAccess worldIn, BlockPos pos) {
|
||||
return NULL_AABB;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPassable(IBlockAccess worldIn, BlockPos pos) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isFullCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int tickRate(World world) {
|
||||
return 100;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumPushReaction getMobilityFlag(IBlockState state) {
|
||||
return EnumPushReaction.DESTROY;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos, EntityPlayer player) {
|
||||
return new ItemStack(ItemOkamiSeeds.block, (int) (1));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDrops(NonNullList<ItemStack> drops, IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
|
||||
drops.add(new ItemStack(ItemOkamiSeeds.block, (int) (1)));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void neighborChanged(IBlockState state, World world, BlockPos pos, Block neighborBlock, BlockPos fromPos) {
|
||||
super.neighborChanged(state, world, pos, neighborBlock, fromPos);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
if (world.isBlockIndirectlyGettingPowered(new BlockPos(x, y, z)) > 0) {
|
||||
} else {
|
||||
}
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureBreakBlockUnderCropsForOkami.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateTick(World world, BlockPos pos, IBlockState state, Random random) {
|
||||
super.updateTick(world, pos, state, random);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureOkamiStage0UpdateTick.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockDestroyedByExplosion(World world, BlockPos pos, Explosion e) {
|
||||
super.onBlockDestroyedByExplosion(world, pos, e);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureBreakBlockUnderCropsForOkami.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,172 @@
|
||||
|
||||
package net.paladrill.paladrillmod.block;
|
||||
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureOkamiStage3Casser;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureOkamiStage0BlockDestroyByPlayerBlockDestroyedByPlayer;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureBreakBlockUnderCropsForOkami;
|
||||
import net.paladrill.paladrillmod.item.ItemOkamiSeeds;
|
||||
import net.paladrill.paladrillmod.item.ItemOkamiFruit;
|
||||
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.World;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.Explosion;
|
||||
import net.minecraft.util.math.RayTraceResult;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.AxisAlignedBB;
|
||||
import net.minecraft.util.NonNullList;
|
||||
import net.minecraft.util.BlockRenderLayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.material.EnumPushReaction;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockOkamiStage3 extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:okamistage3")
|
||||
public static final Block block = null;
|
||||
public BlockOkamiStage3(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 273);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("okamistage3"));
|
||||
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:okamistage3", "inventory"));
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.PLANTS);
|
||||
setUnlocalizedName("okamistage3");
|
||||
setSoundType(SoundType.PLANT);
|
||||
setHardness(0F);
|
||||
setResistance(0F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
setTickRandomly(true);
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public BlockRenderLayer getBlockLayer() {
|
||||
return BlockRenderLayer.CUTOUT_MIPPED;
|
||||
}
|
||||
|
||||
@Override
|
||||
@javax.annotation.Nullable
|
||||
public AxisAlignedBB getCollisionBoundingBox(IBlockState blockState, IBlockAccess worldIn, BlockPos pos) {
|
||||
return NULL_AABB;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPassable(IBlockAccess worldIn, BlockPos pos) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isFullCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int tickRate(World world) {
|
||||
return 100;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumPushReaction getMobilityFlag(IBlockState state) {
|
||||
return EnumPushReaction.DESTROY;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos, EntityPlayer player) {
|
||||
return new ItemStack(ItemOkamiSeeds.block, (int) (1));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDrops(NonNullList<ItemStack> drops, IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
|
||||
drops.add(new ItemStack(ItemOkamiFruit.block, (int) (1)));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void neighborChanged(IBlockState state, World world, BlockPos pos, Block neighborBlock, BlockPos fromPos) {
|
||||
super.neighborChanged(state, world, pos, neighborBlock, fromPos);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
if (world.isBlockIndirectlyGettingPowered(new BlockPos(x, y, z)) > 0) {
|
||||
} else {
|
||||
}
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureBreakBlockUnderCropsForOkami.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean removedByPlayer(IBlockState state, World world, BlockPos pos, EntityPlayer entity, boolean willHarvest) {
|
||||
boolean retval = super.removedByPlayer(state, world, pos, entity, willHarvest);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureOkamiStage3Casser.executeProcedure($_dependencies);
|
||||
}
|
||||
return retval;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockDestroyedByExplosion(World world, BlockPos pos, Explosion e) {
|
||||
super.onBlockDestroyedByExplosion(world, pos, e);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureOkamiStage0BlockDestroyByPlayerBlockDestroyedByPlayer.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+171
@@ -0,0 +1,171 @@
|
||||
|
||||
package net.paladrill.paladrillmod.block;
|
||||
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureOrangeBlueStage4BlockDestroyedByPlayer;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureOrangeBlueStage0UpdateTick;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureBreakBlockUnderCropsForOrangeBlue;
|
||||
import net.paladrill.paladrillmod.item.ItemOrangeBlueSeeds;
|
||||
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.World;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.Explosion;
|
||||
import net.minecraft.util.math.RayTraceResult;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.AxisAlignedBB;
|
||||
import net.minecraft.util.NonNullList;
|
||||
import net.minecraft.util.BlockRenderLayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.material.EnumPushReaction;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
import java.util.Random;
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockOrangeBlueStage0 extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:orangebluestage0")
|
||||
public static final Block block = null;
|
||||
public BlockOrangeBlueStage0(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 196);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("orangebluestage0"));
|
||||
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:orangebluestage0", "inventory"));
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.PLANTS);
|
||||
setUnlocalizedName("orangebluestage0");
|
||||
setSoundType(SoundType.PLANT);
|
||||
setHardness(0F);
|
||||
setResistance(0F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
setTickRandomly(true);
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public BlockRenderLayer getBlockLayer() {
|
||||
return BlockRenderLayer.TRANSLUCENT;
|
||||
}
|
||||
|
||||
@Override
|
||||
@javax.annotation.Nullable
|
||||
public AxisAlignedBB getCollisionBoundingBox(IBlockState blockState, IBlockAccess worldIn, BlockPos pos) {
|
||||
return NULL_AABB;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPassable(IBlockAccess worldIn, BlockPos pos) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isFullCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int tickRate(World world) {
|
||||
return 100;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumPushReaction getMobilityFlag(IBlockState state) {
|
||||
return EnumPushReaction.DESTROY;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos, EntityPlayer player) {
|
||||
return new ItemStack(ItemOrangeBlueSeeds.block, (int) (1));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDrops(NonNullList<ItemStack> drops, IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
|
||||
drops.add(new ItemStack(ItemOrangeBlueSeeds.block, (int) (1)));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void neighborChanged(IBlockState state, World world, BlockPos pos, Block neighborBlock, BlockPos fromPos) {
|
||||
super.neighborChanged(state, world, pos, neighborBlock, fromPos);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
if (world.isBlockIndirectlyGettingPowered(new BlockPos(x, y, z)) > 0) {
|
||||
} else {
|
||||
}
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureBreakBlockUnderCropsForOrangeBlue.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateTick(World world, BlockPos pos, IBlockState state, Random random) {
|
||||
super.updateTick(world, pos, state, random);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureOrangeBlueStage0UpdateTick.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockDestroyedByExplosion(World world, BlockPos pos, Explosion e) {
|
||||
super.onBlockDestroyedByExplosion(world, pos, e);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureOrangeBlueStage4BlockDestroyedByPlayer.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+171
@@ -0,0 +1,171 @@
|
||||
|
||||
package net.paladrill.paladrillmod.block;
|
||||
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureOrangeBlueStage0UpdateTick;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureOrangeBlueStage0BlockDestroyByPlayer;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureBreakBlockUnderCropsForOrangeBlue;
|
||||
import net.paladrill.paladrillmod.item.ItemOrangeBlueSeeds;
|
||||
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.World;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.Explosion;
|
||||
import net.minecraft.util.math.RayTraceResult;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.AxisAlignedBB;
|
||||
import net.minecraft.util.NonNullList;
|
||||
import net.minecraft.util.BlockRenderLayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.material.EnumPushReaction;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
import java.util.Random;
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockOrangeBlueStage1 extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:orangebluestage1")
|
||||
public static final Block block = null;
|
||||
public BlockOrangeBlueStage1(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 197);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("orangebluestage1"));
|
||||
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:orangebluestage1", "inventory"));
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.PLANTS);
|
||||
setUnlocalizedName("orangebluestage1");
|
||||
setSoundType(SoundType.PLANT);
|
||||
setHardness(0F);
|
||||
setResistance(0F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
setTickRandomly(true);
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public BlockRenderLayer getBlockLayer() {
|
||||
return BlockRenderLayer.TRANSLUCENT;
|
||||
}
|
||||
|
||||
@Override
|
||||
@javax.annotation.Nullable
|
||||
public AxisAlignedBB getCollisionBoundingBox(IBlockState blockState, IBlockAccess worldIn, BlockPos pos) {
|
||||
return NULL_AABB;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPassable(IBlockAccess worldIn, BlockPos pos) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isFullCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int tickRate(World world) {
|
||||
return 100;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumPushReaction getMobilityFlag(IBlockState state) {
|
||||
return EnumPushReaction.DESTROY;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos, EntityPlayer player) {
|
||||
return new ItemStack(ItemOrangeBlueSeeds.block, (int) (1));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDrops(NonNullList<ItemStack> drops, IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
|
||||
drops.add(new ItemStack(ItemOrangeBlueSeeds.block, (int) (1)));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void neighborChanged(IBlockState state, World world, BlockPos pos, Block neighborBlock, BlockPos fromPos) {
|
||||
super.neighborChanged(state, world, pos, neighborBlock, fromPos);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
if (world.isBlockIndirectlyGettingPowered(new BlockPos(x, y, z)) > 0) {
|
||||
} else {
|
||||
}
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureBreakBlockUnderCropsForOrangeBlue.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateTick(World world, BlockPos pos, IBlockState state, Random random) {
|
||||
super.updateTick(world, pos, state, random);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureOrangeBlueStage0UpdateTick.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockDestroyedByExplosion(World world, BlockPos pos, Explosion e) {
|
||||
super.onBlockDestroyedByExplosion(world, pos, e);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureOrangeBlueStage0BlockDestroyByPlayer.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+171
@@ -0,0 +1,171 @@
|
||||
|
||||
package net.paladrill.paladrillmod.block;
|
||||
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureOrangeBlueStage0UpdateTick;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureOrangeBlueStage0BlockDestroyByPlayer;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureBreakBlockUnderCropsForOrangeBlue;
|
||||
import net.paladrill.paladrillmod.item.ItemOrangeBlueSeeds;
|
||||
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.World;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.Explosion;
|
||||
import net.minecraft.util.math.RayTraceResult;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.AxisAlignedBB;
|
||||
import net.minecraft.util.NonNullList;
|
||||
import net.minecraft.util.BlockRenderLayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.material.EnumPushReaction;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
import java.util.Random;
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockOrangeBlueStage2 extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:orangebluestage2")
|
||||
public static final Block block = null;
|
||||
public BlockOrangeBlueStage2(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 198);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("orangebluestage2"));
|
||||
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:orangebluestage2", "inventory"));
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.PLANTS);
|
||||
setUnlocalizedName("orangebluestage2");
|
||||
setSoundType(SoundType.PLANT);
|
||||
setHardness(0F);
|
||||
setResistance(0F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
setTickRandomly(true);
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public BlockRenderLayer getBlockLayer() {
|
||||
return BlockRenderLayer.TRANSLUCENT;
|
||||
}
|
||||
|
||||
@Override
|
||||
@javax.annotation.Nullable
|
||||
public AxisAlignedBB getCollisionBoundingBox(IBlockState blockState, IBlockAccess worldIn, BlockPos pos) {
|
||||
return NULL_AABB;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPassable(IBlockAccess worldIn, BlockPos pos) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isFullCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int tickRate(World world) {
|
||||
return 100;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumPushReaction getMobilityFlag(IBlockState state) {
|
||||
return EnumPushReaction.DESTROY;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos, EntityPlayer player) {
|
||||
return new ItemStack(ItemOrangeBlueSeeds.block, (int) (1));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDrops(NonNullList<ItemStack> drops, IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
|
||||
drops.add(new ItemStack(ItemOrangeBlueSeeds.block, (int) (1)));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void neighborChanged(IBlockState state, World world, BlockPos pos, Block neighborBlock, BlockPos fromPos) {
|
||||
super.neighborChanged(state, world, pos, neighborBlock, fromPos);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
if (world.isBlockIndirectlyGettingPowered(new BlockPos(x, y, z)) > 0) {
|
||||
} else {
|
||||
}
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureBreakBlockUnderCropsForOrangeBlue.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateTick(World world, BlockPos pos, IBlockState state, Random random) {
|
||||
super.updateTick(world, pos, state, random);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureOrangeBlueStage0UpdateTick.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockDestroyedByExplosion(World world, BlockPos pos, Explosion e) {
|
||||
super.onBlockDestroyedByExplosion(world, pos, e);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureOrangeBlueStage0BlockDestroyByPlayer.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+170
@@ -0,0 +1,170 @@
|
||||
|
||||
package net.paladrill.paladrillmod.block;
|
||||
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureOrangeBlueStage0UpdateTick;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureOrangeBlueStage0BlockDestroyByPlayer;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureBreakBlockUnderCropsForOrangeBlue;
|
||||
import net.paladrill.paladrillmod.item.ItemOrangeBlueSeeds;
|
||||
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.World;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.Explosion;
|
||||
import net.minecraft.util.math.RayTraceResult;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.AxisAlignedBB;
|
||||
import net.minecraft.util.NonNullList;
|
||||
import net.minecraft.util.BlockRenderLayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.material.EnumPushReaction;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
import java.util.Random;
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockOrangeBlueStage3 extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:orangebluestage3")
|
||||
public static final Block block = null;
|
||||
public BlockOrangeBlueStage3(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 199);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("orangebluestage3"));
|
||||
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:orangebluestage3", "inventory"));
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.PLANTS);
|
||||
setUnlocalizedName("orangebluestage3");
|
||||
setSoundType(SoundType.PLANT);
|
||||
setHardness(0F);
|
||||
setResistance(0F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(null);
|
||||
setTickRandomly(true);
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public BlockRenderLayer getBlockLayer() {
|
||||
return BlockRenderLayer.TRANSLUCENT;
|
||||
}
|
||||
|
||||
@Override
|
||||
@javax.annotation.Nullable
|
||||
public AxisAlignedBB getCollisionBoundingBox(IBlockState blockState, IBlockAccess worldIn, BlockPos pos) {
|
||||
return NULL_AABB;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPassable(IBlockAccess worldIn, BlockPos pos) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isFullCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int tickRate(World world) {
|
||||
return 100;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumPushReaction getMobilityFlag(IBlockState state) {
|
||||
return EnumPushReaction.DESTROY;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos, EntityPlayer player) {
|
||||
return new ItemStack(ItemOrangeBlueSeeds.block, (int) (1));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDrops(NonNullList<ItemStack> drops, IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
|
||||
drops.add(new ItemStack(ItemOrangeBlueSeeds.block, (int) (1)));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void neighborChanged(IBlockState state, World world, BlockPos pos, Block neighborBlock, BlockPos fromPos) {
|
||||
super.neighborChanged(state, world, pos, neighborBlock, fromPos);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
if (world.isBlockIndirectlyGettingPowered(new BlockPos(x, y, z)) > 0) {
|
||||
} else {
|
||||
}
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureBreakBlockUnderCropsForOrangeBlue.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateTick(World world, BlockPos pos, IBlockState state, Random random) {
|
||||
super.updateTick(world, pos, state, random);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureOrangeBlueStage0UpdateTick.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockDestroyedByExplosion(World world, BlockPos pos, Explosion e) {
|
||||
super.onBlockDestroyedByExplosion(world, pos, e);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureOrangeBlueStage0BlockDestroyByPlayer.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+171
@@ -0,0 +1,171 @@
|
||||
|
||||
package net.paladrill.paladrillmod.block;
|
||||
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureOrangeBlueStage4BlockDestroyedByPlayer2;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureOrangeBlueStage0BlockDestroyByPlayer;
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureBreakBlockUnderCropsForOrangeBlue;
|
||||
import net.paladrill.paladrillmod.item.ItemOrangeBlueFruit;
|
||||
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.World;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.Explosion;
|
||||
import net.minecraft.util.math.RayTraceResult;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.AxisAlignedBB;
|
||||
import net.minecraft.util.NonNullList;
|
||||
import net.minecraft.util.BlockRenderLayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.material.EnumPushReaction;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockOrangeBlueStage4 extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:orangebluestage4")
|
||||
public static final Block block = null;
|
||||
public BlockOrangeBlueStage4(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 200);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("orangebluestage4"));
|
||||
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:orangebluestage4", "inventory"));
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.PLANTS);
|
||||
setUnlocalizedName("orangebluestage4");
|
||||
setSoundType(SoundType.PLANT);
|
||||
setHardness(0F);
|
||||
setResistance(0F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
setTickRandomly(true);
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public BlockRenderLayer getBlockLayer() {
|
||||
return BlockRenderLayer.TRANSLUCENT;
|
||||
}
|
||||
|
||||
@Override
|
||||
@javax.annotation.Nullable
|
||||
public AxisAlignedBB getCollisionBoundingBox(IBlockState blockState, IBlockAccess worldIn, BlockPos pos) {
|
||||
return NULL_AABB;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPassable(IBlockAccess worldIn, BlockPos pos) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isFullCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int tickRate(World world) {
|
||||
return 100;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumPushReaction getMobilityFlag(IBlockState state) {
|
||||
return EnumPushReaction.DESTROY;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos, EntityPlayer player) {
|
||||
return new ItemStack(ItemOrangeBlueFruit.block, (int) (1));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDrops(NonNullList<ItemStack> drops, IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
|
||||
drops.add(new ItemStack(ItemOrangeBlueFruit.block, (int) (1)));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void neighborChanged(IBlockState state, World world, BlockPos pos, Block neighborBlock, BlockPos fromPos) {
|
||||
super.neighborChanged(state, world, pos, neighborBlock, fromPos);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
if (world.isBlockIndirectlyGettingPowered(new BlockPos(x, y, z)) > 0) {
|
||||
} else {
|
||||
}
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureBreakBlockUnderCropsForOrangeBlue.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean removedByPlayer(IBlockState state, World world, BlockPos pos, EntityPlayer entity, boolean willHarvest) {
|
||||
boolean retval = super.removedByPlayer(state, world, pos, entity, willHarvest);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureOrangeBlueStage4BlockDestroyedByPlayer2.executeProcedure($_dependencies);
|
||||
}
|
||||
return retval;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockDestroyedByExplosion(World world, BlockPos pos, Explosion e) {
|
||||
super.onBlockDestroyedByExplosion(world, pos, e);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedureOrangeBlueStage0BlockDestroyByPlayer.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+251
@@ -0,0 +1,251 @@
|
||||
|
||||
package net.paladrill.paladrillmod.block;
|
||||
|
||||
import net.paladrill.paladrillmod.procedure.ProcedurePaladiumCrusherUpdateTick;
|
||||
import net.paladrill.paladrillmod.gui.GuiPaladiumCrusherGUI;
|
||||
import net.paladrill.paladrillmod.creativetab.TabPalaDrillMod;
|
||||
import net.paladrill.paladrillmod.PaladrillmodMod;
|
||||
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.fml.common.event.FMLInitializationEvent;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.NonNullList;
|
||||
import net.minecraft.util.EnumHand;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.util.EnumBlockRenderType;
|
||||
import net.minecraft.tileentity.TileEntityLockableLoot;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.network.play.server.SPacketUpdateTileEntity;
|
||||
import net.minecraft.network.NetworkManager;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.inventory.ItemStackHelper;
|
||||
import net.minecraft.inventory.InventoryHelper;
|
||||
import net.minecraft.inventory.Container;
|
||||
import net.minecraft.entity.player.InventoryPlayer;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
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.ITileEntityProvider;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
import java.util.Random;
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockPaladiumCrusher extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:paladiumcrusher")
|
||||
public static final Block block = null;
|
||||
public BlockPaladiumCrusher(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 68);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("paladiumcrusher"));
|
||||
elements.items.add(() -> new ItemBlock(block).setRegistryName(block.getRegistryName()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void init(FMLInitializationEvent event) {
|
||||
GameRegistry.registerTileEntity(TileEntityCustom.class, "paladrillmod:tileentitypaladiumcrusher");
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(block), 0,
|
||||
new ModelResourceLocation("paladrillmod:paladiumcrusher", "inventory"));
|
||||
}
|
||||
public static class BlockCustom extends Block implements ITileEntityProvider {
|
||||
public BlockCustom() {
|
||||
super(Material.IRON);
|
||||
setUnlocalizedName("paladiumcrusher");
|
||||
setSoundType(SoundType.METAL);
|
||||
setHardness(1F);
|
||||
setResistance(10F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(255);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TileEntity createNewTileEntity(World worldIn, int meta) {
|
||||
return new TileEntityCustom();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean eventReceived(IBlockState state, World worldIn, BlockPos pos, int eventID, int eventParam) {
|
||||
super.eventReceived(state, worldIn, pos, eventID, eventParam);
|
||||
TileEntity tileentity = worldIn.getTileEntity(pos);
|
||||
return tileentity == null ? false : tileentity.receiveClientEvent(eventID, eventParam);
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumBlockRenderType getRenderType(IBlockState state) {
|
||||
return EnumBlockRenderType.MODEL;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void breakBlock(World world, BlockPos pos, IBlockState state) {
|
||||
TileEntity tileentity = world.getTileEntity(pos);
|
||||
if (tileentity instanceof TileEntityCustom)
|
||||
InventoryHelper.dropInventoryItems(world, pos, (TileEntityCustom) tileentity);
|
||||
world.removeTileEntity(pos);
|
||||
super.breakBlock(world, pos, state);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasComparatorInputOverride(IBlockState state) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getComparatorInputOverride(IBlockState blockState, World worldIn, BlockPos pos) {
|
||||
TileEntity tileentity = worldIn.getTileEntity(pos);
|
||||
if (tileentity instanceof TileEntityCustom)
|
||||
return Container.calcRedstoneFromInventory((TileEntityCustom) tileentity);
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockAdded(World world, BlockPos pos, IBlockState state) {
|
||||
super.onBlockAdded(world, pos, state);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
world.scheduleUpdate(new BlockPos(x, y, z), this, this.tickRate(world));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateTick(World world, BlockPos pos, IBlockState state, Random random) {
|
||||
super.updateTick(world, pos, state, random);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
$_dependencies.put("world", world);
|
||||
ProcedurePaladiumCrusherUpdateTick.executeProcedure($_dependencies);
|
||||
}
|
||||
world.scheduleUpdate(new BlockPos(x, y, z), this, this.tickRate(world));
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer entity, EnumHand hand, EnumFacing direction,
|
||||
float hitX, float hitY, float hitZ) {
|
||||
super.onBlockActivated(world, pos, state, entity, hand, direction, hitX, hitY, hitZ);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
if (entity instanceof EntityPlayer) {
|
||||
((EntityPlayer) entity).openGui(PaladrillmodMod.instance, GuiPaladiumCrusherGUI.GUIID, world, x, y, z);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
public static class TileEntityCustom extends TileEntityLockableLoot {
|
||||
private NonNullList<ItemStack> stacks = NonNullList.<ItemStack>withSize(3, ItemStack.EMPTY);
|
||||
@Override
|
||||
public int getSizeInventory() {
|
||||
return 3;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isEmpty() {
|
||||
for (ItemStack itemstack : this.stacks)
|
||||
if (!itemstack.isEmpty())
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isItemValidForSlot(int index, ItemStack stack) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getStackInSlot(int slot) {
|
||||
return stacks.get(slot);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "container.paladiumcrusher";
|
||||
}
|
||||
|
||||
@Override
|
||||
public void readFromNBT(NBTTagCompound compound) {
|
||||
super.readFromNBT(compound);
|
||||
this.stacks = NonNullList.<ItemStack>withSize(this.getSizeInventory(), ItemStack.EMPTY);
|
||||
if (!this.checkLootAndRead(compound))
|
||||
ItemStackHelper.loadAllItems(compound, this.stacks);
|
||||
}
|
||||
|
||||
@Override
|
||||
public NBTTagCompound writeToNBT(NBTTagCompound compound) {
|
||||
super.writeToNBT(compound);
|
||||
if (!this.checkLootAndWrite(compound))
|
||||
ItemStackHelper.saveAllItems(compound, this.stacks);
|
||||
return compound;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SPacketUpdateTileEntity getUpdatePacket() {
|
||||
return new SPacketUpdateTileEntity(this.pos, 0, this.getUpdateTag());
|
||||
}
|
||||
|
||||
@Override
|
||||
public NBTTagCompound getUpdateTag() {
|
||||
return this.writeToNBT(new NBTTagCompound());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDataPacket(NetworkManager net, SPacketUpdateTileEntity pkt) {
|
||||
this.readFromNBT(pkt.getNbtCompound());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleUpdateTag(NBTTagCompound tag) {
|
||||
this.readFromNBT(tag);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getInventoryStackLimit() {
|
||||
return 64;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getGuiID() {
|
||||
return "paladrillmod:paladiumcrusher";
|
||||
}
|
||||
|
||||
@Override
|
||||
public Container createContainer(InventoryPlayer playerInventory, EntityPlayer playerIn) {
|
||||
return new GuiPaladiumCrusherGUI.GuiContainerMod(this.getWorld(), this.getPos().getX(), this.getPos().getY(), this.getPos().getZ(),
|
||||
playerIn);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected NonNullList<ItemStack> getItems() {
|
||||
return this.stacks;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,116 @@
|
||||
|
||||
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 BlockPaladiumOre extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:paladiumore")
|
||||
public static final Block block = null;
|
||||
public BlockPaladiumOre(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 11);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("paladiumore"));
|
||||
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:paladiumore", "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 < 3; i++) {
|
||||
int x = chunkX + random.nextInt(16);
|
||||
int y = random.nextInt(17) + 1;
|
||||
int z = chunkZ + random.nextInt(16);
|
||||
(new WorldGenMinable(block.getDefaultState(), 4, new com.google.common.base.Predicate<IBlockState>() {
|
||||
public boolean apply(IBlockState blockAt) {
|
||||
boolean blockCriteria = false;
|
||||
IBlockState require;
|
||||
require = Blocks.STONE.getStateFromMeta(0);
|
||||
try {
|
||||
if ((blockAt.getBlock() == require.getBlock())
|
||||
&& (blockAt.getBlock().getMetaFromState(blockAt) == require.getBlock().getMetaFromState(require)))
|
||||
blockCriteria = true;
|
||||
} catch (Exception e) {
|
||||
if (blockAt.getBlock() == require.getBlock())
|
||||
blockCriteria = true;
|
||||
}
|
||||
if (blockAt.getBlock() == Blocks.GRAVEL.getDefaultState().getBlock())
|
||||
blockCriteria = true;
|
||||
require = Blocks.DIRT.getStateFromMeta(0);
|
||||
try {
|
||||
if ((blockAt.getBlock() == require.getBlock())
|
||||
&& (blockAt.getBlock().getMetaFromState(blockAt) == require.getBlock().getMetaFromState(require)))
|
||||
blockCriteria = true;
|
||||
} catch (Exception e) {
|
||||
if (blockAt.getBlock() == require.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("paladiumore");
|
||||
setSoundType(SoundType.STONE);
|
||||
setHarvestLevel("pickaxe", 2);
|
||||
setHardness(5F);
|
||||
setResistance(8F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDrops(NonNullList<ItemStack> drops, IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
|
||||
drops.add(new ItemStack(BlockPaladiumOre.block, (int) (1)));
|
||||
}
|
||||
}
|
||||
}
|
||||
+59
@@ -0,0 +1,59 @@
|
||||
|
||||
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.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
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;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockPaladiumOreBlock extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:paladiumoreblock")
|
||||
public static final Block block = null;
|
||||
public BlockPaladiumOreBlock(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 13);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("paladiumoreblock"));
|
||||
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:paladiumoreblock", "inventory"));
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.IRON);
|
||||
setUnlocalizedName("paladiumoreblock");
|
||||
setSoundType(SoundType.METAL);
|
||||
setHarvestLevel("pickaxe", 2);
|
||||
setHardness(5F);
|
||||
setResistance(10F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
+116
@@ -0,0 +1,116 @@
|
||||
|
||||
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 BlockPaladium_GreenOre extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:paladium_greenore")
|
||||
public static final Block block = null;
|
||||
public BlockPaladium_GreenOre(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 20);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("paladium_greenore"));
|
||||
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:paladium_greenore", "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 < 4; i++) {
|
||||
int x = chunkX + random.nextInt(16);
|
||||
int y = random.nextInt(17) + 1;
|
||||
int z = chunkZ + random.nextInt(16);
|
||||
(new WorldGenMinable(block.getDefaultState(), 4, new com.google.common.base.Predicate<IBlockState>() {
|
||||
public boolean apply(IBlockState blockAt) {
|
||||
boolean blockCriteria = false;
|
||||
IBlockState require;
|
||||
require = Blocks.DIRT.getStateFromMeta(0);
|
||||
try {
|
||||
if ((blockAt.getBlock() == require.getBlock())
|
||||
&& (blockAt.getBlock().getMetaFromState(blockAt) == require.getBlock().getMetaFromState(require)))
|
||||
blockCriteria = true;
|
||||
} catch (Exception e) {
|
||||
if (blockAt.getBlock() == require.getBlock())
|
||||
blockCriteria = true;
|
||||
}
|
||||
if (blockAt.getBlock() == Blocks.GRAVEL.getDefaultState().getBlock())
|
||||
blockCriteria = true;
|
||||
require = Blocks.STONE.getStateFromMeta(0);
|
||||
try {
|
||||
if ((blockAt.getBlock() == require.getBlock())
|
||||
&& (blockAt.getBlock().getMetaFromState(blockAt) == require.getBlock().getMetaFromState(require)))
|
||||
blockCriteria = true;
|
||||
} catch (Exception e) {
|
||||
if (blockAt.getBlock() == require.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("paladium_greenore");
|
||||
setSoundType(SoundType.STONE);
|
||||
setHarvestLevel("pickaxe", 2);
|
||||
setHardness(5.5F);
|
||||
setResistance(9F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDrops(NonNullList<ItemStack> drops, IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
|
||||
drops.add(new ItemStack(BlockPaladium_GreenOre.block, (int) (1)));
|
||||
}
|
||||
}
|
||||
}
|
||||
+59
@@ -0,0 +1,59 @@
|
||||
|
||||
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.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
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;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockPaladium_GreenOreBlock extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:paladium_greenoreblock")
|
||||
public static final Block block = null;
|
||||
public BlockPaladium_GreenOreBlock(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 22);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("paladium_greenoreblock"));
|
||||
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:paladium_greenoreblock", "inventory"));
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.IRON);
|
||||
setUnlocalizedName("paladium_greenoreblock");
|
||||
setSoundType(SoundType.METAL);
|
||||
setHarvestLevel("pickaxe", 2);
|
||||
setHardness(5F);
|
||||
setResistance(10F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,181 @@
|
||||
|
||||
package net.paladrill.paladrillmod.block;
|
||||
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureSlimePadEntityCollidesInTheBlock;
|
||||
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.World;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.IStringSerializable;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.util.BlockRenderLayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemSlab;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.client.renderer.block.model.Variant;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.properties.PropertyEnum;
|
||||
import net.minecraft.block.properties.IProperty;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.BlockSlab;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
import java.util.Random;
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockSlimePad extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:slimepad")
|
||||
public static final Block block = null;
|
||||
@GameRegistry.ObjectHolder("paladrillmod:slimepad_double")
|
||||
public static final Block block_slab_double = null;
|
||||
public BlockSlimePad(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 65);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("slimepad"));
|
||||
elements.blocks.add(() -> new BlockCustom.Double().setRegistryName("slimepad_double"));
|
||||
elements.items.add(() -> new ItemSlab(block, (BlockSlab) block, (BlockSlab) block_slab_double).setRegistryName(block.getRegistryName()));
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(block), 0, new ModelResourceLocation("paladrillmod:slimepad", "inventory"));
|
||||
}
|
||||
public static class BlockCustom extends BlockSlab {
|
||||
public BlockCustom() {
|
||||
super(Material.SPONGE);
|
||||
setUnlocalizedName("slimepad");
|
||||
setSoundType(SoundType.SLIME);
|
||||
setHarvestLevel("pickaxe", 1);
|
||||
setHardness(1F);
|
||||
setResistance(10F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
IBlockState state = this.blockState.getBaseState().withProperty(VARIANT, BlockCustom.Variant.DEFAULT);
|
||||
if (!this.isDouble())
|
||||
state = state.withProperty(BlockSlab.HALF, EnumBlockHalf.BOTTOM);
|
||||
this.setDefaultState(state);
|
||||
this.useNeighborBrightness = !this.isDouble();
|
||||
setTickRandomly(true);
|
||||
}
|
||||
public static final PropertyEnum<BlockCustom.Variant> VARIANT = PropertyEnum.<BlockCustom.Variant>create("variant",
|
||||
BlockCustom.Variant.class);
|
||||
@Override
|
||||
public Item getItemDropped(IBlockState state, Random rand, int fortune) {
|
||||
return Item.getItemFromBlock(block);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getItem(World worldIn, BlockPos pos, IBlockState state) {
|
||||
return new ItemStack(block);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected net.minecraft.block.state.BlockStateContainer createBlockState() {
|
||||
return this.isDouble()
|
||||
? new net.minecraft.block.state.BlockStateContainer(this, new IProperty[]{VARIANT})
|
||||
: new net.minecraft.block.state.BlockStateContainer(this, new IProperty[]{HALF, VARIANT});
|
||||
}
|
||||
|
||||
@Override
|
||||
public IBlockState getStateFromMeta(int meta) {
|
||||
if (this.isDouble()) {
|
||||
return this.getDefaultState();
|
||||
} else {
|
||||
return this.getDefaultState().withProperty(HALF, BlockSlab.EnumBlockHalf.values()[meta % 2]);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMetaFromState(IBlockState state) {
|
||||
if (this.isDouble()) {
|
||||
return 0;
|
||||
} else {
|
||||
return state.getValue(HALF).ordinal();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUnlocalizedName(int meta) {
|
||||
return super.getUnlocalizedName();
|
||||
}
|
||||
|
||||
@Override
|
||||
public IProperty<?> getVariantProperty() {
|
||||
return VARIANT;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Comparable<?> getTypeForItem(ItemStack stack) {
|
||||
return BlockCustom.Variant.DEFAULT;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isDouble() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean doesSideBlockRendering(IBlockState state, IBlockAccess world, BlockPos pos, EnumFacing face) {
|
||||
if (isDouble())
|
||||
return true;
|
||||
return super.doesSideBlockRendering(state, world, pos, face);
|
||||
}
|
||||
public enum Variant implements IStringSerializable {
|
||||
DEFAULT;
|
||||
public String getName() {
|
||||
return "default";
|
||||
}
|
||||
}
|
||||
|
||||
public static class Double extends BlockCustom {
|
||||
@Override
|
||||
public boolean isDouble() {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public BlockRenderLayer getBlockLayer() {
|
||||
return BlockRenderLayer.CUTOUT;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onEntityCollidedWithBlock(World world, BlockPos pos, IBlockState state, Entity entity) {
|
||||
super.onEntityCollidedWithBlock(world, pos, state, entity);
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("entity", entity);
|
||||
$_dependencies.put("x", x);
|
||||
$_dependencies.put("y", y);
|
||||
$_dependencies.put("z", z);
|
||||
ProcedureSlimePadEntityCollidesInTheBlock.executeProcedure($_dependencies);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,126 @@
|
||||
|
||||
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 BlockTitaneOre extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:titaneore")
|
||||
public static final Block block = null;
|
||||
public BlockTitaneOre(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 28);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("titaneore"));
|
||||
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:titaneore", "inventory"));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void generateWorld(Random random, int chunkX, int chunkZ, World world, int dimID, IChunkGenerator cg, IChunkProvider cp) {
|
||||
boolean dimensionCriteria = false;
|
||||
if (dimID == 1)
|
||||
dimensionCriteria = true;
|
||||
if (dimID == 0)
|
||||
dimensionCriteria = true;
|
||||
if (!dimensionCriteria)
|
||||
return;
|
||||
for (int i = 0; i < 6; i++) {
|
||||
int x = chunkX + random.nextInt(16);
|
||||
int y = random.nextInt(18) + 1;
|
||||
int z = chunkZ + random.nextInt(16);
|
||||
(new WorldGenMinable(block.getDefaultState(), 4, new com.google.common.base.Predicate<IBlockState>() {
|
||||
public boolean apply(IBlockState blockAt) {
|
||||
boolean blockCriteria = false;
|
||||
IBlockState require;
|
||||
if (blockAt.getBlock() == Blocks.GRAVEL.getDefaultState().getBlock())
|
||||
blockCriteria = true;
|
||||
require = Blocks.DIRT.getStateFromMeta(0);
|
||||
try {
|
||||
if ((blockAt.getBlock() == require.getBlock())
|
||||
&& (blockAt.getBlock().getMetaFromState(blockAt) == require.getBlock().getMetaFromState(require)))
|
||||
blockCriteria = true;
|
||||
} catch (Exception e) {
|
||||
if (blockAt.getBlock() == require.getBlock())
|
||||
blockCriteria = true;
|
||||
}
|
||||
require = Blocks.STONE.getStateFromMeta(0);
|
||||
try {
|
||||
if ((blockAt.getBlock() == require.getBlock())
|
||||
&& (blockAt.getBlock().getMetaFromState(blockAt) == require.getBlock().getMetaFromState(require)))
|
||||
blockCriteria = true;
|
||||
} catch (Exception e) {
|
||||
if (blockAt.getBlock() == require.getBlock())
|
||||
blockCriteria = true;
|
||||
}
|
||||
require = Blocks.MONSTER_EGG.getStateFromMeta(0);
|
||||
try {
|
||||
if ((blockAt.getBlock() == require.getBlock())
|
||||
&& (blockAt.getBlock().getMetaFromState(blockAt) == require.getBlock().getMetaFromState(require)))
|
||||
blockCriteria = true;
|
||||
} catch (Exception e) {
|
||||
if (blockAt.getBlock() == require.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("titaneore");
|
||||
setSoundType(SoundType.STONE);
|
||||
setHarvestLevel("pickaxe", 2);
|
||||
setHardness(4F);
|
||||
setResistance(6F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDrops(NonNullList<ItemStack> drops, IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
|
||||
drops.add(new ItemStack(BlockTitaneOre.block, (int) (1)));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
|
||||
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.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
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;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockTitaneOreBlock extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:titaneoreblock")
|
||||
public static final Block block = null;
|
||||
public BlockTitaneOreBlock(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 30);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("titaneoreblock"));
|
||||
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:titaneoreblock", "inventory"));
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.IRON);
|
||||
setUnlocalizedName("titaneoreblock");
|
||||
setSoundType(SoundType.METAL);
|
||||
setHarvestLevel("pickaxe", 2);
|
||||
setHardness(5F);
|
||||
setResistance(10F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,114 @@
|
||||
|
||||
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 BlockTrixiumOre extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:trixiumore")
|
||||
public static final Block block = null;
|
||||
public BlockTrixiumOre(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 43);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("trixiumore"));
|
||||
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:trixiumore", "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 < 3; i++) {
|
||||
int x = chunkX + random.nextInt(16);
|
||||
int y = random.nextInt(24) + 1;
|
||||
int z = chunkZ + random.nextInt(16);
|
||||
(new WorldGenMinable(block.getDefaultState(), 8, new com.google.common.base.Predicate<IBlockState>() {
|
||||
public boolean apply(IBlockState blockAt) {
|
||||
boolean blockCriteria = false;
|
||||
IBlockState require;
|
||||
require = Blocks.DIRT.getStateFromMeta(0);
|
||||
try {
|
||||
if ((blockAt.getBlock() == require.getBlock())
|
||||
&& (blockAt.getBlock().getMetaFromState(blockAt) == require.getBlock().getMetaFromState(require)))
|
||||
blockCriteria = true;
|
||||
} catch (Exception e) {
|
||||
if (blockAt.getBlock() == require.getBlock())
|
||||
blockCriteria = true;
|
||||
}
|
||||
require = Blocks.STONE.getStateFromMeta(0);
|
||||
try {
|
||||
if ((blockAt.getBlock() == require.getBlock())
|
||||
&& (blockAt.getBlock().getMetaFromState(blockAt) == require.getBlock().getMetaFromState(require)))
|
||||
blockCriteria = true;
|
||||
} catch (Exception e) {
|
||||
if (blockAt.getBlock() == require.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("trixiumore");
|
||||
setSoundType(SoundType.STONE);
|
||||
setHarvestLevel("pickaxe", 2);
|
||||
setHardness(2F);
|
||||
setResistance(11.067792686322136F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDrops(NonNullList<ItemStack> drops, IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
|
||||
drops.add(new ItemStack(BlockTrixiumOre.block, (int) (1)));
|
||||
}
|
||||
}
|
||||
}
|
||||
+59
@@ -0,0 +1,59 @@
|
||||
|
||||
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.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
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;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockTrixiumOreBlock extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:trixiumoreblock")
|
||||
public static final Block block = null;
|
||||
public BlockTrixiumOreBlock(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 45);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustom().setRegistryName("trixiumoreblock"));
|
||||
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:trixiumoreblock", "inventory"));
|
||||
}
|
||||
public static class BlockCustom extends Block {
|
||||
public BlockCustom() {
|
||||
super(Material.IRON);
|
||||
setUnlocalizedName("trixiumoreblock");
|
||||
setSoundType(SoundType.METAL);
|
||||
setHarvestLevel("pickaxe", 2);
|
||||
setHardness(5F);
|
||||
setResistance(10F);
|
||||
setLightLevel(0F);
|
||||
setLightOpacity(0);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,112 @@
|
||||
|
||||
package net.paladrill.paladrillmod.block;
|
||||
|
||||
import net.paladrill.paladrillmod.procedure.ProcedureXpBushPlantRightClicked;
|
||||
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.common.EnumPlantType;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.util.math.RayTraceResult;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.NonNullList;
|
||||
import net.minecraft.util.EnumHand;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.creativetab.CreativeTabs;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.BlockFlower;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
@ElementsPaladrillmodMod.ModElement.Tag
|
||||
public class BlockXpBush extends ElementsPaladrillmodMod.ModElement {
|
||||
@GameRegistry.ObjectHolder("paladrillmod:xpbush")
|
||||
public static final Block block = null;
|
||||
public BlockXpBush(ElementsPaladrillmodMod instance) {
|
||||
super(instance, 49);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initElements() {
|
||||
elements.blocks.add(() -> new BlockCustomFlower());
|
||||
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:xpbush", "inventory"));
|
||||
}
|
||||
public static class BlockCustomFlower extends BlockFlower {
|
||||
public BlockCustomFlower() {
|
||||
setSoundType(SoundType.PLANT);
|
||||
setCreativeTab(TabPalaDrillMod.tab);
|
||||
setHardness(0F);
|
||||
setResistance(0F);
|
||||
setLightLevel(0F);
|
||||
setUnlocalizedName("xpbush");
|
||||
setRegistryName("xpbush");
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isReplaceable(IBlockAccess blockAccess, BlockPos pos) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDrops(NonNullList<ItemStack> drops, IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
|
||||
drops.add(new ItemStack(this));
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos, EntityPlayer player) {
|
||||
return new ItemStack(Item.getItemFromBlock(this), 1, this.damageDropped(state));
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumPlantType getPlantType(IBlockAccess world, BlockPos pos) {
|
||||
return EnumPlantType.Plains;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BlockFlower.EnumFlowerColor getBlockType() {
|
||||
return BlockFlower.EnumFlowerColor.YELLOW;
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void getSubBlocks(CreativeTabs tab, net.minecraft.util.NonNullList<ItemStack> list) {
|
||||
for (BlockFlower.EnumFlowerType blockflower$enumflowertype : BlockFlower.EnumFlowerType.getTypes(this.getBlockType())) {
|
||||
list.add(new ItemStack(this, 1, blockflower$enumflowertype.getMeta()));
|
||||
}
|
||||
}
|
||||
|
||||
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer entity, EnumHand hand, EnumFacing direction,
|
||||
float hitX, float hitY, float hitZ) {
|
||||
int x = pos.getX();
|
||||
int y = pos.getY();
|
||||
int z = pos.getZ();
|
||||
{
|
||||
Map<String, Object> $_dependencies = new HashMap<>();
|
||||
$_dependencies.put("entity", entity);
|
||||
ProcedureXpBushPlantRightClicked.executeProcedure($_dependencies);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user