mirror of
https://github.com/Ellpeck/ActuallyAdditions.git
synced 2024-11-22 15:18:34 +01:00
Misc. Reconstructor Recipes, "added" Ethetic Quartz Blocks and made them craftable
This commit is contained in:
parent
5108438364
commit
9becd9b3e2
12 changed files with 47 additions and 29 deletions
|
@ -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>();
|
||||
|
|
|
@ -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()]);
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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),
|
||||
|
||||
|
|
|
@ -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");
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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){
|
||||
|
|
|
@ -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){
|
||||
|
|
|
@ -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--;
|
||||
|
|
|
@ -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 |
Loading…
Reference in a new issue