TheLazyRando
Terrarian
So, I downloaded the Tmodloader on Mac. What do I do now?
That depends on what you want to do.So, I downloaded the Tmodloader on Mac. What do I do now?
using Microsoft.Xna.Framework;
using Terraria;
using Terraria.ModLoader;
namespace WeaponsofMyth.Projectiles
{
public class RuyiJinguBangProjectile : ModProjectile
{
public override void SetStaticDefaults() {
DisplayName.SetDefault("Spear");
}
public override void SetDefaults() {
projectile.width = 32;
projectile.height = 32;
projectile.aiStyle = 19;
projectile.penetrate = -1;
projectile.scale = 2.3f;
projectile.alpha = 0;
projectile.hide = true;
projectile.ownerHitCheck = true;
projectile.melee = true;
projectile.tileCollide = false;
projectile.friendly = true;
}
// In here the AI uses this example, to make the code more organized and readable
// Also showcased in ExampleJavelinProjectile.cs
public float movementFactor // Change this value to alter how fast the spear moves
{
get => projectile.ai[0];
set => projectile.ai[0] = value;
}
// It appears that for this AI, only the ai0 field is used!
public override void AI() {
// Since we access the owner player instance so much, it's useful to create a helper local variable for this
// Sadly, Projectile/ModProjectile does not have its own
Player projOwner = Main.player[projectile.owner];
// Here we set some of the projectile's owner properties, such as held item and itemtime, along with projectile direction and position based on the player
Vector2 ownerMountedCenter = projOwner.RotatedRelativePoint(projOwner.MountedCenter, true);
projectile.direction = projOwner.direction;
projOwner.heldProj = projectile.whoAmI;
projOwner.itemTime = projOwner.itemAnimation;
projectile.position.X = ownerMountedCenter.X - (float)(projectile.width / 2);
projectile.position.Y = ownerMountedCenter.Y - (float)(projectile.height / 2);
// As long as the player isn't frozen, the spear can move
if (!projOwner.frozen) {
if (movementFactor == 0f) // When initially thrown out, the ai0 will be 0f
{
movementFactor = 3f; // Make sure the spear moves forward when initially thrown out
projectile.netUpdate = true; // Make sure to netUpdate this spear
}
if (projOwner.itemAnimation < projOwner.itemAnimationMax / 3) // Somewhere along the item animation, make sure the spear moves back
{
movementFactor -= 2.4f;
}
else // Otherwise, increase the movement factor
{
movementFactor += 2.1f;
}
}
// Change the spear position based off of the velocity and the movementFactor
projectile.position += projectile.velocity * movementFactor;
// When we reach the end of the animation, we can kill the spear projectile
if (projOwner.itemAnimation == 0) {
projectile.Kill();
}
// Apply proper rotation, with an offset of 135 degrees due to the sprite's rotation, notice the usage of MathHelper, use this class!
// MathHelper.ToRadians(xx degrees here)
projectile.rotation = projectile.velocity.ToRotation() + MathHelper.ToRadians(135f);
// Offset by 90 degrees here
if (projectile.spriteDirection == -1) {
projectile.rotation -= MathHelper.ToRadians(90f);
}
}
}
}
That sounds like it could be a firewall wall problem. Have you tried temporarily turning off your firewall or anti virus?tModLoader doesn't work for me whatsoever, and none of the fixes I've followed seem to fix it.
I'm trying to download Calamity, both without and with music, but whenever I click the download for either option, the empty loading bar appears for a split second, and then I get put back onto the Mod Browser. The mods won't download. The rest of tModLoader works perfectly fine, it's literally just the Mod Browser that won't work.
I'm using a MacBook os High Sierra on Version 10.13.6, using tModLoader v0.11.8.6 for Terraria v1.3.5.3
I've checked to make sure the tModLoader files are on my computer, and they are. The Mods folder is right where it should be, and is empty.
I've tried using the tModLoader Mod Browser Mirror, but the site won't open and gets stuck trying too. This is true on both Safari and Chrome.
Turning on Experimental Features doesn't change anything, let alone fix it.
I've posted a separate forum asking about just having someone provide the files for the Calamity Mod because it seems like it'll work if I do it manually, but I'd prefer to also just have the site work in the future so I won't have to come here and ask for mod files every time I want/need them.
My firewall has always been off and I have no anti-virus. Strangely, I tried the mirror site again and it opens now, but still seems unable to download anythingT
That sounds like it could be a firewall wall problem. Have you tried temporarily turning off your firewall or anti virus?
Based off the example mod example bullet, the Projectile is supposed to have a uppercase p.Whenever I try to add the projectile for the spear I am making, this error shows up. I don't know what to do. Please help. I already checked all my projectiles folders and made sure they were in the correct place. Thank you in advance.
C#:using Microsoft.Xna.Framework; using Terraria; using Terraria.ModLoader; namespace WeaponsofMyth.Projectiles { public class RuyiJinguBangProjectile : ModProjectile { public override void SetStaticDefaults() { DisplayName.SetDefault("Spear"); } public override void SetDefaults() { projectile.width = 32; projectile.height = 32; projectile.aiStyle = 19; projectile.penetrate = -1; projectile.scale = 2.3f; projectile.alpha = 0; projectile.hide = true; projectile.ownerHitCheck = true; projectile.melee = true; projectile.tileCollide = false; projectile.friendly = true; } // In here the AI uses this example, to make the code more organized and readable // Also showcased in ExampleJavelinProjectile.cs public float movementFactor // Change this value to alter how fast the spear moves { get => projectile.ai[0]; set => projectile.ai[0] = value; } // It appears that for this AI, only the ai0 field is used! public override void AI() { // Since we access the owner player instance so much, it's useful to create a helper local variable for this // Sadly, Projectile/ModProjectile does not have its own Player projOwner = Main.player[projectile.owner]; // Here we set some of the projectile's owner properties, such as held item and itemtime, along with projectile direction and position based on the player Vector2 ownerMountedCenter = projOwner.RotatedRelativePoint(projOwner.MountedCenter, true); projectile.direction = projOwner.direction; projOwner.heldProj = projectile.whoAmI; projOwner.itemTime = projOwner.itemAnimation; projectile.position.X = ownerMountedCenter.X - (float)(projectile.width / 2); projectile.position.Y = ownerMountedCenter.Y - (float)(projectile.height / 2); // As long as the player isn't frozen, the spear can move if (!projOwner.frozen) { if (movementFactor == 0f) // When initially thrown out, the ai0 will be 0f { movementFactor = 3f; // Make sure the spear moves forward when initially thrown out projectile.netUpdate = true; // Make sure to netUpdate this spear } if (projOwner.itemAnimation < projOwner.itemAnimationMax / 3) // Somewhere along the item animation, make sure the spear moves back { movementFactor -= 2.4f; } else // Otherwise, increase the movement factor { movementFactor += 2.1f; } } // Change the spear position based off of the velocity and the movementFactor projectile.position += projectile.velocity * movementFactor; // When we reach the end of the animation, we can kill the spear projectile if (projOwner.itemAnimation == 0) { projectile.Kill(); } // Apply proper rotation, with an offset of 135 degrees due to the sprite's rotation, notice the usage of MathHelper, use this class! // MathHelper.ToRadians(xx degrees here) projectile.rotation = projectile.velocity.ToRotation() + MathHelper.ToRadians(135f); // Offset by 90 degrees here if (projectile.spriteDirection == -1) { projectile.rotation -= MathHelper.ToRadians(90f); } } } }
[16:16:15] [1/ERROR] [Terraria]: System.InvalidOperationException: Begin cannot be called again until End has been successfully called.
at Microsoft.Xna.Framework.Graphics.SpriteBatch.Begin(SpriteSortMode sortMode, BlendState blendState, SamplerState samplerState, DepthStencilState depthStencilState, RasterizerState rasterizerState, Effect effect, Matrix transformMatrix)
at Terraria.Main.RenderBackground()
at Terraria.Main.DoDraw(GameTime gameTime)
at Terraria.Main.Draw(GameTime gameTime)
[16:16:16] [1/FATAL] [Terraria]: Main engine crash
System.InvalidOperationException: Begin cannot be called again until End has been successfully called.
at Microsoft.Xna.Framework.Graphics.SpriteBatch.Begin(SpriteSortMode sortMode, BlendState blendState, SamplerState samplerState, DepthStencilState depthStencilState, RasterizerState rasterizerState, Effect effect, Matrix transformMatrix)
at Terraria.Main.RenderBackground()
at Terraria.Main.DoDraw(GameTime gameTime)
at Terraria.Main.Draw(GameTime gameTime)
at Microsoft.Xna.Framework.Game.DrawFrame()
at Microsoft.Xna.Framework.Game.Tick()
at Microsoft.Xna.Framework.Game.HostIdle(Object sender, EventArgs e)
at Microsoft.Xna.Framework.GameHost.OnIdle()
at Microsoft.Xna.Framework.WindowsGameHost.RunOneFrame()
at Microsoft.Xna.Framework.WindowsGameHost.ApplicationIdle(Object sender, EventArgs e)
at System.Windows.Forms.Application.ThreadContext.System.Windows.Forms.UnsafeNativeMethods.IMsoComponent.FDoIdle(Int32 grfidlef)
at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.Run(Form mainForm)
at Microsoft.Xna.Framework.WindowsGameHost.Run()
at Microsoft.Xna.Framework.Game.RunGame(Boolean useBlockingRun)
at Terraria.Program.LaunchGame_()
Projectile.NewProjectile(npc.Center, new Vector2(12, 0).RotatedBy(npc.rotation), mod.ProjectileType("Fireball"), damageFireball, 3f, Main.myPlayer);
[12:08:30] [1/INFO] [tML]: Checking Steam installation...
[12:08:30] [1/INFO] [tML]: Steam installation OK.
[12:08:30] [1/INFO] [Terraria]: Found Terraria steamapp install at: D:\steam\steamapps\common\Terraria
[12:08:30] [1/INFO] [Terraria]: Steam Cloud Quota: 152.6 MB available
[12:08:31] [1/DEBUG] [Terraria]: Graphics Device: Radeon RX 580 Series {Width:1920 Height:1080 Format:Color AspectRatio:1.777778}
[12:08:31] [1/DEBUG] [Terraria]: Device Reset, Profile: Reach -> HiDef, Width: 800, Height: 480, Fullscreen: False, Display: \\.\DISPLAY1
[12:08:32] [1/INFO] [Terraria]: Loaded 1000 vanilla assets
[12:08:32] [1/INFO] [Terraria]: Loaded 2000 vanilla assets
[12:08:33] [1/INFO] [Terraria]: Loaded 3000 vanilla assets
[12:08:33] [1/INFO] [Terraria]: Loaded 4000 vanilla assets
[12:08:33] [1/WARN] [tML]: Silently Caught Exception:
System.InvalidOperationException: Error decompressing content data.
at Microsoft.Xna.Framework.Content.DecompressStream.DecompressNextBuffer()
at Microsoft.Xna.Framework.Content.DecompressStream.ReadByte()
at System.IO.BinaryReader.ReadByte()
at System.IO.BinaryReader.Read7BitEncodedInt()
at Microsoft.Xna.Framework.Content.ContentReader.ReadHeader()
at Microsoft.Xna.Framework.Content.ContentReader.ReadAsset[T]()
at Microsoft.Xna.Framework.Content.ContentManager.ReadAsset[T](String assetName, Action`1 recordDisposableObject)
at Microsoft.Xna.Framework.Content.ContentManager.Load[T](String assetName)
at Terraria.ModLoader.Engine.TMLContentManager.Load[T](String assetName)
at Terraria.Main.OurLoad[T](String path)
at Terraria.Main.LoadTextures()
at Terraria.Main.LoadContent()
at Microsoft.Xna.Framework.Game.DeviceCreated(Object sender, EventArgs e)
at Microsoft.Xna.Framework.GraphicsDeviceManager.OnDeviceCreated(Object sender, EventArgs args)
at Microsoft.Xna.Framework.GraphicsDeviceManager.CreateDevice(GraphicsDeviceInformation newInfo)
at Microsoft.Xna.Framework.GraphicsDeviceManager.ChangeDevice(Boolean forceCreate)
at Terraria.Main.SetGraphicsProfileInternal()
at Terraria.Main.SetGraphicsProfile(GraphicsProfile profile)
at Terraria.Main.LoadContent()
at Microsoft.Xna.Framework.Game.Initialize()
at Terraria.Main.ClientInitialize()
at Terraria.Main.Initialize()
at Microsoft.Xna.Framework.Game.RunGame(Boolean useBlockingRun)
at Terraria.Program.LaunchGame_()
at Terraria.Program.LaunchGame(String[] args, Boolean monoArgs)
at Terraria.WindowsLaunch.Main(String[] args)
[12:08:33] [1/FATAL] [Terraria]: Main engine crash
System.InvalidOperationException: Error decompressing content data.
at Microsoft.Xna.Framework.Content.DecompressStream.DecompressNextBuffer()
at Microsoft.Xna.Framework.Content.DecompressStream.ReadByte()
at System.IO.BinaryReader.ReadByte()
at System.IO.BinaryReader.Read7BitEncodedInt()
at Microsoft.Xna.Framework.Content.ContentReader.ReadHeader()
at Microsoft.Xna.Framework.Content.ContentReader.ReadAsset[T]()
at Microsoft.Xna.Framework.Content.ContentManager.ReadAsset[T](String assetName, Action`1 recordDisposableObject)
at Microsoft.Xna.Framework.Content.ContentManager.Load[T](String assetName)
at Terraria.ModLoader.Engine.TMLContentManager.Load[T](String assetName)
at Terraria.Main.OurLoad[T](String path)
at Terraria.Main.LoadTextures()
at Terraria.Main.LoadContent()
at Microsoft.Xna.Framework.Game.DeviceCreated(Object sender, EventArgs e)
at Microsoft.Xna.Framework.GraphicsDeviceManager.OnDeviceCreated(Object sender, EventArgs args)
at Microsoft.Xna.Framework.GraphicsDeviceManager.CreateDevice(GraphicsDeviceInformation newInfo)
at Microsoft.Xna.Framework.GraphicsDeviceManager.ChangeDevice(Boolean forceCreate)
at Terraria.Main.SetGraphicsProfileInternal()
at Terraria.Main.SetGraphicsProfile(GraphicsProfile profile)
at Terraria.Main.LoadContent()
at Microsoft.Xna.Framework.Game.Initialize()
at Terraria.Main.ClientInitialize()
at Terraria.Main.Initialize()
at Microsoft.Xna.Framework.Game.RunGame(Boolean useBlockingRun)
at Terraria.Program.LaunchGame_()
I'm guessing a bit here, but you could try verifying Terraria's & tModLoader's game files.Hello tmodloader shows this message when i boot it, i tried to disable mods but it didn't work, game crashs.
Code:[12:08:30] [1/INFO] [tML]: Checking Steam installation... [12:08:30] [1/INFO] [tML]: Steam installation OK. [12:08:30] [1/INFO] [Terraria]: Found Terraria steamapp install at: D:\steam\steamapps\common\Terraria [12:08:30] [1/INFO] [Terraria]: Steam Cloud Quota: 152.6 MB available [12:08:31] [1/DEBUG] [Terraria]: Graphics Device: Radeon RX 580 Series {Width:1920 Height:1080 Format:Color AspectRatio:1.777778} [12:08:31] [1/DEBUG] [Terraria]: Device Reset, Profile: Reach -> HiDef, Width: 800, Height: 480, Fullscreen: False, Display: \\.\DISPLAY1 [12:08:32] [1/INFO] [Terraria]: Loaded 1000 vanilla assets [12:08:32] [1/INFO] [Terraria]: Loaded 2000 vanilla assets [12:08:33] [1/INFO] [Terraria]: Loaded 3000 vanilla assets [12:08:33] [1/INFO] [Terraria]: Loaded 4000 vanilla assets [12:08:33] [1/WARN] [tML]: Silently Caught Exception: System.InvalidOperationException: Error decompressing content data. at Microsoft.Xna.Framework.Content.DecompressStream.DecompressNextBuffer() at Microsoft.Xna.Framework.Content.DecompressStream.ReadByte() at System.IO.BinaryReader.ReadByte() at System.IO.BinaryReader.Read7BitEncodedInt() at Microsoft.Xna.Framework.Content.ContentReader.ReadHeader() at Microsoft.Xna.Framework.Content.ContentReader.ReadAsset[T]() at Microsoft.Xna.Framework.Content.ContentManager.ReadAsset[T](String assetName, Action`1 recordDisposableObject) at Microsoft.Xna.Framework.Content.ContentManager.Load[T](String assetName) at Terraria.ModLoader.Engine.TMLContentManager.Load[T](String assetName) at Terraria.Main.OurLoad[T](String path) at Terraria.Main.LoadTextures() at Terraria.Main.LoadContent() at Microsoft.Xna.Framework.Game.DeviceCreated(Object sender, EventArgs e) at Microsoft.Xna.Framework.GraphicsDeviceManager.OnDeviceCreated(Object sender, EventArgs args) at Microsoft.Xna.Framework.GraphicsDeviceManager.CreateDevice(GraphicsDeviceInformation newInfo) at Microsoft.Xna.Framework.GraphicsDeviceManager.ChangeDevice(Boolean forceCreate) at Terraria.Main.SetGraphicsProfileInternal() at Terraria.Main.SetGraphicsProfile(GraphicsProfile profile) at Terraria.Main.LoadContent() at Microsoft.Xna.Framework.Game.Initialize() at Terraria.Main.ClientInitialize() at Terraria.Main.Initialize() at Microsoft.Xna.Framework.Game.RunGame(Boolean useBlockingRun) at Terraria.Program.LaunchGame_() at Terraria.Program.LaunchGame(String[] args, Boolean monoArgs) at Terraria.WindowsLaunch.Main(String[] args) [12:08:33] [1/FATAL] [Terraria]: Main engine crash System.InvalidOperationException: Error decompressing content data. at Microsoft.Xna.Framework.Content.DecompressStream.DecompressNextBuffer() at Microsoft.Xna.Framework.Content.DecompressStream.ReadByte() at System.IO.BinaryReader.ReadByte() at System.IO.BinaryReader.Read7BitEncodedInt() at Microsoft.Xna.Framework.Content.ContentReader.ReadHeader() at Microsoft.Xna.Framework.Content.ContentReader.ReadAsset[T]() at Microsoft.Xna.Framework.Content.ContentManager.ReadAsset[T](String assetName, Action`1 recordDisposableObject) at Microsoft.Xna.Framework.Content.ContentManager.Load[T](String assetName) at Terraria.ModLoader.Engine.TMLContentManager.Load[T](String assetName) at Terraria.Main.OurLoad[T](String path) at Terraria.Main.LoadTextures() at Terraria.Main.LoadContent() at Microsoft.Xna.Framework.Game.DeviceCreated(Object sender, EventArgs e) at Microsoft.Xna.Framework.GraphicsDeviceManager.OnDeviceCreated(Object sender, EventArgs args) at Microsoft.Xna.Framework.GraphicsDeviceManager.CreateDevice(GraphicsDeviceInformation newInfo) at Microsoft.Xna.Framework.GraphicsDeviceManager.ChangeDevice(Boolean forceCreate) at Terraria.Main.SetGraphicsProfileInternal() at Terraria.Main.SetGraphicsProfile(GraphicsProfile profile) at Terraria.Main.LoadContent() at Microsoft.Xna.Framework.Game.Initialize() at Terraria.Main.ClientInitialize() at Terraria.Main.Initialize() at Microsoft.Xna.Framework.Game.RunGame(Boolean useBlockingRun) at Terraria.Program.LaunchGame_()
you'll either need to downgrade calamity, or briefly turn off fargo's souls dlc. Depending on what version of calamity you just updated to some items have been removed, so fargos souls dlc cant access them properly anymoreso, I updated Calamity recently, and for some reason Fargo's mutant mod isn't working anymore, if anyone cold help I'd be really gratefulView attachment 360997
ok, i upgraded to calamity 1.5.1, i was used to having trouble with fargo's mutant mod that i skipped over it saying fargo's souls dlc, lol, but thank you for the helpyou'll either need to downgrade calamity, or briefly turn off fargo's souls dlc. Depending on what version of calamity you just updated to some items have been removed, so fargos souls dlc cant access them properly anymore
using Terraria.ModLoader;
using Terraria.ID;
//due to constraints discovered while debugging this will probably have to be reworked into a multi-purpose acorn
namespace OreTrees.Items
{
public class CopperAcorn : ModItem
{
public override void SetStaticDefaults()
{
Tooltip.SetDefault("An acorn made of copper.\nPlant to grow a copper tree.");
}
public override void SetDefaults()
{
//item.CloneDefaults(4851);
//Topaz Gemcorn doesn't seem to exist in the version of Terraria that tmodloader uses
item.width = 12;
item.height = 12;
item.maxStack = 999;
item.useTurn = true;
item.autoReuse = true;
item.useAnimation = 15;
item.useTime = 10;
item.useStyle = ItemUseStyleID.SwingThrow;
item.consumable = true;
item.createTile = ModContent.TileType<Tiles.CopperSapling>();
}
public override void AddRecipes()
{
ModRecipe recipe = new ModRecipe(mod);
recipe.AddIngredient(ItemID.Acorn);
recipe.AddIngredient(ItemID.CopperOre);
recipe.SetResult(this);
recipe.AddRecipe();
}
}
}
using Terraria.ModLoader;
using Terraria.ObjectData;
using Terraria.ID;
using Terraria.Enums;
using Terraria.DataStructures;
using Terraria;
//using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
namespace OreTrees.Tiles
{
public class CopperSapling : ModTile
{
public override void SetDefaults()
{
Main.tileFrameImportant[Type] = true;
Main.tileNoAttach[Type] = true;
Main.tileLavaDeath[Type] = true;
TileObjectData.newTile.Width = 1;
TileObjectData.newTile.Height = 2;
TileObjectData.newTile.Origin = new Point16(0, 1);
TileObjectData.newTile.AnchorBottom = new AnchorData(AnchorType.SolidTile, TileObjectData.newTile.Width, 0);
TileObjectData.newTile.UsesCustomCanPlace = true;
TileObjectData.newTile.CoordinateHeights = new[] { 16, 18 };
TileObjectData.newTile.CoordinateWidth = 16;
TileObjectData.newTile.CoordinatePadding = 2;
TileObjectData.newTile.AnchorValidTiles = new int[] { TileID.Stone, TileID.Ebonstone, TileID.Crimstone };
//TileObjectData.newTile.AnchorValidTiles = new int[] { TileID.Grass };
TileObjectData.newTile.StyleHorizontal = true;
TileObjectData.newTile.DrawFlipHorizontal = true;
TileObjectData.newTile.WaterPlacement = LiquidPlacement.NotAllowed;
TileObjectData.newTile.LavaDeath = true;
TileObjectData.newTile.RandomStyleRange = 3;
TileObjectData.newTile.StyleMultiplier = 3;
//TileObjectData.newSubTile.CopyFrom(TileObjectData.newTile);
//TileObjectData.newSubTile.AnchorValidTiles = new int[] { TileID.Sand };
//TileObjectData.addSubTile(1);
TileObjectData.addTile(Type);
sapling = true;
adjTiles = new int[] { TileID.Saplings };
}
public override void RandomUpdate(int i, int j)
{
if (WorldGen.genRand.Next(20) == 0)
{
Tile tile = Framing.GetTileSafely(i, j);
bool growSuccess = WorldGen.GrowTree(i, j);
bool isPlayerNear = WorldGen.PlayerLOS(i, j);
if (growSuccess && isPlayerNear)
WorldGen.TreeGrowFXCheck(i, j);
}
}
public override void SetSpriteEffects(int i, int j, ref SpriteEffects effects)
{
if (i % 2 == 1)
effects = SpriteEffects.FlipHorizontally;
}
}
}