Java 类net.minecraft.item.ItemFishFood.FishType 实例源码

项目:HardModeTweaks    文件:FoodValueTweaker.java   
public static void modifyFoodValues() {
    for (FoodConfig foodCfg : foodValuesConfig) {
        switch (foodCfg.getName()) {
            case "minecraft:raw_fish":
                modifyFishFoodValue(FishType.COD, foodCfg, false);
                break;
            case "minecraft:cooked_fish":
                modifyFishFoodValue(FishType.COD, foodCfg, true);
                break;
            case "minecraft:raw_salmon":
                modifyFishFoodValue(FishType.SALMON, foodCfg, false);
                break;
            case "minecraft:cooked_salmon":
                modifyFishFoodValue(FishType.SALMON, foodCfg, true);
                break;
            default:
                Item item = Item.getByNameOrId(foodCfg.getName());
                if (!(item instanceof ItemFood)) {
                    logger.warn("The item '{}' is not a food item", foodCfg.getName());
                    continue;
                }
                ItemFood food = (ItemFood) item;

                ReflectionHelper.setPrivateValue(ItemFood.class, food, foodCfg.getValue(), 1);
                ReflectionHelper.setPrivateValue(ItemFood.class, food, foodCfg.getSaturation(), 2);
                break;
        }
    }
}
项目:CrystalMod    文件:EventHandler.java   
@SubscribeEvent 
  public void addWhiteFish(ItemFishedEvent event){
    EntityFishHook hook = event.getHookEntity();
    World world = hook.getEntityWorld();
Biome biome = world.getBiomeForCoordsBody(new BlockPos(hook));
boolean editedList = false;
List<ItemStack> drops = Lists.newArrayList();
if(BiomeDictionary.hasType(biome, Type.COLD) || BiomeDictionary.hasType(biome, Type.SNOWY)){
    for(ItemStack stack : event.getDrops()){
        if(ItemStackTools.isValid(stack) && stack.getItem() == Items.FISH && stack.getMetadata() == FishType.COD.getMetadata()){
            if(Config.whiteFishRarity > 0 && Util.rand.nextInt(Config.whiteFishRarity) == 0){
                //Go ahead and replace with whitefish
                drops.add(new ItemStack(ModItems.miscFood, 1, FoodType.WHITE_FISH_RAW.getMetadata()));
                editedList = true;
                continue;
            }
        }
        drops.add(stack);
    }
}

if(editedList){
    event.damageRodBy(1);
    for (ItemStack itemstack : drops)
          {
              EntityItem entityitem = new EntityItem(hook.world, hook.posX, hook.posY, hook.posZ, itemstack);
              double d0 = event.getEntityPlayer().posX - hook.posX;
              double d1 = event.getEntityPlayer().posY - hook.posY;
              double d2 = event.getEntityPlayer().posZ - hook.posZ;
              double d3 = (double)MathHelper.sqrt(d0 * d0 + d1 * d1 + d2 * d2);
              entityitem.motionX = d0 * 0.1D;
              entityitem.motionY = d1 * 0.1D + (double)MathHelper.sqrt(d3) * 0.08D;
              entityitem.motionZ = d2 * 0.1D;
              hook.world.spawnEntity(entityitem);
              event.getEntityPlayer().world.spawnEntity(new EntityXPOrb(event.getEntityPlayer().world, event.getEntityPlayer().posX, event.getEntityPlayer().posY + 0.5D, event.getEntityPlayer().posZ + 0.5D, Util.rand.nextInt(6) + 1));
              Item item = itemstack.getItem();

              if (item == Items.FISH || item == Items.COOKED_FISH)
              {
                event.getEntityPlayer().addStat(StatList.FISH_CAUGHT, 1);
              }
          }
    event.setCanceled(true);
}
  }
项目:HardModeTweaks    文件:FoodValueTweaker.java   
private static void modifyFishFoodValue(FishType fishType, FoodConfig foodCfg, boolean cooked) {
    ReflectionHelper.setPrivateValue(FishType.class, fishType, foodCfg.getValue(),
            !cooked ? 7 : 9);
    ReflectionHelper.setPrivateValue(FishType.class, fishType, foodCfg.getSaturation(),
            !cooked ? 8 : 10);
}