diff --git a/Items/InfinitePlacement.cs b/Items/InfiniteWrench.cs similarity index 95% rename from Items/InfinitePlacement.cs rename to Items/InfiniteWrench.cs index 247645e..b6fe5c9 100644 --- a/Items/InfinitePlacement.cs +++ b/Items/InfiniteWrench.cs @@ -8,7 +8,7 @@ namespace BuilderEssentials.Items { - class InfinitePlacement : ModItem + class InfiniteWrench : ModItem { public override void SetStaticDefaults() { @@ -33,7 +33,7 @@ public override void SetDefaults() Item otherAccessory = Main.LocalPlayer.armor[i]; if (!otherAccessory.IsAir && !item.IsTheSameAs(otherAccessory) && - otherAccessory.modItem is InfinitePlacement) + otherAccessory.modItem is InfiniteWrench) { return (i, otherAccessory); } @@ -91,7 +91,7 @@ public override void AddRecipes() { //Not really worried about balancing at this point ModRecipe modRecipe = new ModRecipe(mod); - modRecipe.AddIngredient(mod.GetItem("InfiniteUpgrade"), 1); + modRecipe.AddIngredient(mod.GetItem("InfinityUpgrade"), 1); modRecipe.AddIngredient(mod.GetItem("PlacementWrench"), 1); modRecipe.AddTile(TileID.TinkerersWorkbench); modRecipe.SetResult(this); diff --git a/Items/InfinitePlacement.png b/Items/InfiniteWrench.png similarity index 100% rename from Items/InfinitePlacement.png rename to Items/InfiniteWrench.png diff --git a/Items/InfiniteUpgrade.cs b/Items/InfinityUpgrade.cs similarity index 96% rename from Items/InfiniteUpgrade.cs rename to Items/InfinityUpgrade.cs index 3184fb2..fdef79a 100644 --- a/Items/InfiniteUpgrade.cs +++ b/Items/InfinityUpgrade.cs @@ -9,7 +9,7 @@ namespace BuilderEssentials.Items { - class InfiniteUpgrade : ModItem + class InfinityUpgrade : ModItem { public override void SetStaticDefaults() { @@ -34,7 +34,7 @@ public override void SetDefaults() Item otherAccessory = Main.LocalPlayer.armor[i]; if (!otherAccessory.IsAir && !item.IsTheSameAs(otherAccessory) && - otherAccessory.modItem is InfinitePlacement) + otherAccessory.modItem is InfinityUpgrade) { return (i, otherAccessory); } diff --git a/Items/InfiniteUpgrade.png b/Items/InfinityUpgrade.png similarity index 100% rename from Items/InfiniteUpgrade.png rename to Items/InfinityUpgrade.png diff --git a/Items/Placeable/MultiCraftingStation.cs b/Items/Placeable/MultiCraftingStation.cs index d54acfc..b26aff0 100644 --- a/Items/Placeable/MultiCraftingStation.cs +++ b/Items/Placeable/MultiCraftingStation.cs @@ -9,8 +9,8 @@ namespace BuilderEssentials.Items.Placeable { - class MultiCraftingStation : ModItem - { + class MultiCraftingStation : ModItem + { public override void SetStaticDefaults() { Tooltip.SetDefault("This is a modded workbench."); @@ -31,16 +31,16 @@ public override void SetDefaults() item.createTile = TileType(); } - //TODO: Separate recipe into Pre-Hardmode, Hardmode + Specialized and Themed Furniture - //Max 14 ingredients for each recipe - public override void AddRecipes() + //TODO: Separate recipe into Pre-Hardmode, Hardmode + Specialized and Themed Furniture + //Max 14 ingredients for each recipe + public override void AddRecipes() { ModRecipe recipe = new ModRecipe(mod); recipe.AddIngredient(mod.GetItem("PreHardmodeCraftingStation"), 1); recipe.AddIngredient(mod.GetItem("HardmodeCraftingStation"), 1); recipe.AddIngredient(mod.GetItem("SpecializedCraftingStation"), 1); recipe.AddIngredient(mod.GetItem("ThemedFurnitureCraftingStation"), 1); - recipe.AddTile(TileID.DemonAltar); + recipe.AddTile(TileID.TinkerersWorkbench); recipe.SetResult(this); recipe.AddRecipe(); } diff --git a/Items/Placeable/MultiCraftingStation.png b/Items/Placeable/MultiCraftingStation.png index 019edcd..b64465b 100644 Binary files a/Items/Placeable/MultiCraftingStation.png and b/Items/Placeable/MultiCraftingStation.png differ diff --git a/Items/PlacementWrench.cs b/Items/PlacementWrench.cs index 7274a90..e3bc42a 100644 --- a/Items/PlacementWrench.cs +++ b/Items/PlacementWrench.cs @@ -34,7 +34,7 @@ public override void SetDefaults() Item otherAccessory = Main.LocalPlayer.armor[i]; if (!otherAccessory.IsAir && !item.IsTheSameAs(otherAccessory) && - otherAccessory.modItem is InfinitePlacement) + otherAccessory.modItem is PlacementWrench) { return (i, otherAccessory); } diff --git a/Items/SpecializedCraftingStation.cs b/Items/SpecializedCraftingStation.cs index 1ee52ac..1e5a948 100644 --- a/Items/SpecializedCraftingStation.cs +++ b/Items/SpecializedCraftingStation.cs @@ -28,7 +28,7 @@ public override void AddRecipes() recipe.AddIngredient(ItemID.MeatGrinder, 1); recipe.AddRecipeGroup("BuilderEssentials:Campfires", 1); - recipe.AddTile(TileID.DemonAltar); + recipe.AddTile(TileID.MythrilAnvil); recipe.SetResult(this); recipe.AddRecipe(); } diff --git a/Items/ThemedFurnitureCraftingStation.cs b/Items/ThemedFurnitureCraftingStation.cs index f15dcb5..080bcbb 100644 --- a/Items/ThemedFurnitureCraftingStation.cs +++ b/Items/ThemedFurnitureCraftingStation.cs @@ -33,7 +33,7 @@ public override void AddRecipes() recipe.AddIngredient(ItemID.FleshCloningVaat, 1); recipe.AddIngredient(ItemID.SteampunkBoiler, 1); recipe.AddIngredient(ItemID.LihzahrdFurnace, 1); - recipe.AddTile(TileID.DemonAltar); + recipe.AddTile(TileID.MythrilAnvil); recipe.SetResult(this); recipe.AddRecipe(); } diff --git a/Tiles/MultiCraftingStation.cs b/Tiles/MultiCraftingStation.cs index 95bab5e..d5ab1ed 100644 --- a/Tiles/MultiCraftingStation.cs +++ b/Tiles/MultiCraftingStation.cs @@ -1,6 +1,8 @@ using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Graphics; using Terraria; using Terraria.DataStructures; +using Terraria.Enums; using Terraria.ID; using Terraria.ModLoader; using Terraria.ObjectData; @@ -10,35 +12,59 @@ namespace BuilderEssentials.Tiles { class MultiCraftingStation : ModTile { - public override void SetDefaults() - { - Main.tileSolidTop[Type] = false; - Main.tileFrameImportant[Type] = true; - Main.tileNoAttach[Type] = true; - Main.tileTable[Type] = true; - Main.tileLavaDeath[Type] = true; - TileObjectData.newTile.CopyFrom(TileObjectData.Style3x3); - TileObjectData.newTile.Origin = new Point16(1, 1); - TileObjectData.newTile.CoordinateHeights = new[] { 16, 16, 16 }; - TileObjectData.newTile.Height = 3; - TileObjectData.newTile.CoordinateWidth = 16; - TileObjectData.newTile.Width = 3; - TileObjectData.addTile(Type); - AddToArray(ref TileID.Sets.RoomNeeds.CountsAsTable); - disableSmartCursor = true; - adjTiles = new int[] { TileID.WorkBenches, TileID.Furnaces, TileID.Hellforge, TileID.Anvils, TileID.AlchemyTable, TileID.Sinks, - TileID.Sawmill, TileID.Loom, TileID.Chairs, TileID.Tables, TileID.Tables2, TileID.CookingPots, TileID.TinkerersWorkbench, - TileID.ImbuingStation, TileID.DyeVat, TileID.HeavyWorkBench, TileID.DemonAltar, TileID.MythrilAnvil, - TileID.AdamantiteForge, TileID.Bookcases, TileID.CrystalBall, TileID.Autohammer, TileID.LunarCraftingStation, - TileID.Kegs, TileID.Blendomatic, TileID.MeatGrinder, TileID.BoneWelder, TileID.GlassKiln, TileID.HoneyDispenser, - TileID.IceMachine, TileID.LivingLoom, TileID.SkyMill, TileID.Solidifier, TileID.FleshCloningVat, TileID.SteampunkBoiler, - TileID.LihzahrdFurnace, TileID.WaterDrip, TileID.Waterfall, TileID.LavaDrip, TileID.Lavafall, - TileID.HoneyDrip, TileID.Honeyfall, TileID.Campfire, TileID.Extractinator}; - } + public override void SetDefaults() + { + Main.tileSolidTop[Type] = false; + Main.tileFrameImportant[Type] = true; + Main.tileNoAttach[Type] = true; + Main.tileTable[Type] = true; + Main.tileLavaDeath[Type] = false; + animationFrameHeight = 36; + TileObjectData.newTile.CopyFrom(TileObjectData.Style4x2); + TileObjectData.newTile.CoordinateHeights = new[] { 16, 16}; + TileObjectData.newTile.Height = 2; + TileObjectData.newTile.CoordinateWidth = 16; + TileObjectData.newTile.Width = 4; + TileObjectData.newTile.Direction = TileObjectDirection.PlaceLeft; + TileObjectData.newTile.StyleWrapLimit = 2; + TileObjectData.newTile.StyleMultiplier = 2; + TileObjectData.newTile.StyleHorizontal = true; + TileObjectData.newAlternate.CopyFrom(TileObjectData.newTile); + TileObjectData.newAlternate.Direction = TileObjectDirection.PlaceRight; + TileObjectData.addAlternate(1); + TileObjectData.addTile(Type); + AddToArray(ref TileID.Sets.RoomNeeds.CountsAsTable); + AddToArray(ref TileID.Sets.RoomNeeds.CountsAsChair); + AddToArray(ref TileID.Sets.RoomNeeds.CountsAsTorch); + disableSmartCursor = true; + adjTiles = new int[] { TileID.WorkBenches, TileID.Furnaces, TileID.Hellforge, TileID.Anvils, TileID.AlchemyTable, TileID.Sinks, + TileID.Sawmill, TileID.Loom, TileID.Chairs, TileID.Tables, TileID.Tables2, TileID.CookingPots, TileID.TinkerersWorkbench, + TileID.ImbuingStation, TileID.DyeVat, TileID.HeavyWorkBench, TileID.DemonAltar, TileID.MythrilAnvil, + TileID.AdamantiteForge, TileID.Bookcases, TileID.CrystalBall, TileID.Autohammer, TileID.LunarCraftingStation, + TileID.Kegs, TileID.Blendomatic, TileID.MeatGrinder, TileID.BoneWelder, TileID.GlassKiln, TileID.HoneyDispenser, + TileID.IceMachine, TileID.LivingLoom, TileID.SkyMill, TileID.Solidifier, TileID.FleshCloningVat, TileID.SteampunkBoiler, + TileID.LihzahrdFurnace, TileID.WaterDrip, TileID.Waterfall, TileID.LavaDrip, TileID.Lavafall, + TileID.HoneyDrip, TileID.Honeyfall, TileID.Campfire, TileID.Extractinator}; + } - public override void KillMultiTile(int i, int j, int frameX, int frameY) - { - Item.NewItem(i * 16, j * 16, 32, 16, ItemType()); - } - } + public override void AnimateTile(ref int frame, ref int frameCounter) + { + //Spend 10 ticks on each of 8 frames, looping + frameCounter++; + if (frameCounter > 8) + { + frameCounter = 0; + frame++; + if (frame > 6) + { + frame = 0; + } + } + } + + public override void KillMultiTile(int i, int j, int frameX, int frameY) + { + Item.NewItem(i * 16, j * 16, 32, 16, ItemType()); + } + } } diff --git a/Tiles/MultiCraftingStation.png b/Tiles/MultiCraftingStation.png index 41f8b13..8da3f2c 100644 Binary files a/Tiles/MultiCraftingStation.png and b/Tiles/MultiCraftingStation.png differ diff --git a/build.txt b/build.txt index 139166d..f4505ef 100644 --- a/build.txt +++ b/build.txt @@ -1,4 +1,5 @@ displayName = Builder Essentials author = Kirtle -version = 0.1.5 -buildIgnore = *.csproj, *.user, obj\*, bin\*, .vs\* \ No newline at end of file +version = 0.1.6 +buildIgnore = *.csproj, *.user, obj\*, bin\*, .vs\* +homepage = https://forums.terraria.org/index.php?threads/builder-essentials.94175/ \ No newline at end of file diff --git a/description.txt b/description.txt index f60260b..03a0711 100644 --- a/description.txt +++ b/description.txt @@ -1,15 +1,13 @@ -Builder Essentials is a mod designed to help and improve building in survival (and post moonlord / creative). +Builder Essentials is a mod designed to help and improve building in survival (and post Moon Lord / creative). -The main feature is a toggleable seconday accessory system allowing for 5-7 building accessories while being able to go back to your normal accessories, with a press of a key. -On top of that, the mod also adds: - - - A MultiCraftingStation that can be used to craft all the recipes in the game. (Divided in 4 crafting stations: Pre hardmode, Hardmode, Themed furniture and Specialized items) - - An accessory that allows infinite reach and fast placement. (Divided in 2 accessories, for each functionality alone as well) +The main feature is a toggleable secondary accessory system allowing for 5-7 building accessories while being able to go back to your normal accessories, with a press of a key. +On top of that, this mod adds more useful tools! Check its Homepage! Default KeyBind to toggle Building Mode is N, be sure to set it up on the configs. Happy Building! Kirtle Latest Changelog: - - Introduced 2 new accessories that make up the 2 functionalities present in the Infinite Placement accessory - - Added Infinite Reach to the Infinite Placement accessory \ No newline at end of file + - Updated some accessories names + - Resprited the Multi Crafting Station + - Added a homepage, the thread on Terraria Forums! \ No newline at end of file