#dev-general
1 messages ยท Page 493 of 1
pog
so im in this anticheat servers
the amount of times that people ask in #api-discussion is so confusing
lol
invite lol
they renamed the channel to remove the discussion
because it seems like thats why ppl go to that channel
even though theres another channel called support
:p
just leave the server
lol
lmao
oh and they've locked the channel before
bc of the large amount of questions being asked there
this might sound like a silly question but how do i configure a maven publication from gradle for every subproject
in the root project build script
subprojects {
// configure here
}
You just configure it for the parent project
yeah im trying that but its complaining
o rly?
not in the subprojects thing?
lemme try it rq
subprojects should work
yea
if and only if you apply the plugin also
^
am i doing this wrong then
is that kts?
yes
Matt is gonna show you the ways
๐
it works in a normal project
im sorry to say this.. but um
https://i.imgur.com/ey2pyqE.png https://i.imgur.com/wpwWoe0.png https://i.imgur.com/K2F99eu.png
(closed embeds so that i dont make a wall)
i'm trying to do it for all subprojects
Needs to be inside tasks
yeah thats still not working
dkim editing a message 20 times won't give you more xp
idk i usually do apply(plugin = "maven-publish")
i edited it to remove the embed
this is as far as i've got
very cool
xp is much more important
ahhhh this is painful
is it really that difficult to just set up one deployment for all my subprojects
https://paste.lucyy.me/gunukicohu#kotlin am i doing something wrong here
Lucy's Pretty Pastebin
please, i'm desperate
maybe have to use this. to explicate its the sub project idk
you hadn't added it as parent project plugins?
nope
L.M.A.O.
๐ฅฒ
lol
sounds good
i like gradle dependencies { compileOnly 'org.spigotmc:spigot:1.16.4' } over ```xml
<dependencies>
<dependency>
<groupId>org.spigotmc</groupId>
<artifactId>spigot</artifactId>
<version>1.16.4</version>
<scope>provided</provided>
</dependency>
</dependencies>
yeah defo
and dont even get me started on repositories 
so much more compact
ah yes you mean
<X>
<M>
<L>
</L>
</M>
</X>
indeed
I went gradle for 2 reasons
why the fuck do they require an id I have no idea
because its not 2005?
maven("https://example.com/maven") is so clean
oh btw, Yugi, does slimjar support API dependencies yet?
- It's what Esophose uses and she taught me basically everything so I learnt gradle from copying her code
- Maven is too complicated for my brain to handle, all the <text></text> is one of the reasons i hate html
stack.yml & packages.yml ๐ฅฒ
like ones I can expose to dependants with api and still slim in?
I think so
@ocean quartz did that work?
If you have java-library yes
Oh lit
how do i do that? normally you'd do slim, but what about api
slimApi iirc
do i need that even with kotlin plugin?
oh btw Yugi, what are the options for actually loading and injecting the dependencies?
Yes
ok
As in?
since I don't think I need (or want) jar-in-jar since I control the class loader
(NOTE: If you have specified relocations and are running in a IDE or any environment that does not use the shadowjar-ed build file, use the ignoreRelocation flag while running by using -DignoreRelocation in your runner arguments)
YES
๐ฅณ
finally
i can hotswap
without forgetting to relocate again (after commenting it out)
Are you planning to use it for plugins or krypton itself?
Krypton itself
Coz I assume if for krypton you actually dont
plugins can just use addToClasspath
Dont you just use the default application class loader?
yes
no, but you can just use a different class loader to load all the other classes from the entry point right?
Its not a URLClassLoader in 11
Yes, thats not enough
If you want to be able to use static references of the types you inject, your application needs to be completely inside that classloader
Why?
because it's just a bit eh
You wouldnt notice the difference
It exists only to make it safer to use without accidentally loading stuff from the wrong classloader
Technically you can just have it use the same jar
Except you'll have to be very careful about what you reference, and where you reference it
Plus the anxiety of when a Class A cannt be cast to Class A
๐
Aight
The modules collection?
Yeah
To select what modules(that were jar-in-jard) are to be loaded into the classloader
@frail glade There xD
lol
well apparently adding slimjar makes Gradle not able to resolve api
What plugin version are you using?
So do I have to do that for everything I put in the relocation?
I added 1.1.1
No, thats not related to relocation glare
lemme try depending on java-library as well
Oh that's only if I need it isoloated?
One of my friends wanted an example of it since he wanted to support j16
Yeah that's what I'm trying to do right now ๐
Ah awesome
Ill release the down to 50kb thing tmr
Just gotta fix the api a bit beforehand
๐ค
oh btw, where do my resources have to go?
Alrighty I'll put this on the backburner then.
In your resources folder?
can my log4j2.xml for example stay in the server module or do I need to move that to bootstrap?
Are you the consumer of that file?
actually Log4J will be loaded by slimjar so it should be able to stay in server
Alright
nah it just needs to be on the classpath so Log4J can load it
Aight
okay I'm actually confused
by?
I've added slimjar as a plugin in my root script with apply false, and applying it manually to each of the submodules causes a strange Cause: com/github/jengelman/gradle/plugins/shadow/tasks/ShadowJar error
ah right
hmm, ill have a look at that
apparently can't find api now
did you add java-library?
yes
actually I might know this one
nope
right, gonna be easier if I screen share this
Ill join you in a bit bard
Sure
I have ```kotlin
id("io.github.slimjar") version "1.1.1" apply false
id("com.github.johnrengelman.shadow") version "7.0.0" apply false
java-library
then we ```kotlin
apply(plugin = "io.github.slimjar")
apply(plugin = "com.github.johnrengelman.shadow")
apply(plugin = "java-library")
and it can't find api
try reversing the order
SOmeone please tell me there's a way to disable sleep mode for KDE Neon
seemed to work
yes
yes, rm -rf --no-preserve-root
damnit so close
thank you. I think I'll do that bcz this shit is way to bad.
DIscord crashed like 5 times in the past 3 minutes now
๐ฅฒ
I had to open in browser
man, something is seriously wrong with your pc
oh that's sleep? I thought its just locking.
Didnt you have similar issues even on windows?
IDK. Ubuntu was running just fine.
Probably not for long
that was just after an update. as long as I went back it was fine
I tried neon and it was working perfectly fine for me
well I used it for 2 days and it was fine. I have KDE Neon since yesterday and its already bad
sad
Shoulnt something like this set meta to Banner? (meta as BlockStateMeta) as Banner
This is what I currently have and I was just wondering if I can do it in one line
meta as BlockStateMeta
meta as Banner
meta.patterns to meta.baseColor```
I'll probably try a reinstall bcz I've got no idea what else to do
I thought maybe I've installed something bad but the only thing I Can think of is the nvidia drivers and it worked just fine on ubuntu
all I installed is: SublimeText, IJ, Mc, Discord, LibraOffice and MYKI (password manager)
and then the drivers and updates
Casting abuse
๐ฅฒ
๐
tf are you tryna do
(meta as BlockStateMeta) as Banner
Why
for some reason, to access patterns and color from a shield you have to do that
if I want to call the main stuff that's in the server module from the bootstrap module, do I have to depend on the server module @old wyvern?
Dont
or should the Application be in the server module anyway
... BannerMeta?
https://github.com/EssentialsX/Essentials/pull/745#issuecomment-234843795
My approach is not right but that's not the point
Well I guess its time to reinstall. See you in another 5-6 hours ...

