All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.minecraft.server.BlockDirt Maven / Gradle / Ivy

package net.minecraft.server;

public class BlockDirt extends Block {

  public static final BlockStateEnum VARIANT = BlockStateEnum.of("variant", EnumDirtVariant.class);
  public static final BlockStateBoolean SNOWY = BlockStateBoolean.of("snowy");

  protected BlockDirt() {
    super(Material.EARTH);
    this.j(this.blockStateList.getBlockData().set(BlockDirt.VARIANT, EnumDirtVariant.DIRT).set(BlockDirt.SNOWY, Boolean.valueOf(false)));
    this.a(CreativeModeTab.b);
  }

  public MaterialMapColor g(IBlockData iblockdata) {
    return iblockdata.get(BlockDirt.VARIANT).d();
  }

  public IBlockData updateState(IBlockData iblockdata, IBlockAccess iblockaccess, BlockPosition blockposition) {
    if (iblockdata.get(BlockDirt.VARIANT) == EnumDirtVariant.PODZOL) {
      Block block = iblockaccess.getType(blockposition.up()).getBlock();

      iblockdata = iblockdata.set(BlockDirt.SNOWY, Boolean.valueOf(block == Blocks.SNOW || block == Blocks.SNOW_LAYER));
    }

    return iblockdata;
  }

  public int getDropData(World world, BlockPosition blockposition) {
    IBlockData iblockdata = world.getType(blockposition);

    return iblockdata.getBlock() != this ? 0 : iblockdata.get(BlockDirt.VARIANT).a();
  }

  public IBlockData fromLegacyData(int i) {
    return this.getBlockData().set(BlockDirt.VARIANT, EnumDirtVariant.a(i));
  }

  public int toLegacyData(IBlockData iblockdata) {
    return iblockdata.get(BlockDirt.VARIANT).a();
  }

  protected BlockStateList getStateList() {
    return new BlockStateList(this, BlockDirt.VARIANT, BlockDirt.SNOWY);
  }

  public int getDropData(IBlockData iblockdata) {
    EnumDirtVariant blockdirt_enumdirtvariant = iblockdata.get(BlockDirt.VARIANT);

    if (blockdirt_enumdirtvariant == EnumDirtVariant.PODZOL) {
      blockdirt_enumdirtvariant = EnumDirtVariant.DIRT;
    }

    return blockdirt_enumdirtvariant.a();
  }

  public enum EnumDirtVariant implements INamable {

    DIRT(0, "dirt", "default", MaterialMapColor.l), COARSE_DIRT(1, "coarse_dirt", "coarse", MaterialMapColor.l), PODZOL(2, "podzol", MaterialMapColor.J);

    private static final EnumDirtVariant[] d = new EnumDirtVariant[values().length];

    static {
      EnumDirtVariant[] ablockdirt_enumdirtvariant = values();
      int i = ablockdirt_enumdirtvariant.length;

      for (int j = 0; j < i; ++j) {
        EnumDirtVariant blockdirt_enumdirtvariant = ablockdirt_enumdirtvariant[j];

        EnumDirtVariant.d[blockdirt_enumdirtvariant.a()] = blockdirt_enumdirtvariant;
      }

    }

    private final int e;
    private final String f;
    private final String g;
    private final MaterialMapColor h;

    EnumDirtVariant(int i, String s, MaterialMapColor materialmapcolor) {
      this(i, s, s, materialmapcolor);
    }

    EnumDirtVariant(int i, String s, String s1, MaterialMapColor materialmapcolor) {
      this.e = i;
      this.f = s;
      this.g = s1;
      this.h = materialmapcolor;
    }

    public static EnumDirtVariant a(int i) {
      if (i < 0 || i >= EnumDirtVariant.d.length) {
        i = 0;
      }

      return EnumDirtVariant.d[i];
    }

    public int a() {
      return this.e;
    }

    public String c() {
      return this.g;
    }

    public MaterialMapColor d() {
      return this.h;
    }

    public String toString() {
      return this.f;
    }

    public String getName() {
      return this.f;
    }
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy