Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.mrcyberdragon.lightthenight.blocks;
- import com.mrcyberdragon.lightthenight.Main;
- import com.mrcyberdragon.lightthenight.init.ModBlocks;
- import com.mrcyberdragon.lightthenight.init.ModItems;
- import com.mrcyberdragon.lightthenight.util.IHasModel;
- import net.minecraft.block.Block;
- import net.minecraft.block.SoundType;
- import net.minecraft.block.material.Material;
- import net.minecraft.block.state.IBlockState;
- import net.minecraft.client.resources.I18n;
- import net.minecraft.client.util.ITooltipFlag;
- import net.minecraft.creativetab.CreativeTabs;
- import net.minecraft.init.Blocks;
- import net.minecraft.item.Item;
- import net.minecraft.item.ItemBlock;
- import net.minecraft.item.ItemStack;
- import net.minecraft.util.EnumParticleTypes;
- import net.minecraft.util.math.BlockPos;
- import net.minecraft.world.World;
- import net.minecraftforge.fml.relauncher.Side;
- import net.minecraftforge.fml.relauncher.SideOnly;
- import javax.annotation.Nullable;
- import java.util.List;
- import java.util.Random;
- public class BlockSwampMud extends Block implements IHasModel {
- public BlockSwampMud(String name, Material material){
- super(material);
- setUnlocalizedName(name);
- setRegistryName(name);
- setCreativeTab(CreativeTabs.DECORATIONS);
- this.setSoundType(SoundType.GROUND);
- this.setTickRandomly(true);
- ModBlocks.BLOCKS.add(this);
- ModItems.ITEMS.add(new ItemBlock(this).setRegistryName(this.getRegistryName()));
- }
- @Override
- public void addInformation(ItemStack stack, @Nullable World worldIn, List<String> list, ITooltipFlag flagIn)
- {
- list.add(I18n.format("Bubbles under water and produces colored flames at night"));
- }
- @Override
- public int tickRate(World worldIn) {
- return 0;
- }
- public void updateTick(World worldIn, BlockPos pos, IBlockState state, Random rand) {
- super.updateTick(worldIn, pos, state, rand);
- if (worldIn.getWorldTime() > 13000) {
- if (worldIn.getBlockState(new BlockPos(pos.getX(), pos.getY() + 1, pos.getZ())).getBlock() == Blocks.WATER && (worldIn.getBlockState(new BlockPos(pos.getX(), pos.getY() + 2, pos.getZ())).getBlock() == Blocks.AIR||worldIn.getBlockState(new BlockPos(pos.getX(), pos.getY() + 2, pos.getZ())).getBlock() == Blocks.WATER)) {
- if (worldIn.getBlockState(new BlockPos(pos.getX(), pos.getY() + 3, pos.getZ())).getBlock() == Blocks.AIR) {
- worldIn.setBlockState(new BlockPos(pos.getX(), pos.getY() + 3, pos.getZ()), ModBlocks.WISP_FLAME.getDefaultState());
- }
- } else {
- if (worldIn.getBlockState(new BlockPos(pos.getX(), pos.getY() + 3, pos.getZ())).getBlock() == ModBlocks.WISP_FLAME) {
- worldIn.setBlockToAir(new BlockPos(pos.getX(), pos.getY() + 3, pos.getZ()));
- }
- }
- } else {
- if (worldIn.getBlockState(new BlockPos(pos.getX(), pos.getY() + 3, pos.getZ())).getBlock() == ModBlocks.WISP_FLAME) {
- worldIn.setBlockToAir(new BlockPos(pos.getX(), pos.getY() + 3, pos.getZ()));
- }
- }
- }
- @Override
- public void registerModels() {
- Main.proxy.registerItemRenderer(Item.getItemFromBlock(this), 0, "inventory");
- }
- @SideOnly(Side.CLIENT)
- public void randomDisplayTick(IBlockState stateIn, World worldIn, BlockPos pos, Random rand){
- if(worldIn.getBlockState(new BlockPos(pos.getX(), pos.getY()+1, pos.getZ())).getBlock()==Blocks.WATER){
- double e0 = rand.nextInt(10)/10.0D;
- double e1 = rand.nextInt(10)/10.0D;
- double e2 = rand.nextInt(5)/10.0D;
- double d0 = (double)pos.getX() + e0;
- double d1 = (double)pos.getY() + 1;
- double d2 = (double)pos.getZ() + e1;
- double d3 = e2;
- worldIn.spawnParticle(EnumParticleTypes.WATER_BUBBLE, d0, d1, d2, 0, d3, 0);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement