diff --git a/resources/assets/tinker/lang/de_DE.lang b/resources/assets/tinker/lang/de_DE.lang index d61f3a5d..dee2f807 100644 --- a/resources/assets/tinker/lang/de_DE.lang +++ b/resources/assets/tinker/lang/de_DE.lang @@ -134,7 +134,7 @@ item.InfiTool.Axe.name=Beil item.InfiTool.Broadsword.name=Breitschwert item.InfiTool.Longsword.name=Langschwert item.InfiTool.Rapier.name=Rapier -item.InfiTool.Frypan.name=Bratpfanne +item.InfiTool.FryPan.name=Bratpfanne item.InfiTool.Battlesign.name=Kampf item.InfiTool.Dagger.name=Dolch item.InfiTool.Chisel.name=Meißel @@ -557,9 +557,28 @@ fluid.blood=Blut fluid.nickel.molten=Geschmolzenes Nickel fluid.lead.molten=Geschmolzenes Blei fluid.silver.molten=Geschmolzenes Silber -fluid.platinum.molten=Geschmolzenes Platin +fluid.shiny=Geschmolzenes Schimmerndes Metall fluid.invar=Geschmolzenes Invar fluid.electrum=Geschmolzenes Elektrum -fluid.shiny=Geschmolzenes Shiny fluid.ender=Flüssiges Ender fluid.slime.blue=Flüssiger Blauschleim + + +tconstruct.achievementPage.name=TConstruct +achievement.tconstruct.beginner=Lernen zu Basteln +achievement.tconstruct.pattern=Schablonenarbeiter +achievement.tconstruct.tinkerer=Bastler +achievement.tconstruct.proTinkerer=Profibastler +achievement.tconstruct.smelteryMaker=Schmelzereibauer +achievement.tconstruct.preparedFight=Bereit zum Kampf +achievement.tconstruct.enemySlayer=Feindesschlächter +achievement.tconstruct.dualConvenience=Zweifache Annehmlichkeit + +achievement.tconstruct.beginner.desc=Öffne das "Materialien und DU" Handbuch +achievement.tconstruct.pattern.desc=Baue deine erste Leere Schablone +achievement.tconstruct.tinkerer.desc=Baue dein erstes Werkzeug +achievement.tconstruct.proTinkerer.desc=Baue dein erstes Stufe-2-Werkzeug +achievement.tconstruct.smelteryMaker.desc=Baue eine Schmelzereikomponente +achievement.tconstruct.preparedFight.desc=Kreiere deine erste Waffe +achievement.tconstruct.enemySlayer.desc=Schlachte ein Monster ab +achievement.tconstruct.dualConvenience.desc=Töte ein Tier mit einer Bratpfanne und koche dann dein Fleisch mit ihr diff --git a/resources/assets/tinker/lang/en_US.lang b/resources/assets/tinker/lang/en_US.lang index 2fbfdb43..5a9305b2 100644 --- a/resources/assets/tinker/lang/en_US.lang +++ b/resources/assets/tinker/lang/en_US.lang @@ -134,7 +134,7 @@ item.InfiTool.Axe.name=Hatchet item.InfiTool.Broadsword.name=Broadsword item.InfiTool.Longsword.name=Longsword item.InfiTool.Rapier.name=Rapier -item.InfiTool.Frypan.name=Frying Pan +item.InfiTool.FryPan.name=Frying Pan item.InfiTool.Battlesign.name=Battlesign item.InfiTool.Dagger.name=Dagger item.InfiTool.Chisel.name=Chisel @@ -571,7 +571,7 @@ achievement.tconstruct.proTinkerer=Pro Tinkerer achievement.tconstruct.smelteryMaker=Smeltery Creator achievement.tconstruct.preparedFight=Prepared to Fight achievement.tconstruct.enemySlayer=Enemy Slayer -achievement.tconstruct.convenientDuo=Convenient Duo(NYI) +achievement.tconstruct.dualConvenience=Dual Convenience achievement.tconstruct.beginner.desc=Open the "Materials and You" manual achievement.tconstruct.pattern.desc=Craft your first blank pattern @@ -579,5 +579,5 @@ achievement.tconstruct.tinkerer.desc=Create your first tool achievement.tconstruct.proTinkerer.desc=Craft your first tier 2 tool achievement.tconstruct.smelteryMaker.desc=Craft a smeltery component achievement.tconstruct.preparedFight.desc=Create your first weapon -achievement.tconstruct.enemySlayer.desc=Slay an enemy -achievement.tconstruct.convenientDuo=Kill an enemy with a frying pan, and then cook their meat in it +achievement.tconstruct.enemySlayer.desc=Slay a mob +achievement.tconstruct.dualConvenience.desc=Kill a mob with a frying pan, and then cook their meat in it diff --git a/resources/assets/tinker/lang/it_IT.lang b/resources/assets/tinker/lang/it_IT.lang index 2b348a15..2cc73685 100644 --- a/resources/assets/tinker/lang/it_IT.lang +++ b/resources/assets/tinker/lang/it_IT.lang @@ -134,7 +134,7 @@ item.InfiTool.Axe.name=Accetta item.InfiTool.Broadsword.name=Spadone item.InfiTool.Longsword.name=Spada Lunga item.InfiTool.Rapier.name=Stocco -item.InfiTool.Frypan.name=Padella +item.InfiTool.FryPan.name=Padella item.InfiTool.Battlesign.name=Insegna da Guerra item.InfiTool.Dagger.name=Daga item.InfiTool.Chisel.name=Cesello @@ -572,7 +572,7 @@ achievement.tconstruct.proTinkerer=Armeggiatore Pro achievement.tconstruct.smelteryMaker=Creatore di una Fonderia achievement.tconstruct.preparedFight=Preparato a Combattere achievement.tconstruct.enemySlayer=Uccisore di Nemici -achievement.tconstruct.convenientDuo=Duo Conveniente +achievement.tconstruct.dualConvenience=Duo Conveniente achievement.tconstruct.beginner.desc=Apri il tuo manuale "Materiali e Tu" achievement.tconstruct.pattern.desc=Crea il tuo primo modello @@ -580,5 +580,5 @@ achievement.tconstruct.tinkerer.desc=Crea il tuo primo attrezzo achievement.tconstruct.proTinkerer.desc=Crea il tuo primo attrezzo di livello 2 achievement.tconstruct.smelteryMaker.desc=Crea un componente della fonderia achievement.tconstruct.preparedFight.desc=Crea la tua prima arma -achievement.tconstruct.enemySlayer.desc=Uccidi un nemico -achievement.tconstruct.convenientDuo=Uccidi un nemico con una padella, e cuoci la sua carne in questa +achievement.tconstruct.enemySlayer.desc=Uccidi un mob +achievement.tconstruct.convenientDuo=Uccidi un mob con una padella, e cuoci la sua carne in questa diff --git a/resources/assets/tinker/lang/zh_CN.lang b/resources/assets/tinker/lang/zh_CN.lang index 40e468f8..7eb7dc11 100644 --- a/resources/assets/tinker/lang/zh_CN.lang +++ b/resources/assets/tinker/lang/zh_CN.lang @@ -139,7 +139,7 @@ item.InfiTool.Axe.name=手斧 item.InfiTool.Broadsword.name=大剑 item.InfiTool.Longsword.name=长剑 item.InfiTool.Rapier.name=西洋剑 -item.InfiTool.Frypan.name=煎锅 +item.InfiTool.FryPan.name=煎锅 item.InfiTool.Battlesign.name=战斗牌子 item.InfiTool.Dagger.name=匕首 item.InfiTool.Chisel.name=凿子 diff --git a/resources/assets/tinker/textures/blocks/bricks/smooth_obsidian.png b/resources/assets/tinker/textures/blocks/bricks/smooth_obsidian.png new file mode 100644 index 00000000..0221fad3 Binary files /dev/null and b/resources/assets/tinker/textures/blocks/bricks/smooth_obsidian.png differ diff --git a/resources/assets/tinker/textures/items/achievementIcons/dualConvenience.png b/resources/assets/tinker/textures/items/achievementIcons/dualConvenience.png new file mode 100644 index 00000000..e5ec5ae2 Binary files /dev/null and b/resources/assets/tinker/textures/items/achievementIcons/dualConvenience.png differ diff --git a/resources/assets/tinker/textures/items/dagger/flux_dagger_effect..png b/resources/assets/tinker/textures/items/dagger/flux_dagger_effect..png deleted file mode 100644 index 4bbeec8d..00000000 Binary files a/resources/assets/tinker/textures/items/dagger/flux_dagger_effect..png and /dev/null differ diff --git a/resources/assets/tinker/textures/items/dagger/flux_dagger_effect.png b/resources/assets/tinker/textures/items/dagger/flux_dagger_effect.png new file mode 100644 index 00000000..d8fc37d5 Binary files /dev/null and b/resources/assets/tinker/textures/items/dagger/flux_dagger_effect.png differ diff --git a/resources/assets/tinker/textures/items/pickmattock/flux_pickmattock_effect.png b/resources/assets/tinker/textures/items/pickmattock/flux_pickmattock_effect.png index 03c4a674..b5d0c2b7 100644 Binary files a/resources/assets/tinker/textures/items/pickmattock/flux_pickmattock_effect.png and b/resources/assets/tinker/textures/items/pickmattock/flux_pickmattock_effect.png differ diff --git a/resources/assets/tinker/textures/items/rapier/flux_rapier_effect.png b/resources/assets/tinker/textures/items/rapier/flux_rapier_effect.png index 45448b79..2517b406 100644 Binary files a/resources/assets/tinker/textures/items/rapier/flux_rapier_effect.png and b/resources/assets/tinker/textures/items/rapier/flux_rapier_effect.png differ diff --git a/resources/mcmod.info b/resources/mcmod.info index 7eeec94f..9ee570a4 100644 --- a/resources/mcmod.info +++ b/resources/mcmod.info @@ -10,7 +10,7 @@ "authors": [ "mDiyo", "fuj1n", "ProgWML6", "Sunstrike", "Pillbox" ], - "credits": "Slime Knights, Samtrion", + "credits": "Slime Knights, Samtrion, Abculatter_2", "logoFile": "", "screenshots": [], "parent":"", diff --git a/src/tconstruct/blocks/logic/FrypanLogic.java b/src/tconstruct/blocks/logic/FrypanLogic.java index 69042dbd..dcbaba5d 100644 --- a/src/tconstruct/blocks/logic/FrypanLogic.java +++ b/src/tconstruct/blocks/logic/FrypanLogic.java @@ -287,7 +287,7 @@ public class FrypanLogic extends EquipLogic implements IActiveLogic @Override public Container getGuiContainer (InventoryPlayer inventoryplayer, World world, int x, int y, int z) { - return new FrypanContainer(inventoryplayer, this); + return new FrypanContainer(inventoryplayer.player, this); } /*@Override diff --git a/src/tconstruct/common/TContent.java b/src/tconstruct/common/TContent.java index 269fb70d..da97ae06 100644 --- a/src/tconstruct/common/TContent.java +++ b/src/tconstruct/common/TContent.java @@ -2415,8 +2415,9 @@ public class TContent implements IFuelHandler achievements.put("tconstruct.pattern", new Achievement(2002, "tconstruct.pattern", 2, 1, blankPattern, achievements.get("tconstruct.beginner")).registerAchievement()); achievements.put("tconstruct.tinkerer", new Achievement(2003, "tconstruct.tinkerer", 2, 2, new ItemStack(titleIcon, 1, 4096), achievements.get("tconstruct.pattern")).registerAchievement()); achievements.put("tconstruct.preparedFight", new Achievement(2004, "tconstruct.preparedFight", 1, 3, new ItemStack(titleIcon, 1, 4097), achievements.get("tconstruct.tinkerer")).registerAchievement()); - achievements.put("tconstruct.proTinkerer", new Achievement(2005, "tconstruct.proTinkerer", 4, 3, new ItemStack(titleIcon, 1, 4098), achievements.get("tconstruct.tinkerer")).setSpecial().registerAchievement()); + achievements.put("tconstruct.proTinkerer", new Achievement(2005, "tconstruct.proTinkerer", 4, 4, new ItemStack(titleIcon, 1, 4098), achievements.get("tconstruct.tinkerer")).setSpecial().registerAchievement()); achievements.put("tconstruct.smelteryMaker", new Achievement(2006, "tconstruct.smelteryMaker", -2, -1, smeltery, achievements.get("tconstruct.beginner")).registerAchievement()); achievements.put("tconstruct.enemySlayer", new Achievement(2007, "tconstruct.enemySlayer", 0, 5, new ItemStack(titleIcon, 1, 4099), achievements.get("tconstruct.preparedFight")).registerAchievement()); + achievements.put("tconstruct.dualConvenience", new Achievement(2008, "tconstruct.dualConvenience", 0, 7, new ItemStack(titleIcon, 1, 4100), achievements.get("tconstruct.enemySlayer")).setSpecial().registerAchievement()); } } diff --git a/src/tconstruct/inventory/FrypanContainer.java b/src/tconstruct/inventory/FrypanContainer.java index 09f9f4eb..9d39308d 100644 --- a/src/tconstruct/inventory/FrypanContainer.java +++ b/src/tconstruct/inventory/FrypanContainer.java @@ -1,12 +1,9 @@ package tconstruct.inventory; -import tconstruct.blocks.logic.FrypanLogic; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.inventory.Container; -import net.minecraft.inventory.ICrafting; -import net.minecraft.inventory.Slot; +import net.minecraft.entity.player.*; +import net.minecraft.inventory.*; import net.minecraft.item.ItemStack; +import tconstruct.blocks.logic.FrypanLogic; public class FrypanContainer extends Container { @@ -15,13 +12,14 @@ public class FrypanContainer extends Container public int fuel = 0; public int fuelGague = 0; - public FrypanContainer(InventoryPlayer inventoryplayer, FrypanLogic frypan) + public FrypanContainer(EntityPlayer player, FrypanLogic frypan) { + InventoryPlayer inventoryplayer = player.inventory; logic = frypan; this.addSlotToContainer(new Slot(frypan, 1, 26, 45)); for (int y = 0; y < 2; y++) for (int x = 0; x < 4; x++) - this.addSlotToContainer(new Slot(frypan, 2 + x + y * 4, 70 + x * 18, 27 + y * 18)); + this.addSlotToContainer(new SlotFrypan(frypan, 2 + x + y * 4, 70 + x * 18, 27 + y * 18, player)); /* Player inventory */ for (int column = 0; column < 3; column++) diff --git a/src/tconstruct/inventory/SlotFrypan.java b/src/tconstruct/inventory/SlotFrypan.java new file mode 100644 index 00000000..d12113d9 --- /dev/null +++ b/src/tconstruct/inventory/SlotFrypan.java @@ -0,0 +1,30 @@ +package tconstruct.inventory; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.*; +import net.minecraft.item.*; +import net.minecraft.nbt.NBTTagCompound; +import tconstruct.achievements.TAchievements; + +public class SlotFrypan extends Slot{ + + public EntityPlayer player; + + public SlotFrypan(IInventory par1IInventory, int par2, int par3, int par4, EntityPlayer player) { + super(par1IInventory, par2, par3, par4); + this.player = player; + } + + @Override + public void putStack(ItemStack par1ItemStack){ + super.putStack(par1ItemStack); + if(par1ItemStack != null && par1ItemStack.getItem() != null && par1ItemStack.getItem() instanceof ItemFood && par1ItemStack.hasTagCompound()){ + NBTTagCompound stackTagCompound = par1ItemStack.getTagCompound(); + if(stackTagCompound == null || !stackTagCompound.getBoolean("frypanKill")){ + return; + } + player.addStat(TAchievements.achievements.get("tconstruct.dualConvenience"), 1); + } + } + +} diff --git a/src/tconstruct/items/TitleIcon.java b/src/tconstruct/items/TitleIcon.java index a83218c8..af8dcb97 100644 --- a/src/tconstruct/items/TitleIcon.java +++ b/src/tconstruct/items/TitleIcon.java @@ -27,7 +27,7 @@ public class TitleIcon extends Item int[] secondaryColor = { 0x1567BF, 0xFFEC6E }; String[] mobNames = { "TConstruct.EdibleSlime", "TConstruct.KingSlime" }; - String[] achievementIconNames = new String[] {"tinkerer", "preparedFight", "proTinkerer", "enemySlayer"}; + String[] achievementIconNames = new String[] {"tinkerer", "preparedFight", "proTinkerer", "enemySlayer", "dualConvenience"}; Icon[] achievementIcons = new Icon[achievementIconNames.length]; public TitleIcon(int par1) diff --git a/src/tconstruct/util/TEventHandler.java b/src/tconstruct/util/TEventHandler.java index 2074937d..a516f648 100644 --- a/src/tconstruct/util/TEventHandler.java +++ b/src/tconstruct/util/TEventHandler.java @@ -1,9 +1,8 @@ package tconstruct.util; -import tconstruct.achievements.TAchievements; +import net.minecraft.item.crafting.FurnaceRecipes; import java.util.Random; - import net.minecraft.block.Block; import net.minecraft.entity.*; import net.minecraft.entity.boss.EntityWither; @@ -23,8 +22,10 @@ import net.minecraftforge.event.entity.player.*; import net.minecraftforge.event.entity.player.PlayerInteractEvent.Action; import net.minecraftforge.oredict.OreDictionary.OreRegisterEvent; import tconstruct.TConstruct; +import tconstruct.achievements.TAchievements; import tconstruct.blocks.*; import tconstruct.common.TContent; +import tconstruct.items.tools.FryingPan; import tconstruct.library.TConstructRegistry; import tconstruct.library.crafting.ToolBuilder; import tconstruct.library.event.*; @@ -223,6 +224,23 @@ public class TEventHandler @ForgeSubscribe public void onLivingDrop (LivingDropsEvent event) { + if(event.source.getEntity() != null && event.source.getEntity() instanceof EntityPlayer){ + EntityPlayer player = (EntityPlayer)event.source.getEntity(); + if(player.getHeldItem() != null && player.getHeldItem().getItem() instanceof FryingPan){ + for(int i = 0; i < event.drops.size(); i++){ + ItemStack is = event.drops.get(i).getEntityItem(); + if(FurnaceRecipes.smelting().getSmeltingResult(is) != null && FurnaceRecipes.smelting().getSmeltingResult(is).getItem() instanceof ItemFood){ + NBTTagCompound stackCompound = is.getTagCompound(); + if(stackCompound == null){ + stackCompound = new NBTTagCompound(); + } + stackCompound.setBoolean("frypanKill", true); + is.setTagCompound(stackCompound); + } + } + } + } + if (random.nextInt(500) == 0 && event.entityLiving instanceof IMob && event.entityLiving.dimension == 0) { ItemStack dropStack = new ItemStack(TContent.heartCanister, 1, 1);