#dev-general

1 messages · Page 79 of 1

topaz bay
#

A MARVEL CHARACTER

pale shell
#

Yes

#

A marvel character

remote goblet
#

i'm sorry @prisma wave

pale shell
remote goblet
#

i don't feel like dying today

topaz bay
#

Sweetie...

prisma wave
#

Oh she is more than just that

pale shell
#

No

topaz bay
#

These are people from mythology...

pale shell
#

No

remote goblet
#

Yes

prisma wave
#

(tbf marvel kinda popularised them)

pale shell
#

Marvel is mythology

topaz bay
#

WHAT

prisma wave
#

@remote goblet one more peep out of you and you will find yourself in lots of trouble

topaz bay
#

Marvel did NOT popularize them

pale shell
#

They did

prisma wave
#

they did to the mainstream audience

topaz bay
#

Marvel gave them memorable faces

prisma wave
#

same thing

remote goblet
#

wonk

topaz bay
#

@remote goblet your face is wonk

#

:)

prisma wave
#

Odin is wonk

pale shell
#

Oh no

#

Alex

#

Frigga is dead...

prisma wave
#

I know lol

remote goblet
#

am

prisma wave
#

but she lives on in our memories

remote goblet
#

offended

pale shell
#

Offended...?

remote goblet
#

@topaz bay I dis frigga for you and that's how you respond

prisma wave
#

@remote goblet you have lost offended privileges for your disrespect earlier

remote goblet
#

real fag move that

topaz bay
#

LMFAO

pale shell
#

Atleast nobody has spoilt end game for me yet

remote goblet
topaz bay
#

Youre a BARB

#

LMFjkahVskjXBKDB

#

RUDE

pale shell
#

Fuck you too ori

topaz bay
#

See, this is why you cant trust gay people

remote goblet
#

ikr

#

burn them

pale shell
#

Delete that sx

prisma wave
#

what has this conversation degenerated into

#

we were being all clever and intellectual and now this

pale shell
#

Clever? +

#

I was the only clever one around here

remote goblet
#

as an intellectual

#

i can confirm i am the cause

prisma wave
#

the only clever person here is the author of a good language

#

which is me

remote goblet
#

the only clever person here is the skript developer that is lurking around somewhere

topaz bay
#

@prisma wave BARELY

prisma wave
#

@topaz bay BACK FOR MORE ARE YOU?

pale shell
#

Plankalkül is the best language prove me wrong

prisma wave
#

Does Odin even have functions?

#

Doubt it

#

that's too much of an advanced concept for a BAD language

pale shell
#

Can you stop referencing my username Alex

topaz bay
#
fun add(num0, num1: Int): Int {
  => num0 + num1
}

push add(20, 32)
pale shell
#

I'll charge you next time (:

topaz bay
#

Is frigga strictly typed?

pale shell
#

That's kotlin sx

prisma wave
#

Yes

#

Mostly

#

I've probably forgotten to check types somewhere

pale shell
#

You two are just making kotlin with a different name :|

prisma wave
#

frigga is very different to kotlin

pale shell
#

all the same thing

prisma wave
#

I wouldn't say Odin is too but I don't care enough to find out

pale shell
#

All languages are the same

topaz bay
#

IT WAS YOUR FUCKING IDEA ALEX

#

How dare you

#

WOW

prisma wave
#

What was my idea?

topaz bay
#

I had different names

#

And you were like "JUST USE VAL AND VAR"

prisma wave
#

ACTUALLY

#

I think you'll find my original suggestion didn't have a variable keyword

topaz bay
#

lies

#

You have no proof of this

#

The only proof you can bear is that frigga is ASS

prisma wave
#

yeah I was looking for proof and I couldn't find any

#

Scrolling up for ages isn't fun

#

lemme try again

#

@topaz bay JOKES ON YOU

#

I found it

topaz bay
#

That proves NOTHING

prisma wave
#

I see NO mention of Val and var

#

Proving that YOU are a fraud and therefore have a BAD language

#

As such I am the winner and there will be no further mention of inferior languages such as shitdin

topaz bay
#

WOW

prisma wave
#

I know

#

It can take a while for the concept of defeat to be processed by the brain

#

But don't worry you defended your BAD language very well

#

it was an honour to call Odin shit for like 20 minutes

oak raft
#

Do you guys recommend making a discord bot in python or java?

prisma wave
#

whichever you are more comfortable with is a big factor

#

for any large project I personally think Java is a lot better

#

but for a few commands python would probably be a good choice

oak raft
#

I see, thank you

prisma wave
#

No problem

remote goblet
#

JavaScript is also a very nice and simple language to use

prisma wave
#

Not sure if that's sarcasm but I actually agree with you

#

people hate on scripting languages for whatever reason but for small projects that need to get something done they are perfect

#

the startups that insist on full stack JavaScript are questionable though

#

I'd even say that skript is acceptable for small commands without the sheer boilerplate of making a standalone plugin

remote goblet
#

it wasn't sarcasm, It's a fairly simple language to create a discord bot in and most tutorials are in Discord.js, JavaScript is a very fluid language and easy to understand.

There's no best language for discord bots, it's just based on preference and which language you find easier to code in

#

okay im done providing valuable input

prisma wave
#

thank you for your valuable input

#

I'm done too but yes JavaScript good python good Java good kotlin good Odin shit frigga good skript good when used in the right situation

#

thank you for coming to my ted talk and goodnight

ocean quartz
#

Been doing so much on the commands stuff in Java, now testing it on a bot in Kotlin and boy I missed it

prisma wave
#

Well yeah "Java good" was a bit too far

#

"adequate" perhaps

cedar jolt
#

Anyone able to help me with XenForo

#

i'm tryna make it so my url goes to a custom page instead of url/index.php?forums/

topaz bay
#

That's kinda hot

remote goblet
#

lorge

hot hull
#

It's 5 am, GWsetmyxPeepoCry

topaz bay
#

I'm not saying this is the best thing ever, but it kinda is

remote goblet
#

it's kinda cool

topaz bay
#

You're kinda cool

remote goblet
#

thank you

topaz bay
#

Ew... I take that back

remote goblet
#

no take backs

#

i already said thank you

