mirror of
https://github.com/Ellpeck/ActuallyAdditions.git
synced 2024-11-22 23:28:35 +01:00
Farming cactus + nice description
This commit is contained in:
parent
9552c112b0
commit
1dd7479808
6 changed files with 84 additions and 2 deletions
|
@ -209,7 +209,7 @@ public final class InitBooklet{
|
||||||
new BookletChapter("rangedCollector", ActuallyAdditionsAPI.entryFunctionalNonRF, new ItemStack(InitBlocks.blockRangedCollector), new PageTextOnly(1).addTextReplacement("<range>", TileEntityRangedCollector.RANGE), new PageCrafting(2, BlockCrafting.recipeRangedCollector).setNoText());
|
new BookletChapter("rangedCollector", ActuallyAdditionsAPI.entryFunctionalNonRF, new ItemStack(InitBlocks.blockRangedCollector), new PageTextOnly(1).addTextReplacement("<range>", TileEntityRangedCollector.RANGE), new PageCrafting(2, BlockCrafting.recipeRangedCollector).setNoText());
|
||||||
|
|
||||||
//RF Using Blocks
|
//RF Using Blocks
|
||||||
new BookletChapter("farmer", ActuallyAdditionsAPI.entryFunctionalRF, new ItemStack(InitBlocks.blockFarmer), new PageTextOnly(1), new PageCrafting(2, BlockCrafting.recipeFarmer).setWildcard().setNoText()).setImportant();
|
new BookletChapter("farmer", ActuallyAdditionsAPI.entryFunctionalRF, new ItemStack(InitBlocks.blockFarmer), new PageTextOnly(1), new PagePicture(2, "page_farmer_crops", 95).addItemToPage(new ItemStack(Items.WHEAT_SEEDS)).addItemToPage(new ItemStack(InitItems.itemCanolaSeed)), new PagePicture(3, "page_farmer_cactus", 105).addItemToPage(new ItemStack(Blocks.CACTUS)), new PageCrafting(4, BlockCrafting.recipeFarmer).setWildcard().setNoText()).setImportant();
|
||||||
new BookletChapter("fireworkBox", ActuallyAdditionsAPI.entryFunctionalRF, new ItemStack(InitBlocks.blockFireworkBox), new PageTextOnly(1).addTextReplacement("<rf>", TileEntityFireworkBox.USE_PER_SHOT), new PageCrafting(2, BlockCrafting.recipeFireworkBox)).setSpecial();
|
new BookletChapter("fireworkBox", ActuallyAdditionsAPI.entryFunctionalRF, new ItemStack(InitBlocks.blockFireworkBox), new PageTextOnly(1).addTextReplacement("<rf>", TileEntityFireworkBox.USE_PER_SHOT), new PageCrafting(2, BlockCrafting.recipeFireworkBox)).setSpecial();
|
||||||
new BookletChapter("miner", ActuallyAdditionsAPI.entryFunctionalRF, new ItemStack(InitBlocks.blockMiner), new PageTextOnly(1).addTextReplacement("<rf>", TileEntityMiner.ENERGY_USE_PER_BLOCK).addTextReplacement("<range>", TileEntityMiner.DEFAULT_RANGE), new PageCrafting(2, BlockCrafting.recipeMiner)).setSpecial();
|
new BookletChapter("miner", ActuallyAdditionsAPI.entryFunctionalRF, new ItemStack(InitBlocks.blockMiner), new PageTextOnly(1).addTextReplacement("<rf>", TileEntityMiner.ENERGY_USE_PER_BLOCK).addTextReplacement("<range>", TileEntityMiner.DEFAULT_RANGE), new PageCrafting(2, BlockCrafting.recipeMiner)).setSpecial();
|
||||||
new BookletChapterCoffee("coffeeMachine", ActuallyAdditionsAPI.entryFunctionalRF, new ItemStack(InitBlocks.blockCoffeeMachine), new PageTextOnly(1).addItemToPage(new ItemStack(InitItems.itemCoffeeBean)).addTextReplacement("<rf>", TileEntityCoffeeMachine.ENERGY_USED).addTextReplacement("<coffee>", TileEntityCoffeeMachine.CACHE_USE).addTextReplacement("<water>", TileEntityCoffeeMachine.WATER_USE), new PageTextOnly(2).addItemToPage(new ItemStack(InitItems.itemCoffee)), new PagePicture(3, "page_coffee_machine", 115), new PageCrafting(4, BlockCrafting.recipeCoffeeMachine).setWildcard().setNoText(), new PageCrafting(5, ItemCrafting.recipeCup).setNoText()).setImportant();
|
new BookletChapterCoffee("coffeeMachine", ActuallyAdditionsAPI.entryFunctionalRF, new ItemStack(InitBlocks.blockCoffeeMachine), new PageTextOnly(1).addItemToPage(new ItemStack(InitItems.itemCoffeeBean)).addTextReplacement("<rf>", TileEntityCoffeeMachine.ENERGY_USED).addTextReplacement("<coffee>", TileEntityCoffeeMachine.CACHE_USE).addTextReplacement("<water>", TileEntityCoffeeMachine.WATER_USE), new PageTextOnly(2).addItemToPage(new ItemStack(InitItems.itemCoffee)), new PagePicture(3, "page_coffee_machine", 115), new PageCrafting(4, BlockCrafting.recipeCoffeeMachine).setWildcard().setNoText(), new PageCrafting(5, ItemCrafting.recipeCup).setNoText()).setImportant();
|
||||||
|
|
|
@ -14,6 +14,7 @@ import de.ellpeck.actuallyadditions.api.ActuallyAdditionsAPI;
|
||||||
import de.ellpeck.actuallyadditions.mod.fluids.InitFluids;
|
import de.ellpeck.actuallyadditions.mod.fluids.InitFluids;
|
||||||
import de.ellpeck.actuallyadditions.mod.items.InitItems;
|
import de.ellpeck.actuallyadditions.mod.items.InitItems;
|
||||||
import de.ellpeck.actuallyadditions.mod.items.metalists.TheMiscItems;
|
import de.ellpeck.actuallyadditions.mod.items.metalists.TheMiscItems;
|
||||||
|
import de.ellpeck.actuallyadditions.mod.misc.apiimpl.farmer.CactusFarmerBehavior;
|
||||||
import de.ellpeck.actuallyadditions.mod.misc.apiimpl.farmer.DefaultFarmerBehavior;
|
import de.ellpeck.actuallyadditions.mod.misc.apiimpl.farmer.DefaultFarmerBehavior;
|
||||||
import de.ellpeck.actuallyadditions.mod.util.ModUtil;
|
import de.ellpeck.actuallyadditions.mod.util.ModUtil;
|
||||||
import net.minecraft.init.Blocks;
|
import net.minecraft.init.Blocks;
|
||||||
|
@ -41,6 +42,7 @@ public final class InitCrafting{
|
||||||
ActuallyAdditionsAPI.addOilGenRecipe(InitFluids.fluidEmpoweredOil.getName(), 80, 600);
|
ActuallyAdditionsAPI.addOilGenRecipe(InitFluids.fluidEmpoweredOil.getName(), 80, 600);
|
||||||
|
|
||||||
ActuallyAdditionsAPI.addFarmerBehavior(new DefaultFarmerBehavior());
|
ActuallyAdditionsAPI.addFarmerBehavior(new DefaultFarmerBehavior());
|
||||||
|
ActuallyAdditionsAPI.addFarmerBehavior(new CactusFarmerBehavior());
|
||||||
|
|
||||||
RecipeSorter.register(ModUtil.MOD_ID+":recipeKeepDataShaped", RecipeKeepDataShaped.class, RecipeSorter.Category.SHAPED, "after:minecraft:shaped");
|
RecipeSorter.register(ModUtil.MOD_ID+":recipeKeepDataShaped", RecipeKeepDataShaped.class, RecipeSorter.Category.SHAPED, "after:minecraft:shaped");
|
||||||
RecipeSorter.register(ModUtil.MOD_ID+":recipeKeepDataShapeless", RecipeKeepDataShapeless.class, RecipeSorter.Category.SHAPELESS, "after:minecraft:shapeless");
|
RecipeSorter.register(ModUtil.MOD_ID+":recipeKeepDataShapeless", RecipeKeepDataShapeless.class, RecipeSorter.Category.SHAPELESS, "after:minecraft:shapeless");
|
||||||
|
|
|
@ -0,0 +1,78 @@
|
||||||
|
/*
|
||||||
|
* This file ("CactusFarmerBehavior.java") is part of the Actually Additions mod for Minecraft.
|
||||||
|
* It is created and owned by Ellpeck and distributed
|
||||||
|
* under the Actually Additions License to be found at
|
||||||
|
* http://ellpeck.de/actaddlicense
|
||||||
|
* View the source code at https://github.com/Ellpeck/ActuallyAdditions
|
||||||
|
*
|
||||||
|
* © 2015-2016 Ellpeck
|
||||||
|
*/
|
||||||
|
|
||||||
|
package de.ellpeck.actuallyadditions.mod.misc.apiimpl.farmer;
|
||||||
|
|
||||||
|
import de.ellpeck.actuallyadditions.api.farmer.IFarmerBehavior;
|
||||||
|
import de.ellpeck.actuallyadditions.api.internal.IFarmer;
|
||||||
|
import net.minecraft.block.Block;
|
||||||
|
import net.minecraft.block.BlockCactus;
|
||||||
|
import net.minecraft.block.state.IBlockState;
|
||||||
|
import net.minecraft.item.Item;
|
||||||
|
import net.minecraft.item.ItemBlock;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.util.math.BlockPos;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class CactusFarmerBehavior implements IFarmerBehavior{
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean tryPlantSeed(ItemStack seed, World world, BlockPos pos, IFarmer farmer){
|
||||||
|
int use = 250;
|
||||||
|
if(farmer.getEnergy() >= use){
|
||||||
|
Item item = seed.getItem();
|
||||||
|
if(item instanceof ItemBlock){
|
||||||
|
Block block = Block.getBlockFromItem(item);
|
||||||
|
if(block instanceof BlockCactus && block.canPlaceBlockAt(world, pos)){
|
||||||
|
IBlockState state = block.getDefaultState();
|
||||||
|
world.setBlockState(pos, state, 2);
|
||||||
|
world.playEvent(2001, pos, Block.getStateId(state));
|
||||||
|
|
||||||
|
farmer.extractEnergy(use);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean tryHarvestPlant(World world, BlockPos pos, IFarmer farmer){
|
||||||
|
int use = 250;
|
||||||
|
if(farmer.getEnergy() >= use){
|
||||||
|
IBlockState state = world.getBlockState(pos);
|
||||||
|
if(state.getBlock() instanceof BlockCactus){
|
||||||
|
for(int i = 2; i >= 1; i--){
|
||||||
|
if(farmer.getEnergy() >= use){
|
||||||
|
BlockPos up = pos.up(i);
|
||||||
|
IBlockState upState = world.getBlockState(up);
|
||||||
|
if(upState.getBlock() instanceof BlockCactus){
|
||||||
|
List<ItemStack> drops = upState.getBlock().getDrops(world, up, upState, 0);
|
||||||
|
|
||||||
|
if(drops != null && !drops.isEmpty()){
|
||||||
|
if(farmer.addToOutputInventory(drops, false)){
|
||||||
|
world.playEvent(2001, up, Block.getStateId(upState));
|
||||||
|
world.setBlockToAir(up);
|
||||||
|
|
||||||
|
farmer.extractEnergy(use);
|
||||||
|
farmer.addToOutputInventory(drops, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
|
@ -1080,7 +1080,9 @@ booklet.actuallyadditions.chapter.bioReactor.name=Bio Reactor
|
||||||
booklet.actuallyadditions.chapter.bioReactor.text.1=The <item>Bio Reactor<r> uses all types of <imp>seeds, foodstuffs and plants<r> to <imp>generate CF<r>! <n>To do this, just <imp>place<r> the items <imp>in its GUI<r>. If you try this out, you will notice that it doesn't generate that much power by default. However, the more <imp>different kinds<r> of plants, seeds and foodstuffs it has, the more power it will generate!
|
booklet.actuallyadditions.chapter.bioReactor.text.1=The <item>Bio Reactor<r> uses all types of <imp>seeds, foodstuffs and plants<r> to <imp>generate CF<r>! <n>To do this, just <imp>place<r> the items <imp>in its GUI<r>. If you try this out, you will notice that it doesn't generate that much power by default. However, the more <imp>different kinds<r> of plants, seeds and foodstuffs it has, the more power it will generate!
|
||||||
|
|
||||||
booklet.actuallyadditions.chapter.farmer.name=Farmer
|
booklet.actuallyadditions.chapter.farmer.name=Farmer
|
||||||
booklet.actuallyadditions.chapter.farmer.text.1=The <item>Farmer<r> is a block that can, once placed in the world, <imp>plant and harvest<r> crops like Wheat, Potatoes, Canola <imp>and more<r>. <n>The <imp>left side<r> of its GUI is reserved for <item>seeds<r>, while the <imp>right side<r> will contain the <imp>harvested goods<r>. <n>It will farm in a <imp>9x9 area<r> in front of it. <n>For every operation, it uses <imp><energy> CF<r>. <n><n><n><i>my fam
|
booklet.actuallyadditions.chapter.farmer.text.1=The <item>Farmer<r> is a block that can, once placed in the world, <imp>plant and harvest<r> different types of <imp>crops<r> and <imp>other plants<r> which can all be seen <imp>on the following pages<r>. <n>The <imp>left side<r> of its GUI is reserved for <item>seeds<r> and other things that should be planted, while the <imp>right side<r> will contain the <imp>harvested goods<r>. <n>It will farm in a <imp>9x9 area<r> in front of it. <n>It uses varying amounts of CF per operation. <n><n><i>my fam
|
||||||
|
booklet.actuallyadditions.chapter.farmer.text.2=Farming basic crops <imp>crops<r> like <item>Wheat<r>, <item>Potatoes<r>, <item>Canola<r>, <item>Flax<r> and so on. Ground will be <imp>tilled<r> by the Farmer itself.
|
||||||
|
booklet.actuallyadditions.chapter.farmer.text.3=Farming <item>Cactus<r>. Sand needs to be laid out for it to be planted. <imp><item>Cactus<r> higher than 2 blocks will have the <imp>top broken off<r> and placed inside of the Farmer.
|
||||||
|
|
||||||
booklet.actuallyadditions.chapter.lensMoreDeath.name=Lens of the Killer
|
booklet.actuallyadditions.chapter.lensMoreDeath.name=Lens of the Killer
|
||||||
booklet.actuallyadditions.chapter.lensMoreDeath.text.1=The <item>Lens of the Killer<r> works much like the <item>Lens of Certain Death<r>, however it will also <imp>drop experience<r> and <imp>player-kill loot<r>. <n>This means, however, that it will use <imp>a lot more power<r>. <n><n>To pick up the experience it drops, you might want to try an <item>Experience Solidifier<r>.
|
booklet.actuallyadditions.chapter.lensMoreDeath.text.1=The <item>Lens of the Killer<r> works much like the <item>Lens of Certain Death<r>, however it will also <imp>drop experience<r> and <imp>player-kill loot<r>. <n>This means, however, that it will use <imp>a lot more power<r>. <n><n>To pick up the experience it drops, you might want to try an <item>Experience Solidifier<r>.
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 21 KiB |
Binary file not shown.
After Width: | Height: | Size: 20 KiB |
Loading…
Reference in a new issue