#dev-general

1 messages ยท Page 200 of 1

reef maple
compact perchBOT
#
๐Ÿ“‹ Paste Converted!
https://paste.helpch.at/ucavegezox

A member of staff has requested I move your pastebin.com paste to our paste.helpch.at!

reef maple
#

line 35

winter iron
#

?paste

compact perchBOT
#
FAQ Answer:

Paste Services
When asking for help with a config/menu/code issue please use one of these:
(However we do prefer if you used our paste :))
โ€ข HelpChat Paste - Usage
โ€ข Hastebin

winter iron
#

is it possible such that getInstance will return the casted instance of that class

#

for example

#

if I do ClassType.KING.getInstance() I want it to automatically return an instance of King rather than KingdomClass

#

and same for Queen, Archer etc

quiet depot
#

No, this isn't possible with enums

winter iron
#

D:

quiet depot
#

try something like this

#
public final class ClassType<T extends KingdomClass> {
    public static final ClassType KING = new ClassType("classes/king", King.class);

    private final Class<T> kingdomClass;
    private final DataFile dataFile;

    private ClassType(String path, Class<T> kingdomClass) {
        final Kingdoms plugin = JavaPlugin.getPlugin(Kingdoms.class);

        this.kingdomClass = kingdomClass;
        this.dataFile = new DataFile(plugin, path, true);
    }

    public T getInstance() {
        try {
            return (T) kingdomClass.newInstance();
        } catch (final Exception exception) {
            throw new AssertionError("i don't know how to code woops");
        }
    }
}```
obtuse gale
#

No, this isn't possible with enums
how is it not? ๐Ÿค”

prisma wave
#

enums can't be generic

obtuse gale
#

the enum isn't generic

quiet depot
#

it is

obtuse gale
#

it isn't? it takes another class as generic (the constructor)

prisma wave
#

ClassType would need to have a type parameter for this to woerk

#

ClassType<T extends KingdomClass>

quiet depot
#

@winter iron btw ^

winter iron
#

ye im looking thru it

#

i have never used types or generics before

#

so just tryna figure out whats going

#

what is T

quiet depot
#

T is a generic type parameter

#

T is just the name of the parameter

#

it can be anything

#

Y for example

#

or R

#

or X

#

generally the letter represents something though

#

T represents "type"

obtuse gale
prisma wave
#

that's not what he's asking

quiet depot
#

that code is valid, but it's not what he wanted

prisma wave
#

he wants to have the true type of getInstance known at compile time

#

which is impossible without generics

obtuse gale
#

is it possible such that getInstance will return the casted instance of that class
I mean it will be an instance of that, it's like say getItemMeta on a banner, it will return ItemMeta, but it will be an instance of BannerMeta or whatever

quiet depot
#

that's not what he wanted though

#

he wanted the specific type to be returned

#

not a super type

reef maple
#

@ocean quartz any idea ? (sorry for the mention ^^')

ocean quartz
#

Oh, wasn't here, what is it again?

reef maple
#

Sorry ^^

#

I have added the dependency

ocean quartz
#

I mean, that means you're not adding it to your jar

#

Can you send the entire pom?

reef maple
#

yes

ocean quartz
#

I guess that should work, how are you building it?

reef maple
#

what do you mean by building it ?

#

I use Maven lifecycle -> package

ocean quartz
#

Run mvn clean package and see if that'll do it

reef maple
#

Terminal at the project seed ?

ocean quartz
#

Either should do it, i prefer doing it on the IDE, creating a configuration for it

reef maple
#

command not found

ocean quartz
reef maple
#

hmm, I have packaged, Build Success

#

Yep, even after the clean package, i don't see any changes

ocean quartz
#

This to your plugins

reef maple
#

Okay

#
commons-codec-1.15.jar, FE_Character-0.1.jar define 12 overlapping classes: 
  - org.apache.commons.codec.DecoderException
  - org.apache.commons.codec.EncoderException
  - org.apache.commons.codec.binary.BaseNCodec$Context
  - org.apache.commons.codec.BinaryDecoder
  - org.apache.commons.codec.Decoder
  - org.apache.commons.codec.BinaryEncoder
  - org.apache.commons.codec.binary.Base64
  - org.apache.commons.codec.binary.BaseNCodec
  - org.apache.commons.codec.binary.CharSequenceUtils
  - org.apache.commons.codec.CodecPolicy
  - 2 more...
maven-shade-plugin has detected that some class files are
present in two or more JARs. When this happens, only one
single version of the class is copied to the uber jar.
Usually this is not harmful and you can skip these warnings,
otherwise try to manually exclude artifacts based on
mvn dependency:tree -Ddetail=true and the above output.
See http://maven.apache.org/plugins/maven-shade-plugin/
prisma wave
#

If I had a dollar for everyone asking for pdm relocation I'd be able to hire someone to do it for me

#

And by that I mean give me money

reef maple
#

gives a bucket to Elara

#

it generate two files now, I suppose the original is my own plugin and the other one is mine + apache

#

Three files: original, normal name and shaded.

prisma wave
#

gives a bucket to Elara
@reef maple dear god...

reef maple
#

x)

prisma wave
#

anyway

iron cobalt
#

Where can I verify the DeluxeChat purchase certificate I want to use 1.16.2

prisma wave
#

you should probably be using shaded

iron cobalt
#

Thank you !

ocean quartz
#

Interesting, was testing time it takes to sum the length of different strings in a list, the results where more different than i thought

Kt: 1.3174ms
Kt for: 0.0232ms
Jv stream: 3.3082ms
Jv for: 0.0526ms
#

I'm assuming what made the firs one slow was the filterIsInstance

#

So

var length = 0
for (node in parts) {
    if (node !is TextNode) continue
    length += node.text.length
}

Is faster than

val length = parts
        .filterIsInstance<TextNode>()
        .map { it.text.length }
        .sum()
#

Both still faster than Java

prisma wave
#

Hmm

#

Most of the overhead probably comes from instantiating collections

#

What's it like when using sumBy?

ocean quartz
#

Oh wow, speedy

prisma wave
#

And / or with sequences

ocean quartz
#
Kt: 0.1438ms
Kt for: 0.0212ms
#

This is just changing to sumBy

#

As sequence

Kt: 12.3816ms
Kt for: 0.0429ms
prisma wave
#

Yeah thought so

#

hmm

#

are these average times or just running once?

old wyvern
#

huh

ocean quartz
#

Just one run, but doesn't change much to average

old wyvern
#

That doesnt seem right

prisma wave
#

Seems odd that sequences are so slow

ocean quartz
#

Also the time includes the println() which i know it's what slows it even more

old wyvern
#

What string lists are you using to test matt?

ocean quartz
#

But all of them has it, so it's still a good comparison

#

Just simulating what it'd look like in the lib

hot hull
#

0.0232ms I am sped

old wyvern
#

I feel like Java shouldnt be slower than kotlin in that case if anything

#

Were you using the java stream API via kotlin by any chance?

prisma wave
#

Yeah send the benchmark code and ideally take average times

#

more reliable

ocean quartz
#

Doing some changes now yeah

#

Alright here is my test code, i know it isn't exactly great for measuring but just wanted to have an idea of it
Also removed the println
https://paste.helpch.at/ezibidipar.cs
Results:

Kt: 0.00293ms
Kt for: 7.54E-4ms
Jv stream: 0.045081ms
Jv for: 8.01E-4ms
#

Average of 100 runs

prisma wave
#

hmm

#

you might as well display it in ns or us if you're dealing with sub 1 values

ocean quartz
#
Kt: 2345.5ns
Kt for: 341.7ns
Jv stream: 7951.1ns
Jv for: 378.4ns
prisma wave
#

there's also the possibility that some of the operations are getting optimized out

old wyvern
#

Nah nah

prisma wave
#

since you don't actually do anything with the values

old wyvern
#

Also bm

#

#private

prisma wave
#

kk

#

yeah those numbers look about right

#

although kotlin is surprisingly slow

frigid badge
#

compare the bytecode for fun

old wyvern
#

Yea checking rn

ocean quartz
#

Well, normal for is faster than Java's normal for, while kotlins "stream" is faster than java's stream

old wyvern
#

Matt were you calling the stream api from kotlin?

prisma wave
#

sequences are significantly faster than streams most of the time

#

so yeah

ocean quartz
#

Wdym Yugi?

prisma wave
#

definitely check bytecode / decompiled output

old wyvern
#

Wdym Yugi?
I meant as in were you accessing the Java Streams API from kotlin code or directly from java

heady birch
#

No, no way is it faster than java. Impossible

prisma wave
#

faster than

#

than

#

rhan

#

rust

heady birch
#

No

#

Not possible

ocean quartz
#

@old wyvern I have a Java class with the stream, then i call the class from Kotlin

heady birch
#

Biased benchmarks, typical

prisma wave
#

pub static fn

heady birch
#

Rust does not encourage the use of static ๐Ÿ™‚

old wyvern
#

What operations did you have?

#

Just print?

heady birch
#

Ada could beat this

old wyvern
#

oh sum

ocean quartz
#

It's just

return parts.stream()
        .filter(TextNode.class::isInstance)
        .mapToInt(part -> ((TextNode) part).getText().length())
        .sum();
prisma wave
#

ada is ridiculous

#

not exactly a "modern" language now is it

heady birch
#

Excuse me

old wyvern
#

Niall

#

move to Elara

#

plz

heady birch
#

procedure Main is
begin
Put_Line("Hello from ada")
null;
end Main;

old wyvern
#

you can print now

#

c'mon

heady birch
#

๐Ÿ˜‘

old wyvern
prisma wave
#

procedure Main is
begin
Put_Line("Hello from ada")
null;
end Main;
@heady birch

print("Hello from Elara")```
#

