Removed Turnips, Ambrosia, Salads, Jelled Poison, and Pinecones

This commit is contained in:
Forstride 2018-04-14 11:57:29 -04:00
parent 314dff5bc4
commit 24c7daec5f
47 changed files with 6 additions and 1035 deletions

View file

@ -23,7 +23,6 @@ public class BOPBlocks
public static Block gem_ore;
public static Block hive;
public static Block mushroom;
public static Block stone;
public static Block white_sandstone;
public static Block biome_block;
@ -116,7 +115,6 @@ public class BOPBlocks
public static Block eucalyptus_door;
public static Block mud;
public static Block turnip_block;
public static Block flesh;
public static Block grass;
public static Block grass_path;
@ -147,7 +145,6 @@ public class BOPBlocks
public static Block bramble_plant;
public static Block honey_block;
public static Block jelled_poison;
public static Block terrarium;
public static Block sand;

View file

@ -16,23 +16,16 @@ public class BOPItems
public static Item berries;
public static Item shroompowder;
public static Item peach;
public static Item saladfruit;
public static Item saladveggie;
public static Item saladshroom;
public static Item earth;
public static Item persimmon;
public static Item filled_honeycomb;
public static Item ambrosia;
public static Item turnip;
public static Item pear;
public static Item ricebowl;
public static Item fleshchunk;
public static Item mudball;
public static Item turnip_seeds;
public static Item crystal_shard;
public static Item terrestrial_artifact;
public static Item flax_string;
public static Item honeycomb;
public static Item gem;
public static Item ash;
@ -42,10 +35,7 @@ public class BOPItems
public static Item green_dye;
public static Item white_dye;
public static Item black_dye;
public static Item soul;
public static Item pixie_dust;
public static Item ichor;
public static Item pinecone;
public static Item other_slab;
public static Item boat_sacred_oak;

View file

@ -1,64 +0,0 @@
/*******************************************************************************
* Copyright 2014-2016, the Biomes O' Plenty Team
*
* This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License.
*
* To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/.
******************************************************************************/
package biomesoplenty.common.block;
import biomesoplenty.common.item.ItemBOPBlock;
import net.minecraft.block.Block;
import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material;
import net.minecraft.block.properties.IProperty;
import net.minecraft.block.state.IBlockState;
import net.minecraft.client.renderer.color.IBlockColor;
import net.minecraft.client.renderer.color.IItemColor;
import net.minecraft.item.ItemBlock;
import net.minecraft.util.BlockRenderLayer;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
public class BlockBOPJelledPoison extends Block implements IBOPBlock
{
// implement IBOPBlock
@Override
public Class<? extends ItemBlock> getItemClass() { return ItemBOPBlock.class; }
@Override
public IProperty[] getPresetProperties() { return new IProperty[] {}; }
@Override
public IProperty[] getNonRenderingProperties() { return null; }
@Override
public String getStateName(IBlockState state) {return "";}
@Override
@SideOnly(Side.CLIENT)
public IBlockColor getBlockColor() { return null; }
@Override
@SideOnly(Side.CLIENT)
public IItemColor getItemColor() { return null; }
public BlockBOPJelledPoison() {
super(Material.CLAY);
this.setHardness(0.4F);
this.setSoundType(SoundType.SLIME);
this.setHarvestLevel("pickaxe", 0);
this.slipperiness = 0.9F;
}
@Override
@SideOnly(Side.CLIENT)
public BlockRenderLayer getBlockLayer()
{
return BlockRenderLayer.TRANSLUCENT;
}
@Override
public boolean isOpaqueCube(IBlockState state)
{
return false;
}
}

View file

@ -278,12 +278,6 @@ public class BlockBOPLeaves extends BlockLeaves implements IBOPBlock
fruit = new ItemStack(Items.APPLE, 1, 0);
}
break;
case FIR: case REDWOOD: case PINE:
if (worldIn.rand.nextInt(chance) == 0)
{
fruit = new ItemStack(BOPItems.pinecone, 1, 0);
}
break;
default:
break;
}

View file

@ -221,14 +221,6 @@ public class BlockBOPPlant extends BlockBOPDecoration implements IShearable, IHo
}
break;
case KORU:
if (rand.nextInt(64) == 0)
{
// 1 in 64 change of getting a turnip seed from KORU
ret.add(new ItemStack(BOPItems.turnip_seeds));
}
break;
case BERRYBUSH:
// BERRYBUSH always drops berries
ret.add(new ItemStack(BOPItems.berries));

View file

@ -1,64 +0,0 @@
/*******************************************************************************
* Copyright 2014-2016, the Biomes O' Plenty Team
*
* This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License.
*
* To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/.
******************************************************************************/
package biomesoplenty.common.block;
import biomesoplenty.api.item.BOPItems;
import biomesoplenty.common.item.ItemBOPBlock;
import net.minecraft.block.BlockCrops;
import net.minecraft.block.properties.IProperty;
import net.minecraft.block.state.IBlockState;
import net.minecraft.client.renderer.color.IBlockColor;
import net.minecraft.client.renderer.color.IItemColor;
import net.minecraft.item.Item;
import net.minecraft.item.ItemBlock;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockAccess;
import net.minecraftforge.common.EnumPlantType;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
// TODO: stop snow settling on this (floats above it)
public class BlockBOPTurnip extends BlockCrops implements IBOPBlock
{
// implement IBOPBlock
@Override
public Class<? extends ItemBlock> getItemClass() { return ItemBOPBlock.class; }
@Override
public IProperty[] getPresetProperties() { return new IProperty[] {}; }
@Override
public IProperty[] getNonRenderingProperties() { return null; }
@Override
public String getStateName(IBlockState state) {return "";}
@Override
@SideOnly(Side.CLIENT)
public IBlockColor getBlockColor() { return null; }
@Override
@SideOnly(Side.CLIENT)
public IItemColor getItemColor() { return null; }
@Override
protected Item getSeed()
{
return BOPItems.turnip_seeds;
}
@Override
protected Item getCrop()
{
return BOPItems.turnip;
}
@Override
public EnumPlantType getPlantType(IBlockAccess world, BlockPos pos) {
return EnumPlantType.Crop;
}
}