topaz bay
#

Nope

remote goblet
#

there's proof

topaz bay
#

Its been taken back

remote goblet
#

you can't deleted it now

topaz bay
#

I have a fat ass cup of coffee

#

And I'm ready to start my day

#

At 11pm

#

😈

remote goblet
#

I'm gonna go view a new house at 12pm

#

and it's 4am

#

:)

#

i might change my pfp for the first time

#

in months

#

i've had it for 6 months

topaz bay
#

@remote goblet do it

#

I'm sick of looking at this

remote goblet
#

lmao

#

i'll do it when i have a decent photo of myself

cedar jolt
#

@remote goblet how can you afford a house

remote goblet
#

Thonk

hot hull
#

Ori is actually a 40 year old man, and we've been lied to all this time

remote goblet
#

I run a secret drug cartel

cedar jolt
#

How old are you actually smj

#

Smh

remote goblet
#

Im 15

cedar jolt
#

Lmao wyd looking at buying a house at 15

topaz bay
#

pepega brain

cedar jolt
#

Anyone know how to tier up

#

How do I get tier II

ocean quartz
#

Just talk

cedar jolt
#

Which bot gives that?

#

I'm looking at getting something similar on my discord

ocean quartz
#

Barry does it

cedar jolt
#

Oh custom made rip

topaz bay
#

just remake barry

#

ez

cedar jolt
#

Idk how to code

topaz bay
#

o

cedar jolt
#

And I got no $

topaz bay
#

I mean... its JS

#

So like...

#

You dont really need to know how to code

#

lol

cedar jolt
#

Yeah but like idk how to do Zjs

#

JS

#

Also I have no $ to buy a host to run a bot

remote goblet
#

Run it on your pc

#

It uses like no resources kekW

cedar jolt
#

I'm not running my PC 24/7 smh

#

That's bad for its health

topaz bay
#

Use a GCP free tier compute instance

remote goblet
#

Im actually moving into sx’s house

#

He doesn’t know it yet

topaz bay
#

ABSOLUTELY not

remote goblet
#

But I am

cedar jolt
#

If only MEE6 wasn't fucking premium

#

To use xp ranks

remote goblet
#

Must suck

old wyvern
#

Also I have no $ to buy a host to run a botHeroku

frail glade
#

Why not home host a bot?

remote goblet
#

Why you in the dev channel if you can’t code, Quick thought

topaz bay
#

oh yeah.. that would probably be easier than GCP

remote goblet
#

We all code skript here

topaz bay
#

not me girl

remote goblet
#

Yes you do

#

Now shut up

topaz bay
#

I will slice you

remote goblet
#

Bet

old wyvern
#

whats gcp?

cedar jolt
#

Heroku didn't work last time

topaz bay
#

google cloud platform

#

Its like AWS

#

But google

cedar jolt
#

Cloud platform isn't free is it

old wyvern
#

free tier compute instancereally? o.o

topaz bay
#

ooo I bet AWS has a free tier too

old wyvern
#

nah

topaz bay
#

Yes... ?

old wyvern
#

nice

topaz bay
#

I host two bots on one of them

cedar jolt
#

Imagine being light blue coloured uwu

topaz bay
#

I also host my website on a free tier GCP app engine

frail glade
#

You get $300 free

old wyvern
#

o.o

#

damn

frail glade
#

I thought you hosted that on GitHub

topaz bay
#

You dont even touch the 300 on the free tier

#

@frail glade absolutely not...

frail glade
#

Does the free tier do databases?

old wyvern
#

is it a static webpage?

topaz bay
#

Its a vps

old wyvern
#

or

#

oh

topaz bay
#

No

frail glade
#

Free VPS POGGERS

old wyvern
#

o.o

topaz bay
#

the big icons are static, but the cards are pulled from my github

#

Theyre my stickied repos

remote goblet
#

Lowkey pog

topaz bay
#

And the graph is generated too

remote goblet
#

Even though I have

#

No usage for it

topaz bay
#

@frail glade with GCP, I push to the repo, it pulls, builds, and publishes

#

And it keeps a record of the versions of my site

old wyvern
#

checking out GCP rn, seems awesome!

remote goblet
#

Sx continues to know everything

#

Do they know why I’m still awake tho

frail glade
#

Ahh nice

old wyvern
#

it needs my card number

#

nice

#

xD

topaz bay
#

Oh wow

#

I didn't realize until now, the static assets get cached by google's front end servers too

#

So the static parts arent counting against my app's quotas

#

Making it even freeer

#

lol

old wyvern
#

welp I wish they let us use Google Pay IDs or something

#

I dont have a credit card atm

topaz bay
#

You love to see it

hot hull
#

Do you tho

hollow spade
#

yikes

topaz bay
#

@hot hull who doesnt like free???

#

👀

hot hull
#

The company

pliant eagle
#

hello

#

u can help me with a deluxemenus?

hot hull
#

Not the right channel

pliant eagle
#

what is the correct channel for this?

obtuse gale
#

hashtag general plugins

pliant eagle
#

ok thanks

distant sun
#

If I have to do a Topological Sorting in C, using matrix for both count as two different algorithms? The teacher asked to use two algorithms but all we find on internet uses matrix and wanted to make sure. His suggestions were Kahn, DFS, Kosaraju & Tarjan

obtuse gale
#

I dont understand what 50% of the words you just said mean

heady birch
#

indian

distant sun
#

did I said something wrong or?

hot hull
#

What

distant sun
#

smh

heady birch
#

What are you even meant to name a Main class in a standard Java application

#

I usually go with Launcher suffix or Application

obtuse gale
#

Is it just me or Github response is just too long?

runic flume
#

Does anyone know a good and cheap MongoDB hosting???

#

Plz @ me!

hallow crane
#

Atlas is free @runic flume

#

I've been using it for all my web-apps for a few months. Free forever I believe.

signal tinsel
#

Mongo is the besy

#

Best

runic flume
#

Aight

#

Thanks

signal tinsel
#

Finally gonna start using git a bit more

signal tinsel
prisma wave
#

Very descriptive

hot hull
#

I'll show you my commit messages later @signal tinsel

signal tinsel
#

lol

