#dev-general

1 messages Ā· Page 342 of 1

forest pecan
#

many of these tech companies are up to date with modern tech

winter iron
#

elon musk long distant 2nd cousin will sort it out

forest pecan
#

you cant recode this in a second

#

lmao

old wyvern
#

Yea IntelliJ then contacts lawyers and stuff, sets up contracts and signs it for you, starts a company, hires people, make the hired workers create a nice search engine, work on making it one of the tech giants. You just need to think, IJ will make it happen

winter iron
#

hires people

#

ur high

#

automate

#

šŸ™‚

old wyvern
#

Nah man

winter iron
#

u dont need people

old wyvern
#

IJ doesnt it

#

Old school

#

It recruits other IDE's

forest pecan
#

Eclipse?

winter iron
#

mainly im thinking more for web design since that would be more realistic

old wyvern
#

Sure

forest pecan
winter iron
#

u could be like in your head, i want a black box in this corner about 100px

#

and it would just put the box

old wyvern
surreal quarry
#

i’ll merge in a bit

forest pecan
#

Kk lol

old wyvern
#

true

half harness
#

Is it possible to convert a java project to kotlin?

#

im going back to a java project rn....

#

and i wanna use kotlin xD

onyx loom
#

ctrl shift alt k

#

idk if it does the whole project or each class selected, find out

half harness
onyx loom
#

fix em

#

its not perfect by any means

old wyvern
#

You dont need to convert your entire project to kotlin

#

Just use kotlin for new classes

onyx loom
#

ew

old wyvern
#

eh?

onyx loom
#

convert it all to kotlin šŸ™‚

old wyvern
#

No point, You'll only end with something worse unless you go through and rewrite a lot of it

onyx loom
#

lol

old wyvern
#

The converter doesnt generate the best choice for something

#

but more of literal translation from java to kotlin

#

which is usually not what you want if you actually want any benefit from using kotlin

onyx loom
#

yeah it is what it is

ocean quartz
#

Why is this the default indentation when nesting this, it's so ugly

old wyvern
#

Wdym?

#

Looks fine

#

Oh wait nvm, I see your point

ocean quartz
#

Like xD

ocean quartz
#

Does this sound like a good idea for unit testing? Instead of having different Throwable causes or different exceptions for small things, or even checking for exception text, to have a reason field in the exception that can be accessed on the test

half harness
#

Task 'shadowJar' not found in root project 'ProjectStuff'
how do I fix this?

#

wtf

#

i reloaded gradle

#

and it deleted my project files

#

;-;

#

....

#

😭

#

and theres no way to recover

#

it's not in recycle bin since a program deleted, and it's not in the local history either

#

well i have the jar

#

ig i'll have to decompile it

#

luckily I didn't code it in kotlin

surreal quarry
#

you don’t put your projects on github?

#

also there’s no way gradle deleted your project lol

#

at least not by just reloading

forest pecan
#

not using vcs = noob

#

even make a private repo at least

half harness
#

oop

surreal quarry
#

just give me everything in the next week for £5

half harness
#

lol

#

so thats where you guys get commissions šŸ‘€

#

i didn't know there are discords that did that šŸ‘€

obtuse gale
#

Who ping me?

jovial warren
#

ĀÆ_(惄)_/ĀÆ

#

Also, dkim what you still doing here lol

#

Your career was ended xD

#

Oh also, I’m modulising the server btw to include the API

hot hull
#

Finally moved my pc into my room fingerguns

jovial warren
#

Forgot that I based the world manager off of Sponge lol

#

And Sponge saves worlds by namespaced key for some reason

#

We’re storing worlds by their string name

hot hull
#

yikes

oak coyote
#

Well serves you right for using sponge šŸ˜‚

jovial warren
#

Lol

oak coyote
#

I don’t want to see that API ever again

jovial warren
#

Parts of the API are based off of Bukkit

#

But the events are all reactive using flows and coroutines

#

so events will be emitted and then captured in flows

#

Oh btw, kinda got the go ahead for LuckPerms for Krypton the other day

prisma wave
#

elar g## curry hakslr ocml

jovial warren
#

lol

#

Oh also, how exactly will I filter values emitted from the shared flow? Call filter on it every time?

#

Because that sounds like it could impact performance a bit

hot hull
#

So how would one clean this up now

private Predicate<Event> onPlayerQuit() {
  return (event) -> {
  };    
}
jovial warren
#

actually, that won’t be an issue though, since values will be immediately emitted on receipt

#

so only a single value will have filter called on it, meaning it will always be O(1), right?

quiet depot
#

a field for that specific usage would suffice

#

or, an actual method

