#dev-general

1 messages · Page 311 of 1

half harness
#

useless

#

but im still learning javafx and this seems like a good challenge

prisma wave
#

Mine average about 60-70 lines I think

surreal quarry
#

mine are prob 50-60ish

#

i don't publish a lot of stuff so that makes it shorter

half harness
#

mine averages like 30

prisma wave
#

Yea publishing adds a lot

surreal quarry
#

actually thats a lie i publish something in most of my public projects lol

half harness
#

does the module name matter?

#

also whys it like shining white

prisma wave
#

Don't think so

#

never used Java modules before

#

I hear they're pretty useful

half harness
#

i dont even know what they do

#

i just copy and paste the code that stackoverflow tells me 🤷

prisma wave
#

They're like gradle modules I think

#

Just at runtime

#

Oracle seems to be pushing their use pretty hard

#

Oh yeah they're pretty similar to gradle, just enforced at runtime

#

And used in the jdk and things

#

So you can only bundle the stuff you need

half harness
#

welp

#

i already ran into an issue

prisma wave
#

🥲

#

I'm telling you

#

Dockerize it

surreal quarry
#

docker good

half harness
#

wot

#

I didn't even create the main method yet

#

and im getting issues

#

whyyyy

surreal quarry
#

dockerize it

half harness
#

but

surreal quarry
#

its never too early

half harness
#

huh?

surreal quarry
#

idek what you are doing

#

but make it dockerized

prisma wave
#

You should probably make a dockerfile before creating anything else actually

half harness
#

ah issue fixed

#

just had to put requires jfxrt; in module-info.java

prisma wave
#

Make a blank dockerfile before even touching gradle

half harness
#

ahhh no thanks

prisma wave
#

Like with an import

#

Or a gradle script

half harness
#

:c

#

can I do requires everything

surreal quarry
#

that would be a terrible idea

#

if it existed

half harness
#

i have an issue

prisma wave
#

no

#

you can't do that

half harness
#

Module 'MCServerCreator.main' reads package 'javafx.css' from both 'javafx.graphics' and 'jfxrt'

prisma wave
#

You will die if you do

half harness
#

module MCServerCreator.main {
requires javafx.base;
requires javafx.controls;
requires javafx.graphics;
requires javafx.fxml;
requires org.apache.commons.io;
requires jfxrt;
requires rt;

opens me.dkim19375.mcservercreator to javafx.fxml;

exports me.dkim19375.mcservercreator;

}

#

i dont get it

prisma wave
#

jfxrt and javafx.controls are conflicting

half harness
#

module WordUnscrambler.main {
requires javafx.base;
requires javafx.controls;
requires javafx.graphics;
requires javafx.fxml;
requires org.apache.commons.io;

opens me.dkim19375.wordunscrambler to javafx.fxml;

exports me.dkim19375.wordunscrambler;

}
This is my module-info.java for WOrdUnscrambler

#

why can't it be the same?!

#

I've literally just copied and pasted it!

prisma wave
#

You dont have jfxrt in the bottom one lol

half harness
#

what is jfxrt

prisma wave
#

idk

half harness
#

but

#

all the code I have in the top

#

i have in the bottom

#

because the top is literally empty

prisma wave
#

except jfxrt

half harness
#

no

#

its the same

#

the s a m e

prisma wave
#

The ones you sent aren't the same

half harness
#

Package 'java.lang' is declared in module 'rt', but module 'MCServerCreator.main' does not read it

#

um

#

what does that mean

#