ocean quartz
#

Oh

#

Let me try reuploading that

signal tinsel
#

I have a private github repo, is there any way to make its wiki public?

frail glade
#

No

#

Not without paying

ocean quartz
#

@prisma wave @topaz bay Re-pining, sorry
This is directly from Valve's code, it's wonderful
https://www.youtube.com/watch?v=k238XpMMn38

||| code courtesy of the tf source leak |||
Music: Hall of the Mountain King
custom files --- https://pastebin.com/raw/e32aG4nP
[ hud / crosshairs / hitsound / killsound / gfx cfg ]

FAQ:
Q: How did you make that? What editing software do you use?
A: I use Adobe Photoshop, Pre...

▶ Play video
prisma wave
#

Is that the csgo comments?

#

I think I've seen a few of those

ocean quartz
#

I think it's from all their games

signal tinsel
#

@frail glade I have gh pro

#

I want the wiki to be publicly available but the code to be private

lunar cypress
#

why do you want the code to be private

signal tinsel
#

Because its private code

hot hull
#

Everyone should open source everything

#

Change my mind

versed ridge
#

but then everyone would see my bad code xd

hot hull
#

Just shows how much you've improved your code as time goes on

lunar cypress
#

Because its private code
There is nothing inherently private about code

#

hence why I was asking

ocean quartz
#

You opensource it, people think your code is bad, they PR to make it better, profit

prisma wave
#

"^".repeat(Int.MAX_VALUE)

hot hull
#

Well OS everything except commissions

prisma wave
#

Sorry that was kinda tacky

#

but yes OS everything

topaz bay
#

@prisma wave wanna play OW?

prisma wave
#

but alright lol

topaz bay
#

shut up hoe

prisma wave
#

I think that's enough language design for one day

#

but just quickly

#
canDrink = age::Int -> Bool {
    if(
       [age >= 18], yield[true],
       [age < 18], yield[false],
       [else], throw[Error("How did we get here?")]
    )
}
``` what do you think of this as a concept?
topaz bay
#

@ocean quartz these comments are very me

#

I kinda hate that

prisma wave
#

me too

#

well kind of

#

it's disturbing

ocean quartz
#

Same

prisma wave
#

but my plan is for if to be a function that takes a Bool and a () -> T and then does some fancy native stuff rather than if and else being keywords

#

just trying to think how it would look

ocean quartz
#

That sounds like a cool idea, though seems complicated to implement

prisma wave
#
canDrink = age::Int -> Bool {
    if(age >= 18, yield[true])
    else(yield[false])
}``` it could be reduced to something like this for example
#

Yeah I mean there will definitely need to be some native conditional processing somewhere down the line

#

but I'm trying to have as few keywords as possible

topaz bay
#

Why so many symbols

hot hull
#

How bout you get rid of else

ocean quartz
#

I mean else is needed

prisma wave
#

symbols are cool

#

get rid of else in favour of what?

hot hull
#

Just yeet

topaz bay
#

Ofc frigga, being a woman, couldnt help but overcomplicate

#

damn women

prisma wave
#

WOW

ocean quartz
#

Haha

hot hull
#

Lmao

prisma wave
#

I think you'll find it's not overcomplicating

#

everything there makes perfect sense

topaz bay
#

Making sense and being over complicated are not mutually exclusive

prisma wave
#
canDrink = age::Int -> Bool {
    yield(age >= 18)
}
``` is that better?
#

that's fairly similar to kotlin

#
val canDrink: (Int) -> Boolean = { age ->
  return age >= 18
}``` in fact kotlin's is worse
lunar cypress
#

You can't really make if a function

#

you can make it resemble one at most

prisma wave
#

yeah as I said there's gonna need to be some lower level stuff at some point down the line

lunar cypress
#

or I guess if your language really goes crazy with the laziness you can do it but how would you implement it lol

prisma wave
#

but I like the idea of having very few if any keywords

lunar cypress
#

yeah that is good

#

although having a lot of symbols instead isn't really better imo

#

sx has a point

#

it's syntax in both cases

prisma wave
#

it's not direct laziness, it's a bit more simple - function[param] just makes another function { yield(function(param)) }

#

I genuinely don't think there are that many symbols in comparison to any other language

#

the only real defining feature is the square bracket "invocation"

topaz bay
#

all I want is the ow update

prisma wave
#

😭

lunar cypress
#

so the [] syntax is still basically for creating curried functions

prisma wave
#

yes essentially

#
printHello = print["Hello"]

is the same as