View file

@ -15,6 +15,7 @@ import net.minecraft.block.state.BlockFaceShape;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.init.Blocks;
import net.minecraft.init.MobEffects;
import net.minecraft.potion.PotionEffect;
import net.minecraft.util.EnumFacing;
@ -93,13 +94,13 @@ public class BlockPoisonFluid extends BlockFluidClassic
if (integer.intValue() == 0)
{
worldIn.setBlockState(pos, BOPBlocks.jelled_poison.getDefaultState());
worldIn.setBlockState(pos, BOPBlocks.mud.getDefaultState());
return true;
}
if (integer.intValue() <= 4)
{
worldIn.setBlockState(pos, BOPBlocks.jelled_poison.getDefaultState());
worldIn.setBlockState(pos, BOPBlocks.mud.getDefaultState());
return true;
}
}

View file

@ -1,271 +0,0 @@
/*******************************************************************************
* Copyright 2016, the Biomes O' Plenty Team
*
* This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License.
*
* To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/.
******************************************************************************/
package biomesoplenty.common.handler;
public class AchievementEventHandler
{
/*private static final Set<Biome> BOP_BIOMES_TO_EXPLORE = Sets.union(BOPBiomes.REG_INSTANCE.getPresentBiomes(), Biome.EXPLORATION_BIOMES_LIST);
@SubscribeEvent
public void onItemPickup(EntityItemPickupEvent event)
{
ItemStack stack = event.getItem().getEntityItem();
Item item = stack.getItem();
IBlockState state = Block.getBlockFromItem(item).getStateFromMeta(item.getMetadata(stack));
Block block = state.getBlock();
EntityPlayer player = event.getEntityPlayer();
if (block instanceof BlockBOPLog)
{
player.addStat(AchievementList.MINE_WOOD);
}
//Flower Child Achievement
if (block instanceof BlockBOPFlower || block == Blocks.RED_FLOWER || block == Blocks.YELLOW_FLOWER)
{
player.addStat(BOPAchievements.obtain_flowers);
}
//Berry Good Achievement
if (item == BOPItems.berries)
{
player.addStat(BOPAchievements.obtain_berry);
}
//Totally Coral Achievement
if (block == BOPBlocks.coral)
{
player.addStat(BOPAchievements.obtain_coral);
}
//Life Finds a Way Achievement
if (state == BlockBOPFlower.paging.getVariantState(BOPFlowers.MINERS_DELIGHT))
{
player.addStat(BOPAchievements.obtain_miners_delight);
}
//Rather Thorny Achievement
if (state == BlockBOPPlant.paging.getVariantState(BOPPlants.THORN))
{
player.addStat(BOPAchievements.obtain_thorn);
}
//I am Become Death Achievement
if (state == BlockBOPFlower.paging.getVariantState(BOPFlowers.DEATHBLOOM))
{
player.addStat(BOPAchievements.obtain_deathbloom);
}
//Godsend Achievement
if (state == BlockBOPFlower.paging.getVariantState(BOPFlowers.WILTED_LILY))
{
player.addStat(BOPAchievements.obtain_wilted_lily);
}
//Stalk Market Achievement
if (item == BOPItems.turnip)
{
player.addStat(BOPAchievements.obtain_turnip);
}
//Soul Searching Achievement
if (item == BOPItems.soul)
{
player.addStat(BOPAchievements.obtain_soul);
}
//Honeycomb's Big Achievement
if (item == BOPItems.filled_honeycomb)
{
player.addStat(BOPAchievements.obtain_honeycomb);
}
//Don't Breathe This Achievement
if (item == BOPItems.pixie_dust)
{
player.addStat(BOPAchievements.obtain_pixie_dust);
}
//Far Out Achievement
if (item == BOPItems.crystal_shard)
{
player.addStat(BOPAchievements.obtain_celestial_crystal);
}
}
@SubscribeEvent
public void onItemUsed(PlayerInteractEvent.RightClickItem event)
{
ItemStack stack = event.getItemStack();
EntityPlayer player = event.getEntityPlayer();
}
@SubscribeEvent
public void onItemUsed(LivingEntityUseItemEvent.Finish event)
{
ItemStack stack = event.getItem();
Item item = stack.getItem();
if (event.getEntity() instanceof EntityPlayer)
{
EntityPlayer player = (EntityPlayer)event.getEntityLiving();
//Trippin'
if (item == BOPItems.shroompowder) {
player.addStat(BOPAchievements.eat_shroom_powder);
}
}
}
@SubscribeEvent
public void onBlockPlaced(BlockEvent.PlaceEvent event)
{
ItemStack stack = event.getItemInHand();
//Blocks can be placed by things other than players
if (stack != null)
{
Item item = stack.getItem();
IBlockState state = Block.getBlockFromItem(item).getStateFromMeta(item.getMetadata(stack));
try
{
//Yggdrasil
if (state == BlockBOPSapling.paging.getVariantState(BOPTrees.SACRED_OAK))
{
event.getPlayer().addStat(BOPAchievements.grow_sacred_oak);
}
}
catch(Exception ignored) {} //Fail quietly if there's a problem matching metadata to a block state
}
}
@SubscribeEvent
public void onItemCrafted(ItemCraftedEvent event)
{
Item item = event.crafting.getItem();
EntityPlayer player = event.player;
//Nectar of the Gods Achievement
if (item == BOPItems.ambrosia)
{
player.addStat(BOPAchievements.craft_ambrosia);
}
//By Your Powers Combined Achievement
if (item == BOPItems.terrestrial_artifact)
{
player.addStat(BOPAchievements.craft_terrestrial_artifact);
}
}
@SubscribeEvent
public void onPlayerUpdate(LivingUpdateEvent event)
{
if (!event.getEntityLiving().world.isRemote && event.getEntityLiving() instanceof EntityPlayer)
{
EntityPlayerMP player = (EntityPlayerMP) event.getEntityLiving();
//Check every five seconds if the player has entered a new biome, if they haven't already gotten the achievement
if (player.ticksExisted % 20 * 5 == 0)
{
//Search Party
if (!player.getStatFile().hasAchievementUnlocked(BOPAchievements.use_biome_finder))
{
this.updateBiomeRadarExplore(player);
}
//The Wanderer
if (!player.getStatFile().hasAchievementUnlocked(BOPAchievements.explore_all_biomes)) // TODO Test
{
this.updateBiomesExplored(player);
}
}
}
}
private void updateBiomeRadarExplore(EntityPlayerMP player)
{
Biome currentBiome = player.world.getBiome(new BlockPos(MathHelper.floor(player.posX), 0, MathHelper.floor(player.posZ)));
//Search every item in the player's main inventory for a biome radar
for (ItemStack stack : player.inventory.mainInventory)
{
//If the stack is null, skip it
if (stack.isEmpty())
continue;
if (stack.getItem() == BOPItems.biome_finder && stack.hasTagCompound() && stack.getTagCompound().hasKey("biomeIDToFind"))
{
int biomeIdToFind = stack.getTagCompound().getInteger("biomeIDToFind");
//If the current biome id is the id on the radar, award the achievement and stop searching
if (biomeIdToFind == Biome.getIdForBiome(currentBiome))
{
player.addStat(BOPAchievements.use_biome_finder);
return;
}
}
}
}
private void updateBiomesExplored(EntityPlayerMP player)
{
Biome currentBiome = player.world.getBiome(new BlockPos(MathHelper.floor(player.posX), 0, MathHelper.floor(player.posZ)));
String biomeName = currentBiome.getBiomeName();
//Get a list of the current explored biomes
JsonSerializableSet exploredBiomeNames = player.getStatFile().getProgress(BOPAchievements.explore_all_biomes);
if (exploredBiomeNames == null)
{
//Set the stat data
exploredBiomeNames = player.getStatFile().setProgress(BOPAchievements.explore_all_biomes, new JsonSerializableSet());
}
//Add the current biome to the set of biomes that the player has explored
exploredBiomeNames.add(biomeName);
if (player.getStatFile().canUnlockAchievement(BOPAchievements.explore_all_biomes) && exploredBiomeNames.size() >= BOP_BIOMES_TO_EXPLORE.size())
{
//Create a copy of the set of biomes that need to be explored to fulfil the achievement
Set<Biome> set = Sets.newHashSet(BOP_BIOMES_TO_EXPLORE);
//Iterate over the names of all the biomes the player has explored
for (String exploredBiomeName : exploredBiomeNames)
{
Iterator<Biome> iterator = set.iterator();
//Iterate over the set of biomes required to be explored and remove those that already have been explored
while (iterator.hasNext())
{
Biome biome = iterator.next();
if (biome.getBiomeName().equals(exploredBiomeName))
{
iterator.remove();
}
}
//If there are no biomes remaining in the set to be explored, then there's no point continuing
if (set.isEmpty())
{
break;
}
}
//Has the player fulfilled the achievement (there are no biomes left in the set of biomes to be explored)
if (set.isEmpty())
{
player.addStat(BOPAchievements.explore_all_biomes);
}
}
}*/
}