code: ```java
public class MCServerCreatorMain {
public static void main(String[] args) {

}

}

prisma wave
#

Don't depend on rt if you don't need it

half harness
#

how do I not depend on rt

surreal quarry
#

"code"
sends an empty class

half harness
#

but how do I not depend on it?

prisma wave
#

You remove it from the module-info...

#

it's like the equivalent of build.gradle

half harness
#
module MCServerCreator.main {
    requires javafx.base;
    requires javafx.controls;
    requires javafx.graphics;
    requires javafx.fxml;
    requires org.apache.commons.io;

    opens me.dkim19375.mcservercreator to javafx.fxml;

    exports me.dkim19375.mcservercreator;
}
#

this is the module-info

#

what do I remove?

prisma wave
half harness
#

???

prisma wave
#

Huh

#

Uh*

half harness
half harness
prisma wave
#

Just try adding a hello world

#

Might fix

half harness
#

public class MCServerCreatorMain {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}

#

this?

prisma wave
#

Yes

half harness
#

now two errors

prisma wave
#

🥲

half harness
#

😢

prisma wave
#

Where's that even coming from

half harness
#

lines 4 and 5

prisma wave
#

I mean why

half harness
#

I... don't know

surreal quarry
#

"lines 4 & 5"
only two lines in the screenshot

prisma wave
#

Maybe try adding rt?

half harness
prisma wave
#

Or java.lang

#

I have no idea

#

Tbh

half harness
#

fixed... for now

prisma wave
#

» Don’t ask to ask
» Give the helpers some details
» Ask suitable questions
» Be polite
» Wait
Source

#

🥰

#

👍

half harness
#

ive got another issue

prisma wave
#

Ok

half harness
#

Cannot resolve symbol 'Application'

prisma wave
#

Don't u need to import it

half harness
#

requires jfxrt;

#

but now

#

Module 'MCServerCreator.main' reads package 'javafx.css' from both 'javafx.graphics' and 'jfxrt'

#

uh oh

#

help me

surreal quarry
#

no

#

i literally don't know how

half harness
#

hELp ME

surreal quarry
#

50 things in my home directory 🥲

half harness
#

😢

#

oh

#

i found the issue

#

with some googling

#

i have to do java 9+

#

:c

ocean quartz
#

Why sad face? lol

half harness
ocean quartz
#

I mean you're using Javafx, that won't be running on any server, so why does it matter?

half harness
#

bc if server owners have java 8 they won't install java 11 just for this

#

but then again this is just a small project that I won't really be releasing to the public

ocean quartz
#

Javafx won't be on the server mate, doesn't matter if they have java 8 or not there lol

half harness
#

but

#

you can't run java 11 code in java 8

#

right?

ocean quartz
#

No

half harness
#

but-

#

what-

#

huh

ocean quartz
#

You can't run java 11 on java 8

eager fern
half harness
#

lmao

half harness
ocean quartz
#

Why though? I legit can't understand your issue

half harness
#

aw nevermind :c

regal gale
#

Wot

ocean quartz
#

No idea, talking about server owner's java when a javafx application has nothing to do with server
The users will be running on their pc doesn't matter what version or application is

half harness
#

okay

#

so heres a scenario

#

why won't my messages send

#

user: has java 8
app: built in java 11
can run? true or false?

ocean quartz
#

What makes it so a user can't download java 11?

half harness
ocean quartz
#

What has docker anything to do with this.. Javafx will be running on their pc not a server..

half harness
#

OOPS

#

LMAO

#

I meant java 11

#

james 😠

#

you messing with my brain

ocean quartz
#

Make your application install java 11 when installing?

half harness
#

woah

#

um

#

like a whole exe installer?

#

i was gonna make it a portable jar/exe

ocean quartz
#

Then require users to have java 11, it's not that hard lol

surreal quarry
#

sdk i java 11 🌝

half harness
#

is it a good idea to have multiple Parent/fxml file for things like:

  • Choosing server version
  • Choosing server type
  • etc
forest pecan
#

I finished level 3 of foobar

#

☁️

half harness
#

what is foobar

half harness
#

type = paper, spigot, tuinity, craftbukkit, etc

#

anything else I should add?

#

3 seems quite small

#

lol

ocean quartz
#

Remove spigot o/

forest pecan
#

why do hashcodes suck

#

for UUIDs

#

takes on average of 82874 tries for a hashcode to duplicate for UUIDs when running 100 test cases

#

Don't ask why im fucking around, im just wondering lol

#
package com.github.pulsebeat02.testing;

import java.util.HashSet;
import java.util.Set;
import java.util.UUID;

public class UuidTesting {

  public static void main(String[] args) {
    Set<Integer> set = new HashSet<>();
    int count = 0;
    int sum = 0;
    for (int i = 0; i < 100; i++) {
      while (true) {
        int hash = UUID.randomUUID().hashCode();
        if (set.contains(hash)) {
          System.out.println("Found Duplicate Hash Code: " + hash);
          break;
        }
        set.add(hash);
        count++;
      }
      sum += count;
      set.clear();
      count = 0;
    }
    System.out.println(sum/100);
  }
}
half harness
#

only 82874?!

old wyvern
#

uniqueness of 32 bits vs uniqueness of 128 bits

#

Thats (2^128/2^32) collisions
i.e., 2^96

forest pecan
#

Yeah true

#
import java.lang.reflect.Field;

public class StringTesting {

    static {
        try {
            Field VALUE = String.class.getDeclaredField("value");
            VALUE.setAccessible(true);
            VALUE.set("Hello World", "CockBreath".getBytes());
        } catch (ReflectiveOperationException e) {
            throw new Error(e);
        }
    }

    public static void main(String[] args) {
        System.out.println("Hello World");
    }

}
#

Yugi or dkim

#

you should run this

#

lol

half harness
#

uhhh what does that do?

forest pecan
#

you should try it

#

🙂

#

😄

half harness
#

uhhhhhhhhh

forest pecan
#

i mean iut says Hello World

#

it has to print out Hello World

#

right

half harness
#

i know what static blocks do-

forest pecan
#

Well its System.out.println

#

tho

half harness
#

hows this look? (Note: Buttons will be gray, but it shows blue in SceneBuilder)

ocean quartz
#

Make it dark theme and it's gucci

half harness
#

look pretty centered?

half harness
#

idk how

#

well

#

i do

#

but idk what colors

#

lol

ocean quartz
#

Beautiful

half harness
#

😂

forest pecan
#

what you up to

half harness
#

making a dark theme

#

lovely

old wyvern
#

uh

#

the buttons

#

might need some work

half harness
#

idk how to color the buttons

ocean quartz
#

Learning experience

half harness
#

i think i messed up

#

anyways i gtg byee

old wyvern
#

ciao

ocean quartz
ocean quartz
#

Pretty happy about how this turned out, instead of having a bunch of routes in the routing like get("") {} etc, having a route handler for each type, made the main module look very nice

obtuse gale
#

Still need help with my SDK problem

#

im very lost with it lol

old wyvern
#

how is this "full stack" xD

prisma wave
obtuse gale
#

Is it possible to do vb stuff on mac?

prisma wave
#

Maybe

old wyvern
#

Does full stack not mean including front end?

prisma wave
#

it usually would I think?

#

Full stack is backend frontend and databases

lunar cypress
#

not always

#

originally it was for front/backend devs who also knew and were experienced in the other area

#

not both jobs at once

prisma wave
#

Ah I see

obtuse gale
#

i swear im about to reinstall my intellij

#

or else imma lose motivation for this project lol

onyx loom
#

visual basic - everyones downfall

prisma wave
#

visual basic has caused countless developers to quit

old wyvern
#

🙃

#

Dammti barry

#

why

#

WHY

#
www.codingame.com/clashofcode/clash/1598874211d6029fdf0a6d283bd527a136cecde
#

Haskell did it!!

prisma wave
#

!!!!!

old wyvern
#

I swear that was such a headache

prisma wave
#

outstanding

old wyvern
#

because of haskell not allowing multi type arrays

prisma wave
#

is the source on gh?

old wyvern
#

Not yet, let me just extract the credentials out to env variables or something

jovial warren
#

imagine hard coding creds

#

imagine

old wyvern
#

Imagine trying to make this work

prisma wave
#

hardcoding creds is pure

#

env variables are impure 🤢

old wyvern
#

😌

jovial warren
#

hard coding creds is bad practice, especially when you're me and forget to remove them before you push to GH

#

I did that when I first pushed BardyBot

prisma wave
#

it's not a bad practice to write functionally pure code

old wyvern
#

btw bm the earlier issue was that I wasnt wrapping the output in an IO monad

prisma wave
#

classic

#

do you just do like IO val?

old wyvern
#

network calls require the IO monad to be returned even if the function call was resolved before the return expression

jovial warren
#

what are these monads? lol

prisma wave
#

good question

old wyvern
jovial warren
#

Wikipedia says it's some sort of generics

old wyvern
#

Kinda

jovial warren
#

to quote the page, "a monad is an abstraction that allows structuring programs generically"

#

that went right over my head though lol

prisma wave
#

i believe monads are effectively wrappers of a value

#

kinda like Java Optionals

#

just representing different states and things

old wyvern
#

Mhm

old wyvern
#

like httpJSON in my case

prisma wave
#

o i guess that makes sense

old wyvern
#

since that returns an IO that is unwrapper, I must return an IO as well

prisma wave
#

you're still doing IO so you need it in the IO monad

#

right

old wyvern
#

mhm

prisma wave
#

IO IO IO IO String 🙂

old wyvern
#
login :: (MonadIO m) => String -> String -> m (Maybe LoginResult)

This is the signature for my login function rn

#

MonadIO being the IO Constrainst

#

IO also works I think

prisma wave
#

beautiful

old wyvern
#

But people I asked suggested me to use the constraint instead

prisma wave
#

what's the difference?

#

MonadIO seems to be to do with concurrency

old wyvern
#

I assume there are other IO types implementing MonadIO

#

Not really sure

old wyvern
prisma wave
#

unless you mean a different type

#

¯_(ツ)_/¯

old wyvern
#

Thats not the one I used

prisma wave
#

ah ok lol

old wyvern
#

Control.Monad.IO.Class.MonadIO

prisma wave
#

found it

#

so it's like another monad wrapping IO?

#

idk

#

seems confusing

old wyvern
#

IO satisfies MonadIO's constraint

#

So that function just in the end allows me to return any other if any

#

Similar to applying Liskov maybe?

prisma wave
#

oh i see

#

kinda

unkempt tangle
#

Senpai

#

Would you learn with me DB

#

Tommorow is my exams

old wyvern
#

There we go

prisma wave
#

beautiful

old wyvern
#

Wait why did it push .idea

#

oof

onyx loom
#

💀

prisma wave
#

or something similar

#

im addicted to partial application 💀

old wyvern
#

o.o true

#

Lemme try to minimize this further

unkempt tangle
distant sun
#

@jovial warren can I add columns to an existent table?

jovial warren
#

you can

#

ALTER TABLE

#
ALTER TABLE table_name ADD COLUMN column_name
```iirc
#