printHello = {
  print("Hello")
}```
ocean quartz
#

What about this instead printHello =-> print("hello")

prisma wave
#

the random arrow feels kinda strange

ocean quartz
#

True

prisma wave
#

I guess it could be printHello = () -> print("Hello") like java but that seems more confusing imo

#

But i've also got the idea of allowing cool stuff like printIntAdd1 = print[value::Int + 1]

#

where you declare the function parameters inside the "body"

prisma wave
#

@quiet sierra I'd heavily recommend changing the observable collections to be implementation independent (if you haven't already). Eg ObservableSet instead of ObservableHashSet. That way they could support other data structures (eg TreeSet) without needing loads of different implementations

#

looks good though!

quiet sierra
#

How would I specify the implementation then

#

RN I extend the class

prisma wave
#

delegation

#

have a constructor that takes a Set<T>

#

and delegate

quiet sierra
#

hM

#

What if I don't pass a set?

#

Default to hash?

prisma wave
#

could do

#

or you could make ObservableSet the parent class with various subclasses + a constructor

topaz bay
pale shell
#

Bad software @topaz bay

prisma wave
#

@topaz bay about time

#

I might actually consider windows for development now

#

might

pale shell
#

@prisma wave i thought you already used Windows to code in...?

hallow crane
#

Heard about windows dev stuff. I opted to switch to linux instead.

remote goblet
#

Damn you guys really made me ghost ping brister

#

Nice

pale shell
#

Well done

#

He's gonna be hella angry.

cedar jolt
#

Anyone know how to make clickable text which will copy set text into your clipboard

#

i want to make it so when you click this, it copies the IP into your clipboard

old wyvern
#
TextComponent msg = new TextComponent( "Click Here To Copy" );
msg.setClickEvent( new ClickEvent( ClickEvent.Action.COPY_TO_CLIPBOARD, "Text you want to copy" ) );
player.spigot().sendMessage(msg);
#

@cedar jolt

cedar jolt
#

@old wyvern I'm talking about on my website

#

Sorry my bad

old wyvern
#

oh xD

cedar jolt
#

yeah lmao

#

i think i need jquery or some shit?

old wyvern
#

No, there is document.execCommand('copy');

cedar jolt
#

?

#

is that html

old wyvern
#

you will need to select an element tho

#

js

cedar jolt
#

js

#

oh right

#

umm can you do it for me 😛 if i send you my website link

old wyvern
#

does not require jquery

#

Do what?

cedar jolt
#

the code, on the element i want

old wyvern
#

Sure I guess

quaint remnant
#

Can somebody help me make a player get bounced really high up to a direction when they walk on a block also force a player to run a command?

#

Also something that checks when a block is broken and then replaces a block in that area?

#

xd

#

I would really appreciate it.

obtuse gale
#

Should I do a one week eclipse challenge 🤔

#

Im gonna do it lol.... idk if i can go the whole week tho

hot hull
#

Please no.

obtuse gale
pallid gale
#

make sure its bright white

obtuse gale
#

ofc

#

does eclipse have gradle support btw lol

quaint remnant
#

idk

#

I like maple

obtuse gale
#

wtf is maple lol

quaint remnant
#

Oml

#

Maven

#

Auto correct is annoying

#

lmao

obtuse gale
#

lol

#

why tho

#

I thought this is what you meant lol

quaint remnant
#
  
  @EventHandler
    public void onPlayerMove(PlayerMoveEvent event) {
        if(event.getTo().getBlock().getRelative(BlockFace.DOWN).getType() == Material.SLIME_BLOCK) {
            //still doing this part lol
        }
    }

How can I check that this isnt some random slime block like how can I check if the location thus slime block is placed at is listed true in another variable?

#

Lol

#

Like the slime block is at a specific location

obtuse gale
#

get the blocks location lol?

quaint remnant
#

ye lol

#

The location of the block after its stepped on lol

obtuse gale
#

yea

quaint remnant
#

ye

obtuse gale
#

what are you tryna do lol?

quaint remnant
#

Make it so that when the player steps on a few dedicated blocks it bounces them really far up and then a few seconds later makes them warp somewhere

#

Like hypixel skyblock

obtuse gale
#

how tf do i import a kotlin projkect in eclipse lol I downloaded the plugin and imported my gradle project but now eclipse wont open the .kt file

#

aha

#

got it

#

No way im using white theme tho, this is legit hurting my eyes

#

OH GOD

#

its so hard to read

hot hull
#

What the

obtuse gale
#

fuck this

#

im out

#

back to ij

#

It lasted a solid 5 minutes

cedar jolt
#

Anyone know how to change which page my domain goes to on xenforo

#

like rn it goes to forums, i want to change it to go to my homepage

#

without the /home at end

hot hull
#

Fancy commit messages

cyan wagon
#

does anyone know where to find the api docs for AutoSell?

hot hull
#

?autosellapi

compact perchBOT
#
FAQ Answer:

Here you can find the API to hook into Clip's plugin AutoSell, which was made by vk2gpz - https://www.spigotmc.org/resources/62935/
Please do not contact Clip for help with this particular resource.

cyan wagon
#

thanksss

#

that was so hard to find omg

cedar jolt
#

Anyone able to help me with xenforo route filters

prisma wave
#

@remote goblet damn you @pale shell no, Linux for development. Windows would be a direct downgrade

obtuse gale
#

@hushed prairie

remote goblet
#

Blame admins not me

heady birch
#

🤨

signal tinsel
#

Nice, I've just started 2 rewrites for big projects lmao

#

All while having less time to code

heady birch
#

I love kotlin so nice

#

When I write kotlin I feel I'm writing 10x more properly

prisma wave
#

this

heady birch
#

sweepRotation += radiansPerFrame any cool kotlin way to replace this +=

#

Could make my own extension

prisma wave
#

replace it?

#

how so?

heady birch
#

Maybe it has some cool infix operator

#

Like .inc but with a value

#

var1 inc var2

prisma wave
#

plusAssign might be infix

#

not sure though

#

i'd just leave it as it is though

#

you can't get much more readable than that

heady birch
#

I will make advantage of every kotlin feature in every way

old wyvern
#

whats the point of replacing += ? 💀

heady birch
#

😠

#

KOTLIN

#

.plus()

old wyvern
#

what?

#

im a bit confused rn

heady birch
#

Do you write kotlin? You wouldnt get it

old wyvern
#

how is += worse than writing .plus(...)

heady birch
#

We only need kotlin in this world

old wyvern
#

I do use kotlin

#

but this just just overdoing it

#

xD

prisma wave
#

there's idiomatic use and then there's a gimmick

heady birch
#

There is never overdoing it with kotlin 🙂

#

I just love the features

#

extensions and infix

old wyvern
#

overrated

heady birch
#

even my swing programming is clean

#

CLEAN]

#

swing is never clean

#

except the constructors

prisma wave
#

extension functions are S tier, infix are like C tier at best

heady birch
#

what is tier

old wyvern
#

like a ranking

#

tier 0 being the best, or in this case tier S

prisma wave
#

indeed

old wyvern
#

im not sure why S is used , not familiar. The numeric tier format is used in games ussually

prisma wave
#

it looks cool ¯_(ツ)_/¯

old wyvern
#

ah

heady birch
#

One of my kotlin classes is grayed out in the project view, what does that mean?

#

I just discovered crossinline

#

Wow

prisma wave
#

so many keywords

#

so

#

many

#

keywords

hot hull
heady birch
#

Nice

#

Description: /

hot hull
#

Yea no description set so it defaults to that

heady birch
#

No

hot hull
#

"No" ?

quiet sierra
#

Plot twist: The video I sent in #showcase is all done in the same world, same server

#

That's what made it "hard"

hot hull
#

scam

quiet sierra
#

Rather do it this way than to spin on some servers and completely destroy the ram

hot hull
#

@ocean quartz What should I be using to check if there's a next page again? I forgot

ocean quartz
#

On latest version nextPage will return false if can't go

hot hull
#

k

topaz bay
#

@quiet sierra please tell me that is implemented with nothing but observable collections

hot hull
#

@topaz bay you got 5min?

topaz bay
#

uhhhhhh

#

ye?

hot hull
#

Mind writting a quick faq for SOLID

topaz bay
#

...

#

wikipedia

hot hull
#

effort

ocean quartz
prisma wave
#

Single Responsibility Principle - A class should only have 1 responsibility in the program
Open Closed Principle - Classes should be open to extension but closed for modification
Liskov Substitution Principle - Program to the interface (eg List instead of ArrayList)
Interface Segregation Principle - Prefer smaller interfaces that do a single thing to big interfaces consisting of similar tasks.
Dependency Inversion Principle - Classes should have their dependencies provided via constructors, rather than defining them themselves. They should also depend on abstractions rather than concrete types

#

How's that?

#

grossly oversimplified but hey ho

lunar cypress
#

Liskov and Dependency Inversion are kind of different

#

and I would rephrase srp as well

prisma wave
#

As I said it's an oversimplification

#

I think it's quite hard to properly explain a lot of them in 1 sentence anyway

#

Most of them are better defined by example

lunar cypress
#

S - A class should have only one responsibility, that is, one reason to change
O - Classes should be open for extension but closed for modification
L - You should be able to replace any usage of a class with one of its subclasses without breaking the programme
I - Prefer multiple small interfaces over big ones that define everything
D - Depend on abstractions, rather than concretions

#

That's how I would phrase it

#

more or less

prisma wave
#

That's good

#

Although considering this is for beginners I would mention that Liskov usually involves using interfaces as most people wouldn't know what it really means otherwise

hot hull
#

?faq add solid What is SOLID

S - Single-responsiblity principle
O - Open-closed principle
L - Liskov substitution principle
I - Interface segregation principle
D - Dependency Inversion Principle

If you wish to read up more on it, you can check here:
https://scotch.io/bar-talk/s-o-l-i-d-the-first-five-principles-of-object-oriented-design

Scotch

S.O.L.I.D is an acronym for the first five object-oriented design(OOD) principles by Robert C. Martin, popularly known as Uncle Bob. These principles, when com

lunar cypress
#

Liskov is actually the easiest one to understand as it's very concrete imo

hot hull
#

ffs

#

?solid

compact perchBOT
prisma wave
#

smh I wrote a paragraph for nothing

lunar cypress
#

The fact that there is no . after the D is mildly infuriating to me

#

is that a standard thing

hot hull
#

Where?

lunar cypress
#

on the website

topaz bay
#

Yes, it is standard

prisma wave
#

. Is a separator usually

lunar cypress
#

then I prefer the british way

#

they leave those out typically don't they

hot hull
#

colour is it aye

topaz bay
#

delimiter

#

:D

prisma wave
#

as a british person I have no idea either way

topaz bay
#

=paste

compact perchBOT
#
HelpChat Paste

Please use a paste service to share configs, errors, code and long logs.
HelpChat Paste

heady birch
#

single responsibility

#

stupidest peice of shit ive ever heard

topaz bay
#

@prisma wave "real world" application

#

oh... I left out the delta in the wound tick

#

whoops

ocean quartz
#

You don't need the parenthesis in this right?

.forEach() {
}
topaz bay
#

When the brace is on the next line, you do

ocean quartz
#

Sooo, an advantage for k&r ;p

topaz bay
#

I actually kinda prefer it

#

Its more normal

#

Or I guess the word is regular

prisma wave
#

@topaz bay nested classes smh

topaz bay
#

Whats wrong with nested classes...

prisma wave
#

ugly

#

makes the file look overcrowded

topaz bay
#

The classes are literally smaller than the on join function

prisma wave
#

don't care

topaz bay
#

but logic...

prisma wave
#

I have very draconic views on what should be in a single file

#

and these views say that nested classes bad sans a few exceptions

topaz bay
#

That... is dumb...

lunar cypress
#

I agree with bm, especially in kotlin where it's not an issue to have multiple top level class declarations in one file

prisma wave
#

thank you

topaz bay
#

Its not an issue in Java either... ?

prisma wave
#

There's no reason to have them be nested when all the small classes could be part of 1 single file

topaz bay
#

Theres 0 reason to have them be declared outside of where they are used

#

In reality, these would be private classes

#

They represent nothing but the data they hold

old wyvern
#

^

topaz bay
#

It would be like defining instance variables in the top level scope

lunar cypress
#

it is not idiomatic to do this in java

#

and it is an issue if you want multiple to be public

topaz bay
#

And its not pragmatic to do it in kotlin

lunar cypress
#

pragmatic?

topaz bay
#

Which they are not meant to be

#

Theyre not meant to be used anywhere outside of this class

#

Yes, pragmatic?

lunar cypress
#

I don't understand the meaning of this word in that context

topaz bay
#

pragmatic = doing something in a way that makes sense in practice rather than in theory

#

It makes sense to put these declarations inside the only place they will ever be used EVER

lunar cypress
#

and why doesn't it make sense in practice

old wyvern
#

Why would you event want to write multiple unrelated classes in the same file

#

Nested classes make more sense for small data holding classes

topaz bay
#

No, the point is that it DOES make sense in practice

lunar cypress
#

having files as a unit of grouping things is somewhat the point

#

@old wyvern who's talking about unrelated classes?

#

No, the point is that it DOES make sense in practice
you just said it's not pragmatic

topaz bay
#

Yes, its not pragmatic to put them outside of the class

#

It is pragmatic to put them inside the class

#

What are you missing?

lunar cypress
#

why?

topaz bay
#

It makes sense to put these declarations inside the only place they will ever be used EVER

#

If Im only ever going to be using a variable inside of a class, why would I define it in the top level scope?

lunar cypress
#

and if the only public thing in your file is this class it will also be true for the file

old wyvern
#

@Yugi who's talking about unrelated classes?Can you give me a use case of having these groups?

lunar cypress
#

It's just clustering the class

topaz bay
#

In reality, these would be private classes

old wyvern
#

I mean as in on what criteria would you group them?

#

How are they interrelated?

prisma wave
#

Surely a health module would be used in other classes too

lunar cypress
#

you really can't think of such a situation

#

?

prisma wave
#

And as such it's a better idea to put it in another file

topaz bay
#

Its an ECS...

#

The component is managed by the system

#

And attached to the entity

#

Which are all declared in this class

#

lol

old wyvern
#
?```Yes, can you provide me an example?
prisma wave
#