wow

#

what a comparison

ocean quartz
#

Yo BM you still talk with Sx?

prisma wave
#

elara is cleaner in every way

#

not any more lol, he unfriended me ๐Ÿ˜ฆ

#

not sure why

heady birch
#

Typical

#

Deniers

#

Elara would crash if I told it my name was 3

ocean quartz
#

He got kicked from Paper's discord, then unfriended me, got rid of all his servers, and just disappeared ๐Ÿ˜ฆ

old wyvern
#

o.o

prisma wave
#

ah yeah

old wyvern
#

What happened on paper's discord?

prisma wave
#

He told people to use kotlin too much

old wyvern
#

xD

prisma wave
#

that's actually the reason

#

I think

old wyvern
#

๐Ÿคทโ€โ™‚๏ธ

ocean quartz
#

Basically really dumb, he was arguing with Kotlin stuff, someone told him to drop, he didn't and got kicked

prisma wave
#

:/

old wyvern
#

He should have promoted Elara

heady birch
#

Kotlin help required

prisma wave
#

dont ask to ask

heady birch
#

No main class found

#

This is new issue

prisma wave
#

add Kt to the end

ocean quartz
#

Still have him on SnapChat, so might try talking

heady birch
#

I only experienced this a few minutes ago, no longer than 10

prisma wave
#

if it's a main file

heady birch
#

This was working before, I do have Kt on the end

prisma wave
#

Oh yeah I have him on snap too

#

hmm

frigid badge
#

oh damn didn't know y'all snapchatted too

heady birch
#

I will view the output

prisma wave
#

a little

frigid badge
#

circlejerking irl huh

old wyvern
#

Nial is it on spigot?

frigid badge
#

;p

prisma wave
#

