From 03628e01d47b4a77cbae1cd411d344aa0b65f03b Mon Sep 17 00:00:00 2001 From: mDiyo Date: Wed, 17 Jul 2013 02:04:28 -0700 Subject: [PATCH] 1.4.1 --- assets/tinker/manuals/materials.xml | 41 ++++++++++++++++++ .../items/arrow/thaumium_arrow_head.png | Bin 0 -> 116 bytes .../items/arrow/thuamium_arrow_shaft.png | Bin 0 -> 104 bytes .../items/parts/thaumium_arrowhead.png | Bin 0 -> 141 bytes tconstruct/TConstruct.java | 1 + tconstruct/client/TProxyClient.java | 6 +++ tconstruct/client/gui/PartCrafterGui.java | 6 ++- tconstruct/client/gui/SmelteryGui.java | 20 ++++++++- tconstruct/common/TContent.java | 28 +++++++++++- tconstruct/entity/projectile/ArrowEntity.java | 19 ++++++++ tconstruct/inventory/ToolForgeContainer.java | 1 + .../inventory/ToolStationContainer.java | 2 - tconstruct/items/GoldenHead.java | 14 +++--- tconstruct/util/player/TPlayerHandler.java | 3 +- test/XinStick.java | 1 - 15 files changed, 127 insertions(+), 15 deletions(-) create mode 100644 mods/tinker/textures/items/arrow/thaumium_arrow_head.png create mode 100644 mods/tinker/textures/items/arrow/thuamium_arrow_shaft.png create mode 100644 mods/tinker/textures/items/parts/thaumium_arrowhead.png diff --git a/assets/tinker/manuals/materials.xml b/assets/tinker/manuals/materials.xml index 9be2af4d..4b45474d 100644 --- a/assets/tinker/manuals/materials.xml +++ b/assets/tinker/manuals/materials.xml @@ -436,6 +436,47 @@ Class: Heavy Melee Weapon + +Shortbow +The Shortbow is a weapon used to fire arrows. It has a quick, short range. +Right-click: Draw bow +- The further a bow is drawn, the further an arrow flies and the more damage it does. + +Class: Ranged Projectile Launcher +shortbowIcon + + Tool Rod + toolrod + + + Bowstring + bowstring + + + Tool Rod + toolrod + + + + +Arrow +Arrows are fired from bows as projectiles. They can also be used as stabbing weapons in a pinch. +Class: Ammunition +arrowIcon + + Arrowhead + arrowhead + + + Tool Rod + toolrod + + + Fletching + fletching + + + Material Traits Some materials have traits that augment their natural uses. diff --git a/mods/tinker/textures/items/arrow/thaumium_arrow_head.png b/mods/tinker/textures/items/arrow/thaumium_arrow_head.png new file mode 100644 index 0000000000000000000000000000000000000000..b5effc7391aeea223d45bd494ca4562a1f465a22 GIT binary patch literal 116 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`)}AhoAr*6yH<)z%;XlOlgelYT z?Elcn*9Y2ItgcT;7dSIv>SzDS=^Q5*CZtVJOxekh#&L6&`#}wfUknWAGiB!f<)~W< PG={;`)z4*}Q$iB}uO=qV literal 0 HcmV?d00001 diff --git a/mods/tinker/textures/items/arrow/thuamium_arrow_shaft.png b/mods/tinker/textures/items/arrow/thuamium_arrow_shaft.png new file mode 100644 index 0000000000000000000000000000000000000000..50070b32ec238b93435017af134566b555a2e2d9 GIT binary patch literal 104 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%``kpS1Ar*6y6C~msqI^E@U+Vaz zzKbWq^8c3=iWzMoscWTG+E}cv^O!rIFl%_lz`$|Bisj(W2f;wC44$rjF6*2UngELR BAE^KU literal 0 HcmV?d00001 diff --git a/mods/tinker/textures/items/parts/thaumium_arrowhead.png b/mods/tinker/textures/items/parts/thaumium_arrowhead.png new file mode 100644 index 0000000000000000000000000000000000000000..06f155f58a5d9d9c015e7342ba1ca31d38014b20 GIT binary patch literal 141 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`A)YRdAr*6y6C_wA9HM+a?_cVu zA~QMlz^R|h5AM*)mVL=~kcT0&?V-bSsYkqwk_~Gns+@h%)?iY7Q*2^7gNJbkTjC5w om3CI6**en|q#JS`XgIJk)Uf;Ah|N263TQrqr>mdKI;Vst0Bs~K+yDRo literal 0 HcmV?d00001 diff --git a/tconstruct/TConstruct.java b/tconstruct/TConstruct.java index 8640640d..dcf730bd 100644 --- a/tconstruct/TConstruct.java +++ b/tconstruct/TConstruct.java @@ -88,6 +88,7 @@ public class TConstruct chiselDetailing = new Detailing(); content = new TContent(); + content.modRecipes(); events = new TEventHandler(); events.unfuxOreDictionary(); diff --git a/tconstruct/client/TProxyClient.java b/tconstruct/client/TProxyClient.java index 51b3eb95..89729dad 100644 --- a/tconstruct/client/TProxyClient.java +++ b/tconstruct/client/TProxyClient.java @@ -502,6 +502,10 @@ public class TProxyClient extends TProxyCommon TConstructClientRegistry.registerManualIcon("toughrod", new ItemStack(TContent.toughRod, 1, 0)); TConstructClientRegistry.registerManualIcon("toughbinding", new ItemStack(TContent.toughBinding, 1, 17)); TConstructClientRegistry.registerManualIcon("largeplate", new ItemStack(TContent.heavyPlate, 1, 17)); + + TConstructClientRegistry.registerManualIcon("bowstring", new ItemStack(TContent.bowstring, 1, 0)); + TConstructClientRegistry.registerManualIcon("arrowhead", new ItemStack(TContent.arrowhead, 1, 2)); + TConstructClientRegistry.registerManualIcon("fletching", new ItemStack(TContent.fletching, 1, 0)); // ToolIcons TConstructClientRegistry.registerManualIcon("pickicon", @@ -521,6 +525,8 @@ public class TProxyClient extends TProxyCommon TConstructClientRegistry.registerManualIcon("frypanicon", ToolBuilder.instance.buildTool(new ItemStack(TContent.frypanHead, 1, 10), new ItemStack(TContent.toolRod, 1, 11), null, "")); TConstructClientRegistry.registerManualIcon("battlesignicon", ToolBuilder.instance.buildTool(new ItemStack(TContent.signHead, 1, 10), new ItemStack(TContent.toolRod, 1, 11), null, "")); TConstructClientRegistry.registerManualIcon("chiselicon", ToolBuilder.instance.buildTool(new ItemStack(TContent.chiselHead, 1, 10), new ItemStack(TContent.toolRod, 1, 11), null, "")); + TConstructClientRegistry.registerManualIcon("shortbowIcon", ToolBuilder.instance.buildTool(new ItemStack(TContent.toolRod, 1, 10), new ItemStack(TContent.bowstring, 1, 0), new ItemStack(TContent.toolRod, 1, 12), "")); + TConstructClientRegistry.registerManualIcon("arrowIcon", ToolBuilder.instance.buildTool(new ItemStack(TContent.arrowhead, 1, 10), new ItemStack(TContent.toolRod, 1, 11), new ItemStack(TContent.fletching, 1, 0), "")); TConstructClientRegistry.registerManualIcon("hammericon", ToolBuilder.instance.buildTool(new ItemStack(TContent.hammerHead, 1, 10), new ItemStack(TContent.toughRod, 1, 11), new ItemStack( TContent.heavyPlate, 1, 12), new ItemStack(TContent.heavyPlate, 8), "")); diff --git a/tconstruct/client/gui/PartCrafterGui.java b/tconstruct/client/gui/PartCrafterGui.java index 0635c737..fbb0e753 100644 --- a/tconstruct/client/gui/PartCrafterGui.java +++ b/tconstruct/client/gui/PartCrafterGui.java @@ -57,13 +57,15 @@ public class PartCrafterGui extends NewContainerGui void drawMaterialInformation () { ItemStack top = logic.getStackInSlot(2); + //ItemStack topResult = logic.getStackInSlot(4); ItemStack bottom = logic.getStackInSlot(3); + //ItemStack bottomResult = logic.getStackInSlot(6); if (topMaterial != top) { topMaterial = top; int topID = PatternBuilder.instance.getPartID(top); - if (topID != Short.MAX_VALUE) + if (topID != Short.MAX_VALUE)// && topResult != null) { topEnum = TConstructRegistry.getMaterial(topID); hasTop = true; @@ -78,7 +80,7 @@ public class PartCrafterGui extends NewContainerGui bottomMaterial = bottom; int bottomID = PatternBuilder.instance.getPartID(bottom); - if (bottomID != Short.MAX_VALUE) + if (bottomID != Short.MAX_VALUE)// && bottomResult != null) { bottomEnum = TConstructRegistry.getMaterial(bottomID); hasBottom = true; diff --git a/tconstruct/client/gui/SmelteryGui.java b/tconstruct/client/gui/SmelteryGui.java index 64b32eaa..8720fc11 100644 --- a/tconstruct/client/gui/SmelteryGui.java +++ b/tconstruct/client/gui/SmelteryGui.java @@ -184,7 +184,7 @@ public class SmelteryGui extends NewContainerGui { int total = logic.getTotalLiquid(); int liquidLayers = (total / 20000 + 1) * 20000; - if (liquidLayers != 0) + if (liquidLayers > 0) { int liquidSize = liquid.amount * 52 / liquidLayers; if (liquidSize == 0) @@ -280,7 +280,7 @@ public class SmelteryGui extends NewContainerGui float emeralds = liquid.amount / 320f; list.add("Emeralds: " + emeralds); } - else + else if (name.contains("Molten")) { int ingots = liquid.amount / 144; if (ingots > 0) @@ -296,6 +296,22 @@ public class SmelteryGui extends NewContainerGui list.add("mB: " + mB); } } + else if (name.equals("Seared Stone")) + { + int ingots = liquid.amount / 144; + if (ingots > 0) + list.add("Blocks: " + ingots); + int mB = liquid.amount % 144; + if (mB > 0) + { + list.add("mB: " + mB); + } + } + else + { + int mB = liquid.amount; + list.add("mB: " + mB); + } } return list; } diff --git a/tconstruct/common/TContent.java b/tconstruct/common/TContent.java index 173aad2f..aea55c00 100644 --- a/tconstruct/common/TContent.java +++ b/tconstruct/common/TContent.java @@ -35,6 +35,21 @@ import net.minecraft.block.material.*; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.*; import net.minecraft.item.crafting.*; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockDispenser; +import net.minecraft.block.material.MapColor; +import net.minecraft.block.material.Material; +import net.minecraft.block.material.MaterialLiquid; +import net.minecraft.entity.EnumCreatureType; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.item.crafting.CraftingManager; +import net.minecraft.item.crafting.FurnaceRecipes; +import net.minecraft.item.crafting.RecipesTools; +import net.minecraft.item.crafting.RecipesWeapons; +import net.minecraft.item.crafting.ShapedRecipes; + import net.minecraft.nbt.NBTTagCompound; import net.minecraft.potion.Potion; import net.minecraft.util.WeightedRandomChestContent; @@ -1565,8 +1580,15 @@ public class TContent implements IFuelHandler GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Block.cloth, 8, i), pattern, 'm', dyeTypes[15 - i], '#', new ItemStack(Block.cloth, 1, Short.MAX_VALUE))); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(stainedGlassClear, 8, i), pattern, 'm', dyeTypes[15 - i], '#', clearGlass)); GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(stainedGlassClear, 1, i), dyeTypes[15 - i], clearGlass)); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(stainedGlassClearPane, 8, i), pattern, 'm', dyeTypes[15 - i], '#', glassPane)); + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(stainedGlassClearPane, 1, i), dyeTypes[15 - i], glassPane)); } + //Glass + GameRegistry.addRecipe(new ItemStack(Item.glassBottle, 3), new Object[] {"# #", " # ", '#', clearGlass}); + GameRegistry.addRecipe(new ItemStack(Block.daylightSensor), new Object[] {"GGG", "QQQ", "WWW", 'G', Block.glass, 'Q', Item.netherQuartz, 'W', Block.woodSingleSlab}); + GameRegistry.addRecipe(new ItemStack(Block.beacon, 1), new Object[] {"GGG", "GSG", "OOO", 'G', clearGlass, 'S', Item.netherStar, 'O', Block.obsidian}); + //Smeltery ItemStack searedBrick = new ItemStack(materials, 1, 2); GameRegistry.addRecipe(new ItemStack(smeltery, 1, 0), "bbb", "b b", "bbb", 'b', searedBrick); //Controller @@ -1576,6 +1598,10 @@ public class TContent implements IFuelHandler GameRegistry.addRecipe(new ItemStack(lavaTank, 1, 0), "bbb", "bgb", "bbb", 'b', searedBrick, 'g', Block.glass); //Tank GameRegistry.addRecipe(new ItemStack(lavaTank, 1, 1), "bgb", "ggg", "bgb", 'b', searedBrick, 'g', Block.glass); //Glass GameRegistry.addRecipe(new ItemStack(lavaTank, 1, 2), "bgb", "bgb", "bgb", 'b', searedBrick, 'g', Block.glass); //Window + + GameRegistry.addRecipe(new ItemStack(lavaTank, 1, 0), "bbb", "bgb", "bbb", 'b', searedBrick, 'g', clearGlass); //Tank + GameRegistry.addRecipe(new ItemStack(lavaTank, 1, 1), "bgb", "ggg", "bgb", 'b', searedBrick, 'g', clearGlass); //Glass + GameRegistry.addRecipe(new ItemStack(lavaTank, 1, 2), "bgb", "bgb", "bgb", 'b', searedBrick, 'g', clearGlass); //Window GameRegistry.addRecipe(new ItemStack(searedBlock, 1, 0), "bbb", "b b", "b b", 'b', searedBrick); //Table GameRegistry.addRecipe(new ItemStack(searedBlock, 1, 1), "b b", " b ", 'b', searedBrick); //Faucet @@ -1627,7 +1653,7 @@ public class TContent implements IFuelHandler } //Drying rack - DryingRackRecipes.addDryingRecipe(Item.rottenFlesh, 20, Item.leather); + DryingRackRecipes.addDryingRecipe(Item.rottenFlesh, 20*60*5, Item.leather); //Slabs for (int i = 0; i < 7; i++) diff --git a/tconstruct/entity/projectile/ArrowEntity.java b/tconstruct/entity/projectile/ArrowEntity.java index 1f72ffaa..3a5580a0 100644 --- a/tconstruct/entity/projectile/ArrowEntity.java +++ b/tconstruct/entity/projectile/ArrowEntity.java @@ -226,6 +226,25 @@ public class ArrowEntity extends EntityArrow implements IEntityAdditionalSpawnDa movingobjectposition.entityHit.setFire(5); } + if (returnStack.hasTagCompound()) + { + int fireAspect = 0; + NBTTagCompound toolTags = returnStack.getTagCompound().getCompoundTag("InfiTool"); + if (toolTags.hasKey("Fiery") || toolTags.hasKey("Lava")) + { + fireAspect *= 4; + if (toolTags.hasKey("Fiery")) + { + fireAspect += toolTags.getInteger("Fiery") / 5 + 1; + } + if (toolTags.getBoolean("Lava")) + { + fireAspect += 3; + } + entity.setFire(fireAspect); + } + } + if (movingobjectposition.entityHit.attackEntityFrom(damagesource, damageInflicted)) { if (movingobjectposition.entityHit instanceof EntityLivingBase) diff --git a/tconstruct/inventory/ToolForgeContainer.java b/tconstruct/inventory/ToolForgeContainer.java index e4d76094..fbb1c168 100644 --- a/tconstruct/inventory/ToolForgeContainer.java +++ b/tconstruct/inventory/ToolForgeContainer.java @@ -70,6 +70,7 @@ public class ToolForgeContainer extends ToolStationContainer } } + @Override protected void craftTool (ItemStack stack) { NBTTagCompound tags = stack.getTagCompound(); diff --git a/tconstruct/inventory/ToolStationContainer.java b/tconstruct/inventory/ToolStationContainer.java index 064e8fcc..19c455f9 100644 --- a/tconstruct/inventory/ToolStationContainer.java +++ b/tconstruct/inventory/ToolStationContainer.java @@ -139,8 +139,6 @@ public class ToolStationContainer extends ActiveContainer logic.decrStackSize(1, amount); logic.worldObj.playSoundEffect(logic.xCoord, logic.yCoord, logic.zCoord, "tinker:little_saw", 1.0F, (random.nextFloat() - random.nextFloat()) * 0.2F + 1.0F); - /*if (!player.worldObj.isRemote) - player.worldObj.playAuxSFX(1021, (int)player.posX, (int)player.posY, (int)player.posZ, 0);*/ } } diff --git a/tconstruct/items/GoldenHead.java b/tconstruct/items/GoldenHead.java index 1e253722..e676ba31 100644 --- a/tconstruct/items/GoldenHead.java +++ b/tconstruct/items/GoldenHead.java @@ -68,11 +68,13 @@ public class GoldenHead extends ItemFood public void registerIcons (IconRegister iconRegister) { this.itemIcon = iconRegister.registerIcon("tinker:skull_char_gold"); - /*this.icons = new Icon[textureNames.length]; - - for (int i = 0; i < this.icons.length; ++i) - { - this.icons[i] = iconRegister.registerIcon("tinker:"+textureNames[i]); - }*/ + } + + @Override + @SideOnly(Side.CLIENT) + public void addInformation (ItemStack stack, EntityPlayer player, List list, boolean par4) + { + list.add("\u00a75\u00a7oSome say consuming the head of a"); + list.add("\u00a75\u00a7ofallen foe strengthens the blood"); } } diff --git a/tconstruct/util/player/TPlayerHandler.java b/tconstruct/util/player/TPlayerHandler.java index 3dbff3c4..49231f71 100644 --- a/tconstruct/util/player/TPlayerHandler.java +++ b/tconstruct/util/player/TPlayerHandler.java @@ -19,6 +19,7 @@ import tconstruct.library.tools.AbilityHelper; import tconstruct.util.PHConstruct; import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.common.IPlayerTracker; +import cpw.mods.fml.common.Loader; import cpw.mods.fml.common.network.PacketDispatcher; import cpw.mods.fml.common.network.Player; import cpw.mods.fml.relauncher.Side; @@ -83,7 +84,7 @@ public class TPlayerHandler implements IPlayerTracker entityplayer.addChatMessage("Solution 2: Disable Auto-Smelt/Fortune interaction from TConstruct."); } } - + updatePlayerInventory(entityplayer, stats); } diff --git a/test/XinStick.java b/test/XinStick.java index 83b1f160..b554da12 100644 --- a/test/XinStick.java +++ b/test/XinStick.java @@ -2,7 +2,6 @@ package test; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.passive.EntityChicken; import net.minecraft.entity.player.EntityPlayer;