Well what if you had 200 different components. Would they all be in the same file?

topaz bay
#

OBVIOUSLY NOT ALEX

prisma wave
#

Then where do you draw the line?

topaz bay
#

I draw the line at the fact that this was an example of constant fucking damage that would never actually be in use

prisma wave
#

Why is there a line? It would be far more natural to have them separate from the start

topaz bay
#

Its literally in this single place for example's sake

#

LITERALLY

lunar cypress
#

why are we talking about this then in a more general sense

prisma wave
#

^^

lunar cypress
#

it's an interesting question

prisma wave
#

If this was only for an example why disagree in the first place?

topaz bay
#

I literally put real world in fucking quotes

#

And you guys are treating it like I published this for use by 5 million users

lunar cypress
#

I really am not

prisma wave
#

then why is it unreasonable to say that the classes should be in a different file

topaz bay
#

Because in this context, I am right

prisma wave
#

If we are literally in agreement

topaz bay
#

You misconstrued the context

prisma wave
#

then why not just say that rather than saying "that is dumb"

topaz bay
#

Excuse me for assuming you werent an idiot

heady birch
#

Kotlin 🥺

old wyvern
#

@lunar cypress Whats wrong with having those in different files?

prisma wave
#

🤨

topaz bay
#

I assumed you realized that this is clearly not production code