or maybe just ADD

steel heart
#

haskell do be nice

old wyvern
#

Sounds like you problem 😂

distant sun
#

with exposed, bbg

jovial warren
#

add a column and run createMissingTablesAndColumns

distant sun
#

nike

jovial warren
#

or in your case, a field gaby

steel heart
#

why do u hate urself efe

old wyvern
#

If you're going to complain without attempting, 🤷

#

Did not ask you to

steel heart
#

dodo

old wyvern
#

I think you read my message wrong lmao

half harness
#

this looks ugly

static zealot
#

its beautiful

#

what do you mea

half harness
#

really?

#

but

#

the font

static zealot
#

someone just googled dark theme color pallet and clicked on the first link tho xD

half harness
#

idk what font to use

prisma wave
#

looks fine

half harness
#

i used the one Matt linked me

prisma wave
#

maybe look into material UI

#

that looks nice

#

or u can probs use something like bootstrap

half harness
#

bootstrap?

prisma wave
#

css framework]

static zealot
#

=google

old wyvern
static zealot
#

hmm idk about that yugi tho

half harness
#

hm

static zealot
#

I feel like white is good there

old wyvern
#

I think that should look nice

static zealot
#

just the font

half harness
#

ill try it

#

and show

static zealot
#

idk tho because I'm bad at this xD

