Addet a Search Bar to the Booklet

This commit is contained in:
Ellpeck 2015-08-29 15:40:12 +02:00
parent 0f443c891f
commit 5b7ab95eb6
6 changed files with 195 additions and 45 deletions

View file

@ -24,6 +24,7 @@ import net.minecraft.init.Items;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.item.ItemFood; import net.minecraft.item.ItemFood;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.IRecipe;
import net.minecraftforge.common.IPlantable; import net.minecraftforge.common.IPlantable;
import net.minecraftforge.oredict.OreDictionary; import net.minecraftforge.oredict.OreDictionary;
import net.minecraftforge.oredict.ShapedOreRecipe; import net.minecraftforge.oredict.ShapedOreRecipe;
@ -31,6 +32,8 @@ import net.minecraftforge.oredict.ShapelessOreRecipe;
public class ItemCrafting{ public class ItemCrafting{
public static IRecipe recipePhantomConnector;
public static void init(){ public static void init(){
//Rice Stuff //Rice Stuff
@ -49,30 +52,33 @@ public class ItemCrafting{
} }
//Leaf Blower //Leaf Blower
if(ConfigCrafting.LEAF_BLOWER.isEnabled()) if(ConfigCrafting.LEAF_BLOWER.isEnabled()){
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(InitItems.itemLeafBlower), GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(InitItems.itemLeafBlower),
" F", "IP", "IC", " F", "IP", "IC",
'F', new ItemStack(Items.flint), 'F', new ItemStack(Items.flint),
'I', "ingotIron", 'I', "ingotIron",
'P', new ItemStack(Blocks.piston), 'P', new ItemStack(Blocks.piston),
'C', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.COIL_ADVANCED.ordinal()))); 'C', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.COIL_ADVANCED.ordinal())));
}
//Drill //Drill
if(ConfigCrafting.DRILL.isEnabled()) if(ConfigCrafting.DRILL.isEnabled()){
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(InitItems.itemDrill), GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(InitItems.itemDrill),
"DDD", "CRC", "III", "DDD", "CRC", "III",
'D', "gemDiamond", 'D', "gemDiamond",
'C', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.COIL_ADVANCED.ordinal()), 'C', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.COIL_ADVANCED.ordinal()),
'R', "dustRedstone", 'R', "dustRedstone",
'I', "blockIron")); 'I', "blockIron"));
}
//Tele Staff //Tele Staff
if(ConfigCrafting.TELE_STAFF.isEnabled()) if(ConfigCrafting.TELE_STAFF.isEnabled()){
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(InitItems.itemTeleStaff), GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(InitItems.itemTeleStaff),
" E", " S ", "SB ", " E", " S ", "SB ",
'E', new ItemStack(InitBlocks.blockMisc, 1, TheMiscBlocks.ENDERPEARL_BLOCK.ordinal()), 'E', new ItemStack(InitBlocks.blockMisc, 1, TheMiscBlocks.ENDERPEARL_BLOCK.ordinal()),
'S', new ItemStack(InitBlocks.blockMisc, 1, TheMiscBlocks.ENDER_CASING.ordinal()), 'S', new ItemStack(InitBlocks.blockMisc, 1, TheMiscBlocks.ENDER_CASING.ordinal()),
'B', new ItemStack(InitItems.itemBattery, 1, Util.WILDCARD))); 'B', new ItemStack(InitItems.itemBattery, 1, Util.WILDCARD)));
}
//Drill Speed //Drill Speed
if(ConfigCrafting.DRILL_SPEED.isEnabled()){ if(ConfigCrafting.DRILL_SPEED.isEnabled()){
@ -126,126 +132,142 @@ public class ItemCrafting{
} }
//Drill Silk Touch //Drill Silk Touch
if(ConfigCrafting.DRILL_SILK_TOUCH.isEnabled()) if(ConfigCrafting.DRILL_SILK_TOUCH.isEnabled()){
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(InitItems.itemDrillUpgradeSilkTouch), GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(InitItems.itemDrillUpgradeSilkTouch),
"DSD", "SCS", "DSD", "DSD", "SCS", "DSD",
'D', "gemEmerald", 'D', "gemEmerald",
'S', "gemDiamond", 'S', "gemDiamond",
'C', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.COIL_ADVANCED.ordinal()))); 'C', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.COIL_ADVANCED.ordinal())));
}
//Drill Placing //Drill Placing
if(ConfigCrafting.DRILL_PLACING.isEnabled()) if(ConfigCrafting.DRILL_PLACING.isEnabled()){
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(InitItems.itemDrillUpgradeBlockPlacing), GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(InitItems.itemDrillUpgradeBlockPlacing),
"CEC", "RAR", "CEC", "CEC", "RAR", "CEC",
'C', "cobblestone", 'C', "cobblestone",
'E', Items.ender_pearl, 'E', Items.ender_pearl,
'A', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.COIL.ordinal()), 'A', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.COIL.ordinal()),
'R', "ingotIron")); 'R', "ingotIron"));
}
//Battery //Battery
if(ConfigCrafting.BATTERY.isEnabled()) if(ConfigCrafting.BATTERY.isEnabled()){
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(InitItems.itemBattery), GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(InitItems.itemBattery),
" R ", "ICI", "III", " R ", "ICI", "III",
'R', "dustRedstone", 'R', "dustRedstone",
'I', "ingotIron", 'I', "ingotIron",
'C', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.COIL_ADVANCED.ordinal()))); 'C', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.COIL_ADVANCED.ordinal())));
}
//Double Battery //Double Battery
if(ConfigCrafting.DOUBLE_BATTERY.isEnabled()) if(ConfigCrafting.DOUBLE_BATTERY.isEnabled()){
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(InitItems.itemBatteryDouble), GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(InitItems.itemBatteryDouble),
" R ", "ICI", "III", " R ", "ICI", "III",
'R', new ItemStack(InitItems.itemBattery), 'R', new ItemStack(InitItems.itemBattery),
'I', "ingotIron", 'I', "ingotIron",
'C', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.COIL_ADVANCED.ordinal()))); 'C', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.COIL_ADVANCED.ordinal())));
}
//Magnet Ring //Magnet Ring
if(ConfigCrafting.MAGNET_RING.isEnabled()) if(ConfigCrafting.MAGNET_RING.isEnabled()){
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(InitItems.itemMagnetRing), GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(InitItems.itemMagnetRing),
"RIB", "IOI", "BIR", "RIB", "IOI", "BIR",
'R', "dustRedstone", 'R', "dustRedstone",
'I', "ingotIron", 'I', "ingotIron",
'B', new ItemStack(Items.dye, 1, 4), 'B', new ItemStack(Items.dye, 1, 4),
'O', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.RING.ordinal()))); 'O', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.RING.ordinal())));
}
//Growth Ring //Growth Ring
if(ConfigCrafting.GROWTH_RING.isEnabled()) if(ConfigCrafting.GROWTH_RING.isEnabled()){
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(InitItems.itemGrowthRing), GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(InitItems.itemGrowthRing),
"SIS", "IOI", "SIS", "SIS", "IOI", "SIS",
'S', new ItemStack(Items.wheat_seeds), 'S', new ItemStack(Items.wheat_seeds),
'I', "ingotIron", 'I', "ingotIron",
'O', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.RING.ordinal()))); 'O', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.RING.ordinal())));
}
//Water Ring //Water Ring
if(ConfigCrafting.WATER_RING.isEnabled()) if(ConfigCrafting.WATER_RING.isEnabled()){
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(InitItems.itemWaterRemovalRing), GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(InitItems.itemWaterRemovalRing),
"BIB", "IOI", "BIB", "BIB", "IOI", "BIB",
'B', new ItemStack(Items.water_bucket), 'B', new ItemStack(Items.water_bucket),
'I', "ingotIron", 'I', "ingotIron",
'O', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.RING.ordinal()))); 'O', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.RING.ordinal())));
}
//Triple Battery //Triple Battery
if(ConfigCrafting.TRIPLE_BATTERY.isEnabled()) if(ConfigCrafting.TRIPLE_BATTERY.isEnabled()){
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(InitItems.itemBatteryTriple), GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(InitItems.itemBatteryTriple),
" R ", "ICI", "III", " R ", "ICI", "III",
'R', new ItemStack(InitItems.itemBatteryDouble), 'R', new ItemStack(InitItems.itemBatteryDouble),
'I', "ingotIron", 'I', "ingotIron",
'C', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.COIL_ADVANCED.ordinal()))); 'C', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.COIL_ADVANCED.ordinal())));
}
//Quadruple Battery //Quadruple Battery
if(ConfigCrafting.QUADRUPLE_BATTERY.isEnabled()) if(ConfigCrafting.QUADRUPLE_BATTERY.isEnabled()){
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(InitItems.itemBatteryQuadruple), GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(InitItems.itemBatteryQuadruple),
" R ", "ICI", "III", " R ", "ICI", "III",
'R', new ItemStack(InitItems.itemBatteryTriple), 'R', new ItemStack(InitItems.itemBatteryTriple),
'I', "ingotIron", 'I', "ingotIron",
'C', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.COIL_ADVANCED.ordinal()))); 'C', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.COIL_ADVANCED.ordinal())));
}
//Quintuple Battery //Quintuple Battery
if(ConfigCrafting.QUINTUPLE_BATTERY.isEnabled()) if(ConfigCrafting.QUINTUPLE_BATTERY.isEnabled()){
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(InitItems.itemBatteryQuintuple), GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(InitItems.itemBatteryQuintuple),
" R ", "ICI", "III", " R ", "ICI", "III",
'R', new ItemStack(InitItems.itemBatteryQuadruple), 'R', new ItemStack(InitItems.itemBatteryQuadruple),
'I', "ingotIron", 'I', "ingotIron",
'C', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.COIL_ADVANCED.ordinal()))); 'C', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.COIL_ADVANCED.ordinal())));
}
//Bat Wings //Bat Wings
if(ConfigCrafting.BAT_WINGS.isEnabled()) if(ConfigCrafting.BAT_WINGS.isEnabled()){
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(InitItems.itemWingsOfTheBats), GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(InitItems.itemWingsOfTheBats),
"WNW", "WDW", "WNW", "WNW", "WDW", "WNW",
'W', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.BAT_WING.ordinal()), 'W', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.BAT_WING.ordinal()),
'N', "blockDiamond", 'N', "blockDiamond",
'D', new ItemStack(Items.nether_star))); 'D', new ItemStack(Items.nether_star)));
}
//Quartz //Quartz
if(ConfigCrafting.QUARTZ.isEnabled()) if(ConfigCrafting.QUARTZ.isEnabled()){
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(InitItems.itemMisc, 1, TheMiscItems.QUARTZ.ordinal()), GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(InitItems.itemMisc, 1, TheMiscItems.QUARTZ.ordinal()),
new ItemStack(Items.coal), new ItemStack(Items.coal),
new ItemStack(Items.quartz))); new ItemStack(Items.quartz)));
}
//Coil //Coil
if(ConfigCrafting.COIL.isEnabled()) if(ConfigCrafting.COIL.isEnabled()){
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(InitItems.itemMisc, 1, TheMiscItems.COIL.ordinal()), GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(InitItems.itemMisc, 1, TheMiscItems.COIL.ordinal()),
" R ", "RIR", " R ", " R ", "RIR", " R ",
'I', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.QUARTZ.ordinal()), 'I', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.QUARTZ.ordinal()),
'R', "dustRedstone")); 'R', "dustRedstone"));
}
//Cup //Cup
if(ConfigCrafting.CUP.isEnabled()) if(ConfigCrafting.CUP.isEnabled()){
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(InitItems.itemMisc, 1, TheMiscItems.CUP.ordinal()), GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(InitItems.itemMisc, 1, TheMiscItems.CUP.ordinal()),
"S S", "SCS", "SSS", "S S", "SCS", "SSS",
'S', "stone", 'S', "stone",
'C', InitItems.itemCoffeeBean)); 'C', InitItems.itemCoffeeBean));
}
//Resonant Rice //Resonant Rice
if(ConfigCrafting.RESONANT_RICE.isEnabled() && !OreDictionary.getOres("nuggetEnderium", false).isEmpty()) if(ConfigCrafting.RESONANT_RICE.isEnabled() && !OreDictionary.getOres("nuggetEnderium", false).isEmpty()){
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(InitItems.itemResonantRice), GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(InitItems.itemResonantRice),
new ItemStack(InitItems.itemFoods, 1, TheFoods.RICE.ordinal()), "nuggetEnderium", Items.gunpowder)); new ItemStack(InitItems.itemFoods, 1, TheFoods.RICE.ordinal()), "nuggetEnderium", Items.gunpowder));
}
//Advanced Coil //Advanced Coil
if(ConfigCrafting.ADV_COIL.isEnabled()) if(ConfigCrafting.ADV_COIL.isEnabled()){
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(InitItems.itemMisc, 1, TheMiscItems.COIL_ADVANCED.ordinal()), GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(InitItems.itemMisc, 1, TheMiscItems.COIL_ADVANCED.ordinal()),
" G ", "GCG", " G ", " G ", "GCG", " G ",
'C', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.COIL.ordinal()), 'C', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.COIL.ordinal()),
'G', "ingotGold")); 'G', "ingotGold"));
}
//Ender Pearl //Ender Pearl
GameRegistry.addRecipe(new ItemStack(Items.ender_pearl), GameRegistry.addRecipe(new ItemStack(Items.ender_pearl),
@ -258,37 +280,42 @@ public class ItemCrafting{
'X', new ItemStack(InitItems.itemSpecialDrop, 1, TheSpecialDrops.EMERALD_SHARD.ordinal())); 'X', new ItemStack(InitItems.itemSpecialDrop, 1, TheSpecialDrops.EMERALD_SHARD.ordinal()));
//Advanced Leaf Blower //Advanced Leaf Blower
if(ConfigCrafting.LEAF_BLOWER_ADVANCED.isEnabled()) if(ConfigCrafting.LEAF_BLOWER_ADVANCED.isEnabled()){
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(InitItems.itemLeafBlowerAdvanced), GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(InitItems.itemLeafBlowerAdvanced),
" F", "DP", "DC", " F", "DP", "DC",
'F', new ItemStack(Items.flint), 'F', new ItemStack(Items.flint),
'D', "gemDiamond", 'D', "gemDiamond",
'P', new ItemStack(Blocks.piston), 'P', new ItemStack(Blocks.piston),
'C', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.COIL_ADVANCED.ordinal()))); 'C', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.COIL_ADVANCED.ordinal())));
}
//Phantom Connector //Phantom Connector
if(ConfigCrafting.PHANTOM_CONNECTOR.isEnabled()) if(ConfigCrafting.PHANTOM_CONNECTOR.isEnabled()){
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(InitItems.itemPhantomConnector), GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(InitItems.itemPhantomConnector),
"YE", "EY", "S ", "YE", "EY", "S ",
'Y', Items.ender_eye, 'Y', Items.ender_eye,
'E', Items.ender_pearl, 'E', Items.ender_pearl,
'S', "stickWood")); 'S', "stickWood"));
recipePhantomConnector = Util.lastIRecipe();
}
//Quartz //Quartz
GameRegistry.addSmelting(new ItemStack(InitBlocks.blockMisc, 1, TheMiscBlocks.ORE_QUARTZ.ordinal()), GameRegistry.addSmelting(new ItemStack(InitBlocks.blockMisc, 1, TheMiscBlocks.ORE_QUARTZ.ordinal()),
new ItemStack(InitItems.itemMisc, 1, TheMiscItems.QUARTZ.ordinal()), 1F); new ItemStack(InitItems.itemMisc, 1, TheMiscItems.QUARTZ.ordinal()), 1F);
//Knife //Knife
if(ConfigCrafting.KNIFE.isEnabled()) if(ConfigCrafting.KNIFE.isEnabled()){
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(InitItems.itemKnife), GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(InitItems.itemKnife),
new ItemStack(InitItems.itemMisc, 1, TheMiscItems.KNIFE_BLADE.ordinal()), new ItemStack(InitItems.itemMisc, 1, TheMiscItems.KNIFE_BLADE.ordinal()),
new ItemStack(InitItems.itemMisc, 1, TheMiscItems.KNIFE_HANDLE.ordinal()))); new ItemStack(InitItems.itemMisc, 1, TheMiscItems.KNIFE_HANDLE.ordinal())));
}
//Crafter on a Stick //Crafter on a Stick
if(ConfigCrafting.STICK_CRAFTER.isEnabled()) if(ConfigCrafting.STICK_CRAFTER.isEnabled()){
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(InitItems.itemCrafterOnAStick), GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(InitItems.itemCrafterOnAStick),
new ItemStack(Blocks.crafting_table), new ItemStack(Blocks.crafting_table),
new ItemStack(Items.sign))); new ItemStack(Items.sign)));
}
//Tiny Coal //Tiny Coal
GameRegistry.addShapelessRecipe(new ItemStack(InitItems.itemMisc, 8, TheMiscItems.TINY_COAL.ordinal()), GameRegistry.addShapelessRecipe(new ItemStack(InitItems.itemMisc, 8, TheMiscItems.TINY_COAL.ordinal()),
@ -334,16 +361,36 @@ public class ItemCrafting{
'I', "ingotIron", 'I', "ingotIron",
'D', "dustGlowstone")); 'D', "dustGlowstone"));
if(ConfigCrafting.RING_SPEED.isEnabled()) addRingRecipeWithStack(ThePotionRings.SPEED.craftingItem, ThePotionRings.SPEED.ordinal()); if(ConfigCrafting.RING_SPEED.isEnabled()){
if(ConfigCrafting.RING_HASTE.isEnabled()) addRingRecipeWithStack(ThePotionRings.HASTE.craftingItem, ThePotionRings.HASTE.ordinal()); addRingRecipeWithStack(ThePotionRings.SPEED.craftingItem, ThePotionRings.SPEED.ordinal());
if(ConfigCrafting.RING_STRENGTH.isEnabled()) addRingRecipeWithStack(ThePotionRings.STRENGTH.craftingItem, ThePotionRings.STRENGTH.ordinal()); }
if(ConfigCrafting.RING_JUMP_BOOST.isEnabled()) addRingRecipeWithStack(ThePotionRings.JUMP_BOOST.craftingItem, ThePotionRings.JUMP_BOOST.ordinal()); if(ConfigCrafting.RING_HASTE.isEnabled()){
if(ConfigCrafting.RING_REGEN.isEnabled()) addRingRecipeWithStack(ThePotionRings.REGEN.craftingItem, ThePotionRings.REGEN.ordinal()); addRingRecipeWithStack(ThePotionRings.HASTE.craftingItem, ThePotionRings.HASTE.ordinal());
if(ConfigCrafting.RING_RESISTANCE.isEnabled()) addRingRecipeWithStack(ThePotionRings.RESISTANCE.craftingItem, ThePotionRings.RESISTANCE.ordinal()); }
if(ConfigCrafting.RING_FIRE_RESISTANCE.isEnabled()) addRingRecipeWithStack(ThePotionRings.FIRE_RESISTANCE.craftingItem, ThePotionRings.FIRE_RESISTANCE.ordinal()); if(ConfigCrafting.RING_STRENGTH.isEnabled()){
if(ConfigCrafting.RING_WATER_BREATHING.isEnabled()) addRingRecipeWithStack(ThePotionRings.WATER_BREATHING.craftingItem, ThePotionRings.WATER_BREATHING.ordinal()); addRingRecipeWithStack(ThePotionRings.STRENGTH.craftingItem, ThePotionRings.STRENGTH.ordinal());
if(ConfigCrafting.RING_INVISIBILITY.isEnabled()) addRingRecipeWithStack(ThePotionRings.INVISIBILITY.craftingItem, ThePotionRings.INVISIBILITY.ordinal()); }
if(ConfigCrafting.RING_NIGHT_VISION.isEnabled()) addRingRecipeWithStack(ThePotionRings.NIGHT_VISION.craftingItem, ThePotionRings.NIGHT_VISION.ordinal()); if(ConfigCrafting.RING_JUMP_BOOST.isEnabled()){
addRingRecipeWithStack(ThePotionRings.JUMP_BOOST.craftingItem, ThePotionRings.JUMP_BOOST.ordinal());
}
if(ConfigCrafting.RING_REGEN.isEnabled()){
addRingRecipeWithStack(ThePotionRings.REGEN.craftingItem, ThePotionRings.REGEN.ordinal());
}
if(ConfigCrafting.RING_RESISTANCE.isEnabled()){
addRingRecipeWithStack(ThePotionRings.RESISTANCE.craftingItem, ThePotionRings.RESISTANCE.ordinal());
}
if(ConfigCrafting.RING_FIRE_RESISTANCE.isEnabled()){
addRingRecipeWithStack(ThePotionRings.FIRE_RESISTANCE.craftingItem, ThePotionRings.FIRE_RESISTANCE.ordinal());
}
if(ConfigCrafting.RING_WATER_BREATHING.isEnabled()){
addRingRecipeWithStack(ThePotionRings.WATER_BREATHING.craftingItem, ThePotionRings.WATER_BREATHING.ordinal());
}
if(ConfigCrafting.RING_INVISIBILITY.isEnabled()){
addRingRecipeWithStack(ThePotionRings.INVISIBILITY.craftingItem, ThePotionRings.INVISIBILITY.ordinal());
}
if(ConfigCrafting.RING_NIGHT_VISION.isEnabled()){
addRingRecipeWithStack(ThePotionRings.NIGHT_VISION.craftingItem, ThePotionRings.NIGHT_VISION.ordinal());
}
} }
public static void addRingRecipeWithStack(ItemStack mainStack, int meta){ public static void addRingRecipeWithStack(ItemStack mainStack, int meta){

View file

@ -0,0 +1,29 @@
/*
* This file ("BookletEntryAllSearch.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://github.com/Ellpeck/ActuallyAdditions/blob/master/README.md
* View the source code at https://github.com/Ellpeck/ActuallyAdditions
*
* © 2015 Ellpeck
*/
package ellpeck.actuallyadditions.inventory.gui.booklet;
import java.util.ArrayList;
public class BookletEntryAllSearch extends BookletIndexEntry{
public ArrayList<BookletChapter> allChapters = new ArrayList<BookletChapter>();
public BookletEntryAllSearch(String unlocalizedName){
super(unlocalizedName);
}
@SuppressWarnings("unchecked")
@Override
public void addChapter(BookletChapter chapter){
this.allChapters.add(chapter);
this.chapters = (ArrayList<BookletChapter>)this.allChapters.clone();
}
}

View file

@ -20,11 +20,13 @@ import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.gui.FontRenderer;
import net.minecraft.client.gui.GuiButton; import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.gui.GuiScreen; import net.minecraft.client.gui.GuiScreen;
import net.minecraft.client.gui.GuiTextField;
import net.minecraft.client.renderer.OpenGlHelper; import net.minecraft.client.renderer.OpenGlHelper;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation; import net.minecraft.util.ResourceLocation;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL11;
import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
@ -44,6 +46,8 @@ public class GuiBooklet extends GuiScreen{
public int pageOpenInIndex; public int pageOpenInIndex;
public int indexPageAmount; public int indexPageAmount;
private GuiTextField searchField;
private static final int BUTTON_ACHIEVEMENTS_ID = -2; private static final int BUTTON_ACHIEVEMENTS_ID = -2;
private static final int BUTTON_CONFIG_ID = -1; private static final int BUTTON_CONFIG_ID = -1;
private static final int BUTTON_FORWARD_ID = 0; private static final int BUTTON_FORWARD_ID = 0;
@ -56,6 +60,46 @@ public class GuiBooklet extends GuiScreen{
this.ySize = 180; this.ySize = 180;
} }
@Override
public void updateScreen(){
super.updateScreen();
this.searchField.updateCursorCounter();
}
@SuppressWarnings("unchecked")
@Override
public void keyTyped(char theChar, int key){
if(key != 1 && this.searchField.isFocused()){
this.searchField.textboxKeyTyped(theChar, key);
if(this.currentIndexEntry == InitBooklet.allAndSearch){
BookletEntryAllSearch currentEntry = (BookletEntryAllSearch)this.currentIndexEntry;
if(this.searchField.getText() != null && !this.searchField.getText().isEmpty()){
currentEntry.chapters.clear();
for(BookletChapter chapter : currentEntry.allChapters){
if(chapter.getLocalizedName().toLowerCase().contains(this.searchField.getText().toLowerCase())){
currentEntry.chapters.add(chapter);
}
}
}
else{
currentEntry.chapters = (ArrayList<BookletChapter>)currentEntry.allChapters.clone();
}
this.openIndexEntry(this.currentIndexEntry, this.pageOpenInIndex, false);
}
}
else{
super.keyTyped(theChar, key);
}
}
@Override
protected void mouseClicked(int par1, int par2, int par3){
this.searchField.mouseClicked(par1, par2, par3);
super.mouseClicked(par1, par2, par3);
}
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
@Override @Override
public void initGui(){ public void initGui(){
@ -75,10 +119,16 @@ public class GuiBooklet extends GuiScreen{
this.buttonList.add(new TexturedButton(BUTTON_ACHIEVEMENTS_ID, this.guiLeft+138, this.guiTop, 205, 0, 8, 8)); this.buttonList.add(new TexturedButton(BUTTON_ACHIEVEMENTS_ID, this.guiLeft+138, this.guiTop, 205, 0, 8, 8));
this.buttonList.add(new TexturedButton(BUTTON_CONFIG_ID, this.guiLeft+138, this.guiTop+10, 197, 0, 8, 8)); this.buttonList.add(new TexturedButton(BUTTON_CONFIG_ID, this.guiLeft+138, this.guiTop+10, 197, 0, 8, 8));
this.searchField = new GuiTextField(this.unicodeRenderer, guiLeft+148, guiTop+162, 66, 10);
this.searchField.setMaxStringLength(30);
this.searchField.setEnableBackgroundDrawing(false);
this.searchField.setVisible(false);
this.currentPage = null; this.currentPage = null;
this.currentChapter = null; this.currentChapter = null;
this.currentIndexEntry = null; this.currentIndexEntry = null;
this.openIndexEntry(null, 1);
this.openIndexEntry(null, 1, true);
} }
private GuiButton getButton(int id){ private GuiButton getButton(int id){
@ -96,6 +146,10 @@ public class GuiBooklet extends GuiScreen{
this.mc.getTextureManager().bindTexture(resLoc); this.mc.getTextureManager().bindTexture(resLoc);
this.drawTexturedModalRect(this.guiLeft, this.guiTop, 0, 0, this.xSize, this.ySize); this.drawTexturedModalRect(this.guiLeft, this.guiTop, 0, 0, this.xSize, this.ySize);
if(this.currentIndexEntry == InitBooklet.allAndSearch && this.currentChapter == null){
this.drawTexturedModalRect(this.guiLeft+146, this.guiTop+160, 146, 80, 70, 14);
}
if(this.currentIndexEntry != null){ if(this.currentIndexEntry != null){
if(this.currentChapter == null){ if(this.currentChapter == null){
this.drawCenteredString(this.fontRendererObj, this.currentIndexEntry.getLocalizedName(), this.guiLeft+this.xSize/2, this.guiTop-8, StringUtil.DECIMAL_COLOR_WHITE); this.drawCenteredString(this.fontRendererObj, this.currentIndexEntry.getLocalizedName(), this.guiLeft+this.xSize/2, this.guiTop-8, StringUtil.DECIMAL_COLOR_WHITE);
@ -119,6 +173,7 @@ public class GuiBooklet extends GuiScreen{
} }
super.drawScreen(x, y, f); super.drawScreen(x, y, f);
this.searchField.drawTextBox();
//Achievements Hover Text //Achievements Hover Text
if(x >= this.guiLeft+138 && x <= this.guiLeft+138+7 && y >= this.guiTop && y <= this.guiTop+7){ if(x >= this.guiLeft+138 && x <= this.guiLeft+138+7 && y >= this.guiTop && y <= this.guiTop+7){
@ -171,7 +226,7 @@ public class GuiBooklet extends GuiScreen{
if(page != null) this.currentPage = page; if(page != null) this.currentPage = page;
} }
else{ else{
this.openIndexEntry(this.currentIndexEntry, this.pageOpenInIndex+1); this.openIndexEntry(this.currentIndexEntry, this.pageOpenInIndex+1, true);
} }
} }
} }
@ -182,16 +237,16 @@ public class GuiBooklet extends GuiScreen{
if(page != null) this.currentPage = page; if(page != null) this.currentPage = page;
} }
else{ else{
this.openIndexEntry(this.currentIndexEntry, this.pageOpenInIndex-1); this.openIndexEntry(this.currentIndexEntry, this.pageOpenInIndex-1, true);
} }
} }
} }
else if(button.id == BUTTON_RETURN_ID){ else if(button.id == BUTTON_RETURN_ID){
if(this.currentChapter != null){ if(this.currentChapter != null){
this.openIndexEntry(this.currentIndexEntry, this.pageOpenInIndex); this.openIndexEntry(this.currentIndexEntry, this.pageOpenInIndex, true);
} }
else{ else{
this.openIndexEntry(null, 1); this.openIndexEntry(null, 1, true);
} }
} }
else if(button.id >= CHAPTER_BUTTONS_START){ else if(button.id >= CHAPTER_BUTTONS_START){
@ -205,7 +260,7 @@ public class GuiBooklet extends GuiScreen{
} }
else{ else{
if(actualButton < InitBooklet.entries.size()){ if(actualButton < InitBooklet.entries.size()){
this.openIndexEntry(InitBooklet.entries.get(actualButton), 1); this.openIndexEntry(InitBooklet.entries.get(actualButton), 1, true);
} }
} }
} }
@ -220,7 +275,17 @@ public class GuiBooklet extends GuiScreen{
} }
} }
private void openIndexEntry(BookletIndexEntry entry, int page){ @SuppressWarnings("unchecked")
private void openIndexEntry(BookletIndexEntry entry, int page, boolean resetTextField){
if(resetTextField){
this.searchField.setVisible(entry == InitBooklet.allAndSearch);
this.searchField.setFocused(entry == InitBooklet.allAndSearch);
this.searchField.setText("");
if(entry == InitBooklet.allAndSearch){
entry.chapters = (ArrayList<BookletChapter>)((BookletEntryAllSearch)entry).allChapters.clone();
}
}
this.currentPage = null; this.currentPage = null;
this.currentChapter = null; this.currentChapter = null;
@ -244,7 +309,9 @@ public class GuiBooklet extends GuiScreen{
else{ else{
boolean entryExists = entry.chapters.size() > i+(12*this.pageOpenInIndex-12); boolean entryExists = entry.chapters.size() > i+(12*this.pageOpenInIndex-12);
button.visible = entryExists; button.visible = entryExists;
if(entryExists) button.displayString = entry.chapters.get(i+(12*this.pageOpenInIndex-12)).getLocalizedName(); if(entryExists){
button.displayString = entry.chapters.get(i+(12*this.pageOpenInIndex-12)).getLocalizedName();
}
} }
} }
} }
@ -252,6 +319,10 @@ public class GuiBooklet extends GuiScreen{
private void openChapter(BookletChapter chapter){ private void openChapter(BookletChapter chapter){
if(chapter == null) return; if(chapter == null) return;
this.searchField.setVisible(false);
this.searchField.setFocused(false);
this.searchField.setText("");
this.currentChapter = chapter; this.currentChapter = chapter;
this.currentPage = currentChapter.pages[0]; this.currentPage = currentChapter.pages[0];

View file

@ -12,6 +12,7 @@ package ellpeck.actuallyadditions.inventory.gui.booklet;
import ellpeck.actuallyadditions.crafting.BlockCrafting; import ellpeck.actuallyadditions.crafting.BlockCrafting;
import ellpeck.actuallyadditions.crafting.FoodCrafting; import ellpeck.actuallyadditions.crafting.FoodCrafting;
import ellpeck.actuallyadditions.crafting.ItemCrafting;
import ellpeck.actuallyadditions.items.InitItems; import ellpeck.actuallyadditions.items.InitItems;
import ellpeck.actuallyadditions.items.metalists.TheFoods; import ellpeck.actuallyadditions.items.metalists.TheFoods;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
@ -24,12 +25,12 @@ public class InitBooklet{
public static BookletIndexEntry entryFunctionalNonRF = new BookletIndexEntry("functionalNoRF"); public static BookletIndexEntry entryFunctionalNonRF = new BookletIndexEntry("functionalNoRF");
public static BookletIndexEntry entryMisc = new BookletIndexEntry("misc"); public static BookletIndexEntry entryMisc = new BookletIndexEntry("misc");
public static BookletIndexEntry allAndSearch = new BookletIndexEntry("allAndSearch"); public static BookletEntryAllSearch allAndSearch = new BookletEntryAllSearch("allAndSearch");
static{ static{
new BookletChapter("breaker", entryFunctionalNonRF, new PageCrafting(1, BlockCrafting.recipeBreaker), new PageCrafting(2, BlockCrafting.recipePlacer), new PageCrafting(3, BlockCrafting.recipeLiquidPlacer), new PageCrafting(4, BlockCrafting.recipeLiquidCollector)); new BookletChapter("breaker", entryFunctionalNonRF, new PageCrafting(1, BlockCrafting.recipeBreaker), new PageCrafting(2, BlockCrafting.recipePlacer), new PageCrafting(3, BlockCrafting.recipeLiquidPlacer), new PageCrafting(4, BlockCrafting.recipeLiquidCollector));
new BookletChapter("phantomfaces", entryFunctionalNonRF, new PageText(1), new PageCrafting(2, BlockCrafting.recipePhantomface), new PageCrafting(3, BlockCrafting.recipeLiquiface), new PageCrafting(4, BlockCrafting.recipeEnergyface)); new BookletChapter("phantomfaces", entryFunctionalNonRF, new PageText(1), new PageCrafting(2, BlockCrafting.recipePhantomface), new PageCrafting(3, BlockCrafting.recipeLiquiface), new PageCrafting(4, BlockCrafting.recipeEnergyface), new PageCrafting(5, ItemCrafting.recipePhantomConnector));
new BookletChapter("phantomBreaker", entryFunctionalNonRF, new PageText(1), new PageCrafting(2, BlockCrafting.recipePhantomPlacer), new PageCrafting(3, BlockCrafting.recipePhantomBreaker)); new BookletChapter("phantomBreaker", entryFunctionalNonRF, new PageText(1), new PageCrafting(2, BlockCrafting.recipePhantomPlacer), new PageCrafting(3, BlockCrafting.recipePhantomBreaker), new PageCrafting(4, ItemCrafting.recipePhantomConnector));
new BookletChapter("cloud", entryMisc, new PageText(1), new PageCrafting(2, BlockCrafting.recipeSmileyCloud)); new BookletChapter("cloud", entryMisc, new PageText(1), new PageCrafting(2, BlockCrafting.recipeSmileyCloud));
new BookletChapter("foods", entryMisc, new PageCrafting(1, FoodCrafting.recipePizza), new PageFurnace(2, new ItemStack(InitItems.itemFoods, 1, TheFoods.RICE_BREAD.ordinal())), new PageCrafting(3, FoodCrafting.recipeHamburger), new PageCrafting(4, FoodCrafting.recipeBigCookie), new PageCrafting(5, FoodCrafting.recipeSubSandwich), new PageCrafting(6, FoodCrafting.recipeFrenchFry), new PageCrafting(7, FoodCrafting.recipeFrenchFries), new PageCrafting(8, FoodCrafting.recipeFishNChips), new PageCrafting(9, FoodCrafting.recipeCheese), new PageCrafting(10, FoodCrafting.recipePumpkinStew), new PageCrafting(11, FoodCrafting.recipeCarrotJuice), new PageCrafting(12, FoodCrafting.recipeSpaghetti), new PageCrafting(13, FoodCrafting.recipeNoodle), new PageCrafting(14, FoodCrafting.recipeChocolate), new PageCrafting(15, FoodCrafting.recipeChocolateCake), new PageCrafting(16, FoodCrafting.recipeToast), new PageFurnace(17, new ItemStack(InitItems.itemFoods, 1, TheFoods.BAGUETTE.ordinal()))); new BookletChapter("foods", entryMisc, new PageCrafting(1, FoodCrafting.recipePizza), new PageFurnace(2, new ItemStack(InitItems.itemFoods, 1, TheFoods.RICE_BREAD.ordinal())), new PageCrafting(3, FoodCrafting.recipeHamburger), new PageCrafting(4, FoodCrafting.recipeBigCookie), new PageCrafting(5, FoodCrafting.recipeSubSandwich), new PageCrafting(6, FoodCrafting.recipeFrenchFry), new PageCrafting(7, FoodCrafting.recipeFrenchFries), new PageCrafting(8, FoodCrafting.recipeFishNChips), new PageCrafting(9, FoodCrafting.recipeCheese), new PageCrafting(10, FoodCrafting.recipePumpkinStew), new PageCrafting(11, FoodCrafting.recipeCarrotJuice), new PageCrafting(12, FoodCrafting.recipeSpaghetti), new PageCrafting(13, FoodCrafting.recipeNoodle), new PageCrafting(14, FoodCrafting.recipeChocolate), new PageCrafting(15, FoodCrafting.recipeChocolateCake), new PageCrafting(16, FoodCrafting.recipeToast), new PageFurnace(17, new ItemStack(InitItems.itemFoods, 1, TheFoods.BAGUETTE.ordinal())));

View file

@ -364,7 +364,7 @@ achievement.actuallyadditions.openTreasureChest.desc=Open a Treasure Chest under
booklet.actuallyadditions.indexEntry.misc.name=Miscellaneous booklet.actuallyadditions.indexEntry.misc.name=Miscellaneous
booklet.actuallyadditions.indexEntry.functionalNoRF.name=Functional Blocks (No RF use) booklet.actuallyadditions.indexEntry.functionalNoRF.name=Functional Blocks (No RF use)
booklet.actuallyadditions.indexEntry.allAndSearch.name=All Items (Search not implemented) booklet.actuallyadditions.indexEntry.allAndSearch.name=All Items and Search
booklet.actuallyadditions.recipeDisabled=The crafting recipe for this item is disabled in the Config File! If you're on a server, ask the server author to enable it in the config. If you're on a client, press the 'Open Config'-Button on the top right and enable the recipe! booklet.actuallyadditions.recipeDisabled=The crafting recipe for this item is disabled in the Config File! If you're on a server, ask the server author to enable it in the config. If you're on a client, press the 'Open Config'-Button on the top right and enable the recipe!
@ -396,11 +396,13 @@ booklet.actuallyadditions.chapter.phantomfaces.text.1=A Phantomface is a block t
booklet.actuallyadditions.chapter.phantomfaces.text.2=The normal Phantomface can connect to inventories like chests and furnaces, transfering Items into and out of them. booklet.actuallyadditions.chapter.phantomfaces.text.2=The normal Phantomface can connect to inventories like chests and furnaces, transfering Items into and out of them.
booklet.actuallyadditions.chapter.phantomfaces.text.3=The Phantom Liquiface can connect to tanks and such, allowing all types of liquids to be pumped through. Giving it a Redstone Signal will cause it to auto-output. booklet.actuallyadditions.chapter.phantomfaces.text.3=The Phantom Liquiface can connect to tanks and such, allowing all types of liquids to be pumped through. Giving it a Redstone Signal will cause it to auto-output.
booklet.actuallyadditions.chapter.phantomfaces.text.4=The Phantom Energyface can connect to things like generators and crushers, allowing for RF to flow through them into and out of machines. booklet.actuallyadditions.chapter.phantomfaces.text.4=The Phantom Energyface can connect to things like generators and crushers, allowing for RF to flow through them into and out of machines.
booklet.actuallyadditions.chapter.phantomfaces.text.5=Shift-Right-Click this onto any inventory and then on the Phantom Device to connect the two.
booklet.actuallyadditions.chapter.phantomBreaker.name=Phantom Breakers & Placers booklet.actuallyadditions.chapter.phantomBreaker.name=Phantom Breakers & Placers
booklet.actuallyadditions.chapter.phantomBreaker.text.1=Phantom Breakers and Placers have very similar mechanics to Phantomfaces: They can be connected to Blocks via Phantom Connectors and interact with the environment. Phantom Breakers and Placers only have a range of 3 blocks, however, in which they can destroy and place blocks in connected places. Shift-right-clicking will supply you with information about the connection, right-clicking normally will open its interface. booklet.actuallyadditions.chapter.phantomBreaker.text.1=Phantom Breakers and Placers have very similar mechanics to Phantomfaces: They can be connected to Blocks via Phantom Connectors and interact with the environment. Phantom Breakers and Placers only have a range of 3 blocks, however, in which they can destroy and place blocks in connected places. Shift-right-clicking will supply you with information about the connection, right-clicking normally will open its interface.
booklet.actuallyadditions.chapter.phantomBreaker.text.2=The Phantom Placer places Blocks that you supply it with. booklet.actuallyadditions.chapter.phantomBreaker.text.2=The Phantom Placer places Blocks that you supply it with.
booklet.actuallyadditions.chapter.phantomBreaker.text.3=The Phantom Placer breaks blocks and stores them in its internal inventory. booklet.actuallyadditions.chapter.phantomBreaker.text.3=The Phantom Placer breaks blocks and stores them in its internal inventory.
booklet.actuallyadditions.chapter.phantomBreaker.text.4=Shift-Right-Click this onto any inventory and then on the Phantom Device to connect the two.
booklet.actuallyadditions.chapter.breaker.name=(Fluid) Placers & Breakers booklet.actuallyadditions.chapter.breaker.name=(Fluid) Placers & Breakers
booklet.actuallyadditions.chapter.breaker.text.1=The Breaker breaks Blocks in front of it and stores them in its internal inventory. That's it. booklet.actuallyadditions.chapter.breaker.text.1=The Breaker breaks Blocks in front of it and stores them in its internal inventory. That's it.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 18 KiB