#dev-general

1 messages ยท Page 285 of 1

ruby craterBOT
half harness
#

d;Object#toString

ruby craterBOT
#
public String toString()```
Description:

Returns a string representation of the object. In general, the toString method returns a string that "textually represents" this object. The result should be a concise but informative representation that is easy for a person to read. It is recommended that all subclasses override this method.

The toString method for class Object returns a string consisting of the name of the class of which the object is an instance, the at-sign character `@', and the unsigned hexadecimal representation of the hash code of the object. In other words, this method returns a string equal to the value of:

Returns:

a string representation of the object.

quiet depot
#

dkim object isn't part of spigot

half harness
#

right xD

dawn hinge
#

Clap

quiet depot
#

literally nothing

#

functionally

#

idk if it has some underlying optimizations

#

yes, if your default case is just a break

#

it's useless

half harness
#

what is default in java

quiet depot
#

again though, idk if having a default case has some underlying optimization

prisma wave
#

i.e else

old wyvern
#

Yea, the compiler adds that flow without being explicit about it

half harness
#

also I thought protected meant that u can access methods/fields in the same package, but it doesn't, what does protected do?

hot hull
#

?

quiet depot
#

there's a method called actualequals

half harness
#

but-

#

hM

#

okay

old wyvern
#

Yes?

half harness
#

maybe i was doing something weird

hot hull
#

What class we talking about rn

old wyvern
#

Package protected is different from protected

quiet depot
#

not sure

#

mysql related

#

but not sure which exactly

hot hull
#

๐Ÿคฆ

quiet depot
#

it'll be one of the classes you updated

#

probably a raw table class

old wyvern
#

Package protected is the default access modifier and has no keyword

#

That allows you to use in same package only

quiet depot
#

it's probably RawServer

hot hull
#

Indeed it is

vast pilot
#

Hello

#

Any bot coders here?

#

I was wondering if any exist here ;(

quiet depot
half harness
#

yes

quiet depot
#

and just ask your question

half harness
#

i make discord bots :))

quiet depot
#

don't ask if there's people to answer

vast pilot
#

Its not support, actually i need a deb

#

Dev*

quiet depot
half harness
#

wow piggy

vast pilot
#

That doesnt work,if free.

half harness
vast pilot
#

There's no one who codes for free in this world

#

Expect friens

half harness
#

yes there is

quiet depot
#

that's not true lol

vast pilot
#

๐Ÿฅบ

half harness
#

๐Ÿ˜” time to close source all my projects

vast pilot
#

They ask like 2k$ for a bot.

half harness
#

tF

quiet depot
#

back in the day when I was running a server, I found a developer pretty easily who coded for my server and didn't ask for a cent

#

it's not impossible

#

they literally joined through a server list

hot hull
#

I do that :sad:

#

Cause I'm noice

vast pilot
#

Can i discuss what the bot has to do here?

half harness
#

๐Ÿคท

compact perchBOT
#
Hey, I'm Barry!

I'm a unique Discord bot created especially for HelpChat.

Authors:

I was created and I'm maintained by @pallid gale with support from the Admin team.

Code base:

I'm created in Javascript using Discord.JS

Source code:

At this stage I'm closed source due being a mess and some secret internals. However you can contribute to my links/version knowledge here.

half harness
#

oh

vast pilot
#

My bot which i want to commit...

half harness
#

๐Ÿ˜”

#

Dark But Cool has left the chat

surreal quarry
#

i just got here but there are 100% people who code for free lol

half harness
#

^

hot hull
#

No James, where's my money, you owe me 1k

vast pilot
#

I didnt,i am writing it

half harness
#

ppl who has for $2k is scammm

surreal quarry
#

true

hot hull
#

No dkim lol

half harness
#

for

#

unless

surreal quarry
#

most people who write mc plugins aren't worth that much lmfao

half harness
#

i know

#

but

hot hull
#

There must've been a good reason why the dude asked that much lmao

half harness
#

usually

#

๐Ÿ‘€ true

hot hull
#

Unless the dude was just a complete idiot or was memeing cause he didn't want to do it

half harness
#

what if it's like:
I want all these bot's features:

#

oops

#

i meant to make newline

#

not send message

surreal quarry
#

shift enter

half harness
#

a
b
c

vast pilot
#

Basically its simple invite counter for a server.
Twist:Need to also count plasma old counts for my member as i used that earlier but its being dead nowadays.

surreal quarry
#

LOL

half harness
#

that's not worth $2k

surreal quarry
#

2k for an invite counter

half harness
#

that's worth $0, no doubt

surreal quarry
#

thats worth maybe $3

#

at most

half harness
#

or that

#

$2.01

hot hull
#

Y'all are just dumb

surreal quarry
#

looks like it

vast pilot
#

:0

#

How will you take plasma data?

surreal quarry
#

thats not for a discord bot lmao

hot hull
#

Making and testing that would take let's say 30-45min (realistically), so an appropriate price for it would be 5-7.5$ ~

surreal quarry
vast pilot
#

๐Ÿคฃ mb

hot hull
#

Increases as you add more bullshit tho

quiet depot
#

$5 you say?

#

op must be paying with Kazakhstani Tenge for it to be $2k

vast pilot
#

๐Ÿ‘€

#

Alright I will invest on this

#

Paid ๐Ÿ’ธ

prisma wave
#

yes

vast pilot
#

I hope someone takes it

prisma wave
#

