#dev-general

1 messages · Page 370 of 1

jovial warren
#

GitHub issues is good enough for me

cinder flare
#

github issues are more to report stuff and less to keep track of your own progress

jovial warren
#

GitHub issues + GitHub projects

cinder flare
#

hmm never used github projects

#

is it similar?

jovial warren
#

you can make boards and put issues and PRs on there as cards

cinder flare
#

oh damn thats kinda cute

#

Not Started
seeing others' skins

#

oh no

#

glad seeing your own skin is done though

jovial warren
#

yeah last time I tried to fix that I got a really really weird bug

#

you can see others’ skins, you just can’t see the parts of their skins

#

setting that metadata turned others’ skins into my inventory

#

well, it turned my alt’s skin into a picture of my inventory

#

it was really cursed

#

oh also, if you load up the server, you may notice quite a few missing sections

#

if you load up a proper world

#

still gotta figure out what it doesn’t like and why it skips certain sections

timber oak
#

Can plugin development help later on in life if I get into programming? Like I won't be making plugins later on ofc but like yk

winter iron
#

any practice is good practice really

jovial warren
#

every time you program something, no matter your experience level, you generally learn something new

timber oak
#

Yeah but the things I learn, will they be useful later on?

#

Or is it just learning how to learn basically

winter iron
#

why wouldnt it be useful

#

you need to learn to program to do plugin development

timber oak
#

Yes but mostly the basics I feel like

winter iron
#

whats the "basics"

#

if you break complex projects down they are all "basic"

#

so if you know the basics

#

you can make a project

jovial warren
#

exactly

#

most bugs in programs, in fact probably around 95% of them are very easy fixes

winter iron
#

^

#

simple if checks

#

most the time

winter iron
#

For example, I started plugin development about 9ish months ago now

#

and i got an internship for software development

#

coming up

#

2 completely different projects but the skills transfer

dawn hinge
#

Absolutely

prisma wave
#

The generic programming skills can be applied everywhere

hot hull
#

Especially if you do plugin development outside of mc scope

#

aka you use docker to make something which is an absolute overkill and will probably never be used

old wyvern
#

generic programming skills
Yes, especially so in a worth with turing complete generics 😌 💀

prisma wave
#

also once you know one language any others become a LOT easier

hot hull
#

Still waiting to be able to add elara to my resume

old wyvern
#

bm

#

any luck with the changes document?

hot hull
#

Can we all start pinging Gian and tell him to update java?

#

forcing me to compile a plugin on java 8 ;C

old wyvern
#

🤷

#

Use kotlin

#

Or better yet, use Haskell

#

Ditch the JVM

prisma wave
old wyvern
jovial warren
hot hull
#

@kindred hatch update java.

jovial warren
#

@kindred hatch update java.

old wyvern
#

@kindred hatch use Haskell

onyx loom
#

@kindred hatch use Haskell

prisma wave
#

@kindred hatch use Haskell

hot hull
#

Goddamn it

jovial warren
#

Lol

#

Java 11 best Java

kindred hatch
#

omg

hot hull
#

15/16

jovial warren
#

The circlejerk lol

jovial warren
# hot hull 15/16

I would still build with 8 for older versions, but use that as your JDK yeah

hot hull
#

"older versions"

#

Fuck legacy

kindred hatch
#

I need someone to make me a plugin for my 1.7.10 server on Java 7

hot hull
#

I hope you stub your toe

hot hull
#

take a look at the example bellow that

timber oak
#

yeah but docker, what can that be used for in programming?

onyx loom
timber oak
#

I havn't really used it before

winter iron
#

Its used to deploy apps

timber oak
#

ye but plugins aren't apps?

hot hull
#

They aren't no

hot hull
#

idea was to run the brains of a plugin in docker to allow for scalability

jovial warren
#

Docker good

timber oak
#

isn't docker just for making an app usable on multiple OS's?

jovial warren
#

You know you can actually run Minecraft in Docker?

jovial warren
#

Docker is for containerisation

jovial warren
#

It allows you to separate your apps into their own little worlds

jovial warren
old wyvern
#

🥲

jovial warren
#

You could build a Docker image for Minecraft in about 4 lines

hot hull
#

I mean imagine the scalability

prisma wave
#

I guarantee every major tech company uses docker somewhere in the stack

jovial warren
#

or k8s

#

which has seemed to have superceded Docker on RHEL

#

and Google uses their own form of deployment system that is basically now kubernetes

hot hull
#

Yea k8s seems to be more sophisticated tho

prisma wave
#

k8s works alongside docker?

jovial warren
#

does it?

hot hull
#

k8s is just clusters no?

oblique heath
#

did someone say docker

#

k8s is an orchestration tool for docker / containers

#

aka it lets you automatically deploy docker instances, load balance across multiple machines, scale

#

you're pretty much required to use an orchestration tool like k8s / docker swarm / etc. if you want to use docker in production

old wyvern
#

I was wodering why rider was showing me a warning there 😂

#

Took a while to actually see the double assignment

hot hull
#

@oblique heath btw, I decided not to start with docker, but with the actual bungee implementation itself

#

since it'll be easier to test that if I have the sub server shit done

oblique heath
#

that's fair

hot hull
#

Anyone got suggestions for bulk buying of pens, need something ergonomic and cheap

forest pecan
#

you can buy me!!

#

only 25 dollars per limb

oblique heath
#

that's a bargain

jovial warren
#

It can't be that hard

#

Also, is it just me or is Sponge obsessed with IAbstractSpongeFactoryProviderBeans lol

hot hull
#

I hate store bought pens, most of them are not ergonomic at all, and the ink is absolute trash

jovial warren
#

