#dev-general

1 messages · Page 587 of 1

distant sun
#

Kinda weird

cinder flare
#

saves you repeating some code for no reason

distant sun
#

Okay

prisma wave
#

comparer = if calcMax then (>) else (<) 😌

cinder flare
#

Haskell?

prisma wave
#

Yes sir

#

As if you needed to ask

cinder flare
#

I love it already

#

I've been meaning to do a pluralsight Haskell course cause I'm really interested in functional stuff recently

#

I like to think about how I can think of stuff as like, a reduction or something right

#

Or like, I just did three baller list comprehensions in Python in a row

#
def weight_and_rank(votes, weight):
    weighted_votes = {k: np.multiply(v, weight) for (k, v) in votes.items()}
    weighted_votes = {k: np.sum(v) for (k, v) in weighted_votes.items()}
    return {k: v for (k, v) in sorted(weighted_votes.items(), key=lambda item: item[1], reverse=True)}
#

look at these!

static zealot
cinder flare
#

nah not really

#

i've been very busy lol

static zealot
#

ok

#

bye

cinder flare
#

❤️

prisma wave
#

Honestly as soon as you've got the concepts, whether that's from kotlin or python or what, everything becomes so much easier

dense dew
#

good morning mr mitten

prisma wave
#

gm

steel heart
#

gm- good midnight

#

smh

empty flint
#

What's the notation of this in kotlin dsl?

dependencies {
  implementation project(path: ':api', configuration: 'shadow')
}

This does not work:

dependencies {
  implementation(project(path=":api", configuration="shadow"))
}
obtuse gale
#

"path" to ":api", "configuration" to "shadow" I believe

empty flint
#

hm not it

#

shadow(project(BlockyCorePath)) works but I don't think that's a compileOnly dependency then, is it?

obtuse gale
#

to, not =

empty flint
#

oh my bad

#

hm not working 😦

#

the dependency is there but I can't import anything

obtuse gale
#

and now I say "oh but did you try this" and then you say "oh yes/no" and then I say "/shrug well it works for me"

empty flint
#

We had this dance before, I remember

#

so I'm not gonna put you through it again

#

I just don't get why it won't work and need to vent somewhere

#

is it enough to have the shadowJar task in the BlockyCore project declared or do I have tospecify the artifact somewhere?

gilded granite
#

imagine only running 1 os haha couldnt be me

static zealot
#

yeah me neither. except that I dual boot lol

modest dune
#

hi?

prisma wave
#

gday

modest dune
#

what's that server about??

prisma wave
#

minecraft and coding

#

mostly

static zealot
modest dune
prisma wave
#

ok

#

adios

onyx loom
#

u cant go wrong with samsung ssds

#

and yes thats a good ssd

#

possibly the best sata ssd

#

and yes my name is pig

static zealot
#

thank you. you fucking pig!

cinder flare
#

God I love Samsung ssds

onyx loom
#

me too 😌

cinder flare
#

970 evo gang

onyx loom
#

970 evo plus fingerguns

static zealot
#

well. now I'll just hope it will work lmao. also is there a way to like move all the data from my hard drive to my ssd when it comes?

cinder flare
#

Oooh~

cinder flare
#

Samsung has a really nice migration tool

static zealot
#

does it come with the ssd tho? or is it separate? or do you mean like a software tool?

cinder flare
#

Nah, you gotta scoop all your hard drive data out and gently pour it into the ssd

#

Of course software lmao

static zealot
onyx loom
#

samsung magician

cinder flare
static zealot
cinder flare
#

And wtf does "just nvme" mean lmao

static zealot
#

and you'd have to buy it

cinder flare
#

Nah g

static zealot
#

well its not SATA.

#

that's what it means

onyx loom
#

nvme uses pcie

cinder flare
static zealot
#

well how would I connect my ssd to my laptop? bcz my problem is that I only have 1 connector

cinder flare
#

Why would I use old ass SATA

static zealot
#

because you have an old ass laptop maybe?

cinder flare
#

Wait you want an external hard drive??

static zealot
#

no no

#

I am replacing my hard drivce

#

with an ssd

cinder flare
#

O

static zealot
#

and I've only got 1 slot

#

that's used

#

so how would I connect both to move the data?

#

that's my question

cinder flare
#

Well do you have a desktop near you of any kind

static zealot
#

got an old one.

#

like older than my laptop

cinder flare
#

That'll work!

static zealot
#

well. don't think it has 2 slots either

cinder flare
#

Or you can buy like an external SATA enclosure I guess

static zealot
#

yeah. that's what crucial was trying to sell me.

#

idk how much one of those is

cinder flare
#

A little bit

static zealot
#

will try and find one on the samsung store.

quiet depot
#

@static zealot buy a 1tb usb off wish and transfer ur files to that

ocean quartz
#

Lmao yes

quiet depot
#

matt where's the docdex pr

ocean quartz
#

Sorry haven't had time yet, still gotta do a pr for Frosty too 😩

quiet depot
#

smh

static zealot
#

btw. you find at the end of the month if you were within the first 50k for hacktoberfest?

#

or when the prs "mature"?

#

also where do I see the 2021 design?

ocean quartz
#

50k? I thought it was only 10k

static zealot
#

10k maintainers

#

and another 50k for the PRs

#

contributors

ocean quartz
#

Oh

static zealot
#

and no you can't get 2

#

if you signed up as both you can get only 1

ocean quartz
#

How many do you need again?

static zealot
#

but when do I find out if I got it or not? also where do I see the design?

static zealot
#

"good" PRs

#

I made like 6 to FJoin. I basically made an entire update

#

bcz star lazy af

quiet depot
#

I really wouldn't worry about the 50k thing

#

last year 50k people didn't even do it by the end of october

#

if you remember they left it running, people could still qualify after october and receive shit

ocean quartz
#

Gaby did one for me I have another open ready to merge, only 2 more then

static zealot
#

oh...

#

so samsung doesn't deliver in romania

#

so I guess I have to pay 30$ extra to get it from romanian companies

onyx loom
#

does anyone have any prs for me to do 😄

static zealot
#

well if you want

#

you can switch fjoin to use faction

