#dev-general

1 messages ยท Page 352 of 1

half harness
#

what is K&R

cinder flare
#

bad

half harness
#

๐Ÿคช

onyx loom
cinder flare
onyx loom
#

wahtever u use

cinder flare
#

they knew what they were doing when it came to style

onyx loom
#

blah() {
stuff()
}

jovial warren
#

oh btw, fun fact: K&R is actually brace on next line, the only style that has the brace on the same line is K&R OTBS (the One True Brace Style)

cinder flare
#

fucking what

jovial warren
#

look it up

cinder flare
#

oh my god

jovial warren
#

anyway, see you lot later

cinder flare
#

oh, bye friend!

#

okay 1TBS is the way it should be in this world

prisma wave
#

You're despicable

#

Functional languages would like a word ๐Ÿ™‚

onyx loom
#

about the function part, or the readability lol

prisma wave
#

both I guess

#

All functions are a single expression in FP ๐Ÿค“

#

Dkim

#

Was that you

onyx loom
#

intriguing

prisma wave
#

Actually that might be untrue

#

But most are

cinder flare
prisma wave
#

Curly brackets ๐Ÿคข

#

couldn't be me

cinder flare
#

oh lmao

#

but when you have to

onyx loom
#

clojure enters the room

prisma wave
#

you don't have to ๐Ÿ™‚

prisma wave
#

I think

jovial warren
#

Because it is in fact the one true brace style

onyx loom
#

allman named allman because all men should use it

jovial warren
#

Lol

#

Allman bad

prisma wave
jovial warren
#

K&R OTBS is the objectively best programming style

#

No cap

onyx loom
#

haskell style tho

#

i love putting my semi colons on the next line

prisma wave
#

๐Ÿฅฒ

jovial warren
#

wait what

onyx loom
#

smth like that

#

blah() {
blah
; }

jovial warren
onyx loom
#

one style looks like that iirc

prisma wave
#
do {
    input <- readLine
    ; putStrLn input
    ; return () }
