Misc. Reconstructor Recipes, "added" Ethetic Quartz Blocks and made them craftable

This commit is contained in:
Ellpeck 2015-11-20 22:25:04 +01:00
parent 5108438364
commit 9becd9b3e2
12 changed files with 47 additions and 29 deletions

View file

@ -27,6 +27,7 @@ import ellpeck.actuallyadditions.items.metalists.TheFoods;
import ellpeck.actuallyadditions.items.metalists.TheMiscItems;
import ellpeck.actuallyadditions.items.metalists.TheSpecialDrops;
import ellpeck.actuallyadditions.util.Util;
import net.minecraft.init.Blocks;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.IRecipe;
@ -55,12 +56,13 @@ public class InitBooklet{
//Getting Started
chapterIntro = new BookletChapter("intro", entryGettingStarted, new ItemStack(InitItems.itemLexicon), new PageTextOnly(1), new PageTextOnly(2), new PageTextOnly(3));
new BookletChapter("bookTutorial", entryGettingStarted, new ItemStack(InitItems.itemLexicon), new PageTextOnly(1), new PageTextOnly(2), new PageCrafting(3, ItemCrafting.recipeBook));
new BookletChapterReconstructor("crystals", entryGettingStarted, new ItemStack(InitBlocks.blockAtomicReconstructor), new PageTextOnly(1).addTextReplacement("<power>", ConfigIntValues.RECONSTRUCTOR_USE_PER_BLOCK.getValue()), new PageTextOnly(2), new PagePicture(3, "pageAtomicReconstructor", 0).setNoText(), new PageTextOnly(4), new PageCrafting(5, BlockCrafting.recipeAtomicReconstructor).setNoText()).setSpecial();
new BookletChapterReconstructor("crystals", entryGettingStarted, new ItemStack(InitBlocks.blockAtomicReconstructor), new PageTextOnly(1).addTextReplacement("<power>", ConfigIntValues.RECONSTRUCTOR_BASE_ENERGY_USE.getValue()), new PageTextOnly(2), new PagePicture(3, "pageAtomicReconstructor", 0).setNoText(), new PageTextOnly(4), new PageCrafting(5, BlockCrafting.recipeAtomicReconstructor).setNoText()).setSpecial();
new BookletChapter("coalGen", entryGettingStarted, new ItemStack(InitBlocks.blockCoalGenerator), new PageCrafting(1, BlockCrafting.recipeCoalGen).addTextReplacement("<rf>", ConfigIntValues.COAL_GEN_ENERGY_PRODUCED.getValue()));
new BookletChapter("craftingIngs", entryGettingStarted, new ItemStack(InitItems.itemMisc, 1, TheMiscItems.COIL.ordinal()), new PageTextOnly(1), new PageCrafting(2, ItemCrafting.recipeCoil).setNoText(), new PageCrafting(3, ItemCrafting.recipeCoilAdvanced).setNoText(), new PageCrafting(4, BlockCrafting.recipeCase).setNoText(), new PageCrafting(5, BlockCrafting.recipeStoneCase).setNoText(), new PageCrafting(6, BlockCrafting.recipeEnderPearlBlock).setNoText(), new PageCrafting(7, BlockCrafting.recipeEnderCase).setNoText(), new PageCrafting(8, ItemCrafting.recipeRing).setNoText(), new PageCrafting(9, ItemCrafting.recipeKnifeHandle).setNoText(), new PageCrafting(10, ItemCrafting.recipeKnifeBlade).setNoText(), new PageCrafting(11, ItemCrafting.recipeKnife).setNoText(), new PageCrafting(12, ItemCrafting.recipeDough).setNoText(), new PageCrafting(13, ItemCrafting.recipeRiceDough).setNoText(), new PageCrafting(14, BlockCrafting.recipeIronCase).setNoText()).setImportant();
//Miscellaneous
new BookletChapter("quartz", entryMisc, new ItemStack(InitItems.itemMisc, 1, TheMiscItems.QUARTZ.ordinal()), new PageTextOnly(1).setStack(new ItemStack(InitBlocks.blockMisc, 1, TheMiscBlocks.ORE_QUARTZ.ordinal())).addTextReplacement("<lowest>", ConfigIntValues.BLACK_QUARTZ_MIN_HEIGHT.getValue()).addTextReplacement("<highest>", ConfigIntValues.BLACK_QUARTZ_MAX_HEIGHT.getValue()), new PageTextOnly(2).setStack(new ItemStack(InitItems.itemMisc, 1, TheMiscItems.QUARTZ.ordinal())), new PageCrafting(3, BlockCrafting.recipeQuartzBlock).setNoText(), new PageCrafting(4, BlockCrafting.recipeQuartzPillar).setNoText(), new PageCrafting(5, BlockCrafting.recipeQuartzChiseled).setNoText());
new BookletChapter("miscReconstructor", entryMisc, new ItemStack(InitBlocks.blockTestifiBucksWhiteWall), new PageTextOnly(1), new PageReconstructor(2, new ItemStack(Blocks.soul_sand)).setNoText(), new PageReconstructor(3, new ItemStack(InitBlocks.blockTestifiBucksWhiteWall))).setImportant();
new BookletChapter("cloud", entryMisc, new ItemStack(InitBlocks.blockSmileyCloud), new PageTextOnly(1), new PageCrafting(2, BlockCrafting.recipeSmileyCloud).setNoText()).setSpecial();
new BookletChapter("coalStuff", entryMisc, new ItemStack(InitItems.itemMisc, 1, TheMiscItems.TINY_COAL.ordinal()), new PageTextOnly(1), new PageCrafting(2, ItemCrafting.recipeTinyCoal).setNoText(), new PageCrafting(3, ItemCrafting.recipeTinyChar).setNoText(), new PageCrafting(4, BlockCrafting.recipeBlockChar).setNoText());
ArrayList<BookletPage> lampPages = new ArrayList<BookletPage>();

View file

@ -45,9 +45,8 @@ public class BookletChapterReconstructor extends BookletChapter{
}
}.setNoText());
for(ReconstructorRecipeHandler.Recipe recipe : ReconstructorRecipeHandler.recipes){
BookletPage page = new PageReconstructor(allPages.size()+1, recipe.getFirstOutput()).setNoText();
allPages.add(page);
for(int i = 0; i < ReconstructorRecipeHandler.RECIPES_FOR_BOOKLET_PAGE; i++){
allPages.add(new PageReconstructor(allPages.size()+1, ReconstructorRecipeHandler.recipes.get(i).getFirstOutput()).setNoText());
}
return allPages.toArray(new BookletPage[allPages.size()]);

View file

@ -24,6 +24,7 @@ public enum ConfigCategories{
FLUIDS("Fluids", "Everything regarding fluids"),
DRILL_VALUES("Drill Values", "Properties of Drills and their Upgrades"),
CRUSHER_RECIPES("Crusher Recipes", "Recipes for the Crusher"),
RECONSTRUCTOR_RECIPES("Reconstructor Recipes", "Recipes for the Atomic Reconstructor"),
ARMOR_VALUES("Armor Values", "Values for Armor");
public final String name;

View file

@ -146,6 +146,8 @@ public enum ConfigCrafting{
HORSE_ARMORS("Horse Armor -> Raw Materials", ConfigCategories.CRUSHER_RECIPES, "Crusher"),
CRUSHER_MISC("Misc. Crusher Recipes like Bone Meal & Dyes", ConfigCategories.CRUSHER_RECIPES, "Crusher"),
RECONSTRUCTOR_MISC("Misc. Reconstructor Recipes like Soul Sand", ConfigCategories.RECONSTRUCTOR_RECIPES, "Reconstructor"),
TELE_STAFF("Tele Staff", ConfigCategories.ITEMS_CRAFTING),
CASING("Casing", ConfigCategories.BLOCKS_CRAFTING),

View file

@ -175,7 +175,7 @@ public enum ConfigIntValues{
RECONSTRUCTOR_DISTANCE("Atomic Reconstructor: Distance", ConfigCategories.MACHINE_VALUES, 10, 1, 50, "The max distance the Reconstructor goes forward to find blocks to convert"),
RECONSTRCUTOR_RANGE("Atomic Reconstructor: Range", ConfigCategories.MACHINE_VALUES, 2, 1, 10, "The range of Converting blocks or items into other blocks or items"),
RECONSTRUCTOR_USE_PER_BLOCK("Atomic Reconstructor: Energy Use per Block", ConfigCategories.MACHINE_VALUES, 800, 0, 100000, "The base amount of Energy the Reconstructor uses per Block converted"),
RECONSTRUCTOR_BASE_ENERGY_USE("Atomic Reconstructor: Base Energy Use", ConfigCategories.MACHINE_VALUES, 200, 0, 100000, "The base amount of Energy the Reconstructor uses per laser shot (extra energy, determined by the recipe, is used per conversion)"),
RECONSTRUCTOR_COOLDOWN_TIMER("Atomic Reconstrucor: Cooldown Timer", ConfigCategories.MACHINE_VALUES, 100, 0, 10000, "The amount of time the Reconstructor waits between shooting lasers"),
TILE_ENTITY_UPDATE_INTERVAL("Tile Entities: Update Interval", ConfigCategories.OTHER, 5, 1, 100, "The amount of ticks waited before a TileEntity sends an additional Update to the Client");

View file

@ -86,7 +86,7 @@ public class BlockCrafting{
if(ConfigCrafting.ATOMIC_RECONSTRUCTOR.isEnabled()){
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(InitBlocks.blockAtomicReconstructor),
"IRI", "RCR", "IRI",
'R', "dustRedstone",
'R', "blockRedstone",
'I', "ingotIron",
'C', new ItemStack(InitBlocks.blockMisc, 1, TheMiscBlocks.IRON_CASING.ordinal())));
recipeAtomicReconstructor = Util.GetRecipes.lastIRecipe();

View file

@ -40,6 +40,7 @@ public class InitOreDict{
addOre(Items.dye, 15, "boneMeal");
addOre(Items.sugar, "sugar");
addOre(Items.reeds, "sugarCane");
addOre(Blocks.soul_sand, "soulSand");
addOre(Blocks.yellow_flower, "flowerDandelion");
addOre(Blocks.red_flower, "flowerPoppy");
@ -104,6 +105,8 @@ public class InitOreDict{
addOre(InitItems.itemMisc, TheMiscItems.QUARTZ.ordinal(), "gemQuartzBlack");
addOre(InitItems.itemMisc, TheMiscItems.BLACK_DYE.ordinal(), "dyeBlack");
addOre(InitBlocks.blockTestifiBucksWhiteWall, "blockWhiteBrick");
}
private static void addOre(ItemStack stack, String name){

View file

@ -10,6 +10,7 @@
package ellpeck.actuallyadditions.recipe;
import ellpeck.actuallyadditions.config.values.ConfigCrafting;
import net.minecraft.item.ItemStack;
import net.minecraftforge.oredict.OreDictionary;
@ -20,21 +21,27 @@ import java.util.Objects;
public class ReconstructorRecipeHandler{
public static ArrayList<Recipe> recipes = new ArrayList<Recipe>();
public static final int RECIPES_FOR_BOOKLET_PAGE = 12;
public static void init(){
addRecipe("blockRedstone", "blockCrystalRed", 200);
addRecipe("blockLapis", "blockCrystalBlue", 200);
addRecipe("blockDiamond", "blockCrystalLightBlue", 600);
addRecipe("blockEmerald", "blockCrystalGreen", 1000);
addRecipe("blockCoal", "blockCrystalBlack", 400);
addRecipe("blockIron", "blockCrystalWhite", 300);
addRecipe("blockRedstone", "blockCrystalRed", 400);
addRecipe("blockLapis", "blockCrystalBlue", 400);
addRecipe("blockDiamond", "blockCrystalLightBlue", 6000);
addRecipe("blockEmerald", "blockCrystalGreen", 10000);
addRecipe("blockCoal", "blockCrystalBlack", 600);
addRecipe("blockIron", "blockCrystalWhite", 800);
addRecipe("dustRedstone", "crystalRed", 20);
addRecipe("gemLapis", "crystalBlue", 20);
addRecipe("gemDiamond", "crystalLightBlue", 60);
addRecipe("gemEmerald", "crystalGreen", 100);
addRecipe("coal", "crystalBlack", 40);
addRecipe("ingotIron", "crystalWhite", 30);
addRecipe("dustRedstone", "crystalRed", 40);
addRecipe("gemLapis", "crystalBlue", 40);
addRecipe("gemDiamond", "crystalLightBlue", 600);
addRecipe("gemEmerald", "crystalGreen", 1000);
addRecipe("coal", "crystalBlack", 60);
addRecipe("ingotIron", "crystalWhite", 80);
if(ConfigCrafting.RECONSTRUCTOR_MISC.isEnabled()){
addRecipe("sand", "soulSand", 20000);
addRecipe("blockQuartz", "blockWhiteBrick", 10);
}
}
public static void addRecipe(String input, String output, int energyUse){

View file

@ -33,7 +33,7 @@ import java.util.ArrayList;
public class TileEntityAtomicReconstructor extends TileEntityBase implements IEnergyReceiver{
public EnergyStorage storage = new EnergyStorage(300000);
public EnergyStorage storage = new EnergyStorage(3000000);
private int currentTime;
@ -42,7 +42,7 @@ public class TileEntityAtomicReconstructor extends TileEntityBase implements IEn
public void updateEntity(){
super.updateEntity();
if(!this.worldObj.isRemote){
int baseUse = ConfigIntValues.RECONSTRUCTOR_USE_PER_BLOCK.getValue();
int baseUse = ConfigIntValues.RECONSTRUCTOR_BASE_ENERGY_USE.getValue();
if(!worldObj.isBlockIndirectlyGettingPowered(xCoord, yCoord, zCoord) && this.storage.getEnergyStored() >= baseUse){
if(this.currentTime > 0){
this.currentTime--;

View file

@ -87,12 +87,12 @@ tile.actuallyadditions.blockWildCanola.name=Wild Canola
tile.actuallyadditions.blockWildRice.name=Wild Rice
tile.actuallyadditions.blockWildCoffee.name=Wild Coffee
tile.actuallyadditions.blockWildFlax.name=Wild Flax
tile.actuallyadditions.blockTestifiBucksGreenWall.name=Green TB Block
tile.actuallyadditions.blockTestifiBucksWhiteWall.name=White TB Block
tile.actuallyadditions.blockTestifiBucksGreenStairs.name=Green TB Stairs
tile.actuallyadditions.blockTestifiBucksWhiteStairs.name=White TB Stairs
tile.actuallyadditions.blockTestifiBucksGreenSlab.name=Green TB Slab
tile.actuallyadditions.blockTestifiBucksWhiteSlab.name=White TB Slab
tile.actuallyadditions.blockTestifiBucksGreenWall.name=Ethetic Green Block
tile.actuallyadditions.blockTestifiBucksWhiteWall.name=Ethetic Quartz
tile.actuallyadditions.blockTestifiBucksGreenStairs.name=Ethetic Green Stairs
tile.actuallyadditions.blockTestifiBucksWhiteStairs.name=Ethetic Quartz Stairs
tile.actuallyadditions.blockTestifiBucksGreenSlab.name=Ethetic Green Slab
tile.actuallyadditions.blockTestifiBucksWhiteSlab.name=Ethetic Quartz Slab
tile.actuallyadditions.blockCanola.name=Canola Plant
tile.actuallyadditions.blockTreasureChest.name=Treasure Chest
tile.actuallyadditions.blockCanolaPress.name=Canola Press
@ -115,8 +115,8 @@ tile.actuallyadditions.blockRangedCollector.name=Ranged Collector
tile.actuallyadditions.blockLaserRelay.name=Laser Relay
tile.actuallyadditions.blockMiscIronCasing.name=Iron Casing
tile.actuallyadditions.blockBlackLotus.name=Black Lotus
tile.actuallyadditions.blockTestifiBucksWhiteFence.name=White TB Wall
tile.actuallyadditions.blockTestifiBucksGreenFence.name=Green TB Wall
tile.actuallyadditions.blockTestifiBucksWhiteFence.name=Ethetic Quartz Wall
tile.actuallyadditions.blockTestifiBucksGreenFence.name=Ethetic Green Wall
tile.actuallyadditions.blockAtomicReconstructor.name=Atomic Reconstructor
tile.actuallyadditions.blockCrystalRed.name=Restonia Crystal Block
tile.actuallyadditions.blockCrystalBlue.name=Palis Crystal Block
@ -597,10 +597,14 @@ booklet.actuallyadditions.chapter.blackLotus.text.2=<i>No, not that one, Vaz
booklet.actuallyadditions.chapter.crystals.name=Crystals and Reconstructor
booklet.actuallyadditions.chapter.crystals.text.1=For many Crafting Operations in <imp>Actually Additions<r>, you will need <item>Crystals<r> or <item>Crystal Blocks<r>. <n>These can be made using an <item>Atomic Reconstructor<r>. Just place one down facing in any direction and it will <imp>shoot out a red laser<r>. When placing some of the blocks shown on the following pages in front of the laser, they will be <imp>converted into Crystals<r>. <n>During the shooting of a laser and one conversion, it uses at least <imp><power> RF<r>, but the rate varies depending on the converted block.
booklet.actuallyadditions.chapter.crystals.text.2=The way this works is that the laser <imp>searches for a block<r>, and when it finds one, it converts <imp>all blocks and items on the ground<r> in that area into their Crystal forms (if they have one!). <n><n>When trying to power the Reconstructor, at first you will notice that <imp>many power sources require crystals<r> to be crafted. Not to worry, though, as you can <imp>use<r> <item>Coal Generators<r> to create your first couple of crystals before you can <imp>upgrade to better sources<r>.
booklet.actuallyadditions.chapter.crystals.text.2=When hitting a block with the Laser, it will <imp>convert the other blocks around it<r>, too. This includes <imp>items on the ground<r>. <n>When trying to power the Reconstructor, you will notice that <imp>many generators require crystals<r>. Not to worry, though, as you can <imp>use<r> <item>Coal Generators<r> to create your first couple of crystals before you can <imp>upgrade to better sources<r>. <n><n>For additional Reconstructor Recipes, see the <imp>"Useful Reconstructor Recipes"<r> Entry.
booklet.actuallyadditions.chapter.crystals.text.4=When you have crafted a couple of items, you might want to find a way to <imp>automate this<r>. <n>There is a very simple way to do accomplish this: <n>Place the <item>Atomic Reconstructor<r> down facing into a <item>Precision Dropper<r> (to find it, look it up in the <imp>All Items and Search<r> Entry!). <n>Next, place a <item>Ranged Collector<r> in the area that has the converted items set as a whitelist. <n>Now you can just chuck your raw materials into the Dropper to convert them!
booklet.actuallyadditions.chapter.bookTutorial.name=Intro to the Manual
booklet.actuallyadditions.chapter.bookTutorial.text.1=The <item>Actually Additions Manual<r> is very versatile. Here is a quick overview: <n><imp>Entries & Chapters<r><n>An Entry is a general topic while a Chapter is almost always pointed to a specific item. When closing a chapter, the index opens, when closing that, the front page will. <n><imp>Bookmarks<r><n>Bookmarks, as seen on the bottom of the booklet, store the current page when clicked and can restore said page when clicked again. This can be very useful for easy navigation.
booklet.actuallyadditions.chapter.bookTutorial.text.2=<imp>The Buttons at the top right<r> lead you to the Achievements or Configuration Screen. When looking at a chapter that is somehow connected to an achievement, a speech bubble that you can hover over to see the Achievement in question will point to the Achievements Button. <n><imp>The Buttons on the top left<r> can be used to be directed to various Webpages that have to do with the mod. <n>When an update is available, a button to download it will also show up on the top left.
booklet.actuallyadditions.chapter.bookTutorial.text.3=If you, for some reason, want to craft this book again, just take a <item>piece of paper<r> and a <item>canola seed<r> which you can find randomly generated and craft them together!
booklet.actuallyadditions.chapter.miscReconstructor.name=Useful Reconstructor Recipes
booklet.actuallyadditions.chapter.miscReconstructor.text.1=There are some additional recipes for the <item>Atomic Reconstructor<r> that could be very useful to you. <n>These include <imp>decor blocks and items<r> as well as some <imp>useful conversions<r>. Flip through the following pages to see them all.
booklet.actuallyadditions.chapter.miscReconstructor.text.3=The <item>Ethetic Quartz Blocks<r> are Quartz Blocks spruced up. <n>They can be crafted into <imp>stairs<r>, <imp>slabs<r> and <imp>walls<r> with the same recipes as cobblestone has. <n><n><i>No, not misspelled

Binary file not shown.

Before

Width:  |  Height:  |  Size: 616 B

After

Width:  |  Height:  |  Size: 593 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 552 B

After

Width:  |  Height:  |  Size: 409 B