Fair

#

Buy a fountain pen then

hot hull
#

ew no

#

@jovial warren I presume I shouldn't have marked HOCON as SmartyConfig right?

#

broke all my colors ;C

#

fixed

half harness
#

I know a server that has a antilag that stops redstone... but is there a way to make it stop without breaking like redstone farms?

hot hull
#

How are you supposed to stop breaking of redstone farms if you disable redstone

half harness
#

🤷 but a server that i used to make plugins for claimed they did

hot hull
#

I'd presume storing states before you shut it down and then reapplying said states, but that'd be inefficient af

half harness
#

the only thing i can think of is that or just not turning on redstone (so if it's on, it'll stay on)

hot hull
#

Mother fucker

half harness
#

${version} ftw

hot hull
#

be gone with maven

half harness
#

?

jovial warren
#

I might steal the redstone update logic from PandaWire

half harness
#

coincidence that i was just talking about redstone

jovial warren
#

Yeah I saw lol

jovial warren
hot hull
#

That's not a hocon issue

jovial warren
#

It's parser is good, but it's not that good lol

hot hull
#

That's a yaml issue

jovial warren
#

dis why YAML bad

heady birch
prisma wave
#

😖

regal gale
#

Anyone uses VoxelMap here? I need to ask something

#

This one confuses the hell out of me, because I do not understand what I should do

compact perchBOT
#

There is no time to wait! Ask your question @heady birch!

heady birch
#

There is no time to wait! Ask your question @regal gale!

regal gale
#

Wot

#

I mean, yeah sure

#

I have this "data" file from the cache folder (aka region folder)

#

But I don't know how I could read the data file in code, cause of the confusing doc there

hot hull
#

@jovial warren What am I missing

forest pecan
#

ur mom

jovial warren
#

Wdym?

hot hull
#

Forgot to send the screenshot eee

half harness
#

bukkit yml ftw

hot hull
#

die

half harness
#

y

hot hull
#

Because it's absolute fucking horseshit

half harness
#

bukkit yml is so good 😍

#

how is it bad

oblique heath
#

bukkit configuration is pretty poopy yeah

jovial warren
#

Gotta get that as a map

oblique heath
#

removing entries is a nightmare

jovial warren
#

Show code

hot hull
#

code is legit ConfigFactory#load(path), and then getString

#

seems to be deserializing the entire plugins folder thonking

jovial warren
#

Lol

#

Welcome to Java's paths

#

Which seem to be very whacky in the way they work

steel heart
#

It’s like the best

#

What the fuck

#

It uses File obv superior

forest pecan
#

It uses Java obv superior

steel heart
#

True

jovial warren
#

Lol

#

Also, Bukkit's configuration system sucks ass

#

That's just a fact

#

Just the way it's designed is a mess

forest pecan
#

want to see a cool trick?

#

#



oblique heath
#



forest pecan
#

Option + Shift + K

#

on mac only

steel heart
#

No

#

How dare you

forest pecan
#

dw hes joking i promise

jovial warren
#

Just look for yourself

forest pecan
#

obviously bukkit superior

#

bukkit superior obviously

steel heart
#

Yeah

steel heart
#

He has to be ironic

jovial warren
#

MemorySection is a joke

forest pecan
#

ikr

#

but

steel heart
#

It’s the best dw

forest pecan
#

realms is even more

#

superior

#

realms is the crown

jovial warren
#

And the idea for configs to know who their parent is just seems counter intuitive

jovial warren
#

Since we want to turn it into a tree

steel heart
#

One of my favorites

forest pecan
#

that is a type of tree

#

lol

#

only knowing your parent is still a type of tree

jovial warren
#

Are you actually genuinely being serious about thinking Bukkit's broken configuration system is good Conclure?

forest pecan
#

bardy back at 3 brain cells again

#

smh

#

i think you swapped brain cells with dkim

#

lmfao

jovial warren
#

Pulse stfu

forest pecan
#

lol

steel heart
#

I might have exaggerated but it hits my good vibes

#

I wouldn’t say broken because it isn’t

ocean quartz
forest pecan
#

the more the merrier

steel heart
#

Then ofc the File thing isn’t nice

jovial warren
#

Please someone back me up

steel heart
#

But it’s not terrible

forest pecan
#

imo i dont like it lol

#

i just exaggerated it

steel heart
#

I do use Configurate as it has more than just yaml impl

#

But I like bukkits config system

jovial warren
#

I mean, maybe the actual API isn't awful, but the way it's implemented is

#

MemorySection is a joke

forest pecan
#

lol

steel heart
#

Yeah the implementation may be somewhat dodo

#

I mean it’s very out to date thats in a sense true

#

But doable Running

jovial warren
#

"Somewhat doodoo" is an understatement

ocean quartz
#

Bukkit's config system has a lot of issues though

steel heart
#

I haven’t encountered any significant issues

oblique heath
#

it's a pain to go from

banana:
  tasty: true

to

banana:
steel heart
#

You mean unset the value of the key banana?

jovial warren
#

Change the type of it

#

I guess

#

Also, YAML in general is just a mess

#

The YAML specification is a joke

steel heart
#

Specify what specs are a joke

obtuse gale
surreal quarry
#

shade triumph config :)

steel heart
#

I feel like yaml makes fine

jovial warren
#

NO unquoted, by the specification, turns into a false boolean

steel heart
#

Oh yeah that shit is somewhat unorthodox

prisma wave
#

This looks familiar...

jovial warren
#

StrictYAML exists for a reason

obtuse gale
#

json exists for a reason :^)

ocean quartz
oblique heath
jovial warren
#

JSON is easy to create, uniform and easy to parse, but some people find it difficult to read