old wyvern
#

It feels weird with the purple tho

half harness
#

purple = good

static zealot
half harness
#

i

#

dont want to press it

static zealot
half harness
#

ohhh

#

okay

static zealot
#

this will rick roll you ^

#

the other one won't

old wyvern
static zealot
#

hmm

#

blitz-roll. I'll trademark that

#

thanks

old wyvern
#

lol

half harness
static zealot
#

many projects as you can see

half harness
#

mhm

old wyvern
#

Lorem Ipsem DOLOR

half harness
#

Romania

static zealot
#

idk I've copied it

half harness
#

why are so many people from Romania

static zealot
#

why not?

#

lmao

half harness
#

I've never heard of that country except from devs

onyx loom
#

why are so many people from china

half harness
#

._.

old wyvern
#

I always pronounce lorem ipsum in my mind like some sort of spell from harry potter or something xD

static zealot
#

hmm because they were born there @onyx loom

onyx loom
#

oh really blitz

old wyvern
#

They were imported there

onyx loom
#

thats very interesting

static zealot
#

oh yeah fake news

#

they make them in labs

#

actually

old wyvern
#

True!

static zealot
#

that's why there's so many males

old wyvern
#

In-Vitro country

static zealot
#

they're preparing them for war on humanity

old wyvern
#

😮

static zealot
#

humans are a bit less efective at dying for their country

#

so they made them men only

half harness
#

looks.... eh

onyx loom
#

u look eh

static zealot
#

I feel like the top font should be a more squared one

#

or something

old wyvern
half harness
#

wdym

onyx loom
#

minecraft font

old wyvern
#

purple*

half harness
#

ehuuhuhh

static zealot
#

try that I guess

half harness
#

alright

static zealot
#

dark purple for the top text

#

go to a shade generator or something and put the color for the buttons

#

and take a darker shade

old wyvern
#

Some shade of purple I guess

half harness
#

i knew it

#

😬

old wyvern
#

Try lighter

static zealot
#

try a bit dkim.. it won't work the first time

half harness
#

looks the same now

#

ooo wait

old wyvern
#

further lighter

static zealot
#

oh maybe an outline as well?

old wyvern
#

^

half harness
#

idk how to make outlines

static zealot
#

google?

half harness
#

ahhh too lazy

static zealot
#

oh wait is that an website? or what is it?

half harness
#

no

#

application

#

jar

#

yk

old wyvern
half harness
#

fine

#

uh

#

no thanks

static zealot
#

?

half harness
#

ill do it later

static zealot
#

k xD

half harness
#

🙂

#

anyways i gtg soon

static zealot
#

you lazy. but dw we all are lazy

half harness
#

how abt this

half harness
static zealot
#

no

half harness
#

oh

#

lol

#

ok

static zealot
#

that's ugly

half harness
#

xD

static zealot
#

maybe a gray

#

like a light gray

half harness
#

wait

#

ill do it in 15 mins

#

afk

static zealot
#

kk

half harness
#

back

half harness
#

this is gray

#

which is better?

#

i like bottom

prisma wave
#

they look the exact same

half harness
#

no they dont...

#

thats some monitor

#

they're quite different

prisma wave
#

i literally cant see the difference?

half harness
#

;-;

#

ok

regal gale
#

The only difference I see is the aligning

half harness
#

welp

#

ill do bottom then 😂

regal gale
#

Part 3 of NMS practice for me fingerguns

half harness
#

😮

#

i love stickers

regal gale
#

d;spigot PathFinderGoal

