#dev-general

1 messages · Page 150 of 1

old wyvern
#

Whats wrong niall?

heady birch
#

I add gradle

#

Doesnt work

#

Go back to maven

#

Gradle has broken everything

dusky drum
#

gradle is good if you configure it correctly

tacit cave
#

ahahmahmahma

old wyvern
#

What exactly doesnt work?

heady birch
#

....

#

Im not messing with it anymore

old wyvern
#

Its pretty similar to maven

heady birch
#

Probably just me

old wyvern
#

But if you dont want to, not going to force ya

#

Use what you feel you are comfy with

hot hull
#

👁️ 👄 👁️

old wyvern
#

You may find gradle useful later on in some cases so maybe try it in some test projects

obtuse gale
#

Ive been doing other stuff lol

heady birch
#

beautiful

hot hull
#

Ah I'll make my own repo then

heady birch
#

but you gotta sort out your spacing

#

Where are run configurations stored in IntelliJ

prisma wave
#

in .idea afaik

summer flax
#
public void tpPlayersToSpawns() {
        for (Player player : Bukkit.getOnlinePlayers())
            if (!plugin.getPlayerManager().getBasePlayer(player.getUniqueId()).isDead()) {
                player.teleport(mapSpawns.get(player));
            }
    }```
steel heart
#

Epic

summer flax
#

how can i edit this to make it teleport each player to their mapped spawn. Currently its teleporting each player to one spawn. I've checked the map and each player does have their own correct location

hot hull
#

I mean that should work, so long the locations are correct

steel heart
#

Depends if mapSpawns does what it should do

summer flax
#

weird... cuz the locations are correct

#
public void assignSpawns() {
        for (Player player : Bukkit.getOnlinePlayers()) {
            for (int i = 0; getSpawns().size() > i; i++) {
               if ((mapSpawns.get(player) == null)) {
                   mapSpawns.put(player, getSpawns().get(i));
               }
            }
        }
    }```
#

wait no i cant read

#

each player is being assigned the same spawn

#

ughhhhhhhh

#

someone help meeeee

#

this is hurting my brain. At the moment i guess its still assigning every player to every spawn so its my null check that isnt working

#

but why?

steel heart
#

Loop through the map

#

I wonder what that would print

#

Most likely this is a bug in your code

remote goblet
#

welcome to java

#

it fuckin suck

steel heart
#

Nah you’re just bad

summer flax
#
 public List<Location> getSpawns() {
        return (List<Location>) plugin.getDataManager().getDataConfig().get("spawns");
    }```
remote goblet
#

nah language succ

steel heart
#

Not really

remote goblet
#

yes

summer flax
#

can you not. I'm asking for help and thats not exactly helpful ori

steel heart
#

Lmao

remote goblet
#

Well you're also asking for help in a channel that isnt meant for support

#

so shut up

summer flax
#

good point

steel heart
#

Doesn’t mean you randomly should spit out a comment that is totally irrelevant

summer flax
#

how about ' hey buddy you're in the wrong channel '

steel heart
#

But we should move channel (:

ocean quartz
#

Circlejerk inc

hot hull
#

Java is bad

#

Kotlin good

quiet depot
#

clojure best

prisma wave
#

YES

#

Clojure is the language of intellectuals

steel heart
#

Yup

quiet depot
#

i'm actually of the firm opinion that python is the best language, and jython it's best implementation

prisma wave
#

You've clearly never heard of COBOL

steel heart
#

Skript

quiet depot
#

I'm legitimately considering making a skript interpreter papi expansion

remote goblet
#

Die

quiet depot
#

so people can write expansions in skript

steel heart
#

Lmao

remote goblet
#

Piggy don't

steel heart
#

That would be lit

remote goblet
#

that only encourages the usage of it

#

that's the opposite of what we need

steel heart
remote goblet
#

we dont need this discord server invested with annoying ass skript kids

#

we already have annoying kids like conclure giving everyone migraines and we dont need more mmSitStareMocha

quiet depot
#

rude

remote goblet
#

was my intention

hot hull
#

Piggy

#

You trynna start a crusade?

steel heart
#

Ori you make no sense sometimes

remote goblet
#

I'm aware

steel heart
onyx loom
#

crusade for pig if he ever makes that

#

but i think just mentioning it is enough

errant geyser
#

I'd support that

onyx loom
heady birch
#

Cool prototype for PAPI3 API

jovial warren
#

anyone know what the purpose of <T extends MyClass<T>> is btw?

#

or something along those lines

#

since doesn't that make it pretty much uninstantiable?

#

like since you go to make a new instance like this: MyOtherClass<MyClass<MyClass<>>>() and it just becomes an infinite loop

prisma wave
#

no?

#

You could have a ClassA<Int> and a ClassB<Int>

#

It just means that the ClassB Param has to match that of ClassA

jovial warren
#

what if ClassA's type param was T : ClassB<T>?

#

actually no ik what I mean

#

what about if you had this: ClassA<T : ClassA<T>>

#

that's uninstantiable right?

prisma wave
#

Type parameters aren't fields

#

They can be recursive

#

You could have kotlin class ClassB : ClassA<ClassB> and it would work just fine

jovial warren
#

true

#

but how would you instantiate that example I sent? (I mean obviously it's an interface but if it was a class)

#
class Quantity<Q : Quantity<Q>>
prisma wave
#

Just because a parameter exists, doesn't mean that it's in the constructor

jovial warren
#

but you need to provide the type for generics though don't you?

#

like when instantiating

prisma wave
#

Yes

#

I imagine in this example subclasses of Quantity would override the parameter so that it could be inferred

jovial warren
#

yep

prisma wave
#

But even if it wasn't, Quantity<Quantity>() would be possible

jovial warren
#

I believe they do something like: ```kotlin
class Meter : Quantity<Meter>

prisma wave
#

Could probably be inferred too in that case

#

yeah I thought as much

jovial warren
#

actually Meter is a measurement not a quantity lol

distant sun
#

@heady birch hot

ocean quartz
#