lunar cypress
#

what would be the point? @old wyvern

topaz bay
#

when I put it in fucking quotes

lunar cypress
#

they clearly belong together

prisma wave
#

Whether it's production code or not there is nothing wrong with questioning design decisions

heady birch
#

I agree with the design

lunar cypress
#

And as I said, it is idiomatic in kotlin to have multiple top level declarations in one file

#

otherwise you'd have to make a file for each top level function

heady birch
#

If he wanna extend it any point is pretty easy to

lunar cypress
#

which would be ridiculous, frankly

prisma wave
#

Precisely

heady birch
#

YAGNI, You are gonna need it

topaz bay
#

Just because its idiomatic, it doesn't mean you HAVE to abide by that in every situation

lunar cypress
#

I group components in ways it makes sense and I don't arbitrarily say "each file must have one thing only". where is the justification for that?

topaz bay
#

Idiomatic literally just means something that you would come across and not question

lunar cypress
#

I'm not forcing this lol

heady birch
#

What are you guys talking about, SRP?

prisma wave
#

Clearly these nested classes are not idomatic

lunar cypress
#

I'm literally using it because it makes sense in the cases where I'm using it

heady birch
#

SRP is hard to define

#

Seperation of concerns is better

topaz bay
#

This isnt even SRP

prisma wave
#

@heady birch this isn't SRP per-se

topaz bay
#

This isnt even SLIGHTLY srp

heady birch
#

I joined halfway through the conversation

prisma wave
#

It's a similar concept in that I think your file is doing too much, not the class itself

heady birch
#

Are you talking about that ModuleXelEngine thing

prisma wave
#

yes

topaz bay
#

They are questioning the legitimacy of my nested single variable classes

prisma wave
#

Yes

heady birch
#

Don't like it

prisma wave
#

Because they are completely out of place in that file

topaz bay
#

They literally arent Alex

#

Thats actual bullshit

heady birch
#

Either in separate files, or one class to hold them all if they are pretty small

topaz bay
#

They are LITERALLY, COMPLETELY in place

#

Because they LITERALLY

#

ONLY EXIST

#

TO BE USED HERE

heady birch
#

Design flaw

old wyvern
#

what would be the point? @Yugi

  1. The data classes would be much bigger with the getters and setters in java, seems fine in kotlin tho with data classes
  2. I dont see the difference b/w having them in a package and that incase you want to group them .
topaz bay
#

lmfao

#

shut up niall

prisma wave
#

And as I said before if you had 300 nested classes would the same thing apply? It's far more natural to have them in their own file from the beginning

heady birch
#

I get told that so many times

topaz bay
#

THIS IS NOT PRODUCTION

prisma wave
#

then why are you arguing?

topaz bay
#

Its not ever GOING to be 300 classes

#

Its an EXAMPLE

heady birch
#

We would be able to tell if you were building a production application, It would be in spring

prisma wave
#

I questioned a decision and you immediately said "that is dumb" when in a production environment it wouldn't be dumb at all

topaz bay
#

Because youre applying a false scenario

lunar cypress
#

what would be the point? @Yugi

  1. The data classes would be much bigger with the getters and setters in java, seems fine in kotlin tho with data classes
  2. I dont see the difference b/w having them in a package and that incase you want to group them .
    @old wyvern 1. this is about kotlin. in java it's not idiomatic to have multiple top level declarations in one file and I've never done it there. 2. why spread them out so much. They don't occupy much space and you instantly see what it is about
topaz bay
#

Because the context of this is clearly not production

#

It doesnt even matter if you declare them in the top level or nested, youre still going to get individual files for them once its compiled

#

This is such a stupid conversation

prisma wave
#

Why should not being production mean that general code design ideas don't apply?

lunar cypress
#

who cares what it becomes after compilation

prisma wave
#

compilation is irrelevant

topaz bay
#

@prisma wave because prototyping is a thing???

prisma wave
#

Java inner classes become different files too, it makes no difference

topaz bay
#

What are you even arguing about at this point????

#

I made it clear its not production, you applied production rules, it was wrong, get over it.

prisma wave
#

Just because it's not production doesn't mean we don't have the right to criticise decisions

topaz bay
#

I never claimed that

lunar cypress
#

man we didn't "apply" anything this is a legitimate discussion to have. if you'Re not interested in having it you need not participate

topaz bay
#

I just said you were wrong

#

You dont have the right to assert that I cannot disagree

prisma wave
#

Hardly

lunar cypress
#

we're not focused on your particular code anymore anyway

prisma wave
#

It was a legitimate criticism

topaz bay
#

No... not really???

old wyvern
#

1. this is about kotlin. in java it's not idiomatic to have multiple top level declarations in one file and I've never done it there.Oh I thought you guys were blaming java for not allowing that lol welp rip

2. why spread them out so much. They don't occupy much space and you instantly see what it is about
why spread them out so much
I actually prefer them spread out tbh. 😂

topaz bay
#

Youre literally flat out saying not to use nested classes

#

Thats fucking dumb in any situation

prisma wave
#

I'm saying that they shouldn't be used in this case

topaz bay
#

In the case of the single example file to showcase the point of an ecs

#

Yes

#

Ofc

#

Youre right

#

You win

prisma wave
#

They didn't need to be nested

topaz bay
#

Not a single soul on this planet claimed they 100% NEEDED to be nested

#

But you asserting 100% that they should not is bullshit

prisma wave
#

then why make them nested?

topaz bay
#

In the case of the single example file to showcase the point of an ecs

prisma wave
#

I never said that they shouldn't 100% be nested

topaz bay
#

Its literally in this single place for example's sake
LITERALLY

prisma wave
#

My point was just that it seemed a questionable decision

#

This is going nowhere

#

Thanks for the XP

topaz bay
#

I literally put real world in fucking quotes

#

Its going no where cause youre arguing bullshit

lunar cypress
#

Oh I thought you guys were blaming java for not allowing that lol welp rip
@old wyvern Well that I do too, but it's not directly related to my previous point, no

old wyvern
#
```Why would multiple separate classes be good in Java? Kotlin has a shorthand for writing data classes. Java does not. It may look clean in kotlin but it will just be a cluster of getters and setters when used in Java . 
My point is, what works there might not be the best solution everywhere.
Imagine that example file with the 2 data classes in Java. 💀
topaz bay
#

They arent even data classes ;(

lunar cypress
#

well, it's not about "data classes" specifically, but more about java's fixation of associating everything with a class

topaz bay
#

the constructor ceremony though

#

yikes

old wyvern
#

i was talking about that one he sent

topaz bay
#

everything is a class though?

old wyvern
#

data class DocumentedType(

topaz bay
#

What the hell??? Why are the values all whack??

lunar cypress
#

yeah. now I'm talking about top level declarations in general

topaz bay
#

y u no delegation?

lunar cypress
#

It's just a limitation that doesn't really make sense to me

topaz bay
#

Is this you?

hot hull
#

👀

topaz bay
#

(member: DocumentedMember): Documented by member

#

It couldve been great

lunar cypress
#

how would I use that there exactly?

#

or for which class

#

DocumentedType?

#

I suppose I could do that, yeah

topaz bay
hot hull
#

ew

#

That's nasty

topaz bay
#

yeeeaaahhhh

lunar cypress
#

The whole thing is a mess I hacked together rather quickly

topaz bay
#

But it be like that some times

#

shit just be messy

#

lol

hot hull
#

It be like that most times GWvertiPeepoSadMan

topaz bay
#

You could you aliases for these collections though

lunar cypress
#

I could, yeah

topaz bay
#

those pair lists are killing my eyes

lunar cypress
#

lol

#

wait til you see the parsing file

topaz bay
#

HEY WTF

#

Is this literally java-doctor?!?!?

#

How dare you

lunar cypress
#

?

topaz bay
lunar cypress
#

interesting

#

can that read all javadoc properties?

topaz bay
#

Mine is older, I win!

#

LOL

#

Dude, probably not

old wyvern
#

I mean having static classes is technically outside the class

topaz bay
#

It literally just pulls it and searches for the node by name or some shit

hot hull
#

An apple a day, keeps the doctor way

lunar cypress
#

I might use that. I don't want to parse html anymore

old wyvern
#

    public static class Member{
        int a;
        String b;
        boolean c;
    }
    public static class SomethingElse{
        int a;
        String b;
        boolean c;
    }
}
```Wont something like this act similar to what you mean? @lunar cypress
topaz bay
lunar cypress
#

You mean a class serving as a wannabe namespace or what

topaz bay
#

uses document queries

lunar cypress
#

Yeah I do too

old wyvern
#

You mean a class serving as a wannabe namespace or whatI mean what exactly is the problem here

lunar cypress
#

It just gets really messy because there are different javadoc versions and they change the html every now and then

topaz bay
#

Yeah, thats pretty much why I just uploaded that and never touched it again

#

It worked at the time, and I'm happy with that

#

lol

lunar cypress
#

Idk. what is what you sent supposed to address @old wyvern

#

yeah I need this javadoc thing to work across multiple versions and different layouts

#

So I need to take some time, clean that up and write it properly

old wyvern
#

as in what is the issue with that class structure is you really wanted a similar system to what you had in kotlin

lunar cypress
#

but html parsing just makes me want to kms

topaz bay
#

Does javadocs have the version information in the html?

lunar cypress
#

haven't found it yet

#

but it should

topaz bay
#

If I were to do any update, it would just be to expose a find function that lets you give your own query

#

And call it a day

#

Maybe add a couple default templates in an enum for known versions

hot hull
#

Imagine not only supporting latest version

lunar cypress
#

as in what is the issue with that class structure is you really wanted a similar system to what you had in kotlin
@old wyvern no this is really different

hot hull
#

(for whatever program)

lunar cypress
#

I don't want them to be in such a fix association

#

having them both in a class that servers no purpose other than having other classes in it is very ugly

topaz bay
#

just write the entire application in one file

#

no limits

#

no encapsulation

old wyvern
#

Yes

#

Why spread it xD

topaz bay
#

In fact, dont even make a root package

#

top level everything

old wyvern
#

xD

quiet sierra
#

@quiet sierra please tell me that is implemented with nothing but observable collections
@topaz bay Mostly, but sometimes I get null-pointers when doing entity -> uuid -> entity again

topaz bay
#

@quiet sierra shoulda used kotlin

#

LOL

quiet sierra
#

what about no

topaz bay
#

:O

#

Are you a kotlin hater?

