perhaps, terbin could you render this to png from illustrator directly...? where the top outer ring is exactly 2048px across, radius 1024?
i revise this request to instead be top ring diameter 2147px. should be easier for you since now you have a row of pixels down the center that actually is the true center (i.e. the compass comes to a 1px wide point not a 2px wide point at the bottom)2147px in diameter
just seems like we're spending a lot of time worrying about something the probably won't be thought of or discussed after today
absolutely POST '/api/smibonmyballs420692147/sections/:x/:z'
BODY:
UUID: string, (minecraft UUID)
status: string (enum as defined in the doc)
You'll get a 200 status code, and the string 'Done.' back as a response.
The backend will add in a date string.
This call will push information into the documents history object. (edited) timeStamp: Date,
status: {
type: String,
enum: ['DONE', 'CLAIMED', 'PLACING', 'QUEUEING']
},
UUID: String
If theres no history object yet, we get NOT_STARTED sent as current status. Current status is literally just the last object on the history arrays status. (I'm amazing at grabbing the last value of an array) (edited)Given the nominal number of creators and the total size of the image most could probably be considered De minimis although the compass might be an issue (although I’ve been informed the uploader might be able to get us a release on that).
on https://commons.wikimedia.org/wiki/Commons:Deletion_requests/File:IronException_2b2t_Spawn_Render_July_2019.png.b goto bed
(edited)Breaking a block 0.005 per block broken
Sprinting 0.1 per meter
Any action not listed here will not increase exhaustion level. For example, normal walking doesn't increase exhaustion, and therefore won't decrease saturation or the food bar.
([01]{144} ){144}
new File("output").mkdir();
for (String key : sections.keySet()) {
try (FileOutputStream outStr=new FileOutputStream(new File("output/"+key)); BufferedOutputStream meme=new BufferedOutputStream(outStr)) {
for (int x=0; x<w; x++){
for (int y=0; y<w; y++){
meme.write((sections.get(key)[x][y]?"1":"0").getBytes());
}
meme.write('\n');
}
}
}
roflvar end;
list.forEach(o -> end = o);
([01]{144} ){143}([01]{144})
final boolean[][] obsidian = new boolean[SZ][SZ];
for (int x = 0; x < SZ; x++) {
for (int z = 0; z < SZ; z++) {
obsidian[x][z] = lines[z].charAt(x) == '1';
}
}
@Brother leijurv does this look rightthis.
> 4 (four) bytes
(edited)\r
?!.split(",")
"_id" : ObjectId("5df3e459b6ac79fdd9436432"),
"history" : [],
"sectionId" : "-1,13",
"X" : -1,
"Z" : 13,
"regionData" : (not pasting)
app.get('/api/smibonmyballs420692147/sections/:x/:z', (req, res) => {
const sectionId = `${req.params.x},${req.params.z}`;
Region.find({sectionId: sectionId}).then((region) => {
(edited)java -jar render.jar
Belgium
Germany
Italy
Spain
Sweden
if someone kills the bot, all that's lost is a kit and maybe 1 shulker content of echests
good point@Brother Iron if the inv is full of shulks, where would the echests go when it empties the shulk?
by having almost every slot a shulker? and when he throws empty shulks away he has more space for newThe bot needs to have 27 empty slots every time it empties a shulk, otherwise it'll leave half-empty echest shulks.
depends on how its coded. I made my bot put the items it has in the inventory put in the shulker at the same timeThe bot doesn't save empties. It opens a shulk, takes out everything and leaves the shulk behind.
thats what I meantThe bot will drop an shulk, take out the echests and continue building. It can't have it's inv full of shulks because it won't have space for the echests. I don't get how this is hard to understand.
yea I accept. Im talking about something else lol (edited)ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHQ2Z2fBht9J08YarOmafmzzQ/rgKU9Kh2R6HGV/o2En 0x22
52812
random generated port for ssh (edited)logo.spawnmason.com
logo.spawnmason.org
then (edited){
"block": [
"minecraft:air", //0
"minecraft:obsidian" //1
],
"replace": [
{
"p": "420,69,911", //blockpos
"t": 1576532797682, //millis
"o": 0, //old block
"n": 1 //new block
}
]
}
(edited){
"confirmed": [
{
"p": "420,69,911", // blockpos (base64'd)?
"t": 1576532797682 // millis (base64'd)?
}
]
}
{"confirmed":[{"p":"420 69 911","t":1576532797682}]}
{"c":[{"p":"420 69 911","t":1576532797682}]}
(edited)final
.gitignore
amateur (edited)dev.js
find . | wc -l
includes current dir so it was off by one* SZ
'd[16:40:10] [main/INFO]: [STDERR]: Caused by: java.lang.RuntimeException: Failed to invoke private baritone.process.masonic.SectionGet() with no args
[16:40:10] [main/INFO]: [STDERR]: at com.google.gson.internal.ConstructorConstructor$3.construct(ConstructorConstructor.java:116)
[16:40:10] [main/INFO]: [STDERR]: at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:210)
[16:40:10] [main/INFO]: [STDERR]: at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:41)
[16:40:10] [main/INFO]: [STDERR]: at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:82)
[16:40:10] [main/INFO]: [STDERR]: at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:61)
[16:40:10] [main/INFO]: [STDERR]: at com.google.gson.Gson.fromJson(Gson.java:887)
[16:40:10] [main/INFO]: [STDERR]: at com.google.gson.Gson.fromJson(Gson.java:852)
[16:40:10] [main/INFO]: [STDERR]: at com.google.gson.Gson.fromJson(Gson.java:801)
return (int) Math.ceil(Math.sqrt(dx * dx + dz * dx));
return (int) Math.ceil(Math.sqrt(dx * dx + dz * dx));
${req.params.x},${req.params.z}
;
Region.findOne({sectionId: sectionId}).then((region) => {
if (!region) {
res.send('this probably doesnt exist')
}
const newHistoryObject = {
UUID: req.body.UUID,
timestamp: new Date(),
status: req.body.status,
}
region.history.push(newHistoryObject);
region.save().then(() => {
res.status(200).send('Done.')
})
}).catch((err) => {
res.send('this probably doesnt exist')
})
})[17:06:13] [main/INFO]: [STDOUT]: https://www.spawnmason.com/api/smibonmyballs420692147/sections/31/-8
this probably doesnt exist
app.post('/api/smibonmyballs420692147/sections/:x/:z', (req, res) => {
const sectionId = `${req.params.x},${req.params.z}`;
Region.findOne({sectionId: sectionId}).then((region) => {
if (!region) {
res.send('this probably doesnt exist')
}
git remote add heroku https://git.heroku.com/smibweb.git
git push heroku master
git pull; git push heroku master
➜ Lurfs-MacBook-Pro-2:smweb leijurv$ git push heroku master
remote: ! Your account [email protected] does not have access to smibweb.
fatal: unable to access 'https://git.heroku.com/smibweb.git/': The requested URL returned error: 403
➜ Lurfs-MacBook-Pro-2:smweb leijurv$
heroku login
remote: ! Your account [email protected] does not have access to smibweb.
(edited)x INTEGER NOT NULL, y INTEGER NOT NULL, z INTEGER NOT NULL, uuid STRING NOT NULL, timestamp BIGINT NOT NULL, UNIQUE(x,y,z)
z = -(e.clientY - rect.top - canvas.height / 2)
/
)4432 -1131
LB req.
(edited) regions.forEach((region) => {
let regionCount = region.regionData.split('1').length - 1;
region.blockCount = regionCount;
region.save().then((savedRegion) => {
console.log(savedRegion.blockCount);
})
})
Is this logic somehow pozzed?SMIB ON
with it being smibonmyballs420692147
and then you would just put it in the next url.chatf filter discord discord.gg/
.chatf e 1
xVals
a hole out of obsidian if it runs out of obby
global somewhere idk:
var uuidCache = {};
func code:
if (uuidCache[uuid] != null) {
return uuidCache[uuid];
}
var username = lookUpFromMojang(uuid);
uuidCache[uuid] = username;
(edited)var mainAccount = db.lookup(uuid);
if (db.lookup(username) != null) {
return mainAccount;
}
if (uuidCache[uuid] != null) {
return uuidCache[uuid];
}
var username = lookUpFromMojang(uuid);
uuidCache[uuid] = username;
int countBlocksUpToButNotIncluding(int num) {
return Arrays.stream(stripes, 0, num).flatMapToInt(o -> IntStream.of(o.xVals).map(x -> section.obsidian[x][o.z] ? 1 : 0)).sum();
}
{"timestamp":1576632864423,"profileId":"4566e69fc90748ee8d71d7ba5aa00d20","profileName":"Thinkofdeath","textures":{"SKIN":{"url":"http://textures.minecraft.net/texture/74d1e08b0bb7e9f590af27758125bbed1778ac6cef729aedfcb9613e9911ae75"},"CAPE":{"url":"http://textures.minecraft.net/texture/b0cc08840700447322d953a02b965f1d65a13a603bf64b17c803c21446fe1635"}}}
(edited)const response = await sendGetRequest("https://sessionserver.mojang.com/session/minecraft/profile/" + uuid);
const responseBody = await gatherResponse(response);
if (responseBody != null) {
const responseJson = JSON.parse(responseBody);
if (responseJson != null) {
const name = responseJson.name;
const properties = responseJson.properties;
if (properties != null) {
const encodedTextureJson = properties[0].value;
const textureJson = JSON.parse(atob(encodedTextureJson));
const skinTexture = textureJson.textures.SKIN;
if (skinTexture != null) {
const skin = skinTexture.url;
}
}
}
}
(edited) regions.forEach((region) => {
region.x += Math.abs(lowestX) * 5.6;
region.z += Math.abs(lowestZ) * 1.9;
})
npm install -g concurrently
npm install -g nodemon
npm install -g concurrently
if response == SMIB ON
in the frontend (edited)After a month of planning and a week of building, we actually did it. The Infinity Incursion has created the largest spawn symbol in 2b2t history. This was done by the best team you could wish for. I would like to take this opportunity to thank all the Infinity Incursioneers who have worked day and night on this project. Without you this would never have been possible: Amigo, BGP, Phantom, IronException, CirocDrip, Satan, Troldehvalp, commie, OpWolfy, Thearbiter_1912, TheOnlySlash, SyndicateNAA, littlebammbamm, Wasabi, bobsbasement, duckiscool69. -Bachi, proud leader of the Infinity Incursion.
FUNFACTS: => 589824 obby => 73728 echests => 1152 stacks of echest => 43 shulkers of echests (42.666)
donig
/r the bot is so shit that it can't handle a shulker in main inventory sorry