Package org.tmatesoft.hg.internal

Examples of org.tmatesoft.hg.internal.ConfigFileParser$Block


    else return AlmostBoolean.match(block.material.isSolid());
  }

  @Override
  public AlmostBoolean isBlockLiquid(final int id) {
    final Block block = Block.byId[id];
    if (block == null || block.material == null) return AlmostBoolean.MAYBE;
    else return AlmostBoolean.match(block.material.isLiquid());
  }
View Full Code Here


      }
      return null;
    }

    try {
      Block proxy;
      switch(use) {
        case None:
          proxy = (Block) enc.create(); break;
        case Id:
          proxy = (Block) enc.create(use.constructor, new Object[] {parent.id}); break;
        case IdAndStep:
          {
            boolean field2;
            if (parent instanceof BlockStepAbstract) {
              field2 = ((Boolean)getField(BlockStepAbstract.class, parent, "a")).booleanValue();
            } else if (parent instanceof BlockFurnace) {
              field2 = ((Boolean)getField(parent, "b")).booleanValue();
            } else if (parent instanceof BlockRedstoneTorch) {
              field2 = ((Boolean)getField(parent, "isOn")).booleanValue();
            } else if (parent instanceof BlockDiodeAbstract) {
              field2 = ((Boolean)getField(BlockDiodeAbstract.class, parent, "a")).booleanValue();
            } else {
              field2 = ((Boolean)getField(parent, "a")).booleanValue();
            }
            proxy = (Block) enc.create(use.constructor, new Object[] {parent.id, field2});
          }
          break;
        case IdAndMaterial:
          proxy = (Block) enc.create(use.constructor, new Object[] {parent.id, parent.material}); break;
        case IdAndTexture:
          proxy = (Block) enc.create(use.constructor, new Object[] {parent.id, (Integer)getField(parent, "a")}); break;
        case IdTextureAndMaterial:
          proxy = (Block) enc.create(use.constructor, new Object[] {parent.id, parent.material}); break;
        case IdMaterialAndFlag:
          proxy = (Block) enc.create(use.constructor, new Object[] {parent.id, parent.material, false}); break;
        case IdAndName:
          {
            String name = (String) getField(parent, "a");
            proxy = (Block) enc.create(use.constructor, new Object[] {parent.id, name});
          }
          break;
        case IdNameAndMaterial:
          {
            String name = (String) getField(parent, "a");
            proxy = (Block) enc.create(use.constructor, new Object[] {parent.id, name, parent.material});
          }
          break;
        case IdNameMaterialAndDrop:
          {
            String name = (String) getField(BlockPressurePlateAbstract.class, parent, "a");
            int field4 = (Integer) getField(parent, "a");
            proxy = (Block) enc.create(use.constructor, new Object[] {parent.id, name, parent.material, field4});
          }
          break;
        case IdBlockAndOther:
          {
            Block field2 = ((Block)getField(parent, "b"));
            int field3 = ((Integer)getField(parent, "c"));
            proxy = (Block) enc.create(use.constructor, new Object[] {parent.id, field2, field3});
          }
          break;
        case IdMaterialAndDrop:
          {
            int field3 = ((Integer)getField(parent, "b"));
            proxy = (Block) enc.create(use.constructor, new Object[] {parent.id, parent.material, field3});
          }
          break;
        case SignBlock:
          {
            Class field2 = ((Class)getField(parent, "a"));
            boolean field3 = ((Boolean)getField(parent, "b"));
            proxy = (Block) enc.create(use.constructor, new Object[] {parent.id, field2, field3});
          }
          break;
        case IdTextureAndTicks:
          {
            boolean field3;
            if (parent instanceof BlockMinecartTrack || parent instanceof BlockRedstoneOre || parent instanceof BlockButtonAbstract || parent instanceof BlockPumpkin) {
              field3 = ((Boolean)getField(parent, "a")).booleanValue();
            } else {
              field3 = ((Boolean)getField(parent, "isTicking")).booleanValue();
            }
            proxy = (Block) enc.create(use.constructor, new Object[] {parent.id, field3});
          }
          break;
        case PressurePlate:
          {
            EnumMobType field3 = ((EnumMobType)getField(parent, "a"));
            proxy = (Block) enc.create(use.constructor, new Object[] {parent.id, field3, parent.material});
          }
          break;
        case HugeMushroom:
          {
            int field4 = ((Integer)getField(parent, "a"));
            proxy = (Block) enc.create(use.constructor, new Object[] {parent.id, parent.material, field4});
          }
          break;
        case BlockStem:
          {
            Block field2;
            if (parent instanceof BlockStem) {
              field2 = ((Block)getField(parent, "blockFruit"));
            } else {
              field2 = Block.COBBLESTONE;
            }
View Full Code Here

    final int[] lightEmission = new int[Block.lightEmission.length];
    System.arraycopy(Block.lightEmission, 0, lightEmission, 0, Block.lightEmission.length);

    for (int i = 0; i < Block.byId.length; i++) {
      if (Block.byId[i] != null) {
        Block parent = Block.byId[i];
        Block.byId[i] = null;

        float strength = 0;
        try {
          final Field field = getField(parent.getClass(), "strength");
          field.setAccessible(true);
          strength = field.getFloat(parent);
        } catch (IllegalAccessException e) {
          e.printStackTrace();
        } catch (NoSuchFieldException e) {
          e.printStackTrace();
        }

        float durability = 0;
        try {
          final Field field = getField(parent.getClass(), "durability");
          field.setAccessible(true);
          durability = field.getFloat(parent);
        } catch (IllegalAccessException e) {
          e.printStackTrace();
        } catch (NoSuchFieldException e) {
          e.printStackTrace();
        }

        try {
          Block fake  = createProxy(parent);

          if (fake != null) {
            Block.byId[i] = fake;
          } else {
            Block.byId[i] = parent;
          }
          final Field strengthField = getField(fake.getClass(), "strength");
          strengthField.setAccessible(true);
          strengthField.setFloat(fake, strength);

          final Field durabilityField = getField(fake.getClass(), "durability");
          durabilityField.setAccessible(true);
          durabilityField.setFloat(fake, durability);

        } catch (Throwable t) {
          System.err.println("Error replacing : " + parent.getClass().getName());
View Full Code Here

  }

  public static void resetBlocks() {
    for (int i = 0; i < Block.byId.length; i++) {
      if (Block.byId[i] != null) {
        Block parent = Block.byId[i];
        if (parent instanceof WrappedMCBlock) {
          WrappedMCBlock wrapped = (WrappedMCBlock) parent;
          Block.byId[i] = null;
          Block.byId[i] = wrapped.getWrapped();
        }
View Full Code Here

    int id = block.getRawId();
    if (block instanceof CustomBlock) {
      id = ((CustomBlock) block).getBlockId();
    }
    // Access the protected strength field in Block
    Block mBlock = Block.byId[id];
    float hardness = 999999999f; // Probably useless safeguard
    try {
      Field field = Block.class.getDeclaredField("strength");
      field.setAccessible(true);
      hardness = field.getFloat(mBlock);
View Full Code Here

    }
    int data = block.getRawData();
    if (!originalHardness.containsKey(id, data)) {
      originalHardness.put(id, data, getHardness(block));
    }
    Block b = Block.byId[id];
    if (b instanceof WrappedMCBlock) {
      ((WrappedMCBlock) b).setHardness(hardness);
    }
    updateBlockAttributes(id, (short) data); // Invalidate cache
  }
View Full Code Here

    } else return entityHeight;
  }

  @Override
  public AlmostBoolean isBlockSolid(final int id) {
    final Block block = Block.e(id);
    if (block == null || block.getMaterial() == null) return AlmostBoolean.MAYBE;
    else return AlmostBoolean.match(block.getMaterial().isSolid());
  }
View Full Code Here

    else return AlmostBoolean.match(block.getMaterial().isSolid());
  }

  @Override
  public AlmostBoolean isBlockLiquid(final int id) {
    final Block block = Block.e(id);
    if (block == null || block.getMaterial() == null) return AlmostBoolean.MAYBE;
    else return AlmostBoolean.match(block.getMaterial().isLiquid());
  }
View Full Code Here

    } else return entityHeight;
  }

  @Override
  public AlmostBoolean isBlockSolid(final int id) {
    final Block block = Block.e(id);
    if (block == null || block.getMaterial() == null) return AlmostBoolean.MAYBE;
    else return AlmostBoolean.match(block.getMaterial().isSolid());
  }
View Full Code Here

    else return AlmostBoolean.match(block.getMaterial().isSolid());
  }

  @Override
  public AlmostBoolean isBlockLiquid(final int id) {
    final Block block = Block.e(id);
    if (block == null || block.getMaterial() == null) return AlmostBoolean.MAYBE;
    else return AlmostBoolean.match(block.getMaterial().isLiquid());
  }
View Full Code Here

TOP

Related Classes of org.tmatesoft.hg.internal.ConfigFileParser$Block

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.