``` this is correct Haskell iirc
jovial warren
#

K&R OTBS is the one true brace style, objectively

onyx loom
#

yeah

prisma wave
#

And technically how you should write it, if you're going to use the verbose syntax

half harness
cinder flare
half harness
#

just with different words

jovial warren
#

do? What kinda imperativism is that?

onyx loom
#

lol

prisma wave
#

You might think it's imperative

half harness
#

brister mitten

prisma wave
#

Where in fact it's just syntax sugar for monad bind operations ๐Ÿ™‚

jovial warren
old wyvern
#

And also replacing the values fetched with let, directly into the use site

half harness
#

:woozy_face:

onyx loom
#

maybe u are a far descendent of jesus

old wyvern
#

Becasue of referential transparency ๐Ÿ˜Œ

onyx loom
#

who knows

half harness
#

\๐Ÿฅด

half harness
#

\๐Ÿฅฒ

prisma wave
cinder flare
jovial warren
#

Lol

#

Welcome to functional programming circlejerking

onyx loom
#

wait till u see johnny

old wyvern
#

It jsut means you can copy that entire expression to the use site and it would mean the exact same thing

#

due to lazy* evalutation

onyx loom
#

johnny even more big brain

#

probably

prisma wave
#

Johnny actually knows what the words mean

#

Whereas I just say "composition semigroup" with no knowledge

cinder flare
prisma wave
#

almost every word๐Ÿ˜ž

cinder flare
#

memorized the entire dictionary

#

what a guy

old wyvern
#

Mister Britain

cinder flare
#

come on, I'm so close to ranking up and getting a brand new name color

#

58% lets go

prisma wave
#

Link your github if you haven't already

#

It's a free ~3 levels

prisma wave
#

Definitely not

old wyvern
#

๐Ÿ˜‚

#

Ya'll know the feeling when you skip 5 classes and now all of a sudden you have to write an assignment about "Laplacian of Gaussian" or whatever the hell

jovial warren
#

Haha lol

#

Can't relate

old wyvern
#

๐Ÿ™ƒ

#

Well I gues time to watch the downloaded lectures after this

prisma wave
#

Haskell moon

old wyvern
#

Coz Im absolutely lost on what is going on here

cinder flare
prisma wave
#

don't think so

old wyvern
cinder flare
#

YOOOOo

cinder flare
#

so I hope I qualify! :)

prisma wave
#

Blue name

#

That was quick

half harness
#

wait

cinder flare
#

2 days

half harness
#

fefo uses maven ๐Ÿ‘€

cinder flare
#

speedrun boys

#

any%

cinder flare
cinder flare
#

the project we're redoing uses gradle and it is quite the source of confusion for me

half harness
cinder flare
#

ah yes, that's v1

#

that's the legacy edition

#

we're redoing main rn which uses gradle

#

I think fefo converted everything automatically and that's why stuff kinda no worky

#

man the blue name is so nice

#

i feel like, 50% cooler already

#

is there a brighter blue?

#

or like uh

onyx loom
#

no

cinder flare
#

a more bluish blue

#

like sky blue

onyx loom
#

tier 2 > tier 5 > tier 3 >>>>>> everything else > t4

old wyvern
#

๐Ÿฅฒ

#

1 more level to t5

onyx loom
#

pog

prisma wave
#

3 more years to t9

old wyvern
#

OMG

#

Last minute

#

xD

cinder flare
old wyvern
cinder flare
#

holy shit that was amazing

onyx loom
#

literally me with every deadline

old wyvern
#

10 seconds away from loosing like 25 marks and today's attendence

cinder flare
#

bro all my assignments are due at 11:59 pm

#

the latest it can be for the day

old wyvern
cinder flare
#

it's pretty nice

old wyvern
#

My prof just throw random times

#

This one was jsut the class duration tho, the prof just said we didnt have to be in the meeting and that we jsut needed to submit on time

cinder flare
#

ah i see

#

yeah i have in class exercises too

old wyvern
#

๐Ÿ˜ฎ

onyx loom
#

bruh what i turn on my pc in 2 days and everything is still running even tho the plugs were off

#

sketch ๐Ÿ‘€

old wyvern
#

FBI watching you mate

onyx loom
#

i look in task manager and somehow my game was still running even tho it wasnt open ๐Ÿ‘€

cinder flare
#

it just knew you were grinding

jovial warren
#

imagine not having your full name public on your GitHub account and in all of your author tags

cinder flare
#

i do on some of them

eternal compass
#

.

half harness
eternal compass
half harness
eternal compass
half harness
eternal compass
half harness
#

u didn't add a .

steel heart
#

lol

eternal compass
#

Hey, I'm on mobile, give me a break

half harness
#

no

cinder flare
#

y'all are really just farming xp eh?

eternal compass
#

๐Ÿ˜ข

frail glade
#

Morning

half harness
#

uh

#

runs

eternal compass
#

Not every individual message

forest pecan
half harness
#

v-very

forest pecan
#

yes

eternal compass
half harness
frail glade
#

Oh yeah?

cinder flare
#

waffle boi

#

look at him go

eternal compass
half harness
eternal compass
#

My alt has waffle in the name :p

cinder flare
frail glade
#

Waffles are pretty good but tbh I haven't had them in a month or 2. They are out of my budget for the time being.

jovial warren
eternal compass
jovial warren
#

well, afternoon for me, currently 13:58 lol

cinder flare
#

7:58 am for me boss

forest pecan
#

chocolate waffles

cinder flare
#

just didn't sleep >:)

jovial warren
#

out of your budget?

eternal compass
forest pecan
#

its 9:59 AM for me

half harness
#

waffle not saying hi to me

forest pecan
#

yo fred you live in the us?

jovial warren
#

man Iโ€™m in school rn, where are you guys

eternal compass
cinder flare
forest pecan
#

Yeah

#

eastern time

#

i live in massachusetts

forest pecan
#

home

eternal compass
cinder flare
forest pecan
#

oo cool

cinder flare
#

now he's in the navy

#

lmao

forest pecan
#

69 street avenue

eternal compass
#

Lol

forest pecan
#

lol

eternal compass
#

(To dkim)

half harness
#

|| give me ur ip address ||

cinder flare
#

๐Ÿ‘€

eternal compass
#

I've joined your server dkim, you can find out my IP address lol

half harness
#

oh

#

u have my ip too-

eternal compass
#

Yup

#

;)

half harness
#

๐Ÿ‘€

#

time to restart my router

eternal compass
#

lol

jovial warren
#

I have to be in form in the morning by 08:40

forest pecan
#

virtual

#

๐Ÿ™‚

jovial warren
#

lucky

eternal compass
#

Got a review on my plugin:
(I know him, but still lol)

very epic plugin indeed, yes. u r my dad, thanks mom. i really appreciate it, thanks again

jovial warren
#

man, virtual school would mean Iโ€™d still get to program Krypton all day

half harness
#

|| i forgot my grabify password ||

jovial warren
#

haha

eternal compass
#

||Why'd you click on this?||

half harness
jovial warren
#

wow

half harness
#

because my discord automatically "clicks" it

eternal compass
eternal compass
half harness
#

no

#

its a setting

jovial warren
#

oh dkimโ€™s one of those who has spoilers automatically shown smh

half harness
#

lol

eternal compass
#

Wierdo

unkempt tangle
#

How can I set breakpoints?

jovial warren
#

click

half harness
#

click

#

on the line number

jovial warren
unkempt tangle
#

Not working

jovial warren
#

wat

eternal compass
#

Click harder?

half harness
#

harder

unkempt tangle
#

Its Android Studio

half harness
#

oh

unkempt tangle
#

But at the hood its intelij

cinder flare
#

yeah should just be clicking on the line number, makes a little red dot and everything

unkempt tangle
#

Nothing happens

#

I can do bookmarks

jovial warren
#

make sure to run in debug mode though lol

unkempt tangle
#

debug mode?

#

how

jovial warren
#

click the bug instead of the arrow lol

unkempt tangle
#

what bug

cinder flare
#

top right

jovial warren
#

maybe IJ canโ€™t debut that, idk

cinder flare
#

android do be kinda funky

#

though it does have check marks for stuff?

jovial warren
#

that looks like semi readable Java bytecode lol

jovial warren
#

what are you actually trying?

unkempt tangle
#

I told ya yesterday

#

Trying to decode some files

half harness
#

oh myyyy

cinder flare
#

looks smali to me

jovial warren
#

probably best to decompile

cinder flare
#

๐Ÿคฃ

unkempt tangle
#

You cant decompile it

#

ITs no binary

cinder flare
#

can ya get ASM from it?

jovial warren
#

yeah apparently smali is the format used by the Android JVM

#

itโ€™s modified JVM bytecode, you can decompile that to Java

cinder flare
#

very funky

#

i'll just go back to kotlin now :)

jovial warren
cinder flare
#

too much work

#

i barely cared enough to even ask lol

jovial warren
#

lol

#

oh also, Krypton has 8 stars now, wow

cinder flare
#

pop-u-lar

jovial warren
#

probably the amount of times Iโ€™ve mentioned it here

cinder flare
jovial warren
#

historic purposes?

cinder flare
#

yeah but like its still listed as a reward on the rewards list thing

#

i was kinda hyped :(

jovial warren
#

no idea

#

9 stars ๐Ÿ‘€

cinder flare
#

bro wtf

#

how am I supposed to access things across gradle modules

half harness
#

compileOnly project("something") iirc

#

idk

cinder flare
#

cause I got here a build.gradle common, and a build.gradle bukkit, and a build.gradle over both of them

half harness
#

compileOnly or implementation something("modulename")

lunar cypress
#

project(":your-module")

cinder flare
#

where do i put that

half harness
#

in dependencies

lunar cypress
#

in your implementation spec

half harness
#

either compileOnly or implementation project(":your-module") depending on if u want to shade or not

cinder flare
#

okay well, that shit didn't work

#

it says it'll make a circular dependency

#

that doens't sound good

#

I did project like johnny said

lunar cypress
#

well you obv can't have a module depending on a module that in turn depends on the other module again

cinder flare
#

well what if i need to access them from eachother??

lunar cypress
#

Both from both is impossible

cinder flare
#

wtf

lunar cypress
#

you need a third module then

jovial warren
#

this is why common modules that are depended on by platform implementation modules are a good way to go

#

LuckPerms does this really well

cinder flare
#

well that's the opposite right now boss

jovial warren
#

I mean, LuckPerms uses like Gradle 4 (iirc) with shadow 2, so it could definitely be better, but in terms of modularity, LuckPerms is really good

lunar cypress
#

the fact that your "common" module depends on your "bukkit" module is questionable

cinder flare
#

I didn't do it man

#

I inherited this code

#

and barely understand gradle

lunar cypress
#

wdym you inherited it

jovial warren
#

Lol

cinder flare
#

someone made this code

#

and i forked it

#

to make a pr

#

i no makey original code

jovial warren
#

Ah

lunar cypress
#

Then either the author never built their code or you messed something up in the configuration

cinder flare
#

ยฏ_(ใƒ„)_/ยฏ

jovial warren
#

Thinking about it, configs in Krypton will actually be really nice

#

Since kotlinx.serialization is exposed in the API

#

So you can just depend on KAML for example if you want to use YAML for your configuration, write a data class and bam

#

Ez

#

Nice and idiomatic xD

distant sun
jovial warren
#

Lol

#

Adventure good BungeeCord chat and legacy magic strings bad

distant sun
#

it's literally Bukkit.broadcastMessage(message)

jovial warren
#

Wait what does it mean by no style?

distant sun
#

yes

jovial warren
#

If using the legacy API causes issues, make an issue on GitHub

distant sun
#

I think it doesn't like my raw hex

jovial warren
#

Or ask in the Paper or Adventure Discord

distant sun
#

what format does it use for hex?

jovial warren
#

&#

distant sun
#

bleah

jovial warren
#

Its own format

#

I think it's great

distant sun
#

&# is horrible

static zealot
#

why?

jovial warren
#

Adventure is good because it offers plugins an extra layer of abstraction for multi platform compatibility

distant sun
#

HA

#

it is actually <#RRGGBB>

jovial warren
#

BS

jovial warren
#

I mean, some of kashike's formatting and stuff is very questionable I can agree, but I like it

#

E.g. not using getters and setters that are Java standard which breaks Kotlin compatibility

distant sun
#

easy fix

jovial warren
#

Also he decided to make a Kotlin DSL but removed the @DslMarker annotations because "there's no official documentation that says functions can have that annotation"

#

Style.style is also very questionable

#

But overall, it's a really nice API

#

The NBT library saved my ass as well

#

I'll probably eventually make a kotlinx.serialization implementation for NBT to replace it, but it's good for now

#

And also a kotlinx.serialization implementation for TOML

static zealot
#

event priorities are the ones that say in which order the code is ran right? If I have an event with LOWEST priority, one with NORMAL priority and one with HIGH they run like this: LOWEST,NORMAL,HIGH right?

#

or does that not affect the order?

surreal quarry
#

yea itโ€™s sorta backwards but thatโ€™s right

static zealot
#

well idk if its bakwards

surreal quarry
#

youโ€™d think highest priority would be first but nope :)

static zealot
#

it makes sense for me

cinder flare
#

yeah you'd think HIGH would run first eh?

static zealot
#

because if the highest is ran first then the lowest will run after and will change everything

#

which is exactly what you don't want

cinder flare
#

well huh

surreal quarry
#

true true

cinder flare
#

priority is a way of measuring how soon an event will run

#

the higher the priority, the sooner it will be run

jovial warren
#

may or may not have forgot to fix the backwards priorities in Krypton's Kotlin version of the BungeeCord event bus

lunar cypress
#

The naming is confusing

static zealot
#

well in this case it measures importance xD

cinder flare
#

wdym

lunar cypress
#

the name "EventPriority" doesn't make much sense in of itself

jovial warren
#

I'll just swap the do while to go from the max val to the min val

surreal quarry
#

yea it should probably be event importance

cinder flare
#

oh shit I guess you're right it is backwards

surreal quarry
#

or just rename the priority thing bardy

jovial warren
#

Nah, I want priorities

lunar cypress
#

the problem is the "priority" has nothing to do with the event

cinder flare
#

It shouldn't even be named in a height scale

#

it should be named in a time order

#

like FIRST and LAST

lunar cypress
#

yes

surreal quarry
#

yea thatโ€™s a good idea

static zealot
#

and that's how you open a conversation to farm xp on HC

jovial warren
#

Oh btw, the way Bungee handles priorities is whack

surreal quarry
#

lmao blitz

cinder flare
#

ohhh boy you bet I need it blitz

#

my speedrun never stops

static zealot
#

=xp 186255788212355073

compact perchBOT
cinder flare
#

level 11 already bois

static zealot
#

server boost is OP xD if you want to speedrun xp

cinder flare
#

2 days down

static zealot
#

yeah

cinder flare
#

I didn't even server boost bro!

surreal quarry
#

server boost good

static zealot
#

=xp

compact perchBOT
static zealot
#

good luck

jovial warren
#

LOWEST is -64, LOW is -32, NORMAL is 0, HIGH is 32 and HIGHEST is 64

#

Then it uses a do while from the minimum byte value to the maximum

cinder flare
#

I mean at least that kinda makes sense

jovial warren
#

Which is really dumb and inefficient imo but ya know

cinder flare
#

they can be thought of in a linear order

jovial warren
#

Looping through every possible byte value is dumb when you only do something for 5 of them

cinder flare
#

well maybe you can make a custom?

#

then you have like, a ton of levels of order

obtuse gale
#

See? BungeeCord is op

#

/s

static zealot
#

!/s

surreal quarry
#

i wouldnโ€™t copy bungeecord or spigot with the event priority stuff

cinder flare
#

Then what's the real way?

#

FIRST, SECOND, etc. thorugh TENTH?

surreal quarry
#

something like that

jovial warren
ocean quartz
#

Since the priority doesn't seem good how about instead of a constant have the priority be an Int?

cinder flare
#

Well that's literally what BungeeCord did

#

Just also in the negative direction

lunar cypress
#

you can't determine the order exactly because the plugin authors can't possibly know what else is part of the system

#

so an enum does make sense

ocean quartz
#

I personally like Bukkit's just dislike that it's reverse

lunar cypress
#

it's naming is off, it probably should neither be Event nor Priority

surreal quarry
#

event makes sense, no?

cinder flare
#

EventOrder with the FIRST->TENTH thing is the best way In my mind

lunar cypress
#

no

surreal quarry
#

it has to do with the event

lunar cypress
#

you don't order events

surreal quarry
#

i guess listener

cinder flare
#

but it orders how events are executed

surreal quarry
#

not event

lunar cypress
#

you order your listeners

ocean quartz
#

Yeah Bukkit's are Importance it's even stated in the docs but they call it priority for some odd reason

surreal quarry
#

yea ListenerOrder or ListenerImportance would@be better

jovial warren
#

Krypton's will be priorities in the correct order

#

Also, monitoring won't exist

#

There's no need for the monitor priority

cinder flare
#

but what if you wanna monitor huh

jovial warren
#

You know you still get given the same mutable events as any other priority right?

half harness
#

add monitor ๐Ÿ™‚

jovial warren
#

Why?

cinder flare
#

make it immutable

half harness
#

so that ppl can do high priority stuff, then monitor can log and stuff

cinder flare
#

problem solvo

eternal compass
#

that took a while :p

half harness
#

maven

#

๐Ÿคฎ

jovial warren
#

Events are already mostly immutable

eternal compass
jovial warren
#

The only thing mutable is the isCancelled priority

half harness
#

i should make a pr

#

lol

#

even though im not on my pc

eternal compass
#

and all the things I were using supported maven, only some of them supported gradle

half harness
#

um

#

how

jovial warren
#

Like what?

half harness
#

looking at ur build.gradle

#

it should support gradle

#

ima make a pull request

#

in 10 minutes

eternal compass
#

meh, maven is easier for me

half harness
#

if it has maven support

#

it has gradle support

jovial warren
#

Maven is easier, but it's too verbose for me

eternal compass
half harness
#

yes

jovial warren
#

XML requires too much

prisma wave
#

if it supports maven, it supports gradle

eternal compass
#

I personally like XML

prisma wave
#

Important lesson to learn

eternal compass
#

but I didn't know that ^

half harness
#

time to fork

prisma wave
eternal compass
jovial warren
#

compared with Gradle's really concise Groovy DSL, Maven sucks ass

stuck harbor
#

man I gotta figure out java x emacs

#

they must be joined

eternal compass
stuck harbor
#

too many <>

#

not enough ()

#

as a lisp

#

I approve of ()

cinder flare
cinder flare
#

just use Gradle, it's really easy for your single project

#

you get all Maven repos in gradle anyways

#

Im only struggling cause I have a moderately complex use case

prisma wave
#

for small to medium projects gradle is literally a straight upgrade

#

Yeah

#

It can be difficult to transition larger projects

eternal compass
stuck harbor
#

just use haxe then

#

you nerd

cinder flare
eternal compass
#

eh, this is the first time I've ever used it, maybe I'll learn to hate it in the future

cinder flare
#

And in this case, Gradle is like 80% faster most of the time

prisma wave
eternal compass
#

maybe thats it

#

idk

cinder flare
eternal compass
cinder flare
#

cause that shit is like butter

#

let me make a comparison for ya

#

maven is like json, gradle is like yaml

prisma wave
#

don't shit on json

eternal compass
#

erm
I personally prefer json to yaml, because it makes more sense even if its not tabbed correctly

prisma wave
#

lol

cinder flare
#

okay wtf

#

nevermind

#

what file format do you not like

prisma wave
#

lol

eternal compass
#

java ^

stuck harbor
#

I love toml

eternal compass
#

:p

eternal compass
prisma wave
#

Basically, gradle good maven bad

cinder flare
#

alright so maven is like java, gradle is like basically any other language

prisma wave
#

f# ๐Ÿคค

eternal compass
#

you're gonna hate me for that

cinder flare
#

then gradle is javascript!

#

i mean yes

stuck harbor
#

common lisp ๐Ÿคค

cinder flare
#

but we can work with it

eternal compass
#

fair enough

prisma wave
#

maven = [bad language], gradle = [good language]

#

maven bad gradle good

eternal compass
cinder flare
#

you said this is your first time using maven?

prisma wave
#

lol

eternal compass
#

but basically, yes

cinder flare
#

okay so make it your 0th

#

just use gradle right now

#

before you even get kinda used to maven

eternal compass
#

how do I switch?

stuck harbor
#

have u ever had to shade in maven? literally illegal

cinder flare
#

very easily

eternal compass
#

is there an easy way

jovial warren
#

I think one thing sums up why Gradle good Maven bad

prisma wave
cinder flare
stuck harbor
#

run gradle init in the maven project

#

boom

prisma wave
eternal compass
#

wait, I can just merge from dkim's lol

#

hes converted it already

prisma wave
#

I will just stand back and make annoying / funny comments every now and then

jovial warren
#

Gradle:

dependencies {
    implementation 'org.kryptonmc:krypton-api:0.12'
}

Maven:

<dependencies>
    <dependency>
        <groupId>org.kryptonmc</groupId>
        <artifactId>krypton-api</artifactId>
        <version>0.12</version>
    </dependency>
</dependencies>
eternal compass
jovial warren
#

yeah XML is more readable, I can agree there

#

but it's way way way too verbose

cinder flare
#

my hero โค๏ธ

stuck harbor
#

xml is not readable

cinder flare
#

@half harness โค๏ธ

eternal compass
stuck harbor
#

where are the spaces

half harness
#

not yet

eternal compass
half harness
#

i forgot to remove pom.xml

eternal compass
prisma wave
cinder flare
half harness
#

also i just did this via github.com... so if i messed something up, whoops

stuck harbor
half harness
#

im not on pc

prisma wave
jovial warren
stuck harbor
#

always be on PC

eternal compass
stuck harbor
#

๐Ÿ‘€

#

I'm definitely on PC

jovial warren
#

well, XML is more readable for beginners

stuck harbor
#

no

#

wrong

jovial warren
#

I say, Maven is better for beginners, Gradle is better for pros

#

lol

eternal compass
#

its because I came from html / js ^

stuck harbor
#

I came from java

half harness
stuck harbor
#

java was my frist language

#

and java will be my last

prisma wave
stuck harbor
#

i will die with java

cinder flare
#

it's like saying "python is better for beginners"

stuck harbor
#

I will die in a CoffinFactoryAbstractBuilder

jovial warren
#

which it is

cinder flare
#

yeah, but then they have to learn Java and they're fucked

jovial warren
#

true

pale shell
half harness
#

@eternal compass u can merge now

pale shell
#

XML has like 5 lines vs the Gradle of 1 line.

stuck harbor
#

how about 0 lines?

prisma wave
#

o

stuck harbor
#

whitespace time

prisma wave
#

๐Ÿฅด

#

I love this emoji

#

So expressive

eternal compass
prisma wave
#

You could use it in pretty much any situation

half harness
stuck harbor
#

mmmmmmhm

half harness
#

make sure to use shadowJar task

#

or else it wont shade

autumn tapir
#

Update 4 months later - the first release (0.0.1-alpha) was published recently

eternal compass
#

whats that?

#

it sounds confusing

stuck harbor
#

I hate having to run gradle shadowJar build

autumn tapir
#

What do you think of this crafting API btw?

stuck harbor
#

I wish I could make build run shadowJar first

autumn tapir
#
const { crafting } = require('velt-helpers');

crafting.createShapelessRecipe([ 'flint', 'gold' ], 'flint and steel');
crafting.createShapedRecipe([ 'gold', 'diamond' ], 'diamond sword');
crafting.createShapedRecipe({
  shape: [ 'gold', 'diamond' ],
  result: 'diamond sword',
  id: 'my_special_diamond_sword'
});
crafting.createFurnaceRecipe('coal', 'iron block')
stuck harbor
#

ho hum

autumn tapir
#

Would this be simple enough

half harness
stuck harbor
#

well it depends on ur config

jovial warren
#

is that Bukkit in JS

half harness
#

oh

jovial warren
#

๐Ÿคฎ

half harness
#

๐Ÿคฎ

autumn tapir
#

@jovial warren It's a plugin I'm working on

#

and more ike spigot

#

?

stuck harbor
#

๐Ÿคข JS

autumn tapir
#

๐Ÿคฎ Java

jovial warren
#

Bukkit in JS is just wrong

autumn tapir
#

@jovial warren not really

eternal compass
#

theres spaces?

autumn tapir
#

java's a pain in the ass

jovial warren
stuck harbor
jovial warren
#

compared with JS

eternal compass
#

js is ok, but that just looks wrong

autumn tapir
stuck harbor
#

we use kotlin here

eternal compass
#

I guess?

autumn tapir
#

well it's just an idea for an api for crafting

cinder flare
jovial warren
#

yeah we use Kotlin

autumn tapir
#

kotlin is better then java

#

i just prefer JS

cinder flare
#

wtf

jovial warren
#

fair enough I guess

cinder flare
#

those are two conflicting statements

autumn tapir
#

though i am planning to add Typescript

#

because TS > JS

prisma wave
cinder flare
prisma wave
#

You won't find many people agreeing with you here

stuck harbor
hot hull
cinder flare
stuck harbor
#

yes frusty

autumn tapir
#

Typescript > Javascript > Kotlin > Java

Subjective personal opinion

stuck harbor
#

yesss

prisma wave
stuck harbor
#

clojure time

autumn tapir
#

Also there is some other benefits

cinder flare
stuck harbor
#

ding dong

cinder flare
#

Clojure kinda stanky though

prisma wave
#

best JVM languages in order:
Elara
Clojure
Kotlin
Scala
Groovy
Java

stuck harbor
#

eeeeeeee

autumn tapir
#

You'll be able to get access to all of node's libraries

#

All of npm

prisma wave
#

that's neat

jovial warren
#

NPM ๐Ÿคฎ

autumn tapir
#

And also all of the Java ecosystem too

eternal compass
#

in inteliJ how do I test out a commit?
(or a fork in this case)

jovial warren
#

that ecosystem is fucked

autumn tapir
#

So frameworks like discord.js, got, etc

cinder flare
#

Node too thicc

half harness
autumn tapir
#

@jovial warren Has some good modules tbh

cinder flare
#

overrated

stuck harbor
#

yes I need a 20MiB npm library

#

that adds two numbers

jovial warren
#

one line package is-promise breaks NPM comes to mind

eternal compass
cinder flare
#

JavaScript frameworks are shoddy creations built on a shoddy foundation (javascript) that are bound to fall apart

prisma wave
stuck harbor
#

every single one

autumn tapir
ocean quartz
#

JS ๐Ÿ˜ฌ

autumn tapir
#

but it has a bunch of good ones

#

discord.js

#

got

cinder flare
autumn tapir
#

node-fetch

jovial warren
#

NPM is one of the worst ecosystems

autumn tapir
#

express

eternal compass
autumn tapir
#

eh it's pretty good imo

prisma wave
#

rambda best js library

jovial warren
#

discord.js is just no

autumn tapir
#

discord.js is good tho?

prisma wave
#

d.js is nice

jovial warren
#

eh, maybe

autumn tapir
#

well besides if you don't like it

#

it supports java too

jovial warren
#

I'm just a hard Kotlin fan lol

cinder flare
autumn tapir
#

i mean fair

#

im a hard js fan too

pale shell
jovial warren
autumn tapir
#
const { Player, Zombie } = Java.pkg('org.bukkit.entity'); 
pale shell
#

?

autumn tapir
#

Works just like any other classes

cinder flare
stuck harbor
#

discord.elr @prisma wave ?

ocean quartz
#

Omg

pale shell
#

I prefer python so.

cinder flare
ocean quartz
#

Odin is back

pale shell
#

Sadly.

cinder flare
prisma wave
jovial warren
#

whoever made these frameworks for Python under the assumption that Python is somehow a language that's good for production should be shot I swear

stuck harbor
#

guten

#

python is okay

#

it general purpose

autumn tapir
#

not my fav

#

but python is okay

cinder flare
#

python is a glorified scripting language and should be thought of as nothing more

stuck harbor
#

the ultimate general purpose language imo

jovial warren
#

Python is a decent language, but writing a web backend in Python is just

autumn tapir
#

i started with python

jovial warren
stuck harbor
#

well ofc bardy

half harness
#

literally

stuck harbor
#

u would use golang

#

always

autumn tapir
#

but ye

#

but back to my question

prisma wave
#

I like how easy it is to just do stuff with things like node and py

autumn tapir
#

would smth like this be good

prisma wave
#

No need to look up gradle repos or dependency info

#

You just npm i

#

Ez

autumn tapir
#
crafting.createShapelessRecipe([ 'flint', 'gold' ], 'flint and steel');
crafting.createShapedRecipe([ 'gold', 'diamond' ], 'diamond sword');
crafting.createShapedRecipe({
  shape: [ 'gold', 'diamond' ],
  result: 'diamond sword',
  id: 'my_special_diamond_sword'
});
crafting.createFurnaceRecipe('coal', 'iron block')
cinder flare
#

hmmm

pale shell
#

Brister, did you remove that repo of the language you made?

cinder flare
cinder flare
pale shell
#

omg brister fix your website it just blinded me

autumn tapir
#

ngl though TypeScript = EPIC

stuck harbor
pale shell
#

there was another one before that

stuck harbor
#

no

#

only elara

cinder flare
pale shell
#

nope

jovial warren
#

I'd rather write in Python than JS ngl

cinder flare
#

and you could choose like, any of them

stuck harbor
#

no other languages allowed

pale shell
#

there was another

autumn tapir
#

@cinder flare true but I just like Typescript

prisma wave
cinder flare
pale shell
#

Remember when everyone was making their own languages on here?

autumn tapir
#

I mean I really like JS

#

And TS typings make it better

#

So

jovial warren
#

I don't like JS for one reason: lack of types

autumn tapir
#

@jovial warren Hello TS!

pale shell
cinder flare
#

lol

I really like JS
several people are typing

jovial warren
#

you can run into some really really weird bugs when you don't have any type safety

eternal compass
#

how do I update inteliJ to use gradle instead of maven?

stuck harbor
#

hence typescript

autumn tapir
#

Exactly why Typescript exists

jovial warren
#

we are Kotlin fanboys here

autumn tapir
#

I'm adding Typescript support to my plugin

stuck harbor
pale shell
#

I've never touched Typescript

autumn tapir
#

when I can

#

it's gonna be epic

prisma wave
cinder flare
#

bro Typescript is just duct tape over a leaking boat

autumn tapir
#

also it's not just plain js

#

i have a set of lots of simple utils

pale shell
#

Is that the one you made when what's his name was making one too

autumn tapir
#

so life is easy with it

cinder flare
#

Sure it's a little nicer, still a shiny turd underneath

prisma wave
autumn tapir
#

not really

#

JS is pretty good

#

does have some weird parts

jovial warren
#

let's face it though, there is only one good API that exists for Minecraft

autumn tapir
#

but it's really good

#

and i've almost never encountered them

prisma wave
#

Haven't worked on that in a long time tho

cinder flare
#

Have you read like... any of the hundreds of articles about why JS sucks to work with?

pale shell
#

F

prisma wave
#

It's all about Elara now

pale shell
#

Elera?

cinder flare
#

I eagerly await the day I can use any other language in the browser

autumn tapir
#

@cinder flare I mean yeah, but I've never really encountered much of a problem in the many projects I've made with it

cinder flare
#

WASM can't come soon ehough

stuck harbor
#

I love wasm

autumn tapir
#

@cinder flare There are many transpilers for JS

cinder flare
#

But they all have to be javascript at the end of the day

stuck harbor
#

I am a wasm fanboy basically

pale shell
#

brister, you know Elera is the 2nd google search result?

cinder flare
#

Which is the real problem

prisma wave
#

wot

cinder flare
pale shell
autumn tapir
#

Well tbh

#

I just really really like JS

prisma wave
#

O sick

autumn tapir
#

and TS

pale shell
#

you didn't know that?

jovial warren
#

ofc it is lol

stuck harbor
#

no prizes for second place bm

autumn tapir
#

I prefer it over every other language

jovial warren
#

there's probably like 10 repos named elara on GitHub

autumn tapir
#

tbh I think we can all agree that

prisma wave
#

Nah I memorised the link off by heart so no need to Google

autumn tapir
#

"Skript" is terrible

prisma wave
#

It will be #1 soon ๐Ÿ™‚

stuck harbor
#

skript is good for what its for

jovial warren
pale shell
#

"off by heart" it's probs in your auto search thing LOL

autumn tapir
prisma wave
#

Also wtf chat is so busy rn

autumn tapir
#

It was made for like

#

Small changes to a serv

jovial warren
#

the reason why I hate Skript so much is because I see it as an excuse for server owners to not learn Java

prisma wave
jovial warren
#

which frustrates me

stuck harbor
autumn tapir
#

@jovial warren just learn JS nowadays

stuck harbor
#

who would learn java

autumn tapir
#

fundamentally Skript isn'tterrible

jovial warren
#

lol

autumn tapir
#

just HEAVILY HEAVILY misused

#

java = shit

prisma wave
stuck harbor
#

just learn ceylon

jovial warren
#

cough Skript Anti Cheat cough

stuck harbor
#

shall I switch to ceylon?

#

I shall

jovial warren
#

cough $30 on MCM cough

autumn tapir
#

there was this one skript plugin

#

where the person who made it didnt even use loops

jovial warren
#

cough 2000 buyers cough

autumn tapir
#

or anything

#

it was like an essentials remake

#

and it had

#

wait for it

cinder flare
#

Sounds like a JS developer to me

autumn tapir
#

6k lines

#

sounds like a Skript "developer" to me

#

JS has good features

#

Wasn't the best at the start tho

cinder flare
#

Hence why my pages take seconds to load

autumn tapir
#

But it has some really good features

stuck harbor
#

use rust

jovial warren
#

Skript isn't even a programming language, that's where people make the mistake

autumn tapir
#

@cinder flare Not for me so ๐Ÿคทโ€โ™‚๏ธ

stuck harbor
#

and wasm

jovial warren
#

it's a scripting language

stuck harbor
#

and golang

autumn tapir
#

Skript technically is

#

It's heavily heavily misused

jovial warren
#

and writing scripts in Skript isn't exactly difficult lol

#

it's not a programming language

cinder flare
jovial warren
#

I stand by that firmly

autumn tapir
#

Just learn kotlin or JS or for fuck's sake, even Java

autumn tapir
eternal compass
#

@half harness what should by gitignore be for Gradle?

autumn tapir
#

and I just personally prefer it

#

since it's simple, nice, concise, and has syntax i like a lot

half harness
stuck harbor
#

just learn haxe @Server Owners

prisma wave
lunar cypress
stuck harbor
#

sheesh

jovial warren
jovial warren
autumn tapir
#

It's subjectively the best @cinder flare

stuck harbor
#

bin tho

#

get rid of bin

eternal compass
half harness
autumn tapir
#

Also it has a big community and lots of npm libraries

half harness
#

yes

jovial warren
#

oh btw Corman, replies exist now ๐Ÿ™‚

cinder flare
eternal compass
prisma wave
#

yeah .idea is general

half harness
#

i didn't forget ๐Ÿ˜ค

jovial warren
autumn tapir
#

I haven't even noticed, it works fine for me

cinder flare
half harness
stuck harbor
#

ew

prisma wave
#

Is skript Turing complete?

stuck harbor
#

thats not very emacs of you young man

jovial warren
#

oh no

autumn tapir
#

I think so

stuck harbor
#

never click

prisma wave
#

oh no

cinder flare
#
true == 1               // true
true == "1"             // true
false == 0              // true
false == "0"            // true

false == undefined      // false
false == null           // false

null == undefined       // true
prisma wave
#

elara in skript coming soon

autumn tapir
#

Turing complete is only math computations tho

#

Nothing else

jovial warren
#

you and your "turing complete" BM

prisma wave
#

yeah

prisma wave
lunar cypress
cinder flare
#
"\t\r\n" == 0                   // true
"\t\r\n 16 \t\r\n" == 16        // true
"\t\r\n 16 \t\r\n" == "16"      // false
autumn tapir
jovial warren
stuck harbor
#

mafs

cinder flare
#
16 == [16]         // true
16 == [1,6]        // false
"1,6" == [1,6]     // true
autumn tapir
#

=== solves all those problems

#

Some of the older features of JS are bad

cinder flare
#

So why tf does == exist then'

lunar cypress
#

and what exactly counts as "math-related"

autumn tapir
#

Modern JS can solve it

prisma wave
jovial warren
prisma wave
#

But yeah

autumn tapir
#

@cinder flare It's a side-effect of the past

#

When JS was worse

cinder flare
#
var a = "1"
var b = 2
var c = a + b   // c = "12"
lunar cypress
#

Is a compiler math related?

autumn tapir
#

And they can't remove it for backward-compatibility

jovial warren
#

oh btw, you know replies exist now @autumn tapir

prisma wave
#

JS type coercion really isn't as bad as people think it is

autumn tapir
cinder flare
#
alert((![]+[])[+[]]+(![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]);
jovial warren
#

there we go

autumn tapir
#

and I do

autumn tapir
#

again

cinder flare
#

type that bad boy into the console

autumn tapir
#

side effect of past js

cinder flare
#

it gives you an alert :)

jovial warren
#

please tell me that fails to compile

autumn tapir
#

with smth like TS

jovial warren
#

oh. my. god

autumn tapir
#

and also

jovial warren
#

you're joking

prisma wave
#

coffeescript is the future

cinder flare
autumn tapir
#

as long as you're not being dumb

cinder flare
#

fuck it