#
private boolean onPlayerQuit(Event event) {
  blah
}```
#

looking at your usage you should really be using a consumer instead of a predicate

#

a predicate returns a boolean, yet you're not using its value anywhere

#

if you're trying to design an event system consider looking into the event bus pattern

hot hull
#

I just used a predicate cause I didn't know what else to use kek

jovial warren
#

lol

#

a predicate is just a method that takes an argument and returns a boolean lol

hot hull
#

Shut up, I'm ware

#

aware*

quiet depot
#

guava provides an event bus implementation you can use btw

jovial warren
#

or you could use LuckPerms as a reference, since that one is more adapted to your use case

#

oh also, @prisma wave , any idea what I should do about handler priorities?

hot hull
#

I mean that's not really the issue, there's plenty of ways to make it, none are clean tho, should I just make it how bukkit does listeners?

jovial warren
#

or should I just do first come first serve

prisma wave
#

It's like a sequence or a stream

#

Each event is being processed sequentially

jovial warren
#

actually that won’t work, since what if two plugins listen for the same event? they’ll both get the same event at different times from the same flow and each return different results

prisma wave
#

what

old wyvern
#

filter isnt O(n) in* flows thonking

jovial warren
#

then we have a race condition

old wyvern
#

n is constant here

prisma wave
#

yeah

old wyvern
#

O(1)

prisma wave
#

Exactly

old wyvern
#

xD

jovial warren
#

yeah that’s what I later said if you read below

old wyvern
#

ah alright

prisma wave
#

I would advise you don't make events mutable for this reason

jovial warren
#

yeah but won’t they both do it at the same time?

old wyvern
#

Do what?

jovial warren
#

process the event

old wyvern
#

concurrent reading is fine afaik

jovial warren
#

not if handlers need to return results

#

actually I guess they don’t

old wyvern
#

return* what results?

prisma wave
#

Of course they don't

jovial warren
#

could just kick the player e.g. for logins

#

no results needed

prisma wave
#

If you want concurrency pretty much everything needs to be immutable

#

Otherwise things will go bad

#

Quickly

old wyvern
#

If you want them to give you some thing back have some like an "EventResult" and make them provide you a version given by them

jovial warren
#

events will be fully immutable

old wyvern
#

You can them apply them based on the listener priorities

jovial warren
#

so are locations, vectors, etc.

#

it’s all data classes

#

there is basically no such thing as a mutable object on the API

prisma wave
#

So therefore parallel reading isn't an issue

jovial warren
#

and anything that should be mutable, e.g. a world’s game mode, can just be volatile can’t it?

old wyvern
#

Dont make everything volatile

prisma wave
#

^

old wyvern
#

It does have a performance cost

quiet depot
prisma wave
#

Volatile isn't thread safety

#

Not really anyway

jovial warren
#

everything that should be seen immediately on update by all threads should be volatile though right?

old wyvern
#

You're only preventing invalid values being fetched by using volatile

prisma wave
#

yeah

#

All volatile does is prevent corruption

#

Sometimes

jovial warren
#

what about things like a world’s game mode though?

#

constructing a new world object every time you make a small change like that is surely going to be costly

prisma wave
#

🄲

old wyvern
#

And having thousands of event objects every second isnt?

jovial warren
#

true

#

so we’re trading memory for speed then?

old wyvern
#

Depending on the use case ig

#

The same thing is probably not a solution everywhere

jovial warren
#

so should worlds be immutable then?

old wyvern
#

Ideally

prisma wave
#

immutable everything

jovial warren
#

I guess I could make game mode a var and make set call copy internally

#

would be easier than making my own copy methods for the interfaces

#

also might make the interfaces cloneable

#

so how will listen actually work again? just returns a flow that you can collect that has values emitted to it from the shared events flow, right?

#

still trying to fully understand reactivity

#

flows are continuous also right?

#

they just, well, flow

#

also, what will listen get returned? a filtered version of the shared event flow?

hot hull
quiet depot
#

no

prisma wave
#

listen<T> is just listen + filter(it is T)

jovial warren
#

ah right

hot hull
#

wdym no
you use a subscribe annotation, and you specify the event in the method params

jovial warren
#

Bukkit’s isn’t pub/sub in the same way Guava’s is

#

also, Bukkit’s is based off a library that hasn’t been updated since 2012

jovial warren
#

(immutable version ofc)

hot hull
#

huh?

old wyvern
#

Bukkit style listeners

quiet depot
#

yugi he was referring to an event bus

lunar cypress
#

avoiding annotations at the base level is generally a good idea

quiet depot
#

I believe guava has two ways of listening to events

#

or that might just be luck's eventbus impl

hot hull
#

I quite like annotations fingerguns

old wyvern
quiet depot
#

yeah but I believe guava's impl uses annotations

#

so he'd have to make his own event bus

old wyvern
#

Ah

jovial warren
#

yeah Guava’s is annotation-based

quiet depot
#

unless guava provides an alternative route of listening

#

but

#

I think helper has an eventbus impl too

jovial warren
#

and kyoripowered/event is also an event bus

quiet depot
#

oh maybe I'm thinking of that

jovial warren
#

Krypton’s uses a different method to that though, which is in some ways better

quiet depot
#

https://luckperms.net/wiki/Developer-API-Usage#events nope was thinking of neither, it's in luckperms itself

jovial warren
#

it’s a reactive event bus, where events are emitted and listeners can collect them

hot hull
#

Wait so I'd have an event bus per world, or what should I be doing now

jovial warren
#

wat

#

event bus per world

#

no

hot hull
#

The entire point of what I'm doing is to have per world listeners, if I add everything to a single event bus it'll be called no matter what world it's in

jovial warren
#

ah right

#

so yeah, treat each world as a separate server then with a separate event bus

hot hull
#

Would having an event bus per world be optimal, or no

jovial warren
#

meh

old wyvern
#

You can have a single vent bus then a subcription function that filters w.r.t the world and calls the handler

hot hull
jovial warren
#

I don’t like the idea of splitting worlds into their own separate servers in a way, it’s like cheap man’s bungeecord

hot hull
#

Well it's for bedwars arenas, and having a server per arena is inefficient as fuck

jovial warren
#

it’s the best way to do it

hot hull
#

wdym, having an arena per server?

jovial warren
#

splitting worlds into their own kinda servers is generally very hacky and horrible

#

and slow

prisma wave
jovial warren
#

yeah, I mean the shared flow as a flow lol

hot hull
#

Bardy, you're making me contemplate of just using a server per arena now ;C

hot hull
#

No clue how I'd even go about handling that

#

Have a jedis instance and just handle data from that

old wyvern
jovial warren
#

Redis, RabbitMQ, Kafka, etc.

old wyvern
#

Wait

#

wrong quote

old wyvern
#

lol

hot hull
#

could work

jovial warren
#

Redis and Kafka are good for if you don’t care if your messages make it through to the other end

#

and when you don’t need complex routing

hot hull
#

:kek:

jovial warren
#

if you need guarantees, TLS, complex routing, and you want to bang your head on the wall often when it makes no sense at all, use RabbitMQ xD

prisma wave
#

elara/messaging

hot hull
#

I think I'm gonna stick with per world now, and once I'm refactoring everything, implement a system which dictates how it's handled and implement per server as well

old wyvern
onyx loom
#

elara/*

hot hull
old wyvern
hot hull
#

Bardy, elaborate

jovial warren
#

as I said, hacky, messy, slow, annoying

hot hull
#

Can't really see how it'd be slow

#

but annoying, very

jovial warren
#

how are you planning on synchronising data between worlds?

#

if it’s with databases, there’s your answer

hot hull
#

each arena has it's own data which is updated when the game ends, so that's not an issue at all

jovial warren
#

ah right

#

and what about things like wins and losses, scores, etc.?

hot hull
#

There's really not a lot of strain if you look at all the components

jovial warren
#

statistics

hot hull
#

That's all included on the game end, which can be updated async, the arenas itself don't need to have that info

jovial warren
#

fair

old wyvern
#

You can probably further extend the per world event hack šŸ˜‚

#

Make actual bukkit listeners work with it

jovial warren
#

it won’t scale all that well though

hot hull
#

Yea that's why I'm thinking of adding per server shit later on, however a smarter thing would be to have an x amount of arenas per server, and then scale it

jovial warren
#

maybe

hot hull
#

Would also allow for further scalling as in running the gamemode on multiple machines

jovial warren
#

yeah

old wyvern
#

youll just need to handle separating events by world there xD

jovial warren
#

okay yeah let’s not quote the joke of an API that is Bukkit

#

lol

old wyvern
#

Not quoting lol

hot hull
#

Does the event bus give me access to the calling listeners?

old wyvern
#

Pretty sure you can just alter that part and make the dispatcher work like you want

hot hull
#

Cause if so I can just skip the call if it doesn't match

old wyvern
#

I think so

#

check the fireEvents method

jovial warren
#

is Guava actually in Minecraft?

old wyvern
#

What?

jovial warren
#

I mean does the server depend on it

old wyvern
#

Bukkit does afaik

jovial warren
#

actually I know the answer to that

#

the notchian server does because I’ve seen it use common collect a lot

#

also depends on fastutil lol

#

which is why it’s pretty fat

#

because fastutil is about 23 MB

hot hull
#

EventBus seems to not give me access to the actual registration, so reflection or do I use something else

hot hull
#

googles

#

If that's what you're asking

old wyvern
#

Actually, let me have a look at that, one moment

stuck harbor
#

vroom vroom its the event bus

#

get on board

hot hull
#

Only provides me with these 4 methods

jovial warren
#

yeah Guava’s isn’t designed for extension

hot hull
#

Not counting the toString ofc

jovial warren
old wyvern
#

It aint final

jovial warren
#

bus

hot hull
#

Oh, cute

jovial warren
#

oh come on, this is Frosty we’re talking about here lol

old wyvern
#

eh?

hot hull
#

huh

jovial warren
#

I’m messing with you ofc

hot hull
#

You mock my intelligence you peasant

#

Please say Yes

quiet depot
#

room temperature iq

jovial warren
#

I’m making a joke about you being lazy and generally saying things like that are effort lol

hot hull
#

:kek:

onyx loom
#

is this is farenheit piggy :kappa:

hot hull
#

celsius, I'm in the negatives

quiet depot
#

lol

#

i wonder if it's possible to score a negative

jovial warren
quiet depot
#

surely if I eat the iq paper that's a negative

jovial warren
#

lol

hot hull
#

lol

quiet depot
#

a man of great intellectual prowess

#

truly an era defining genius

onyx loom
#

clearly

old wyvern
#

TrumPET

quiet depot
#

covfefe

hot hull
#

Wait but how am I supposed to access these stuff if they aren't public

#

Never trully extended something before :kek:

jovial warren
#

what are they?

old wyvern
#

which?

old wyvern
jovial warren
#

if they’re public or protected, you can access them

hot hull
#

I'm aware of that, but they aren't

jovial warren
#

what you trying to override?

hot hull
#

post

jovial warren
#

post isn’t public?

hot hull
#

I need access to the subscribers

#

post is, subscribers isn't

#

and then dispatcher as well

jovial warren
#

how about just making your own subscribers field and overriding the methods to call yours

#

someone queue up we smart pls

old wyvern
#

Im confused

hot hull
#

Still need dispatcher then

old wyvern
#

All of them and public and non-final

#

whats the issue here?

jovial warren
#

he doesn’t have access to the subscribers or the dispatcher

old wyvern
#

huh?

hot hull
#

we looking at the same event bus lol?

jovial warren
#

actually, override and just call super when you want it to add a subscriber or call an event

#

super.method()

old wyvern
hot hull
#

I mean yea but that still doesn't fix my issue lol, since post will call all the events, and I can't modify that, unless I'm sm0ll brain

quiet depot
#

is 22 the latest

#

d;guava eventbus

ruby craterBOT
#
public class EventBus
extends Object```
EventBus has 1 extensions, 6 methods, and  1 sub classes.
Description:

Dispatches events to listeners, and provides ways for listeners to register themselves.

The EventBus allows publish-subscribe-style communication between components without requiring the components to explicitly register with one another (and thus be aware of each other). It is designed exclusively to replace traditional Java in-process event distribution using explicit registration. It is not a general-purpose publish-subscribe system, nor is it intended for interprocess communication.

Receiving Events

To receive events, an object should:

  1. Expose a public method, known as the event subscriber, which accepts a single argument of the type of event desired;
  2. Mark it with a Subscribe annotation;
  3. Pass itself to an EventBus instance's register(Object) method.

Posting Events

To post an event, simply...

This description has been shortened as it was too long.

old wyvern
#

No idea

#

I just took the first one from google

quiet depot
#

docdex is guaranteed to have the latest

#

wait latest doesn't even matter

#

it's spigot

old wyvern
#

override it*

#

ok wait, that sounds wrong

hot hull
#
  public void post(Object event) {
    Iterator<Subscriber> eventSubscribers = subscribers.getSubscribers(event);
    if (eventSubscribers.hasNext()) {
      dispatcher.dispatch(event, eventSubscribers);
    } else if (!(event instanceof DeadEvent)) {
      // the event had no subscribers and was not itself a DeadEvent
      post(new DeadEvent(this, event));
    }
  }

I don't have access to the subscribers, and the dispatcher

quiet depot
#

so apparently ovh was using wood in their dc

hot hull
#

I'm being really sm0ll brain rn aren't I

onyx loom
#

question mark

hot hull
#

That's a statement

#

not a question

onyx loom
#

question mark question mark

quiet depot
#

wood roof

#

smort

hot hull
#

lol

quiet depot
#

if I've learnt anything from playing minecraft

hot hull
#

big brain is to not have a roof at all

quiet depot
#

it's that wood burns

hot hull
#

Atleast you ain't gonna have a problem with fires

quiet depot
#

well

#

no

#

roofs don't affect fires

hot hull
#

Well you gotta pray the fire starts when it's raining

quiet depot
#

rain don't always put out the fire

hot hull
#

Piggy, it's raining, you don't have a roof, fire or no fire you're fucked

old wyvern
#

Having it open also means more oxygen

#

More burnin

quiet depot
#

frosty

#

see all those tubes in the servers

#

those are literally full of water

hot hull
#

I will slap you

old wyvern
#

Water bad for electrical fires

#

At that point just let it burn down

quiet depot
#

do u not know how water cooling works

#

u get a hose

#

put it in ur case

#

and turn it on

hot hull
#

Go jump in the puddles

hot hull
onyx loom
#

ill have to try that out too, air cooling bad!

hot hull
#

I'm still not sure what to do with this event bus now

quiet depot
#

you know what's better than air and water cooling

#

no cooling

onyx loom
#

😮

hot hull
#

vodka cooling

quiet depot
#

vodka wouldn't be great for the fire

hot hull
#

very great

quiet depot
#

yeah

#

it'd be very great, not just great

hot hull
quiet depot
#

have you tried searching up the documentation for the eventbus lol

#

not the javadoc

#

the actual guava wiki

hot hull
#

Not the issue, the issue is I have no access to the actual subscribers meaning I can't filter them

quiet depot
#

perhaps you're using it wrong

#

which is why you check the docs

#

what are you trying to do?

#

u don't need to extend eventboos

hot hull
#

Got that opened yes, but that doesn't help me much

#

Let me explain what I'm trying to do here mister.

So I listen to some of the bukkit events, (player join, quit, move, etc),
then I have them call the listeners registered to a specific world, giving me per world listeners. You get what I'm trynna do or still no?

quiet depot
#

ah

hot hull
#

So I need to have a way to filter which ones get called

quiet depot
#

just have a different eventbus per world

hot hull
#

That's what I suggested at the start but apparently not optimal, smh

quiet depot
#

who said it's not optimal

#

there's 3 options

#

eventbus per world

#

different events for different worlds

#

super sketchy thread based hack that isn't really an option

hot hull
#

second one isn't an option either

hot hull
#

@ocean quartz What state is triumph chat in, I need a plugin for a beta server, wanna use this if it's in a functional ish state

ocean quartz
hot hull
#

Can I has jar, cba to compile myself

ocean quartz
#

I'll send in a sec, just woke up

hot hull
#

yeye tyt

#

Also, "just woke up", as it's 3pm

half harness
#

lol

ocean quartz
#

It's actually 1pm for me

distant sun
ocean quartz
hot hull
#

God I hate spigot plugins

#

What's the benefit in this shit

hot hull
jovial warren
#

why would you use reflection in an motd plugin

distant sun
#

AdvancedNMotd what

half harness
#

lol

hot hull
#

No clue, it doesn't even work properly

#

Since properties file overwrites it

obtuse gale
half harness
#

also what do chat plugins have - besides custom format?

#

u guys say that esschat is bad

#

but y

obtuse gale
#

channels n stuff

hot hull
#

papi support

#

mainly that

half harness
#

oh

hot hull
#

also hovers

distant sun
#

is possible to have a private method on an interface that subclasses ca overide?

hot hull
#

configuring a server for the first time in like 2 years kek

half harness
#

oooooooooo

obtuse gale
#

All methods in an interface are public though

hot hull
#

abstract class fingerguns

obtuse gale
#

^

ocean quartz
#

You can have them private in Java 9+

distant sun
#

nah java 8

half harness
#

why are abstract classes and regular classes separate?
is there a difference between them besides having abstract methods?

ocean quartz
#

Kotlin also allows private functions

obtuse gale
#

They can have no abstract methods but the classes themselves have to be extended, you can't instantiate an abstract class on its own

prisma wave
#

anonymous subclass šŸ‘ šŸ™‚

distant sun
#

ty

#

if I rewrite a project, how can I push my changes without having github to yell at me?

hot hull
#

make a new branch fingerguns

distant sun
#

ok

jovial warren
#

or the stupid option: force push

hot hull
#

who knew, now none of my listeners work :sadge:

half harness
#

is there a way to have a github repo with code private but issues public šŸ‘€

distant sun
#

no

hot hull
#

have another repo for the issues

jovial warren
#

which will just delete all your commit history lol

hot hull
#

Why do you even have a private repo?

#

Open sauce everything

half harness
#

um

half harness
#

i can't be like "solved in commit blah"

#

afaik

hot hull
#

Then open source it

#

Your code ain't that good to have it hidden

half harness
hot hull
#

It should be public so people can help you improve lol

distant sun
half harness
#

so that u wont see my bad code šŸ™‚

jovial warren
#

wait you’re rewriting DM gaby?

distant sun
#

nah, my plugin, guihelper

jovial warren
#

ah right

distant sun
half harness
#

how do u make logos like that

hot hull
#

settings.gradle, ew

distant sun
half harness
#

ooo

old wyvern
#

Flat

half harness
#

um

distant sun
jovial warren
#

gradle init ew

forest pecan
#

thats gotta be cap with flaticons

old wyvern
#

Not elara, ew

distant sun
#

šŸ™„

jovial warren
#

imagine not having IJ do that for you

distant sun
#

shut up bbg

old wyvern
#

bbg

forest pecan
#

bbg

distant sun
#

that's why I rewrite it

old wyvern
#

Bbg

distant sun
#

pretty much spaghetti code

forest pecan
#

bbq

old wyvern
#

Bbc

forest pecan
#

bbb

jovial warren
#

love how I’ve only just noticed that your name includes the C function to allocate dynamic memory gaby

old wyvern
#

Blb

distant sun
#

🤦

old wyvern
#

Someone deallocate gab

stuck harbor
#

C ew

#

ill go use free()

distant sun
#

char[] gaby = "TM | šŸ‡·šŸ‡“";

forest pecan
#

System.gc() 🌚

jovial warren
#

free(GabyTM | šŸ‡·šŸ‡“)

distant sun
#

no

#

šŸ™„

stuck harbor
#

šŸ‘€

old wyvern
#

Nah man, just replace the L1 , L2 caches and change the ram stick

#

Aint nobody got time for free()

stuck harbor
#

aye

forest pecan
distant sun
#

no

stuck harbor
#

'poor'

#

man

#

sadge

forest pecan
distant sun
#

Man I love custom textures, if only I knew a bit of design šŸ™„

jovial warren
#

if only*

forest pecan
#

we should all turn into artists

static zealot
#

omg @forest pecan šŸ˜

jovial warren
#

the grammar police have entered the building

hot hull
#

Why this not work, it's executing the right thing :sad:

static zealot
#

I love JvmStatic

forest pecan
#

😻

jovial warren
#

PreAlpha thonking

forest pecan
#

šŸ„’

jovial warren
#

that’s just called a development build

half harness
forest pecan
#

Hey

#

who delete mi message

stuck harbor
#

lol imagine using a sensible version system

jovial warren
#

I used to do that dkim, but Krypton is 0.10

stuck harbor
#

all my plugins are 0.0.x-SNAPSHOT

forest pecan
#

Hey who bullied deleted me message

half harness
#

probably gaby

#

i mean hes the only staff here

forest pecan
#

its gotta be the bot

#

lmao

half harness
#

try sending it again

forest pecan
#

depression

#

šŸ†

half harness
#

it didn't delete mine

stuck harbor
#

sudge

half harness
#

wot

forest pecan
#

🩓

half harness
#

lol

jovial warren
forest pecan
#

ping

jovial warren
#

and blitz

static zealot
half harness
#

gnegg

#

plant

ocean quartz
#

I am always here

forest pecan
#

I found it in my toilet

half harness
#

wtf

static zealot
#

always here always watching

half harness
#

wait

#

why can't we say 🄚 🪓

forest pecan
#

found it in my toilet

#

looked like a turd

#

but here you g

#

🩓

#

take it

ocean quartz
#

Because eggplant tastes disgusting

half harness
#

matt do u know why

forest pecan
half harness
#

its not deleting

#

wOT

#

oh LOL

distant sun
half harness
#

egg.plant

forest pecan
half harness
#

ez

#

ggplant

ocean quartz
distant sun
#

no wtf

#

depends how you cook it ig

static zealot
half harness
#

egplant

#

egggplant

#

šŸ‡Ŗ šŸ‡æ

static zealot
#

now I have both 🩓 🩓 . I have 2 right legs instead of one left 1 right

forest pecan
ocean quartz
#

Probably, I've had it in a few ways, it always tasted pretty bad

half harness
#

wow

#

bad bot

#

bad

#

@compact perch bad

forest pecan
#

@half harness @half harness

#

bad

half harness
#

wot

forest pecan
half harness
jovial warren
#

dkimArchives += this

half harness
#

wot

#

what is +=

static zealot
#

well I think I ate egg plant made only 1 way

stuck harbor
#

increment

#

dkim

#

u poopy

jovial warren
#

and there’s another one to add to the archives

#

dkim what do you think += does

static zealot
#

but it is pretty good tho Matt idk

#

how do I disable Cortana btw? I think it wants to take over my computer. it activated itself last night during the updates I made to windows

forest pecan
#

Hello

#

I am bot

static zealot
#

do you do Sex ?

forest pecan
#

Hello @static zealot

#

Yes I do take Sex orders

jovial warren
#

lol

hot hull
#

oh god

static zealot
#

ah I see. I'm going to send you a private message then with a request

jovial warren
#

=ban SexBot

static zealot
#

I pay a lot. I give you many many good things

forest pecan
#

Sounds Good BlitzZzZzZzZ. I will provide an order

#

SexBot is at your service

#

Starting fees (4 inches) -> $69
Every extra inch -> $3

obtuse gale
#

uh

forest pecan
#

I am SexBot

#

Do you need something

obtuse gale
#

A girlfriend

forest pecan
#

Fefo, I have found your perfect match

obtuse gale
#

Who

#

D:

forest pecan
#

Hey

#

Proof consumer is satisfied

static zealot
#

well is dkim satisfied?

forest pecan
#

Let's find out @half harness

obtuse gale
#

Sir

hot hull
#

Sir, please leave

obtuse gale
#

S-sir thi-

half harness
#

um

#

uhhh

forest pecan
half harness
hot hull
#

I'd like to order a rope yes

forest pecan
#

Do cocks count as ropes sir

obtuse gale
#

choke on it

half harness
#

šŸ˜‚

hot hull
#

What in the ever loving fuck

regal gale
#

No comment

forest pecan
#

🄲

#

Uhhh

#

Dkim

#

@half harness

#

You said this
"Looks like you're using maven. Show us your build.gradle, and make sure you're not manually importing the jar.
When you're using maven, unless you're using NMS, you do not need to download the jar file."

half harness
#

lol

forest pecan
half harness
#

wOt

#

šŸ¤·ā€ā™‚ļø

#

no one answered

#

so why not

forest pecan
half harness
#

šŸ˜‚

forest pecan
#

add that to the archives

hot hull
#

What the

half harness
#

im guessing u want me to delete the response ;-;

obtuse gale
#

lol

stuck harbor
#

man spigot

regal gale
#

What the hell man

stuck harbor
#

it exists

prisma wave
#

man really typed "maven" and "gradle" in the same sentence and didn't notice an issue

forest pecan
#

Lol

half harness
#

L

#

M
A

#

O

regal gale
#

What

forest pecan
#

dkim

half harness
#

.

forest pecan
#

šŸ™‚

#

Bin folder

half harness
#

im gonna private that repo

forest pecan
#

DAMN

#

Main.java

#

Wait

#

What the FUCK

hot hull
regal gale
#

Spam-issue him šŸ‘€

forest pecan
#

public String returnValue;
public String returnValue2;
public String returnValue3;
public String returnValue4;
public String returnValue5;
public String returnValue6;

#

LMAO

half harness
#

wtf

#

is that

forest pecan
#

He privated repod it

#

be a man

#

leave them open

#

like we do

regal gale
#

@half harness you coward

forest pecan
#

show the mistakes into the public

half harness
#

...

regal gale
#

Open it

forest pecan
#

@half harness coward

half harness
hot hull
#

@ocean quartz Did you forget about me :sad:

half harness
#

u guys bullied me too much 😭

hot hull
#

Bruh that was nothing yet

ocean quartz
#

I did not, dw xD

hot hull
#

There's still so much more that's wrong with that

regal gale
stuck harbor
#

anything wrong with MainFactoryAbstract.java?

hot hull
#

But that's why you open sauce your shit, so people can comment your code so you can improve

stuck harbor
#

I gotta build the main class

hot hull
#

You won't improve if you keep doing the same mistakes

forest pecan
half harness
#

thats good

#

😌

stuck harbor
#

lol

forest pecan
#

I found the part 2

stuck harbor
#

wait

#

arctic code vault?

#

is it there

regal gale
#

Erm.. you're still chatting with us at present day šŸ¤”

stuck harbor
#

we gotta invade and find out

half harness
regal gale
#

Paradox

half harness
#

WTF

prisma wave
#

@half harness coward

forest pecan
#

LOL

prisma wave
#

embrace your bad code

forest pecan
#

QUICK

#

Look before he PRIVATES IT

#

Fuck

half harness
#

nooooooooo

forest pecan
#

he privated it

regal gale
#

I did šŸ‘

forest pecan
#

Gj

prisma wave
#

pussy

forest pecan
#

me too

prisma wave
#

coward

regal gale
#

Coward

stuck harbor
#

sucks to suck

forest pecan
#

lol

prisma wave
#

weakling

stuck harbor
#

salad

ocean quartz
#

@half harness Why are you privating things? You don't want to get better? Take some criticism

half harness
#

they bully me :c

forest pecan
#

i dont make them private

#

i make them public

#

So here is my first "big project"

forest pecan
#

Its so bad lol

#

i was 11 when I made it

#

i tried to refactor shit like a couple months ago

regal gale
forest pecan
#

but then i gave up

#

xD

obtuse gale
#

but still being worked on very hard

regal gale
#

Too much replication

forest pecan
prisma wave
forest pecan
#

to preserve the shit

#

lol

prisma wave
#

We bully everyone

ocean quartz
half harness
#

fine

old wyvern
half harness
#

but ill keep magicitems2 private

#

since i have no idea why i have it

#

lol

forest pecan
#

i started when i was 11

#

lmao

#

im not 13

old wyvern
half harness
#

OOOO

forest pecan
#

Well, idk lmao

#

im not 13 tho

#

xD

old wyvern
forest pecan
#

I prolly didnt start at 11

#

but im not 13 tho

regal gale
#

I was 14 when I get to know coding extras

forest pecan
#

ppl can vouch for me

regal gale
#

You guys were ahead 🄲

ocean quartz
stuck harbor
#

sadge

half harness
#

ok

stuck harbor
#

