#dev-general
1 messages · Page 388 of 1
are the eyes like anime ones
I dunno, when you haven't seen ATLA that's a pretty big strike
those were my shit
okay I'll give you that, those were pretty good
but ATLA was on at the same time as those, how did you miss it?
idk
shit like that just wasn’t popular when I was watching it
no one I knew watched that shit
no
lots of my friends now grew up on it
for some reason my circle of friends when I was younger tho
just not fucking weebs
it's... not anime?
lol
I literally don't know a single person (like that I talk to regularly) that hasn't seen ATLA
oh I haven't either
apart from a tiny bit of pokemon go
most of the people I know didn't
o
i thought pokemon was meant to be really popular too
idk man the only shows I watched was regular show and adventure time
and these days, the only time I watch tv is with family at dinner and shit
if I’m on my own tho, aint watching anything
back
I'm in elements now Piggy, now what
on holidays I’m just on pc all day
play minecraft?
reading wtf
"work" :kek:
On holidays you're on PC all day?
Johnny, imagine spending time with the family, pathetic
click the top left square with the cursor frosty
Holidays is now my only escape from the PC
man idc pc is my life
Johnny have you seen ATLA
I have not
I sit at that shit 16 hours a day on school holidays
wtf
Piggy, and after that
which is also why I want to buy a big expensive ergo chair
ooh I did that
steelcase leap here i come
it's very nice
Gamer moment
hover over white bit at bottom frosty
I like the idea of gesture and leap
there’s a shop I can try them out in in the city
Shows nothing PIggy
gonna go in a couple of days
idk frosterino u’ll have to wait for me to get home then
Imagine not being in total country lockdown
Pathetic
That's the same pic as the other day
Be original please
star these chairs are like $1000 and they’re meant to be sat in 24/7 without killing ur health
I've been eating this chocolate rabbit and it's delicious
they also last like 20 years with constant use
and have 10 year warranties incase ur chair implodes
I've got like a 15 year old office chair, it's pretty decent, just noise as fuck
oh okay well my chair is amazing, before it I had another office chair that had lasted since longer than I was alive
idk man
it’d be interesting to see how u’d react to one of these chairs
so i could see if i’m getting scammed or not
well if its shit then I’ll just go with the $100 office chair
replace it every couple years
office chairs last decades
officeworks
like I said, my old one lasted me like my entire life, the only reason I have a new one is because I'm at college and my old one is at home
yeah well we’ll see
unless you put your chair through more rigorous work than I do lmao
i sit in it 16 hours a day
That is not healthy no matter which chair mate
bro so do I
not just on holidays either
and yes it is definitely not healthy but here we are
yeah i know
I break it up
caring about health in 2021, yikes man
not as much as I should
maybe if I obtain more than a fraction of a will to live, I'll invest some time into bettering myself lmao
but I try break it up a bit
That's good
I personally hate rotting in my office chair, now that I'm forced to through online classes
Hi efe
online ed sucks ballsacks
I know
Yeah, I've never been the biggest extrovert but I do miss going out and doing stuff, meeting people
Now I mostly just go for walks on my own
Is that the incidence at the right
Rip
Hey cuties, I was just wondering how these kinda plugins work that aim to reduce CPU usage when no players are online. Do they simply schedule a function for every tick and then sleep for like 2 seconds or how do they achieve this? I was unable to find it on github. https://www.spigotmc.org/resources/hibernate.4441/
That is absolute class lol
y'all think if I made a PR to add PAPI support in EssentialsXChat they would accept it?
kind of weird that it doesn't support it
Ask the maintainers
I was just wondering if there was like an overt reason nobody had ever done this before?
Like maybe it was a ruling or something they made lol
Not that I know of but then again I'm not too involved in the plugin world or PAPI
cause I mean this is their version of PAPI lmao
String format = ess.getSettings().getChatFormat(group);
format = format.replace("{0}", group);
format = format.replace("{1}", ess.getSettings().getWorldAlias(world));
format = format.replace("{2}", world.substring(0, 1).toUpperCase(Locale.ENGLISH));
format = format.replace("{3}", team == null ? "" : team.getPrefix());
format = format.replace("{4}", team == null ? "" : team.getSuffix());
format = format.replace("{5}", team == null ? "" : team.getDisplayName());
format = format.replace("{6}", prefix);
format = format.replace("{7}", suffix);
format = format.replace("{8}", username);
format = format.replace("{9}", nickname == null ? username : nickname);```
🥶
lol
Oh, seems they're redoing the whole chat system to a per-user locale system and it needs manual rebasing lmao
Also hasn't been worked on for 4 months 🙃
god okay essentials is a mess I regret trying to get involved
me: looks at someone elses code:
https://prnt.sc/1132prv
why do only some classes have DI 
make a PR, clean it up for them 🙂
how big is the plugin? probably different people wrote different parts
the main class itself is 150 lines (all registering)... so pretty big
jeze yeah
actually 10 lines of it is onCommand
weird
Whoever's decision it was to make JavaPlugin implement TabExecutor is an idiot I swear
i assume its tabcompleter + commandexecutor
What's wrong with that
oh sounds useful
also, anyone perchance know why an import java.util.Objects; would be not working in JDK 15?
Other util classes do?
No, none of the util classes do
Okay, restarted IntelliJ and everything works again, very cool

S
R
P
Yeah because bukkit main classes always conform to SRP
srp?
lol
What is SOLID?
S - Single-responsiblity principle
O - Open-closed principle
L - Liskov substitution principle
I - Interface segregation principle
D - Dependency Inversion Principle
If you wish to read up more on it, you can check here:
https://scotch.io/bar-talk/s-o-l-i-d-the-first-five-principles-of-object-oriented-design
The single responsibility principle states that I am only responsible for a single class in the code base
https://www.youtube.com/watch?v=Ie-gqwSHQr0&t=2s
Pretty great
🥲
lol
that link in ?solid has reminded me why I hate PHP
public function __construct()
```what the actual fuck
also, ThreeDimensionalShapeInterface, what is this? Enterprise logic?
actually, it could be better
sounds like a public class Cube implements ThreeDimensionalShapeInterface to me
IAbstractThreeDimensionalShapeInterfaceBuilderFactoryBean lol
btw bm
public abstract class AbstractCubeFactory implements ThreeDimensionalShapeInterfaceFactory
are you hosting a central mirror for pdm?
yeah
ah
wtf are factories anyways
just submit a ticket to jira
just in case
like do they make classes?
Dont they mention that a "full" mirror isnt allowed tho?
make objects
I was reading up on that
🚓
well why not just make the object yourself?
is it to provide like, a layer of dependency injection or something?
Yes usually
I thought they meant setting up your own repository unrelated to central with that
These are what they list
shit reminds me I have to migrate my bintray repos
didnt that go down already?
hmm
rip
end of the month it's gone I think
Would be nice if they'd actually replied to my email and said what I'm allowed to do
The guidelines seem pretty contradictory
My thought was, would the usecase for dependency downloading be the exact same as what maven and gradle do?
Yeah they should be
It shouldnt do anything more than what the buildtool already does then right?
What if we had a proxy server that caches the jar and distributes to the client when requested?
So its only ever downloaded from central once
atleast in some time
That's what a mirror does iirc
Yea but from what they wrote it makes it looks like they thought we would be continuously fetching jars
Yeah I don't think that's what a sonatype mirror does at least
hmm
should i split data-per-player in a section for each player (yaml) or a section for each... topic if that makes sense
database
-_-
y
or H2, though I'm not too sure how that bad boy works
too easily modifiable, slow, easy to mess up, I'm sure other people have more reasons
how is modifiable a bad thing
because people can fuck it up
anyone here know how I can exclude all files under certain packages with shadowJar?
yeah but if all it takes is opening a .yml file and adding one space to fuck up your entire playerdata, that's a problem
depending on fastutil but it's got a shit ton of stuff I don't need lol
plus it's worth learning how databases work anyways, for if you ever decide to make a plugin that relies on playerdata for more than just simple preferences
but databases are so much less noob friendly than yaml 😫
exactly why you should learn them
don't want to be a noob, right?
or pref categories
uh
in a database, you should store by player
maybe later if i make this plugin public..
same could be said about sqlite
oop
well yeah but most people don't know you can even open an sqlite file
if I see player.yml ima look at it
wait u can?
yeah it's just a flatfile
i thought it was just a bunch of chars
If it's clear that you're not supposed to edit some files people shouldn't edit them
what if i store yml file in .whateversqlfileextensionis
fire
stfu
I'll have you know I've spent almost a week now, if not over a week adding persistence to Krypton
so you can't say shit mother fucker
after I finish copying Mojang's region file persistence system
Mutable state
Bugs!