View file

@ -40,7 +40,6 @@ import biomesoplenty.common.block.BlockBOPHalfOtherSlab;
import biomesoplenty.common.block.BlockBOPHalfWoodSlab;
import biomesoplenty.common.block.BlockBOPHive;
import biomesoplenty.common.block.BlockBOPHoney;
import biomesoplenty.common.block.BlockBOPJelledPoison;
import biomesoplenty.common.block.BlockBOPLeaves;
import biomesoplenty.common.block.BlockBOPLilypad;
import biomesoplenty.common.block.BlockBOPLog;
@ -53,7 +52,6 @@ import biomesoplenty.common.block.BlockBOPSeaweed;
import biomesoplenty.common.block.BlockBOPStoneFormations;
import biomesoplenty.common.block.BlockBOPStoneStairs;
import biomesoplenty.common.block.BlockBOPTerrarium;
import biomesoplenty.common.block.BlockBOPTurnip;
import biomesoplenty.common.block.BlockBOPVine;
import biomesoplenty.common.block.BlockBOPWhiteSand;
import biomesoplenty.common.block.BlockBOPWhiteSandstone;
@ -128,7 +126,6 @@ public class ModBlocks
gem_block = registerBlock( new BlockBOPGem(), "gem_block" );
hive = registerBlock( new BlockBOPHive(), "hive" );
honey_block = registerBlock( new BlockBOPHoney(), "honey_block" );
jelled_poison = registerBlock( new BlockBOPJelledPoison(), "jelled_poison" );
//Material Blocks
bamboo_thatching = registerBlock( (new BlockBOPGeneric(Material.WOOD, SoundType.WOOD)).setHardness(2.0F), "bamboo_thatching"); bamboo_thatching.setHarvestLevel("axe", 0);
@ -257,7 +254,6 @@ public class ModBlocks
seaweed = registerBlock( new BlockBOPSeaweed(), "seaweed" );
waterlily = registerBlock( new BlockBOPLilypad(), "waterlily" );
bamboo = registerBlock( new BlockBOPBamboo(), "bamboo" );
turnip_block = registerBlock( new BlockBOPTurnip(), "turnip_block", null ); // no creative tab
// 22 tree types, 8 per BlockBOPSapling instance, needs 3 'pages'
BlockBOPSapling.createAllPages();