Found a good video to learn lexer and parser stuff, but the whole series is in Russian sad_fingerguns

prisma wave
#

subtitles?

ocean quartz
#

Well the code is understandable so i can go with that

hot hull
#

Learn russian

#

Ez

prisma wave
#

how do you know it's a good series then?

#

🤔

#

lol

ocean quartz
#

Checked the code before the videos

hot hull
#

Atleast you'll be able to curse out the code in russian after it when you don't learn shit from it

prisma wave
#

we're actually addicted to this emoji

hot hull
#

Yea

ocean quartz
#

reversed_fingerguns Perhaps

onyx loom
#

addiction bad angry_fingerguns

#

but fingerguns too good fingerguns

static zealot
#

finger licking good

distant sun
#

ԠДҬҬ

lunar cypress
obtuse gale
#

what the fuck is that white theme

lunar cypress
#

Oh shit I should have seen that coming

prisma wave
#

Wow that's me

#

I'm famous

lunar cypress
#

Please hold your circlejerk for a moment

obtuse gale
prisma wave
#

Do I have to

obtuse gale
#

Change to dark theme now

lunar cypress
#

I'll be right back

prisma wave
#

Ever heard of clojure?

lunar cypress
#

Disregard my previous message

prisma wave
#

I do

#

it's because we use Clojure

hot hull
#

@lunar cypress Not even amoled theme, the fuck is this blasphemy

prisma wave
#

bruh

#

how am I supposed to circlejerk if nobody gives a reaction

#

this is boring

hot hull
#

Clojure is good

#

Is that what you want to hear?

prisma wave
#

YES

#

thank you

#

I love clojure

lunar cypress
#

I need my daily dosis of parens

#

right now

prisma wave
#
(defn main [& args] 
  (println "Clojure Good Kotlin Bad"))
#

🙂

lunar cypress
#

*faints*

prisma wave
#

😍

#

imagine writing an anti-skript anti-eclipse anti-java program with clojure inside intellj with dark mode and gradle (with kotlin ofc)

lunar cypress
#

Epic devloper time 😎

prisma wave
#

I HATE java

#

jvm good java bad

#

"sun" more like "evil moon of satan"

#

🙄

lunar cypress
#

Don't do sun like that 😫

#

Oracle bad 😠

onyx loom
#

clojure is bad

#

sorry

#

not sorry

prisma wave
#

no!

#

you are wrong

lunar cypress
#

🚪 ⬅️

onyx loom
#

idc how many features it has

#

the nature of a lisp automatically means its bad

prisma wave
#

clojure is robust

#

no

#

lisps good

#

fun fact, Lisp is the second oldest programming language or something

#

idk

onyx loom
#

great to know

ocean quartz
#

Damn, a year after Fortran

prisma wave
#

yup

#

1962 iirc?

#

possibly later

lunar cypress
#

I was reminded of this

But I missed parentheses. I longed for parentheses. I dreamed in parentheses. I'm not kidding, the only dreams I've ever had in code were in lisp, and it's happened multiple times, programs unfolding before me. The structure of lisp makes the flow of code so clear, and there's simply nothing like the comfort of developing in front of a lisp REPL.

#

58

#

I think

prisma wave
#

oh wow

#

that's incredibly circlejerky

#

I love it

lunar cypress
#

Though it's debatable whether Racket is actually any close to Python's range

prisma wave
#

that article is such a circlejerk

lunar cypress
#

It's really just an honest opinion

prisma wave
#

It's a depressing opinion

#

you can't say

I longed for parentheses
without being at least partly insane

lunar cypress
#

I mean obv it's not dead serious

remote goblet
#

Kotlin has improved my code by 365%

prisma wave
#

I think you mean Int.MAX_VALUE%

remote goblet
#

I think i mean String.MAX_VALUE%

prisma wave
#

i agree

steel heart
#

Boilerplate.MAX_VALUE

errant geyser
hot hull
#

Ew

split talon
#

why

#

just why

static zealot
#

why not

heady birch
#

like it

errant geyser
#

Whats up with it Frosty and Jax?

onyx loom
#

it.commandtext.commandsender.sendmessage

errant geyser
#

Still don't understand whats up with that

#

If it bugs you enough you can make a variable for it

remote goblet
#

forgot to clear any db

#

where did my cringe emoji go

surreal quarry
#

@errant geyser you should make default aliases for like Command#sendMessage and SubCommand#sendMessage

errant geyser
#

TRUE

#

Ok I'm doing that

surreal quarry
#

and honestly anything that requires that whole long string with command context

errant geyser
#

There's not much else tbh

#

But yeah, thats done

jovial warren
#

that could very easily be misinterpreted

ocean quartz
#

Fair

#

Why the fuck does this return a map and not a list? I don't get it

#

It literally just adds the index of the items.. {0=ItemStack{STONE x 16}, 1=ItemStack{ACACIA_LEAVES x 1}}

#

Nothing to do with slots or anything

steel heart
#

That’s dumb

lunar cypress
#

doesn't it say in the docs that the keys are the slots?

ocean quartz
#

Returns:
A HashMap containing items that didn't fit.

#

The returned HashMap contains what it couldn't store, where the key is the index of the parameter, and the value is the ItemStack at that index of the varargs parameter. If all items are stored, it will return an empty HashMap.

#

This could have been a list

steel heart
#

Lmao

#

Wth

lunar cypress
#

i mean

#

it does make sense

#

it's not great design

#

but I see why it's a map

steel heart
#

That’s true

#

I mean a Collection would have worked anyways

#

Or maybe a list would have been greater perhaps

lunar cypress
#

well, do you want half your collection to be null?

#

or possibly the entire collection?

steel heart
#

Because?

lunar cypress
#

do you really need to allocate all that just because the itemstack at index 54 couldn't fit

ocean quartz
#

I mean most people adding the items don't really care to check if the specific vararg index was the one that didn't get added
I understand it's useful but

steel heart
#

do you really need to allocate all that just because the itemstack at index 54 couldn't fit
Oh yeah I’m just dumb

