#dev-general
1 messages · Page 162 of 1
allprojects {
apply(plugin = "org.jetbrains.kotlin.jvm")
repositories {
mavenCentral()
jcenter()
maven {
url = uri("https://hub.spigotmc.org/nexus/content/repositories/snapshots")
}
}
dependencies {
implementation(kotlin("stdlib"))
compileOnly("org.spigotmc:spigot-api:1.16.2-R0.1-SNAPSHOT")
}
}
but I'm still getting the error: Unresolved reference: bukkit
Nice my command framework works a little bit so far
No.
yes
it shows the dependency but still can't resolve the org.bukkit reference
@hot hull what do I do with this error for example: "is not part of the build defined by settings file <path to gradle settings>"
Do you have multiple modules?
because he realised that clojure is bad and so is vbscript so he changed back to normal
no
why?
@empty flint
Because you're using allprojects which is useless for single module builds
So if I create another project it should work?
@empty flint
Because you're using allprojects which is useless for single module builds
@prisma wave Still getting "Kotlin: Unresolved reference: bukkit" again
Gotta do tab completion and usage/help generation
@prisma wave Do I have to remove the auto-generated iml files for gradle to work?
I've been at this for the past 6 hours. Can somebody please help me out, I'm going insane
no you don't remove the imls
So I'm trying this step by step, right
Iml is generated by IJ
New Project -> Gradle (Kotlin DSL), Kotlin JVM library
oh your using kts
Then I go New -> Module -> Kotlin but no build.gradle is created for the module
How do I do this?!
You need to make a gradle module
Alex, does guava have a Map<K1, K2, V> where you'd need both keys to put and get a value from the map?
or is there any libs out there that has that?
Table
You need to make a gradle module
@prisma wave Tried that as well. No src folder was created so I made one and it still didn't work
Table as of what? A library?
Oh I see
Do you actually want to use multiple modules?
@prisma wave I want to have all my plugins be submodules of one root project that only handles dependencies
But no Multitable?
Jesus
@empty flint if you want an example have a look at the pdm repo
It's in groovy but you should be able to get the gist
do you have a link? Idk what pdm means and google doesn't help
LinkedHashBasedMultiSetTable
right, how do I find it?
What's the exclude syntax for gradle again?
not rly
yeah gradle over hyped
Not
well
» Give the helpers some details
» Ask suitable questions
» Be polite
» Wait
There we go
Sorry for my bad english
I say first
I gonna open a server
I don't want cheaters to join my server
Just cancel the player cheat event
How do block this
Dont @hot hull
@EventHandler
public void onCheat(final PlayerCheatEvent event) {
event.setCancelled(true);
}

ugh /ban xD
I make myself sad as well
Get an anticheat, not really much else you can do
actually
Preventing cheaters from joining the server is virtually impossible
I can't
How do I protect my server from grief?
Worldguard or grief prevention
no
best combo
not like this
What then?
delete system32
:lmao:
?
Preventing cheaters from joining the server is virtually impossible
That just looked like he had OP
^
Which was probably given to him by a shitty staff member
99% of the time that's the case
Dont give staff members permission to /op command
well the server was shitty if they gave op to staff memebers
who gives staff op tho
don't give them op and the * permission
a lot of people do Aj
for like 200%
200$ *
any plugin or something like ?
rip
They had plugman, you know how good it is just by that
Mixwox this is not the place to ask for plugins or support at all
:kek:
any plugin or something like ?
@eager patio
Plugins to prevent you from oping staff?
And you'll find many plugins that claim to be anti cheat, but none will protect you 100% if someone wants to cheat they will
shadys back
bekle senin amına koyacam bekle
tell a friend
Thanks for helping
Guess who's back
my power supply finally came today
nice
You can do that to yourself @eager patio Have a nice day
ty
mixwox please find another place to troll
🇹 🇷
my new specs are:
CPU: AMD Ryzen 7 3700X
Motherboard: ASRock B550 Phantom Gaming 4
Graphics card (not upgraded): NVIDIA (MSI) GeForce GTX 1050 Ti
RAM: Corsair Vengeance LPX DDR4-3000 32GB (4x8)