View file

@ -121,26 +121,16 @@ public class ModCrafting
OreDictionary.registerOre("sandstone", new ItemStack(BOPBlocks.white_sandstone));
OreDictionary.registerOre("foodMushroompowder", new ItemStack(BOPItems.shroompowder));
OreDictionary.registerOre("foodFruitsalad", new ItemStack(BOPItems.saladfruit));
OreDictionary.registerOre("foodVeggiesalad", new ItemStack(BOPItems.saladveggie));
OreDictionary.registerOre("foodMushroomsalad", new ItemStack(BOPItems.saladshroom));
OreDictionary.registerOre("foodFilledhoneycomb", new ItemStack(BOPItems.filled_honeycomb));
OreDictionary.registerOre("foodAmbrosia", new ItemStack(BOPItems.ambrosia));
OreDictionary.registerOre("foodBowlofrice", new ItemStack(BOPItems.ricebowl));
OreDictionary.registerOre("cropPeach", new ItemStack(BOPItems.peach));
OreDictionary.registerOre("cropPersimmon", new ItemStack(BOPItems.persimmon));
OreDictionary.registerOre("cropTurnip", new ItemStack(BOPItems.turnip));
OreDictionary.registerOre("cropPear", new ItemStack(BOPItems.pear));
OreDictionary.registerOre("listAllfruit", new ItemStack(BOPItems.peach));
OreDictionary.registerOre("listAllfruit", new ItemStack(BOPItems.persimmon));
OreDictionary.registerOre("listAllrootveggie", new ItemStack(BOPItems.turnip));
OreDictionary.registerOre("listAllveggie", new ItemStack(BOPItems.turnip));
OreDictionary.registerOre("listAllfruit", new ItemStack(BOPItems.pear));
OreDictionary.registerOre("seedTurnip", new ItemStack(BOPItems.turnip_seeds));
OreDictionary.registerOre("listAllseed", new ItemStack(BOPItems.turnip_seeds));
OreDictionary.registerOre("dyeBlue", new ItemStack(BOPItems.blue_dye));
OreDictionary.registerOre("dyeBrown", new ItemStack(BOPItems.brown_dye));

View file

@ -35,7 +35,6 @@ public class ModHandlers
MinecraftForge.EVENT_BUS.register(new PotionPossessionEventHandler());
MinecraftForge.EVENT_BUS.register(new ItemEventHandler());
MinecraftForge.EVENT_BUS.register(new UseHoeEventHandler());
MinecraftForge.EVENT_BUS.register(new AchievementEventHandler());
MinecraftForge.EVENT_BUS.register(new GrassPathEventHandler());
MinecraftForge.EVENT_BUS.register(new SheepEventHandler());
MinecraftForge.EVENT_BUS.register(new SilkTouchEventHandler());

View file

@ -8,7 +8,6 @@
package biomesoplenty.common.init;
import static biomesoplenty.api.item.BOPItems.ambrosia;
import static biomesoplenty.api.item.BOPItems.ash;
import static biomesoplenty.api.item.BOPItems.berries;
import static biomesoplenty.api.item.BOPItems.biome_essence;
@ -47,24 +46,16 @@ import static biomesoplenty.api.item.BOPItems.mudball;
import static biomesoplenty.api.item.BOPItems.peach;
import static biomesoplenty.api.item.BOPItems.pear;
import static biomesoplenty.api.item.BOPItems.persimmon;
import static biomesoplenty.api.item.BOPItems.pinecone;
import static biomesoplenty.api.item.BOPItems.pixie_dust;
import static biomesoplenty.api.item.BOPItems.record_wanderer;
import static biomesoplenty.api.item.BOPItems.ricebowl;
import static biomesoplenty.api.item.BOPItems.saladfruit;
import static biomesoplenty.api.item.BOPItems.saladshroom;
import static biomesoplenty.api.item.BOPItems.saladveggie;
import static biomesoplenty.api.item.BOPItems.shroompowder;
import static biomesoplenty.api.item.BOPItems.terrestrial_artifact;
import static biomesoplenty.api.item.BOPItems.turnip;
import static biomesoplenty.api.item.BOPItems.turnip_seeds;
import static biomesoplenty.api.item.BOPItems.white_dye;
import biomesoplenty.api.block.BOPBlocks;
import biomesoplenty.api.sound.BOPSounds;
import biomesoplenty.common.command.BOPCommand;
import biomesoplenty.common.entities.item.EntityBOPBoat;
import biomesoplenty.common.item.ItemAmbrosia;
import biomesoplenty.common.item.ItemBOPBoat;
import biomesoplenty.common.item.ItemBOPFood;
import biomesoplenty.common.item.ItemBOPRecord;
@ -78,11 +69,9 @@ import biomesoplenty.common.item.ItemMudball;
import biomesoplenty.common.util.inventory.CreativeTabBOP;
import biomesoplenty.core.BiomesOPlenty;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.init.Blocks;
import net.minecraft.init.MobEffects;
import net.minecraft.item.Item;
import net.minecraft.item.ItemFood;
import net.minecraft.item.ItemSeeds;
import net.minecraft.item.ItemSoup;
import net.minecraft.potion.PotionEffect;
import net.minecraft.util.ResourceLocation;
@ -143,10 +132,6 @@ public class ModItems
pear = registerItem(new ItemFood(5, 0.3F, false), "pear");
peach = registerItem(new ItemFood(5, 0.2F, false), "peach");
persimmon = registerItem(new ItemFood(5, 0.2F, false), "persimmon");
pinecone = registerItem(new Item(), "pinecone");
turnip_seeds = registerItem(new ItemSeeds(BOPBlocks.turnip_block, Blocks.FARMLAND), "turnip_seeds");
turnip = registerItem(new ItemFood(3, 0.4F, false), "turnip");
honeycomb = registerItem(new Item(), "honeycomb");
filled_honeycomb = registerItem(new ItemBOPFood(3, 0.4F, 16), "filled_honeycomb");
@ -155,16 +140,8 @@ public class ModItems
((ItemFood)shroompowder).setAlwaysEdible();
((ItemFood)shroompowder).setPotionEffect(new PotionEffect(MobEffects.NAUSEA, 225, 0), 1.0F);
saladfruit = registerItem(new ItemSoup(6), "saladfruit");
((ItemFood)saladfruit).setPotionEffect(new PotionEffect(MobEffects.HASTE, 775, 1), 0.05F);
saladveggie = registerItem(new ItemSoup(6), "saladveggie");
((ItemFood)saladveggie).setPotionEffect(new PotionEffect(MobEffects.NIGHT_VISION, 1100, 1), 0.05F); // TODO: Is this the right potion effect for veggie salad?
saladshroom = registerItem(new ItemSoup(6), "saladshroom");
((ItemFood)saladshroom).setPotionEffect(new PotionEffect(MobEffects.JUMP_BOOST, 550, 1), 0.05F);
ricebowl = registerItem(new ItemSoup(2), "ricebowl");
ambrosia = registerItem(new ItemAmbrosia(), "ambrosia");
// TODO: move dyes to their own class?
blue_dye = registerItem(new Item(), "blue_dye");
brown_dye = registerItem(new Item(), "brown_dye");

