#dev-general
1 messages ยท Page 578 of 1
lol thanks
agree
ngl I switched to eclipse a while back when I had like no ram
I still to this day try use intellij shorcuts on eclipse
You can disable a shit ton of plugins that are bundled and pre-enabled by default
Then you'll get memory consumption similar to that of eclipse
Hello one question. Does anyone sell or know a robot plugin for prisons?

a robot plugin for prisons could be a lot of things
Hello everyone, could you help me with a little something
in theory this is a quick way to get the chunks i need.
But in the process I realized that a lot of these chunks that are saved in the LinkedList<>, are saved repeated, so 3 chunks saved in the list is 1 really, making the list even bigger than it really should be . any way to fix this?
That doesn't look like there should be any repeated chunks? 
@redempt Linkedlist
But what about a not robot plugin for prisons?
Well
That is not a not robot plugin for not prisons
It's out of scope of the resolution of this design
Makes sense
To be safe, I did a command to teleport to each fragment on the list, and to the teleport me I did it 4 times to the same chunk until moving to a new one
I use LinkedList, because I don't want the list to be messy, as it would be with an ArrayList.
Messy? How would it be messy?
An ArrayList would be better since you know the size of the scanned area, you can pass that as initial capacity
Although for something that small it doesn't really make a huge difference lol
Does it need to be ordered?
๐ฅฒ
Excuse me, my English is not very good, but I already tried with arraylist, and when saving to a .json file or database they save messy, and by themselves they are not a 100% problem except for other things I do in the plugin.
Can you show an example of what you mean
they save messy Define messy
omg... xd
I can't find the way to say it... I mean it's not in an orderly way, but the contrary.
It should serialize in the same way as your have in the arraylist
Can you give us an example output?
wait

