- check_circle Advancements
- check_circle Functions
- 5,437 views, 1 today
- 251 downloads, 0 today
20
Minecraft is a blocky game, but I often find myself wanting to build with circles. Most circle datapacks, mods, or plugins create the circles for you out of blocks, removing any possible use it might have had for any survival build. Not this one. This datapack helps you build circles by providing guides out of particles. Just type in "/trigger circle set" and then the number for the radius of the circle (example: "/trigger circle set 4" will create a guide for a circle with a radius of 4), and then you will get a guide for the circle. Any where you see a barrier block particle, place a block. To remove all guides in a world, type in /trigger removeCircles. This works in survival without cheats because it uses a trigger command. Thanks for looking at this datapack. I hope you like it.
ALL CIRCLES 1 - 100 ARE DONE!!!
#include <stdio.h>
#include <math.h>
void format(int circle[500][500], int radius);
int main(int argc, char *argv[])
{
int circle[500][500];
int row = 0;
int column = 0;
int i, j, k, r = argc - 1, x = argc - 1, y = argc - 1, d, a, l;
for (i = 0; i < (((argc - 1) * 2) + 1); i++)
{
for (j = 0; j < (((argc - 1) * 2) + 1); j++)
{
a = ((i - x) * (i - x)) + ((j - y) * (j - y));
d = sqrt(a);
if (r == d)
{
circle[row][column] = 1;
column++;
}
else
{
column++;
}
}
row++;
column = 0;
}
format(circle, argc - 1);
}
void format(int circle[500][500], int radius)
{
for (int i = 0; i < (radius * 2) + 1; i++)
{
for (int j = 0; j < (radius * 2) + 1; j++)
{
if (circle[i][j] == 1)
{
printf("summon armor_stand ~%i ~-10 ~%i {Tags:[\"cyl\"],Marker:1,NoGravity:1,Invulnerable:1}\n",i - radius, j - radius);
}
}
}
return;
}
Bugs or Questions? Report them in the comments.
ALL CIRCLES 1 - 100 ARE DONE!!!
More info on creating circles
To create a circle of a radius of 10, type in /trigger circle set 10. You can replace the number ten with any number. If it doesn't work, assume that the circle size does not exist yet.
INFO FOR NERDS:
How did I generate all those long lists of particles and coordinates to make the circles without writing them by hand? A simple program. It's written in c, and the amount of arguments is the radius of your circle (I was too lazy to convert a string to an integer :) ). Here it is:#include <stdio.h>
#include <math.h>
void format(int circle[500][500], int radius);
int main(int argc, char *argv[])
{
int circle[500][500];
int row = 0;
int column = 0;
int i, j, k, r = argc - 1, x = argc - 1, y = argc - 1, d, a, l;
for (i = 0; i < (((argc - 1) * 2) + 1); i++)
{
for (j = 0; j < (((argc - 1) * 2) + 1); j++)
{
a = ((i - x) * (i - x)) + ((j - y) * (j - y));
d = sqrt(a);
if (r == d)
{
circle[row][column] = 1;
column++;
}
else
{
column++;
}
}
row++;
column = 0;
}
format(circle, argc - 1);
}
void format(int circle[500][500], int radius)
{
for (int i = 0; i < (radius * 2) + 1; i++)
{
for (int j = 0; j < (radius * 2) + 1; j++)
{
if (circle[i][j] == 1)
{
printf("summon armor_stand ~%i ~-10 ~%i {Tags:[\"cyl\"],Marker:1,NoGravity:1,Invulnerable:1}\n",i - radius, j - radius);
}
}
}
return;
}
Bugs or Questions? Report them in the comments.
Compatibility | Minecraft 1.13 |
to | Minecraft 1.16 |
Tags |
1 Update Logs
Update #1 : by Minecraft Maniac X 07/08/2020 1:57:37 pmJul 8th, 2020
made description easier to read
tools/tracking
4610240
119
survival-tools-circles
Create an account or sign in to comment.
for (i = 0; i < (argc + 1); i++)
{
a = ((i * i) - (r * r);
b = sqrt(a);
circle[-i][-b] = 1;
circle[-i][b] = 1;
circle[i][-b] = 1;
circle[i][b] = 1;
}
format(circle, argc - 1);
}
[hr]it should realy easy and a lot faster than your code.
2. Its so nice to meet a fellow c programer!
(hope I could make myself clear, because I'm from germany, and my english isn't the best there is.)
The maximum number of stacks of items you can hold in your inventory at once is 37. 1 stack in the off hand, 9 in the hotbar, and 27 in the inventory GUI. Multiply that number by the highest possible stack, 64, to get 2368. This is the circumference of the largest circle you can make without refilling your inventory. To find the radius of a circle with that circumference, divide the circumference by pi, then divide the result by 2 to get the radius.
2368/3.14=754.140127389
754.140127389/2=377.070063694
Now, I know I said 376 should be the maximum radius at the beginning, even though the math shown here points to 377. This is because when you use more digits of pi, you get a more precise result, which in this case is 376.8, which you round down to 376 because you can't have .8 blocks.
Alternatively, you could go with the render distance logic, which is, "The maximum render distance without mods is 512 blocks. That should therefore be the maximum because I don't want the template out of render distance."