kind of

#

actually very yes

#

it's stateless

quiet depot
#

i love the inconsistency in the naming though

#

like you're half way there with the british spelling of colour

#

then you go and stick a 'z' in there

#

and i'm like lol

surreal quarry
#

lmao

quiet depot
#

ew task timers

regal gale
#

You really like timer so much, didn't you ๐Ÿ‘€

prisma wave
surreal quarry
#

should i use paperlib or just tell someone not using paper to go die

quiet depot
#

bm ur just as bad with your "Initializable"

prisma wave
#

๐Ÿ˜ฆ

regal gale
#

How do you guys spell the z lol

quiet depot
#

s

surreal quarry
#

zee

#

usually

oak coyote
#

@obtuse gale why did you use a switch for that?

quiet depot
#

oh you mean pronounce

prisma wave
#

zed

quiet depot
#

yeah usually zee

oak coyote
#

I see no point in that switch

surreal quarry
#

zeex with a silent x if im feeling quirky

half harness
#

zeeee

prisma wave
#

๐Ÿ‘€

regal gale
#

In british, they say "zed" more often

charred torrent
#

Just do 1 line and make the value timer

quiet depot
#

zephe with a silent ph

old wyvern
#

zed

#

zee

prisma wave
surreal quarry
#

pzee with a silent p

regal gale
#

Lmao

#

Why

quiet depot
#

if I'm referring to the letter itself I'm pretty mixed on zed/zee

prisma wave
#

because it's "zed"

old wyvern
#

qrqetqtqetzeegqeg
with a silent qrqetqtqet and gqeg

vast pilot
#

Is that invite counter in java or py?

prisma wave
#

or that's what british english uses anyway

quiet depot
#

what invite counter dark?

vast pilot
#

Inused plasma before

surreal quarry
#

wot

#

is plasma

prisma wave
#

^

vast pilot
#

So it counted old invites

old wyvern
#

1$+ Free minecraft server hosting (2gb,amd epyc cpu)The what

prisma wave
#

kde plasma :))

vast pilot
#

A bot

old wyvern
#

xD

vast pilot
#

Its a famous bot

charred torrent
#

Hmm ow

vast pilot
#

Which is being dead now

oak coyote
#

How can it have a price but also be free

regal gale
#

's :)

charred torrent
#

Do we get the bots db

quiet depot
#

not as famous as @ruby crater

half harness
#

we can't get the data from it afaik

old wyvern
half harness
#

unless u manually input

vast pilot
#

Dunno

#

Its 2k server

charred torrent
#

@vast pilot explain how you get the database

vast pilot
#

๐Ÿ‘€

quiet depot
#

d;info

ruby craterBOT
#
DocDex | Info

Website | Github | Invite

DocDex (Documentation Index) is a bot developed using JDA and Java 11, which can display information on javadoc objects, from a fuzzy query.

Servers

17 (34,447 Users)

Javadocs

93 (Default: jdk)

half harness
#

๐Ÿ‘€

quiet depot
#

docdex is in 17 servers

vast pilot
#

Need to contact plasma then

prisma wave
#

lol

half harness
#

uhh

old wyvern
quiet depot
#

plasma can't compete

old wyvern
#

No?

#

Then it sucks

vast pilot
#

It does

#

I hope so

old wyvern
#

o.o

vast pilot
#

Give me a moment

half harness
#

o.o

prisma wave
#

does docdex have a join count though

#

i dont think so

hot hull
#

Piggy, go test my shit

charred torrent
#

What

old wyvern
#

xD

quiet depot
#

u test it frosty

#

wym bm

#

like total joins incl leaves

hot hull
#

I don't know how Piggy, I'm dumb

prisma wave
#

idk

quiet depot
#

cuz it kinda does

prisma wave
#

adding role when reach certain invites unlike other invite counter bot.
I bet docdex cant do this i mean

quiet depot
#

I don't remove server data from the db if they remove it

#

so i can just count the rows

vast pilot
quiet depot
#

there's 19 rows, which is one legitimate leave (other leave was my test server)

charred torrent
#

I aint gonna manually add peoples stuff to a db

#

I would have to selfbot

regal gale
#

I wouldn't trust a bot with "Adminstrator" perm by default...

quiet depot
#

@hot hull what r u confused about

#

do u have mysql?

vast pilot
#

Big brain

old wyvern
#

no

#

coz sound is spatial

forest pecan
#

^^

half harness
#

@vast pilot we can't get plasma's logs

forest pecan
#

you can make it play to the left

#

or right of you

#

and it plays based on the location

charred torrent
#

Yeah so uh

forest pecan
#

for example for headphones

#

there is a left and right

old wyvern
#

No

forest pecan
#

no no

vast pilot
#

So manual eh?

forest pecan
#

have you ever heard of 8D audio?

half harness
#

yes

old wyvern
#

Only the player to whom you play hears it

forest pecan
#

or those songs?

quiet depot
#

8d audio is trash

old wyvern
#

xD

vast pilot
#

Uhmm faster process doing that?

forest pecan
#

yea its basically that but its based on location but the player can only hear it

#

yeah 8d shit

old wyvern
#

8d audio makes no sense

forest pecan
#

lmao

half harness
quiet depot
#

i don't get how people like songs that literally just go around your head

#

so stupid

old wyvern
#

xD

forest pecan
#

lmao

regal gale
#

Lol

charred torrent
#

@vast pilot self bot if you wanna be terminated