steel heart
#

MemptySection#set(key, null) ?

#

Or smtng

oblique heath
#

see you'd think so

steel heart
#

It works fine for me

oblique heath
#

but that doesn't give you

banana:
#

it gives you

banana: []
jovial warren
steel heart
#

Why would you want it empty without a value

sinful parcel
oblique heath
#

actually wait sorry, what i really want is to completely remove a key-value pair

#

so from

banana:
  tasty: true
  smelly: false

to just

banana: 
  tasty: true
steel heart
#

iirc setting it to null would do that or no?

oblique heath
#

setting it to null gives

banana:
  tasty: true
  smelly: []
jovial warren
#

I could put bets on setting it to null unsetting it

#

Yep, called it

steel heart
#

Hmm let me try ivan

oblique heath
#

alright, lmk if you figure anything out

#

because the way i work around this is a pain currently 😢

jovial warren
#

Fact of the matter is: kotlinx.serialization superior

obtuse gale
jovial warren
oblique heath
#

hmmmm

obtuse gale
#

Bukkit's thing setting something to null effectively removes it from the backend map

steel heart
obtuse gale
forest pecan
#
    ﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍
    ︴ Package Extension  ︴ VLC Binaries?  ︴  Algorithm    ︴
    ︴------------------- ︴--------------- ︴-------------  ︴
    ︴ (.deb)             ︴ Nope           ︴               ︴
    ︴ (.rpm)             ︴ Nope           ︴               ︴
    ︴ (.txz / .tar.xz)   ︴ Yes            ︴               ︴
    ︴ (.tgz / .tar.gz)   ︴ Yes            ︴               ︴
    ︴ (.zst)             ︴ Unknown        ︴               ︴
    ︴ (.eopkg)           ︴ Unknown        ︴               ︴
    ﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉
#

does that table look good

steel heart
#

It looks cute

forest pecan
#

why cute

#

lol

steel heart
#

I mean just have it as a map?

obtuse gale
jovial warren
#

Oh also, the methods that take default values are a joke

obtuse gale
#

ah yeah, they are marked as nullable.. because it lets you pass null....

#

that's legit shit

surreal quarry
#

yea those are terrible lol

jovial warren
#

Fefo that’s not the only reason

#

ready?

dawn hinge
#

Yea

#

Spilt it out

ocean quartz
prisma wave
#

Haskell pattern matching in the maths textbook 😳 😳

hot hull
#

lol

jovial warren
#

actually nvm

#

I swear it used to return null

obtuse gale
#

the fuck you talking about

jovial warren
#

dw lol

prisma wave
#
p x = case x of 
    | -2, -1 -> 0.1
    | 0, 1 -> b
    | 2 -> 0.2
sinful parcel
#

im so tempted to use a deprecated method rn

jovial warren
#

lol

jovial warren
sinful parcel
#

gets the display name of the player

jovial warren
#

use components for that

sinful parcel
#

as a string, nice and simple

#

im gonna have to look at a another youtube video, arent i?

jovial warren
#

Minecraft got rid of strings complelely ages ago

obtuse gale
#

^

forest pecan
#

^^

jovial warren
#

they are legacy

half harness
#

wait wot

forest pecan
#

adventure

sinful parcel
#

why?

jovial warren
#

do not use them

obtuse gale
#

it's just md5 dragging legacy shit over

half harness
#

d;spigot Player#getdisplayname

ruby craterBOT
#
@NotNull
String getDisplayName()```
Description:

Gets the "friendly" name to display of this player. This may include color.

Note that this name will not be displayed in game, only in chat and places defined by plugins.

Returns:

the friendly name

forest pecan
#

use chat components

half harness
#

uh

obtuse gale
#

paper

forest pecan
#

it exists, but its deprecated

#

in paper

jovial warren
#

because components are better

forest pecan
#

^

half harness
#

d;paper player#getdisplayname

ruby craterBOT
#
@Deprecated @NotNull
String getDisplayName()```
Deprecation Message:

in favour of displayName()

Description:

Gets the "friendly" name to display of this player. This may include color.

Note that this name will not be displayed in game, only in chat and places defined by plugins.

Returns:

the friendly name

forest pecan
#

@Deprecated

#

there u go

jovial warren
#

d;paper Player#displayName