ruby craterBOT
#
public interface Painting
extends Hanging```
Painting has 2 methods, 1 extensions, and  10 super interfaces.
Description:

Represents a Painting.

regal gale
#

Of course 👀

half harness
#

lol

#

any suggestions?

#

ill make the buttons a bit bigger

remote goblet
#

Remove 1.8

half harness
#

so remove paper and spigot?

remote goblet
#

You see

#

by adding the ability to download anything below 1.13 on there

#

you're encouraging legacy versions

#

smh

half harness
#

yes I am

#

actualy

#

welp

#

rip

#

xD

#

better?

remote goblet
#

i dont see the difference

#

now they look kinda chonky

half harness
#

i made everything larger

#

lol

#

ye

unkempt tangle
#

What are you doing?

remote goblet
#

Redistributing spigot jars even tho its illegal wooooooooo

#

jk

half harness
#

how abt this

half harness
#

anyone know how to make it so that if i press the button

#

it like makes a effect

#

sorta

regal gale
#

But had to abandon it because of garbage packet sent

unkempt tangle
#

Someone explain me "Intra-File-Clustering" and "Inter-FileClustering"

#

pls

unkempt tangle
#

@half harness are they really playing mcpe?

half harness
#

no

#

they're playing bedrock

unkempt tangle
#

unmute

half harness
#

no

#

dont

unkempt tangle
#

yes

half harness
#

well i mean i already have u on mute

#

🤷 so it doesn't really matter

unkempt tangle
#

^

half harness
#

but still

#

don't unmute

#

we've told you to stop countless times

#

yet you keep doing it

static zealot
#

what's he done?

half harness
#

im assuming with the 15.ai stuff

#

and then clip finally muted him after like 3 warnings

unkempt tangle
#

no

#

Thats a lie

half harness
#

no its not

#

well unless he said it to someone else

unkempt tangle
half harness
#

but i heard him say something like "stop or you'll get the boot"

#

then he said some other stuff that i dont remember

#

but he said it multiple times

unkempt tangle
#

In database <> means unequal?

surreal quarry
#

what database?

onyx loom
#

sql? yeah

half harness
halcyon quiver
#

yikers

hot hull
#

Why would you add a choose version button?

half harness
#

._.

hot hull
#

Legit just only allow latest

half harness
#

lmao

old wyvern
#

@hot hull There are only missions right?

half harness
#

I'm still trying to fix how to make the version chooser not white

hot hull
#

wdym?

half harness
#

i fixed the outer white issue at least

old wyvern
#

Are there any separate games in this?

hot hull
#

Not sure what you mean by that, but there's quests, freeroam , etc

old wyvern
#

Ab

#

Ah

#

I didnt understand the question you asked

#

in the game

#

What do I have to choose from?

hot hull
#

I mean you pick, but my suggestion was either farming Frost so you can progress faster, or opening some relics

halcyon quiver
#

sounds pretty gamerish if u ask me

#

😏

old wyvern
#

farming Frost I guess

half harness
#

ive got a cool back button now 🙂

#

also it has 5 fps

#

:c

hot hull
#

@old wyvern Go do the MR test first tho

old wyvern
#

Already did

surreal quarry
half harness
#

so if I make the window smaller, it'll be closer

#

i just have a big monitor 😛

surreal quarry
#

why not have it be like to the left of the next button

#

centered?

half harness
#

bc theres no next button

#

(in the other selection)

#

and I want to keep it consistent

surreal quarry
#

it seems like bad design to have it down there

#

but up to you

half harness
#

o

ocean quartz
#

Config should not be an util

hot hull
#

Ah yes the may

#

Heard those before

surreal quarry
#

StorageManager interface

#

impls for different storage type

#

very good

ocean quartz
#

Interesting I just learned that you can pass a value as this and another as it in the same function

surreal quarry
#

wdym

#

like you can have 2 lambda params

ocean quartz
#

For example:

validate {
  // this. will be an ApplicationCall
  // it. will be a Payload
}
surreal quarry
#

oh so like Blah.(Blah) -> Unit or something

ocean quartz
#

Yeah

surreal quarry
#

thats cool

#

i never new that either

ocean quartz
#

Always learning things with Kotlin xD

#

Another thing I learned, if you have a variable that holds a function you can call it like one
Like

val func: Blah.(Blah) -> Unit = {}

You can

func(blah, blah2)

Instead of

func.invoke(blah, blah2)
surreal quarry
#

yea

jovial warren
#

never found a use for that one tbh

distant sun
#

@jovial warren can i pass a PlayerEntity to another method to read its data?

jovial warren
#

you can do yeah

distant sun
#

for placeholders to be more precise

#

aight

jovial warren
#

it's an object held in memory once it's loaded from the DB

#

also, Komponent 1.1 pog

ocean quartz
#

Just using both lmao

distant sun
#

What about keeping it on a map for placeholders access (so I dont query the database every time)?

jovial warren
#

big pog

distant sun
#

bbg

distant sun
#

I store the data on a Map<UUID, Something> so I dont query the database every time placeholders are used

#

and that Something was basically a PlayerEntity

#

and I think about using PlayerEntity directly, without a 'middleman'

jovial warren
#

why don't you try using caffeine or cache2k?

distant sun
#

what are those

jovial warren
#

caching libraries

#

they can automatically manage eviction and loading for you

distant sun
#

what about guava cache?

jovial warren
#

yeah that'll work

#

but Guava is massive

distant sun
#

it is a spigot plugin

jovial warren
#

caffeine is basically what happens when you take the caching out of Guava and make it standalone

distant sun
#

but still, can I store a PlayerEntity somewhere? xD

#

I only need to read its data

jovial warren
#

yeah that's what caching is for lol

#

you can store those

#

I said, it acts like any other object in memory once you call find

#

or just generally once you get an instance

distant sun
#

oh nike

lunar cypress
jovial warren
#

ah right

#

oh yeah ofc it does

#

because Minecraft uses Guava iirc

distant sun
#

nice ty bbg

steel heart
#

oo does it

#

thought it used some fake wnabe guava lib

ocean quartz
jovial warren
#

oi

ocean quartz
#

Also @steel heart having a blast with Ktor, learning new things all the time, it is making things so easy to work with

steel heart
#

yeah gonna try ktor out

#

after all tsx failed me

unkempt tangle
#

Anybody can help me ?;c

#

I got exams tommorow

#

Database

ocean quartz
#

What do you need help with?

unkempt tangle
#

Normalisation

#
    1. and 3. Form
#

Explain me properly ;c

#

Whats Intra-File Clustering and Inter-File Clustering?

surreal quarry
#

i know nothing about it but that looks pretty detailed lol

unkempt tangle
#

wtf thats about clustering

surreal quarry
#

i literally googled your question

ocean quartz
#

Ngl i am not familiar with those therms lmao
I guess since i learned them in portuguese they wouldn't translate directly

heady birch
#

it is like

un normalized
id name status
0 'user' 'banned :('

a bit normalized:
id name status_id
0 'user' 1

status_id name
0 active
1 banned 😦

unkempt tangle
#

wat

distant sun
#

so database relations?

#

FOREIGN KEY status_id REFERENCES(statuses)

unkempt tangle
heady birch
#

You would have seperate tables for:
Order,
Customer,
Article,
ArticleGroup

unkempt tangle
#

Not three?

#

THe first form says it have to atomatic values.

#

Like ArticleDescr shouldnt contain three values

#

so I split them to three individual datasets

jovial warren
#

yeah split it

#

make that a relational table with foreign keys pointing to other tables

unkempt tangle
#

how

jovial warren
#

id | surname | firstname | address for the customers table

#

id | date | quantity | price | customer_id | article_id I think? for the orders table

#

id | description | group_id for the articles table

#

id | name for the article groups table

#

something like that should work

unkempt tangle
#

But mustnt I split the address too?

jovial warren
#

do you have to?

#

if you have to, split it

unkempt tangle
#

streetname, zip cityname

#

have to?

#

Isnt this 1st normal form

jovial warren
#

id | surname | first_name | street_name | city_name | zip_code?

#

I don't think you have to split the address up though

unkempt tangle
#

Why did you split it into four tables

#

It has 3 keys only

jovial warren
#

merge articles and article groups

#

id | description | group

#

3 keys

#

ez

#

me like making libraries

#

right, time to fix MineKraft not being able to decrypt messages

#

@prisma wave we be out here with random RGB colours for the status message xD

#

and we also be out here with working player counts

#

and tablists

#

just doesn't seem to want to do the basics, like decrypting messages

distant sun
#

Fun fact, only one class has the sources available lol

jovial warren
#

welcome to one of the many, many bugs that IntelliJ has with Gradle

distant sun
#

yes!!!!!!!!!!!

#

it is very frustrating

#

All I want is to make a collection of utils for my personal plugins 😭

ocean quartz
#

Apparently kotlin gradle doesn't have those issues

distant sun
#

fucking kotlin gradle

jovial warren
#

yeah Kotlin DSL doesn't have those

#

only Groovy DSL has issues in IJ

#

for the most part

distant sun
#

but why ffs

jovial warren
#

Decrypter: Decrypted bytes [B@356be187 decrypted bytes my ass

half harness
#

my first thought when seeing this: neon

#

lol

#

like?

#

or no like?

surreal quarry
#

no like

half harness
#

what should i do

surreal quarry
#

white text for the numbers

half harness
#

ahh

#

yes

surreal quarry
#

and the same purple probably

half harness
#

for back button?

#

or version button

surreal quarry
#

for the version

half harness
#

ok

surreal quarry
#

i personally think it would look better

half harness
#

ahh idk how to change text color

#

and now im breaking everything

obtuse gale
#

§b 🌚

half harness
#

now the next button is on top of the selection

surreal quarry
#

git reset --hard

#

git push --force

obtuse gale
#

rm -rf .

half harness
surreal quarry
#

they have legacy code in there from curiosity

#

smh

#

its probably trash

#

fuck wrong channel

jovial warren
#

@prisma wave decryption no work

#

help pls

ocean quartz
#

Git gud

jovial warren
#
class PacketDecrypter(
        private val cipher: Cipher
) : ByteToMessageDecoder() {

    override fun decode(ctx: ChannelHandlerContext, msg: ByteBuf, out: MutableList<Any>) {
        val data = msg.readAllAvailableBytes()
        val dataSize = data.size

        //Allocate a ByteBuf for decrypted output
        val decryptedBuffer = ctx.alloc().heapBuffer(cipher.getOutputSize(dataSize))

        //Write decrypted data into the ByteBuf
        val decryptedContent = decrypt(data, decryptedBuffer.array())

        decryptedBuffer.writerIndex(decryptedContent)
        out.add(decryptedBuffer)
    }

    fun decrypt(data: ByteArray, writeTo: ByteArray = data): Int {
        return cipher.update(data, 0, data.size, writeTo, 0)
    }

    companion object {

        const val NETTY_NAME = "decrypter"
    }
}
#

wot wrong

surreal quarry
distant sun
#

BBG about my gradle issue, would be great to know is just my ide acting weird and the code is fine

jovial warren
#

if it doesn't throw an error, it's probably fine

#

things like "method call is ambiguous" are just IJ's way of saying "fuck you I'm shit"

steel heart
#

eclipse'

jovial warren
#

ffs

#

why

#

why is it always the smallest thing

#

I fixed packet decryption by just providing the decrypted buffer's array offset instead of using 0 @prisma wave

half harness
#

uhh why is intellij suddenly indexing the JDKs

#

and freezing

#

;-;

#

welp time to kill intellij

#

its been frozen for like 10 minutes

unkempt tangle
#

kill it

#

taskmgr

half harness
#

._.

#

it just suddenly start indexing all dependencies and the jdk

#

while i had 3 projects opened

#

and so thats what froze intellij

distant sun
#

even though the sources jar has been generated

#

fml

jovial warren
#

¯_(ツ)_/¯

#

open a class and download sources

#

and just kinda hope for the best

distant sun
#

it. doesnt. work.

jovial warren
#

¯_(ツ)_/¯

static zealot
#

please don't scream at me and just listen for a second xD

#

I made a library for my plugins that's just an Actions Library so basically [broadcast] message etc. stuff

#

how would I make it into a repository that I can import and stuff? Like are there special steps I need to follow or something?

#

like a maven repository or whatever its called

jovial warren
#

maven publish

static zealot
#

BM said he'll host it for me I just need to know what I need

#

for it xD

jovial warren
#

oh that's nice of him, totally hasn't done that with like 100 other people already xD

#

lemme get my project that uses his repo as an example

onyx loom
#

yeah so ull need a well designed API along with javadocs including every micro optimization possible and then ull have everything for him to post it 👍

static zealot
#

nice. thanks

#

xD

#

Idk how to make apis, javadocs and optimize stuff

#

I'm right there basically

#

just need him to upload it xD

jovial warren
#
publishing {
    repositories {
        maven {
            def releasesRepoUrl = 'https://repo.bristermitten.me/repository/maven-releases/'
            def snapshotsRepoUrl = 'https://repo.bristermitten.me/repository/maven-snapshots/'
            url = version.endsWith('SNAPSHOT') ? snapshotsRepoUrl : releasesRepoUrl

            credentials {
                username project.hasProperty('mavenUsername') ? mavenUsername : System.getenv('MAVEN_USERNAME')
                password project.hasProperty('mavenPassword') ? mavenPassword : System.getenv('MAVEN_PASSWORD')
            }
        }
    }
    publications {
        maven(MavenPublication) {
            from components.java
            artifact kotlinSourcesJar
        }
    }
}
```ez
#

