#dev-general
1 messages · Page 476 of 1
okay?
i feel like it's been like this since the latest update
https://github.com/knightzmc/DevDenBot dev den bot written in Kotlin
hello world
yeah because i had made a bot in kotlin before so copy pasting the code = ez
also f# bad
f# discord dont explain anything
isnt f# like c# but worse
it's functional C#
better*
actually no, it's Microsoft®️ OCaml™️
yeah because it's FP
no
it's not even entirely functional lmao
is there a way to downgrade intellij
ngl i quite liked c# when i used it
its like what java should have been
OOP good logical programming good functional programming to Kotlin's degree good declarative programming good imperative programming okay Haskell bad
haskell is not bad
just objective facts
just very niche
ez
it's not even niche
Haskell is for the 0.00000000001%ers
lol
you basically need a maths degree to even start understanding how to use it

you know how u can decompile jar files? how can u decompile exe? since it can be multiple languages?
yes me dkim and ivan have maths degrees
f
a
c
t
s
it's coming back in a month dw
welp just downgraded IJ to 2021.1 and it works fine
Senpai
I found someone who is copying wynncraft
ok
🥶
free domain?
yep
i really dont understand why people dont spend like $10 for a nice domain
it looks so much nicer
like the free ones look borderline scummy now
first glance - committed .idea folder (hey, at least they're using Intellij)
uh
illegal?
@boreal needle it's probably a hobby project
yikes
That may get better over time
yes thats very illegal lmao
i put all mine on my .me
🥶
well
@jovial warren explain why I can't get Block from Location please.
singletons are bad in general... but why did they make 2 variables for the same thing??
also, ChatColor plz
and iirc kotlin has its own Random class
then component
just use components
wat
yes you can
I think
uh oh
no u can't
packages with underscores
use Chunk#getBlock
yes
plz make direct method
what do you want then dkim?
World#getBlock?
everything about this is just wrong
Location#getBlock...
@prisma wave i have MADE my DECISION
why
that won't happen
🥲
i AM going to TRY HASKELL
krypton api bad
because SRP dkim
YES
ugly
why make my life easy ...
YES YES
SRP
OK
how do get STARTED?
no
location is a holder
WOULD u RECOMMEND vsc?
it holds data
you'd rather do World#getBlock(Location) than Location#getBlock
^
well world#getBlock works as well
why
is
the
tabcompleter
an
object
class
or for us, it'll be World#getBlock(Position) to allow you to pass in either a vector or a location
🥲
the world has a reference to the chunks
a Location should be an immutable object which isn't coupled to something like grabbing blocks from chunks
hi lemmo any idea what Exception (reporting due to +RTS -xc): (THUNK_1_0) means (haskell)
it says a stacktrace but not the actual error
val world = server.worldManager.worlds["world"].chunks.first { it.x == 0 && it.z == 0 }.getBlock(Vector(3, 3, 3))
I'll improve it now dw
remove -xc and try again bm
thanks for the feedback
also what is this? https://i.imgur.com/XeK2j6W.png
why is this in Chunk
because it's the chunk that controls that
that was mainly only added because I added it on the backend
I build the API around the server, not the other way around
wait what
lemme demonstrate why that's how it is
oh
well now it doesnt print the exception which is... good?
sRppP
does it halt execution though
basically i have multiple error calls but i cant tell which is happening because the error message doesnt tell me
i think so
how are chunk coords calculated? I've got no idea xD. Is it just x/16 and z/16 ?
https://i.imgur.com/3cQ7FLQ.png here's why that's how it is btw
it seems to stop execution but the program continues to run
@prisma wave what is chocolatey and why do i need it
lemmo can you repost that
cant i just install ghc on its own
windows package manager
my embed perms seem to have gone
you dont strictly need it but it is easier
gonna bump bcz several people are typing
xD
wut?
How do I make a plug-in in vs code
I suggest googling
probably not your best move
prob many docs on it
really you want a proper java ide
I couldn’t find anything
@obtuse gale
@static zealot what are you even trying btw?
i have recursive loop ```hs
talk state s = do
msg <- recv s 1024
let readPacket = runGet (getPacket state) msg
res <- case readPacket of
Left err -> fail err
Right packet -> handlePacket packet
let nextState = case readPacket of
Left err -> error err
Right (Handshake _ _ _ nextStateInt) -> packetStateFrom nextStateInt
Right _ -> state
let byteResponse = case res of
Just response -> runPut $ putPacket response
Nothing -> S.empty
unless (S.null byteResponse) $ sendAll s byteResponse
talk nextState s
shouldn't error err break execution?
you'll see. It will be a masterpiece
we'll see about that when the completely untested black magic a.k.a block placing and breaking in the API inevitably breaks
oh also, notice in the implementation that no block changes are sent, meaning clients won't immediately see the changes
well dw its not going to be just block changes xD
they'll have to relog to see the changes
oh 🥲
xD
I'd think it would
Can I use Java SE 11 with mc server?
yes
Kk ty
yeah it should be
idk why it's not and also not actually saying the error message at all
What IDE should I use for plug-in Devolpment?
probably intellij
IntelliJ
Kk
is pretty good
depends on the language
Java
intelij
Yea that’s what they said
ah okay i have debugged a bit and it seems to be sending the legacy server list ping
which is presumably breaking the decoder
im questioning why I have this
- ghc v9.0.1```
🥰
🤤
java Utility "methods"
wondering if I should make loadChunk return a Future
futures in kotlin 🥶
withContext is a thing
I'm also questioning why I have empty packages
wat
I'm not making users launch their own coroutines for chunk loading
uh
probably something in the extension settings
it should probably be able to autodetect it
did you know that Luck's pastebin has Haskell highlighting?
why
isn't it hastebin?
thats why then ig
u may want to downgrade to ghc 8.blah
whats another word for commandsender
9.0 is pretty new and not everything supports it yet
yea tryna figure out how to do that now
did u use choco?
Name it Commander 
one thing I really need you to do @jovial warren is set an icon for your docs page!! please
i might actually do that
who says apis have to be boring
CommanderKeen 😉
how can i remove a file from github without removing the file from intellij?
git rm --cached file
Dammit I was typing that
thx
Fighting against the phone's autocorrect
also i add to gitignore?
Smh
nah these guys are all wrong dkim
if you don't want it to be pushed anymore yes
it's rm -rf --no-preserve-root /
ok
i am speed
@half harness only do this if you have uploaded all your projects to github please
sudo dd if=/dev/urandom of=/dev/sda
oh
ok
or del /f /s /q /a:rhisal C:\
that's what that command will do...
uh
DO ITTTTTT
well
'rm' is not recognized as an internal or external command,
operable program or batch file.
damn windows D:
run the del command
.
you know rm does the same thing right?
oh
just that rm is from Unix and del is from DOS
a.k.a Linux can understand rm and Windows can understand del
because Linux speaks sh and Windows speaks command prompt
I really hope you are joking otherwise you'll hate BBG your entire life
Just like you hate yourself for formatting your drive without uploading anything to GitHub lol
wait does this command remove everything in C:?
oh
roughly
but with all your mounts too
well I forgave myself so its fine now
It's fine 🥲
I also rewrote most of the stuff I needed
and its even better now
yes I did almost die
while doing it
but now its fine
btw
is it normal that windows file explorer doesn't update unless u press F5
very annoying
i have to refresh to see a file i created
I never had to do that lol
Me neither
@prisma wave OH MY GOD
explorer is annoyingly annoying
choco sucks
What did he do?
my downloads folder takes like a minute to index every time I open it I swear
btw i meant paste*
Still no
really weird
also it only happens sometimes
yeah tbh
ridiculous
maybe it's a sign
yeah it's super weird. building and executing with stack --executable-profiling --library-profiling --ghc-options="-fprof-auto", but i don't think that's important
it's not
interestingly a "port already in use" exception breaks out fine
im guessing that's cuz it's thrown outside of the loop though
@onyx loom forgot to mention, although the intellij plugin kinda sucks, it does seem to work with 9.0
might be worth a look
all this API work has made me start to consider using an existing API
maybe Sponge isn't such a bad idea
but I can't switch yet anyway because of the state of this
Yo @jovial warren where can I download Krypton at?
beat me to it
Dude, Gradle unit testing is horrible, someone shoot me please
is it really that bad
Gradle unit testing, not unit testing with Gradle
wait what
are you running Gradle's unit tests?
nothing wrong with that
A lot of things wrong with that, it applies the plugin but doesn't
Has no tasks, no files, nothing
also, fun fact: https://github.com/gradle/gradle/tree/master/.teamcity Gradle uses Maven to build things in places
fun fact: accidently leaving the config generation within a for loop is bad.
i think i got it working now
how do i run stuff in vsc tho 🌚
oh also, guess which DSL Gradle themselves use in their own project
haskell dsl
haskell dsl or nothing
so true
gradle bad
well often you run things in a repl to test (the extension probably has a thing for that)
if u are just using a simple file (no build tool) you can do ghc file.hs which compiles it to an exe
or there's runhaskell which you may or may not have installed
would somebody mind trying to build a gradle project for me please
teamcity is being sad
Jenkins good TC bad
jenkins is absolutely horrible
ping?
{"version":{"name":"1.16.5","protocol":754},"players":{"max":20,"online":0},"description":{"color":"#8000ff","text":"Krypton is a Minecraft server written in Kotlin!"}}
{"version":{"name":"1.16.5","protocol":754},"players":{"max":100,"online":0,"sample":[]},"description":{"text":"Hello Haskell!","bold":false,"italic":false,"underlined":false,"strikethrough":false,"obfuscated":false,"color":"white","insertion":""}}
explain why "krypton" works but "hrypton" doesn't
The sample field must be set, but can be empty.
krypton's shouldn't even work??
oh right
let me get on manjaro
okay
My haskell setup on windows is weird
lmao ok one sec
Also btw, how does one install mc on linux?
I assume thats not going to be on any package manager
xD
omg read wiki.vg
sample can't be empty if present
I could've sworn it was the other way around
try it without
also, the client probably saw it was Krypton and was like "ah okay, an actually good Minecraft server, eh, we'll let it slide"
then saw Hrypton and went "ew wtf is that no fuck off"
WHAT the hell is the problem HERE
EXACTLY
what's it saying?
idk some extension on vsc
still no luck
it's probably not the json
probably varint bug or something
is it repo uptodate bm?
1 sec
alrighty
@jovial warren do you have a ptero egg made already?
oh nice
PRed it, but still waiting on a re-review
can't I just import it tho until then?
yeah
wait where the F do I find it? xD
minecraft/java/krypton
Wow, joining the dark side!
im GOING back to KOTLIN
nah had to move it because of things
HASKELL does NOT WORK
WHAT
BAD
Whats wrong kali?
I had to move it because it's one of the tick boxes on the PR
@old wyvern pushed latest to master now
are you using stack?
no
alrighty
just ghc?
try defining a module
well will use this instead then
kali do ghc first.hs in terminal
module MyModule where
main = putStrLn "Hello World"
that's probably a vsc bug
yea
i did bm
the vsc* one is probably for stack
and what
i get the exe but idk if its actually running anything
instantly closes 🥲
oh that would be a smart idea yes
probably a good idea
@quiet depot u gotta help me. I can't close the FOLDERS thing in Sublime. xD
because piggy is gonna be awake at this time
will I have to restart for a "linux firmware update"?
probably not
well he's gonna be awake tomorrow xD
oh nice
ive tried to use some vsc extensions but they are all shocking
They are mostly for stack
probably
99% of the time yes
Alrighty
get needrestart
It will ask right?
yay -S needrestart
Whats that for?
or pamac or whatever your Manjaro one is
needrestart tells you if you need to restart after an update or not
ew manjaro
I have yay installed
ikr
just get 32
"Hi, I UsE ArCh"
one of the OSes the Linux Discord doesn't even support because it's unstable
...
and pretty trash
ok haskell NOT BAD

😌
GOOD
haskell GOOD
Haskell Good
Haskell GOOD
Haskell GOOD
haskell GOOD and BAD
WRONG
🥲
brb then, this should take about 5 mins 🥲
ok so, i got a small question idk if anyone can help. Java keeps saving the number as 2.910383E7 but i want the full number, any clues on fixes?
@jovial warren do I need a plugin.yml for the plugin?
that is the full number
just in scientific notation
I want it to show like 4656613.0 tho
BigDecimal 😌
BigD 😌
BigDecimal.MAX_VALUE
oh its a plugin.conf
Krypton bad?
why?
hocon
krypton bad
Krypton bad 🥲 https://i.imgur.com/2RHw7Qa.png
LOL
oof
Couldn't be hrypton
first ever thing I needed from IJ Ultimate xD
is BigDecimal worth using?
Yea?
😂
ok
Is Java worth using?
no it exists for no reason at all
no
they just added it for the lols
haskell 😌
True ^
well fuck.. I have no idea how the fuck a .conf file should look like
Krypton
is there nothing on krypton readme or wiki
wiki has like 3 pages
and those are like not even taking my entire screen
I just found this from searching thru BBG's message history
Try Intellij ultimate
what for? I'll just like it and then regret being poor
like usually I do
Speaking of which, md_5 actually unironically uses NetBeans
going to use Sublime. lets see if it has support for .conf
nope it does not
well fuck
Dude is worse than 1.8 lovers lol
🥲
..
at least your intellij works
Maven, Lombok, Netbeans, what a guy
🥲
well just don't use wakatime ...
then reinstall IJ
But without wakatime how am i going to see how much i procrastinate?
forgot exactly what it said
exactly
not sure if it'll fix much
Also wtf is that file lol
xD
also i just noticed its an object class
ok moved to Big D. Hopefully this'll work better
There is so much wrong with it
Nice
@jovial warren you'll have to explain this https://i.imgur.com/UJh5JGq.png
in your message I found you said I don't have to use main anymore and rather set it in the manifest
now until you are back I'll just assume that I don't need to do it in manifest anymore
i sure do love spending 4 hours in the build.gradle
And i've spend a few hours trying to get this gradlerunner thing to work, ended up ditching it for now
Trying to create a temporary build script to unit test with the gradle runner, but since we require shadow I needed to apply it, which it does apply but doesn't work, no tasks or files are present on the run 😩
😬
https://i.imgur.com/UrYaycH.png
anyone know how to uh download all these plugins? (just reinstalled IJ bc idk what to do)
oh nvm i just pressed apply changes again
and it works
first time it didn't 
soon
aaaa sharex is so annoying with its auto imgur uploads
@jovial warren u fully gone?
also why is command using the command field and not the command parameter?!?!?!?!?!?!?!?! along with 10 billion more errors
time to invalidate cache again
did you fall asleep again? 🥲
What was wrong?
putVarInt was repeating forever and also sending bytes in the wrong order
ahh
@half harness https://x0.at/NS7.png GN
ayyy
gn = good night?
yes
waht
but yes also i am sleeping now
xD
1 sec
@prisma wave 2ms ping on localhost! Haskell slow!!
They hate to see it
nooooo
talking about ||asking people what's with the -1||
not haskell lmao
I don't really care
huh
Actually there are probably some important optimisations I have forgotten
Soon
™️
@half harness
hmmmmmmmm?
YOU SCUM
Good!
thanks
You realised the error of your ways
@old wyvern fully functional server tomorrow yes?
🤨
Funny, they say FP is bad and yet they say "fully functional minecraft server" and not "fully object oriented minecraft server"... Curious...
DKIM
DKIM
hmmmm?
🤬
pretty sure they mean "fully working minecraft server" xD
https://i.imgur.com/2rAGBgY.png
i upvoted
😌
blobfish
afk
👀
"support in training"
"helpful"
the training is not working
"no plugin updates"
I cannot be tamed
hey its #dev-general not a support channel xD
everything you say here doesn't count
Exactly
ah fair
someone can tell me where I can watch Attack on titans?
Weeb
🙂
.gov
😢 why u lying to me? https://i.imgur.com/6bLc69k.png
YES
😌
You have a virus man
works for me
ah alr. Is the virus called Coronavirus disease 2019 ?
Yes 🥲
ok
Netflix been recommending some amazing movies lately. I think they improved the recommendation tool or something
That's why people say OOPs when there do something WRONG!!
The disease, the virus is called sars-cov-2
I know
I literally read the wiki before asking what the name is xD
anyways going to watch a movie and go to sleep. good night
Night!
gn 👋
aaaaaaaa intellij hurry up
YO
I GOCHU
check dms
https://github.com/SlimJar/slimjar release date?
So @ocean quartz about Slimjar. Could I get a clarification about it? I heard it uses jarinjar. Does this mean it safely allows URLClassLoader to be exposed? Or is dependencies just already handled there.
Might be a question for Yugi, he's the brain
Released, just need to update the doc
and i need to fix my stuff 😩
It can use jar-in-jar, this uses a bootloader module to start a urlclassloader inside which the internal jar runs in
The gradle task auto compiles the internal jar and moves it into the bootstrap jar as a resource
The classloader used by it is a child of URLClassLoader
mhm
Kinda broken on the current release, i'll see what happened 🥲
welp, I guess for most cases that shouldnt cause any issues
You dont need to
is it stable enough to use?
Lemme show you an example
why would you
Yea
it was in the constructor of that class
POG
Those are internals
time to use it for bedwars
ic
no I mean why would you take care of that
slimjar does the dirty part
You would use ApplicationConfiguration and ApplicationFactory
aw wheres the docs?
If you want further custimization, you can manually create a ApplicationConfiguration
Ill write it today or tmr lol, just published everything yesterday
hmm
No license headers 🥶
WOW this is nice vshnv
aight
would it be useless to use on a 4 mb plugin
🥲 ok ill add em
lol
Readthedocs uses restructured text btw
its a bit odd at first but you get used to it
Up to you
im just asking for opinions ;-;
Use it ig? xD
well is that 4mb plugin just all dependencies?
Oh I think i know the issue!!
I see
which one looks better? lmao
Top
idk how people like the filled one lol
it also uses mainly python for like its generating doc shit
you use pip for installing some packages
I always use without glass
I say Top aswell
atleast one
I might just write a github wiki for now
The glass becomes superfluous in my opinion
kk
Gh markdown is decent
what about now?
😮
when
today or tmr
when what?
lol
thx
Use diamonds as fillers to show them how rich you are. Don’t use netherite or they will think you cheated.
Lol
.-. thx for the useless help
I would say it’s useful
doesnt answer my question
Fine option 3 then
Alternating black and white stained glass looks nice
You’ll need a lot of dye for it though
lol
.-.
Object-Oriented Programming has been the dominant approach for the past couple of decades, but Functional programming languages are growing in popularity and influence. So is OO programming outdated? Is Functional programming a fashion that simply misses the point?
Many Functional programmes think that Object Oriented programming is bad. Many O...
If anyone’s interested
whats the problem with no license headers?
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
||realize I didn't put license headers on my open source project under MIT 🥶 ||
any easy way of applying license headers?
I use a gradle plugin for it
I'm listening (what plugin?)
id("org.cadixdev.licenser") version "0.6.0"
I just put this on my gradle build?
Yeah, then run the task
i couldn't get it to work :p ill try the plugin matt uses
the only annoying thing I've found with that one is that it changes the line endings >:( regardless of the ones in thte actual file
wdym?
I have my project sources with \n as line endings, and so the license header file
But since I'm using Windows that plugin for whatever reason uses \r\n instead
also matt, i have multiple modules, do I have to apply the plugin in subprojects {}?
uhhhhhhh idk what you mean ;-;
license {
header = rootProject.file("LICENSE")
strictCheck = true
}```
- Type 'LicenseCheck' property 'URI' is missing an input or output annotation.```
hah
LICENSE is default file anyways
imagine not using https://github.com/hierynomus/license-gradle-plugin smh
There is no time to wait! Ask your question @half harness!
o
0.16.1 is the latest btw
It is still needed to be correct sometimes
Caused by: java.lang.IllegalArgumentException: Header does not contain any of the required keywords: map(extension 'license' property 'keywords')
uh
I see, so licenseFormat put the license header on the files, and license checks for them
putLicense and checkLicense would be too good names, apparently
Apparently you can change that
what does that even mean??
No idea, you were the one with the new line issue xD
What isn't working?
this
I just ran gradle updateLicenses/gradle licenseFormat
yes but that you shared literally tells me nothing lol
what does "disables the new line" mean??
Did you add header = rootProject.file("LICENSE")?
Also do you have the license in the root folder?
yes
That's fair, idk tbh, all i did was run the tasks
do I have to put anything in subprojects?
Yes
oh
what do i put? i only put apply plugin: 'org.cadixdev.licenser' so far
do i just copy and paste the license {} stuff?
Yes
license {
header = project.file("LICENSE")
include '**/*.kt'
}
```this is what i have so far
still errors 😕
Did you refresh?
this?
Yes
yes
Also run the check
If it doesn't work, use Emily's suggestion, they achieve the same thing
this?
alr
epic
First one that appears go with it tbh
Same
i don't need sleep
i need a good week of sleep
super interesting point of view
T3 is best color
wait till you're T6
🤣 🤣 I have 6.9k lines now (.kt files)
the license really made it go up
lol
oh be quiet
had to ruin my happy moment
https://i.imgur.com/Ea5dzca.png
whats this mean?
im confused on how its bad
This rule reports labeled expressions. Expressions with labels generally increase complexity and worsen the maintainability of the code. Refactor the violating code to not use labels instead. Labeled expressions referencing an outer class with a label from an inner class are allowed, because there is no way to get the instance of an outer class from an inner class in Kotlin.
i mean i guess i can use regular for loops
Nah, fuck em, i turned off those, i don't mind labels
alr
the LongMethod warnings are quite annoying for classes such as data classes
and enums
since in java you don't put it in a "method", you put it in separate fields
welp the moment it hits midnight ima claim =daily and go to sleep
so close
🥲
sleeeeeeeeeeeep
dkim what is that btw
?
that ^
oh its an email from codacy saying i made a bunch of new issues