lunar cypress
#

yeah ig the index information isn't too relevant

ocean quartz
#

do you really need to allocate all that just because the itemstack at index 54 couldn't fit
Tbh that's what getContent does

#

An array where most of it will be null

lunar cypress
#

yeah but there it has more meaning

#

something being null actually means there is no item in that slot

ocean quartz
#

Yeah, it's pretty useful, though in this case could have been a map xD

lunar cypress
#

what do I care which indices did fit

heady birch
#

Evening

ocean quartz
#

Heyo

steel heart
#

Niall what’s ur timezone?

heady birch
#

GMT

steel heart
#

Wait what country?

dusky drum
#

wow

#

for me its 11:34pm

jovial warren
#

@ocean quartz what's even the point in having a map implementation that returns the list of items it couldn't store when you try to add an item and it's full?

ocean quartz
#

Why are you asking me that?

jovial warren
#

because you were the one who brought it up lol

#

who's code is it?

dusky drum
#

bukkits

#

or spigots

jovial warren
#

oh ffs

ocean quartz
#

I mean it's a Bukkit code lol

jovial warren
#

of course it is

dusky drum
#

XD

ocean quartz
#

Though it's useful, no need to be a map, a list would be fine, but it's useful

jovial warren
#

from the undocumented deprecated methods making you figure out what they've been replaced with to this

dusky drum
#

i mean its realy usefull.

steel heart
#

It’s 23:37 for me

dusky drum
#

same

#

im in CEST

jovial warren
#

also @ocean quartz btw, I'm currently working on an update for Octo to introduce support for ShardManager along side JDA, might be a thing for you to consider for MFJDA

steel heart
#

Gasper what country?

dusky drum
#

Slovenia

jovial warren
#

also hope you don't mind that I'm kinda stealing your way of handling messages lol

steel heart
#

Ah

dusky drum
#

and ya'

steel heart
#

Sweden

jovial warren
#

I'll credit you though

dusky drum
#

oh interesting.

ocean quartz
#

The hell is ShardManager?

dusky drum
#

XD

#

some jda stuff i think

jovial warren
#

it, well, manages shards

dusky drum
#

for discord

jovial warren
#

you know what shards are?

dusky drum
#

not completly but ye

jovial warren
#

not you lol

dusky drum
#

ojh

ocean quartz
#

Yeah, meh don't care enough for JDA to add that

jovial warren
#

alright guess PR it is then lol

surreal quarry
#

https://paste.jaims.dev/ciqoqazici.cs
is this a good way to do this. i am trying to be able to easily take an int in seconds and get the amount of like other time formats such as hours, min etc.

jovial warren
#

after I've finished working on Octo's new method of handling commands

#

@surreal quarry that's horrible

surreal quarry
#

lmao