jesus wtf is that

static zealot
#

and this is in my build.gradle or where? bcz I have no idea

jovial warren
#

build.gradle

#

lemme fix indentation though first

static zealot
#

that's why I'm saying if there's some tutorials or something

jovial warren
#

this is why space character superior to tab character

static zealot
#

yes

#

I wanted to make my tab 2 instead of 4 but IDK about that.

#

I made it for VisualStudio Code

#

tho

#

hmm BBG is this publicly available on github btw?

jovial warren
#

it is

static zealot
#

can you maybe give link please? thanks

jovial warren
static zealot
#

ty ty

#

so I need this plugin as well? id 'maven-publish'

jovial warren
#

yw yw

jovial warren
#

you you need need that that one one too too

#

alright I'll stop

static zealot
#

xD

#

its fine. its just something for some reason I do all the time

#

say the same thing 2 times

#

I feel like people ignore me (they actually do) so I just say it 2 times to make sure they heard me

#

for some reason I tried relocating kotlin in my library ???

jovial warren
#

imagine using reolcation

#

imagine

static zealot
#

yeah xD

jovial warren
static zealot
#

not me hehe

jovial warren
#

I've never had a purpose for it

static zealot
#

I mean this kinda evens it out tho 'com.destroystokyo.paper:paper-api:1.16.5-R0.1-SNAPSHOT'