half harness
#

๐Ÿ‘€

quiet depot
#

i bet the only people that like that shit are the people with sound setups that play from a single spot

forest pecan
#

๐Ÿคฎ

#

i find also that developing responsive sites is a fuckmess for me

#

lmao

old wyvern
#
 would this detect the player death event?

no?

quiet depot
#

it's a clusterfuck for everyone

#

no one likes frontend web dev

old wyvern
#

css ๐Ÿ™‚

forest pecan
#

i literally like

#

what the fuc

#

i hate it lmao

quiet depot
#

yeah everyone hates it

#

literally everyone

#

but it pays well

forest pecan
#

its like normal when you look at it. then you pray they wont drag the window to the left

#

lol

old wyvern
#

and?

quiet depot
#

pulse

old wyvern
#

yes

quiet depot
#

try it (drag the top purple header)

old wyvern
#

huh?

#

detects what?

#

oh

#

yes

forest pecan
#

do you use bootstrap?

quiet depot
#

yeah

#

that dragging thing isn't a bootstrap feature btw

#

just a little bit of js

quiet depot
#

oof

#

fully responsive too :>

#

go into mobile mode

forest pecan
#

Nice

#

final on the events?

#

idk

regal gale
#

Lol

forest pecan
#

lol

quiet depot
#

d;logger#severe

ruby craterBOT
#
public void severe(Stringย msg)```
Description:

Log a SEVERE message.

If the logger is currently enabled for the SEVERE message level then the given message is forwarded to all the registered output Handler objects.

Parameters:

msg - The string message (or a key in the message catalog)

quiet depot
#

or if you mean an exception

#

d;logger#log(throwable)

ruby craterBOT
#
public void log(Levelย level, Throwableย thrown, Supplierย msgSupplier)```
Description:

Log a lazily constructed message, with associated Throwable information.

If the logger is currently enabled for the given message level then the message is constructed by invoking the provided supplier function. The message and the given Throwable are then stored in a LogRecord which is forwarded to all registered output handlers.

Note that the thrown argument is stored in the LogRecord thrown property, rather than the LogRecord parameters property. Thus it is processed specially by output Formatters and is not treated as a formatting parameter to the LogRecord message property.

Parameters:

msgSupplier - A function, which when called, produces the desired log message
level - One of the message level identifiers, e.g., SEVERE
thrown - Throwable associated with log message.

prisma wave
#
[BlockBreakEvent, BlockPlaceEvent, EntityDamageEvent, CreatureSpawnEvent]
  .forEach(event => listen(event, Cancellable::setCancelled))
old wyvern
#

๐Ÿ˜Œ

prisma wave
#

Thoughts on the type bindings?

#

Eg every type has a variable with its name that returns Class<T> or whatever the elara analogy is

old wyvern
#

Sure

prisma wave
#

lol

#

ikr

#

very concise

stuck harbor
#

:)) very nice

#

mmmm yes

quiet depot
#

k

#

docdex searching is 53x faster

#

flex

#

from ~1500ms to 28ms

dawn hinge
#

Damn nice fingerguns

stuck harbor
ruby craterBOT
#
void setSprinting(boolean sprinting)```
Description:

Sets whether the player is sprinting or not.

Parameters:

sprinting - true if the player should be sprinting

quiet depot
#

you won't notice it yet efe

#

prod doesn't even use byte strings yet

steel heart
quiet depot
#

@obtuse gale :>

#

this shit is speedy gonzales

steel heart
#

d;spigot

weary epoch
#

@prisma wave tutorial whenโ„ข๏ธ

half harness
#

i think he abandoned it

prisma wave
#

No

#

Not abandoned

#

Just trying to find motivation + suitable time

#

I've got commissions and schoolwork that take up most of the time, plus 2-3 other side projects + time where I cba to work

surreal quarry
#

damn piggy

#

good shit

#

just by switching from strings to byte[]

quiet depot
#

nah

#

that's not responsible for the 53x

#

that's todo with memory usage

surreal quarry
#

ah ok

quiet depot
#

the 53x has two factors

#

a highly optimized jaro winkler algorithm which originally lowered the 1500ms to ~600ms

#

and then caching

#

due to a stupid fucking oversight from me

#

it was calculating the distance of the same two objects multiple times

surreal quarry
#

oh nice

quiet depot
#

basically instead of the ~100k calculations it should've been doing (for the jdk, other javadocs are WAY lower)

#

it was doing 2.7 mil

surreal quarry
#

i guess that would make things run a bit slower lmao

quiet depot
#

d;httpclientbuilder#setauthenticator

ruby craterBOT
#
HttpClient.Builder authenticator(Authenticatorย authenticator)```
Description:

Sets an authenticator to use for HTTP authentication.

Parameters:

authenticator - the Authenticator

Returns:

this builder

quiet depot
#

oof that's so much faster

surreal quarry
#

speed

prisma wave
#

kinda crazy how much you can save just from caching

surreal quarry
#

thats very noticeably faster

ocean quartz
quiet depot
#

that's kinda eh atm

#

it's only on paginated messages

#

and it doesn't delete the original command

#

got a bit of work to do on it

surreal quarry
#

i think its fine if the original command stays

quiet depot
#

it's not, because then people will think the bot is broken

ocean quartz
#

Yeah

surreal quarry
#

true i guess

weary epoch
#