jovial warren
#
fun Duration.formatToHumanReadable(): String {
    var durationLong = this.toMillis()
    val result = StringBuilder()
    for (entry in durations) {
        if (durationLong < 1000) break
        if (durationLong >= entry.value) {
            val amount = durationLong / entry.value
            result.append("$amount ${entry.key}").run { if (amount > 1) append('s'); this }.append(", ")
            durationLong -= entry.value * amount
        }
    }
    return result.apply { setLength(max(result.length - 2, 0)) }.toString()
}
```is what I'm using in my Punishments rewrite (definitely not my code lol)
#

tbh that's not all that much better

#

actually yes it is

#

wait why does your code return a map?

surreal quarry
#

so i can do the string however i like

#

lets me change it from time to time

jovial warren
#

I swear the Kotlin time API literally already lets you do this

surreal quarry
#

does it actually

#

ill cry

#

lmao

jovial warren
#

you can turn a number in to a duration and then get the amount of time

#

Int#milliseconds will give you a duration of the integer's amount of milliseconds for example

#

then you can get the duration in hours with the accurately named Duration#inHours

surreal quarry
#

ok ill try that

steel heart
#

I wonder why I don’t do kotlin yet

jovial warren
#

I wonder why some weird people still think Java is better lol

steel heart
#

Clojure

prisma wave
steel heart
lunar cypress
#

I wonder why some weird people still think Java is better lol
@jovial warren when you first joined this server, weren't you involved in a lengthy argument arguing just that

#

or am I confusing you with someone else

prisma wave
#

lol

#

pretty sure he was

heady birch
#

Oh how the tables turned..

lunar cypress
#

My, my, the turntables

heady birch
#

Laughs in rust

lunar cypress
#

I can't laugh in rust. I can only cry

#

When I looked through the spigot forums for a way to use clojure in a spigot plugin the other day, I stumbled upon something very cursed

#

(Yes, even more cursed than the fact that I was looking at how to use Clojure with spigot)

#

Someone wanted a Lisp with the characteristics of Rust

prisma wave
#

what

heady birch
#

Whys it called "a Lisp"

prisma wave
#

why's rust called rust

#

although

#

I'm pretty sure it's an acronym

#

for "List Parsing" or something

heady birch
#

(ok (thanks (for (explaining (that)))))

ocean quartz
#

It's called rust because you start to rust as you use it

lunar cypress
#

Yeah im p sure lisp literally means list parser

#

Or are you asking about the indefinite article

#

In that case it's because lisp is more of a language family than any discrete language

prisma wave
#
let you = &are!(<welcome[]->) { lisp: good }
lunar cypress
#

What abomination is this

prisma wave
#

rust

#

I think

#

or close enough

lunar cypress
#

Not too sure about some of this

heady birch
#

Idk if thats valid lol

#

I have yet to explore the |move| thing

lunar cypress
#

Don't think so

jovial warren
#

@jovial warren when you first joined this server, weren't you involved in a lengthy argument arguing just that
I was stupid back then alright

#

somehow my eyes got opened

lunar cypress
#

But you know why people still stick to java then

jovial warren
#

no because my arguments were complete BS

heady birch
#

Who taught each of you about kotlin?

jovial warren
#

my mate kacgal taught me

#

he taught me Kotlin, Java, Maven, Git and Linux System Administration in fact so pretty much everything

heady birch
#

I first remember like 2 years ago, sxtanna would go on and on and on about it all day

#

swiss army knife

lunar cypress
#

I saw it a couple snippets and decided to look at the reference

jovial warren
#

I wonder why some weird people still think Java is better lol
@heady birch aren't you one of these btw

heady birch
#

I dont think so

#

I was just angry at gradle & kotlin for a bit

jovial warren
#

lol fair enough

ocean quartz
#

I learned a good amount from Sx and BM but most of it was just reading the documentation

steel heart
#

India youtube tutorials op

lunar cypress
#

Tbf, java is still my best bet for the kind of barebones stuff I find myself doing very frequently

jovial warren
#

I learned a good amount from Sx and BM but most of it was just reading the documentation
I learnt a lot of Kotlin especially from my friend sitting there watching me just write shit and helping me get gooderer lol

lunar cypress
#

With regards to the jvm that is

#

JNI, ASM, lightweight libraries - no point in doing that in another jvm language unless you specifically design it for that language

prisma wave
#

What is this??? Civil discussion about different languages?!?!

#

where is the jerk

lunar cypress
#

Since kotlin mostly improves surface level things the latter rarely occurs (at least for me)

onyx loom
#

this is unprecedented

What is this??? Civil discussion about different languages?!?!
@prisma wave

prisma wave
#

Kinda boring tbh

#

I miss the days of kotlin good Java bad

#

The good old days

onyx loom
#

kotlin good java bad?

lunar cypress
#

I like boring :(

prisma wave
#

meh

steel heart
#

Skriptwesmart

prisma wave
#

boring is boring

#

If sx was here this would be more fun, he would've called at least 3 people "OBJECTIVELY wrong" by now

steel heart
#

Lol true

prisma wave
#

😔

onyx loom
#

that is objectively correct

ocean quartz
#

I'll use Java for libs and things like that, though for my plugins definitely Kotlin, curious about Clojure, but the syntax is weird for me, though seen some cool stuff when we were doing clash of code

steel heart
#

I miss sxt

prisma wave
#

Clojure good

#

like unironically here

#

The syntax is just an initial shock

#

Once you get over it, which takes about 10 minutes, it feels just as normal as any other language

lunar cypress
#

Glad you feel that way now too

prisma wave
#

Yeah I like clojure

#

I just don't know what to do with it lol

lunar cypress
#

Fair enough

#

It also took me some time, mostly because my brain was still wired to the old concepts and I couldn't imagine a new idea being realised with a new paradigm

#

You can definitely do a lot with it. I recommend just browsing through some projects and libraries

#

I could share some of my favourites or some that I find most intriguing

prisma wave
#

Yeah that could be cool

#

I just (again unironically) can't really see any other language being able to complete with the versatility of Kotlin

#

but it would be cool to see some Clojure in practice

lunar cypress
#

My biggest public clojure project is an implementation of the poker game mechanics along with an accompanying discord bot that lets you play against others in chat

#

That was rather challenging but it turned out quite good

#

As I told you already I'm currently also working on Clojure for web backends

#

And some of the stuff I still want to play with:

#

In terms of libraries, all the contrib (official) ones are pretty good, esp core.async and core.match

#

Someone also made an app to do shell scripting with clojure (using graalvm native images), I've actually used that a couple times on my server as well
https://github.com/borkdude/babashka

#

And there are many areas which I haven't explored yet, such as general purpose logic programming with core.logic and machine learning/ai with adapters for apache spark and stuff

#

And of course ClojureScript

#

There are tons of frontend libraries and wrappers of popular js frameworks for clojure

prisma wave
#

Oh wow that's quite a lot

#

I'll take a look though, looks cool

lunar cypress
#

I could probably go on, esp in that web project I try to dip my toes in a lot of cool libraries

#

What I like about Clojure is that it is very modular. There aren't many big frameworks, but rather many individual libraries you can just plug in since they all share the same data interfaces

#

In java or kotlin something like this isn't possible without the libraries knowing each other because they all have their own types, their own structures and apis

ocean quartz
#

Markdown parser 👀

prisma wave
#

Yeah I saw that was a key principle of Clojure's design

#

Everything shares an interface or something

turbid geode
ocean quartz
#

It's a minimized file i think

prisma wave
#

Yeah and obfuscsted by the looks of it

hollow dragon
#

Hi, is there any way to stop DeluxeChat from un-cancelling a AsyncPlayerChatEvent when it is already cancelled?

#

It is causing problems with a plugin I am making

pallid gale
#

I don't believe it does

#

Canceling the event causes issues in another chat moderation plugins

hollow dragon
#

oh

pallid gale
#

From memory it just clears the recipient list

odd flame
#

In my plugin, when a player is in a boat and they are on top of a slime block, the boat’s velocity gets increased so that the y is equal to 1 to launch the player. However, sometimes the boat hits an invisible “ceiling” and doesn’t get launched. This also occurs when I don’t have a plugin and just use a slime block with a sticky piston. I’ve tried changing the moved-wrongly-threshold and moved-too-quickly-multiplier in the spigot.yml file, but neither worked. Any ideas?

lost edge
#

Where's a good place to store data for placeholders? Just in the plugin folder?

old wyvern
hot hull
#

Why tho

#

Why on paper

#

Is it the 18th century?

pallid gale
#

its the only most logical thing to write on

#

unless you wanted it on stone

old wyvern
#

😂

hot hull
hot hull
#

@lunar cypress "editor", because that's all eclipse is, a glorified text editor fingerguns

quiet depot
#

@hot hull tip for future reference

#

the first parameter you pass to shadowJar's relocate function is not the group id

#

it's the package

hot hull
#

Oh...

quiet depot
#

@hot hull made a pr

hot hull
#

Thanks bb

quiet depot
#

updated the pr

#

check it out

hot hull
#

Not home, will do in a couple of hours

lavish notch
#

Frosty, I've found a plugin you're gonna love.

regal gale
#

Lol

regal gale
#

I just decompiled the 1st plugin and when i looked, I realized the author straight away..

hot hull
#

Report the resource

lavish notch
#

I have lol

#

I also notified the original author

heady birch
#

Wtf.. its free?

lavish notch
#

No

#

It's a leak

heady birch
#

Yeah but why on spigot

lavish notch
#

Spigot big dumb

#

idk

heady birch
#

I am gonna fix some bugs in Photoshop then release it for free because I recoded some parts

#

Lmao

lavish notch
#

I changed 1 variable name
Imma release it for free

hot hull
#

Time to go decompile windows, change 1 line and sell fingerguns

heady birch
#

LOL

#

at Thread.sleep

#

Latest review

lavish notch
#

Someone having fun with minecraft item names

errant geyser
#

Time to fork MF to use Kotlin and Gradle fingergunboat

prisma mantle
#

@lavish notch why did you report? I thought you're a regular user of leaked plugins.

lavish notch
#

ffs

errant geyser
#

I smell beef

lavish notch
#

THePurpleHoser is the son of VK.

heady birch
#

🙁

prisma mantle
#

😉

heady birch
#

Cool lol

errant geyser
#

Who's VK

prisma mantle
#

no one

heady birch
#

vk2gpz

#

sounds like a reg number lol

pallid gale
#

why did you report? I thought you're a regular user of leaked plugins.
@prisma mantle

- Don't take part or provoke arguments.
errant geyser
#

Ok pack it up, we've awoken cube

prisma mantle
#

oh, sorry funnycube ;P

#

did not mean to provoke.

pallid gale
#

It had no place here

prisma mantle
#

agree, i should have used PM.

lavish notch
#

VK doesn't give chances, so what do you want me to do?

#

I already contacted you previously

pallid gale
#

Take it to dms

heady birch
#

No here plz

prisma mantle
#

^

heady birch
#

I wanna watch

errant geyser
#

Group DM time fingergunboat

heady birch
#

😮

prisma mantle
#

is there such a thing as group dm?

heady birch
#

I like VK

errant geyser
#

I mean, yes

#

Hey Cube

#

Just out of interest

#

Are you ever going to unmute TheCumChalice?

pallid gale
#

If they change their name sure

errant geyser
#

ah

prisma mantle
#

@heady birch do you know how to replace the value of final variable under recent Java?

heady birch
#

Nope

#

I wouldn't want to

prisma mantle
#

i was able to do that in Java8 but new java does not allow me to....

#

thought you might have known.

heady birch
#

Are you using setAccessible?

prisma mantle
#

yes.

lunar cypress
#

setAccessible has nothing to do with this

#

You need to change the modifier

prisma mantle
#

in java8, i changed modifiers field of the variable to replace

#

but in recent java, i don't seem to be able to do this anymore.

lunar cypress
#

Yes I think it's prohibited now

prisma mantle
#

...

#

ah.

heady birch
lunar cypress
#

You can't reflect the fields of Field anymore

heady birch
#

Oh

prisma mantle
#

grr...

lunar cypress
#

And also yeah, be aware that this will never work with static final primitives or strings

#

Regardless of version

prisma mantle
#

na, this is for object[]

#

nms 1.8.8 has Enchantment[] with a fixed size array.

#

i was able to change it as long as I use java8

lunar cypress
#

I can't recall if there's a workaround for newer versions

prisma mantle
#

but i want to be able to do it at least with java 11.

lunar cypress
#

But i don't think so

lunar cypress
#

@prisma wave I'm just gonna fork pdm and make a PR with my suggestion if that's ok with u

steel heart
#

What’s the suggestion? Or is that a secret?

prisma wave
#

Yeah sure

#

The GitHub should have the latest code

errant geyser
#

BM u been to Tesco yet

prisma wave
#

I went yesterday

errant geyser
#

damn it

prisma wave
#

lol

errant geyser
#

How you liking the 27 degrees already

obtuse gale
#

its 27 degrees there?

errant geyser
#

yeah man

#

We're melting

prisma wave
#

I wanted to die yesterday

obtuse gale
#

damn

#

I could only hope for that

#

Its currently like 7-9 here

onyx loom
#

wtf i wanna be in 7-9 degree weather

heady birch
#

"it gets better" they said

onyx loom
#

that's good weather

obtuse gale
#

27 is nothing... just sayin

heady birch
#

"permenant solution to a temporary problem" they said

obtuse gale
#

id consider that warm

errant geyser
#

AJ

#

We live in year round rain

#

This is like, 300 people will die of heatstroke today heat

#

for us at least

obtuse gale
#

o

#

it was freezing today lol

prisma wave
#

exactly

#

you are used to it

heady birch
#

This is like, 300 people will die of heatstroke today heat
@errant geyser ?

#

Cant they just... go inside....

#

See If I was prime minsiter i would stop that

errant geyser
#

You'd think that wouldn't you

#

But PeOpLe WaNt TaNs

onyx loom
#

fuckin weirdos

heady birch
#

🤣 👉 Tanning salon👈 🤣

lunar cypress
#

I'm noticing you're leaving a lot of resources unclosed @prisma wave

prisma wave
#

Such as?

lunar cypress
#

InputStreams

prisma wave
#

I've tried to close them whenever possible

#

Hm

#

Example?

lunar cypress
prisma wave
#

Ah good point

#

I'll probably just make toString close the stream

#

or toByteArray

#

Nice catch

lunar cypress
#

You don't really need toString()

prisma wave
#

Or you can do it if you want

lunar cypress
#

generally all your Streams utilities are available in google commons io

#

which if I'm not mistaken should always be available

prisma wave
#

Sx mentioned that

#

I believe there are classes like ByteStreams which do this, but they throw IOException which I want suppressed in this case

#

suppressed with a default value that is

#

But again if I've missed something you're welcome to fix it

lunar cypress
#
final JSONDependencies jsonDependencies;
try (Reader reader = new InputStreamReader(dependenciesResource))
{
    jsonDependencies = Constants.GSON.fromJson(reader, JSONDependencies.class);
}
catch (IOException | JsonSyntaxException | JsonIOException e)
{
    logger.warning("Could not read dependencies.json:");
    e.printStackTrace();
    return;
}
```I've done this in PluginDependencyManager for example
#