please keep it english
and if you want support that's why there is a support area
if you don't know english there's google translate

nice
Functional interfaces
no idea what those are but nice xD
@FunctionalInterface
public interface Test {
execute();
}
fun interface Test {
execute()
}
Basically what i use on my libs for things like GuiItem(item, event -> ) the event stuff is from a functional interface
would assigning it to a val be
val a = fun interface Test {
execute()
}```?
Let me test
or can we have an identifier after fun?
This is the 3rd time me trying to update xD, ij keeps failing randomly
You can't declare it like that
Why do you want to assign it to a val? ;o
I mean in case if there was a need that would have been nice xD
Class declaration is a statement
I don't see how having it as an expression would work
Oh! Yeah just defining
can it just be defined with a lambda where needed?
I assume it'll work just like the Java counterpart
heh I reckon I could if I was paid enough
what
Preventing cheaters from joining the server is virtually impossible
playerBits & 0x04
if (e.player.isCheater()) e.player.kickPlayer("Cheater lol")
Lol
idk why anticheats haven't been doing that
Kotlin could accomplish that

yo @remote goblet i think your messages are inverted XD
http://images.virtusdevelops.eu/shareX/7s63jpu0.png
XD
Yes
wait Kotlin 1.4 is out?
yeee
boii
Awesome, now i can add gradient support
@signal tinsel check out https://github.com/lucko/LuckPerms. they have a good auto generated help thing that determines what help to show based on what amount of args you provided
I mean, i need to figure out how to format it
Tbh doesnt matter too much as users can create their own helpgenerator
I took the pussy way out.
Ayy intellij finally updated
@hot hull Do you code in node.js?
i downloaded 2020.2.1 through toolbox... it didnt even update for me
@signal tinsel whats that? The bin doesnt load for me
U suc @onyx loom
What bin
hastebin
Oh
wow gaby
Wtf its gone lol
how rude
Its a commands thing
ew they messed up the splash screen
Link 👀
It looks so.... colorfully weird now
wdym?
@distant sun gimme a sec I'll re upload
wdym?
@old wyvern kali - kalibear
I do not Harvey
oh xD
https://paste.helpch.at/ruxevilezu.php @distant sun
Should I make an @Injectable annotation for my injector system
bruh @winter iron The hell are you shading in that plugin of yours that it's 14mb
Nike
im not minimzing
What's with Nike
frosty, if I minimize it dont work because of sqlite and mysql drivers not being included
Even not minimizing that's a lot o.O
Anyway gaby I'm not sure if I'm gonna even make the command framework public
Welp
I tried to use exclude in gradle, but it didnt work
Dudes using Hibernate
I mean if people really want I'll publish it no problem
dependencies {
compileOnly "org.spigotmc:spigot:1.16.1-R0.1-SNAPSHOT"
implementation "me.mattstudios.utils:matt-framework-gui:2.0.2"
implementation "me.mattstudios.utils:matt-framework:1.4"
implementation "com.zaxxer:HikariCP:3.4.5"
implementation "org.xerial:sqlite-jdbc:3.32.3.2"
implementation "mysql:mysql-connector-java:8.0.21"
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.8"
}
this is all my dependencies
Lol
I'm defo gonna work on it first
not alot
Well hikari is decently sized
the production ready software 
what version of pdm we on now
I will look at PDM in future
0.0.19 i think
i need to update from 0.0.1 🙃
yes
but I did this to learn gradle too
You shouldn't need to implement sqlite and mysql though, that's on spigot
u sure?
bm you should remake or maybe switch the focus the spigot plugins
@ocean quartz doesnt work for 1.8
uve had like 12 updates in the past 4 days
wdym @old wyvern
Should I publish my plugin framework when I work on it a bit more?
sounds abit unstable to me
no
Currently commands and GUI + some utils
It would be nice to have it be generally easy to use in any project
Oh
Well
Update 
It's pretty much decoupled from spigot anyway
Yea but the setup for outside spigot was a hassle right?
only a bit
Ah
wot
Can someone explain to me why this does not work?
What are the common hex syntax people have been using on spigot?
its PDMBuilder now or smth right
yes
Matt, #<HEX> 
<#hex> &#hex
Yeah that one is the best one, just wanna add some others in case people suck

I use &#hex
Once again, that's horrible frosty
I'll cook your cat Gaby
if(I go poop) => wipe ass, flush toliet
``` Why does this not work? It does it backwards for me. :/
<#hex> best
how many times have u said that frosty 
^
&#hex is nicer
Shut up @steel heart
&# is standard
Nah yesterday it was oven kali
^
§x§f§f§f§f§f§f best
Nah yesterday it was oven kali
@glad spear last week it was the bbq
it should be &#hex consider all formattings starts with & currently
(apply-hex :FFFFFF) best syntax
<#hex>
&# 
Yes true that
Feels like a casino with all these emojis
Now i need to make <(?<hex>#[A-Fa-f0-9]{6})> support multiple styles yikes
i guess it's objectively superior after all
Thats wack
what was the reasoning behind changing the pdm manager @prisma wave btw?
got messy
imagine
alex consider you have 3 facepalms I think not
there were like 3 different overloads for a 6 argument constructor
in kotlin you could've done default parameters
in java it's idiomatic to make a builder
java is bad but its doable
it's no clojure
in elara, its idiomatic to not use constructors 


did you think vue + js was a good idea?
thymeleaf did the job fine
more like dumbleaf
Skript is superior no cap
yep
Why does that emoji look like someone with the plague
poor docker
on a similar note
dokka 1.4 is the best thing jetbrains have ever made
i like intellij
ok but dokka
Is this good enough?
yes
can we escape it as well?
I can make that happen
I mean yeah that would be cool
#<HEX> :((
Why though? if you will have the # outside might as well just do #hex
^
What abt 3 digit
public static Colour ofHex(String hex) {
if (hex.charAt(0) == '#') {
//remove # if present.
hex = hex.substring(1);
}
switch (hex.length()) {
case 3:
//parse format 3-digit 'FFF'. duplicate each char
hex = shortHand3DigitTo6Digit(hex);
case 6:
//parse into decimal value.
final int decVal = Integer.parseInt(hex, 16);
//parse format 6-digit 'FFFFFF'
return new Colour(
(decVal >> 16) & 0xFF, (decVal >> 8) & 0xFF, decVal & 0xFF);
}
throw new IllegalArgumentException("The value '" + hex + "' could not be constructed into a valid colour.");
}
(c) kiteboard
Sounds fun i can try 3 digits as well
Also escaping this is pretty hard because of the many styles
If i escape one, it'll just match the other
This style is the one messing it up
might remove it
do it.
#555555> is also matched
hmm
If you wanna play around with it https://regex101.com/r/Jn3rHS/2
thymeleaf is pretty nice
you using Thymeleaf with Spring?
why not?
lemmo wanted to seperate frontend/backend
Yo
what domain provider do you guys use for a personal website
I want senseiju.me
and do you make your own websites with web builder or just create it yourself
I used godaddy for domain for most of mine. and i prefer to create it myself
godaddy is good too, abit expensive tho tbh
are the domain prices any different?
yes
how do u guys host ur websites then
most just have vps
mhm
using hosts such as hetzner, digital ocean etc
Sounds good, just looking at some options and I might consider buying one
hmm question of the day!
soo
I have always seen people using return true/false in commands
I mean... ok when it returns it ignores the rest of the code from that point on
but what's the difference between return true and false?
returning false will send the usage defined on the plugin.yml
return true will display the command i believe
wdym by display the command?
return true will consider it well executed and send nothing more
yea that
like how to use it
but ew, using spigot for commands
I should use true
If you have this for example
If you return false
it will automatically send /test
^
so don't
cause I am stupid enough to NOT make my own

very simple
its easier than spigot imo
all in the annotations
I barely use commands so..
Dark Reader extension
oof ty
yup
I suppose it only support one subcmd?
as many as u want
u can do like "subcmd subcmd2"
or make ur own
If you have to use more than 1 sub command you should probably restructure your command system 
xd
ok I think I understood
thx
bruh
shadowJar {
relocate 'me.mattstudios.mf', '[YOU PACKAGE].mf'
}
how tf is this in kts?
cause I am using build.gradle.kts
but never used shadow
in gradle
so don't rlly know
u need to shade the framework
ye
sec
never did it though
dont use kts then 🙃
ez
Can't add dark theme since GitBook doesn't have it yet so well
@pastel imp this should do it:
plugins {
id("com.github.johnrengelman.shadow") version "5.2.0"
}
tasks.shadowJar() {
relocate("me.mattstudios.mf", "[YOU PACKAGE].mf")
}
If anyone is ever just chilling doing nothing, I would appreciate some constructive feedback on my project. It's my first attempt at a properly built project https://github.com/SenseiJu/InventoryRefund/tree/master/src/main/kotlin/me/senseiju/inventoryrefund
@ocean quartz, I was looking at some examples for your MF-GUI and in most gifs you have, whenever you click an item it doesn’t get picked up, then placed back, it just stays stationary
is there a way to do that in newer versions or was it just skipping frames because it’s a gif
isn't that just canceling the click event
lol?
wtf @ocean quartz
oh wait
ok it fixed
lol
@obtuse gale It's because on localhost there is no lag so the event is canceled instantly not letting the client see the picking animation
It'd be great if the client waited for the handshake before starting the animation, but well minecraft
it would be dope but I guess everyone’s used to it by now
maybe I should make a mod for that
@winter iron it might be better to make the refund command a little more specific to the plugin. I could see other economy related plugins using /refund
hmmm
maybe
I havn't seen a plugin use the refund command before tbh
but would make sense
ive never seen a single eco plugin doing a /refund cmd
@prisma wave would there be anything similar to shadow's mergeServiceFiles in pdm ?
using pdm on discord bots is hella useful
but i personally am getting this 
no main manifest attribute
🌚
there is one 
apparently not 🌝
@remote goblet on your gradle add the plugin id 'application'
Then add mainClassName = "your.path.MainKt" under the group/version
Noice this is perfect, now it keeps all the formats including gradient
Why does it account for one space and not the others?
trying to fix that right now
Fixed
actually i think it does need to save spaces hmm
Might anyone know how to cancel the spectator entity perspective view?
IE: When I click on an entity to view it's perspective in spectator
I've tried cancelling PlayerTeleportEvent, PlayerInteractevent, PlayerInteractEntityEvent and PlayerInteractAtEntityEvent.
@ocean quartz ?
@remote goblet pdm doesn't have any control over the building process, could the jar plugin do that?
Or the application plugin
Add Kt at the end
^
Should I upload my plugin lib to maven central?
does it actually compile a MANIFEST.MF ?

Maybe it's missing this?
sourceSets {
main.kotlin.srcDirs = main.java.srcDirs = ['src/main/kotlin']
main.resources.srcDirs = ['resources']
}
pdm gang 😎
😎
i hate this bot more than you can imagine

That's all i have and it works
ignore how bad the main class is, here it is https://hasteb.in/otizecor.kotlin
throw NullPointerException("Command aliases is null") 😡
also
you nicked that code from my unit tests
didn't even change the applicationName
smh
Lol
😭
noooo you can't just use the name "PDM Test Suite" for the application name! it's supposed to be the actual application name!!!! nooooo
You bring shame to Kotlin!
I fixed it now 
yay
😢
hideous
i'll remove that later
Should I upload my plugin lib to central or no
why not
I gotta sort out this main class entirely
throwing NPEs manually, static, unnecessary try/catches, literally using a temp directory for pdm's libraries
@old wyvern huge
🍉
what would be the way to go about extending a data class in kotlin
for example, if I have a User data class, how can i extend that into another data class with the exact same members but also a couple others? is this possible
https://paste.helpch.at/zilagamidi.php dang, simple but VERY useful
or should the new class be of a User and the new pieces
Is there a java default version of this?
@prisma wave I just set up the same project structure that you had in the pdm project you linked. When I open the root project and open one of the subprojects' build.gradle.kts files, IntelliJ is telling me that "The associated Gradle Project isn't imported"
Any advice?
you added it to settings.gradle.kts?
rootProject.name = "BlockyRoot"
include("BlockyLib")
include("BlockyRanks")
The same way you did
Hm no it doesn't
@surreal quarry data classes have to be final
@empty flint close the project, and do new > project from existing sources
and select the root buildscript
Why are java users ignored
@empty flint close the project, and do new > project from existing sources
@prisma wave Again, no dice. Idk what to do anymore. Probably just gonna go back to Maven
It says I can import the gradle subproject
but
When I look at the Gradle Tool Window, it is already imported
Is that a problem?
Seems more like it's an intellij bug tbh
Maybe delete all the iml and .idea stuff and do a clean reimport
I don't know and don't care, I just want it to work. The Gradle Tool Window says the dependency is there
Why are java users ignored
@signal tinsel inferior
Ha
@prisma wave
Wait...
👋
Hi hi ^-^
good day
Who is brianna?
Me :3
oh wait
Or probably lots of other people with the same name.
Hmm?
@empty flint and it can't find the bukkit classes right?
@empty flint and it can't find the bukkit classes right?
@prisma wave It can't find the classes, when I open the submodule as a project it says the following 2 things as well:
and
Gotta define your sdk ^-^
^
You need to set that in the project structure
Again seems like more of an intellij problem
Project directory '... Workspace\Blocky Root\Blocky Ranks' is not part of the build defined by settings file '...Workspace\Blocky Root\settings.gradle.kts'. If this is an unrelated build, it must have its own settings file.
ctrl shift s on windows I think?
I think so yeah
Show the entire project structure
Gotta define your sdk ^-^
@round shale Well shit why did I not think of that. I thought I had to stick a banana in the air intake of my PC
lol
I really don't like cursing :c
Jesus
That might work too
I really don't like cursing :c
@round shale I could give a fuck
ctrl + alt + shift + s
Blocky chill out
let's stay on topic
🤔
Yeah @old wyvern's got the right idea. That sounds right.

hmmmm
Blocky chill out
@ocean quartz Sorry, I'm really agitated by gradle and ij and this off-topic shit is giving me anxiety
Show the entire project structure
@prisma wave Coming, just a sec
I understand but no need to discount that on people
@empty flint can you put the entire project on github (source code isn't important) and show us as well
Okay well I'll go. You all have a fantastic rest of your day ❤️
aidos

@empty flint can you put the entire project on github (source code isn't important) and show us as well
@prisma wave Gimme a sec
ok
yeah blame maffie for the demon entering the chat
Lmaooooo
lol
😂
i didn't think it was possible for an online text chat to be awkward
cascade?
Remove my account
ok
um?
🙃 .
😢
Obviously not then
They cant remove my account
xD
fun
Intrisics
@prisma wave https://github.com/BlockyBorzan/BlockyKotlinTest
xD
@empty flint it's probably because of the spaces
in the folder structure you mean?
include("BlockyRanks"), the directory itself is called "Blocky Ranks"
yeah
it probably can't find the module or whatever
But shouldn't it say so?
Because you can set up the project name and the project location
the spaces shouldn't matter
you're importing the project by name, not by folder structure
... I think
but if gradle can't find the module
just try changing it
i'm fairly confident that will fix it
Will try
Well suck my nipples and call me skippy.
include("Blocky Ranks") worked.
❤️
That's fine, I wouldn't do that either I don't think
But
Thank you very much, I've been struggling with all the shit IntelliJ is telling me were problems when it was the spaces all along

the hardest problems have the easiest solutions
@prisma wave Idk man, the Poincaré conjecture has several hundred pages of proofs. I think that only applies to stuff developers do...
not to problems of actually smart people
indeed
@prisma wave SUCESSSSSS
👏 👏 👏
Writing a quick test and pushin
okay the new Kotlin 1.4 additions are actually pretty useful
like being able to declare a functional interface with fun interface, which just makes the language more readable
I feel like this is a very nasty constructor
(String name,
int maxLevel,
int startLevel,
EnchantmentTarget enchantmentTarget,
Predicate<Enchantment> conflictsWith,
Predicate<ItemStack> canEnchantItem,
EnchantmentTier enchantmentTier,
Map<ItemStack, Double> killDrops,
Map<ItemStack, Double> mineDrops,
Map<String, Double> killEnchantDrops,
Map<String, Double> mineEnchantDrops)
wait Dokka 1.4?
please tell me that adds in the option to configure the CSS
I feel like this is a very nasty constructor
(String name, int maxLevel, int startLevel, EnchantmentTarget enchantmentTarget, Predicate<Enchantment> conflictsWith, Predicate<ItemStack> canEnchantItem, EnchantmentTier enchantmentTier, Map<ItemStack, Double> killDrops, Map<ItemStack, Double> mineDrops, Map<String, Double> killEnchantDrops, Map<String, Double> mineEnchantDrops)
your feeling is right lol
@jovial warren idk about that
but it does more important things
code samples that you can actually run
nice looking docs
etc
it's great
Ij's debugger is amazing
of course it is lol
why does it say them twice?
yeah good point
One is the this.actions the other is actions
^
also @prisma wave this may be something you know
how does annotation processing work in Kotlin?
basically I want to do a real sneakys and get all classes on classpath annotated with a specific annotation lol
annotation processing won't do that
no but reflection can can't it?
Well obviously xD
on the plugin page
hey thanks i appreciate it
general kenobi
@prisma wave yeah I'll try using org.reflections then
use Skript lol

also you mean https://mvnrepository.com/artifact/io.github.classgraph/classgraph btw @prisma wave right?
actually I've got a better idea than my original one, one I know exactly how to do with org.reflections

@prisma wave what's the ClassGraph equivalent of Reflections().getSubTypesOf?
oo its tuesday for me now
noice
where u from conclure?
the api is fairly self explanatory though
wait I've discovered a problem with my new idea
maybe my original idea wasn't so bad after all
isnt it like new ClassGraph().whitelistPackages("package").getClassesImplemeting("package.Interface") or smtng
something like that
I want to be able to register all of my commands really easily, but the problem is: they all require different Spring services
so I was thinking that I could just annotate them all with a specific annotation that's annotated with @Component to let Spring do the DI and then get all of Spring's component instances using classes annotated with that specific annotation somehow and register them like that
wait
oh this is easier than I thought
there is literally no need to use a classpath scanning tool with spring
I have a common super class
only problem is: it isn't a Spring component
since it's Octo's Command class, and since Octo is designed to work with pretty much anything, it can't use Spring
it doesn't have to be
senpai teach me the ways then
btw you're forgetting who I am giving me Java code xD
so I can get away with that?
I believe so
just ```kotlin
@Service
class CommandService(
private val commandManager: CommandManager,
private val commands: Set<Command>
) {
@PostConstruct
fun registerCommands() = commandManager.registerAll(commands)
}
that's ez
okay Spring is now on god tier
oh my god it actually works lol

Fuck me, found the problem, Java's list mutability..
classic
wait what even was your issue? lol
ah an array list's elements disappearing
I believe Commons Lang has immutable collections
I mean, yes it does, but Guava also has it, and probably does it better
Yup exactly that, had to do new ArrayList<>(actions) which is hacky, so i'll do a better solution in a second
Hey I have a problem with my Pluginn i'm doing a cooldown of 24hours but when I /rl or it restart automatically, the cooldown disappears, is there a way to save the cooldown plz ? Thanks 🙂
persist it
save the time that it'll expire in some sort of on-disk storage format
(database, file, etc.)
store it in a file or db
how?
The way i handle cooldowns is by saving the System.currentTimeMillis() to a file of when the cooldown starts
Then checking with the current System.currentTimeMillis() and seeing the cooldown
^
what Matt said
@ocean quartz what????
so like i can save the System.currentTimeMillis() in my config.yml ?
save the expiry date and check the expiry date against the current time
that's what I would do
so much easier to keep track of
does commodore work with 1.12-?
ik it says 1.13+ but if anyone got it working under 1.13 pls tell me
Spigot, just like pretty much every other project ever made, is forwards compatible, not backwards
@jovial warren You do something and save the time of the action, later you check the new time of the action and compare it to the previous one and you get the time difference between them, now you have your cooldown
@ocean quartz When I think about it, i don't really know how could i do that can u explain me plz?
@ocean quartz yeah that works
(i'm french so maybe that's why i don't rlly understand that much ^^" )
I'm so glad I don't have to worry about memory usage now I've got 32GB of RAM instead of 8 lol
32gb flex 😔
@ocean quartz When I think about it, i don't really know how could i do that can u explain me plz?
@toxic crow You measure the time since the cooldown started or the time until the cooldown is over. How you measure that is up to you. There's great tutorials on how to use CurrentTimeMillis()
@toxic crow Something like:
final long actionTime = System.currentTimeMillis();
// Save this value to your config or better, a differnt file
// when clicked again:
final long timeDifference = System.currentTimeMillis() - actionTimeFromConfig;
// now turn this from millis to seconds and compare to how big your cooldown is
imagine static import
32gb flex 😔
lol, cost my parents £120 for that
actually cost me in money I'm paying them back with when my lego gets sold (which my parents paid for so still their money lol)
lmao
F in the chat for the legos

actually cost me in money I'm paying them back with when my lego gets sold (which my parents paid for)
@jovial warren I would have never sold my legos to pay for ram. What kind of monster are you?!
that moment when u say its ur money but its actually ur parents money from ur birthday 🙃
There is no such more powerful thing as lego
ayee
@empty flint everybody knows that building lego is the best part and the only good part
@empty flint everybody knows that building lego is the best part and the only good part
@jovial warren Boy, how you gonna build Lego if you sell them?!
I've had these lego sets for years now
You build it, let it get dusty, accidentally drop if when cleaning it after a year on your shelf and then you get to re-build it again fool
lol
Is there any better solution than new ArrayList<>(oldList) for copying a list? 
ImmutableList.copyOf
i miss kotlin
from Guava
I believe there is a factory method as well
or just make an ImmutableList
@ocean quartz if you miss it then why tf aren't you using it you silly goose
Is there any better solution than
new ArrayList<>(oldList)for copying a list?
@ocean quartz Why do you need a better solution? Like what's the problem with that solution for you?
its too long to write
@jovial warren There are times that you can't use Kotlin
@empty flint And it's because it's ugly, nothing more
@ocean quartz give me one good excuse
@prisma wave you can be the judge of this lol
libs 
No one will want to shade a 1.5MB lib
p
@jovial warren There are times that you can't use Kotlin
@empty flint And it's because it's ugly, nothing more
@ocean quartz make a wrapper method
pdm
^
PEE DEE EM
just force them to use kotlin then your lib is smaller 

Can't pdm a lib of a lib
no dont say anymore
What does pdm do actually?
That would require the user to do all sorts of things lol, it's not worth it
you can now
looks like u gotta start rewriting in kotlin
@empty flint it stores all your dependencies in your plugins folder for your other plugins to access to make jar size smaller
@empty flint downloads dependencies at runtime
@empty flint downloads dependencies at runtime
@prisma wave What dependencies and why?
smaller jar size
the plugin dependencies. make jar size smaller
why would the jar size matter?
very cool 😎
I mean... ok...
when it works
Also, people cancel random plugin downloads if they are large and dont matter to me too much
if only fucking md_5 shaded Kotlin in to Spigot :/
Dunno, seems like a solution to a problem that isn't actually a problem
it is a problem
if only fucking md_5 shaded Kotlin in to Spigot :/
@jovial warren
since there's a size limit for premium plugins on spigot
or better yet just rewrote the entirety of the server-side Spigot in Kotlin (excluding the API)
Also, people cancel random plugin downloads if they are large and dont matter to me too much
@old wyvern fuck em
0 kotlin files in spigot
shading kotlin into spigot would be a bad idea
it would always be hopelessly outdated
fuck em
have fun doing that
very very true
git channel? what's this you speak of? xD
Not here
since there's a size limit for premium plugins on spigot
@prisma wave Can't you just provide spigot with the download link to the plugin? That's how I do it anyway, dunno if it works for premium plugins as well tho
idk
yeah but that's a pain
since then you have to upload it to like mediafire or something if you're not me and don't own a load of random VPS' you could just shove it on
also @prisma wave is there any way to perform assignment in an expression function btw?
also also also also, I need a way to fix leaking this in the constructor in this: https://github.com/BomBardyGamer/Octo/blob/master/src/main/kotlin/dev/bombardy/octo/command/CommandManager.kt#L40
totally not a purposeful plug to get more people to check it out lol
not really avoidable