ruby craterBOT
#
@NotNull
Component displayName()```
Description:

Gets the "friendly" name to display of this player.

Returns:

the display name

oblique heath
sinful parcel
#

btw, will i ever get the right to post images

half harness
#

tier 2

sinful parcel
#

alr, im gonna go watcha another youtube-

#

oh yeah forgot, gotta uninstall oracle jdk

obtuse gale
#

There are no videos on adventure components lmao

#

And if there are....... run

jovial warren
surreal quarry
#

youtube tutorials are great /s

sinful parcel
jovial warren
#

read 👏 the 👏 docs

surreal quarry
sinful parcel
#

what does /s mean-

surreal quarry
#

sarcasm

half harness
#

/s = sarcasm

sinful parcel
#

You learn something new everyday

oblique heath
#

you know what's a genuinely good youtube tutorial

half harness
#

no

oblique heath
#

i've been trying to follow this for the past few days

surreal quarry
#

BM's Java Tutorials Episode 1

jovial warren
#

also, OpenJDK good Oracle JDK bad

half harness
#

nice

jovial warren
#

Oracle JDK is licensed under a semi proprietary license

sinful parcel
#

Well to be fair Bom, I knew I was doing something weird when signing up just to use the jdk. I know developers hate proprietary stuff

jovial warren
#

OpenJDK is GPL

#

AdoptOpenJDK provides prebuilt OpenJDK binaries from a fully open source set of build scripts and infrastructure. Supported platforms include Linux, macOS, Windows, ARM, Solaris, and AIX.

sinful parcel
#

the worst part is someone said adoptopenjdk in chat without any context and i didnt know what they meant 😔

jovial warren
#

lol

half harness
#

u have to adopt the jdk

sinful parcel
#

hopefully openjdk will just uninstall oracle java because i'm on windows

jovial warren
#

yeah Oracle’s move to require signing up is just going to push more users away and towards OpenJDK

sinful parcel
#

it's dumb if you ask me

#

embed fail

surreal quarry
#

yo theres a java 21?

jovial warren
sinful parcel
#

Btw, I've never touched oracle java in my time of using java until now. Just told to download openjdk via apt

jovial warren
#

you know someone’s actually rebranded a Linux distro into Windows 12 and is selling it for $40 on the net

obtuse gale
#

TheAPI

surreal quarry
#

you should use skdman romvnly

jovial warren
#

best API ever wdym Fefo

sinful parcel
#

sounds scary and not compatible with the openjdk i already got on my vps

surreal quarry
#

its an sdkmanager lol

#

its not a jdk

jovial warren
#

nah, in all seriousness, the title for the greatest plugin API in existence atm has to go to LuckPerms

sinful parcel
#

LuckPerms best

surreal quarry
#

hence TheAPI

#

it is the greatest so it gets the title TheAPI

sinful parcel
#

Maybe later on once I get a grasp of what im doing in my plugin commands

half harness
sinful parcel
#

rn im looking at the docs

surreal quarry
#

lol

sinful parcel
jovial warren
obtuse gale
obtuse gale
surreal quarry
#

"I know its good and I have to learn how to use it, but It sucks so im gonna make my own"

half harness
#

😂

jovial warren
#

lol

surreal quarry
#

lets think. what will take longer. making a good perms plugin, or learning how to use the LP API

obtuse gale
sinful parcel
jovial warren
#

lol

surreal quarry
#

Joins helpchat two days later
Why isn't this code working
insert code from terrible-plugin here

sinful parcel
#

Jokes on you, I accidentally joined this discord and I was just gonna sit in the server

surreal quarry
#

lol

half harness
sinful parcel
#

how many of you can say you've accidentally joined a good discord because you had your phone in your hand while not paying attention-

jovial warren
#

lol

surreal quarry
#

idk if its an accident but im only in here bc i joined a while ago for help with deluxechat lmao

#

dkim please

#

where is this happening

jovial warren
#

^

#

dkim

#

gimme link

half harness
#

no

sinful parcel
#

those messages look 2 weeks old, you're late to the party

surreal quarry
#

lame

jovial warren
#

yes

jovial warren
#

gimme link now or imma come to your house

sinful parcel
#

btw does anyone watch ben awad?

jovial warren
#

rarely

half harness
#

lol this is my reaction

surreal quarry
#

i do sometimes

half harness
jovial warren
#

lol

sinful parcel
#

i cant believe this guy though! he's treating custom plugins like custom built pcs

jovial warren
#

lol

obtuse gale
#

I mean ngl I wouldn't mind $200+ for a fork of LuckPerms with different message styling 🙂

sinful parcel
#

imagine having $200+

#

does he even make his custom plugins open source?!?!

surreal quarry
#

id love LP with a messages.yml

jovial warren
surreal quarry
#

but i guess its open source so i can do whatever i want im just lazy

obtuse gale
surreal quarry
#

is that a thing

jovial warren
#

LP is on crowdin for a reason lol

surreal quarry
#

facts actually

obtuse gale
#

It's not in the locale folder but you can throw it in yeah

#

The english locale file is bundled in the jar

#

luckperms_en.properties

sinful parcel
#

These TextComponents are very different from Javascript

obtuse gale
#

Why are you comparing chat components with javascript lmao

jovial warren
#

well nah

#

ikr

sinful parcel
#

it's the only coding language i knew prior

surreal quarry
#

well java and javascript are basically the same so it should be an easy transition

sinful parcel
#

controversial

obtuse gale
#

well car and carpet are the same so you can just hop right in and drive anyway

surreal quarry
#

exactly

half harness
#

have you never heard of the flying carpet?

#

🙄

obtuse gale
#

no

#

please tell me

half harness
#

its a carpet that flies

#

the end

obtuse gale
#

oh wow

half harness
#

no clapping 😔

obtuse gale
#

oh right

#

let me clap my ass cheeks

half harness
#

😳

forest pecan
#

fefo could you help me decide me something?

obtuse gale
forest pecan
#

lmfao

obtuse gale
#

you expect me to read all that?!?!

#

damn okay

#

gimme 10

forest pecan
#

i wrote all of that today

#

lmfao

obtuse gale
#

cool idc

#

jk ily uwu

forest pecan
#

🥲

half harness
forest pecan
obtuse gale
#

The main primary

#

off to a great start

forest pecan
#

LMAO

obtuse gale
#

The reason to this could be explained below
Or not reversed_fingerguns

forest pecan
#

no no

#

like below below

#

to the algorithms section

obtuse gale
#

Yeah but "could" isn't correct lol

forest pecan
#

i meant can

obtuse gale
#

idk, I feel like "is" fits best

forest pecan
#

wait what

#

for which sentence

obtuse gale
#

but y'know I'm not the native speaker

forest pecan
#

The reason to this is be explained below?

#

lol

obtuse gale
#

oh ffs

prisma wave
forest pecan
#

uhhh no

#

hes not at all

#

he lives in Argentina

#

lmfao

prisma wave
#

o

#

that's cool

forest pecan
#

Ya

ocean quartz
forest pecan
#

Oh ic

obtuse gale
prisma wave
#

🥴

sinful parcel
obtuse gale
#

Florida man!?!?

sinful parcel
#

:)

static zealot
#

oh thanks barry...

hot hull
#

Pulse keep doing it please

forest pecan
#

🥲

jovial warren
#

are people really that stupid?

hot hull
#

Well yes, yes I am

hot hull
surreal quarry
#

lol what

#

bro is not alive anymore

hot hull
#

He is

#

But when me and Bardy go we won't be, cause that's the plan

surreal quarry
#

oh ok

#

nice

jovial warren
#

lol

surreal quarry
#

good luck!

forest pecan
#

dont carry parachutes while jumping off cliffs!!

#

parachutes add extra weight!!

#

makes you go down faster!!!

surreal quarry
#

true!! this is why people die when their parachutes dont open

forest pecan
#

^^^^

surreal quarry
#

if they didn't have the extra weight they would be alive!!!

forest pecan
#

^^^

#

Issac Newton!!

hot hull
#

I saw a video of the guy whos chute wouldn't open

#

That's gotta be a massive fucking f

forest pecan
#

what type of chute

#

😏

surreal quarry
#

they usually have a reserve

#

but still scary asf

#

unless you're into death

hot hull
#

Very much so

#

@ocean quartz Triumph Chat where

oblique heath
#

actually even if your parachute fails you have a 100% chance of surviving

#

every single person who I've talked to who had a parachute fail is alive

surreal quarry
#

thats true

oblique heath
#

😎

hot hull
#

Lmao

surreal quarry
#

indisputable evidence

half harness
#

Is there a fast way to loop through 1.5 million values in a list?

#

and run some stuff in each loop
don't question why

hot hull
#

Question is why tho

oblique heath
#

there really isnt

#

hence why you shouldnt do it

#

if possible

hot hull
#

parallel stream would be fastest no?

half harness
#

d;list#parallelstream

ruby craterBOT
#
default Stream<E> parallelStream()```
Description:

Returns a possibly parallel Stream with this collection as its source. It is allowable for this method to return a sequential stream.

This method should be overridden when the spliterator() method cannot return a spliterator that is IMMUTABLE, CONCURRENT, or late-binding . (See spliterator() for details.)

Returns:

a possibly parallel Stream over the elements in this collection

half harness
#

thx

#

d;stream#foreach

ruby craterBOT
#
void forEach(Consumer action)```
Description:

Performs an action for each element of this stream.

This is a terminal operation.

The behavior of this operation is explicitly nondeterministic. For parallel stream pipelines, this operation does not guarantee to respect the encounter order of the stream, as doing so would sacrifice the benefit of parallelism. For any given element, the action may be performed at whatever time and in whatever thread the library chooses. If the action accesses shared state, it is responsible for providing the required synchronization.

Parameters:

action - a non-interfering action to perform on the elements

half harness
#

yessss

obtuse gale
#

bruh just

for (final Whatever item : list) {
  new Thread(() -> {
    // do stuff
  }).start();
}
oblique heath
#

do it

prisma wave
#

🥶

obtuse gale
#

1.5 mill times

#

amazing

hot hull
#

oh god

ocean quartz
#

Does this make sense? Having the default command name as a constant in the Default annotation? thonking

hot hull
#

atleast make it THE_DEFAULT

#

Or is that supposed to mean something else

sinful parcel
#

d;player.displayName

ruby craterBOT
#
public interface Array```
Array has 1 implementing classes, and  5 methods.
Description:

The mapping in the Java programming language for the SQL type ARRAY. By default, an Array value is a transaction-duration reference to an SQL ARRAY value. By default, an Array object is implemented using an SQL LOCATOR(array) internally, which means that an Array object contains a logical pointer to the data in the SQL ARRAY value rather than containing the ARRAY value's data.

The Array interface provides methods for bringing an SQL ARRAY value's data to the client as either an array or a ResultSet object. If the elements of the SQL ARRAY are a UDT, they may be custom mapped. To create a custom mapping, a programmer must do two things:

  • create a class that implements the SQLData interface for the UDT to be custom mapped.
  • make an entry in a type map that contains
    • the fully-qualified SQL type name of the UDT
    • the Class object for the class implementing...

This description has been shortened as it was too long.

sinful parcel
#

That worked well.

ocean quartz
#

Something else basically TriumpH DEFAULT

hot hull
#

#bot-commands

#

Ah

ocean quartz
#

Just don't know if it makes sense to be inside the annotation or would be better to move it to somewhere else

sinful parcel
#

Well, I officially declare myself confused with these text componets or what the docs mean

obtuse gale
#

What are you trying to do in the first place

sinful parcel
#
public class GreetCommand implements CommandExecutor {
    private final Main main;

    public GreetCommand(Main main) {
        this.main = main;
    }
    @Override
    public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {
        if (sender instanceof Player) {
            Player player = (Player) sender;
player.sendMessage(ChatColor.GREEN + "Hello, " + player.displayName());
        }
        else {
            main.getLogger().info(ChatColor.GREEN + "Hello, Console!");
        }

        return true;
    }
}

simple greet command but im struggling 😄

obtuse gale
#

Right.. thing is you are mixing strings (legacy shit) with components

hot hull
#

Component.text("&ayour text");

ocean quartz
hot hull
#

wait no that won't get parsed because adventure is fucking ass

obtuse gale
#

Those don't play well together, you can do something like this

player.sendMessage(Component.text()
                            .content("Hello, ")
                            .color(NamedTextColor.GREEN)
                            .append(player.displayName()));
forest pecan
hot hull
sinful parcel
#

Reject adventure and complex strings, return back to simple string