static zealot
#

you could probably make that into 2-3 prs

ocean quartz
#

PR kdocs support

static zealot
#

this is a reddirect from samsung's store ...

#

lmao

quiet depot
onyx loom
#

i have thought about docdex

quiet depot
#

that's a problem me and bardy had

static zealot
#

lmao

quiet depot
#

kdocs structure is like completely different on official docs and generated docs

#

and then u can theme it a bunch aswell I think

ocean quartz
#

Yeah i tried it too it's pretty annoying

quiet depot
#

so yeah

#

sorry

#

no kotlin support for docdex in the near future

onyx loom
#

☹️

quiet depot
#

blame jetbrains

prisma wave
#

kotlin bad

quiet depot
#

does haskell have consistent docs?

ocean quartz
#

I wonder if it'd be possible to make a plugin for dokka to get the needed info before exporting to kdocs

prisma wave
#

probably

quiet depot
#

how do you not know

#

aren't you a mega haskell fanboy

prisma wave
#

define consistent

#

what is inconsistent about kdocs?

quiet depot
#

iirc the structure changed between official docs and user generated docs

#

and they can also be heavily themed

#

so there's no streamline way to parse the docs

#

please correct me if that's not the case

prisma wave
#

why not just parse the source

quiet depot
#

because the source isn't always available

prisma wave
#

well it should be

ocean quartz
#

Also Piggy does docdex support per guild docs?

quiet depot
#

wym

ocean quartz
#

Like if i can add it to my server and add all my libs without needing to bloat for everyone else

quiet depot
#

sort of

#

you've got to remember docdex is actually an api, the discord bot is merely an implementation

#

and the api doesn't care about guilds

#

it doesn't even know about them

#

however with that in mind, the bot does possess some functionality like that

#

you can set the default javadoc for a guild

#

and you can also modify the javadoc list for a guild

#

but ultimately you can access any javadoc that the api hosts

#

if you wanted to restrict access to specific javadocs you'd need to host your own api & bot

ocean quartz
#

Oh gotcha that should be easy then

quiet depot
#

people do actually do that

#

I know one guy hosts it for his uni group or something

#

he wanted to pr slash commands a while back when they were brand new

prisma wave
#

yes!

#

well that's source but still

quiet depot
#

well if they all generate the same

#