View file

@ -22,7 +22,6 @@ public class ModVanillaCompat
public static void init()
{
registerDispenserBehaviors();
addDungeonLoot();
MapGenStructureIO.registerStructure(BOPMapGenScatteredFeature.Start.class, "BOPTemple");
List<Biome> mansionBiomes = BiomeUtils.filterPresentBiomes(BOPBiomes.coniferous_forest, BOPBiomes.dead_forest, BOPBiomes.ominous_woods, BOPBiomes.snowy_coniferous_forest, BOPBiomes.woodland);
@ -51,46 +50,4 @@ public class ModVanillaCompat
BlockDispenser.DISPENSE_BEHAVIOR_REGISTRY.putObject(BOPItems.boat_ebony, new DispenserBehaviorBOPBoat(EntityBOPBoat.Type.EBONY));
BlockDispenser.DISPENSE_BEHAVIOR_REGISTRY.putObject(BOPItems.boat_eucalyptus, new DispenserBehaviorBOPBoat(EntityBOPBoat.Type.EUCALYPTUS));
}
private static void addDungeonLoot()
{
//TODO: Requires Forge update
/*ChestGenHooks desertTemple = ChestGenHooks.getInfo(ChestGenHooks.PYRAMID_DESERT_CHEST);
ChestGenHooks dungeon = ChestGenHooks.getInfo(ChestGenHooks.DUNGEON_CHEST);
ChestGenHooks jungleTemple = ChestGenHooks.getInfo(ChestGenHooks.PYRAMID_JUNGLE_CHEST);
ChestGenHooks mineshaft = ChestGenHooks.getInfo(ChestGenHooks.MINESHAFT_CORRIDOR);
ChestGenHooks strongholdCorridor = ChestGenHooks.getInfo(ChestGenHooks.STRONGHOLD_CORRIDOR);
ChestGenHooks strongholdCrossing = ChestGenHooks.getInfo(ChestGenHooks.STRONGHOLD_CROSSING);
ChestGenHooks strongholdLibrary = ChestGenHooks.getInfo(ChestGenHooks.STRONGHOLD_LIBRARY);
ChestGenHooks village = ChestGenHooks.getInfo(ChestGenHooks.VILLAGE_BLACKSMITH);
ChestGenHooks bonusChest = ChestGenHooks.getInfo(ChestGenHooks.BONUS_CHEST);
ChestGenHooks netherFortress = ChestGenHooks.getInfo(ChestGenHooks.NETHER_FORTRESS);
bonusChest.addItem(new WeightedRandomChestContent(BOPItems.peach, 0, 1, 3, 10));
bonusChest.addItem(new WeightedRandomChestContent(BOPItems.pear, 0, 1, 3, 10));
bonusChest.addItem(new WeightedRandomChestContent(BOPItems.persimmon, 0, 1, 3, 10));
netherFortress.addItem(new WeightedRandomChestContent(BOPItems.fleshchunk, 0, 2, 6, 5));
netherFortress.addItem(new WeightedRandomChestContent(BOPItems.honeycomb, 0, 2, 6, 5));
netherFortress.addItem(new WeightedRandomChestContent(BOPItems.filled_honeycomb, 0, 2, 6, 3));
mineshaft.addItem(new WeightedRandomChestContent(BOPItems.turnip_seeds, 0, 3, 6, 25));
mineshaft.addItem(new WeightedRandomChestContent(BOPItems.gem, BOPGems.RUBY.ordinal(), 1, 4, 3));
mineshaft.addItem(new WeightedRandomChestContent(BOPItems.gem, BOPGems.AMBER.ordinal(), 1, 4, 3));
mineshaft.addItem(new WeightedRandomChestContent(BOPItems.gem, BOPGems.MALACHITE.ordinal(), 1, 4, 3));
mineshaft.addItem(new WeightedRandomChestContent(BOPItems.gem, BOPGems.PERIDOT.ordinal(), 1, 4, 3));
mineshaft.addItem(new WeightedRandomChestContent(BOPItems.gem, BOPGems.SAPPHIRE.ordinal(), 1, 4, 3));
mineshaft.addItem(new WeightedRandomChestContent(BOPItems.gem, BOPGems.TANZANITE.ordinal(), 1, 4, 3));
mineshaft.addItem(new WeightedRandomChestContent(BOPItems.gem, BOPGems.TOPAZ.ordinal(), 1, 4, 3));
strongholdCorridor.addItem(new WeightedRandomChestContent(Item.getItemFromBlock(BOPBlocks.sapling_1), BOPTrees.SACRED_OAK.ordinal(), 1, 1, 1));
strongholdCrossing.addItem(new WeightedRandomChestContent(Item.getItemFromBlock(BOPBlocks.sapling_1), BOPTrees.SACRED_OAK.ordinal(), 1, 1, 1));
strongholdLibrary.addItem(new WeightedRandomChestContent(Item.getItemFromBlock(BOPBlocks.sapling_1), BOPTrees.SACRED_OAK.ordinal(), 1, 1, 1));
village.addItem(new WeightedRandomChestContent(BOPItems.wading_boots, 0, 1, 1, 15));
village.addItem(new WeightedRandomChestContent(BOPItems.flippers, 0, 1, 1, 15));
desertTemple.addItem(new WeightedRandomChestContent(BOPItems.gem, BOPGems.RUBY.ordinal(), 2, 8, 10));
jungleTemple.addItem(new WeightedRandomChestContent(BOPItems.gem, BOPGems.TOPAZ.ordinal(), 2, 8, 10));*/
}
}

