diff --git a/build.gradle b/build.gradle index 8cc85470..35d2e817 100644 --- a/build.gradle +++ b/build.gradle @@ -63,7 +63,7 @@ minecraft { version = config.mc_version + "-" + config.forge_version runDir = "run" - replaceIn "Guide-API-Version.info" + replaceIn "GAPIChecker.java" replace "@VERSION@", config.guideapi_version } diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/ItemType.java b/src/main/java/WayofTime/alchemicalWizardry/common/ItemType.java index 912742c4..e71dabe0 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/ItemType.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/ItemType.java @@ -79,6 +79,12 @@ public class ItemType return result; } + @Override + public String toString() + { + return item.getUnlocalizedName() + "@" + meta; + } + public static ItemType fromStack(ItemStack stack) { return new ItemType(stack.getItem(), stack.getItemDamage(), stack.stackTagCompound); diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/book/BloodMagicGuide.java b/src/main/java/WayofTime/alchemicalWizardry/common/book/BloodMagicGuide.java index c48a9b1d..32986d06 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/book/BloodMagicGuide.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/book/BloodMagicGuide.java @@ -40,7 +40,7 @@ public class BloodMagicGuide registerAlchemyBook(); BookBuilder bmBookBuilder = new BookBuilder(); - bmBookBuilder.setCategories(categories).setUnlocBookTitle("guide.BloodMagic.book.title").setUnlocWelcomeMessage("guide.BloodMagic.welcomeMessage").setUnlocDisplayName("guide.BloodMagic.book.name").setBookColor(new Color(190, 10, 0)); + bmBookBuilder.setCategories(categories).setUnlocBookTitle("guide.BloodMagic.book.title").setUnlocWelcomeMessage("guide.BloodMagic.welcomeMessage").setUnlocDisplayName("guide.BloodMagic.book.name").setBookColor(new Color(190, 10, 0)).setAuthor("--Blood Magic"); // bloodMagicGuide = new Book(categories, "guide.BloodMagic.book.title", "guide.BloodMagic.welcomeMessage", "guide.BloodMagic.book.name", new Color(190, 10, 0)); bloodMagicGuide = bmBookBuilder.build(); diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/commands/CommandSN.java b/src/main/java/WayofTime/alchemicalWizardry/common/commands/CommandSN.java index 978baf31..5f96be2d 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/commands/CommandSN.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/commands/CommandSN.java @@ -36,6 +36,7 @@ public class CommandSN extends CommandBase { EntityPlayerMP targetPlayer = getPlayer(icommandsender, astring[0]); String owner = targetPlayer.getDisplayName(); + EntityPlayerMP proxyPlayerName = getPlayer(icommandsender, astring[0]); if (astring.length >= 2 && astring.length <= 3) { @@ -90,7 +91,7 @@ public class CommandSN extends CommandBase else if ("create".equalsIgnoreCase(astring[1])) { int orbTier = parseIntBounded(icommandsender, astring[2], 1, 6); - SoulNetworkHandler.setMaxOrbToMax(owner, orbTier); + SoulNetworkHandler.setMaxOrbToMax(proxyPlayerName.getDisplayName(), orbTier); func_152373_a(icommandsender, this, "commands.soulnetwork.create.success", owner, orbTier); } else diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectMagnetic.java b/src/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectMagnetic.java index 07fa0389..dd099f52 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectMagnetic.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectMagnetic.java @@ -1,11 +1,14 @@ package WayofTime.alchemicalWizardry.common.rituals; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; import net.minecraft.block.Block; import net.minecraft.block.BlockOre; import net.minecraft.block.BlockRedstoneOre; +import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; @@ -16,6 +19,7 @@ import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone; import WayofTime.alchemicalWizardry.api.rituals.RitualComponent; import WayofTime.alchemicalWizardry.api.rituals.RitualEffect; import WayofTime.alchemicalWizardry.api.soulNetwork.SoulNetworkHandler; +import WayofTime.alchemicalWizardry.common.ItemType; import WayofTime.alchemicalWizardry.common.block.BlockTeleposer; public class RitualEffectMagnetic extends RitualEffect @@ -24,15 +28,29 @@ public class RitualEffectMagnetic extends RitualEffect private static final int terraeDrain = 10; private static final int orbisTerraeDrain = 10; + private static final Map oreBlockCache = new HashMap(); + public static boolean isBlockOre(Block block, int meta) { - if (block == null) + if (block == null || Item.getItemFromBlock(block) == null) return false; if (block instanceof BlockOre || block instanceof BlockRedstoneOre) return true; - ItemStack itemStack = new ItemStack(block, 1, meta); + ItemType type = new ItemType(block, meta); + Boolean result = oreBlockCache.get(type); + if (result == null) + { + result = computeIsItemOre(type); + oreBlockCache.put(type, result); + } + return result; + } + + private static boolean computeIsItemOre(ItemType type) + { + ItemStack itemStack = type.createStack(1); for (int id : OreDictionary.getOreIDs(itemStack)) { String oreName = OreDictionary.getOreName(id); @@ -75,6 +93,7 @@ public class RitualEffectMagnetic extends RitualEffect int zRep = 0; boolean replace = false; + outer: for (int j = 1; j <= 3; j++) { for (int i = -1; i <= 1; i++) @@ -87,7 +106,7 @@ public class RitualEffectMagnetic extends RitualEffect yRep = y + j; zRep = z + k; replace = true; - break; + break outer; } } } diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/thread/GAPIChecker.java b/src/main/java/WayofTime/alchemicalWizardry/common/thread/GAPIChecker.java index 7b6da761..70d02550 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/thread/GAPIChecker.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/thread/GAPIChecker.java @@ -18,7 +18,7 @@ import java.util.zip.ZipFile; public class GAPIChecker { public static boolean doneChecking = false; - public static String onlineVersion = ""; + public static String onlineVersion = "@VERSION@"; public static boolean triedToWarnPlayer = false; public static boolean startedDownload = false; diff --git a/src/main/resources/assets/alchemicalwizardry/lang/en_US.lang b/src/main/resources/assets/alchemicalwizardry/lang/en_US.lang index 7711c773..9893f913 100644 --- a/src/main/resources/assets/alchemicalwizardry/lang/en_US.lang +++ b/src/main/resources/assets/alchemicalwizardry/lang/en_US.lang @@ -303,7 +303,7 @@ commands.soulnetwork.noPlayer=There is no player specified commands.soulnetwork.noCommand=There is no command specified commands.soulnetwork.notACommand=That is not a valid command commands.soulnetwork.fillMax.success=Successfully filled %s's Soul Network to their orb max! -commands.soulnetwork.create.success=Successfully created %s's Soul Network (Orb tier:%d) +commands.soulnetwork.create.success=Successfully created %s's Soul Network (Orb tier: %d) #Tooltips tooltip.activationcrystal.creativeonly=Creative Only - activates any ritual diff --git a/src/main/resources/assets/alchemicalwizardryBooks/lang/en_US.lang b/src/main/resources/assets/alchemicalwizardryBooks/lang/en_US.lang index 00bfc4e0..73b24898 100644 --- a/src/main/resources/assets/alchemicalwizardryBooks/lang/en_US.lang +++ b/src/main/resources/assets/alchemicalwizardryBooks/lang/en_US.lang @@ -410,4 +410,5 @@ guide.BloodMagic.category.alchemy=The Alchemist guide.BloodMagic.welcomeMessage= guide.BloodMagic.book.title=Sanguine Scientiem guide.BloodMagic.book.name=Sanguine Scientiem +guide.BloodMagic.authorName= diff --git a/src/main/resources/assets/forge/lang/es_ES.lang b/src/main/resources/assets/forge/lang/es_ES.lang index b7c198ee..de2e5178 100644 --- a/src/main/resources/assets/forge/lang/es_ES.lang +++ b/src/main/resources/assets/forge/lang/es_ES.lang @@ -1,5 +1,212 @@ -commands.forge.usage=Usa /forge . Los subcomandos son tps, track -commands.forge.usage.tracking=Usa /forge track . Los tipos válidos te (Tile Entities). La duración es < 60. -commands.forge.tps.summary=%s : Tiempo de tick medio: %d ms. TPS medio: %d +#Block Localization +tile.bloodAltar.name=Altar de Sangre +tile.bloodRune.blank.name=Runa de Sangre +tile.bloodRune.fill.name=Runa de Capacidad Aumentada +tile.bloodRune.empty.name=Runa de Dislocación +tile.bloodRune.orb.name=Runa del Orbe +tile.bloodRune.betterCapacity.name=Runa de Capacidad Superior +tile.speedRune.name=Runa de Velocidad +tile.efficiencyRune.name=Runa de Eficiencia +tile.runeOfSacrifice.name=Runa de Sacrificio +tile.runeOfSelfSacrifice.name=Runa de Auto-Sacrificio +tile.ritualStone.name=Piedra Ritual +tile.blockMasterStone.name=Piedra Ritual Maestra +tile.bloodSocket.name=Cuenca Llena +tile.imperfectRitualStone.name=Piedra Ritual Imperfecta +tile.armourForge.name=Forja de la Armadura del Alma +tile.emptySocket.name=Cuenca Vacía +tile.bloodStoneBrick.name=Ladrillo de Piedra de Sangre +tile.largeBloodStoneBrick.name=Ladrillo de Piedra de Sangre Grande +tile.blockWritingTable.name=Set de Química Alquímica +tile.blockHomHeart.name=Mesa de Hechizos +tile.bloodPedestal.name=Pedestal Arcano +tile.bloodPlinth.name=Plinto Arcano +tile.bloodTeleposer.name=Teleposador +tile.blockConduit.name=Conductor de Hechizos +tile.blockSpellParadigm.projectile.name=Generador de Partículas +tile.blockSpellParadigm.self.name=Auto-Aumentador +tile.blockSpellParadigm.melee.name=Agregador de Tumultos +tile.blockSpellParadigm.tool.name=Forjador de Herramientas +tile.blockSpellEnhancement.power1.name=Fortalecedor de Hechizos Inestables +tile.blockSpellEnhancement.power2.name=Fortalecedor de Hechizos Estándar +tile.blockSpellEnhancement.power3.name=Fortalecedor de Hechizos Reforzado +tile.blockSpellEnhancement.power4.name=Fortalecedor de Hechizos Imbuido +tile.blockSpellEnhancement.power5.name=Fortalecedor de Hechizos Demoníaco +tile.blockSpellEnhancement.cost1.name=Debilitador de Hechizos Inestable +tile.blockSpellEnhancement.cost2.name=Debilitador de Hechizos Estándar +tile.blockSpellEnhancement.cost3.name=Debilitador de Hechizos Reforzado +tile.blockSpellEnhancement.cost4.name=Debilitador de Hechizos Imbuido +tile.blockSpellEnhancement.cost5.name=Debilitador de Hechizos Demoníaco +tile.blockSpellEnhancement.potency1.name=Aumentador de Hechizos Inestable +tile.blockSpellEnhancement.potency2.name=Aumentador de Hechizos Estándar +tile.blockSpellEnhancement.potency3.name=Aumentador de Hechizos Reforzado +tile.blockSpellEnhancement.potency4.name=Aumentador de Hechizos Imbuido +tile.blockSpellEnhancement.potency5.name=Aumentador de Hechizos Demoníaco +tile.blockSpellModifier.default.name=Modificador de Hechizos por Defecto +tile.blockSpellModifier.offensive.name=Modificador de Hechizos Ofensivos +tile.blockSpellModifier.defensive.name=Modificador de Hechizos Defensivos +tile.blockSpellModifier.environmental.name=Modificador de Hechizos Ambientales +tile.blockSpellEffect.fire.name=Crisol de Fuego +tile.blockSpellEffect.ice.name=Creador de Hielo +tile.blockSpellEffect.wind.name=Generador de Viento +tile.blockSpellEffect.earth.name=Formador de Tierra +tile.alchemicCalcinator.name=Calcinador Alquímico +tile.crystalBelljar.name=Campana de Cristal +tile.blockReagentConduit.name=Relé Alquímico +tile.lifeEssenceFluidBlock.name=Esencia Vital -commands.forge.tracking.te.enabled=Rastreo de Tile Entity activado durante %d segundos. +#Item Localization +item.weakBloodOrb.name=Orbe de Sangre de Débil +item.apprenticeBloodOrb.name=Orbe de Sangre de Aprendiz +item.magicianBloodOrb.name=Orbe de Sangre de Mago +item.masterBloodOrb.name=Orbe de Sangre de Maestro +item.archmageBloodOrb.name=Orbe de Sangre de Archimago +item.energyBlast.name=Dinamitador de Energía +item.energySword.name=Hoja Vinculada +item.lavaCrystal.name=Cristal de Lava +item.waterSigil.name=Sello de Agua +item.lavaSigil.name=Sello de Lava +item.voidSigil.name=Sello del Vacío +item.blankSlate.name=Pizarra en Blanco +item.reinforcedSlate.name=Pizarra Reforzada +item.sacrificialDagger.name=Cuchillo de Sacrificios +item.daggerOfSacrifice.name=Daga de Sacrificio +item.airSigil.name=Sello de Aire +item.sigilOfTheFastMiner.name=Sello del Minero Rápido +item.sigilOfElementalAffinity.name=Sello de Afinidad Elemental +item.sigilOfHaste.name=Sello de Rapidez +item.sigilOfHolding.name=Sello de Propiedad +item.divinationSigil.name=Sello de Adivinación +item.waterScribeTool.name=Herramienta de Inscripción Elemental: Agua +item.fireScribeTool.name=Herramienta de Inscripción Elemental: Fuego +item.earthScribeTool.name=Herramienta de Inscripción Elemental: Tierra +item.airScribeTool.name=Herramienta de Inscripción Elemental: Aire +item.duskScribeTool.name=Herramienta de Inscripción Elemental: Crepúsculo +item.activationCrystalWeak.name=Cristal de Activación Débil +item.activationCrystalAwakened.name=Cristal de Activación Despertado +item.boundPickaxe.name=Pico Vinculado +item.boundAxe.name=Hacha Vinculada +item.boundShovel.name=Pala Vinculada +item.boundHelmet.name=Casco Vinculado +item.boundPlate.name=Pechera Vinculada +item.boundLeggings.name=Pantalones Vinculados +item.boundBoots.name=Botas Vinculadas +item.weakBloodShard.name=Esquirla de Sangre Débil +item.growthSigil.name=Sello de la Pequeña Arboleda +item.blankSpell.name=Cristal Desvinculado +item.alchemyFlask.name=Frasco de Poción +item.standardBindingAgent.name=Agente Vinculante Estándar +item.mundanePowerCatalyst.name=Catalizador de Poder Mundano +item.averagePowerCatalyst.name=Catalizador de Poder Medio +item.greaterPowerCatalyst.name=Catalizador de Poder Grandioso +item.mundaneLengtheningCatalyst.name=Catalizador de Alargamiento Mundano +item.averageLengtheningCatalyst.name=Catalizador de Alargamiento Medio +item.greaterLengtheningCatalyst.name=Catalizador de Alargamiento Grandioso +item.incendium.name=Incendium +item.magicales.name=Magicales +item.sanctus.name=Sanctus +item.aether.name=Aether +item.simpleCatalyst.name=Catalizador Simple +item.crepitous.name=Crepitous +item.crystallos.name=Crystallos +item.terrae.name=Terrae +item.aquasalus.name=Aquasalus +item.tennebrae.name=Tenebrae +item.demonBloodShard.name=Esquirla de Sangre de Demonio +item.sigilOfWind.name=Sello del Torbellino +item.telepositionFocus.name=Centro de Teleposición +item.enhancedTelepositionFocus.name=Centro de Teleposición Mejorado +item.reinforcedTelepositionFocus.name=Centro de Teleposición Reforzado +item.demonicTelepositionFocus.name=Centro de Teleposición Demoníaco +item.imbuedSlate.name=Pizarra Imbuida +item.demonicSlate.name=Pizarra Demoníaca +item.sigilOfTheBridge.name=Sello de Conexión Fantasma +item.armourInhibitor.name=Inhibidor de Armadura +item.cheatyItem.name=Orbe de Ensayo +item.weakFillingAgent.name=Agente Sustancioso Débil +item.standardFillingAgent.name=Centro de Teleposición Estándar +item.enhancedFillingAgent.name=Centro de Teleposición Mejorado +item.weakBindingAgent.name=Agente Vinculante Débil +item.ritualDiviner.name=Adivinador Ritual +item.sigilOfMagnetism.name=Sello de Magnetismo +item.itemDiabloKey.name=Llave de Vinculación +item.energyBazooka.name=Bazooka de Energía +item.bloodLightSigil.name=Sello de la Lámpara de Sangre +item.itemComplexSpellCrystal.name=Cristal de Hechizos Complejo +item.itemSigilOfSupression.name=Sello de Supresión +item.itemSigilOfEnderSeverance.name=Sello de Ruptura de Ender +item.bucketLife.name=Cubo de Vida +item.bloodMagicBaseItem.QuartzRod.name=Vara de Cuarzo +item.bloodMagicBaseItem.EmptyCore.name=Núcleo Vacío +item.bloodMagicBaseItem.MagicalesCable.name=Cable Magicales +item.bloodMagicBaseItem.WoodBrace.name=Puntal de Madera +item.bloodMagicBaseItem.StoneBrace.name=Puntal de Piedra +item.bloodMagicBaseItem.ProjectileCore.name=Núcleo de Proyectil +item.bloodMagicBaseItem.SelfCore.name=Auto-núcleo +item.bloodMagicBaseItem.MeleeCore.name=Núcleo de Tumulto +item.bloodMagicBaseItem.ToolCore.name=Núcleo de Herramienta +item.bloodMagicBaseItem.ParadigmBackPlate.name=Lámina Paradigma +item.bloodMagicBaseItem.OutputCable.name=Cable de Hechizos de Salida +item.bloodMagicBaseItem.InputCable.name=Cable de Hechizos de Entrada +item.bloodMagicBaseItem.FlameCore.name=Núcleo Ígneo +item.bloodMagicBaseItem.IcyCore.name=Núcleo Helado +item.bloodMagicBaseItem.GustCore.name=Núcleo Borrascoso +item.bloodMagicBaseItem.EarthenCore.name=Núcleo Terroso +item.bloodMagicBaseItem.CrackedRunicPlate.name=Placa Rúnica Resquebrajada +item.bloodMagicBaseItem.RunicPlate.name=Placa Rúnica +item.bloodMagicBaseItem.ScribedRunicPlate.name=Placa Rúnica Imbuida +item.bloodMagicBaseItem.DefaultCore.name=Núcleo Descalibrado +item.bloodMagicBaseItem.OffensiveCore.name=Núcleo Ofensivo +item.bloodMagicBaseItem.DefensiveCore.name=Núcleo Defensivo +item.bloodMagicBaseItem.EnvironmentalCore.name=Núcleo Ambiental +item.bloodMagicBaseItem.PowerCore.name=Núcleo de Poder +item.bloodMagicBaseItem.CostCore.name=Núcleo de Reducción +item.bloodMagicBaseItem.PotencyCore.name=Núcleo de Potencial +item.bloodMagicBaseItem.ObsidianBrace.name=Puntal de Obsidiana +item.bloodMagicAlchemyItem.Offensa.name=Offensa +item.bloodMagicAlchemyItem.Praesidium.name=Praesidium +item.bloodMagicAlchemyItem.OrbisTerrae.name=Orbis Terrae +item.bloodMagicAlchemyItem.StrengthenedCatalyst.name=Catalizador Fortalecido +item.bloodMagicAlchemyItem.ConcentratedCatalyst.name=Catalizador Concentrado +item.bloodMagicAlchemyItem.FracturedBone.name=Hueso Fracturado +item.bloodMagicAlchemyItem.Virtus.name=Virtus +item.bloodMagicAlchemyItem.Reductus.name=Reductus +item.bloodMagicAlchemyItem.Potentia.name=Potentia +item.sanguineHelmet.name=Yelmo Sanguíneo +item.itemSeerSigil.name=Sello de la Vista +item.itemFluidSigil.name=Sello del Fluido +item.multiTool.name=Maza Dinámica +item.itemCombinationalCatalyst.name=Catalizador Combinativo +item.sanguineRobe.name=Ropajes Sanguíneos +item.sanguinePants.name=Pantalones Sanguíneos +item.sanguineBoots.name=Botas Sanguíneas +item.itemAttunedCrystal.name=Direccionador Alquímico +item.itemTankSegmenter.name=Segmentador Alquímico +item.destinationClearer.name=Limpiador Alquímico +item.demonPlacer.name=Cristal de Demonio + +#Creative Tab +itemGroup.tabBloodMagic=Blood Magic + +#Extra Strings +bm.string.consume=Uso +bm.string.drain=Drenaje +bm.string.tier=Tier +bm.string.crafting.orb.shaped=Fabricación con forma de Orbe +bm.string.crafting.orb.shapeless=Fabricación sin forma de Orbe + +#Entities +entity.AWWayofTime.EarthElemental.name=Elemental de Tierra +entity.AWWayofTime.FireElemental.name=Elemental de Fuego +entity.AWWayofTime.HolyElemental.name=Elemental Sagrado +entity.AWWayofTime.ShadeElemental.name=Elemental Sombrío +entity.AWWayofTime.WaterElemental.name=Elemental de Agua +entity.AWWayofTime.AirElemental.name=Elemental de Aire +entity.AWWayofTime.Shade.name=Sombra +entity.AWWayofTime.BoulderFist.name=Puño Rocoso +entity.AWWayofTime.IceDemon.name=Demonio de Hielo +entity.AWWayofTime.SmallEarthGolem.name=Gólem de Tierra Pequeño +entity.AWWayofTime.WingedFireDemon.name=Demonio de Fuego Alado +entity.AWWayofTime.BileDemon.name=Demonio Malhumorado +entity.AWWayofTime.LowerGuardian.name=Guardián Inferior +entity.AWWayofTime.FallenAngel.name=Ángel Caído