nahhh

ocean quartz
#

Tbh i really don't use it, just open stuff people send kek

old wyvern
#

A kotlin file with more than just a class acts like a package

prisma wave
#

yeah lol

frigid badge
#

Tbh i really don't use it, just open stuff people send :kek:
this is so me lmfao

old wyvern
#

so that must be reflected in your path

#

I dont fully understand snapchat

prisma wave
#

i've got streaks with a few people but I mostly just leave sx on read

heady birch
#

This was all working fine, until I packaged it again

#

My package is not in output jar

prisma wave
#

pretty sure it's mostly for sending nudes

heady birch
#

Typical

old wyvern
#

I just have it coz someone installed it on my phone when it was with them

heady birch
#

Kotlin

frigid badge
#

nah it really isn't

old wyvern
frigid badge
#

I used to be active on it like 3 years ago

old wyvern
#

I have found 2 people from here on insta tho fingerguns

frigid badge
#

I mean you guys know my real name anyway

heady birch
#

[WARNING] No sources found skipping Kotlin compile

old wyvern
#

max

prisma wave
#

src/main/kotlin @heady birch ?

old wyvern
#

What was your full name again lemm?

ocean quartz
#

We all know your real name is Lemon

prisma wave
#

lenmo

heady birch
#

yes

frigid badge
#

^^^

ocean quartz
#

John Lemon

heady birch
#

as I previously stated !!

old wyvern
#

xD

heady birch
#

this was working fine !!

prisma wave
#

send the stacktrace

heady birch
#

all i did was maven clean then maven package

#

wh

prisma wave
#

maven

ocean quartz
prisma wave
#

:/

heady birch
#

PISS OFF

#

๐Ÿ˜ฆ

prisma wave
#

honestly what do you expect

#

when you use maven with kotlin

#

it's got like eighth class support

#

barely even second class

heady birch
#

Gradle didnt even work so...

prisma wave
#

it did

#

you're just bad

ocean quartz
#

use maven with kotlin
disgustedjiro

heady birch
#

Third party chinese plugin just to shadow

prisma wave
#

third party

heady birch
#

๐Ÿ™„

prisma wave
#

maven-shade-plugin

#

org.apache

#

outdated organisation

heady birch
#

That's made by Apache

ocean quartz
#

apache-maven-shade-plugin

heady birch
#

I think we discussed this

onyx loom
#

yes

#

apache bad

#

gradle shadow good

#

gradle good

prisma wave
#

apache is almost as bad as james himself

#

also elara will come with a 1st party shading tool

#

mark my words

#

and it will be 18x faster than gradle

onyx loom
#

PDM

#

no need for shading

prisma wave
#

ah yes

#

the software that's in active development

heady birch
#

[INFO]
[INFO] --- kotlin-maven-plugin:1.3.72:compile (compile) @ scope1090 ---
[WARNING] No sources found skipping Kotlin compile
No sources found skipping Kotlin compile

#

[INFO]
[INFO] --- kotlin-maven-plugin:1.3.72:compile (compile) @ scope1090 ---
[WARNING] No sources found skipping Kotlin compile
No sources found skipping Kotlin compile

prisma wave
#

sounds like a maven problem

heady birch
#

No sources

#

You know what?

#

โ˜น๏ธ sad face

prisma wave
#

๐Ÿ™

heady birch
#

Ok so just running the program fixed it when I packaged it again

#

So that means people who download it and mvn:package, it isn't gonna work

#

For some reason I have to compile through IntelliJ run?

prisma wave
#

they should be doing gradle build

heady birch
#

Right

#

If you can help me get gradle working

#

Will it add a gradle wrapper thingy?

prisma wave
#

yeah

heady birch
#

So people dont need to install gradle

prisma wave
#

mhm

heady birch
#

Magic, how can one accomplish this

prisma wave
#

IJ will do it when you make a new project

#

or you can manually add one with gradle wrapper

heady birch
#

My project is already made, in maven, switch to gradle

prisma wave
#

gradle init can attempt to convert from maven

heady birch
#

bash: gradle: command not found

prisma wave
#

isn't perfect but it's a good start

#

oh

#

i assumed you would have it installed

#

smh

heady birch
#

i dont want to install it

prisma wave
#

ridiculous

#

utterly ridiculous

heady birch
#

TYPICAL gradle users, provide no solution to the problem at hand

prisma wave
#

typical maven users, can't take a little bit of initiative to solve a problem

#

expect everything on a silver platter for them

heady birch
#

yes

#

Pretty sure I had a valid reason not to install gradle

prisma wave
#

I dont think you did

onyx loom
#

never

heady birch
#

oh yeah

#

I am on mac

#

It wants xcode

old wyvern
#

Seems both kotlin eager and lazy streams both unfold to while loops with each step and the sumby is done with a for loop

empty flint
#

What's the opposite of intense?

prisma wave
#

Untense

old wyvern
#

mild?

prisma wave
#

Nah

old wyvern
#

xD

prisma wave
#

Yeah probably mild or subtle

empty flint
#

outtense

obtuse gale
#

outloose

ocean quartz
#

@old wyvern Seems pretty similar to my results
And yeah it unfolds into while loops with iterators, which i thought was interesting, i always thought it would be a for with ifs xD

old wyvern
#

๐Ÿ˜‚

#

I guess kotlin gets the advantage from that level of inlining

ocean quartz
#

Well, what to take from this, it's better to not use streams even if it's just small things like the count stuff i had, will be faster to just a loop to count the length in my case

old wyvern
#

damn

#

I think I issue with not using lazy* sequences was memory complexity

ocean quartz
#

Also, what would Kotlin's internal access modifier compile into?

old wyvern
#

It just modifies the name

#

It appends a $<ModuleName> to the end of the variable

ocean quartz
#