ah so it's still in the works nice
Changing 1 thing pretty much did a domino in there
Anyone know how I can start a coroutine on the "main thread" but without blocking for the result?
The result isn't important so can be discarded
But I can't use .launch since that'll be async
And I don't think this method can be called asynchronously
spigot or generally
You'd need a coroutine dispatcher running on the main thread
Wouldn't that still block internally?
Why not just post a bukkit scheduler task if you're using spigot
For context I've got a suspending function that opens a GUI where users can pick an item, and then the function returns what item they've picked. I need to open the GUI from a non-suspending function where I don't care about the result
Theres a library that makes the scheduler work pretty well with coroutines I think
Yea that ^
yup
So I could just use launch with that?
Just execute with that dispatcher when you want some part to run on the server thread
as you can see in the example I linked, yes
hmm

oh that reminds me
so wait could I use Elm on any website and it'd work without problems?
hi lemmo xxx
sounds fancy
so wait, how come people still use js?
elm is pretty obscure
Yea
also TS
For what? For browsers?
its pretty much Haskell for the web
yeah
if it's a drop in replacement for JS, why is it not more adopted?
it's a completely different like language basically?
learning curve, most businesses dont want to pay for a codebase transition, etc
yes
Where haskell goes "IO IO IO IO String missing, IOIOIOIOIOIOIOIO", elm tells you what to change
Ah good ol Elmo language
dont think so
it's most similar to haskell in syntax
nah
Elm compiles down to js
it's like clojurescript
Not sure why not wasm tho
🥲
yeah wait, do all major browsers support WASM?
I think so
WebAssembly is a new type of code that can be run in modern web browsers — it is a low-level assembly-like language with a compact binary format that runs with near-native performance and provides languages such as C/C++, C# and Rust with a compilation target so that they can run on the web. It is also designed to run alongside JavaScript, allow...
opera 🤣
WASM is surprisingly pretty widely adopted
Is there anything major that uses it atm?
yeah wtf is up with Opera
4 more than it should
pain
maybe
might just see if doing it async works
it's only opening a GUI
might be fine
ah
❓
oh even better, i cant even make it a suspending function because it's being called from a lambda that isn't suspending
man
yes
mf-gui needs suspend fun
mr bm you know vk right
good
wasm is the new asm
never spoken to him
vk is in here
vk doesn't even use w/e to set blocks smh
too much slander
no wonder his plugins are so broken 🤷♂️
bro mf-gui slaps
his son is still in here
SON?!
this one guy asked a question about it and I was like "huh"
GUI's and stuff, player opens GUI 1, gets sent to GUI 2 to pick an item which updates something in GUI 1
excuse me, SON?!
yes
mf-gui does slap indeed
vk has a son?!
mf also slaps
wtf i thought he was like 16 😂
no lol
What are you using suspend functions for there?
who?
i was using CompletableFuture but made the mistake of trying to migrate
ah
need to wait to the user to select an item
i am confused now
You can use deffers
CompleteableFuture.runAsync(ur ->
mum();
);```
yeet
code blocks not allowed here bud
i've got something like ```kt
fun openChooseGui(player) = suspendCancellableCoroutine {
onClick { it.resume(item) }
onClose { it.cancel() }
}
example?
imagine that tho, having a dad who codes 🤷♂️
yeah imagine that, as we all know every programmer is under the age of 20
lol
probably 90% of people in this discord is under 20
so i'm in the 10% pog
boomers don't use discord
🥲
I'm old
yes
o
You can join the Clojure discord server to see some boomers
takes a while to find emojis lmao