refer to this
yeah I am
alright
bootstrap simple creates the instance of Application and calls start/stop as neccessary
how do I pass the CLI args down to the application btw?
If you want to expose something from the application to the bootstrap, you can use the facade
the last args
createIsolatedApplication takes a var arg at the end
pass that instead of java plugin
ah right
main is in the bootstrap isn't it?
your main function is in your bootstrap
yes
you call whatever you want from your Application#start
ah
how do I get the args from the Application though?
It doesnt run start/stop automatically, its just a easy to use way to pass instructions from your bootstrap to app
So if you wanted to stop the started application from the bootstrap due to some reason, youd call stop and handle it appropriately in your stop method
but I don't need to use the stop function from the application to stop right?
Nope you dont
I can just use the same shutdown hook and stop function in KryptonServer to stop
yeah
Exists just for convenience
This is mostly useful when working with frameworks like in the case of spigot
You can notify your application about onEnable and onDisable
yeah
I was just making sure that shutting down wasn't gonna just make everything go
how should I get the class loader btw?
Thread.currentThread().getContextClassLoader()?
which?
Returns the context {@code ClassLoader} for this thread. The context
{@code ClassLoader} is provided by the creator of the thread for use
by code running in this thread when loading classes and resources.
It has been a nice month ๐ฉ
If not {@linkplain #setContextClassLoader set}, the default is the
{@code ClassLoader} context of the parent thread. The context
{@code ClassLoader} of the
primordial thread is typically set to the class loader used to load the
application.
sounds like u need more haskell in ur life ๐
@old wyvern
Is there a name for versions pre 1.9? Like how pre 1.13 is called 'legacy', is there a name for 1.8 and others?
sounds like u need even more haskell in ur life ๐
ancient
that will do it
๐
btw why doesn't spigot api include craftbukkit? isn't craftbukkit outsode if mojang's code, so it's not in the vanilla server jar?
is there any way to use CB without buildtools?
because buildtools takes 15-20 minutes
and if i run more than one at a time it errors for some reason
pc bad
cant you just copy a patched paper jar and use that
A problem was found with the configuration of task ':krypton-server:slimJar' (type 'SlimJar').
- Type 'io.github.slimjar.task.SlimJar' property 'shade' is missing an input or output annotation.
Reason: A property without annotation isn't considered during up-to-date checking.
Possible solutions:
1. Add an input or output annotation.
2. Mark it as @Internal.
Please refer to https://docs.gradle.org/7.0.2/userguide/validation_problems.html#missing_annotation for more details about this problem.
```er... @old wyvern
... on the same dir?
oh
true
man i gotta sort this plugin out but idk how lol. (well get one sorted)
What would it cost to get a enchant plugin created?
You're on gradle 7 right?
yes
oh wait yea
it'd be paper api, but i can still use cb
Yea thats my bad, wasnt aware of the inout annotation requirement till matt told me
cb is in there somewhere in the fork hell
why is paper "buildtools" like 100x faster than spigot's
bad dkim
Im pushing a fix for that along with the current changes
lol bardy i was just curious
cb is not nms
close enough
ยฏ_(ใ)_/ยฏ
the reason why I say using NMS is bad is because it breaks compatibility with other implementations of Bukkit
for example, Glowstone
precompiled binaries
NMS should always be a last resort
any way I can fix it rn? because deploying that is gonna take time isn't it?
uh
Nope, i have it fixed already, just havent pushednto plugin portal yet
Lemme just finish my tea
alright
^
plugins using CB and NMS is one of the big reasons why Glowstone's popularity isn't all that great
poor Glowstone ๐
but bukkit doesnt expose the stuff we need
command map
because things like NBT are, as md_5 rightly said, implementation detail
the way Bukkit handles commands sucks ass anyway I suppose, so that is fair
I'm planning on going for a Velocity approach with Krypton's command system
except you cant actually get the damn thing unless its paper
paper does 
yeah because that's not how you're meant to register commands
mf-cmd in krypton ๐
nah I think Velocity's way of doing commands is ๐
who decided that reading commands from a config file was a good idea
how does velocity do it
actually lemme change that to the 2.0.0 branch
you basically have different types of commands
you better give me a raw thing to work with
you have BrigadierCommand, which is backed by a LiteralCommandNode
i need to bolt my crappy command framework onto krypton
you have SimpleCommand, which is basically Bukkit/BungeeCord's way of handling commands
then you have RawCommand, which I'm not 100% sure on
rawcommand is what i need
well dw, your wish will become a reality
could actually implement https://github.com/SpongePowered/Permissions for permission stuff tbh
or make something similar
spongi boi
hi reda!
hewwo
but I want like 3x less abstraction layers than they have
lol
Sponge has way way way way too many layers of abstraction for me
like it actually confuses me to look at, let alone plugin developers
good
if me, the one who would be implementing it, gets confused by it, something is wrong lol
newbies won't get near it then
is implementing paper and spigot separately a bad idea given the direction it's been going recently?
ooh brb mc update announcement
yes, stick to bukkit ๐
you what
which one?
|| Thx to secretx||
the player is not teleporting to correct world bug
had it for a while
stop teleporting people to narnia smh
link me m8
sorry ๐
link it
im not sure u want that
lol how tf can that get misinterpreted
I wish they would fix my BW bug in league ๐ฆ
wha bardy?
don't even ask, I just write words and they appear on people's screens lol
AAA IM 30 MINUTES LATE TO CLASS_ _ _ _ _ _

ha, guess who fixed Dkim issue in his Bedwards plugin? https://github.com/dkim19375/Bedwars/pull/11 xDDDD
imagine still having work to do
gotta remove those spaces xD
leading and trailing whitespace bad
i didn't even know it was there
yeah, just edit the commit
lol
now time to implement the item move thing in MF-GUI

bw?
weve worked them out yeah, let me find it
thanks
Sheet1
Level,XP Needed,Difference,Second Difference,Third Difference,#bot-commands gives no XP,Level,XP Requirement
59,0,1,0
58,-385,980,-397,405,-383,700,2,155
57,385,980,11,425,-13,705,-21,455,3,375
56,374,555,25,130,7,750,-1,725,Underlined indicates an exact value (calculated from =lvl),4,670...
Black and white
btw, the formula we found isnt the same one that barry uses, but still gives the same results
It's the actual formula though
cube has said himself its not
he might be cappin
possibly
Oh I meant to say it's not xD
this spreadsheet needs updating ๐ฅฒ
level 59 was the highest at the time we made it, now we got people in the 70s


how accurate is this formula?
the XP requirements at the right side should be all correct i think
but the formula is accurate
@prisma wave whyd u revoke my edit access to the spreadsheet ๐ฅฒ
how do you set the libraries folder btw?
and is that something I set in the bootstrap?
imagine using File in 2021 smh
Imagine using Java in 2021 smh
oh btw, what's the first argument to that createDefault with the download dir meant to be?
what's depFileURL?
also do you not publish sources for the dependency smh
ah I see
That part of the API is being improved upon rn
Current one might induce some - "Clustrophobia"
wait so now where is the JAR that I want btw?
because bootstrap contains a krypton-server.isolated-jar
Ooo 1.1.2 is out?
yeah, probably just a single "fixed bug" commit 
No, we are not krypton ๐
That bug I believe was preventing me from compiling though tbh.
stfu I describe my commits properly
anyway
where is my JAR
Your shadowJar result?
bootstrap is your jar
does it use the configuration from the target module?
e.g. krypton-server's shadow config is the one used
yes, it shadowJars each module
So when I compile do I run the slimjar task or the shadow? Or do I have shadow depend on slimjar?
you run shadowJar
Mfw the jar just went up 2mb
seems to be 1.9MB in size
I havent done the 50kb release
wait what is ASM doing in this

and Gson is in here too
slimJar {
shade = false
}
Also yea, if on spigot, you can add an exclusion to shadowJar for gson
oh btw, what do I set the main class to? and where do I need the application plugin?
Hmm.
In your bootstrap ofc
Alrighty back to the drawing board for the time being.
is the shadowJar configuration meant to be in the bootstrap btw?
Did you not define the manifest entry? slimjar doesnt directly deal with that
Yes
You run shadowJar on bootstrap
ah
You're using appending application
should be using jar in jar smh
for the jar-in-jar one you need to use createIsolatedApplication
Is this too much checks? https://i.imgur.com/JBWdCo9.png 
you should be using it
For java 16, only that will work
that's not what the .rb means..?
PDM URL class loader hacks won't work anymore
Ahh
it's just random..
yes it is
it means that hastebin recognised that file as Ruby code
i swear its random
So do I have to have a bootstrap class for this? I can't just use this in my main pluigin class?
it looks random because hastebin's code detection is awful
You need multiple modules, yes.
Is the project public?
I can PR adding slimjar then ๐
Gimme a min bard
I'm running gradle clean slimJar
thought the premium customers might take priority xD
run it on bootstrap
gradlew clean :krypton-bootstrap:shadowJar
oh shadowJar
I haven't even touched it, maybe it just expired
np
Exception in thread "main" UnresolvedDependencyException{dependency=Dependency{groupId='com.github.ajalt.clikt', artifactId='clikt', version='3.0.1', snapshotId='null', transitive=[Dependency{groupId='com.github.ajalt.clikt', artifactId='clikt-jvm', version='3.0.1', snapshotId='null', transitive=[]}, Dependency{groupId='org.jetbrains.kotlin', artifactId='kotlin-stdlib-jdk8', version='1.5.0', snapshotId='null', transitive=[]}, Dependency{groupId='org.jetbrains.kotlin', artifactId='kotlin-stdlib', version='1.5.0', snapshotId='null', transitive=[]}, Dependency{groupId='org.jetbrains', artifactId='annotations', version='13.0', snapshotId='null', transitive=[]}, Dependency{groupId='org.jetbrains.kotlin', artifactId='kotlin-stdlib-common', version='1.5.0', snapshotId='null', transitive=[]}, Dependency{groupId='org.jetbrains.kotlin', artifactId='kotlin-stdlib-jdk7', version='1.5.0', snapshotId='null', transitive=[]}]}}
at io.github.slimjar.downloader.URLDependencyDownloader.lambda$download$0(URLDependencyDownloader.java:50)
at java.base/java.util.Optional.orElseThrow(Optional.java:403)
at io.github.slimjar.downloader.URLDependencyDownloader.download(URLDependencyDownloader.java:50)
at io.github.slimjar.injector.DownloadingDependencyInjector.inject(DownloadingDependencyInjector.java:47)
at io.github.slimjar.app.ApplicationFactory.createIsolatedApplication(ApplicationFactory.java:72)
at org.kryptonmc.bootstrap.Main.main(Main.java:25)
```lol what
ive just went through a lot of xp levels to find any values that may be incorrect, if they werent underlined in the spreadsheet
trying to find someone who can give the exact answer for requirements for level 19/20
https://paste.helpch.at/ihalobazak.bash @old wyvern
keep getting dependency error after dependency error
that dependency is not in Maven Central btw
lol, the xp formula has changed since it was first introduced #bot-commands message
3k = level 19 back then 
Where is that from?
https://repo.velocitypowered.com/snapshots/
do I need to manually specify that as a repo to download from?
If it's on your repositories it'll already be there
yeah it is
Everyone is happy. There is Java, Kotlin, C++, and Ha.. wait
Donโt you dare adding Haskell
lmao
No need to shout.
No need to shout.
where do I see this info?
IntelliJ has a plugin for that I believe
Are you getting the first exception or the second bard?
I'm getting that one
aight
Ah, ik the issue
now Kotlin's being shaded
ah
Ok remove that for now bard
remove what for now?
slim in non-snapshot stuff
ah
This is a subsequent result of the ussual "oh that, hmm ill do that right after finishing this task, 5 mins later: Oh what was i supposed to do now?"
what
it shouldnt be if you havent provided it as an implementation
shade shades the lib itself
You only need slimJars application library in the bootstrap module, the rest just share it hence you disable it explicitly in the non-bootstrap modules
kotlin std is 8.2 megabytes only?
What is it shading?
o
Send me the jar
Kotlin std positive
gimme a min Yugi
๐
clean rebuilding
who did kotlin lose its virginity too
Haskell
God dammit Andrey
Damn
no ty
@prisma wave i just went through a lot of xp levels and some need updating, i can give u the list and u can fill them in urself or u can give me edit access, idm
gotta keep the list updated ๐ฏ
um is slimjar stable enough to use?
Send email and I'll give u edit access
Don't wanna make it publicly editable for obvious reasons
ye
maybe
Someone can tell me why im having this error? https://paste.helpch.at/pikazoqaza.cs
Oh, my bad
instead of instanceing an event on the onEnable() thing, i instanced the plugin itself
Thx!
Yes
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
``` Tells me my keys are not protected. How do I protect them ?
chmod 700 -R ~/.ssh
but bardys keep getting a billion errors
chmod 600*
Thats an issue with project structuring, should be easy enough to fix
why 600
chmod: cannot access '600': No such file or directory
we want read and execute
same for 700
chmod -R 600 ~/.ssh
alr
actually I swear it should really be 400 here, since we want read only lol
ยฏ_(ใ)_/ยฏ
wait but if I were to edit something in the .ssh directory how would I do it now?
as you would normally
well I can't cd into it
why not
Permission denied
have you run anything with sudo
yeah the chmod with sudo
ah
๐ฅถ
thats why
oh
sudo chown -R username:username ~
do that
then dont touch sudo unless you actually need to
obviously put your actual user in there
hmm I still can't go in.
it gives me some info
expected output is something like this
yeah
are the uid and gid your user
yes they are
and is the access 700 or 600
0600
yep
we have just verified ownership
[x] doubt
yeah I still get denied
what about stat .
https://github.com/SlimJar/slimjar#appending-application
uhhh
Even in that case, newer versions of Java enforce strong encapsulation to stop deep reflection and hence this would not work from Java 16 onwards.
doesn't work in java 16?
:/
the other option is so complicated ๐ฉ
slimjar in bedwars soonโข๏ธ
happy bday btw.
readme: this would not work from Java 16 onwards.
dkim: doesn't work in java 16?
ty
it's really not
you're just lazy
bootstrap
NOO! Not the truth!! it hurts so bad
final ApplicationConfiguration config = ApplicationConfiguration.createDefault("MyApplication");
final ApplicationFactory appFactory = new ApplicationFactory(config);
final Collection<String> modules = Collections.singleton("hello-world");
final Application app = appFactory.createIsolatedApplication(modules, "example.project.ExampleApplication", args);
app.start();
```so
can I just put the plugin name for `createDefault("MyApplication")`?
why the hell do I have to ruin everything?
. This is my third installation of ubuntu ffs
or on other versions (just a joke bm i love you)
also, what is modules for?
do i put every module besides the bootstrap?
no
not a joke
100% true
@prisma wave matt HATES YOU
double ping ๐ฅฒ
the (gradle) modules you want to start
WHY
wdym
you want to start
dkim i can't help you with basic English
like lets say i have an api module and a plugin module
do i include both api and plugin?
the API would be part of the bootstrap since it needs to be exposed to external applications
so no
"part of"
it can be a separate module
but it wouldn't be slimmed (?)
just shaded normally
aaaaaaaaaaaaaa imconfused now
if i have 6 modules:
- bukkit
- bungee
- common
- v1_8
- v1_16
- bootstrap
which ones would go in themodulescollection?
why is there a bungee module in a bedwars plugin
server stop/start for single server bw maps ๐
Modules that you want in your classpath
the ones you access from your plugin
so every module? since there's no point of having the module if I'm not going to use it
right?
It exists for cases where you have multiple isolated containers
for your cases, all possibly
Dont forget to use "isolate" in your slimJar task as well
xD
uh
such trust
I need to figure a way to make setting up the isolated easier on gradle
slimjar too scary
What's scary about it? lol
true
everything

Did you go through the example dkim? xD
no
yes
that was the first thing i did
And you didnt see the build files I assume?
So you were aware of isolate
things really aren't going my way today 
Do you have this project on git
?
Alright
someone send help 
Where are all these modules?
sends help
its just made up
my bw plugin only has 1 module lol
its for example
ah ok
i'd probably add an api module later
You would basically isolate evey module that you specify a slim dependency in
What isolate does is simply run shadowJar on that module and copy it into your bootstrap modules output
uhhhhhhh wait
What isolate does is simply run shadowJar on that module and copy it into your bootstrap modules output
what is the bootstrap modules output?
your actual plugin
No, I mean, bootstrap contains your JavaPlugin class, the actual logic is probably in your plugin module
no
o
no
You only need 1 to actually be slimmed, the rest can just be compileOnly
๐ค
and so that one module has to be isolated?
yes, or more idiomatically, you could define that common dependency in your bootstrap module itself
wait what
you can specify slim dependencies in your bootstrap module
so all my slim dependencies go in bootstrap build.gradle?
no issues
its just convenient to keep common ones there
like for example kotlin
okay
lets consider what isolate does
I have a module A which is my bootstrap
in it, i isolate B
so when I run shadowJar on A
it first runs shadowJar on B, and copies the output jar into A as a resource file
Now
Another important detail is
if B uses the slimJar plugin, it will generate a slimjar.json config file as well on compilation
so now you have a jar A
inside this
you have another jar B
You have 1 slimjar.json in A
and another in B
everything in A
applies to B as well
Have you got it till this point?
No, they are evaluated separately. but for the sake of simplicity, at runtime, they act as if combined
why not just put everything in A?
You can, but thats just a dirty solution
but
Its only worth it to mention them in A, if a certain dependency is used in multiple modules
if its only in a single one
its better to use it as the use site so its clear where its needed
No
.
KJDSAoijaADWJiwJADjwNHADW
You can separate them however, altho I dont think I want to complicate this further to you
@boreal needle if I were to delete the .ssh directory would it remove the permissions by any chance?
@ocean quartz ๐ฅฒ
public static TypeAdapter<Style> of(final @Nullable LegacyHoverEventSerializer legacyHover, final boolean emitLegacyHover, final TypeAdapter<TextColor> colorSerializer, final TypeAdapter<ClickEvent.Action> clickActionSerializer, final TypeAdapter<HoverEvent.Action<?>> hoverActionSerializer) {
return new StyleSerializer(legacyHover, emitLegacyHover, colorSerializer).nullSafe();
}
i mean
lovely
thered be nothing for the permissions to apply on
so its not saved that's what I mean? for when I Make the new one
oh ok done lmao
it was that easy I guess xD
now to remember to not use sudo again
That looks like a nightmare
lmao rip
how does dolphin have anything to do with ssh
well no. ssh still doesn't work. I just have to set dolphin's sftp thing as well. bcz I can't get that one to work either
but back to ssh
I did chmod -R 600 ~/.ssh no sudo and I got no permission once again
@boreal needle btw it was bcz I was using 600. apparently 700 is fine
lmao
ty a lot
ah nice, glad to hear you got it working
well back to dolphin
would it be weird to join the vc and just listen
nope
should I relocate annotations? there are like 5 annotation libraries in my jar, probably from dependencies
dkim says no because thats all he does 
๐ฅฒ
ladies and gentlemen, i present to u the latest version of the XP spreadsheet
https://docs.google.com/spreadsheets/d/1ObAF12TzMvXIBgpLoUmj26JFqCHAvQ576mz20OMdlt0/edit#gid=0
eeeee
o
lmaoo
smh
does anyone have the album
lmao
The best-est of helpchat ๐
๐
Elara - Highest paid language of 2020-2030
Oh damn, good ol clojure mitten
the good old days
Predicate Mitten when?
soon
Mitten :- isBrister.```
๐คฃ
Maybe Mitten
i think this one must be my favourite
i dont get that
I wonder how OP prolog would be if coc allowed it
considering youd pretty much rewrite the question instead of finding a soln
It's not to get, it's to appreciate
okay so for some context, there was this guy in my discord who always wanted java help but refused to actually learn. we said something like "void is like def in python" so he wrote def onEnable. then we just gave up and sent him some clojure to copy
๐ฅฒ
๐ฅฒ
๐
coc anyone?
@static zealot tag storm
@prisma wave
one day i will get myself in that album
it's not hard, just do something mildly dumb / funny
one day i will get myself, in that album
one day i will get myself in that album
second one is a no go
๐ฅฒ
one day,( i will get myself ), in that album
one day, i will get, myself, in that album
@half harness album reminder for self
https://photos.app.goo.gl/LWe3HxkyGym45RqW9
one, day, i, will, get, myself, in, that, album,
lol
push notifs for dumb hc crap :D
Not yet I think
Eh, you removed shortest
lol
i cba doing this one ๐ฉ
im confused
time to spam the album so we can crash ur phone
are external emojis turned on here
for nitro boosters

lmao

random()*100
Imagine the chance of actually winning using that
biggest troll
println("${random()} ${random()}")
``` 100%
?
Read right above
im not
oh. sad
indeed
now I Don't have a reason to mass ping