this does not change the semantics (apart from the fact that it would fail without showing you the exception before)

prisma wave
#

That looks better

frigid badge
prisma wave
#

🤔

frigid badge
#

p h p == s h i t

#

oh wait it's php let me correct that

#

p h p === s h i t

prisma wave
#

@lunar cypress although isn't there a parameter in warning() for an Exception?

#

===

#

ew

lunar cypress
#

nope, this is java.util.logging

#

which sucks

prisma wave
#

ah rip

#

Oh there's log(LogLevel, String, Throwable) I think

lunar cypress
#

ah yeah you're right

prisma wave
#

I'm pretty sure that's used in other places, so for consistency maybe use that

lunar cypress
#

imo it would be better if you passed the dependencies resource around as a URL and only opened the stream when you actually need it

#

would technically be a breaking change to PDMBuilder but what do you think

prisma wave
#

I don't really like the InputStream passing so I'm all for that

#

It was purely for convenience, since JavaPlugin#getResource returns an InputStream

#

Or even just accept a String and make the caller in charge of reading whatever input source they want to use

lunar cypress
#

well at that point you might as well put the caller in charge of reading it

prisma wave
#

Yeah

#

You can change that if you want, if not I'll have a go later. Maybe there should still be a deprecated InputStream method for compatibility?