Huh, decompiles into public
But it's probably handled differently
Just curious how it'd behave trying to access internal from Java
internal is pretty useful

#

I would love to write a premium plugin in Kotlin and have all sorts of crack protection in it, and see people trying to decompile it in Java to crack it kek

old wyvern
#

Doesnt let me compile while accessing it

#

I would love to write a premium plugin in Kotlin and have all sorts of crack protection in it, and see people trying to decompile it in Java to crack it :kek:
xD

ocean quartz
old wyvern
#

god

#

๐Ÿ˜‚

prisma wave
#

if you want true obfuscation decompiled clojure is the way to go

heady birch
#

That is actually not a bad idea

prisma wave
#

@static zealot if you haven't realised already, pdm is fixed. sorry for the wait

#

or it should be fixed

static zealot
#

yeah it works now well at least I can use the version 0.0.28 but the error persists

prisma wave
#

hm

#

can you send the code + error again?

static zealot
#

sure give me 2 minutes.

#

welp the server just started rn. I rebuilt the jar and seems that it doesn't give an error anymore

#

interesting.

#

welp thanks anyways

prisma wave
#

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

#

pdm good

static zealot
#

yeah but I don't get it. Why does it break the jars when the repository is offline?

old wyvern
#

The gradle plugin is required to fetch the dependencies from build.gradle for pdm to import at runtime I guess?

prisma wave
#

I'm not sure exactly but pdm uses my repository as a mirror of maven central (as afaik you're not allowed to use maven central in production)

#

Yeah pretty much

old wyvern
#

ah

prisma wave
#

The gradle plugin itself depends on common-lib from my repo, and every project queries the central mirror to fetch the jars

old wyvern
#

mmm

empty flint
#

any mathematicians here?

#

I forgot everything I learnt in school

#

need help with a steadily increasing function that reaches a limit

prisma wave
#

What's the question

heady birch
#

any mathematicians here?
@empty flint yes

#

but sorry

#

i must go now

empty flint
#

I have this number b that represents brightness that I need to limit between 0.0 and 1.0. Now I also have two inputs: dark and light, both integers between 0 and MAX_INT.

#

I need a function f(b, d, l) that returns a brightness between 0 and 1 where the higher d is, the lower the resulting brightness is and the higher l is, the higher the resulting brightness.

#

so b' = f(b, d, l)

old wyvern
#

You already have a value for brightness?

empty flint
#

I think a good factor for the darkness would be something like 1/(x+1). If the dark value is 0, the factor is 1 and the brightness is unchanged.

#

You already have a value for brightness?
@old wyvern Yes, I have a value for brightness and I am trying to make it lighter or darker

old wyvern
#

Also why do you have 2 variables to represent the same state in multiple ways

empty flint
#

this is 1/(x+1) for x > 0

old wyvern
#

Darkness and lightness are related

empty flint
#

yes, they are the reciprocal of each other. which means I basically need to find the reciprocal of 1/(x+1)

#

but I forgot how that works

prisma wave
#

I don't think you can simplify that?

empty flint
#

I don't want to simplify

old wyvern
#

That isnt a reciprocal relationship

#

Light + Dark would be assumed to be 1 in brightness

#

So you could consider darknesd just just negative values of brightness

#

That way you can just simplify it to
b + (l-d)/max

empty flint
#

what's max here?

old wyvern
#

Expected maximum value of l/d

empty flint
#

also what's to stop b + ... something to be more than 1.0?

#

Expected maximum value of l/d
@old wyvern there is no expected value

old wyvern
#

You said it would be maxed out at Int.Max_Value correct?

empty flint
#

yes but that's just theoretical. the step size should be heavily skewed towards the lower integerrs

#

so a dark value of 1 to 2 is a much bigger difference than a dark value going from 563 to 564

old wyvern
#

Thats possibly not a good choice

empty flint
#

it's not linear

old wyvern
#

You need to know the upper limit

#

To scale it down

empty flint
#

there is none

#

I can't change the requirements dude ^^

old wyvern
#

Forget requirements, can you define the problem once again

#

Precisely what you wanted

empty flint
#

also I don't want to, it's an unnecessary limit that only serves to make my task of finding such a function easier. No practical reason to limit it other than that.

#

ok so I have a brightness value between 0 and 1, right

old wyvern
#

Not sure how you imagine scaling it down without an upper limit

empty flint
#

I never said scaling it was the way to go

#

so brightness value b between 0.0 and 1.0

old wyvern
#

You wanted to scale the change down to the range of brightness afaik

#

Exactly my guy

#

Ok let me ask you this

#

You have x in the range of [0,inf]. Find a reversible function to map it to the range [0,1]

empty flint
#

I need a function f that returns a value between 0.0 and 1.0 with inputs: initial brightness, darkness [0...MAX_INT], and light [0...MAX_INT] where if d-l==0, f returns b. Otherwise it's a monotonous function. I guess I could just say shade = l-d

#

so let's simplify to f(b, s)

#

the more positive s is, the closer b gets to 1, the more negative s is, the closer b gets to 0

heady birch
#

do scale

empty flint
#

so the scale is [-INT_MAX, INT_MAX]

#

I guess

old wyvern
#

Yes

empty flint
#

right let's do it this way

old wyvern
#

Just divide s by Int_max

empty flint
#

I'll give you concrete examples if you want

#

b = 0.5, s = 3 -> should result in something like 0.75-0.9
b = 0.5, s = -3 -> should result in something like 0.25-0.1
b = 0.8, s = 3 -> should result in something like 0.95-0.99
b = 0.8, s = -3 -> should result in something like 0.05-0.01

#

or whatever, scale it down a bit so that's s=30 and -30 instead of 3

#

but really small digit s should be enough to bring that b close to 1

old wyvern
#

Then whats the point of allowing larger numbers?