the downsides of nitro
search bar
lol
yeah I know I had to type six and nine
auto-correct 🤷♂️
actually wait, this should work right?
it does work
the problem is
im calling it from another GUI onClick action
which isn't suspending
hey bm, I need to go to gym after carrying the repo 😰
🥲
why does bit shifting in Kotlin suck so bad lol
kotlin bad
I'm really getting tempted to go in and actually make changes to the compiler myself to make bitwise operations work between types
Kotlin bad, haskell good
you always said kotlin good, you made us all enjoy kotlin
e.g. (byte and int) != int
Times have changed
^
I guess you would be launching there?
Damn, seems someone hit the century mark
🙂
i guess i'll have to yeah
not sure if this is thread safe or not tho
doctored image
false
bm why you no use light mode
Post the action to spigot when you need to do sync stuff
too bad skedule doesnt work 🥲
might try make my own Main dispatcher
sounds like you don't need to go to the gym, your back already hurts from carrying the repo
suspend fun waitForConnection() = deferredUntilConnected.await()
suspend inline fun executeTask(task: XMPPConnectionService.() -> Unit) {
waitForConnection()
task(service!!)
}
Something similar to this should work
Create the defer before posting to spigot
Have the task complete the defer after exeuting the task
does it not autopromote? that's what my boy java does last time I checked
call await right after posting
nope
or at least, it should
Kotlin doesn't do that
why tho, that's actually a useful thing
i done 25 commits since bm last pushed code 😰
and infix precedence means you need to be so fucking careful with bitwise operations