@prisma wave guess i gotta watch a tutorial from a guy that uses eclipse, capitalizes packages, names their main class Main, and uses static for everything

quiet depot
#

or just don't watch a tutorial

weary epoch
#

what do i use then

#

wiki's and stuff are pretty confusing

half harness
#

they don't spoonfeed you ๐Ÿ˜›

#

hopefully

weary epoch
#

plus idk where to find a wiki

prisma wave
#

?learn-java

compact perchBOT
#
FAQ Answer:

Start with this -
https://docs.oracle.com/javase/tutorial/java/concepts/index.html
Breeze through this skipping stuff that doesn't seem relevant like bitwise operators-
https://docs.oracle.com/javase/tutorial/java/nutsandbolts/index.html
and then hit this
https://docs.oracle.com/javase/tutorial/java/javaOO/index.html

They're the first three from this larger thing - https://docs.oracle.com/javase/tutorial/java/index.html
Which you should definitely go through overall. But those three should be enough for slightly better understanding of wtf is happening here without feeling like a huge time sink
That one is a small part of this larger site - https://docs.oracle.com/javase/tutorial/index.html
wherein "Essential Java Classes" and "Collections" also have good useful stuff

weary epoch
prisma wave
#

Exactly

#

You learn Java then read the docs / wiki

weary epoch
#

takes too long

prisma wave
#

I mean

#

My tutorial is gonna do that so

#

It wouldn't help you anyway lol

weary epoch
#

still

half harness
#

||spoonfed*||

half harness
#

lol im just reading my first messages in this server ๐Ÿคฎ

surreal quarry
#

all of my old messages are questions about dchat lmao

half harness
#

mine are the world's weirdest questions

surreal quarry
lunar cypress
#

I don't even remember why I came here

surreal quarry
#

back when i was learning java and the spigot api at the same time fingerguns

half harness
#

I came here after searching for a support discord for 30 minutes ๐Ÿ˜›

half harness
#

this was the only invite link that worked

prisma wave
#

i remember when you joined johnny

#

you and sxtanna would just argue all the time

#

that was fun

steel heart
#

sxt and johnny, would have been a great couple

surreal quarry
#

i remember getting bullied by sx when i first starting asking questions about development

#

good times

prisma wave
#

he did that for everyone

surreal quarry
#

yea ik

steel heart
#

always thought it was a girl until the very last week

surreal quarry
#

xD

prisma wave
#

lol?

#

he had his face in his pfp for a while lol

surreal quarry
#

lmfao

steel heart
#

yeah who knows

ocean quartz
#

Getting bullied by sx was one of the best parts of my day ๐Ÿ˜ญ

prisma wave
#

ikr

lunar cypress
quiet depot
#

I seem to remember an overwhelming amount of complaints regarding his behaviour

surreal quarry
#

lol

prisma wave
#

yeah lmfao

#

didn't you adjust the rules because of him?

quiet depot
#

yes

surreal quarry
#

only pussies complain smh my head

prisma wave
#

Donโ€™t make comments seen as โ€˜Toxicโ€™, โ€˜Put downsโ€™, or anything with potential similarity.
you added this right

quiet depot
#

probably

#

I can't remember

ocean quartz
#

Ah good times

lunar cypress
#

This was an absolute shithole when dev-general didn't exist let's be real

surreal quarry
#

i dont even remember that

#

damn

quiet depot
#

can't believe cube didn't let me make this channel for ages

surreal quarry
#

i probably wasn't here

prisma wave
#

wow dev-general is close to a year old

#

just under 10 months old

ocean quartz
#

Damn, it's been that long

surreal quarry
#

damn was made right around the time i started learning java

ocean quartz
surreal quarry
#

l;mfao

prisma wave
#

that was good

half harness
#

๐Ÿ˜ญ

steel heart
#

dkim u need support?

#

learn kotlin fingerguns

surreal quarry
#

learn kotlin fingerguns

ocean quartz
#

Not a bad suggestion ^

surreal quarry
#

it would probably solve your issues

ocean quartz
#

I wanna try Kotlin react, but stuck on a commission ๐Ÿ˜ญ

surreal quarry
#

i wanna try it too

#

but i dont wanna rewrite my website a 5th time with a different framework lol

#

i need ideas

ocean quartz
#

Watched a conference today about it and seemed so much nicer than js

steel heart
#

mattttttttttttttttttttttt

ocean quartz
#

Yes?

steel heart
#

ok nvm

ocean quartz
#

.-.

half harness
#

lmao

#

is C# easy to learn

ocean quartz
#

Pretty similar to Java

oak raft
#

if u know Java it shouldn't be too hard

half harness
#

do i know java

steel heart
#

C# is like Java but more feature rich

#

and ugly naming conventions

#

GetServer

#

ie

surreal quarry
ocean quartz
#

Very hot

surreal quarry
#

i might try and make a web panel for a plugin im working on

#

might use it for that lol

stuck harbor
#

sadge

forest pecan
#
    private void checkJavaVersion() {
        String[] javaVersionElements = System.getProperty("java.version").split("\\.");
        int major = Integer.parseInt(javaVersionElements[1]);
        if (major < 6) {
            System.exit(0);
        }
        if (major < 8) {
            Logger.warn("You on drugs?");
        }
        if (major < 11) {
            Logger.warn("Update Java Bitch");
        }
    }
#

thank you for coming to my ted talk

#

updated for all of my plugins

hot hull
#

Not enough detail provided within the messages

forest pecan
#