empty flint
#

because there's no inherent limit.

#

there's no reason to limit it

old wyvern
#

Yes there is

#

You just stated it yourself

#

but really small digit s should be enough to bring that b close to 1

#

You want small digits itself to be a large factor

empty flint
#

forget the limit, it's skewed towards small digit numbers in both directions, think of it like a bell curve

old wyvern
#

But also want to allow larger numbers

empty flint
#

even with a limit, it's not a linear scale

#

it's a gauss kernel

#

forget the limit

#

oh you know what I think I got it actually

ocean quartz
#

Adding legacy format support so people don't cry ๐Ÿ˜ซ
The way the default format works on spigot is funky
With the &l, &o, &m, &k, it resets on color

#

So the way it'll interact with markdown is funky as well

obtuse gale
#

where can I change the max allocated memory for IJ? stupid brother put it at 12gb max and I can't find that on the general settings -.-

distant sun
#

Help tab @obtuse gale

obtuse gale
#

thx ilyโ™ฅ๏ธ

heady birch
#

Lol

#

Actually showcase is good for this

#

@prisma wave Teach me the ways of shadow jar!

prisma wave
#

What about it

heady birch
#

How to

prisma wave
#

Add the plugin

#

That's literally it

heady birch
#

Plugin no exist

#

Search marketplace instead

#

๐Ÿ˜…

prisma wave
#

what

#

no

#

To plugins block

heady birch
#

Lol

prisma wave
#

the id is like com.github.johnrengelman.shadow or something

heady birch
#

stupid

prisma wave
#

And then you need the version

#

Latest is 6.0.0

#

Just copy off docs

heady birch
#

That's so stupid though

#

You cant even make a working kotlin project without some third party plugin!

prisma wave
#

it is actually possible to do it in vanilla gradle

#

But shadow has more features

heady birch
#

I dont want more features

#

I just want a working application

#

Maven master but no gradle guru

prisma wave
#

well then shadow is the easiest way to do that

#

it's possible in vanilla with a bit of tweaking of the jar task, but that doesn't support relocation or minimisation or anything

#

But yeah literally all you need to do is add the plugin

#

alternatively I think the 1st party application plugin can create a single executable with libraries bundled

#

if you're actually serious about "3rd party bad"

heady birch
#

configurating

#

build successful

prisma wave
#

congratulation

#

now you can do gradle shadowJar to build shaded jar

#

ez

heady birch
#

What

#

No

#

I want to be able to build it with gradle build

#

Cant even find main class

#

Typical

#

How can I remove the gradle project

#

Just delete the files?

#

Oh WOW

#

Look at that

#

Run 1 command

#

And maven has done it all, I rest my case

prisma wave
#

๐Ÿ™„

heady birch
#

Can I do var parameter in kotlin

prisma wave
#

no

#

Always immutable

distant sun
#

let

#

Is it only me or using extensions for event listeners is a bit weird to work with thonking1

obtuse gale
#

just you

#

wdym working with tho

distant sun
#

Without having to use even.x.y.z

obtuse gale
#

I find it easier

distant sun
#

event.player > player / this.player

obtuse gale
#

Cos alot of the time with events I find myself doing something like

