219
edits
m (Smile moved page Commands to Mod:Commands: Commands should be the commands currently in the game not how to add commands to the game.) |
Lazy Warlock (talk | contribs) No edit summary |
||
(2 intermediate revisions by 2 users not shown) | |||
Line 5: | Line 5: | ||
The idea is to add a command which makes it easier for your mates to locate you. Therefore we will spawn some particles alongside a playing sound, so others can see and hear where you are at the moment. | The idea is to add a command which makes it easier for your mates to locate you. Therefore we will spawn some particles alongside a playing sound, so others can see and hear where you are at the moment. | ||
You can download the required assets [ | You can download the required assets [https://wiki.vintagestory.at/images/1/16/Here_Assets.zip here]. Just extract them in your mods directory and you are good to go. | ||
== Implementation == | == Implementation == | ||
Line 50: | Line 50: | ||
(IServerPlayer player, int groupId, CmdArgs args) => | (IServerPlayer player, int groupId, CmdArgs args) => | ||
{ | { | ||
EntityPlayer byEntity = player.Entity; | |||
byEntity.World.PlaySoundAt(sound, byEntity); // Play sound | byEntity.World.PlaySoundAt(sound, byEntity); // Play sound | ||
Vec3d pos = byEntity.Pos.XYZ.Add(0, byEntity.EyeHeight | Vec3d pos = byEntity.Pos.XYZ.Add(0, byEntity.EyeHeight, 0); // Setting up position to spawn particles | ||
Random rand = new Random(); | Random rand = new Random(); | ||
for (int i = 0; i < 100; i++) // Spawn 100 particles | for (int i = 0; i < 100; i++) // Spawn 100 particles | ||
Line 59: | Line 59: | ||
Vec3d realPos = pos.AddCopy(-0.1 + rand.NextDouble() * 0.2, 0, -0.1 + rand.NextDouble() * 0.2); | Vec3d realPos = pos.AddCopy(-0.1 + rand.NextDouble() * 0.2, 0, -0.1 + rand.NextDouble() * 0.2); | ||
Vec3f velocity = new Vec3f(-0.2F + (float) rand.NextDouble() * 0.4F, 0.4F + (float) rand.NextDouble() * 2F, -0.2F + (float) rand.NextDouble() * 0.4F); | Vec3f velocity = new Vec3f(-0.2F + (float) rand.NextDouble() * 0.4F, 0.4F + (float) rand.NextDouble() * 2F, -0.2F + (float) rand.NextDouble() * 0.4F); | ||
byEntity.World.SpawnParticles(1, ColorUtil. | byEntity.World.SpawnParticles(1, ColorUtil.ColorFromRgba(255, rand.Next(0, 255), rand.Next(0, 255), rand.Next(0, 255)), | ||
realPos, realPos, | realPos, realPos, | ||
velocity, velocity, (float) rand.NextDouble()*1 + 1, 0.01F, | velocity, velocity, (float) rand.NextDouble()*1 + 1, 0.01F, | ||
Line 80: | Line 80: | ||
Feel free to try it out yourself: | Feel free to try it out yourself: | ||
[ | [https://wiki.vintagestory.at/images/4/47/Here_v1.0.zip Here_v1.0.zip] |
edits