View file

@ -1,67 +0,0 @@
/*******************************************************************************
* Copyright 2014-2016, the Biomes O' Plenty Team
*
* This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License.
*
* To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/.
******************************************************************************/
package biomesoplenty.common.item;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Items;
import net.minecraft.init.MobEffects;
import net.minecraft.item.EnumAction;
import net.minecraft.item.ItemFood;
import net.minecraft.item.ItemStack;
import net.minecraft.potion.PotionEffect;
import net.minecraft.world.World;
public class ItemAmbrosia extends ItemFood
{
public ItemAmbrosia()
{
super(6, 0.8F, false);
// can drink even when full
this.setAlwaysEdible();
// dont' stack
this.setMaxStackSize(1);
}
// Ambrosia takes twice as long as usual to finish
@Override
public int getMaxItemUseDuration(ItemStack stack)
{
return 64;
}
// Use drink action/sound instead of eat
@Override
public EnumAction getItemUseAction(ItemStack stack)
{
return EnumAction.DRINK;
}
// Loads of potion effects
@Override
protected void onFoodEaten(ItemStack stack, World worldIn, EntityPlayer player)
{
if (worldIn.isRemote) {return;}
player.addPotionEffect(new PotionEffect(MobEffects.ABSORPTION, 5000, 4));
player.addPotionEffect(new PotionEffect(MobEffects.SATURATION, 100, 1));
player.addPotionEffect(new PotionEffect(MobEffects.REGENERATION, 500, 2));
player.addPotionEffect(new PotionEffect(MobEffects.HASTE, 500, 2));
player.addPotionEffect(new PotionEffect(MobEffects.RESISTANCE, 600, 1));
}
// keep the empty bottle after finishing
@Override
public ItemStack onItemUseFinish(ItemStack stack, World worldIn, EntityLivingBase playerIn)
{
super.onItemUseFinish(stack, worldIn, playerIn);
return new ItemStack(Items.GLASS_BOTTLE);
}
}

View file

@ -157,6 +157,6 @@ public class ItemFlowerBasket extends Item
return !(item instanceof ItemFlowerBasket) && (block instanceof IPlantable || block instanceof IGrowable || block instanceof IShearable || block instanceof BlockBOPMushroom
|| item instanceof ItemSeedFood || item instanceof ItemSeeds || item == Items.REEDS || item == Items.APPLE || item == Items.MELON || item == Items.BEETROOT || item == Items.WHEAT || item == Items.CHORUS_FRUIT
|| item == BOPItems.berries || item == BOPItems.pear || item == BOPItems.peach || item == BOPItems.persimmon || item == BOPItems.pinecone || item == BOPItems.turnip);
|| item == BOPItems.berries || item == BOPItems.pear || item == BOPItems.peach || item == BOPItems.persimmon);
}
}

View file

@ -1,26 +0,0 @@
{
"display": {
"icon": {
"item": "biomesoplenty:turnip"
},
"title": {
"translate": "advancements.biomesoplenty.harvest_turnip.title"
},
"description": {
"translate": "advancements.biomesoplenty.harvest_turnip.description"
}
},
"parent": "biomesoplenty:biomesoplenty/miners_delight",
"criteria": {
"turnip": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "biomesoplenty:turnip"
}
]
}
}
}
}

View file

@ -11,7 +11,7 @@
"translate": "advancements.biomesoplenty.sacred_oak_sapling.description"
}
},
"parent": "biomesoplenty:biomesoplenty/harvest_turnip",
"parent": "biomesoplenty:biomesoplenty/miners_delight",
"criteria": {
"sacred_oak_sapling": {
"trigger": "minecraft:placed_block",

View file

@ -1,32 +0,0 @@
{
"rewards": {
"recipes": [
"biomesoplenty:ambrosia"
]
},
"criteria": {
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "biomesoplenty:ambrosia"
}
},
"has_honey": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "biomesoplenty:jar_filled",
"data": 0
}
]
}
}
},
"requirements": [
[
"has_the_recipe",
"has_honey"
]
]
}

View file

@ -1,31 +0,0 @@
{
"rewards": {
"recipes": [
"biomesoplenty:fruit_salad"
]
},
"criteria": {
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "biomesoplenty:fruit_salad"
}
},
"has_bowl": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:bowl"
}
]
}
}
},
"requirements": [
[
"has_the_recipe",
"has_bowl"
]
]
}