val player = event.player``` but I dont have to do that anymore
distant sun
#

Mhm maybe

next apex
#

Hi is there any option to suggest a cmd in chat clicking on a menu gui?

distant sun
#

No

next apex
#

just using tellraw '

#

?

distant sun
#

Yes, only though json

next apex
#

Thank you โค๏ธ

frigid badge
quiet depot
#

wow

old wyvern
heady birch
frigid badge
#

it hasnโ€™t

heady birch
#

Well over a couple of months

#

Pretty sure I had seen this pre 2020

#

Maybe later

#

Oh I might be mistaken, it was free to download, not actually sure about open-source

quiet depot
#

it was open sourced april 2019 apparently

ocean quartz
#

@heady birch Lmao that ghost ping xD

heady birch
#

Lol

#

Did you see it?

ocean quartz
#

Saw the logs xD

heady birch
#

๐Ÿ˜•

onyx loom
dusky drum
#

is it OSS or just OS?

hot hull
#

OSS?

dusky drum
#

there is difference

#

something can be open source but not have the legal actions for legal open source, like anything that you write and you made it for public is only OS while linux is OSS

hot hull
#

OSS meaning what exactly is what I'm asking

dusky drum
#

just sec

heady birch
#

open source software

dusky drum
#

^^

hot hull
#

I see

dusky drum
#

there are standards for OSS

#

that you have to follow

heady birch
#

I need a program to make

dusky drum
#

OSI and FSF

#

i need to make driver for serial comunication any idea how?=

heady birch
#

Rust, C, Ada ๐Ÿ™‚

dusky drum
#

will look into it.

heady birch
#

What kind of communication?

prisma wave
#

Pascal

errant geyser
#

Elara

dusky drum
#

well sending data to windows from sensors (temps, humidity....)

#

that data is gonna later be processed by program.

heady birch
#

Can do it in java

#

javax.comm

dusky drum
#

interesting, but i probably have to loook in which lang that program is coded ๐Ÿ™‚

#

i kinda need to make some sort of driver like for mouse and that stuff

#

so it works as soon as you plug it in

#

you would just select port in program

heady birch
#

Kotlin: Unknown JVM target version: 1.7
Supported versions: 1.6, 1.8, 9, 10, 11, 12, 13
Found them!

dusky drum
#

any ideas on how to make rainbow wave on text like the glow effect? just rainbow

heady birch
#

Like what?

dusky drum
#

so it scrols colors

heady birch
#

Just in rainbow?

dusky drum
#

wave but rainbow

#

yes

heady birch
#

Use kiteboard ๐Ÿ˜„

dusky drum
#

.,.

#

not on scoreboard

#

kinda want to expand your animations extension for HD

heady birch
#

Do you mean with 1.16 colours

dusky drum
#

yes

heady birch
#

I might make it into a library

dusky drum
#

pls ๐Ÿ˜‰

#

wrong emoji

#

๐Ÿ˜

heady birch
#

Soon

dusky drum
#

๐Ÿ™‚

#

gonna try to make rainbow wave somehow

heady birch
#

I am not sure how stable it is /likely to change

#

I dont like releasing stuff if its not finished 100%

dusky drum
#

lel

#

i mean i could kinda use hexUtils from nicole and just shift rainbow text by 1 for each frame i think

heady birch
#

๐Ÿ™„

dusky drum
#

?

#

for now while youre making that library.

heady birch
#

First I must focus on de-coupling it from the placeholder api

#

Also- its performance- is adequate- for the way its programmed, I don't like the way its programmed

dusky drum
#

then re-do it

#

:)=

#

ez solution XDD

heady birch
#

Yeah I brought it up ages ago, but haven't thought of a decent way to improve it yet

dusky drum
#

kinda making animations compatible with my new Holograms Plugin :9

#

i made placeholder registry pretty much the same as HD version but works different, just creating placeholders is the sameลพ

#

my ENGLISH!

heady birch
#

wow

#

much like holographic extension ๐Ÿ™„

#

๐Ÿ˜…

dusky drum
#

private use ๐Ÿ™‚

heady birch
#

No problem

dusky drum
heady birch
#

Nice

dusky drum
#

i kinda need to move it to right to no just left XD

heady birch
#

Yeah perhaps

dusky drum
#

ye maybe just reverese the frames ๐Ÿ™‚

#

gotta test that tommorow

prisma wave
#

you ever look at a project you have to modify, and just

#

sigh

heady birch
#

no

prisma wave
#

lucky

heady birch
#

you mean

#

built different

prisma wave
#

im trying to resist the urge to rewrite everything

onyx loom
#

do it

#

rewrite in elara ffs ๐Ÿ™„

mint crag
#

๐Ÿ˜ณ

prisma wave
#

bruh the "source code" doesn't even include plugin.yml

#

oh wait

#

it's not a plugin

#

nvm

onyx loom
#

๐Ÿ˜

ocean quartz
heady birch
#

Performance boosts

prisma wave
#

cant get excited about anything andrey puts out any more

ocean quartz
prisma wave
#

he probably intentionally adds bugs

#

Go version 1.2:

  • No performance boosts, already performs flawlessly
  • No new features, everything you need is already included
heady birch
#

lol

#

#dave #daveloper ๐Ÿคฆโ€โ™‚๏ธ

prisma wave
#

val regard = Dm me tnx ()

onyx loom
#

๐ŸŒ

prisma wave
#

actually

heady birch
#

tragic

prisma wave
#

that could compile i think

heady birch
#

no way

onyx loom
prisma wave
#

it works

onyx loom
#

disgusting

prisma wave
#

yes

#

but possible

heady birch
#

His programing skills

#

He should be the one teaching

prisma wave
ocean quartz
#

Same cryingblob

onyx loom
#

same

#

not

ocean quartz
#

I wonder what happened to him ๐Ÿ˜ฆ

#

@frail glade Did Sx unfriend you too?

onyx loom
#

omg he left kotlin memes discord ๐Ÿ˜ญ

ocean quartz
#

He left everything

onyx loom
#

๐Ÿ˜ญ

frail glade
#

He only added me back a few days ago to ask me what the questions were for the job interview.

#

Then I believe he removed me again.

onyx loom
#

wow

ocean quartz
#

Probably trying to leave anything mc related since he got kicked from paper so kinda no where else to go ๐Ÿ˜ฆ

frail glade
#

He got kicked from Paper?

ocean quartz
#

Yeah

onyx loom
#

it wouldnt surprise me

ocean quartz
onyx loom
#

โ˜น๏ธ

frail glade
#

He's not banned though.

ocean quartz
#

Yeah just kicked

regal gale
#

The rage tho...

steel heart
#

Here as well?

static zealot
lavish notch
#

@static zealot imagine not hooking your discord to intellij,

static zealot
#

its hooked

#

if you leave IIJ inactive it goes back to the default one

onyx loom
#

^ literally me

static zealot
#

oh same ^

#

xD

dawn hinge
#

For those who know JavaScript or Python, which between the two should i first go with? I want to get you guys opinion on this

steel heart
#

Python is more user friendly I would say

heady birch
#

C

#

Kotlin type safe enum for settings?

remote goblet
#

I started with javascript because it slightly helps if you're considering to branch out into Java

#

as you'll have a general understanding of if statements, variables

steel heart
#

I started with Skript

remote goblet
#

Die

steel heart
#

nou

remote goblet
#

okay

steel heart
ocean quartz
#

Cool kids start with C

steel heart
#

Did you?

heady birch
#

Started with Basic

old wyvern
#

VB

heady birch
#

Then java

#

Then PHP

#

Then Kotlin

#

Then C

ocean quartz
#

Yeah, started with C

heady birch
#

Then Rust

ocean quartz
#

On the IDE Geany dios

heady birch
#

Ada

#

missed python

#

Played with this for like 2 years

prisma wave
#

imagine not starting with java

onyx loom
#

imagine not starting with kotlin

prisma wave
#

in 2022 people will start with elara

#

bet

steel heart
#

and if not

prisma wave
#

there is no not

#

it will happen

steel heart
#

sounds promising

onyx loom
#

will

prisma wave
#

very promising

steel heart
#

how about generics

prisma wave
#

we already have printing support

#

print("hello")

steel heart
#

and reflection

prisma wave
#

elara good

#

generics exist

#

reflection is overrated

steel heart
#

pls

#

add reflexcettitionsss

prisma wave
#

we will eventually

#

and it will be the best reflection ever

#

but for now

#

no

#
let a = 3
print(a + 2)
``` works ๐Ÿ™‚
steel heart
#