#

I'm not really worried about breaking changes since it's in beta, but it would at least have some documentation saying what to use instead

lunar cypress
#

yeah I doubt that anyone used anything other than the constructor taking a plugin anyway but I can do that

prisma wave
#

Alright cool

#

just make the Plugin constructor read getResource I guess

heady birch
#

Anyone got any idea why 1.16 colours wouldn't show

#

Its working fine for me but for another user on paper 1.16.1 it shows the last character of the colour

steel heart
#

bug perhaps

heady birch
#

Really? lol 🤦‍♂️

hot hull
#

Why is there no Frozen Join

#

:((

heady birch
#

I told him to try without Plib, chat control and servernpc

#

Wether they were doing something intercepting packets or what not

steel heart
#

FrozenJoin is a must

heady birch
#

Dont make sense

#

Same version

#

No via version

#

No bungee

lunar cypress
obtuse gale
#

1.8.8 🤮

dusky drum
#

heheheh

#

lets go to 1.4.7

lunar cypress
#

that was actually the first version of minecraft I owned

dusky drum
#

i ordered mc in 2010

hot hull
heady birch
#

Who wanna API review

dusky drum
#

?

hot hull
#

gItHuB Niall, github

heady birch
#

No

dusky drum
#

hehe

heady birch
#

It goes on github when done

obtuse gale
#

still java

#

bad

dusky drum
#

you bad

#

java is good.

obtuse gale
#

but kotlin is better

dusky drum
#

that doesnt mean java is bad

obtuse gale
#

yes it does.

dusky drum
#

just cause something is better it doesnt mean something else is bad

obtuse gale
#

youre basically asking for a crusade rn

dusky drum
#

???

obtuse gale
#

CRUSAADE

dusky drum
#

i dont care about history

prisma wave
#

Java is bad tho

dusky drum
#

its not

obtuse gale
#

it is

prisma wave
#

Please backup your claim

dusky drum
#

if java isnt there kotlin wont exist

#

kotlin depends on java

obtuse gale
#

yes, kotlin exists because java is bad

dusky drum
#

okay then,

#

then everything is bad

#

cause i said so

obtuse gale
#

well no

dusky drum
#

yes

analog crater
#

kotlin depends on java
@dusky drum no. Kotlin Native and kotlin js

heady birch
#

Rust exist because everything else is bad

obtuse gale
#

I can backup the claim if you wish lol

#

Im probably not the best person tho

frigid badge
#

they don't depend on java anyway @analog crater even kotlin jvm doesn't need java

#

it needs the jvm

#

2 different things

analog crater
#

Java could a be reference to the jvm.

#

Or the jdk

#

Java is also a set of specifications

frigid badge
#

jvm != java

obtuse gale
#
class Scratch {
    private String x;
    private String y;
    private String z;

    public Scratch(String x, String y, String z) {
        this.x = x;
        this.y = y;
        this.z = z;
    }

    public String getX() {
        return x;
    }

    public void setX(String x) {
        this.x = x;
    }

    public String getY() {
        return y;
    }

    public void setY(String y) {
        this.y = y;
    }

    public String getZ() {
        return z;
    }

    public void setZ(String z) {
        this.z = z;
    }
}```
= ```kotlin
data class Scratch(
        val x:String,
        val y:String,
        val z:String
)``` If i converted that right lol
dusky drum
#

i mean i dont care about size of code?

obtuse gale
#

null safety?

#

that also exists

#

and extension functions

dusky drum
#

i dont need it.

analog crater
#

"Java is a set of computer software and specifications developed by James Gosling at Sun Microsystems, which was later acquired by the Oracle Corporation, that provides a system for developing application software and deploying it in a cross-platform computing environment." According to the wiki. It clearly states that its a system for developing applications and deploying them.

heady birch
#

getters are kind of nice

obtuse gale
#

i dont need it.
imagine having to deal with NPEs

dusky drum
#

lel

heady birch
#

yeah u get KotlinNpe instead

obtuse gale
#

na

heady birch
#

Unless you write it properly of course

lunar cypress
#

they don't depend on java anyway @analog crater even kotlin jvm doesn't need java
@frigid badge yes it does

heady birch
#

!!

obtuse gale
#

ew

analog crater
#

Kotlin JVM needs java. The other kotlins don't

dusky drum
#

kotlin requires jdk

obtuse gale
#

Ive only ever used !! once

dusky drum
#

kotlin still needs jdk for some stuff.

#

so it semi depends and i dont care.

#

if you say its better

#

i've never said its bad

lunar cypress
#

kotlin does not need the jdk

analog crater
#

Kotlin in itself doesn't need the jdk

prisma wave
#

kotlin can be fully independent of Java

dusky drum
#

i said for some operatins.

#

operations*

prisma wave
#

It just has the ability to piggyback off java's ecosystem

lunar cypress
#

no not even for some operations. kotlin jvm needs the java standard library, but not the jdk

prisma wave
#

indeed

dusky drum
#

so it needs java.

lunar cypress
#

yes

analog crater
#

However, kotlin jvm does need a jvm

prisma wave
#

Semantics

#

Kotlin/JVM needs a JVM and the Java standard library

dusky drum
#

i love where this conversation is going.

prisma wave
#

Not Java itself

#

Where is it going?

frigid badge
#

it needs the jre

dusky drum
#

i have no idea?

analog crater
#

What is java itself?

frigid badge
#

magic

obtuse gale
#

what is life

analog crater
#

The precoming of death

prisma wave
#

Incidentally, your argument isn't really valid - saying "it depends on Java" doesn't mean that Java is good. In fact, the fact that something exists to improve on Java suggests that it is something that needs improvement

dusky drum
#

its still not bAD?

prisma wave
#

I mean

quiet depot
#

java is good

dusky drum
#

thats like saying since bugati is faster all other cars are bad

#

fastest*

prisma wave
#

it's not awful but it's pretty bad in comparison

analog crater
#

Bugatti is company lol

dusky drum
#

still

#

same

#

stuff

prisma wave
#

Kotlin good Java bad Clojure good

dusky drum
#

java is good in its own way, and so is kotlin.

analog crater
#

No? How can you compare a speed of a company compared to the speed of a xar?

obtuse gale
#

no

frigid badge
#

no need to be a smartass dude

quiet depot
#

jolly you get the point

analog crater
#

I dont. Thats why I am asking

prisma wave
#

The thing is, good and bad are subjective

dusky drum
#

eh.

quiet depot
#

pretend "bugatti" is the fastest car

dusky drum
#

if youre SO NAME SPECIFIC here you go the full name i intended....

#

bugatti veyron

#

now

#

bye

analog crater
#

Bye

dusky drum
#

im leaving thius conversation

prisma wave
#

Lol this got very toxic very quickly

analog crater
#

Rip

dusky drum
#

yes since everyone in this world is so toxic to everyone noone can be frieldy.

#

just YES THIS IS GOOD other stuff is bad

analog crater
#

The english language is a very bad language. It isn't logical enough and allows too much miscommunication

lunar cypress
hot hull
#

Slovenian best fingerguns

analog crater
#

And relies too much on the user

prisma wave
#

mfw when not clojure

#

😔

analog crater
#

Is closure faster than java (development time and runtime)

hot hull
#

Clojure is best.

prisma wave
#

development time absolutely

#

Dynamic languages are usually quicker to write than static languages

#

Runtime, not sure

#

It probably evens out in the end

lunar cypress
#

depends on what you're doing

#

It's pretty fast, especially when it comes to large sequence manipulation and concurrency it can easily compete with java

prisma wave
#

Kotlin isn't dynamic

lunar cypress
#

kotlin is not dynamic

analog crater
#

I just read what I put. I meant js lol

lunar cypress
#

you mean clojure comparing to js?

quiet depot
#

lel pablo

frigid badge
#

clojure vs js is an odd comparison

quiet depot
#

embed to prove it's not a rick roll

lunar cypress
#

well not really

prisma wave
#

clojure is probably faster

#

Since it's compiled not interpreted

lunar cypress
#

considering JS is a valid and common clojure target

#

unless you really mean clojure (jvm) vs js

analog crater
#

Idk what I'm even saying anymore. I'm severely misguided

lunar cypress
#

in that case clojure is obv gonna be faster

#

but different use cases so

prisma wave
#

I'm severely misguided
Aren't we all fingerguns

analog crater
#

Yes.

lunar cypress
#

im gonna write a proof of concept-sort plugin in clojure later

#

any suggestions

#

as to what I could do

prisma wave
#

join plugin fingerguns

frigid badge
#

man discord distracts me so much

lunar cypress
#

I looked through some crappy plugin store to see if I could copy something

#

But didn't really find anything interesting

#

or suitable

#

I've been thinking about a "time machine" plugin for some time now

#

that replays certain events happening in the world

prisma wave
#

Interesting

#

That sounds pretty cool

lunar cypress
#

yeah it does and I think it could be something that clojure is good for

#

but I need to think about the technical terms more

analog crater
#

Plugin that allows dynamic interperated pieces of texts to edit minecraft servers with added functionality whilst using an easy syntax whilst is human readable.

#

Make that in clojure

lunar cypress
#

edit minecraft servers
?

analog crater
#

With added functionality like behavior similar to plugins

prisma wave
#

what are you on about

dusky drum
#

yay so i've replaced my dataclass with kotlin now nothing saves XD

#

idk why tho

#

isnt like it possible to have kotlin and java at the same time

prisma wave
#

wdym

#

Yes

analog crater
#

A plugin the let's you write pieces of text which gets interperated at runtime. It allows you to add functionality to minecraft such as add join messages. The syntax should be easy to read. The plugin also needs to have modularity for addons such as tnt or redstonev

prisma wave
#

You got gradle configured properly @dusky drum ?

dusky drum
#

im still on maven.

#

with this resource

#

i mean intellij idea said it would configure it itself

distant sun
#

great show btw

prisma wave
#

It should do

heady birch
#

Dont try convert maven to gradle

quiet depot
#

it's definitely their funniest video gaby

prisma wave
#

what even is the problem here?

distant sun
#

dont try, do it!

dusky drum
#

i mean i see some kotlin stuff in pom file

lunar cypress
#

A plugin the let's you write pieces of text which gets interperated at runtime. It allows you to add functionality to minecraft such as add join messages. The syntax should be easy to read. The plugin also needs to have modularity for addons such as tnt or redstonev
@analog crater you're describing Skript

dusky drum
prisma wave
#

Idk never used maven with kotlin

#

But what's the problem?

dusky drum
#

i mean it builds and everything

#

and it runs

analog crater
#

@analog crater you're describing Skript
@lunar cypress yes but make it good

dusky drum
#

but data doesnt get saved into hashmap

#

when i create class and put it into hashmap

prisma wave
#

lol

dusky drum
prisma wave
#

That's not much to go on

hot hull
#

Jolly

#

No.

#

Stop it.

dusky drum
#

and update user:

    public void updateUser(PlayerData playerData){
        String info = playerData.getUserID() + ":" + playerData.getServerID();
        users.put(info, playerData);
    }
prisma wave
#

As in getUser is returning null?

dusky drum
#

i check if its not in hashmap yet if not then add new right

#

but it never gets added.

hot hull
#

Making a new map by accident?

prisma wave
#

are you sure it's not a multiple instances problem?

dusky drum
#

let me check

analog crater
#

Frosty. Skript's concept is genuinely good. However, they way they implemented is trrrible

prisma wave
#

I find it incredibly unlikey that kotlin is causing this issue

dusky drum
#

žwat ta frik its storing it into sql so it must be in hashmap .. wat ta frik is going on

prisma wave
#

multiple instances problem

#

Bet

hot hull
#

You wanna bet your balls like Niall and another dude did earlier?

#

Cause if so, I'll prepare the scissors fingerguns

prisma wave
#

Uh

#

Maybe

dusky drum
#

idk how to check if im running multiple instances?

hot hull
#

print out shit, see if it matches

heady birch
#

just make it static

#

then there cant be

hot hull
#

Niall

obtuse gale
heady birch
#

problem solved

dusky drum
#

hm

#

it saves data to hashmap

#

and when it tries to access it it just gets null.

remote goblet
#

HashMaps never end well for me

obtuse gale
#

do you have multiple instances of the map?

#

Or the class the map is in

prisma wave
#

that's probably what's going on here

dusky drum
#

nah

#

just 1

distant sun
#

print the map to console

#

and see if it's the same in both places

dusky drum
#

okay so i fixed it apparently somehow i managed to swap values in data class so i swaped userid and guildid for some reason idk how that happened

#

maybe i had different class create function on java

#

idk

remote goblet
#

java EmiCross

dusky drum
#

i must say i like the data classes in kotlin.

prisma wave
#

1 small feature in the sea of QoL features fingerguns

dusky drum
#

QoL?

prisma wave
#

Quality of Life

dusky drum
#

aha

#

i mean

prisma wave
#

i.e small things that make day to day stuff easier

dusky drum
#

i just need to change my 46k lines into kotlin.

prisma wave
#

IJ can do it for you

dusky drum
#

:?=

#

is it 100% guranteed working?

obtuse gale
#

nope

errant geyser
#

no

dusky drum
#

rip

#

so better do it myself

prisma wave
#

i mean

dusky drum
#

cause my code in java is just GUUUUD

errant geyser
#

They'll do most stuff ok, but it'll need touching up

prisma wave
#

it's a good start

#

^

dusky drum
#

i mean its probably better for me to do it manualy so i learn some stuff to right?

prisma wave
#

I guess

#

I learnt by letting IJ convert and just reading the code

dusky drum
#

oh and do function like Graphic2D from java work in kotlin?

prisma wave
#

but if you wanna do it yourself, go for it

#

yes

dusky drum
#

okay.

prisma wave
#

if it works in Java, it works in kotlin

dusky drum
#

ook

prisma wave
#

and vice versa

dusky drum
#

great

#

i just dont feel chaning my shiti simplecrops plugin into kotlin, code there is just the "best"

heady birch
#

g2d nice

dusky drum
#

i use g2d for discord bot

#

to send welcome and those stuff

frigid badge
#

sorry to burst your bubble but that code is not "the "best""

dusky drum
#

is shit

#

its*

#

thats why i put best in ""

hot hull
#

bruh GitLab

#

Disgusting

dusky drum
#

cry

#

i switched to github but havent transfered all stuff yet

hot hull
#

switch

    public void openConnection(){
        if(engine.equalsIgnoreCase("sql")){
            try {
                sql.setup();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        if(engine.equalsIgnoreCase("mysql")) {
            mySQL.startup(tablename);
        }
        if(engine.equalsIgnoreCase("yaml")){
            yaml.setup();
        }
    }

dusky drum
#

i know

prisma wave
#

bruh

dusky drum
#

i said its shit code

#

ha

prisma wave
#

-_-

frigid badge
#

ez ban

prisma wave
#

p o l y m o r p h i s m

hot hull
#

P O L Y M O R P H I S M

prisma wave
#

wow

remote goblet
#

nvm not gonna say it

prisma wave
#

wtf

dusky drum
#

report frosty

prisma wave
#

this is admin abuse

dusky drum
#

yes report frosty

remote goblet
#

are we

#

not gonna talk about that

dusky drum
#

XD

#

XDDD

#

thats there for looks

#

dont worry about that

prisma wave
#

I would suggest you convert to clojure

dusky drum
#

i havent finished that command

#

so its for looks

remote goblet
dusky drum
#

?

remote goblet
#

as a start if(!(args.length > 1)){

heady birch
#

Those 4 args

dusky drum
#

XD

heady birch
#

Put into CommandContext

prisma wave
#
(if (hasPermission sender "")
  (sendMessage (sender (TextUtil/colorFormat (getString (getMessages (messagesData) "noPermission")))))
  (return true))
``` ever heard of clojure?
heady birch
#

Is that actual

prisma wave
#

I think I converted that right

hot hull
#

KM, you got bleach

remote goblet
#

that looks like actual fucking cancer

prisma wave
#

lol

#

it's clean

heady birch
#

The syntax is interesting it might be fun to learn

remote goblet
#

its fucking cancer

dusky drum
#

no

#

this is gay

prisma wave
#

wow

lunar cypress
#

Even better

remote goblet
#

next you're gonna say "who needs ."