Lmao
Sorry for the wait. ๐
https://gist.github.com/srCode1872/c7842bc90e46fde9c7296a24f915a90c
but well, as I said, it's not a problem in itself, I still know how to get the chunk I want even if the list is messed up.
but for the command and to know how many chunks are stored in the file I was forced to use linkedlist.
Is there an elegant way to make a variable immutable after a certain point in the code?
copy it to a final variable?
Like declare a var at initialization and after a certain method is executed, it cannot be changed anymore? (or only privately changed)?
no way of enforcing that at compile time really
UNLESS depending on the logic you can do like val blah = function()
Function does all the mutable stuff
And then RETURNS value
Yeah but that's still final at initialization
what I was looking for was something like
var blah = ...
init {
manipulate blah
do something that depends on blah
doSomething()
lockDownBlah() to bake in final value (or make changing it only possible from inside the class
}
Because
doSomething() is open fun and I want anybody implementing it to have access to blah, but not be able to change it after initialization of the object
or rather, it's a function that is provided as a parameter to be exact, not open fun, sorry
It's not a big deal tho
I've been thinking about creating my own OS from scratch a bit, and realised I've got quite a few things to think about
First, whether I should actually bother creating my own boot manager or not
Second, how I should design the system. I'll probably go for something UNIX-like, but I'd rather not just copy something else
Third, what architectures I should support. I'm thinking of working on supporting x86 and x86_64 first, but I also want to try supporting ARM too, because I think it might teach me some more things
The issue with working on my own boot manager is that I want this to run on modern UEFI systems rather than legacy BIOS systems, meaning I have to read a few hundred page manual explaining how UEFI works lol
I also need to learn both C and x86 assembly (probably NASM) better
I mean, wanting to create my own OS is probably not the best first project to learn C and ASM, but hey ho, I ain't got any other ideas lol
but why tho
Yeah
We did that in Uni. It was a pain in the ass. What you really want to think about is whether or not you're gonna support multithreading and how you want to implement that in the kernel. Then you have the issue of security and access privileges for memory. Memory allocation and swapping. And so many other things... ๐
Does anybody know how to set up IntelliJ so it does not open the contents of the file in project explorer and only points to the currently opened file?
it always opens the current method I'm working on and clutters the whole project view
I think you mean this
https://prnt.sc/1rpi3pn
yeah
I was reading up about I think it's called APIC earlier
yeah, advanced programmable interrupt controller
lol
every time i see this meme it's more cropped and jpeg fried
lmao
wow okay so I was doing
jar {
metaInf { from(license.header) { into("$group/$name") } }
}
intending it to put the license file under the project group and project name, but for "whatever reason" it was putting the license file in META-INF/build/jar lmao
turns out that DefaultTask has a getGroup and a getName functions, showing the "group" ๐ the task belongs in, and the task name
TIL 
why tf is it so hard to find out how to just write some text to an HDMI monitor in C lol
ur actually going through with ur idea? ๐ฅด
you mean to try and create my own OS? you bet
lol
man, it's always the fucking peripherals that cause the problems lol
most modern day CPUs for desktops use the same architecture, x86 (or x86_64 for 64-bit)
you don't need any of this driver BS
Hey, speaking of things from scratch, how's Krypton going? 
not bad
Been on vacation for a week, holy fuck does looking at a monitor feel weird
apparently, CEA-861-F is copyrighted material and costs money to access
which is just fucking beautiful
unless I can find a free version, because I ain't paying for this lol
Written from scratch in RUST
man these standards are fucking expensive
since when did you have to pay to access a standard
probably
because I was thinking of trying to go for a POSIX system, since it seems like one of the most common and most agreed upon standards for compatibility
but these standards are like $800+
RRYPTON!!
get outta here
Anyone need a quick plugin made for like 5$ 
Sex plugin
You going ham on a bed?
Not necessarily
good
Make me hypixel plugin
I am having a brain meltdown with the simple things again
How do I read a file from the "root folder" of the plugin jar?
I am trying this:
YamlConfiguration.loadConfiguration(File(BLOCKY_YML)) but it doesn't seem to work ://
well calling the File constructor with a relative path, it will be relative to the jvm execution (usually at the server folder... usually, not always)
you should do something like File(plugin.dataFolder, BLOCKY_YML)
How does it work if the file is in the plugin jar, and I do not want to save it to the data folder?
what
oh boy you should be relocating a lot of that stuff
are you shading the entirety of a server jar?
anyway, plugin.classLoader.getResourceAsStream(path) should do it
nah just didn't get around to doing the shading and relocating yet. I'll get to it, no worries
nah doesn't ๐ฆ
I don't get it
Is it possible it doesn't work from an abstract class the plugin main class descends from?
well I don't know the context
lmao I butchered it now trying out stuff but...
val configContent = classLoader.getResourceAsStream("blocky.yml")?.bufferedReader()?.use(BufferedReader::readText)
.also {
println("READ BLOCKY CONFIG: \n\n$it\n\n")
}
open val blockyConfig = YamlConfiguration.loadConfiguration(InputStreamReader(IOUtils.toInputStream(configContent)))
so I can't really answer that
where is this? in this superclass you're saying or where?
assuming classLoader isn't a kotlin thing and is actually calling Plugin::getClassLoader(), then it should work?
unless these classes are in entirely different jars loaded by independent class loaders
which 
It works now and I have no clue why
/**
* Load blocky.yml config from jar
*/
open val blockyConfig: YamlConfiguration by lazy {
YamlConfiguration.loadConfiguration(InputStreamReader(classLoader.getResourceAsStream(BLOCKY_YML)!!))
}
this worked all of a sudden
Hm
yes. imagine not using matt's library or at least the original (configme)
configurate > triumph config
link please?
the best configuration library I've ever found for the JVM
interesting.
with support for JSON, YAML, HOCON, and XML natively, and open to more, commented configurations with ease, object mapping, a tree-based node API
@tiny tartan hi :3
and configurate has Kotlin and Guice extras too
it is literally the ultimate configuration library
no questions asked
Why do you insist in comparing two completely different things? lol
because Blitz mentioned your config library
because I believe your libraries are the best. xD
I mean they function completely different, ConfigMe is about having constants
AQUABAMABEASSSSSSSEEEEEEEEE
u alr?
k
40 MINUTES since i asked a very important question and NO response
where is this?
k. good
lol
haskell
Understandable, who would want to answer in that channel ๐ฉ
๐ก
grrrrr
is there like an easy way to convert integers to roman numerals? Like is there a kotlin method or something? or do I have to make one? ๐ฆ
Yeah I'm not adding that massive API to read 2 lines from my yml file, f that
lmao xD
i dont think so
I have ```kt
fun Int.toRomanNumeral() = when (this) {
0 -> "0"
1 -> "I"
2 -> "II"
3 -> "III"
4 -> "IV"
5 -> "V"
else -> Int.toString()
}
welp. found a method online. hopefully it works
yeah. found one with all numbers support
fun convert(number: Int): String {
val numbers = linkedMapOf(
1000 to "M",
900 to "CM",
500 to "D",
400 to "CD",
100 to "C",
90 to "XC",
50 to "L",
40 to "XL",
10 to "X",
9 to "IX",
5 to "V",
4 to "IV",
1 to "I"
)
numbers.keys.forEach {
if (number >= it) {
return numbers[it] + convert(number - it)
}
}
return ""
}``` with a bit of recursion as well. I edited it a bit but basically what I Found.
I grabbed this from somewhere long ago, it's in javascript but you could probably figure out how to translate it to java or kotlin
function printRoman(number)
{
let num = [1,4,5,9,10,40,50,90,100,400,500,900,1000];
let sym = ["I","IV","V","IX","X","XL","L","XC","C","CD","D","CM","M"];
let i=12;
while(number>0)
{
let div = Math.floor(number/num[i]);
number = number%num[i];
while(div--)
{
document.write(sym[i]);
}
i--;
}
}
recursion!!!!
use 10 javascript libs to achieve the same thing ๐ง
private val numbers = linkedMapOf(
1000 to "M",
900 to "CM",
500 to "D",
400 to "CD",
100 to "C",
90 to "XC",
50 to "L",
40 to "XL",
10 to "X",
9 to "IX",
5 to "V",
4 to "IV",
1 to "I"
)
fun convert(number: Int): String {
numbers.keys.forEach {
if (number >= it) {
return numbers[it] + convert(number - it)
}
}
return ""
}``` ye this is what I ended up with.
lol
haven't tested it and it will take a while until I Will xD
public Plugin getPlugin(Class<?> clazz) {
return getPlugin(Bukkit.getPlugn(clazz).getClass());
}
I can no longer let you live
getPlugn
yes. intentional. not a mistake
the one reason you would need to learn how to invert a binary tree is to pass an exam that asks how to invert a binary tree
little do u know!
yes
public Plugin getPlugn(Class<?> clazz) {
return JavaPlugin.getPlugin(clazz);
}
static also
i accidentally pressed enter on my keyboard too early ๐ฅด
but myes
Would it be possible to have a second line on an actionbar?
probably not, does a newline component not work?
actually action bars are weird as fuck
there are like 2 different packets that can show action bar messages, but they "mean" different things?
Reminds me of this lmao
๐ฅฒ
๐ตโ๐ซ
๐ตโ๐ซ
Idk, that was a piece of code posted in development
has anyone seen the new intellij "dependencies" tab
yes
yeah it's nice
this?
sorry what's configurate?
it just like, says a button to upgrade if any of them are out of date
I noticed it doesn't work with some dependencies
Where there is an actual newer version but it doesn't show up
what in tarnation
kotlin bad
evidently
k ๐คฎ tlin
I think it only works with maven central. might be wrong but that's what it looks to me.
bcz matt's command framework works, same for gson and kotlin but not with the config or paper api which are both not on maven central
which is a bummer. but hey. it at least does some things
I think I broke it ๐คฃ
someone recommend me a lightweight screen capture for linux please (using popos)
it always tries upgrading to some unstable version tho โน๏ธ
or at least i think a version string that is like 1.032176598712983798217439821 is unstable
this shit funny as hell
kazam?
SO ungrateful
oh right. I Think I've used that one before
it works for all dependencies for me
wait
no
... xD
or gtk-recordmydesktop
installed kazam now. used it before resetting everything
man this shit funny as hell.
it like auto refreshes or something xD. I enabled the Kotlin multiplatform thing and it broke
How do you open that?
lol
what?
It only searches on this repositories
._. i was talking about the button
right.
oh right. I Was confused what that button is lol
lol
23M artifacts holy
where is that?
On the website
._.
ok kazam... xD
there we go. finally
so this is something that's happening lol
xD
imagine blaming the language for an ID-10-T
unless that somehow is not an ID-10-T
which seems extremely unlikely
well i havent done anything to cause that issue
so it's either DCEVM or kotlin being bad
how did it come about?
because obviously, kotlin/Result isn't being bundled in to the runtime properly
Is it hotswap?
very annoying
also wtf why does kotlinx.serialization break when a Collection is a Set
like
im trying not to circlejerk but this unironically seems like kotlin bad
lmao
is that even possible
I guess all collections are lists ๐ฅด
i can only conclude that kotlin bad
classic
only rational explanation
unironically this
finally, some wise words
\\\\\\\\\\\
\\\\\\\\\\\\\\\\\\\\\\\\\\
oh my
how would you name it
escape of an escape character which escapes escape character which escapes another escape character
literally regex
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaa
FUCK YOUOUUUUOIUEQOUEQOUEQ
that's what you get for using kotlin
B.A.A.S - Too many caps!
No need to shout.
Barry's Anti Abuse System | v1.4.6
you most definitely are not
WTF
caffeine op
kotlin can do indescribable things to my genitals
fuck this
fuck this dumb language and dumb library
i figured it out
it's coming from guice
which has a newer version than spigot
your genitals contain guice
and you are relocating com.google ๐ฅด
why are you relocating guava lmao
.
exclude it altogether
meh
my pleasure
you're just as bad as kotlin
FUCK YOU ITS A FUCKING ENUM WTF
๐คฃ
IT ADDS ABOUT 50 MB JUST TO BREAK
I'm saving this
@bardy
@prisma wave
best of helpchat!!!
Yes!!
you're busy talking about fucking me ๐ฅด ๐ฅด ๐ฅด ๐ฅด
STUPID kotlin serialization has a seizure when a polymorphic thing has a property called type
and so we get this
good job
lol
gson ๐
to be fair, kotlinx is nicer with sealed classes and stuff
but holy shit is it dumb sometimes
Yeah only time I think kotlinx is better than gson is with sealed classes
You can change the type btw, so it's not the package, etc
i dont know what that means
๐ฎ
YEAH SO TRUE
LOVE IT
GOODEST ANALOGY
HAHA
lol
i want to die. :)()()()()()()()()(
Same
tbh
what do yall think of functional java
OMFG. First time in forever that the math I learnt in highschool helped me
what did you do lol
functional good
distance between 2 points. lol xD
the library right
Static blog generated with JBake
yes. I know. very complex stuff!!!
https://vavr.io/ ๐
Vavr is an object-functional library for Java 8+
Static blog generated with JBake
๐ฅด
lol
vavr good
also. I'm so fucking confused. why does spigot's Location#distance use sqrt(distanceSquared) ?????
oh wait.
nvm
fuck me
please
but hard
like I Want it hard
....
because that's how you calculate it..?
the only i dont like sadly is that it conflicts with that java classes and it can be annoying sometimes
like List
you add the squares of each component together and take the square root
that's why you always use vavr everywhere instead ๐
I've used it a few times and only encountered an issue like that once only, with Future I think? I opted to fully qualify Java's Future
I could have easily avoided it tho
yes. turned out my math didn't help me. bcz I didn't remember it correctly. lol
oh man. I love @ruby crater
Lmao
lmao
@ pig fix ur shit
well. no. they should not use the command. smh
sarcasm is hard to sense sometimes
yes. especially when it is used as answer to sarcasm
in slimjar, do I have to specify relocation as a requirement?
Wdym?
Relocation isnt handled by slimjar automatically right. I have to do it in the slimjar block
yes
Kk
it also relocates shadow dependencies
so u can just move all relocations to slimjar block
including slimjar itself
no way!
please read my message in #staff-chat sir. thank you
yeah I already did
but u didn't answer. do u know em?
I seem to be getting a NoClassDefError. I am making sure I ran the ApplicationBuilder first before I even defined an instance of any of my dependencies classes
does it have to do with imports?
Do i have to create some sort of bootstrap class and then call the onEnable code
yeah mackenzie already messaged me about it lol
oh ok. alr ๐
Can you show your build.gradle?
Paste Services
When asking for help with a config/menu/code issue please use our paste bin:
(we prefer it over pastebin.com)
โข HelpChat Paste - How To Use
Remove the slimJar from it
Oh ok
I seemed to get the same error, but I feel like its something referencing my dependencies even tho there is nothing in my onEnable that references it
i have to keep it in a different class to be safe
i also have no static blocks or vars either
Might need to invoke yugi
invokedynamic @old wyvern
yugi.invoke()
yes. hello
clearly
GG
yes. I am waiting
yes plz wait
Crazy!
idk. but this is cool https://www.youtube.com/watch?v=dQw4w9WgXcQ
why did i expect that
lol
I mean. it is me we're talking about.
for those that have not noticed yet, welp first of all I feel bad ||sorry|| and second of all:
i really did fall for that
^
then up here i said "wait .."
clearly my tactics are to good for you fools
yes. you are weird dkim indeed
"trusted" role yet always breaking the rules
lol
There is no time to wait! Ask your question @static zealot!
there we go
I need help
There is no time to wait! Ask your question @onyx loom!
Oh man fuck you xD
yes. I can help you
yes please.
please do
No
๐ฆ
He's ugly
๐ญ
oof
I need help
There is no time to wait! Ask your question @onyx loom!
help
But I can impersonate beautiful people like Yugi. is that not enough?
No, that is indeed identity theft
Kaliber why are you awake? its like 2 am for you
and it's 3am for u
4
but all my ideas!!!
@obtuse gale hello
well. I have a trello for them. so. maybe. I can go to sleep?
but I clearly will not want to work on this for another month
is this for plugin jam?
wtf why u so organised
idk. I spent the past like 4 or 5 hours on this
a lot of reading mostly since I want to do stuff I never worked with
๐ฅด
hello
hi
hi
Heyo
๐ธ
๐ฎ
resource packs, enchants, mobs, stuff like that
I actually have some cool ideas. probably have been done before but still cool
but no time or experience to get all of em
in 6 days
learning is learning
u will come out as a new man
I'll probably finish this even if its after the event ends
@quiet depot ily
i remember saying that about my plugin entry
I'm low-key drunk 
gets drunk but still hasnโt eaten the seeds
btw. kaliber. cool idea in #881528738456678400 if u want.
๐ฅด
Alcohol is the way I combat my extra depressive evenings
I actually spent like 5 hours today for this. smh
today meaning the entire night. bcz its 4 am
iโm sure these seeds have some sort of anti depressive shits in them
looking at those chemicals, itโll probably cure ur depression
I tried
then saw how much better life is going for others
and made me even more depressed
๐
I really hope matt won't judge commits lmao.
bcz there will only be one
well 2 with the initial one
๐ฌ
wasted 5 hours
good buy
not participating anymore
lmao. gonna name this "Preparing everything" and then start from there
xD
github projects > trello
Ok so i managed to get slimjar working, but it cant find adventure for some reason hm
?paste
Paste Services
When asking for help with a config/menu/code issue please use our paste bin:
(we prefer it over pastebin.com)
โข HelpChat Paste - How To Use
Is it the bom?
Uh, idk
code review? https://github.com/yakclient/mixins
kinda hard actually since theres no documentaiton
hmm
give me 30 mins
i saw a earlier post with bardy
turns out the reason is due to snapshot versions
net.kyori:adventure-platform-bukkit:4.0.0-SNAPSHOT
i have to shade that
That should still work, pretty sure snapshot work
thats odd
implementation("io.github.slimjar:slimjar:1.2.6")
id("io.github.slimjar") version "1.3.0"
I think spigot is trying to send me a message...
๐ฑ

All you're missing now is Submissive
What is it suppose to be? ๐
Whats up?
The sky
I swear Sponge already has a Mixin library that works fine
unless that's not what kind of mixins this is for
Mixouts
@jovial warren That's a C not a K
that looks like visual studio code theme kek
yeah, it actually is, I like the color scheme more
Are snapshot versions supported in slimjar?
I tried one and I got an error
what
not necessarily, there's better ways to do it probably tho
Custom hitbox class perhaps
@wind patio I dislike you for the fact that you use lombok.
lombok users -> ๐๏ธ
ontop of lombok, also allman
I thought you liked allman
It's not me
What's your github
So it is you!
If it's lombok, then it's someone elses resource I'm fixing
I don't use it lmao
where did you see lombok usage
Pastebase
it's not my plugin, a server owner requested me to update his plugins from source
C# convention was a mistake
ur back on the hook ๐ฅฒ
๐ฉ
Does the DeluxeMenus plugin have the applicable version 1.17 yet?
1.8.8
1.12.2
1.13.2
1.14.4
1.15.2
1.16.5
1.17
v1.10.5
v1.13.3 - Latest
v1.13.3 - Latest
v1.13.3 - Latest
v1.13.3 - Latest
v1.13.3 - Latest
v1.13.4 - Dev Builds
yes, thank you
I feel bad for you having to do that opcodeToString, dear god xD
๐ฌ
still static fields
whyyyyyyyyyyyyyyyyyyy
if you're going to do a singleton
at least don't static abuse
it's a fork of the previous plugin
I just updated for 1.13+
didn't bother fixing everything
hmmmmmmmmmmmmmmmmmmmmmm
but you have it on the spigot site
also regardless why do you use C# conventions for package names
you still use static abuse too
dont tell me that is another fork right lol
rip liskov
Man be getting roasted, I apologize
in general, all package names should not start with an uppercase letter
Ikr poor guy
you should rename them to something like utils rather than Utils
Hey, I've been doing this for only year+, my apologies for not knowing 20+ conventions of java
same
same
You should be sorry indeed!
ive only been learning java for just over a year
I just use what I'm used to
^
lol
I don't mind, I'm not a professional java developer
I just do this when I have time off studies
and what works - works
M0dii, quick question, did you test your fixes for the PasteBase plugin?
no, still working on it
Oh so it's not finished
I told you, I know everything
Closed the project, since no point in looking at it if it's not finished
huh
lol, ya actually im pretty sure i am able to take it out since in the rewrite of that whole thing i stopped using it! Happy me
Im reasonably sure theirs only works during startup, so you cant apply mixins while running. Also i wanted to have a couple different core features they dont have so it seemed easier to write my own
Plus, even if one exists it's fine to make another, works differently etc, plus learning experience
fair
you can only apply mixins when a class is first loaded with Sponge's Mixin
not with instrumentation!
I mean, not sure why you'd want to apply them any other time tbh
What if i wanted to load in a mod while they are in a game? And i want to apply its mixins then?
true
ya exactly, i learned so much about bytecode from this stuff, its amazing
also, if this is an API, I'm going to recommend 2 things:
- add a tool such as detekt or ktlint so you maintain consistent styling and (with detekt) miss less bugs
- enable explicit API mode
explicit api mode?
also, <pre> won't work in KDocs btw
Heyyy I need pro minecraft mini games server developer ๐
it's markdown, remember
Yeah, i don't like the mentality many people have of "don't do this, it already exists and it's better" cool, glad it exists and is better, but i'm still doing it lol
Are detekt and Ktlint ij plugins?
Need to pay developers?
I guess i can look em up
requires all access modifiers and return types to be explicitly specified, except for a few cases:
- overridden members
Unitfor block bodies
they're Gradle plugins
ah alr
did i use that somewhere?
Oh, in the api module
ya that used to be java, alr
I personally use and recommend Detekt, because it actually incorporates all of ktlint's rules, and does so much more
and it's really configurable
.
huh?
If they'll work for you then ofc lol
I mean sure put on #882530562278064160 if someone doesn't care about their own work and want to do it for free it's their problem
Need to pay?
Detekt is kinda like Checkstyle and FindBugs but for Kotlin, you tell it what you want and it spanks you when you fuck up xD
lemme ask is there is free work
it needs to direct to the bin folder iirc
still the same error
for making minigames? I doubt it
@rare fulcrum are you looking for someone to make a plugin or ur server?
or both?
Make It Nice Mini games server
no one will make your server for free
especially with lots of ppl having school now
oh where do i set that up? Also i saw in kotlin documentation that you should always explicitly mark everything as public, is that a good idea or no? Seems pretty annoying to do
oh i see
alr thanks
yw
Does anybody know how Spigot pipes the logs from plugins to the console and to a file? I am guessing they are reading from System.out and System.err?
no
it uses log4j internally, which just has 2 appenders setup
Doesn't that mean that every Exception that is thrown needs to be logged?
i guess it does pipe stdout in some places
but that's probably left up to the logging framework
Is it the "Minecraft" logger or the "" logger? Do you know?
I'd like to intercept those logs and add my own handler to it, so it uses my formatter as well and sends the logs in JSON format to my log file.
But it should include the exceptions and stack traces
Any idea how to do that?
you can probably just get the root logger, and add an appender
yep, seemed to do the trick ๐
What license should I use if I want people to be able to use the source code of a plugin / edit it,
but not sell it? Or should I just not worry about that?
Thank you
is that correct server to ask for discord voice help ?
maybe someone can help me from here ? can i ask a question ?
Ask in #off-topic please, this is a coding channel
oh ok sorry
Actually, that only logs uncaught exceptions.
(and all other logs as well of course)
But not stuff printed to console unfortunately
so I'm still wondering, how are they reading the System.err and System.out streams, and formatting them to the appropriate format for their own log files?
Yes
on latest
But not recommended
Some repositories have the habit of deleting old snapshot ids
ic
im currently just shading snapshot versions rn (adventure-bukkit-platform)
is that fine?
I wouldnt recommend it, you can programmatically try resolving the latest snapshotid* tho
Or that could be a built in feature tbh
Maybe an issue or PR if you're interested
Oh ok
isn't that under Commercial use?
and don't all licenses include that
Idk I grabbed the site and put it here lmao
You can always use a modified version of a license to disallow that so long as the license itself allows it 
Meta licensing
Basically put a line of text that says "Don't sell or else" you mean

?
?

embed
On the spigot page?
yes
ye
https://i.imgur.com/RXk7G2D.png theres a button
for embed
oh wait
it doesn't support imgur?
._.
I tried that before and it wouldn't work with imgur
Should I try dailymotion?
Maybe I'll try making them a youtube video later
I think its because the sizes are over 5MB
ยฏ_(ใ)_/ยฏ
oh wait
what if you press upload images
oh wait
๐คฆ
nvm
dkim
The file is too large it says
Upload the gif to imgur and use it in the page
I tried that
Also, now I can't remove the image lol. It just shows an image icon
I'll figure it out later
@sweet cipher are you having issues getting your gif to display?
Yes
The GIF needs to be less than 3mb encase you didn't already know.
Oh ok thank you. Do you know how to make gifs smaller? I might just make a YouTube video for it instead.
There are web-based gif optimiser you can try.
Ok thank you
I just realized how bad the gif is in showcase lol
I made a youtube video for it, but not at the bottom it just shows an image icon, do you know how to get rid of that?
Dear all I am requesting help on Discord nitro payments - it says the payment is below minimum charge amount and does not let me get nitro (First month is free...)
Believe you have the wrong server
How do I add custom properties to my gradle build execution in IntelliJ?
I tried with -DmyProp="my prop" and -PmyProp="my prop" and it just won't work :/
for(int i = 0;i<24;i++) {
skilloc.multiply(1);
world.spawnParticle(Particle.CLOUD, skilloc,1);```
isnt this supposed to launch something like a spell? instead it bursts on my face
you can set the location of the spawned particle
by default it is spawned at the player location
which is to say inside the player head
im trying to spawn particle on a spesific location
i think the problem is skilloc.multiply(1);
something looks sus
like it wouldnt work
let me check
skilloc.add(direction.normalize().multiply(1));
yeah this works
isn't multiplying by 1 redundant?
yeah, that's just gonna multiply each value by 1, which is gonna give you the same values
yeah ik it looks like that
but somehow works
it should work fine without the * by 1
i wish i was able to send screenshots
Use imgur
get gud
Has anybody tried the 1.17 spigot library loader?
md_5 says the kotlin runtime should be added via it but that doesn't seem to work well for me
So IJ is suggesting a listener to be a record, would that make sense or no
you don't make any sense frosty
Okay 
โค๏ธ
Realistically no, just like you wouldn't make it a data class in kotlin
I usually ignore / disable that warning because it's a bit overenthusiastic
Indeed it is
it indeed is
Not if you don't say what you need help with...

uwu