I've made at least 50 commits since BM last pushed code to Krypton lol
krypton?
yes
is that another language?
bm just spends all day in his lab carefully manipulating a matrix of haskell functions to all point together
no time to code
😂
ya'll make up new things daily
lol
i cannot confirm or deny these allegations

bro Krypton is literally the only thing Bardy has worked on for the last like month
lol
also, I think we got it
every time I meme on him, it's related to Krypton
region data persistence here we are
bm
😮
yo bm
hey, someone here knows if rgb ever is gonna be supported in the coming weeks for deluxechat?
Tunnel vision equivalent
is it possible to make a micro fawe for the plugin?
wrong place to ask, and nobody knows when clip will do it
only took me literally copying Minecraft's RegionFile and RegionFileStorage lol
look, I have literally 0 ideas alright
if ya can't beat em, join em :)
This guide talks about Will Rgb Ever Be Added To Deluxechat
in theory
f u, i fell for it again
just a kotlin one
even with the lack of a .toLowerCase() on the first char?
wow, even Johnny's using it now
and spelling it wrong
I got elixir then rust
wdym now
rust
lol
you added rust?
might be useful to use Rust actually, thinking about native stuff
because rust is rust
p2w bm
rewrite Krypton in Rust 
might add the simon peyton-jones wikipedia page too
no, I'm saying I could use Rust for low level computation instead of using C
yeah why don't you RIIR
Krypton Client webapp when?
hows ow bm?
we need the video that yugi sent in there 🤣
not bad
why
YES
is Rust as performant as C for low level computations like array copying and shifting btw?
#dev-general message get to it bm 🥲
my 2 line JNI function needs to be memory safe
nearly