View file

@ -1,31 +0,0 @@
{
"rewards": {
"recipes": [
"biomesoplenty:shroom_salad"
]
},
"criteria": {
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "biomesoplenty:shroom_salad"
}
},
"has_bowl": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:bowl"
}
]
}
}
},
"requirements": [
[
"has_the_recipe",
"has_bowl"
]
]
}

View file

@ -1,31 +0,0 @@
{
"rewards": {
"recipes": [
"biomesoplenty:veggie_salad"
]
},
"criteria": {
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "biomesoplenty:veggie_salad"
}
},
"has_bowl": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:bowl"
}
]
}
}
},
"requirements": [
[
"has_the_recipe",
"has_bowl"
]
]
}

View file

@ -1,31 +0,0 @@
{
"rewards": {
"recipes": [
"biomesoplenty:brown_dye_from_pinecone"
]
},
"criteria": {
"has_flower": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "biomesoplenty:pinecone"
}
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "biomesoplenty:brown_dye_from_pinecone"
}
}
},
"requirements": [
[
"has_flower",
"has_the_recipe"
]
]
}

View file

@ -1,5 +0,0 @@
{
"variants": {
"normal": { "model": "biomesoplenty:jelled_poison" }
}
}

View file

@ -1,12 +0,0 @@
{
"variants": {
"age=0": { "model": "biomesoplenty:turnip_stage0" },
"age=1": { "model": "biomesoplenty:turnip_stage0" },
"age=2": { "model": "biomesoplenty:turnip_stage1" },
"age=3": { "model": "biomesoplenty:turnip_stage1" },
"age=4": { "model": "biomesoplenty:turnip_stage2" },
"age=5": { "model": "biomesoplenty:turnip_stage2" },
"age=6": { "model": "biomesoplenty:turnip_stage2" },
"age=7": { "model": "biomesoplenty:turnip_stage3" }
}
}

View file

@ -6,8 +6,6 @@ advancements.biomesoplenty.yin_and_yang.title=Yin and Yang
advancements.biomesoplenty.yin_and_yang.description=Plant a glowflower in the Ominous Woods, and a deathbloom in the Mystic Grove
advancements.biomesoplenty.miners_delight.title=Life Finds a Way
advancements.biomesoplenty.miners_delight.description=Find a miner's delight flower deep in a cave
advancements.biomesoplenty.harvest_turnip.title=Stalk Market
advancements.biomesoplenty.harvest_turnip.description=Harvest a turnip
advancements.biomesoplenty.flesh_and_blood.title=Flesh and Blood
advancements.biomesoplenty.flesh_and_blood.description=Harvest flesh from the Visceral Heap
advancements.biomesoplenty.honey_hell.title=Honey Hell
@ -59,7 +57,6 @@ fluid.sand=Quicksand
item.forge.bucketFilled.name=%s Bucket
item.ambrosia.name=Ambrosia
item.ash.name=Pile of Ashes
item.berries.name=Berry
item.biome_essence.name=Biome Essence
@ -85,7 +82,6 @@ item.boat_willow.name=Willow Boat
item.brown_dye.name=Brown Dye
item.cherry_door.name=Cherry Door
item.crystal_shard.name=Celestial Crystal Shard
item.terrestrial_artifact.name=Terrestrial Artifact
item.ebony_door.name=Ebony Door
item.ethereal_door.name=Ethereal Door
item.eucalyptus_door.name=Eucalyptus Door
@ -117,7 +113,6 @@ item.palm_door.name=Palm Door
item.persimmon.name=Persimmon
item.peach.name=Peach
item.pear.name=Pear
item.pinecone.name=Pinecone
item.pine_door.name=Pine Door
item.pixie_dust.name=Pixie Dust
item.record_wanderer.name=Music Disc
@ -125,12 +120,8 @@ item.record.wanderer.desc=Tim Rurkowski - Wanderer
item.redwood_door.name=Redwood Door
item.ricebowl.name=Bowl of Rice
item.sacred_oak_door.name=Sacred Oak Door
item.saladfruit.name=Fruit Salad
item.saladveggie.name=Veggie Salad
item.saladshroom.name=Shroom Salad
item.shroompowder.name=Shroom Powder
item.turnip.name=Turnip
item.turnip_seeds.name=Turnip Seeds
item.terrestrial_artifact.name=Terrestrial Artifact
item.umbran_door.name=Umbran Door
item.white_dye.name=White Dye
item.willow_door.name=Willow Door
@ -244,7 +235,6 @@ tile.jacaranda_fence.name=Jacaranda Fence
tile.jacaranda_fence_gate.name=Jacaranda Fence Gate
tile.jacaranda_wood_slab.name=Jacaranda Wood Slab
tile.jacaranda_stairs.name=Jacaranda Wood Stairs
tile.jelled_poison.name=Jelled Poison
tile.leaves_0.yellow_autumn_leaves.name=Yellow Autumn Leaves
tile.leaves_0.orange_autumn_leaves.name=Orange Autumn Leaves
tile.leaves_0.bamboo_leaves.name=Bamboo Leaves
@ -415,7 +405,6 @@ tile.terrarium.terrarium_origin.name=Origin Terrarium
tile.terrarium.terrarium_nether.name=Nether Terrarium
tile.terrarium.terrarium_ender.name=Ender Terrarium
tile.tree_moss.name=Umbran Tree Moss
tile.turnip_block.name=Turnip
tile.umbran_fence.name=Umbran Fence
tile.umbran_fence_gate.name=Umbran Fence Gate
tile.umbran_wood_slab.name=Umbran Wood Slab

View file

@ -1,6 +0,0 @@
{
"parent": "block/cube_all",
"textures": {
"all": "biomesoplenty:blocks/jelled_poison"
}
}