lmao

prisma wave
#

if major != 16 {

#

exit(9);

#

}

forest pecan
#

lmao

obtuse gale
#

Exactly 16

#

I love it

prisma wave
#

yes

#

only 16 allowed

half harness
#

no 17?

forest pecan
#

๐Ÿ‘โ€๐Ÿ—จ

prisma wave
hot hull
#

@forest pecan Where's the fucking final tho

forest pecan
#

Fuck

hot hull
#

Absolutely disgusting

forest pecan
#
    private void checkJavaVersion() {
        final String[] javaVersionElements = System.getProperty("java.version").split("\\.");
        final int major = Integer.parseInt(javaVersionElements[1]);
        if (major < 6) {
            System.exit(0);
        }
        if (major < 8) {
            Logger.warn("You on drugs?");
            Logger.warn("You are an animal");
            Logger.warn("Suck my fat dick");
            Logger.warn("Subhuman");
            Logger.warn("Absolutely Disgusting");
            Logger.warn("Go die in a hole you bastard");
        }
        if (major < 11) {
            Logger.warn("Update Java Bitch");
        }
half harness
#
    private final void checkJavaVersion() {
        final String[] javaVersionElements = System.getProperty("java.version").split("\\.");
        final int major = Integer.parseInt(javaVersionElements[1]);
        if (major < 6) {
            System.exit(0);
        }
        if (major < 8) {
            Logger.warn("You on drugs?");
            Logger.warn("You are an animal");
            Logger.warn("Suck my fat dick");
            Logger.warn("Subhuman");
            Logger.warn("Absolutely Disgusting");
            Logger.warn("Go die in a hole you bastard");
        }
        if (major < 11) {
            Logger.warn("Update Java Bitch");
        }
forest pecan
#

making a private method final is useless

#

lol

#

you cant override it the first place

#

as it is already private to its own class

#

overachiever

old wyvern
#
import elara/nag
let majorVersion => javaVersion.getMajor()
match majorVersion {
 _ < 6 => exit(0)
 _ < 8 => nag()
 _ < 11 => log(warn, "Update Java Bitch")
}
#

๐Ÿฅฒ

obtuse gale
#

And where do I download this Java Bitch Edition?

forest pecan
old wyvern
#

YES!

obtuse gale
#

Lol

old wyvern
#

wait

#

yes to the first part

#

Its too fast for you

#

The course is already over

#

You know elara now

#

๐Ÿ˜Œ

#

Ask your inner self

#

Elara lies within your soul

#

Unleash it

#

Alternatively, you could go check the examples

#

Yes

#

yes

#

Functions

#

Attempt

#

Yes

#

What type of function is that?

#

๐Ÿ˜Œ

#

PURE

#

xD

#

Contracts

#

Type contracts

#

generics on crack

#T where T.toString() => String
let print(T t) => {
    // here now t has all the mentioned contracts, as in, in this case- you can use toString()

    std.out.write(t.toString() + '\n')
}
obtuse gale
#

Lol

old wyvern
#

๐Ÿ˜ฎ

#

Bully

hot hull
obtuse gale
ocean quartz
#

You're digging lol

forest pecan
#

after adding final to every place I could, my jar size increased by 15 kilobytes

#

i feel proud

prisma wave
#

lol

prisma wave
#

yes

#

yo

forest pecan
#

yo

#

im illiterate

stuck harbor
#

very oof

#

that's good

#

slep good

forest pecan
#

i opened a corn chip bag i brought from the garage and it was snowing outside

#

and when i stuck my hand inside it

#

my hand started shivering

prisma wave
#

wtf

forest pecan
#

lmao whats wrong

#

xD

prisma wave
#

just weird lol

half harness
steel heart
#

!?

prisma wave
#

lambda calculus mitten

lunar cypress
#

I haven't seen the parentheses before, what do they do?

prisma wave
#

idk

#

it's probably wrong

#

is that better?

#

like

#

an invocation

lunar cypress
#

you should probably add a space between b and m then

prisma wave
#

ok

#

how's that

static zealot
#

with gradle was it ${project.version} to get the version from build.gradle to the resources folder?

steel heart
#

if u use processResources expand yes

static zealot
#

as much as DocDex is useful it sometimes can be so bad. people just spam it and questions get lost before they're even sent xD

steel heart
#

true

surreal quarry
#

lol

steel heart
#

should add permission based system

#

where x roles can use the reactions regardless

#
processResources {
    doFirst {
        file("${buildDir}/resources/main").listFiles().each {
            delete it
        }
    }

    def name = shadowJar.archiveBaseName.get()
    expand "pluginVersion": version,
            "pluginMain": "${rootProject.group}.${name.toLowerCase()}.${name}Plugin",
            "pluginName": name
}

static zealot
#

I asked this in #development before asking here and literally 3 docdex messages were sent right after I sent the message

#

xD

steel heart
#

this is what I use blitz

static zealot
#

and no I don't use processResource

steel heart
#

replacetokens?

static zealot
steel heart
#

you have to do something under processResources dodo

#

either use replace tokens or just expand, filter and from

static zealot
#

why is gradle like this? ๐Ÿ˜ฆ why does it need to have 100 pages of documentation.

steel heart
#

its nice

#

"enterprise"

static zealot
#

it might be but I'm to lazy for all those pages.

steel heart
#

just ctrl f

#

?

static zealot
#

like I give up when I see the size alone xD

steel heart
#

lol

ocean quartz
static zealot
#

I did rn

#

old project

ocean quartz
#

Also you don't need java

static zealot
#

this project is this old: compileOnly "org.spigotmc:spigot-api:+" xD

#

I used to use +

surreal quarry
#

lol

#

use paper

steel heart
#

btw

#

kotlins dsl

#

op

#

@prisma wave right?

surreal quarry
#

for gradle

static zealot
#

james its old project. I use paper nowadays

prisma wave
ocean quartz
#

Yuck

steel heart
#

yes

surreal quarry
#

it looks gross

ocean quartz
#

Kotlin gradle sucks

steel heart
#

noob

#

its superior

#

gonna convert all projects now

onyx loom
#

ewwww

steel heart
onyx loom
#

no YOU are the paid actor

regal gale
#

JSExp 1.7 is finally done, woo

steel heart
distant sun
#

Sooooo

#

If I want to edit essentials but stay up to date with their changes, what should I do?

hallow crane
#

Update your upstream fork

prisma wave
hallow crane
#

lol

distant sun
surreal quarry
#

can't you write patches

#

like paper does to spigot

hallow crane
distant sun
#

Yea I thought about using patches

hallow crane
#

you thought

#

then what

#

you canceled your thought

distant sun
#

Smh

hallow crane
#

thought.schedule().accept((do)->{do.cancel()});

distant sun
#

At some point imma just make my own version of essentials

hallow crane
#

Imo essentials is poorly written

distant sun
#

Indeed

#

But it is popular and does its job

hallow crane
#

The project structure and data pattern used is too heavily based on configuration files and it's sloppy + spaghetti code

#

All of the features are too far integrated into the config system making it difficult for developers to understand how to implement new features

distant sun
#

Plus most of the people that use it dont care about the code but the size of the project itself

hallow crane
#

True, there would be a massive positive effect on the size

surreal quarry
#

use pdm

#

small project

steel heart
#

Essentials is good :/

distant sun
#

not the actual size

hallow crane
#

You could merge all of the projects into one with modules and still have it be the same size of the main Essentials project

#

No just how much stuff

distant sun
#

Like, eseentials has been around for years and people just think it is good

hallow crane
#

oh i thought u meant features

steel heart
#

Itโ€™s maintained by a group of knowledgeable people, at least EssX

distant sun
#

๐Ÿคท

hallow crane
#
  • maintained โ„ข๏ธ see store for details
#

not created

distant sun
#

Could be far better if they worked on actual features rather than useless shit like "beezooka"

hallow crane
#

kittycanno

#

n

steel heart
#

Thatโ€™s the good stuff

#

(:

hallow crane
#

nuke

steel heart
#

Itโ€™s the kittycannon that made me not buy cmi

surreal quarry
#

CMI is so dogshit

steel heart
surreal quarry
#

i hate that plugin

distant sun
#

Im tempted to try make my own essentials xd

steel heart
#

Gaby team?

hallow crane
#

I saw the CMI source

surreal quarry
#

moducore

hallow crane
#

It's horrendous

surreal quarry
#

join me

#

to take down CMI and essentials

hallow crane
#

@surreal quarry I will contribute to moducore

steel heart
#

Yeah

hallow crane
#

send source

onyx loom
distant sun
#

For personal usage conclure

steel heart
#

Fuck

distant sun
#

Haha no kali xd

steel heart
onyx loom
#

โ˜น๏ธ

steel heart
#

Add me jaims

#

I can do some contributions

distant sun
#

jaims

surreal quarry
#

just fork it and pr if you wanna add stuff lol

steel heart
#

Although in java but

hallow crane
#

god damn kotlin

steel heart
#

Interop yk

hallow crane
#

make java

#

I don't know kotlin

surreal quarry
#

kotlin good

steel heart
#

Theyโ€™re interoparable

surreal quarry
#

interop tho

hallow crane
#

yes I know

distant sun
#

Wait since when is your name Jaims lol?

hallow crane
#

but I dont know kotlin

steel heart
#

Nor me

surreal quarry
#

i've just always had a nick in here lol

distant sun
#

Lol

surreal quarry
#

ever since i boosted

steel heart
#

yako maybe go out from your comfort zone fingerguns

distant sun
#

I thought it is James

surreal quarry
#

yea thats my real name

hallow crane
#

@steel heart can u do kotlin in intellij

surreal quarry
#

but online its always jaims or jaimss

#

yes yako

hallow crane
#

teach me

steel heart
#

Yes

#

Well

hallow crane
#

ok cool

#

when do we start

steel heart
#

Tmrw

surreal quarry
#
fun main() { println("Hello World") }```
hallow crane
#

why is println built in

#

without System

prisma wave
#

because kotlin has top level functions

hallow crane
#

are there modifiers

prisma wave
#

i.e functions that arent part of a class

#

yes

hallow crane
#

like private

#

static

prisma wave
#

no static

surreal quarry
#

not static

hallow crane
#

what is static

#

then

surreal quarry
#

you can get similar with companion objects

half harness
prisma wave
#

yeah companion objects are the closest analogy

#

but top level variables are usually more idiomatic

hallow crane
#

static is a pretty useful and....popular feature

#

but top level variables sound bad

#

like singleton abuse

prisma wave
#

not really

surreal quarry
#
class Blah {
    companion object {
        val STATIC_VARIABLE = "blah"
    }
}
Blah.STATIC_VARIABLE```
prisma wave
#

they're not bad

surreal quarry
#

and nah they are great

#

extensions are lovely too

hallow crane
#

should I use companion instead of TLVs

surreal quarry
#

first class functions (i think they're called)

prisma wave
#

depends on the context

prisma wave
hallow crane
#

jesus there ctx n ow?

#

I already learned java

#

ok gimme a couple of years and ill get the hang of it

ocean quartz
#

Kotlin functional > Kotlin OOP

prisma wave
#

^

hallow crane
#

But...OOP is JVM

prisma wave
#

lol

surreal quarry
hallow crane
#

JVM is for OOP

prisma wave
#

lol

hallow crane
#

JVM not for functional

prisma wave
#

lol

hallow crane
#

functional not for JVM

#

functional not good

prisma wave
#

lol

steel heart
#

Wat

hallow crane
#

functional = noob python

ocean quartz
#

If JVM is OOP, then explain Clojure

onyx loom
#

lol

prisma wave
#

are u joking

#

exactly

surreal quarry
#

bm boutta get himself muted again

onyx loom
#

scala too ig

steel heart
#

We need to teach this dude a lesson

prisma wave
#

Scala and Clojure are FP on the JVM

onyx loom
#

i think thats a bit more functional than kotlin

hallow crane
#

sorry what

distant sun
hallow crane
#

what are we talking about

steel heart
#

Yako functional is awesome

hallow crane
#

im not following

#

who is getting banned

steel heart
#

Even java strives for a more functional approach

#

Like streams for instance

hallow crane
#

then why does my cs 1010 teacher yell at people for using functional concepts

prisma wave
#

because theyre an idiot

steel heart
#

Well imperative is beneficial

onyx loom
#

๐Ÿ˜‚

surreal quarry
steel heart
#

But functional can be very nice

ocean quartz
#

Functional is the future

prisma wave
#

lol

steel heart
#

Imperative -> mutations -> side effects -> gay bugs

prisma wave
#

๐Ÿคจ

#

i mean

steel heart
#

Functional -> declarative -> epic

hallow crane
#

they have a doctorate in cs

prisma wave
#

if u wanna do functional there are probably better languages than kotlin

steel heart
#

kotlin is good because it allows both imperative and functional

hallow crane
#

okay so basically what you are saying is that it's acceptable and encouraged to use OOP in kotlin?

steel heart
ocean quartz
#

Like Elara

prisma wave
#

Kotlin is multiparadigm

hallow crane
#

Okay great! OOP it is

prisma wave
#

any paradigm is encouraged

steel heart
#

OOP is good but not perfect

prisma wave
#

but it's a lot easier to mix the two in Kotlin

hallow crane
#

I must say, OOP really does a good job at abstracting concepts

steel heart
#

A good OOP design can be very hard to create like an actual good architecture

hallow crane
#

I've mastered that

#

Moving on...

steel heart
#

No

#

Lombok

#

= no

hallow crane
#

what???

#

I don't use lombok

steel heart
#

I saw it

#

You sure?

hallow crane
#

check again

prisma wave
#

I think most people here would define functional as just "first class functions and map filter etc"

steel heart
#

You mentioned static was good

hallow crane
#

I used it in 2017

steel heart
#

Also sus

hallow crane
#

Static is good in the right context

#

utilities

prisma wave
#

kotlin uses top levels for that

hallow crane
#

based on input, no external things

steel heart
#

Shouldnโ€™t be called static tbf if itโ€™s utilities

hallow crane
#

No it should

steel heart
#

Public util c()

hallow crane
#

static isnt just utilites

steel heart
#

Much better

hallow crane
#

ok imma make my first minecraft plugin

#

in kotlin

#

rn

onyx loom
#

pog

prisma wave
#

c'est facile

hallow crane
#

pdm?

steel heart
#

Static is bad 99% of the times

prisma wave
#

absolutely

hallow crane
#

how do do pdm in kotlin

prisma wave
#

pdm was made for kotlin

#

exactly the same way

#

although

hallow crane
#

ok sick

prisma wave
#

you have to be careful

#

sometimes

#

id recommend you check the kotlin example

#

cuz kotlin's codegen sometimes messes stuff up

hallow crane
#

what do I do for the gruopId

prisma wave
#

for reasons that might become obvious

ocean quartz
#

Wouldn't recommend pdming Kotlin directly though

prisma wave
#

why not D:

steel heart
#

Pdm lol

hallow crane
#

do I do com.<myname>.project or save project for artifactid

prisma wave
#

since when has gradle had artifactId?

hallow crane
#

Minecraft plugin generator

prisma wave
#

oh

ocean quartz
#

Because it can call STD specific things on enable, before PDM has acted, since the main class will need to load

prisma wave
#

project then

steel heart
#

Minecraft plugin generator

hallow crane
#

oh nvm

surreal quarry
#

matt it works fine as long as the intrinsics stuff doesn't happen before you call loadAllDependencies

steel heart
#

If that does what I think

hallow crane
#

no kotlin suport

prisma wave
prisma wave
steel heart
#

Bad

prisma wave
#

adding kotlin is literally 1 line

hallow crane
#

wait is there a kotlin jdk

#

or just regular

prisma wave
#

no?

ocean quartz
#

Sounds too ass, just shade Kotlin and pdm the rest

prisma wave
#

it compiles to the same stuff

surreal quarry
#

you add the kotlin std lib

steel heart
#

Kotlin jdk lmao

hallow crane
#

yeah ik

#

same buytecode

steel heart
#

Kotlin sdk is a thing tho

prisma wave
#

kotlin has its own stdlib, yes

surreal quarry
#

Matt its like 1 line

prisma wave
#

which u have to shade or pdm

surreal quarry
#

its worth it to pdm kotlin

prisma wave
#

i mean

#

just make your main class in java and write everything else in kotlin

#

seems like the easiest way

ocean quartz
#

Disgusting

steel heart
prisma wave
#

๐Ÿ™„

onyx loom
#

just get a plugin thats shaded kotlin and plop it in the server alongside ur kotlin plugin

#

ez

prisma wave
#

hmmmm

surreal quarry
#
PluginDependencyManager.of(this).loadAllDependencies().join()

bypasses intrinsics, loads kotlin, no issues fingerguns

steel heart
#

Just download kotlin in every directory

#

No chance it wonโ€™t be loaded

#

Okay James ma dodo so where do we start?

hallow crane
#

how do I use the java 11 jdk in intellij

#

its not letting me

onyx loom
#

eh

steel heart
#

Uh settings

onyx loom
#

lol

steel heart
#

Or project structure maybe

onyx loom
#

the exact same as always

steel heart
#

And then just set jdk 11

hallow crane
#

it doesnt show up

#

but I have it installed

steel heart
#

Also might have to specify in your pom/build

hallow crane
#

oh yeah im ubuntu

steel heart
#

IntelliJ dodo moment

surreal quarry
steel heart
#

Oh lol ok

#

Also btw

#

Only support latest versions?

#

Plspls

surreal quarry
#

uhhh

#

currently

#

yea

steel heart
#

THANK YOU

surreal quarry
#

might try to add support for others later on but i dont want to right now lmfao

steel heart
#

Yeah

#

Gonna be even messier with 1.17

#

Supplier<Optional<Material>>

hallow crane
#

Do I select Application for project type?

ocean quartz
#

Gradle

steel heart
#

Why not get from version control?

#

I think IntelliJ will make the appropriate configurations then

hallow crane
#

get from what

#

what repo

steel heart
#

@surreal quarry

#

@surreal quarry hi

surreal quarry
#

hi

steel heart
#

@surreal quarry bye

surreal quarry
#

bye

steel heart
#

Look what Yabo sent

#

Yako*

prisma wave
steel heart
#

Minecraft?

hallow crane
#

ohhh I clicked Kotlin

steel heart
#

Create new minecraft application?

prisma wave
#

that works too

#

there's like 3 different ways

surreal quarry
prisma wave
#

4 maybe

steel heart
#

Wait node and kotlin?

#

Aye

surreal quarry
#

yea lol

steel heart
#

Why no one tell me

surreal quarry
#

kotlin react is a thign

#

sounds dope

hallow crane
#

ok i made it

steel heart
#

Wait

hallow crane
#

its working

steel heart
#

Yo

#

And kotlin angular?

hallow crane
#

how do i make a gitignore

steel heart
#

Just add a file?

surreal quarry
#

lol

hallow crane
#

yeah bit i need to make it

#

it needs to be filled

#

with information

#

on what to ignore

steel heart
#

/build/

#

/.gradle/

#

/.idea/

#

/run/

#

/out/

surreal quarry
steel heart
#

I think

#

Gradle properties?

surreal quarry
#

i have a username and password in there for my maven repo lol

steel heart
#

Lol

onyx loom
#

o

surreal quarry
#

i should probably just put it in my users gradle.properties buyt im lazy

steel heart
#

I declare my pls not mess up utf 8 encoding there

#

So itโ€™s essential to push it for me

hallow crane
#

should I ignore .gradle/?

steel heart
#

No

prisma wave
#

yes

surreal quarry
#

yes

steel heart
#

Oh

#

Ye

prisma wave
#

smh

surreal quarry
#

lol

hallow crane
#

oh but keep gradle/

steel heart
#

Not /gradle/ tho

#

Ye

surreal quarry
#

yea

steel heart
#

Ya

hallow crane
#

it's been a long time

steel heart
#

Yo

hallow crane
#

i usually use my template maker thing

steel heart
#

Yem yemy

surreal quarry
#

imo its better to just learn how to make the project

#

it usually doesn't take that long

steel heart
hallow crane
#

ok so delete src/main/java, only use src/main/kotlin right

surreal quarry
#

yea

steel heart
#

Well if u wanna do java

#

Use the other

#

Ig

surreal quarry
#

^

onyx loom
#

but dont do that ๐Ÿคก

surreal quarry
#

java shit goes in java, kotlin shit goes in kotlin

steel heart
#

poggies java in kotlin

hallow crane
#

do u ever use both

#

kotlin + java

surreal quarry
#

yes

hallow crane
#

in 1 project

#

give example case pls

onyx loom
#

i havent, but it has its uses ig

surreal quarry
#

interop

#

well i haven't but its possible

steel heart
#

If you happen to work with something that involves interop alr

surreal quarry
#

for example if you wanted your main class in java to make pdm easier

steel heart
#

Then it can be useful

#

Like factionsX eg

surreal quarry
#

you make your main in java, then everything else kotlin so you don't have to deal with intrinsics

ocean quartz
#

Ayy done with commission, time to try Kotlin React ๐Ÿ‘€

surreal quarry
#

๐Ÿ‘€