^^^^^^
I was thinking of doing perlin stuff natively
bm pls code stuff for me
yeah please don't use rust unless you have a bigger native code base
i need to add a feature requested like 8 months ago but effort
not worth the effort with jni at all
just 1. for the fun of learning JNI, 2 it's also an excuse to learn JNI, and 3. means I can do a hell of a lot of low-level array copies and stuff with very low memory footprint
and also it's an excuse for me to learn C
why would you ever use c when rust exists
repo "knightzmc/privatemines"
(probably idk if ur talking about pm or not)
If you're gonna do some computation through jni use C
yes
because C will help me learn how the real low level shit works in a computer
so does rust
what you think I'm gonna use B? smh
https://www.spigotmc.org/threads/privatemines.467517/#post-3981782 he requested it ages ago 😠
what is the "real" low level shit
C is still fairly high level depending on your perspective
things like native IO, talking to the operating system and kernel, allocating and freeing memory
I class those as low level
from my very high level JVM perspective
did you know rust can allocate memory
yeah just code in x86 assembly. actually, one better, code in binary instructions
sends jar to bm and he doesn't test it feelsbadman
maybe even punch cards
only in an unsafe block
😦
you sent a jar? no git?
@prisma wave
CoroutineScope(Dispatchers.IO).launch {
/* SOME HEAVY TASK */
sync(plugin) {
}
/* SOME HEAVY TASK */
}
suspend fun sync(plugin: JavaPlugin, task: () -> Unit) = suspendCoroutine { continuation ->
Bukkit.getScheduler().runTask(plugin) {
task()
continuation.resume()
}
}
```?
why dont we use unsafe blocks everywhere !!
git?
oh that's pretty simple
i was making my own Dispatcher
Github...
please tell me you know what Git is lol
mom pick me up im scared
the version control system
ah yes my bad i'm tired
unfortunately the premise of rust does not work because the compiler cannot prove that the cpu doesn't catch fire while allocating 4 bytes of memory
every developer has to know what Git is haha

Even I know that, and I'm as smart as a brick lol
mr bm won't build from git because of effort 😅
so what you're saying is we should just use C instead?
wot
dude it's 4am here in uk leave me alone
all you gotta do is pull and then build?
We should all program with circuits
tell bm that
oh btw, fun fact: did you know that chunks in region files can't be larger than 1 MB?
are you sure about that
wtf it's 7 am in the US
ya
Programs as bytes is overrated
are you on crack
It is? Isn't it 12:00pm
i'm sure
I think we should stop solving problems computationally
Circuits are where the speed is at
use maths instead
its 13:46
In the us its 8:45
it is?!
i think odin is living in australia or smth 🥲
in MCRegion, the chunk would just refuse to save if it was over 1 MB, but these days, Minecraft puts extra data in c.x.z.mcc files
idk where i'm living
smh east coaster
that sounds... familiar...
bro I think you need to get to bed
i've not slept in 4 days
Smh non east coaster
Pog
not pog
even with 4 days of no sleep, I'd still know what git is my dude
i fell for that 😐
Idk why i trust you with that wiki thing
maybe the sleep or lack thereof is tangentially related
my guy has his own sub domain? 🤨
who
simon peyton-jones
never heard of
how do you build one? or do you just make up a url
🙂
Literally any URL lol
might add some special URLs in the future
you should add a builder that lets you make complicated shit and like advanced formatting and stuff
still trying to think how I'm going to change block states in chunks for placement and breaking lol
Not sure I can be bothered
that also means I've got to store the URLs somewhere
not sure anyone would even use it
this version is stateless 🙂
Elm superior??
well no I mean just a builder that lets you add formatting that's annoying as fuck to type out yourself
like % stuff, ya know?
oh right
maybe even support for #'s
no
hehe
it's gonna be a rick roll or something
yeah
that's me tho
You're Simon Peyton-Jones, British computer scientist who researches the implementation and applications of functional programming languages??
i'm british does that count?
😌
Sure, get nitro and rename urself sir
i got nitro
boost first 
Simon Peyton Jones
boost 
why is this chat so odd
wym? this is completely normal.
no its not
for a discord server that serves help to people for making minecraft servers or plugins 🥲
😮
I can't
can
Need 3 plugins
Seems imperitiveness is taking a toll on you
use my acc
You do it
Kindly join the functional world
fr?
What too much mutable state does to a guy
Yeah
🥲
ok you wanna take down the other one or?
What are you guys talking about?
Ah the infamous Nothing
Just
Which inturn forms the Maybe
bm i'll dm you they're onto us.
no secrets here
yeah there are no secrets
and old 
smh
How old are ya
imagine being a b**mer
yugi should i be using IO dispatcher here?
self-professed oldie
What are doing inbetween?
sending a few packets and changing some blocks
ServerboundUseItemOnPacket someone tell me how that's an appropriate name for a player block placement packet
sounds like you used an item on something
IO for packets
I just spent like 5 minutes trying to find out which one of these mother fuckers handled block placements
for instance, using a dirt block on the floor to place another dirt block 🙃
Changing blocks should be sync anyway
yeah
So yea go for IO
sounds like another deprecating PlayerItemEvent but like hardcore
lol
I guess the specificity of the api is an important question to be asked
the thing is though
check dms pls bm
this packet gives no details about what item was used
https://wiki.vg/Protocol#Player_Block_Placement this is the packet
how does this look?
Odin be sending private nudes
well how does it know what block to place?
I did not realize his name was odin ngl
lol
funnily enough actually, this packet doesn't even seem to detail that either
right, time to place a block and look for unrecognised packet IDs in the console
trial by fire, I love it
looks fine
ok cool
whatcha makin bm?
private mines plugin
oh of course that's how it calculates what block you have just placed
or attempting to
we know what item the player has in their hand
🤦♂️
stonks
oh shit! whatcha doin, like feature wise?
i wish
oh btw, if I'm saving chunk data to files in the ticking, I should be launching a new IO dispatcher to do the actual saving IO right?
very cool bm
that's an appropriate use for that right?
Speedy
suggestion to put in pinned message: specify if you don't accept paypal since most people assume you accept paypal
I'll take 1 bitcoin for it
Seems like a good deal
lol
anyone used discord oauth before?
Tried to
I mean, at least doing crypto means they can't chargeback
wouldnt happen to know why i cant get a user by id?
with their api
What token are you using
access token
not bot
i think that may be why
but im not making a bot, im making web app so i got user access tokens
Bearer
And what user are you trying to get
REST :0
What's the error
Interesting
you sending the authorisation properly? lol
yurrr
always gotta make sure
i am
sensei read what it says
if you use an identity scope, it'll send the data without the email
I know
I think /users/{user.id} returns with an email and my tokens are not scoped to include emaisl
which is why i think im getting unauthorized
nvm
its not
ugh
works for me
curl -X GET -H "Authorization: Bot OOF" "https://discord.com/api/v8/users/@me"
why are you querying that endpoint to begin with
im not using bot token
Bearer
different endpoint btw
right, lemme try with a bearer
Im storing the user id in database then iwant the current username related to that id
then you get the current user
it's the client secret I want right?
the database has multiple different user ids and on request i want the usernames for those
ah yeah, I get unauthorized
the client secret is not a bearer token
ah right
are you sure users are even allowed to access that endpoint?
yeah I don't think so
ew
just register a bot
where do you get a bearer token?
that endpoint barely has rate limits I think
on the OAuth page?
through an oauth 2 authorisation flow
because I know what that means
It's an individual, temporary token for each authorisation
how does one get one?
ah right
what does it matter
it's implementation detail
You don't need the bot to do anything else
LeBron James and Bugs Bunny team up in this trailer for Space Jame: A New Legacy.
#IGN #Movies
Anyone seen big chungus?
🥲
how do ya'll do this part? do you make seperate servers for each ver or what's best? https://i.imgur.com/98UzbSL.png
i just test in ide - no compile errors = works ||/s dont do this||
I'll do that now then 👀
just test like 1.8, 1.12, 1.16
1.8, 1.12, latest, if you want full support, fuck the versions in between
If you love yourself, just latest
maybe don't test 1.7
id say just do 1.12 and latest
1.8 should :/
No
since most servers use backwards comptability for 1.7 from 1.12
:/
I smell burning brb
🧐
1.7
sorry my bad
You're an idiot if you think that, I respect peoples opinions, but yours is just stupid
last time i smelt burning something almost caught the house alight (true story) so i'm gonna make sure
edited
now edit it again and remove 1.8
we had a box on the hob for some reason and it knocked it turning it on catching the box on fire
theres a reason why im making my bedwars plugin 1.8 compat :))
Cause you're an idiot yes
Why is 1.13 in that list?
pic pls
edited
ill send u a pic of my room if u do 😄
Lmao
1.11 is the most irrelevant version change my mind
1.10 hello
1.6
What even happened in 1.11
lol
Exchanging pics 😳
yes
Horses
my room is absolutely great
🐴 🏇 🎠 🐎
im actually just gonna send a pic rn
Polar bears 🥲
ull all be very grateful that i sent it
Aah
wait you can't even get paper 1.7 anymore?
I don't think I've ever found one in survival
cursed
hey guys who likes my room
wow rude
sorry
take it back
no
there's holes fix it
Anymore?
later
Paper 1.7 was never a thing
didn't know that
how can I get yatopia 1.4
LOL
lots of biomes iirc
o
bukkit came out in like 2011
One if the best updates of its time
1.7 was actually pretty good yeah
1.6.4 is my fav idk why
yeah i totally forgot
https://i.imgur.com/VAcdhwD.png this doesn't look good now does it?
1.4 was huge aswell iirc
What did 1.8 even do? I can't remember
guardians
guardian temple
Rabbits
1.9 = big update
Ah kinda shit
diorite granite andesite 🥲
1.4.2
I started playing in 1.5
I started playing in 1.13
thats quite sad dkim
i'd be suprised if any of these plugins load lmfao
1.9 combat, 1.10 polar bears 🥲, 1.11 mansion, 1.12 colors
Ah when Mojang used to do 1 feature per update
true
armor stands = big deal
horses for holograms 🥲
Aayy same
i wish it was saturday
me: sees intellij warning
https://prnt.sc/1136oa1
clicks
https://prnt.sc/1136ohg
thanks...
but i did have minecraft on the ps3 before i bought java 🥲
and /execute was added in 1.8 iirc
i bought pc account in 2013 xbox in like 2011
Xbox 360 🥲
I wonder if i got 30k hours yet
30k 