so you have let, var and what more

prisma wave
#

no var

steel heart
#

oh

prisma wave
#

var is despicable

steel heart
#

y not

prisma wave
#

i hate var

#

you can do subtraction too

steel heart
#

powers as well?

prisma wave
#

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

#

maybe

#

that will probably be implemented as a function

onyx loom
#

let mut right?

steel heart
#

a = a**3
or a =** 3

prisma wave
#

mhm

onyx loom
#

call me an elara genius

prisma wave
#

elara genius

steel heart
#

but u have const ?

prisma wave
#

no

#

no need for const

steel heart
#

so static final let

prisma wave
#

what

steel heart
#

to make a constant

prisma wave
#

constants are just let

#

immutable

steel heart
#

oh

#

always public?

prisma wave
#

yes

steel heart
#

thats not nice

#

getters and setters for everything

prisma wave
#

elara is not object oriented

steel heart
#

wow

#

pls go away

#

what is it then?

#

another script language

prisma wave
#

mostly functional

#

but supporting imperative & object oriented features

steel heart
#

not only functional I hope

prisma wave
#

no

onyx loom
#

so static final let
@steel heart cursed

steel heart
#

yh good

prisma wave
#

it's not haskell 2

steel heart
#

you're very dangerous my friend

prisma wave
#

i will take that as a compliment

steel heart
#

frick

#

okay but like why should we use elera

prisma wave
#

why shouldn't you?

steel heart
#

cuz kotlin, obj-c or java

#

even skript

prisma wave
#

they dont have the features of elara

#

infix functions

#

contract based type system

steel heart
#

show me an example masterr

prisma wave
#

of what

steel heart
#

infix functions

#

and that contrast basic type system

prisma wave
#
list filter { a % 2 == 0 }
#

instead of list.filter({a % 2 == 0 })

steel heart
#

list of ints then?

prisma wave
#

yeah

steel heart
#

I mean thats pretty neat ngl

prisma wave
#

mhm

#

it's optional ofc

#

but clean

steel heart
#

contract based type system

#

^

#

whats this then

prisma wave
#
struct Person {
  String name
  mut Int age
}

struct Student {
  String name
  mut Int age
  Subject major
}

you could use Student in place of Person because they have the same contract

steel heart
#

hmm thats interesting

#

why would this be good ?

prisma wave
#

well this is where it gets really cool

#
<T { add(T) => Any }>
let add-2 = (T a, T b) => {
  return a add b
}
#

this will accept any type with a function add(T) => Any

#

like an interface on steriods

steel heart
#

okay thats pog

prisma wave
#

mhm

#

very cool

old wyvern
#

So guys, I was working on deobfuscating something

steel heart
#

it went well?

old wyvern
#

I have a case where the contents of a constructor is synchronized

#

I think it wouldnt be required, but just want to make sure

#

The instance shouldnt be available unless the constructor completes execution anyway right?

#

@prisma wave Any ideas?

prisma wave
#

yeah I don't think it would be possible

old wyvern
#

So I can safely remove the synch block right?

prisma wave
#

there's no way you could access fields from outside of the constructor before the constructor has finished

#

yeah

old wyvern
#

Lit

#

One class almost fully deobfuscated

heady birch
#

@prisma wave Typical, turning more like rust everyday. Almost like rust is the best language!

#

Add mutable types

#

let a: mut mut Int

#

a = 1.05

#

double

steel heart
#

mut immut let a: Int mut String

onyx loom
steel heart
#

have you watched?

onyx loom
#

yes

light venture
#

looks like thats a thing for tomorrow

steel heart
#

what would you give me if I finished it by today

onyx loom
#

my time or ur time

#

because my time is impossible fingerguns

steel heart
light venture
#

my time too

#

kalibear

onyx loom
#

hello

light venture
#

woot

#

hi qt

heady birch
light venture
#

^^^

#

Niall owns good domain

onyx loom
#

woah did u just call me qt? thats kinda sus are u impostor?

heady birch
#

Queue<T>

light venture
#

'-'

prisma wave
#

@heady birch no

light venture
#

Kalibear

#

i dont play among us

#

bad game

onyx loom
#

me neither

#

i agree

light venture
#

Murder Mystery is my life

#

on hypixel

heady birch
#

E for elephant

light venture
#

which ive been banned on for like 6 years

#

so

#

Niall

#

Lets address the elephant in the room

old wyvern
#

Add mutable types
@heady birch
ew

heady birch
#

๐Ÿ˜”

#
<T { add(T) => Any }>
let add-2 = (T a, T b) => {
  return a add b
}

@prisma wave

light venture
#

:c

onyx loom
#

PUSSY MF

old wyvern
#

Typical, turning more like rust everyday. Almost like rust is the best language!
@heady birch
How so?

#

๐ŸŽƒ

heady birch
#

Cant find the twitter post

#

Rust justis the best

old wyvern
#

No as in how is it turning more like rust?

heady birch
#

mut

old wyvern
#

That existed from the initial idea

onyx loom
#

@heady birch disgusting

#

so many things wrong with that image

heady birch
#

Only yext

onyx loom
heady birch
#

Maybe I will just leave that there? see how many downvotes it gets?

onyx loom
#

yes

#

itll be alot ๐ŸŒ

heady birch
#

Actually na

#

I will do something serious like kiteboard api

ocean quartz
prisma wave
#

tbf i got let mut from rust

#

but that doesn't mean rust is good

heady birch
#

like programming

#

that means

#

you inherit not good form rust

prisma wave
#

no

#

no inheritance

heady birch
#

do you have cool enum?

prisma wave
#