View file

@ -1,6 +0,0 @@
{
"parent": "block/crop",
"textures": {
"crop": "biomesoplenty:blocks/turnip_stage_0"
}
}

View file

@ -1,6 +0,0 @@
{
"parent": "block/crop",
"textures": {
"crop": "biomesoplenty:blocks/turnip_stage_1"
}
}

View file

@ -1,6 +0,0 @@
{
"parent": "block/crop",
"textures": {
"crop": "biomesoplenty:blocks/turnip_stage_2"
}
}

View file

@ -1,6 +0,0 @@
{
"parent": "block/crop",
"textures": {
"crop": "biomesoplenty:blocks/turnip_stage_3"
}
}

View file

@ -1,6 +0,0 @@
{
"parent": "item/generated",
"textures": {
"layer0": "biomesoplenty:items/ambrosia"
}
}

View file

@ -1,6 +0,0 @@
{
"parent": "item/generated",
"textures": {
"layer0": "biomesoplenty:items/jar_filled_butterfly"
}
}

View file

@ -1,10 +0,0 @@
{
"parent": "biomesoplenty:block/jelled_poison",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}

View file

@ -1,6 +0,0 @@
{
"parent": "item/generated",
"textures": {
"layer0": "biomesoplenty:items/pinecone"
}
}

View file

@ -1,6 +0,0 @@
{
"parent": "item/generated",
"textures": {
"layer0": "biomesoplenty:items/saladfruit"
}
}

View file

@ -1,6 +0,0 @@
{
"parent": "item/generated",
"textures": {
"layer0": "biomesoplenty:items/saladshroom"
}
}

View file

@ -1,6 +0,0 @@
{
"parent": "item/generated",
"textures": {
"layer0": "biomesoplenty:items/saladveggie"
}
}

View file

@ -1,7 +0,0 @@
{
"parent": "item/generated",
"textures": {
"layer0": "items/spawn_egg",
"layer1": "items/spawn_egg_overlay"
}
}

View file

@ -1,7 +0,0 @@
{
"parent": "item/generated",
"textures": {
"layer0": "items/spawn_egg",
"layer1": "items/spawn_egg_overlay"
}
}

View file

@ -1,18 +0,0 @@
{
"parent": "item/generated",
"textures": {
"layer0": "biomesoplenty:items/turnip"
},
"display": {
"thirdperson": {
"rotation": [ -90, 0, 0 ],
"translation": [ 0, 1, -3 ],
"scale": [ 0.55, 0.55, 0.55 ]
},
"firstperson": {
"rotation": [ 0, -135, 25 ],
"translation": [ 0, 4, 2 ],
"scale": [ 1.7, 1.7, 1.7 ]
}
}
}

View file

@ -1,18 +0,0 @@
{
"parent": "item/generated",
"textures": {
"layer0": "biomesoplenty:blocks/turnip_stage_0"
},
"display": {
"thirdperson": {
"rotation": [ -90, 0, 0 ],
"translation": [ 0, 1, -3 ],
"scale": [ 0.55, 0.55, 0.55 ]
},
"firstperson": {
"rotation": [ 0, -135, 25 ],
"translation": [ 0, 4, 2 ],
"scale": [ 1.7, 1.7, 1.7 ]
}
}
}

View file

@ -1,18 +0,0 @@
{
"parent": "item/generated",
"textures": {
"layer0": "biomesoplenty:items/turnip_seeds"
},
"display": {
"thirdperson": {
"rotation": [ -90, 0, 0 ],
"translation": [ 0, 1, -2.5 ],
"scale": [ 0.55, 0.55, 0.55 ]
},
"firstperson": {
"rotation": [ 0, -135, 25 ],
"translation": [ 0, 4, 2 ],
"scale": [ 1.7, 1.7, 1.7 ]
}
}
}

View file

@ -1,18 +0,0 @@
{
"type": "minecraft:crafting_shapeless",
"ingredients": [
{
"item": "biomesoplenty:pixie_dust"
},
{
"item": "minecraft:potion"
},
{
"item": "biomesoplenty:jar_filled",
"data": 0
}
],
"result": {
"item": "biomesoplenty:ambrosia"
}
}

View file

@ -1,12 +0,0 @@
{
"type": "minecraft:crafting_shapeless",
"ingredients": [
{
"item": "biomesoplenty:pinecone"
}
],
"result": {
"item": "biomesoplenty:brown_dye",
"count": 2
}
}

View file

@ -1,24 +0,0 @@
{
"type": "minecraft:crafting_shapeless",
"ingredients": [
{
"item": "minecraft:bowl",
"data": 32767
},
{
"item": "biomesoplenty:peach",
"data": 32767
},
{
"item": "minecraft:apple",
"data": 32767
},
{
"item": "biomesoplenty:pear",
"data": 32767
}
],
"result": {
"item": "biomesoplenty:saladfruit"
}
}

View file

@ -1,24 +0,0 @@
{
"type": "minecraft:crafting_shapeless",
"ingredients": [
{
"item": "minecraft:bowl",
"data": 32767
},
{
"item": "biomesoplenty:mushroom",
"data": 0
},
{
"item": "biomesoplenty:mushroom",
"data": 1
},
{
"item": "biomesoplenty:mushroom",
"data": 2
}
],
"result": {
"item": "biomesoplenty:saladshroom"
}
}

View file

@ -1,24 +0,0 @@
{
"type": "minecraft:crafting_shapeless",
"ingredients": [
{
"item": "minecraft:bowl",
"data": 32767
},
{
"item": "biomesoplenty:turnip",
"data": 32767
},
{
"item": "minecraft:carrot",
"data": 32767
},
{
"item": "minecraft:potato",
"data": 32767
}
],
"result": {
"item": "biomesoplenty:saladveggie"
}
}