obtuse gale
#

legacy shit is deprecated

#

components don't define "a text" or "a string"

#

components define a format

oblique heath
#

reject strings, return to char arrays

forest pecan
#

i dont think you have seen the potential of adventure yet

forest pecan
hot hull
#

boutta start fucking sending json

sinful parcel
#

I haven't-

sinful parcel
jovial warren
#

to put it in the terms of Paper, "Spigot has been holding on to backwards compatibility for years, not allowing the API to move foward. Minecraft removed all of the old strings a while ago and replaced them with chat components, so we have updated the API to reflect that."

forest pecan
#

adventure has translatable components, color component builders, actionbar builders, so many other features

#

and everything

#

I don't want to use ChatColor ever

obtuse gale
forest pecan
#

in my life

#

lol

jovial warren
forest pecan
#

lol

hot hull
#

Ah yes let's hardcode everything

jovial warren
#

yes, some of kashike's coding practices are questionable

forest pecan
jovial warren
#

but Adventure is good

forest pecan
#

look at the reply

jovial warren
#

it is amazingly well designed

hot hull
#

It's not

obtuse gale
#

it is

jovial warren
#

what's wrong with it then genius?

sinful parcel
#

but why are you using NamedTextColor instead of ChatColor

jovial warren
half harness
#

bc its for components

obtuse gale
#

Because adventure uses TextColor, not ChatColor

jovial warren
#

NamedTextColor is Adventure's version

obtuse gale
#

it's adventure, not bungee chat

jovial warren
#

^

sinful parcel
#

Oh

forest pecan
#

that class also has

#

way more colors

#

than ChatColor

jovial warren
#

the BungeeCord chat component API is a mess

forest pecan
#

^

sinful parcel
#

Learning java is gonna be fun

jovial warren
#

all components are mutable

#

and combining components is a joke

sinful parcel
#

I've already made my plugin based on paper because paper good

forest pecan
#

if you look at the wiki, literally components say "to do"

#

for bungee

sinful parcel
#

components to do 😔

jovial warren
#

oh btw, did you know Paper is considering a hard fork soon?

sinful parcel
#

a hard fork?

forest pecan
#

yea its already kinda known

#

hard fork meaning not relying on spigot

jovial warren
#

basically where you no longer keep in touch with the upstream

forest pecan
#

for any patches or anything

hot hull
#

Been in the talks for like a year already no?

forest pecan
#

with the upstream

sinful parcel
#

Now that sounds scary.

jovial warren
ocean quartz
#

Supporting spigot is getting harder and harder

hot hull
#

Jesus caveman

jovial warren
forest pecan
#

more abstraction

#

🥲

sinful parcel
jovial warren
#

I really really fucking hope a hard fork from Paper will kill Spigot

hot hull
#

bardy, don't get me wrong, adventure is better than what we currently have, but it's still long ways from being perfect

jovial warren
#

oh yeah, ofc

forest pecan
#

if its better than current methods why not use it still tho

#

lol

jovial warren
#

but it is the best we have

old wyvern
#

matt

hot hull
#

Who said I don't use it smh

old wyvern
#

I have like a small board set up with the basic stuff we gotta add, we might need to break that down further into smaller tasks tho

sinful parcel
#

One more thing, why do so many plugin devs use H2 and not SQLite?

hot hull
#

Amazing config deserialization lmao, fucker deserialized my entire server folder

sinful parcel
#

Looks fancy

half harness
hot hull
#

The future is now old man

half harness
#

so if you don't have a database you can use SQL on H2

oak raft
#

It's possible to host my email on a pi right?

sinful parcel
#

well frosty, ive failed to install mysql already.

surreal quarry
#

imagine not having a db

old wyvern
surreal quarry
#

ew

hot hull
#

mariadb

surreal quarry
#

^

hot hull
#

best

half harness
#

oh

#

oops

sinful parcel
forest pecan
#

wot

surreal quarry
#

mysql 5 🌚

forest pecan
#

obviously paper and pencil is the best database possible

old wyvern
#

Nah man

#

Stone

#

is better

oblique heath
#

i prefer using minecraft itself as the database

surreal quarry
#

database.json

old wyvern
#

Engrave it

forest pecan
#

True

#

stone better

old wyvern
#

StoneDB

forest pecan
#

lol

hot hull
#

Fuck storing data all together

old wyvern
#

StonedB

jovial warren
half harness
#

yml ftw

#

lol

hot hull
#

Unsure of what the solution for this is bardy kek

jovial warren
#

dkim I respect your wrong opinion

sinful parcel
#

omg my greet command worked

surreal quarry
#

Microsoft SQL Server

forest pecan
#

lmao

jovial warren
#

means get lost squidward

half harness
sinful parcel
#

That's one challenge done, time to do the optional part

old wyvern
#

OracleDB 😬

forest pecan
#

Redis

jovial warren
#

cookie to anyone who gets that reference

hot hull
forest pecan
jovial warren
#

🍪

forest pecan
#

tyty

#

i watched the movie twice now

#

lmao

half harness
#

🥠

hot hull
#

Imagine not knowing that reference

#

What do you have a life or what

onyx loom
#

i dont

sinful parcel
forest pecan
#

lol

onyx loom
#

ive hardly watched any marvel films

#

i have no interest in them

forest pecan
oak raft
hot hull
#

Disgrace

half harness
#

sponge

hot hull
#

both of you

forest pecan
old wyvern
sinful parcel
#

Disgrace

jovial warren
surreal quarry
#

spongeDB

hot hull
#

Kali, 6pm tommorrow

forest pecan
#

SkriptDB

hot hull
#

Pulse

#

Get the fuck out