quiet sierra
#

I learned java and I'll use java

#

Both languages achieve the same at the end, so don't tell me to use one or another

#

Use whatever you like

#

But don't tell me what to use

quiet sierra
#

*oH usE kOTLiN sO muCH bETTer" just let me do my job however the fuck I want

hot hull
#

kek

lunar cypress
#

I learned Assembly 6502 and I'll use Assembly 6502
All languages are used to write code in the end

topaz bay
#

Its your job??

#

And you get null pointers??

#

I dont think youre very good at it...

quiet sierra
#

Bukkit.getEntity(uuid) never gave me an actual result, always null lol

topaz bay
#

Yeah... so null check it...

#

I can count on 1 finger the amount of times Ive encountered an NPE when using java in the last YEAR

hot hull
#

0

#

Cause you don't use java 😮

topaz bay
#

exactly

#

LMFAO

quiet sierra
#

You don't get NPE's in java if you don't use java

topaz bay
#

WAIT NO

old wyvern
#

xD

topaz bay
#

How dare you frosty

#

I do use Java

#

Quite often actually

#

A bit more than Kotlin

hot hull
#

If I could spell, I'd say anihilated

quiet sierra
#

use kotln it's better

hot hull
#

but since I can't, GWcmeisterPeepoShrug

topaz bay
#

You're right

#

Its literally better in every way

quiet sierra
#

except WHat the FU is a FUN

#

I'm not having FUn already

old wyvern
hot hull
#

You're*

old wyvern
#

xD

quiet sierra
#

rekt

topaz bay
#

Imagine typing your return value EVERY time you make a function

hot hull
#

Imagine making a function pfft

old wyvern
#

that post was so delayed

topaz bay
#

cant relate

old wyvern
#

damn my internet

#

I need to go and get my connection fixed 💀

hot hull
#

Anyhow, anyone got any ideas as to what all I can modify when it comes to bukkit chunks

old wyvern
#
```wdym?
topaz bay
#

You can modify your server to not shit itself

quiet sierra
#

[ABANDONED]
Last update: 1 hour ago

topaz bay
#

who tf puts quotes in code blocks

#

we have quote syntax now you nerd

hot hull
#

Yugi, end goal is to trick mc to show something different on f3 regarding chunk info

old wyvern
#

xD oof

#

can you give me an example? I dont understand

#

like what part of f3?

topaz bay
#

everything in the f3 menu is pulled from the client's world

#

except for the server brand

hot hull
#

Yea, but you could still customize the actual biome info, and the client would recognize that, would it not?

topaz bay
#

No

#

You dont customize the biome info

quiet sierra
#

change the server brand to "Gay"

hot hull
#

Mc is shit

quiet sierra
#

So people that press f3 read "Gay" server

old wyvern
#

Yea, but you could still customize the actual biome info, and the client would recognize that, would it not?Nope

topaz bay
#

I mean, yeah... I would normally agree on that

#

But in this case, meh

old wyvern
#

delayed images

#

my internet -_-

#

Mc is shitCheck out minestom

topaz bay
#

the server literally sends biomes to the client by numeric id

quiet sierra
#

how tf are people sending imges here

topaz bay
#

and those values are mapped to the player's locale

old wyvern
#

@quiet sierra tier 2+

quiet sierra
#

oof

old wyvern
#

mhm

hot hull
#

Is there not a packet which contains that info?

topaz bay
#

Yes...

#

the chunk packets

old wyvern
#

yes but I assume client wont recognise an invalid biome

topaz bay
#

the player's world and the server's world are completely separate

old wyvern
#

its hard coded

topaz bay
#

they just tell each other what changes

prisma wave
#

The biome name is resolved client side though

old wyvern
#

^

hot hull
#

Ah same thing as enchants then

prisma wave
#

For localisation and things

#

Indeed

hot hull
#

(as in adding custom ones to enchantment table)

#

god damn shitty ass game

old wyvern
#

tbh Minecraft was never meant to be what it is rn

prisma wave
#

Idk I can't think of a better way to do it

hot hull
#

When you get a good idea, but it's impossible

topaz bay
#

I'm almost certain these limitations do not exist on bedrock

old wyvern
#

hopefully hytale delivers to expectations

hot hull
#

bedrock sucks tho

topaz bay
#

You can send literally any fucking thing over bedrock

#

its gross

prisma wave
#

Hytale is ugly as hell

#

like it's actually hideous

hot hull
#

Yugi, we'll see, it'll probs be dead

prisma wave
#

They've already lost most of the hype

hot hull
#

BM, probs gonna be mad money stacks when it comes out if people get interested again tho

old wyvern
#
like it's actually hideous```Yes the skin xD
But it apparently allows a lot of modification from server
prisma wave
#

Probably tbh

#

but still it looks ass

hot hull
#

You don't play the game, ez

prisma wave
#

You can't replicate the Java edition feeling imo

old wyvern
#

BM, probs gonna be mad money stacks when it comes out if people get interested again thoHypixel Studios was bought my a game studio a month or 2 ago right?

prisma wave
#

people will still stick to Java

hot hull
#

Yes Yugi

old wyvern
#

it does suppourt Java developement as well apparently for addons

hot hull
#

Wait, what's hytale even written in?

prisma wave
#

I mean Java edition

#

I want to say C# but I'm not sure

old wyvern
#

Wait, what's hytale even written in?cpp/C#

prisma wave
#

I don't think it's Kaba

#

Java*

hot hull
#

oof

old wyvern
#

its not written in Java mainly

hot hull
#

I mean if it allows java addons, that'd be neat

old wyvern
#

Thats what I have heard till now

topaz bay
#

server is java

#

client is c#

prisma wave
#

They should use GraalVM to allow plugins to be written in Rust

#

That'd be a wonderful thing

old wyvern
#

I mean if they dont support it , that would literally discourage a lot of dev's from mc communities from moving which is kind of a loss to them

#

yup bought by Riot

#

The player skins are very weird

prisma wave
#

I very much doubt hytale will get any sort of popularity

hot hull
#

The game looks dogshit

prisma wave
#

it's hideous

#

literally the ugliest thing I've ever seen

#

Apart from Odin's syntax