WillTheGameDecoder

Untitled

Jul 25th, 2018
275
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.98 KB | None | 0 0
  1. package com.willtgd.testmod.blocks;
  2.  
  3. import java.util.Random;
  4.  
  5. import com.willtgd.testmod.init.ModBlocks;
  6. import com.willtgd.testmod.init.ModItems;
  7.  
  8. import net.minecraft.block.Block;
  9. import net.minecraft.block.SoundType;
  10. import net.minecraft.block.material.Material;
  11. import net.minecraft.block.state.IBlockState;
  12. import net.minecraft.creativetab.CreativeTabs;
  13. import net.minecraft.item.ItemBlock;
  14. import net.minecraft.util.math.BlockPos;
  15. import net.minecraft.world.IBlockAccess;
  16. import net.minecraft.world.World;
  17.  
  18. public class Teleporter extends Block {
  19.    
  20.     public Teleporter(String name, float hardness, float blastHardness, String harvest, int harvestValue, CreativeTabs tabType, SoundType soundType, Material material) {
  21.         super(material);
  22.         setUnlocalizedName(name);
  23.         setRegistryName(name);
  24.         setCreativeTab(tabType);
  25.         setSoundType(soundType);
  26.         setHardness(hardness);
  27.         setResistance(blastHardness);
  28.         setHarvestLevel(harvest,harvestValue);
  29.        
  30.         ModBlocks.BLOCKS.add(this);
  31.         ModItems.ITEMS.add(new ItemBlock(this).setRegistryName(this.getRegistryName()));
  32.     }
  33.    
  34.     @Override
  35.     public void onNeighborChange(IBlockAccess access, BlockPos pos, BlockPos neighbor) {
  36.         World world = (World)access;
  37.         if (world.isBlockPowered(neighbor)) {
  38.             swapBlocks(world, pos);
  39.         }
  40.     }
  41.    
  42.     @Override
  43.     public void observedNeighborChange(IBlockState state, World world, BlockPos observerPos, Block changedBlock, BlockPos changePos) {
  44.         if (world.isBlockPowered(observerPos)) {
  45.             swapBlocks(world, observerPos);
  46.         }
  47.     }
  48.    
  49.     private void swapBlocks(World world, BlockPos pos) {
  50.         BlockPos up = pos.add(0, 1, 0);
  51.         BlockPos down = pos.add(0, -1, 0);
  52.        
  53.         IBlockState temp = world.getBlockState(up);
  54.        
  55.         world.setBlockState(up, world.getBlockState(down));
  56.         world.setBlockState(down, temp);
  57.     }
  58. }
Advertisement
Add Comment
Please, Sign In to add comment