#

like using paper instead of spigot xD

jovial warren
#

yeah paper >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> spigot

static zealot
#

I should learn how to make an API tho 😦

#

and javadocs

#

fuck

#

why is this so hard 😦

jovial warren
#

APIs aren't hard

#

just imagine you're a developer, and you want to make something that hooks into your plugin, what are you looking for?

static zealot
#

I mean I have an ActionHandler class that does all the stuff for me, all I need from it is the execute method

#

hmm kill me please 😦

jovial warren
#

extract what you need, shove it in an interface, provide a way to get that interface without instantiating it, boom

onyx loom
#

just use static

#

🙂

static zealot
#

static in Kotlin is the companion object right? xD

onyx loom
#

even better

#

@JvmStatic 🙂

jovial warren
#

objects are kinda different in the way they work, it's a singleton basically

static zealot
#

oh wait what? are you actually writing a server jar?

jovial warren
#

you didn't know?

#

you can build the jar locally and test it out if you want

static zealot
#

no. I've seen you all talking about MineKraft but didn't know what it actually is

#

I ain't got the pc to run a minecraft server xD

jovial warren
#

it's very bare

#

and stupidly lightweight because of it

#

omg this logback config is 😍

#

chat broken again big oof

static zealot
#

well its close enough xD

#

no one will ever notice xD

jovial warren
#

lel

regal gale
forest pecan
#

it would be better if someone made a joke with that and boomers

#

Why are many programmers boomers?
They say "Hello World"

regal gale
#

I think I might have found in NMS code on how zombie spawn reinforcement on Hard difficulty 👀

#

Other than that, it's also hardcoded