struct

steel heart
#

u have interfaces?

prisma wave
#

nope

#

no need

steel heart
#

u have null

#

?

prisma wave
#

nah

#

Result types

steel heart
#

woow

onyx loom
#

null is null

steel heart
#

shoe me dae wae

heady birch
#

Result types
@prisma wave

#

Good idea

#

What kind of syntax?

#

Also would be cool if you can make it compile to null

#

not like Scalas optional

steel heart
#

streams

prisma wave
#
type Result<T> = Some<T> | None

let result = some-op()

if result {
  result.value.blah()
} else {
  print "None"
}```
#

automatic truthy conversion

steel heart
#

niall nice documentation

#

I mean elera is nice and I will def try it if it can run in the jvm

prisma wave
#

it probably will be able to

heady birch
#

yeah i like that

steel heart
heady birch
#

Some<T> | None ๐Ÿ˜

distant sun
#

You have a weird definition of 'nice'

prisma wave
#

hot

#

wdym

#

it's very nice

heady birch
#

Typical object oriented programmers

steel heart
#

im gonna be the first one to publish a minecraft spigot elera plugin to spigot

prisma wave
#

wow

#

what an honour

steel heart
#

yup

#

just tell me release date

heady birch
#

Do you think it will be difficult?

#

To compile to byte code

prisma wave
#

hopefully not

#

definitely easier than LLVM

heady birch
#

Actually this is exciting

#

Rust like syntax with java

prisma wave
#

๐Ÿ‘€

onyx loom
#

๐Ÿ˜ณ

steel heart
#

i have stupid

distant sun
#

Niall why dont you relese the api to github so people can use jitpack?

steel heart
#

or upload it here ๐Ÿ˜„

heady birch
#

Third party maven repo

steel heart
heady birch
#

It going on maven central

prisma wave
steel heart
#

does it cost to upload to maven central

onyx loom
#

dont think so

prisma wave
#

nope

distant sun
#

Brain calls

onyx loom
#

u just need to be accepted

steel heart
#

so why does people upload to other stuff

prisma wave
#

except you have to sell your soul to "apache"

steel heart
#

lol

prisma wave
#

because it has to be verified

distant sun
#

^

prisma wave
#

which takes time

steel heart
#

so basically jitpack is better

prisma wave
#

and for throwaway projects another repo is easier

#

no

#

definitely not

#

jitpack bad

distant sun
#

Nah

steel heart
#

whats good then my lords

heady birch
#

except you have to sell your soul to "apache"
@prisma wave I wont have a problem with that

onyx loom
#

repositories {
mavenCentral()
}
ez

prisma wave
#

apache isn't real

steel heart
#

just making people download my api or what

#

alex can I use your repo stuff

#

or create my own?

prisma wave
#

uh

#

i'll make you an account for mine if you want

steel heart
#

oh thats kind

prisma wave
#

eh

#

pretty easy

#

email?

#

nexus wants one for some reason

#

you can dm if you want

winter iron
#

If my plugin has many different features with multiple commands, should i make a package for each feature and store commands in there or make a commands package with feature subpackages

steel heart
#

whatever feels best for you

frail glade
#

I typically will do a command package in general and then sub packages for each general feature.

ocean quartz
#

@prisma wave Curious question, what would be the difference between:

val isMessage: Boolean
   get() = MESSAGE_PLACEHOLDER in text

And:

val isMessage = MESSAGE_PLACEHOLDER in text
obtuse gale
#

With the custom getter doesn't it like run the method each time you access the variable, as opposed to just when the class has a new instance made? I might be wrong

ocean quartz
#

Thinking that too

surreal quarry
#

that would make the most sense

#

for example if it was reading data from something like an api or db it would always get the most recent

frail glade
#

Yeah I believe that is what it does.

hot heron
#

Anyone have any decent ideas for what I could do for my senior project?

#

I can't decide what I want to do

quiet depot
#

some details might help

#

such as what language

hot heron
#

So far what I'm thinking is creating some kind of database for some unorganized data and then making a rest API and web app to interact with it

quiet depot
#

what concepts you need to implement

hot heron
#

It's pretty open ended

#

I'm leaning more toward Java/node since that's what I'm most familiar with

#

Really the only requirements is that it should be around 120 hours for a mostly working product

#

and it's supposed to make me learn something new

distant sun
#

skript is something new ๐Ÿ‘€

quiet depot
#

what a shitty assignment lol

#

that honestly sucks

hot heron
#

It's not an assignment, it's the whole class ๐Ÿ˜›

quiet depot
#

so you're all working on the same thing together?

hot heron
#

It's solo

quiet depot
#

so you've been instructed to just "make something, and spend 120 hours on it"

#

just making sure I've got all the details

obtuse gale
#

make a scratch game

hot heron
#

Those are the only set in stone things

distant sun
#

how would you prove how long it took you to make it?

#

smth like wakatime?

hot heron
#

You turn in weekly reports

#

It's honor system

#

You come up with the SRS yourself and it's how your project is graded at the end

quiet depot
#

srs?

distant sun
#

URSS

hot heron
#

Basically the software requirements

#

the specifications

quiet depot
#

ah

#

So far what I'm thinking is creating some kind of database for some unorganized data and then making a rest API and web app to interact with it
this doesn't sound like it'd take 120 hours

#

more like an hour

hot heron
#

Well if you know what you're doing

obtuse gale
#

Implement Bukkit ๐Ÿ‘€

quiet depot
#

implement sponge

hot heron
#

I'd have to make the database, the rest api and the web app

#

All of which I've never really done/ haven't in a long time

distant sun
#

Well if you know what you're doing
well you said you want ideas for your senior thingo ๐Ÿคท

hot heron
#

yeah, I'm saying for me it wouldn't be an hour long ๐Ÿ˜›