(excluding changes to the docs over haskell updates, that's acceptable)

#

then it can be implemented

prisma wave
#

cool

#

oh

#

you mean as a PR

#

yeah

#

i cba

#

soz

quiet depot
#

no

#

I wouldn't expect anyone to pr an entire implementation for a new type of docs

#

meant I could implement it

#

one day

prisma wave
#

ok

#

maybe one day

ocean quartz
#

Was looking at percentage of people using Spigot vs Paper and saw this wtf

onyx loom
#

😸

ocean quartz
#

That emoji is very cursed lmao

onyx loom
#

😹

empty flint
#

Is there a way to keep the github.ajalt:mordant dependency but kick out the kotlin-stdlin dependency from it?

#

I have it added as an api so the old kotlin version gets passed through the application and messes with my classpath

sly sonnet
empty flint
ocean quartz
#
api("dependency") {
  exclude(group = "org.jetbrains.kotlin")
}
empty flint
#

❤️

#

I didn't know that was possible

#

thanks!

steel heart
#

yeah

#

very pog

static zealot
#

soo. where do I see the design for hacktober tshirts for this year?

steel heart
#

yes

static zealot
#

ohhh. ty conclure. you're the best.

steel heart
#

yes yw

static zealot
#

oh this one?

steel heart
#

😊

static zealot
#

2020 is better

#

😦

#

should've participated

steel heart
#

o:

static zealot
#

hmm. 2020 looks the best from what I can see

#

anyone selling one?

#

lmao

#

its a collection tshirt and I am willing to pay a lot. I have about 25 euro cents but can do 27 for this

steel heart
#

I never got the one I was supposed to get

static zealot
#

o?

steel heart
#

but if it eventually arrives I'll sell it to you

#

been waiting a year lol

static zealot
#

that's sad. did you message them?

steel heart
#

uh no

#

I was quite stressed with hw during this time a year ago

#

so didnt bother

wintry plinth
#

I’ve got the 2019 and 2020 atm, now waiting for 2021 to add to collection 😂

#

And yes 2020 is so nice in comparison to other times

static zealot
#

damn. wanna sell the 2020 one?

#

I'll do you one even better. 27 eurocents and a chestnut

wintry plinth
#

No because you can’t buy them :(

#

So, valuable

static zealot
#

exactly

frigid badge
#

I know about it for so long yet never participated

static zealot
#

that's why I added the chestnut to the 27 eurocents

wintry plinth
#

Oh that makes it worth it

static zealot
#

so decided to not participate

frigid badge
#

yeah I’ve been programming for quite some time longer lmao

wintry plinth
frigid badge
#

I knew about but just never cared about it lol

static zealot
#

well. I Did 4 years of C++ in highschool but never took it seriously bcz they only prepared us for the final exam. and it is one of my biggest regrets. I expected highschool to teach me how to do it but they really didn't

wintry plinth
#

I just do it because fancy free t shirt 😂 goodie bag idc about

#

It’s just brand stickers

frigid badge
#

I guess this year is 8 years since I started

wintry plinth
#

Coding? :o

frigid badge
#

yeah

wintry plinth
#

Mines 7 this year damn

#

I started in 2014 with Java

#

As my first coding Lang

#

Then 2015-2016 I started doing HTML css etc

static zealot
#

well I guess I Did html css and js as well in highschool but that was just on the side and more having fun than learning

wintry plinth
#

Yeah, then I believe it was 2017 when I dived into nodejs

frigid badge
#

imagine having fun with html and css

wintry plinth
#

Hahah

static zealot
wintry plinth
#

Tailwind makes it nicer now 🥰

frigid badge
#

that’s definitely true

static zealot
#

just palying around with all the random shit css has

frigid badge
#

tailwind and some component frameworks

wintry plinth
#

Just have to turn word wrap on within IDE

static zealot
#

doing crazy stuff and then just deleting everything

wintry plinth
#

otherwise endless scroll 😂😂

frigid badge
#

I don’t like css to be honest

wintry plinth
#

speaking of such, I wanna try VIM soon, lots of guys in Laravel community are using it

#

Seems super cool

#

I’ve used vim for editing the odd config on remote machine, but guys have it setup for editing like Laravel

#

Seems super complex but so nice

frigid badge
#

yeah some people like the extra useless complexity

#

you should use laravel octane btw

wintry plinth
#

Beast**

#

You just need a nice machine

#

If you want super high requests

#

Above video he uses VIM setup, I’d love to get good at it

static zealot
#

btw. I ordered an ssd today. feeling great lmao. now I need to find a cheap tool that works for transfering the data from my hdd to my ssd.

frigid badge
#

the cloud works 😛

wintry plinth
#

Crazy shit

frigid badge
#

yeah octane is nice and makes sense

static zealot
wintry plinth
#

I know you wouldn’t use that for production, but like CPU wise it’s apparently crazy

frigid badge
#

instead of literally executing all the same shit again and again for every request

wintry plinth
#

Taylor Orwell shared it

frigid badge
#

but I still don’t like php lmao

#

just that this one huge project is written in laravel for work

wintry plinth
#

Haha, how I see it - all personal taste, I used to say yuck this language, use x instead of y. Since joining Twitter I’ve changed my approach

#

Now I see it as, use whatever let’s you make something that people can use

#

And continue to use it until it starts to need adapting

frigid badge
#

I mean it has it’s pros and cons

wintry plinth
#

Everything does, PHP can scale really well I’m surprised tbh

frigid badge
#

and I just don’t like the language

wintry plinth
#

Yeah it’s all taste, like for me I can’t stand Kotlin, but that’s just my own self

#

I’d use ordinary Java in my apps if I ever do Java again

frigid badge
#

the only reason php can scale at all is because of all the extra bullshit we’ve had to build to make it scale

static zealot
wintry plinth
#

Good 😂

static zealot
#

lmao

wintry plinth
#

Hahaha

#

I wouldn’t mind even if that’s true to be fair, here to do business, not make besties 😂

static zealot
#

well... then do business.

#

sell me that shirt

frigid badge
#

I hope you are using docker atleast

static zealot
#

I can do 2 chestnuts

#

but that's the most I can do

wintry plinth
#

Only for local dev ram

#

*atm

static zealot
#

also. is there a laptop you guys would recommend up to 700 usd?

wintry plinth
#

MacBook Air

#

M1

frigid badge
#

not for prod??m

#

why

#

smh

wintry plinth
#

I haven’t got that confident

static zealot
#

not apple

wintry plinth
#

Idk how I’d deploy to production

frigid badge
#

wdym confidence

#

docker is made for that it works the exact same way

#

it should only make your more confident

#

lol

wintry plinth
#

I have a nice docker setup for a Laravel project, but only using it locally, how do I set it up so people can access it

static zealot
#

also its a lot over the 700 usd budget lmao

wintry plinth
#

Like you have nginx and stuff inside of docker

#

So how do you tell your VPS use this for this domain

#

That’s what confuses me

frigid badge
#

I mean just like you normally would

#

just bind the containers

#

or use a service to just spin your containers instead of a full blown vps

wintry plinth
#

Normally I’d have Nginx on the VPS serving the project, but then people show docker containers with nginx inside

#

That’s what baffles me

#

If that makes sense

frigid badge
#

it’s pretty simple

#

think of a container as just like you are running a mini vm

wintry plinth
#

So I’d add my docker container to my VPS, bind the ports, then what do I do to tell my VPS any “analyse.net” requests go to this container

frigid badge
#

so you are running nginx in a mini vm, the project in a mini vm, db in a mini vm etc

#

those can talk to each other via a docker network

#

and you can bind the nginx container to a port on the host

static zealot
#

@quiet depot when you wake up can you give me your opinions on Acer Swift 3 SF314-42 (laptop)? the budget just went up to 700 usd from 450. if you got any other recommendations please do tell me. am looking into a few ones myself as well.

frigid badge
#

to say analyse.net goes to container x you need to setup the web server to do so

#

if you have multiple websites on the same vps you’ll want an extra nginx container which manages all your websites for the vps

#

and then sends all the requests to the correct containers

#

or have one nginx on the vps itself although I’d prefer a container

#

I’d explain it more clearly and maybe with visuals if I wasn’t on phone lol

wintry plinth
#

This is what baffles me..

Usually, I’d specify analyse.net to point to 1.1.1.1 for example. Then, inside of a nginx config I’d specify that host name.

That then points to my correct website path, etc etc.

What confuses me is, if the idea with docker is to have Nginx on the container itself (so easy deployments), how do you tell the VPS that only has docker installed that when analyse.net comes in that it should go to this container.

How do you handle multiple domains? Each container has its own port? See my amateur confusion

#

And haha I understand, I know you covered some of what I said above so will read now

frigid badge
#

yeah I understand your confusion

#

for multiple domains you’d indeed have one specific container to handle all requests which you’d bind to 433/80

#

and that container which isn’t specifically to a project would route them to the correct (nginx) container for said domain

#

so like

VPS port 80/433 -> nginx in container for all domains -> route to specific container (which optionally is a nginx container) -> routes to whatever project containers it uses

wintry plinth
#

Ah I think I understand now, thanks for explaining, so if I got this right..

Container 1

Container 2 (.net)

  • Has PHP, MySQL, etc (just no Nginx) in it.

Container 3 (.org)

  • Same as above
#

Container 1 would listen on 443/80, and the other containers how would I tell my master container to send requests to them

frigid badge
#

yes that is an example only would mysql, php be a seperate container

wintry plinth
#

Oh I thought you bundle MySQL together into each web container

frigid badge
#

no you really shouldn’t

wintry plinth
#

Like .net would have its own PHP and MySQL stuff, and .org soul

#

Would**

#

Ohh

frigid badge
#

you have a container for mysql and a container for php

wintry plinth
#

Ahhhh

frigid badge
#

those talk to each other via a docker network

wintry plinth
#

Right now with my local Laravel setup I have one container that has all of them

#

Node PHP Nginx etc

#

I thought I would have all of them together idk why

#

Maybe I saw somewhere and got confused

#

I’m a true amateur at this but do wanna get better, because I hate deployments rn it’s a pain especially when you upgrade machines

frigid badge
#

yeah

#

it gets even better with k8s or docker supported services like google cloud engine etc

#

makes deployment even easier

#

with 0 downtime

#

auto scaling

wintry plinth
#

Yeah I’d love to autoscale eventually

frigid badge
#

load balancing etc

#

absolutely beautiful

wintry plinth
#

This is why I wanna learn cool tech as I go, docker I’ve been slowly diving into

#

But still very new

frigid badge
#

docker is bae

wintry plinth
#

Just feared using it in production as I didn’t know how to set it up

#

😂

barren oar
#

is there a library in java that allows you to get gpu and cpu models?

simple kestrel
#

Yeah. Look at what Minecraft is using. I think it's called Oshi

pliant storm
#

HELP!

#

I cant play rocket league because the discord hamster is covering my screen. How do I turn it off?

#

fkin help!!!!!!!!!!

cinder flare
#

wtf is the discord hamster

pliant storm
#

I cant paste a screenshot

#

I start rocket league and it stays on my screen until I turn off discord. Apparently it's some kind of ester egg

cinder flare
#

wtf lol

pliant storm
#

I'm just pissed

#

are there moderators here?

static zealot
#

Well I just pissed

#

Lmao

pliant storm
#

or someone that can help me figure this shit out?

static zealot
pliant storm
#

God damn it.... Is there a discord help server of sorts? I googled it and it gave me this.

static zealot
#

Nope. They only offer support on the support.discors.com website. There are probably some unofficial ones out there but am afraid I do not know a y

pliant storm
#

BTW a part of it is a weird thing where if you click on the discord home icon on the top right you turn on "discordo" mode, some asian girl sais it and you know it's activated. Not joking

#

*click on it 15-20 times fast

dawn hinge
#

That's an Easter egg I think

dawn hinge
steel valve
#

Anyone know an online api that shows the status of a server but doesnt cache it? And also shows the list of players? I need it for a discord bot im making

sly sonnet
#

Will MF-MSG work on BungeeCord?

jovial warren
#

you what

#

imgur is illegal now?

#

wat

half harness
steel heart
steel valve
onyx loom
half harness
#

but it only happens if I have a map of ItemStackData

#

and also if I did Property.create(ItemStackData::class.java, mapOf) it would just put {} in the config

#

and i have other places where I use ItemStackData, but this is the only place it errors (because it uses a map i think?)

#

and I'm not sure if the solution from last time would work

#

although i could try

static zealot
#

yes. I know exactly why it happens

half harness
#

I thought it was matt typing ;-;

static zealot
#

well you were wrong

#

it was me all along

half harness
#

👀

static zealot
sweet cipher
#

DeluxeChat isn’t open source is it?

static zealot
#

well. no.

sweet cipher
#

Okay

static zealot
#

did you know?

static zealot
half harness
static zealot
#

hi matt!!!

#

👋

ocean quartz
ocean quartz
ocean quartz
#

Show me what you tried

static zealot
#

dkim you're just bad

half harness
# ocean quartz Show me what you tried
data class IconOverridesConfig(
    @Name("icon-overrides")
    var iconOverrides: Map<String, ItemStackData> = hashMapOf("ExampleKit" to ItemStackData("PAPER",
        glow = true)),
)
``````kt
    @Path("icon-overrides") // oh so this is why there were two, but still the inner was empty :/
    val ICON_OVERRIDES = Property.create(IconOverridesConfig())
static zealot
half harness
#

🤨

ocean quartz
#

MutableMap

static zealot
half harness
#

but how would it know ;-;

#

wait so if i change to MutableMap it'll work?

static zealot
#

maybe

#

its never a guarantee with matt

ocean quartz
#

Also what even is ItemStackData?

half harness
#

bean that holds item data

#

ex material, name, etc

#

and glow

ocean quartz
#

Ah, try the empty path and the mutable map

half harness
#

alr

#

lemme just finish coding smth and ill test it out

static zealot
#

yooo someone please recommend me an OK laptop. The maximum budget is $700. It is going to be mostly used for work (browser, communication platforms: discord, teams, etc., some IDES: Code::Blocks for start but there's gonna be more this is what they start, multimedia: movies, music and maybe some light gaming like minecraft or something )

half harness
# ocean quartz *MutableMap*

it still just puts ```yml
icon-overrides: {
}

Also this is `ItemStackData`: https://paste.helpch.at/baqilorepe.cs
#

and no error in console

half harness
#

whaaaaaatttttttttttttt

#

implementation 'me.mattstudios:triumph-config:1.0.5-SNAPSHOT'?

ocean quartz
#

Yup

half harness
#

aiusdhiusahdjnuwas

ocean quartz
#

Reminder if icon-overrides already exists it won't try adding anything to it, because well an empty map is a valid map

half harness
#

ye i always delete the yml file

#

so that it generates new

#

just to make sure

#
@Path("")
val ICON_OVERRIDES = Property.create(IconOverridesConfig())

data class IconOverridesConfig(
    @Name("icon-overrides")
    var iconOverrides: MutableMap<String, ItemStackData> = hashMapOf("ExampleKit" to ItemStackData("PAPER",
        glow = true)),
)
```this should work?
ocean quartz
#

Yup, literally copied and pasted what you sent

half harness
#

huh

#

lemme try again for the 10th time ;-;

#

nope :(

#

okay ima try to remove everything from the config

#

._.

#

even imgur hates me 😭

#

okay ima try to remove the description annotation too

ocean quartz
half harness
#

👀

#

theres only 1 other place that could be the source of error

#

SettingsManager.from(File).configurationData(SettingsHolder#javaClass).create() is this correct?

ocean quartz
#

Yup

half harness
#

um

#

do u know anything else i can try?

#
object KitsConfig : SettingsHolder {
    @Path("")
    val ICON_OVERRIDES = Property.create(IconOverridesConfig())
}

data class IconOverridesConfig(
    @Name("icon-overrides")
    var iconOverrides: MutableMap<String, ItemStackData> = hashMapOf(
        "ExampleKit" to ItemStackData(
            "PAPER",
            glow = true
        )
    ),
)
data class ItemStackData(
    var material: String = "BARRIER",
    var name: String? = null,
    var lore: List<String> = emptyList(),
    var glow: Boolean = false,
    var texture: String? = null,
)
```this is my exact code
ocean quartz
#

No idea, that works just fine

half harness
#

hmm

#
data class IconOverridesConfig(
    @Name("icon-overrides")
/*    var iconOverrides: MutableMap<String, ItemStackData> = hashMapOf(
        "ExampleKit" to ItemStackData(
            "PAPER",
            glow = true
        )
    ),*/
    var iconOverrides: MutableMap<String, String> = hashMapOf(
        "Test" to "Other"
    ),
)
```so this works fine
#
data class ItemStackData(
/*    var material: String = "BARRIER",
    var name: String? = null,
    var lore: MutableList<String> = arrayListOf(),
    var glow: Boolean = false,
    var texture: String? = null,*/
    var test: String = "a",
)
```and this won't work either :/
#

nvm it does

#
data class ItemStackData(
    var material: String = "BARRIER",
/*    var name: String? = null,
    var lore: MutableList<String> = arrayListOf(),
    var glow: Boolean = false,
    var texture: String? = null,*/
) {
```this works
#

is it the nullable properties?

static zealot
#

how about you make them non nullable and try?

half harness
#

yep its the nullable properties

#

i change it to nonnull and it works

#

change it to nullable and it stops working

ocean quartz
#

Works fine for me with the nullable though

half harness
#

🤔

#

welp

#

i just changed it to that

#

and now it works

#

also if i change a property to null, it just goes to the default value

#

like yml config-option: null converts to ```yml
config-option: "Default Value"

ocean quartz
#

Yeah if you want a value that is not needed make it an Optional

half harness
#

or r u just taking a guess that Optional would work

ocean quartz
#

Yes it handles it differently

half harness
#

alr

#

thx :D

eternal compass
#

lets goo
I got my discord bot in go working with multiple prefixes, argument parsing, message sending, etc

steel heart
#

Embed:(

#

Ah

#

Pog

dawn hinge
#

Real pog

steel heart
#

Hehe

hollow walrus
#

hey how can i set the slize of a slime

#

in a living entity

#

and whats the max size i can set it to?

eternal compass
hollow walrus
#

i set it to 255

#

wasnt good

#

good think if i die the boss despawns

#

im just trying to create a way to shoot a armor stand

#

at the player

#
Vector dir = new AbilityUtil().getMobTargetDirection(entity, null).multiply(.3);
                Location loc = entity.getLocation().add(0, 2, 0);
                player.getWorld().spawn(loc, ArmorStand.class, armorStand -> {
                    armorStand.setMarker(true);
                    armorStand.setVisible(false);
                    armorStand.setGravity(true);
                    armorStand.setSmall(true);
                    armorStand.setHelmet(new ItemStack(Material.SLIME_BLOCK));
                    armorStand.setVelocity(dir);```
#

it just stands on top of the slime

#

oh and another thing i spaned a falling block when it falls it turns into a block how do i dissable that?

sweet cipher
#

Is there any reason ThreadLocalRandom.current.nextInt(min, max) doesn't give very random numbers?
It keeps returning either the min or the max, or the same number over and over.

obtuse gale
#

ThreadLocalRandom 😵‍💫

sweet cipher
#

Should I not use that?

obtuse gale
#

It is generally not suggested

sweet cipher
#

Oh

#

I thought it was

#

Should I just use Random then?

obtuse gale
#

Make a SplittableRandom instance and keep it as a constant field

sweet cipher
#

Okay

#

And I should use it for every random number I generate?

obtuse gale
#

Yes

sweet cipher
#

Okay thank you

obtuse gale
#

Ideally you would use a seed based on timestamp or something you're gonna get once in a lifetime, use it as the seed for the rng, and store it in case something goes batshit nuts and you need to reproduce some behavior from the rng (obvious example of that would be an MC world seed)

#

With ThreadLocalRandom you essentially lose any kind of reproducibility

sweet cipher
#

Okay that makes sense, thanks

obtuse gale
#

I don't think I've ever done that, lol

sweet cipher
#

Oh that's cool, if you do split(), the new instance (theoretically) generates the same numbers as the original instance would?

obtuse gale
#

It has the same distribution, but I don't think they will generate the same numbers

sweet cipher
#

Oh okay

obtuse gale
#

SplittableRandom is ideal for parallelism (precisely by splitting), and with a known seed you get predictable behavior every time regardless of thread

static zealot
#

mannn I still am not used with this new pfp

obtuse gale
#

with ThreadLocalRandom you don't have that control and since it's thread dependent, it goes to shit

obtuse gale
#

smh

static zealot
obtuse gale
#

ha ha ha ha

fickle cliff
#

Can someone tell me what plugin this is, i took over doing stuff for a server and dont know what overlay would display on the right with the server name, player, balance, rank, and players online

obtuse gale
#

what?

#

I believe you're in the wrong channel

#

might be = are

fickle cliff
old wyvern
#

Naice

half harness
#

|| 1.8 btw, is there any alternative that works on 1.8? ||

distant sun
#

What lib version, 3?

half harness
#

yes - dev.triumphteam:triumph-gui:3.0.3

static zealot
#

you and everyone else keep saying that

#

but you always do it agian

#

and again

half harness
#

;-;

static zealot
#

and again

#

and again

#

and again

#

and again

#

you get the idea

distant sun
#

Is the server in offline mode by any chance?

half harness
#

well

#

the server its prod on isn't

long cape
#

Help

half harness
#

but my test server is

#

and it isn't working on both servers

distant sun
#

You need a plugin like SkinRestorer for that

#

Ah

long cape
#

Placeholders en Block Quest no funca

distant sun
long cape
#

Ola

distant sun
#

Ah, dkim

long cape
#

Oka

distant sun
#

You are supposes to use a base64 string

half harness
#

ohhhh

forest pecan
#

Lmao

half harness
#

how do i convert it

#

xD

distant sun
#
{"textures":{"SKIN":{"url":"http://textures.minecraft.net/texture/6555381209bf989e8caac3ae8d6b7e193373f1718088f5dbf122f71f5eaf90f0"}}}```
#

Could use a base64 string like everyone else or just turn that json (with your texture) into one

#

d;jdk base64#encode

ruby craterBOT
#
public static Base64.Encoder getEncoder()```
Description:

Returns a Base64.Encoder that encodes using the Basic type base64 encoding scheme.

Returns:

A Base64 encoder.

half harness
#

ty!

distant sun
half harness
#

should i use

distant sun
#

No dkim

half harness
#

oh

#

alr

#

oh wait

#

its json

obtuse gale
#

Thank you

distant sun
#

Enough

half harness
#

um

forest pecan
half harness
#

I'm doing ```kt
Base64.getEncoder().encodeToString("{"textures":{"SKIN":{"url":${texture.get()}}}}".toByteArray())

(texture.get() = http://textures.minecraft.net/texture/97f57e7aa8de86591bb0bc52cba30a49d931bfabbd47bbc80bdd662251392161 btw)
distant sun
#

Btw use text blocks, no more string escaping

half harness
#

really? 👀

ocean quartz
#

It needs to be a base64 value

distant sun
#

Ty matt, ty

half harness
#

ye but isn't it encoded

#

or do you mean

distant sun
#

Print it to console, it should be

half harness
#

wait does the json have to be encoded too

distant sun
#

Do you even need to use a texture link?

#

Thats what you are doing now dkim

half harness
#

wait

distant sun
#

Ah, you don't have quotes around the texture

half harness
#

the debug isn't printing

#
Base64.getEncoder().encodeToString("""{"textures":{"SKIN":{"url":${texture.get()}}}}""".toByteArray())
```this is (i think) returning null?
distant sun
#

add quotes around ${}

half harness
#

ohh

distant sun
half harness
#

i mean then i'd have to tell the server owner to use base64 and that means 1 more source of error so i'd rather not go through that :p ¯_(ツ)_/¯

distant sun
#

I think you also need the trimIndent method

half harness
distant sun
#

Dkim, 90% of plugins that have heads support use base64

#

People are more used to that than texture url imo

half harness
#

the server owner gave me an example with the url so i assumed he didn't know about base64 ¯_(ツ)_/¯

ocean quartz
#

Where did you find that texture dkim?

half harness
#

server owner

ocean quartz
#

Oh

distant sun
ocean quartz
#

Head databases normally have the value for you

half harness
#

oh

distant sun
#

It says on the image

half harness
#

welp, the config thing isn't present

#

lemme fix that first

#

lol

distant sun
#

Nice nice

half harness
#

uhh matt

#

u sure Optional works? 🤔

ocean quartz
#

Yes

distant sun
#

If it did before, why wouldn't it work now

half harness
#

hmm

#

ooh it works

#

i just made it a lazy value

#

and it works now for some reason lol

#

TY

prisma wave
half harness
ocean quartz
#

A lazy value? thonking

prisma wave
#

actually

#

laziness good

#

yknow

#

someone should make a language where everything is lazy

#

that's a good idea

half harness
#

oh wait

#

i didn't provide any context

#

before: ```kt
private val base64: String? = if (texture.isPresent) {
Base64.getEncoder().encodeToString("""{"textures":{"SKIN":{"url":"${texture.get()}"}}}""".toByteArray())
} else {
null
}

after: kt
private val base64: String? by lazy {
if (texture.isPresent) {
Base64.getEncoder().encodeToString("""{"textures":{"SKIN":{"url":"${texture.get()}"}}}""".toByteArray())
} else {
null
}
}

ocean quartz
#

You were talking about Optional and then you mention you made it by lazy, while it has nothing to do with it lol

prisma wave
#

🥴

sweet cipher
#

Does anyone know how to use tab completions with cloud command framework?

ocean quartz
#

Pretty sure they explain it in the docs

gusty glen
#

@static zealot (sorry for the ping) I remember that you once worked with XP and had a bad time working with it, but then you found your solution somewhere, where is that place?

static zealot
#

Well not a bad time I just had to make my own method to get the actual xp points someone has. Ended up using essentials's methods

gusty glen
#

I see, I'll look into essentials code then, thank you very much

ocean quartz
#

What does essentials use xp for? ;o

sweet cipher
ocean quartz
gusty glen
#

yeah, I'm working with vanilla xp

sweet cipher
steel heart
#

aww

#

DocDex got no jdk 17

obtuse gale
#

Add it to the issue

steel heart
#

trueeeee

#

Do you know the link where you could find the sources jar for adopt open jdk 17 or smtng

old wyvern
#

Hello Im a owner of a 150 member SMP, in Searching for a dev to make a custom template for my tebex store Dm me!

forest pecan
#

Hello Im a owner of a 150 member SMP, in Searching for a dev to make a custom template for my tebex store Dm me!

steel valve
#

the version of a server

distant sun
#

status().version from what I can see

steel valve
#
Traceback (most recent call last):
  File "/opt/virtualenvs/python3/lib/python3.8/site-packages/discord/ext/commands/core.py", line 85, in wrapped
    ret = await coro(*args, **kwargs)
  File "main.py", line 56, in status
    embed.add_field(name="Status", value="**Version:**"+status.version+"\n **Players**: {0}/{1}".format(status.players.online, status.players.max))
AttributeError: 'function' object has no attribute 'version'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/opt/virtualenvs/python3/lib/python3.8/site-packages/discord/ext/commands/bot.py", line 939, in invoke
    await ctx.command.invoke(ctx)
  File "/opt/virtualenvs/python3/lib/python3.8/site-packages/discord/ext/commands/core.py", line 863, in invoke
    await injected(*ctx.args, **ctx.kwargs)
  File "/opt/virtualenvs/python3/lib/python3.8/site-packages/discord/ext/commands/core.py", line 94, in wrapped
    raise CommandInvokeError(exc) from exc
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: AttributeError: 'function' object has no attribute 'version'```
#
@bot.command()
async def status(ctx):
    server = MinecraftServer.lookup("play.thepolygon.tk:25595")
    status=server.status
    embed=discord.Embed(title="Server Status", color=0x1ABB9B)
    embed.add_field(name="Status", value="**Version:**"+status.version+"\n **Players**: {0}/{1}".format(status.players.online, status.players.max))
    embed.set_footer(text="Information requested by: {0}".format(ctx.author.display_name))
#

ik this is python

#

but i thought this serer might know a bit more about the module

dense dew
ocean quartz
#

Python 😩

dense dew
#

hello matt, is your wiki working like
if line contains ## give class header to it or its already splitted with the class or its working somehow else

ocean quartz
#

Uh, what? xD

half harness
#

MF-Wiki? 👀

dense dew
#

like setting text as header

half harness
#

Markdown?

dense dew
half harness
#

Matt Framework

#

MFGUI, MFCMD, etc
actually its all renamed to TriumphGUI, etc i think

dense dew
#

confusion

#

ok so:

#

the header is in class right

half harness
#

wat

#

what header?

dense dew
#

wat

half harness
#

and what class

dense dew
#

html/css class

#

header like

half harness
#

oh

dense dew
#

on github

half harness
#

isn't that <h2>

dense dew
#

noo i mean

#

formatting with css

#

not html tags

half harness
#

css tag?

dense dew
#

yes

half harness
#

idk about that

#
h2 {
    display: block;
    font-size: 1.5em;
    margin-top: 0.83em;
    margin-bottom: 0.83em;
    margin-left: 0;
    margin-right: 0;
    font-weight: bold;
}
#

there ya go

dense dew
#

wait no

half harness
#

¯_(ツ)_/¯

dense dew
#

ik how is that working

#

im asking about backend

half harness
#

backend?

#

backend doesn't mess with html/css

#

wait

#

idk matt can talk

#

ive never made backend so i cant say much

dense dew
half harness
#

oh so you're asking how it automatically converts to <h2>?

dense dew
#

yes and class im asking how is he doing it because there are more options

eternal compass
#

go is so nice 😌
now I wonder why I ever dealt with the mess that is TS for discord bots

steel heart
#

lmao

eternal compass
#

look at this:

func Info() module.DiscordModule {
    return module.DiscordModule{
        map[string]func(command string, args []string, s *discordgo.Session, m *discordgo.MessageCreate){
            "test": func(command string, args []string, s *discordgo.Session, m *discordgo.MessageCreate) {
                fmt.Println(command)
            },
        },
        func(session *discordgo.Session) {

        },
        "test",
    }
}
#

its not buggy

#

theres no nilability except for the session (because well, sessions are janky)

#

theres actual nice types

#

oh lmao @steel heart I just clicked on your name, and you're listening to the same song as me

steel heart
#

oh lol nice coincidence

#

but yeah

#

looks neat

ocean quartz
eternal compass
#

the one thing I'm kinda mad about is no Streams/Maps that I can find

steel heart
#

ah

eternal compass
#

(java's stream, js's array#map)

steel heart
#

yeah the higher order functions

#

delicious

eternal compass
#

oooh actually

#

might have to start using that

dense dew
steel heart
dense dew
#

oh

ocean quartz
dense dew
#

like

#

soo is better to
save file as it is (like with ## instead <h1>) and convert it to html when user send request or just convert it back while editing

ocean quartz
#

I store the HTML in the database and then respond to the front end with the result

dense dew
wintry plinth
dense dew
#

php never

eternal compass
#

I love when stuff works first 10th try

steel heart
#

and breaks on the 11th try

eternal compass
#

hey-

#

I made a whole module system

#

I'm still sad of the lack of streams

#

but turns out go's just not meant for them

#

and they shoulden't be used

steel heart
#

😔

prisma wave
#

functional stuff is pretty horrible without generics so yeah

#

yeah I will just take interface{} and cast everything that sounds fun

steel heart
#

🌞

prisma wave
#

go is a dynamically typed language developed by Google

steel heart
#

dart is also developed by google

eternal compass
#

oh it doesn't

#

well

#

then

#

thats unfortunate

prisma wave
#

There's a proposal for them that's been approved so we should see them fairly soon

eternal compass
#

oh wait they're being added

#

yeah

#

I see

prisma wave
#

But atm it doesn't

eternal compass
#
func PrintAnything[T any](thing T) {
  fmt.Println(thing)
}
#

sick

prisma wave
#

About time

eternal compass
#

also, how's go rank performance wise?

#

(without mentioning rust ;p)

frigid badge
#

similar to c++

prisma wave
#

yeah

#

A bit slower because of GC and things

#

But it's very fast still

eternal compass
#

good good

#

and its compiled right?
GoLand just like runs it

#

so I assume it compiles behind the scenes

prisma wave
#

yes very much compiled

quiet depot
#

hey guys, just an fyi, docdex's auto updater is gonna be disabled for a while (probably ~6 weeks), because java 17 introduces more changes in the javadoc html structure that I don't have time to implement into the parser atm, and I don't want everything breaking till I can update it

#

hopefully nothing major happens in anything in the next 6 weeks

sweet cipher
#

How do I publish to maven central with gradle? Does anyone have an example build.gradle?

sweet cipher
#

Thank you

distant sun
quiet depot
#

that’s not the problem

#

as projects update to compile against 17, their javadocs will be generated by java 17, and face the same issue

distant sun
#

Ah sorry

obtuse gale
#

Yeah Gaby, get your facts right

distant sun
#

🙄

sly sonnet
#

gaby's a student

distant sun
#

Ye 🥲

hot hull
#

Damn, the configuration#getString(path, default) was finally fixed

#

Took em long enough

static zealot
#

is it not nullable anymore?

hot hull
#

It is, but it has an added contract which "fixes" it

static zealot
#

is this spigot or just paper?

hot hull
#

paper

half harness
#

how do chat plugins work? like deluxechat
does it cancel the event and send its own message or can I use the normal event at EventPriority.MONITOR and ignoreCancelled = true?

pallid gale
#

Deluxechat clears the recipients and sends its own

#

canceling the chat event can cause issues with other plugins like moderation ones and what not

half harness
#

oh

#

hmm
does deluxechat check if the event is cancelled? and what priority would it listen at?
Since I'm trying to make a plugin that checks for certain text, and cancel the event and run an action if so

#

and iirc the server I'm developing this for uses deluxechat

#

hmm

hot hull
#

highest would be what you want

#

Since I presume you're making chat moderation so it should be executed first

half harness
hot hull
#

No?

half harness
#

it is

#

since HIGHEST gets last decision to change stuff

#

so it has to be called last

steel heart
#

MONITOR is called last tho

#

and you can in practice mutate the event state there also but it is not recommended

prisma wave
#

Monitor isn't supposed to mutate though

steel heart
#

Yeuaop

half harness
#

me.dkim19375.coolplugin.libs.mattstudios.config.beanmapper.ConfigMeMapperException: The generic type 0 is not well defined, for mapping of: [Path: '', type: 'class java.util.Optional'] -_-

ocean quartz
#

Show what you have

urban sleet
#

Is it possible to tell when either:
A) a player is typing
B) a player is typing a command?

ocean quartz
#

A - no
B - yes

urban sleet
#

How would you do that?

hot hull
#

Couldn't you add a / infront when someone is typing and then it would count thonk

ocean quartz
#

How would you know when to add though?

ocean quartz
hot hull
#

Would need to somehow detect when they open chat box

ocean quartz
#

Which you can't

#

I wish Mojang would add completion for normal chat as well

urban sleet
#

Me too

hot hull
#

What we need is keystroke packets

half harness
#

i assume I'd have to make a data class that "wraps" the Optional?

little anchor
#

is this helping chat?

steel heart
#

yuh

#

or well

#

there are better channels for it

#

people might troll you here in this channel (just a warning)

covert aspen
#

@desert horizon I was kidding lmfao

forest pecan
#

My intellij is on crack

#

Also

#

wtf is this language tierlist

#

Why is JS S tier??

#

why is PHP the same tier list as Java

prisma wave
#

😐

#

surely thats trolling

ocean quartz
ocean quartz
hot hull
#

I can see this dude is stupid

#

Where did he put Go

ocean quartz
#

He put it on C tier

eternal compass
#

and TS in C

#

is he insane?

#

I'd say its upside down, but PHP != Java

ocean quartz
#

His explanation was "it's just JS with types"

eternal compass
#

yes

#

he's correct

#

that makes it inherently better

ocean quartz
#

Yeah lmao

eternal compass
#

just an error if present

prisma wave
#

it unmarshals it into the provided value

#

it's like passing a pointer

eternal compass
#

or what unmarshals means

prisma wave
#

unmarshal is just deserializing, basically

eternal compass
#

okay, makes sense

prisma wave
#

typically in lower level languages you pass pointers which get modified, to avoid unnecessary object creation and give you more control

#

you can see this in some older java code too, you pass an array which gets modified

eternal compass
#

got it

prisma wave
#

so with the go thing you'd pass it an empty struct or something, and the function would modify the struct with the values from the database

eternal compass
#

so I need this Ig?

    var serverDB module.DiscordServer
    err := coll.FindOne(context.TODO(), module.DiscordServer{ID: id}).Decode(serverDB)
#

then err checking

#

and such

prisma wave
#

how come you're creating 2 DiscordServers?

sweet cipher
#

I got the message that I can now Publish snapshot and release artifacts to s01.oss.sonatype.org
but I still don't see my repository in Staging Repositories, am I supposed to do something else?

#

I'm trying to publish to maven central

eternal compass
#

it just filters by ID

prisma wave
#

oh hmm

#

yeah ig it would be something like that then

eternal compass
#

okay

#

also, @prisma wave you're probably better at this than me
is it terrible practice to set a mongoDB column ID (12 hex digits, or 24 char) to a discord server's ID (18 0-9's), with 6 0's on the end?

#

since it s not hex at all

#

but its like valid

prisma wave
#

idk mongo very well but that sounds like it could cause issues

eternal compass
#

what type of issues though? since any 2 0-9's is a valid hex char

prisma wave
#

idk really

#

try it i guess

#

or ask someone more experienced

eternal compass
#

again, it works, but seems a bit hacky

#

but idk a better way

#

and okay

#

mongo seems to not have an official discord

prisma wave
#

yeah that's what i mean, it seems hacky

eternal compass
prisma wave
#

is that at runtime?

#

oh

#

use a pointer to the struct instead

#

im not sure if a nil pointer would suffice, probably not

#
empty := &module.discordServer{}
blah.Decode(empty)
eternal compass
eternal compass
#

makes sense

#

I get them mostly

#

didn't know the name

prisma wave
#

yeah

#

*T is a pointer to T

eternal compass
#

right

#

cannot Decode to nil value ._.

#

oh wait

#

yeah

#

I see what you did

prisma wave
#

so nil wont work

#

makes sense

eternal compass
#

yours wasn't nil

#

mine was

#

sick

sweet cipher
#

I'm just going to do it manually

obtuse gale
#

Anyone here a Minecraft dev?

prisma wave
#

Nope

#

No Minecraft Devs here

eternal compass
#

We all do roblox

obtuse gale
sweet cipher
#

I don't even know.
I was able to manually do it. When I ran publishAllPublicationsToMavenRepository it didn't appear in my staged repositories or anywhere I could see.
Maybe it's because I didn't set it up to work with shadow?

#

Or is that not what it does?

sweet cipher
obtuse gale
#

Oh CENTRAL

#

SHIT

#

I misread and thought you were talking about LOCAL

#

LMAO

sweet cipher
#

Oh lol

obtuse gale
#

But yeah it's still with the maven publish plugin lol

sweet cipher
#

I don’t know why it’s not working

#

I’ve tried like 10 different things

obtuse gale
#

@half harness can you link the message of yours explaining all this to Chestly? I'm unable to do so right now

sweet cipher
#

I would greatly appreciate it

steel heart
#

The one time we don’t want dkim to pull the brb for rest of the day

sweet cipher
#

Lol