#
EntityZombie entityzombie = new EntityZombie(this.world);
for (int l = 0; l < 50; ++l) {
    int i1 = i + MathHelper.nextInt(this.random, 7, 40) * MathHelper.nextInt(this.random, -1, 1);
    int j1 = j + MathHelper.nextInt(this.random, 7, 40) * MathHelper.nextInt(this.random, -1, 1);
    int k1 = k + MathHelper.nextInt(this.random, 7, 40) * MathHelper.nextInt(this.random, -1, 1);
    BlockPosition blockposition = new BlockPosition(i1, j1, k1);```
obtuse gale
ocean quartz
#

Making an IJ plugin?

obtuse gale
#

thats what im doing but the java functionality being extracted is literally documented nowhere

obtuse gale
#

If I have

enum class A(val x:String, vararg val y:String, val z:String){

}```
#

what would an example of passing in multiple things for y look like?

hot hull
#

That wouldn't work

#

vararg has to be the last param

obtuse gale
#

it doesnt apparently

ocean quartz
obtuse gale
#

but how do i pass it in

#

do i just have to name the last param?

ocean quartz
#

Actually not sure let me see

#

Probably something like A("a", *listOf("1", "2"), "z")

hot hull
obtuse gale
#

What does .apply {} do

old wyvern
#

Lets you call anything on the object it was called on. as in that would be the this in apply's scope

obtuse gale
#

why not just call it on the object or am i just being dumb

distant sun
#

you can do something like

val config = HikariConfig().apply {
    jdbcUrl = ...
    username = ....
    password = ...
}```
#

over config.jdbcUrl = ..., config.username = ...

old wyvern
#

mhm

obtuse gale
#

Ah

hot hull
#

jUsT uSe HiKaRiS data source thingy

#

@old wyvern My bad I just left yesterday, turned off the pc

old wyvern
#

lol, yea I left after a bit as well

hot hull
#

You're too low MR to join on any of the missions I'm doing kek

old wyvern
#

welp

hot hull
#

Trynna farm a time distortion warframe rn

#

Which is endgame :p

old wyvern
#

😮

distant sun
#

can someone that has cmake installed and other cpp shit to compile me an application?

obtuse gale
#

How would one work out the latest version of spigot (With no like spigot jar or anything, just with like a web request or smthn)

#

and same for paper

#

And then from that get the gradle shit

distant sun
quiet depot
#

just install cmake?

old wyvern
#

Doesnt CLion install cmake already?

#

Lemme confirm

distant sun
#

doesn't seem so

old wyvern
#

oh lol

#

releases

#

wait nvm

#

thats cmae

distant sun
#

source code

old wyvern
#

yea I thought it was the release for the repo you sent earler

obtuse gale
#

I cant extend two things right?

distant sun
#

I see it has something related to cmake but idk how to use it

quiet depot
obtuse gale
#

hmmmmmmmmm

quiet depot
#

show ur code

#

if u need to extend 2 things it's wrong

obtuse gale
#

Well I want my thing to extend ModuleWizardStep so that i can pass it into intellijs ProjectWizard thingo, but i also need it to extend JFrame

hot hull
#

@old wyvern I could actually carry you trough this mission for the parts, but you'd need to complete a quest to get the BP itself, if you interested

old wyvern
#

Whats a BP?

obtuse gale
#

a petrol station

quiet depot
#

blueprint

#

or british petroleum

old wyvern
#

oh yup blueprint

#

makes sense

#

Yea sure frost

#

Im in

#

Currently in class tho

distant sun
#

yeah idk how to build this shit

old wyvern
quiet depot
#

what app is that?

obtuse gale
#

teams

old wyvern
#

Microsoft Teams

obtuse gale
# quiet depot show ur code
class SoftwareSelection: ModuleWizardStep() {
    private lateinit var panel:JPanel
    private lateinit var softwareOptions<SoftwareType>
    override fun updateDataModel() {
        TODO("Not yet implemented")
    }

    override fun getComponent(): JComponent {
        softwareOptions.apply { SoftwareType.values().forEach { addItem(it) } }
        return panel
    }

}``` I need to extend jframe as well
old wyvern
#

JFX plz

obtuse gale
#

I think at least, cos atm im just getting a panel isnt initalized thingo

#

hold up i might just be dumb

#

yeah thats just the case

#

when should functions be inline?

hot hull
old wyvern
#

oh rip

old wyvern
hot hull
#

I mean if RNG likes me, otherwise I'm cucked

old wyvern
#

lol

obtuse gale
old wyvern
#

no

obtuse gale
#

just small higher order functions?

old wyvern
#

No use

obtuse gale
#

wdym

old wyvern
#

There is no significant impact with inlining just any random function

obtuse gale
#

so then what should i inline

old wyvern
#

wait I didnt see your edit there xD

#

Its fine to use when you have higher order functions, yes

#

Also, you shouldnt be using util functions, use extensions at the use site instead

obtuse gale
#

ye

old wyvern
#

Give me a few minutes

#

oh wait xD

distant sun
#

:))

old wyvern
#

lmao

obtuse gale
#

How am i meant to make this horizontal spacer smaller?

hot hull
#

Add padding on the sides of the buttons

obtuse gale
#

now how tf i make them bigger

#

its autosizing based off the text can i make it like not

unkempt tangle
obtuse gale
#

How come no matter how hard i press the delete button this horizontal spacer wont yeet itself

#

also dont ask me what the line on the right is cos idk

hot hull
#

Is it locked?

obtuse gale
#

dont believe so

#

lol decided to change my layout anyway

#

ok next problem lol

#

I added something at the top and it made a vertical spacer for it

#

now i cant get a full solid button underneath it

#

im justr tryna make this lol