;(

half harness
#

its unprivated

forest pecan
#

OH wait

#

I remember now

obtuse gale
forest pecan
#

then i lost a lot of my code

#

then i learned to post it on github

#

lmao

ocean quartz
forest pecan
#

If you saw, i was manually dragging files

#

on there

#

XD

old wyvern
#

lol

prisma wave
stuck harbor
#

I once used pex

obtuse gale
prisma wave
#

ok thx

stuck harbor
#

I died on pex

prisma wave
#

PEX was good

#

Back in the good old days

#

Before permissions plugins needed coloured text

stuck harbor
#

I mean like a year ago bm

prisma wave
#

oh

#

Lol

#

in that case

#

Ew

ocean quartz
#

The only thing going for pex is that it was easy to use

static zealot
#

is it possible to spawn a firework and make the animation pause? Like in the middle of the explosion or something?

regal gale
#

Nope

stuck harbor
#

unless there is a fireworkboomevent

static zealot
#

so I guess I have to just summon particles and make them look like a firework

stuck harbor
#

aye

static zealot
#

I wonder if there's a plugin or something already made. time to google xD

jovial warren
#

actually debating whether to use SLF4J or to just scrap SLF4J entirely and only support Apache's Log4j 2 API

jovial warren
#

Log4j 2 supports logging any char sequence for text, or any object for anything else, whereas SLF4J only supports strings

regal gale
#

Speaking of animation... i need a good approach for an in-game "replay" system lol

jovial warren
#

right screw it, Krypton's using Log4j 2 and I'm removing SLF4J support entirely

#

(you can depend on SLF4J and Log4j 2's SLF4J impl if you really want SLF4J I guess, but SLF4J won't be in the server anymore)

hot hull
#

#816184744797929522 Ah yes when it says broadcast when they mine an ore, but they have docs, sus

jovial warren
#
  1. Paper's repo shows up on mvnrepository
  2. Paper gets away with publishing authlib?
hot hull
#

1 more hour!!

half harness
obtuse gale
hot hull
#

||before someone laughs, yes I am joking it's absolute dogshit||

stuck harbor
#

sadge

#

i wish my first plugin was exist

#

but it does not

#

its not there

#

nope

ocean quartz
#

@hot hull It's probably better if you build the development branch, mine is a little different and has more experimental stuff that probably won't work

hot hull
#

:C

onyx loom
#

meh

ocean quartz
#

Will probably do Java 11 only when 1.18 comes out, i think one year is enough to let people upgrade

hot hull
#

hopefully this'll work cause I'm running java 15 lol

ocean quartz
#

It should

hot hull
#

seems to work, forgot to throw papi on

onyx loom
#

@hot hull !!!

hot hull
#

Thanks for the reminder

#

I have a feeling imma be fixing a lot of stuff just to be able to use it :p

onyx loom
#

pain

obtuse gale
#

Why do that reflectively lol

ocean quartz
#

Assuming that's because of paper, since i am not relocating adventure

obtuse gale
#

O

hot hull
#

relocation should fix it or?

ocean quartz
#

Yeah or update adventure

hot hull
#

that works too, sec

#

This would be it I presume?

msgs version: "2.2.2-SNAPSHOT", type: "adventure", scope: "api"
ocean quartz
#

Actually might be harder than that, since i'd need to update it on the lib as well
Just relocate xD

hot hull
#

smh

#

Better than clouds imo @onyx loom

onyx loom
#

hopsin was a good feature

hot hull
#

Yea

onyx loom
#

in the playlist šŸ‘

hot hull
#

The second there was an option

onyx loom
#

lol

hot hull
#

posted it in another discord, someone ewed, told em to jump out the window, with 3 other people agreeing, smart people have taste.

onyx loom
#

hell yeah

#

the cult is growing

#

how much of a fan are u of Hate Myself btw

hot hull
#

Masive

onyx loom
#

ive always liked the song but its becoming one of my favourites

hot hull
#

Cause you know, I hate myself fingerguns

onyx loom
hot hull
#

I have all of nf added on my mobile playlist, still adding them to my yt one kek, slowly but surely

onyx loom
#

not yet i was in class when u ponged

#

will do now

hot hull
#

the perm to give someone a lp group is group.<group> right?

gentle mesa
#

/lp user <user> group add <group>

hot hull
#

ah

#

Thanks

#

@ocean quartz I can just yeet this if I'm not using it right?

ocean quartz
#

Yeah

hot hull
#

Is there no reload command

ocean quartz
#

Did you build master instead of development?

hot hull
#

oh ffs

jovial warren
#

I just found something kinda humorous in Adventure's legacy serialiser lol

hot hull
#

very hungry

jovial warren
#

lol

onyx loom
hot hull
#

@ocean quartz This reload doesn't seem to working be reliably

stuck harbor
hot hull
#

Something for you to look at

ocean quartz
#

Wdym? Sometimes it works sometimes it doesn't?

hot hull
#

Well don't think it works at all, seems to not overwrite some formats to the new ones

ocean quartz
#

Huh, i remember it working for me
I'll take a look

hot hull
#

okay it works, but it took a long time to actually change the format for some reason

#

What's the format perm

ocean quartz
#

It's triumphchat.chatformat.<formatname>

hot hull
#

Why is it not applying the format properly lol

#

We're both snowman group, mine works, his doesn't lol

ocean quartz
#

Does he have any other format?

hot hull
#

nope

#

I'll test later, but I presume a restart will fix it, if it does then you have some fixing to do, if it doesn't, you have some fixing to do :p

ocean quartz
#

Oh yeah i'll definitely have to work on it a lot more

hot hull
#

For some reason it only works for me lol

#

we all have the same perms

prisma wave
hot hull
#

I will slap your ass BM

forest pecan
#

what if he got no ass

hot hull
#

Yea it legit only works for me for some reason lol

jovial warren
#

oh I swear, if Brigadier doesn't have a way to unregister commands

ocean quartz
#

Nope

jovial warren
#

right then, no unregistering

hot hull
#

I legit do not get this lol

#

Am I just special

errant geyser
jovial warren
#

the way it works is what makes it impossible I think

errant geyser
#

write your own lib then cursed_fingerguns

hot hull
#

Make your own minecraft duh

jovial warren
#

...

#

what do you think I'm doing

#

idot

obtuse gale
#

Bardy

#

Hey

forest pecan
#

Fefo

#

Hey

obtuse gale
#

I wanted to let you know that it's a joke

jovial warren
#

what's a joke

forest pecan
obtuse gale
jovial warren
#

katsu I will find where you live

forest pecan
#

hey

#

SexBot agrees

jovial warren
#

hey

#

I wanted to let you know that I got it idot

forest pecan
#

hey