surreal quarry
#

ElaraDB

oak raft
#

who's ur favorite marvel dude frosty

#

superhero

surreal quarry
#

Captain Russia

onyx loom
oak raft
#

Captain Russia 😮

hot hull
#

spooderman

sinful parcel
#

AsyncDB 🥵

onyx loom
#

is taht 6 ur time btw?

hot hull
#

Yes

old wyvern
#

SplinterMan

hot hull
#

so 5 your time

onyx loom
#

yup ty

surreal quarry
#

DB.async = true

half harness
#

Dkim19375DB

sinful parcel
jovial warren
#

oh btw, can anyone tell me what could cause this to randomly stop the server when it thinks the last tick time was too long ago? ```kotlin
while (server.isRunning) {
val tickTime = System.currentTimeMillis() - server.lastTickTime
if (tickTime > tickThreshold) {
LOGGER.fatal("A single server tick took ${"%.2f".format(Locale.ROOT, tickTime / 1000.0f)} seconds (threshold: $tickThreshold)!")
LOGGER.fatal("Considering it crashed, shutting down...")
exitProcess(1)
}
}

jovial warren
#

bear in mind, I don't think it's getting behind

hot hull
#

exitProcess ?

forest pecan
#

ty for using a boolean for the while loop

forest pecan
#

better flow control

jovial warren
forest pecan
half harness
#

make it wait at least 20 seconds

#

20000ms

sinful parcel
#

dkim

jovial warren
#

it currently waits 60 seconds by default you moron

half harness
#

Romvnly

forest pecan
#

LMFAO

sinful parcel
#

you never told me how to make a plugin that drops your tps

forest pecan
#

you can change your tps you know?

hot hull
#

Just don't make it possible to impact the tick rate

#

duh

forest pecan
#

you can actually cap it

#

or increase it

sinful parcel
forest pecan
#

if you want to

half harness
#

how

forest pecan
#

it requires nms

surreal quarry
#

just make tickrate always 20???

forest pecan
#

but here is some code

half harness
#

oh lol

surreal quarry
#

const val tps = "20"

sinful parcel
#

nms I remember that, the essentialsx devs didnt want to use it

onyx loom
#

tps is a string :sus:

half harness
forest pecan
unkempt tangle
#

😦

sinful parcel
#

200 tps wtf

surreal quarry
forest pecan
#

this isnt display

#

this is like legit tps in the server

#

no like trickery

#

no cap

sinful parcel
#

im gonna set my server on fire and put it to 200 tps, let's see how it will peform

forest pecan
#

no bullshit

#

lol

unkempt tangle
#

Can anybody welp me with decompiling lua ;c

hot hull
#

just edit the gamerule idot

surreal quarry
#

no tps = tps always 20

jovial warren
#

what I mean is when could System.currentTimeMillis() - server.lastTickTime possibly return more than 60000 when lastTickTime is set to System.currentTimeMillis() every time the server ticks

hot hull
#

Pulse

jovial warren
#

other than when the server is actually running behind

sinful parcel
#

lua

hot hull
#

that image lmao

forest pecan
#

lol

half harness
oak raft
#

Somebody let me know why jetbrains ides are so expensive 🥴

#

like damn

prisma wave
#

Because it's professional software

oak raft
#

clearly

hot hull
#

They free if you smart

prisma wave
#

Just like Photoshop and the Adobe suite

oak raft
#

rider won't recognize my student license

prisma wave
#

do you have toolbox?

oak raft
#

Toolbox?

hot hull
#

Jetbrains toolbox

onyx loom
#

get an OS license 🙂

oak raft
#

no I don't

#

What's toolbox?

sinful parcel
#

they give jetbrains pro to students???

#

if so, why didnt anyone tell me this!

onyx loom
#

manages ur jetbrains apps and projects in 1 place

#

e.g u can open a project from goland or a project in IJ from toolbox

oak raft
#

And that'll allow rider to recognize my student license?

prisma wave
#

Probably

oak raft
#

wait.

prisma wave
#

It's always worked perfectly for me and I use it

oak raft
#

I have the student license for github tho

onyx loom
#

it was the opposite for me 🥲

#

student license works fine on web for me, didnt work on toolbox ☹️

oak raft
#

is there a separate one for jetbrains?

prisma wave
#

Do you get IJ ultimate for free?

onyx loom
#

it just links ur gh to ur jetbrains account afaik

prisma wave
#

Yeah

#

The JB one is separate but if you have GitHub student then u can get it really easily

oak raft
#

but how does it know what my jetbrains account is thonking

hot hull
#

I'm slowly losing my shit

prisma wave
oak raft
#

obviously

#

but do I link it through the jetbrains site or github

obtuse gale
hot hull
#

This fucking hocon ConfigFactory

#

I legit can't get it to give me the config from the file I need

prisma wave
#

Literally go onto the student pack website and there's instructions on how to get the Jetbrains stuff

#

I assumed youd already done this

oak raft
#

nope

onyx loom
#

im gonna try my luck with toolbox again

oak raft
#

imma get toolbox first tho

surreal quarry
#

just click it and it walks you through linking your account and getting the products

hot hull
#

@west fjord OS.

west fjord
#

OS?

#

nu

hot hull
#

Yes

oblique heath
#

ppst BM

prisma wave
#

Wot

west fjord
#

Im thinking of selling my server tho

oblique heath
#

i was wondering about this yesterday but why does

putStrLn $ "list: " ++ $ show $ input num
putStrLn $ "list: " ++ (show $ input num)

the first one not work

west fjord
#

there are hooks

prisma wave
#

Because chaining infix operators doesn't make sense

hallow gorge
#

Oops wrong channel

prisma wave
#

It's like doing + * 3 in java

oblique heath
#

ah

#

gotcha 😄

hot hull
west fjord
#

HAHAAHHAH

#

I might sell it

#

o-O

hot hull
#

@jovial warren Can you assist me please, I'm losing my shit, legit boutta switch to fucking yaml

hot hull
west fjord
#

hehe

jovial warren
#

what's up?

hot hull
#

Hocon, how the fuck do I get the config from a desired file

jovial warren
#

sell what @west fjord?

hot hull
#

his world gen

jovial warren
jovial warren
hot hull
#

Oh my fucking god

#

Bardy if this works

jovial warren
#

lol

onyx loom
#

that was SO hard wasnt it frosty

oblique heath
#

for this

putStrLn $ "list: " ++ ((show . input) num)

are the inner parentheses necessary because i need to make an anonymous function out of the two
why can't I just do "list: " ++ (show . input num)

jovial warren
#

well if you just read the FUCKING DOCUMENTATION then you might have actually been able to do this on your own Frosty

prisma wave
hot hull
#

reading docs is for plebs

obtuse gale
#

Like you

oblique heath
#

ah gotcha, so it's trying to dot operator on the input num portion

prisma wave
#

show . input num resolves to show . (input num)

#

yeah

oblique heath
#

i see

jovial warren
oblique heath
#

is it possible to get around that with an $ somewhere

#

just out of curiosity

prisma wave
#

I mean you can do show $ input num I think

oblique heath
#

wait i'm back to where i originally started now i think

#

lol

#

thank you xd

prisma wave
#

lol np

hot hull
jovial warren
#

yeah that's because source.conf doesn't exist as a key lol

oblique heath
#

ah something else
I always see user input as two lines

input_line <- getLine
let num = read input_line :: Float

is there a way for me to get a float input in one line / be able to call it from a function
i'd like to be able to have a function that takes an int parameter and returns a list of that amount of floats inputted from the user

hot hull
#

but that's the file name tho?

jovial warren
#

show code

hot hull
oak raft
#

update: I can't find the linking support on the github page so I sent in a ticket for help 🙂

hot hull
jovial warren
#

which does what?

#

what does Configuration.retrieve do?

hot hull
#

Above method

obtuse gale
#

Why don't you just... pass a... File?

hot hull
#

ew Fefo

prisma wave
#

Not 100% sure if that's correct

oblique heath
#

😮

hot hull
prisma wave
#

Monads 🙂

oblique heath
#

oh snap i havent started trying to learn monads yet

#
input :: Float -> [Float]
input amount
  | amount < 0 = []
  | otherwise = ??? : input (amount-1)

how would that line fit into here o.O

#

do i have to use another weird operator

obtuse gale
prisma wave
#
otherwise = (readLine >>= (return . read)) : etc
#

You might need the :: Float but I'm pretty sure it could infer that you want it as a float

#

Because of the function signature

oblique heath
#

that gives me a warning, do i try adding the float like (readLine >>= (return . read)) :: Float : etc?

prisma wave
#

yeah try that

oblique heath
#

still warning 😦

neat panther
#

@vague pond I meant here lmaoo

prisma wave
#

You might need parens before the cons

#

Easiest way might be to use a where clause to define a function

#
otherwise = readFloat : input (amount - 1) where readFloat = ...
#

Then you don't need messy parens

oblique heath
#

ahhh

prisma wave
#

Again I'm not sure that'll work though

oblique heath
#

i'll try it

hot hull
#

Seems to be working now Fefo

prisma wave
#

Alrighty

#

If all else fails, define a separate function readFloat then input can just reference that

#

oh actually the error might be because of the function signature

oblique heath
#

my current signature is Float -> [Float]

prisma wave
#

readLine returns an IO String, binding that returns an IO Float, so your list is going to be [IO Float] rather than [Float]

oblique heath
#

ooo

prisma wave
#

Which is probably not what you want

oblique heath
#

can i use <- or something to turn the IO float into a regular float

prisma wave
#

nope

#

Not in that function anyway

#

you would use <- at the call site

#

But more importantly you probably want it to return an IO [Float]

#

Which I can't remember the function for lol

jovial warren
#

IO float?

#

what

prisma wave
#

Monads 🙂

jovial warren
#

of fucking course it's a monad

oblique heath
#

wait what if

prisma wave
#

Anyway I think the function you want Ivan is sequence

#

So then input can return an IO [Float]

oblique heath
#

actually nvm

#

oo

#

what does sequence do? turn IO a into a?

prisma wave
#

sequence :: Monad m => t (m a) -> m (t a)Source

Evaluate each monadic action in the structure from left to right, and collect the results.

#

In other words, it turns a [IO a] into a IO [a]

oblique heath
#

i see

prisma wave
#

If we're sticking with the Future analogy it's like CompletableFuture.allOf

oblique heath
#

so it turns a bunch of individual futures into one big future

#

kinda

#

xd

prisma wave
#

Pretty much

#

anyway once you've got that IO [Float], you can do something like ```hs
inputs <- input 10
print inputs

ember hinge
oblique heath
#

am i still using the where clause

#

ideally i want to see if i can do it in one line >:)

prisma wave
#

Maybe

ember hinge
#

👍

oblique heath
#

now i'm here right now

input :: Float -> IO [Float]
input amount
  | amount < 0 = []
  | otherwise = readFloat : input (amount-1) 
  where readFloat = (sequence (readLine >>= (return . read)) )

but i feel like i'm still missing a lot of things

#

for one i dont think i can just return an empty list as a base case

prisma wave
#

Why not?

oblique heath
#

well it expects an IO []

prisma wave
#

ah yeah