#dev-general

1 messages · Page 167 of 1

analog crater
#

Thats just machine learning with extra steps

empty flint
#

What's your opinion on minecraft command length. Short and concise vs long but powerful. I don't know where to draw the line in terms of command options. What sort of command to support and what not to support for the sake of brevity.

analog crater
#

Concise but variable

#

E.g pez

#

Pex

empty flint
#

Not what I meant

#

I am talking in terms of arguments for commands where you could allow more than one

#

for example, say you want to set a specific value for a player

analog crater
#

Well that depends on the command. Would you rather /chat <colour here> <yourmessage>
Or /chatred <message> and /Chatblue <message>

static zealot
#

you don't go with just one. you do it based on context. if you think a more lenghty command is better then go for it but I like to keep mine as short as possible if possible.

empty flint
#

should I allow the same command to set that value for multiple players like so:

/setplayerval <player> <val> [, <player> <val>, ...]
/setplayerval <player> <val>

#

short version to force them to call the command multiple times or enable varargs style arguments?

static zealot
#

nah don't

analog crater
#

Don't think you should use the first one

static zealot
#

just let them do it multiple times

analog crater
#

Or have a cfg

empty flint
#

Ok, why?

#

Why the short?

static zealot
#

because it looks better xD

analog crater
#

Also, message length and readability

static zealot
#

no need to ask here as well

analog crater
#

But you could do /setplayerval <value <player1> <player2> etc

static zealot
#

oh that could be a thing ^

#

so the same value for multiple players

#

but not mutliple values and multiple players in the same command

empty flint
#

hm

#

What about multiple optional values for some object in the same command

#

/create obj <name> [<attr1> <value1>] [<attr2> <value2>] [<attr3> <value3>]

ocean quartz
#

Yoo that's it for me today, the hover even has been broken for over 8 commits and I only noticed it now

static zealot
#

ugh I'm trying to make a repository on github for my plugin but can't seem to be able to import folders?

#

like I want to import the entire plugin folder or at least the folders and files that are included but can't seem to be able to

#

do I need to go and create the directories manually and import just the files/

ocean quartz
#

I recommend using what i use for managing github, GitKraken

#

Might make that easier for you

static zealot
#

I'll take a look at what that is

#

is it safe to sing in using my github account?

ocean quartz
#

Yeah

#

Yeah i'm done today, actions are broken, doesn't work on old versions, it's a mess
Piggy did warn me about bungee's component, gonna have to write my own
And prolly gonna make it work with adventure too, cuz why not

static zealot
#

a bit more work for better outcome

ocean quartz
#

Yeah, more pain

onyx loom
#

🌝

static rampart
#

How hard would it be to make a plugin that simply makes storms last longer. I think it would be really cool to have just a simple plugin that overrides minecrafts normal weather (ie doWeatherTick=false) and instead puts in its own in which you can customize the min and max time that a storm would last (ie it would choose a random number of seconds from the 2 values given for the duration of the storm)

sterile wagon
#

Hey, random shot in the dark, is anyone familiar with spawning fake maps using packets?

ocean quartz
#

It's better if you ask what you want to know about maps with packets than ask if anyone is familiar ;p

sterile wagon
#

Well, we're trying to figure out if anyone knows of a way to spawn an item frame that contains a map image using packets, or even just knows of a plugin that already does it

static rampart
#

Does anyone know what im talking about ^

ocean quartz
#

Well seems like chat packets aren't that hard to make

hot hull
#

Slow.

#

@ocean quartz I assume you're still using spigot chat component for that?

ocean quartz
#

Nah this is just packets and gson

empty flint
#

Can somebody explain what the in and out keywords in Kotlin mean?

#

What would be the Java equivalent?

#

<? extends T> and <? super T>?

steel heart
#

Yeah kind of

#

But like in java it is :
? extends T - T can be cast to this
? super T - this can be cast to T
iirc I guess it’s quite the same in kotlin.

hot hull
#

How would one determine if a jar was used on bungee or on a normal spigot server?, Going to try and add a bungee version of my plugin, but not sure if I should make a seperate jar, or just use modules and somehow do it with that

obtuse gale
#

Dont you just add a bungee.yml to it that points to a different main class, then have like common code that applies to both in a common package or something? idk ive never done it tho, just heard

hot hull
#

Anyone know of any threads which would explain this? nvm, going to use seperate jars

empty flint
#

@hot hull you could take a look at the LuckPerms repo, they do it there

#

I'ma go back to ANTLR, fuck command line parsers

hot hull
#

How does one fix imports when using kotlin, instead of let's say this

import java.util.SplittableRandom
it would do this
import java.util.*

steel heart
#

It imports all classes in that specific package

#

Not sub packages but just that package

hot hull
#

Any fixes, or do I just leave it as is?

obtuse gale
#

Whats bad about it?

#

Like it seems like something thats bad, just wondering why

hot hull
#

Just importing unnecesarry shit ig

steel heart
#

I mean if you’re using a lot of classes in the same package it might be worth using the wildcard to make the class having less lines

eternal blade
#

i need help with intelliJ

#

when i do build configuration to a project to test it it is adds the compiled files of the spigot.jar and depends

#

and i switched it into provided and still

dusky drum
#

change them to compileOnly

#

if using gradle

eternal blade
#

no i am not using gradle

hot hull
#

clean and rebuild the project

#

and show your pom.xml

eternal blade
#

clean and rebuild the project
how :\ i am new to IntelliJ installed it last night :\

old wyvern
#

@empty flint

Can somebody explain what the in and out keywords in Kotlin mean?
Its probably explained better in the official documentation but heres a simpler short way to see it
out as in Output as in it Produces a output of that type but not take in
in as in Input as in it Consumes a input of that type but not return something of that type

What would be the Java equivalent?
<? extends T> and <? super T>?
As per the documentation,
PECS
i.e,
Producer(out) -> extends
Consumer(in) -> super

#

Tried to send earlier but didnt have network coverage at cousin's house

oak coyote
#

Can you not put nbt tags onto a pickaxe?

#

Im so confused rn

#

this uses exactly the same theory as my pickaxe and as shown by internal= it does have an NBT tag

#

wheras

hot hull
#

You can Jerry

oak coyote
#

Then what is this magic

#

why does it not assgn

hot hull
#

How are you applying the nbt

oak coyote
#
        i = NBTUtil.setInt(i,"chunkbuster",size);
#

how i do it with chunkbuster

#

i = an itemstack

#
        i = NBTUtil.setInt(i,"trenchpickaxe",size);
#

how i do it with trenchpick ^

hot hull
#

shitty variables names, anyhow, are you setting them both in the same order?

oak coyote
#

yes

#

at the very end

#
        i.setItemMeta(meta);
        i = NBTUtil.setInt(i,"trenchpickaxe",size);
        return i;
#
        i.setItemMeta(meta);
        i = NBTUtil.setInt(i,"chunkbuster",size);
        return i;
hot hull
#

hmm

oak coyote
#

im just lazy with item when making creationmethods

#

the rest of my variable names are fine

hot hull
#

No clue Jerry, you sure you aren't clearing it anywhere else? And are you sure that it is that itemstack (debug it might be some corruption)

prisma wave
#

Invalid import?

oak coyote
#

Yeah it's really strange guess more debugging is needed

prisma wave
#

And also invalid syntax?

#

Unless ActionHandler is an object

hot hull
#

Missing () yea

#

Anyhow KM, I have a seperate jar which is the action shit which I threw in my local repo since jitpack is being a hoe, however doesn't seem like it resolves it?

#

I'm probably missing something

#

(the dependency get's resolved properly)

obtuse gale
#

Hey my man @ocean quartz I need some help on the hex gradient as I really don't get it

prisma wave
#

Check the jar actually contains the class @hot hull ?

#

And do any other imports work?

hot hull
#

Nothing from it works

#

Could it be kotlin fucking it over?

#

(The classes are all there showing up properly)

obtuse gale
#

Could it be kotlin fucking it over?
Never!

jovial warren
#

of course it's not Kotlin

#

also that ActionHolder should probably be a data class btw

#

@hot hull why are you using FQCNs anyway?

#

it shouldn't matter, but I'm curious

#

also you're not relocating without realising are you

hot hull
#

FQCN?

jovial warren
#

Fully Qualified Class Name

#

it's the name I use to describe class paths

#

if you're relocating, idk whether you need to use the relocated package or not, or does that just apply to the JAR idk

hot hull
#

:what:

jovial warren
#

¯_(ツ)_/¯

#

idk how relocation works

obtuse gale
#

If you guys could check out #showcase and give me some feedback that would be great as today I will be doing the last hours on it. Will maybe revisit it in the future though.

jovial warren
#

looks cool @obtuse gale , just wondering what /answer is for

#

since if you need an answer for something in chat, you could just have them type it out without the command and then cancel their message actually sending and use that as your answer

obtuse gale
#

selecting item presets so you have like categories of items the randomizer can choose from

#

I mean I didn't choose the command this is a project I had commissioned and am able to share though

jovial warren
#

ah okay, so you didn't make this

hot hull
#

He did..

obtuse gale
#

Yes I made this

jovial warren
#

or did somebody commission it from you

obtuse gale
#

I had this commissioned haha

#

Yeah yeah that

jovial warren
#

okay

prisma wave
#

@hot hull if you just use ActionHolder does IJ prompt to import it?

obtuse gale
#

Any suggestions on the scoreboard btw? I am trying to use the new hex codes but I tried implementing the changing hue one but it always spit out white and I don't know why.

hot hull
#

It prompts to improt it, however just sets it as unresolve

#

d

prisma wave
#

Seems like it could be an IJ bug then

#

Invalidate Caches & Restart?

hot hull
#

Although no it doesn't prompt it

#

I'll try restarting

jovial warren
#

wow I've got a lot to do today lol

#

got a meeting some time today with a youtuber called "LoverFella" who has over 1.5 million subs about possibly becoming a developer on his Minecraft server

#

and I also got a lot of learning to do since I'm expanding Octo to do a lot more than just JDA commands

hot hull
#

Same thing @prisma wave

jovial warren
#

F

hot hull
#

gl Bardy

jovial warren
#

thanks

old wyvern
#

Check if the class is present in the "External Libraries" section of project view maybe

hot hull
#

It is Yugi

prisma wave
#

Did you invalidate caches?

hot hull
#

bruh it works on java..

prisma wave
#

Hold up

hot hull
prisma wave
#

I had a similar problem a while aog

#

ago*

#

But the other way around

#

It's something to do with gradle config I think

old wyvern
#

Try compiling to see if gradle finds it as a error as well?

#

Oh

hot hull
#

Guide me KM fingerguns

heady birch
#

Oi does this work?

#

"{\"text\": \"" + Pattern.quote("some's text's") + "\"}

old wyvern
#

frost, can you try running the assemble task?

hot hull
#

sure, sec

old wyvern
#

or any tbh, just need to see if gradle finds the error as well

hot hull
#

It finds errors, just not the one in question meaning it's an IJ bug I guess

edgy parrot
#

do you guys know how to cancel this kind of text to be sent in the chat ?

tried something like this already ```java
@EventHandler
public void onChat(AsyncPlayerChatEvent e) {
if (e.getMessage().contains("[Server: Killed")) {
e.setCancelled(true);
}
}

#

sending photo in a sec

hot hull
#

packets

old wyvern
#

@hot hull try closing intellij, deleting .gradle and .idea in your project folder and trying again?

edgy parrot
#

and an quick tutorial on how should i use them ?

hot hull
#

Yugi :((

old wyvern
#

yea?

#

@hot hull that should fix it

hot hull
#

Still same issue Yugi

ocean quartz
#

Hey my man @ocean quartz I need some help on the hex gradient as I really don't get it
@obtuse gale Hmm? What do you not get about it?

slow jewel
#

hey bois do i

#

is downloading jdk from intellij itself good ?

prisma wave
#

uh i guess

#

the only downside is that it probably won't add it to the PATH

regal gale
#

OpenJDK available in there is always good :)

slow jewel
#

i will just download jdk from it

#

ty

steel heart
#

oracles jdk is noice though

heady birch
#

Anyway to access this command map thing without reflection?

steel heart
#

I don't think

#

although you only reflect it once?

#

and then cache it

heady birch
#

Yeah but I don't want it changing in the future

steel heart
#

pretty sure it wont

heady birch
#

Wheres it kept again?

prisma wave
#

CraftServer

heady birch
#

Plugin manager

#

Oh

steel heart
#

yeah simple services manager also

#

no nvm

#

its not im a liar

heady birch
#

Whats its field name

steel heart
#

SimplePluginManager

#

private final SimpleCommandMap commandMap;

#

decompiled in 1.8

heady birch
#

final Field commandMapField = plugin.getServer().getPluginManager().getClass().getField("commandMap");

#

set accessible required I guess

regal gale
#

Field commandMap is private

#

So there's no other choice

distant sun
#

Btw to access knownCommands on 1.13+ (or some version above that) you need one extra step

heady birch
#

Command getCommand(@NotNull String var1);

#

This line

#

Can var1 be an alias?

steel heart
#
private final static Field COMMAND_MAP;

static {
  (COMMAND_MAP = SimplePluginManager.class.getDeclaredField("commandMap")).setAccessible(true);
}

private final CommandMap commandMap;

Construtor() {
  commandMap = COMMAND_MAP.get(Bukkit.getPluginManager());  
}``` this or smtng
heady birch
#

Or is it the command name

steel heart
#

also my bad its static final

regal gale
heady birch
#

..

#

ok

regal gale
#

The knownCommand reference is at unregisterCommand method of mine

heady birch
#

So if I setAliases on a Command

#

Wouldn't I need to re-register it

regal gale
#

No idea

steel heart
#

well

#

you have to unregister

#

get the command

#

set the aliases

#

register again

heady birch
steel heart
#

hmm yeah I think the sync stuff happens automatically

heady birch
#

wot

steel heart
#

uh nothing important

#

ignore me

obtuse gale
#

Nothing like the spigot conversation API exists for JDA does it?

steel heart
#

i dont think

obtuse gale
#

rip

distant sun
#

F

obtuse gale
#

thinking of making some conversation framework/api/thing just for my own use

heady birch
#

java.lang.NoSuchFieldException: commandMap
[14:34:09 WARN]: at java.base/java.lang.Class.getField(Class.java:2004)

#

i am doing this on the interface however

steel heart
#

how you get the command map?

#

SimplePluginManager.class.getDeclaredField("commandMap")

heady birch
#

Im using the API so no SimplePluginManager available

#

plugin.getServer().getPluginManager().getClass()

#

Which would return SimplePluginManager at runtime correct?

steel heart
#

yeah

prisma wave
#

yes

steel heart
#

also SPM

prisma wave
#

you gotta use getDeclaredField

steel heart
#

is available

distant sun
heady birch
#

Oh it is as well

#

Hm

#

Weird that is exposed

old wyvern
#

Time to escape VS

heady birch
#

@steel heart Not static in 1.12 i think

#

Idk what version this is actually

obtuse gale
#

@obtuse gale Hmm? What do you not get about it?
@ocean quartz ```v
public static String translateHex(String startTag, String endTag, String message) {
final Pattern hexPattern = Pattern.compile(startTag + "([A-Fa-f0-9]{6})" + endTag);
Matcher matcher = hexPattern.matcher(message);
StringBuffer buffer = new StringBuffer(message.length() + 4 * 8);
while (matcher.find()) {
String group = matcher.group(1);
matcher.appendReplacement(buffer, COLOR_CHAR + "x"
+ COLOR_CHAR + group.charAt(0) + COLOR_CHAR + group.charAt(1)
+ COLOR_CHAR + group.charAt(2) + COLOR_CHAR + group.charAt(3)
+ COLOR_CHAR + group.charAt(4) + COLOR_CHAR + group.charAt(5)
);
}
return matcher.appendTail(buffer).toString();
}

#

Shouldn't this return me a gradient string?

steel heart
#

@heady birch its never ?

heady birch
#

I thought you said it was

#

Oh

#

You were talking about something els

steel heart
distant sun
#

Whats that for smh

steel heart
#

hms

distant sun
#

:smh:

steel heart
#

:hms:

ocean quartz
obtuse gale
#

Will try thanks

heady birch
#

The registering of the aliases didn't even work

hot hull
#

Then I just pass in the Handler to my kotlin shit and call the executes

prisma wave
hot hull
#

I legit can't get it to work with kotlin, but it works perfectly with java

#

Like fuck is this sorcery

obtuse gale
#

frcsty are you like using two themes at once or smthn?

hot hull
#

No, fix your shitty spacing, then you can judge my theme bish

obtuse gale
old wyvern
#

What theme is that frost? @hot hull

hot hull
#

Highly customized Oceanic

obtuse gale
#

we can tell its highly customized....

old wyvern
#

The icons are part of it right?

hot hull
#

Material theme Yugi

#

Aj, shut yo 4head up

old wyvern
#

Is there actually a way to set a custom icon maybe?

hot hull
#

I doubt it

old wyvern
#

I despise the icon for the kotlin file (non class one)

hot hull
#

Although, couldn't you just customize the material one?

#

or some shit

old wyvern
#

I like my current theme for the other things tho

ocean quartz
#

There is a wait to set custom icons yeah

obtuse gale
#

@obtuse gale I don't think so
If you want, this is the code i use, it's not mine https://github.com/ipsk/MF-MSG/blob/master/src/main/java/me/mattstudios/mfmsg/base/internal/color/handler/GradientHandler.java#L39
@ocean quartz Wait how do you use it? ```c
private static String parseGradients(String message) {
String parsed = message;

    Matcher matcher = GRADIENT_PATTERN.matcher(parsed);
    while (matcher.find()) {
        StringBuilder parsedGradient = new StringBuilder();

        String match = matcher.group();
        int tagLength = match.startsWith("<gr") ? 10 : 3;

        int indexOfClose = match.indexOf(">");
        String hexContent = match.substring(tagLength, indexOfClose);
        List<Color> hexSteps = Arrays.stream(hexContent.split(":")).map(Color::decode).collect(Collectors.toList());

        int stop = findStop(parsed, matcher.end());
        String content = parsed.substring(matcher.end(), stop);
        Gradient gradient = new Gradient(hexSteps, content.length());

        for (char c : content.toCharArray())
            parsedGradient.append(translateHex(gradient.next())).append(c);

        String before = parsed.substring(0, matcher.start());
        String after = parsed.substring(stop);
        parsed = before + parsedGradient + after;
        matcher = GRADIENT_PATTERN.matcher(parsed);
    }

    return parsed;
}
old wyvern
#

Where can i find it matt?

ocean quartz
#

I think material icons plugin has a customization tab, i don't remember where correctly though, but i think it does

empty flint
#
Roses are red
Kotlin good
your theme just put me
in a suicidal mood

You inspired a poem, @hot hull

hot hull
#

lmao

old wyvern
#

Ah Ill have a look

ocean quartz
#

@obtuse gale That isn't the class i sent you

steel heart
#

@heady birch how do you unregister

obtuse gale
#

Yeah but the one that you sent me uses the gradient part right?

ocean quartz
#

Though that method is simple <g:#000000:#000000>message here and it'll make it gradient

#

Yeah but not that one

steel heart
#

and you can keep concatenating more :#HEX ?

obtuse gale
#

So that works anyway?

ocean quartz
#

Yeah

#

And yeah @steel heart

obtuse gale
#

Okay got it will try both

empty flint
#

@ocean quartz Are you gonna support rainbows as well, the way Nicole does?

steel heart
#

noice

ocean quartz
#

Yeah

hot hull
jovial warren
#

what did you do

hot hull
#

I made a java class which calls the lib methods, which I then use in the kotlin classes

heady birch
#

@steel heart

kiteBoardCommand.unregister(commandMap);       kiteBoardCommand.setAliases(GlobalSettings.COMMAND_ALIASES);
kiteBoardCommand.register(commandMap);
old wyvern
jovial warren
#

for what?

hot hull
#

huh?

old wyvern
#

I think material icons plugin has a customization tab, i don't remember where correctly though, but i think it does

jovial warren
#

@old wyvern just search for it

old wyvern
#

Search for what mate

jovial warren
#

the material icons customisation tab...?

ocean quartz
#

I think it's somewhere on tools but i don't remember correctly, i just know i did a while ago

jovial warren
#

I'd say it's most likely to be in Appearance & Behaviour since that fits best

prisma wave
#

@hot hull you have failed kotlin

hot hull
#

no KM

prisma wave
#

not the other way around

hot hull
#

kotlin has failed me.

#

You saw that it wasn't working

jovial warren
#

@old wyvern ik Atom Material Icons is in Appearance & Behaviour

prisma wave
#

clojure wouldn't fail you

jovial warren
#

ffs

prisma wave
#

clojure is kind

jovial warren
#

get outta here with your BS circlejerking lol

prisma wave
#

ironic

hot hull
#

Clojure best agreed

jovial warren
#

if it was Kotlin I'd be fine with the circlejerking

prisma wave
#

double standards

#

even though clojure is objectively better

jovial warren
#

Lisps are trash

prisma wave
#

evidence?

jovial warren
#

wdym?

hot hull
#

Where's the proof weeb

old wyvern
#

Got the icons 👌

ocean quartz
#

Noice

hot hull
#

Clojure butiful and superior

old wyvern
#

Thanks Matt and bard PlusOne

heady birch
#

Does Clojure run on JVM?

jovial warren
#

it's horrible @prisma wave

old wyvern
#

Does Clojure run on JVM?
Yes

jovial warren
#

yeah but it's not interoperable with Java somehow

prisma wave
#

it is

jovial warren
#

is it?

#

I thought it wasn't for a while

#

also wtf is def something nil

old wyvern
jovial warren
#

there's your proof (Yugi you bastard xD)

old wyvern
#

Bard isnt that a bit biased?

jovial warren
#

maybe

old wyvern
#

there's your proof (Yugi you bastard)
Wha? xD

#

I mean I wouldnt assume to know the keywords of a language I havent used

jovial warren
#

you slipped your link in there before I got my message out so it looked like I was saying the java interop was @prisma wave 's proof lol

prisma wave
#

also wtf is def something nil
doesn't take a genius to work it out

old wyvern
#

I cant really comment on this much since I personally havent used the lang

#

But its not that hard to understand

steel heart
#

@heady birch when are you doing that, cuz its weird since it worked for me excellently

jovial warren
#

I guess it is subjective, but personally I prefer a more traditional, mathematical declaration (using =)

heady birch
#

at on enable

old wyvern
#

Understandable

jovial warren
#

I mean, I am a good mathematician and logician, it just makes sense to me more than without the =

prisma wave
#

haskell

steel heart
#

you might want to do it after onEnable

old wyvern
#

I dont really like clojure much either, but jokes aside I dont really see why I would call it bad without using it

jovial warren
#

@prisma wave right now you can just get out lol

prisma wave
#

bruh

old wyvern
#

I mean, I am a good mathematician and logician, it just makes sense to me more than without the =
I mean finally thats the representation of your code

prisma wave
#

haskell is literally the most mathematical language

jovial warren
#

actually filterPrimes is quite useful

#

nvm you can stay lol

old wyvern
#

A operation , lhs expression and a rhs expression

jovial warren
#

lhs?

#

ah left-hand side and right-hand side

dusky drum
#

i just cant wait when pepl are gonna make plugins in clojure..

prisma wave
#

it's possible

jovial warren
#

also @prisma wave is it a better idea to use ThreadLocalRandom.current() or Random.Default for randomness?

#

since Random.Default means you pretty much never have more than a single Random instance

prisma wave
#

doesn't really make a huge difference

regal gale
#

I believe SplittableRandom is better

steel heart
#

its faster iirc

prisma wave
#

unless you need it to be thread local, use Default or SplittableRandom yeah

jovial warren
#

is SplittableRandom still faster than Kotlin's Random.Default?

prisma wave
#

yes

steel heart
#

although SplittableRandom isnt secure nor thread safe iirc

jovial warren
#

I don't need thread safety or security, since I'm just using it to generate a random RGB colour int

prisma wave
#

it's thread safe in that it can be split

jovial warren
#

but SplittableRandom means you need to create a new instance every time you call it doesn't it?

prisma wave
#

no?

steel heart
#

not really

#

but as javadocs says it gives you a new instance of SplittableRandom

ocean quartz
#

Does (int range).random() use normal random?

prisma wave
#

I believe so

jovial warren
#

tf is that Matt?

heady birch
ocean quartz
#

I guess can easily make it use splittable instead though

jovial warren
prisma wave
#

actually not as easily as you might think

#

since SplittableRandom doesn't implement Random

ocean quartz
#

In Kotlin (1..10).random()

jovial warren
#

@heady birch how can one survive using the default white theme?

prisma wave
#

jerk

jovial warren
#

please teach me the ways of such an act

prisma wave
#

🟢

regal gale
#

@jovial warren clip's using it all the time 👀

obtuse gale
#

tf does a consumer or whatever look like in java?

jovial warren
#

yeah ik

obtuse gale
#
sendMessage().queue{

}``` that in kotlin lol
prisma wave
#

value -> {}

old wyvern
#

This shit of an icon seems to be not associated with any filetype in the theme settings 🙃 . I guess its time to settle into the new normal

jovial warren
#

that's a Kotlin class

steel heart
#

sendMessage().queue($ -> {

})

heady birch
#

Hello please fix it conclure

old wyvern
#

Yes ik

prisma wave
#

@steel heart NO

steel heart
#

yeah Niall

#

let me see

heady birch
#

Lol

old wyvern
#

Its not present in the icon mappings if you check bard

steel heart
#

cc lov u

ocean quartz
#

@hot hull Almost ready to make it work across versions ofc gradient wont

heady birch
#

0.69

prisma wave
#

nice nice

heady birch
#

Almost 1 ms

#

1/50th of a tick

prisma wave
#

and speedy

old wyvern
#

Kotlin has a single one associated with it there and its the K one for files with more than 1 classes

heady birch
#

What if a tick was 1 ms?

#

Then it would use 70% of a tick

ocean quartz
#

69%

old wyvern
#

What if a ms was a plank second

heady birch
#

Hmm

old wyvern
#

😂

steel heart
#

maybe niall, try to remove the command from knownCommands

#

instead of the unregister method

heady birch
#

Will give it ago

obtuse gale
#

@ocean quartz one thing when you have <g:#000000:#ffffff>message here

#

The gradient ends on the message string

#

How would I apply it to both so its seamless?

hot hull
#

@ocean quartz smexy

heady birch
#

Ok @steel heart So I did it my way and just used put (alias, my command)

#

works fine

#

Second question

steel heart
#

yaaa

heady birch
#

How do I neaten this up 😐

prisma wave
#

kotlin

#

wait

#

no

#

clojure

steel heart
#

I mean you could have a Map if you want lesser lines

foggy pond
#

It is illegal to have a premium plugin depend on another premium plugin right

#

Even if they are both mine

steel heart
#

I dont think?

ocean quartz
#

@obtuse gale Modify it to take a list instead of just one string, sum the string lengths and use the same gradient object for both, should do it

steel heart
#

well check the rules for the sake of not getting banned

foggy pond
#

Resources must NOT depend on other premium resources well fU*k

steel heart
#

make a common lib then or smntng idk

#

extending PluginBase only

ocean quartz
steel heart
#

aye

ocean quartz
#

Looks perfect to me

foggy pond
#

So if the main plugin is free and all the resources related are not then it would be fine?

#

I feel like it might get me a ban if I try doing that

#

Releasing premium resources which are basically expansions to my existing free plugin

steel heart
#

No have a free resource which is a common lib to all your premium resources

foggy pond
#

Yeah I mean that's what I am talking about, the free resource would be the 'base' plugin and the other premium resources are different expansions

obtuse gale
#

@obtuse gale Modify it to take a list instead of just one string, sum the string lengths and use the same gradient object for both, should do it
@ocean quartz Yeah got it

steel heart
#

yeah klyser that should be fine

#

but you might ask a mod before so you know for sure you dont break any rules

foggy pond
#

Is it possible to change a resource from premium to free in the future?

#

If I want to in case

analog crater
#

What are you using to distribute it

foggy pond
#

What do you mean?

#

I am currently developing the plugin, I have not uploaded it yet

analog crater
#

Like what publisher

heady birch
#

Yes you can

#

With spigot atleast

#

I believe so

#

Whats better name CriteriaGroup or CriteriaContainer?

analog crater
#

Context?

distant sun
#

2

heady birch
#

basically contains some criteria

hot hull
#

GroupCriteriaContextContainer fingerguns

steel heart
#

CriteriaCriteria

heady birch
#

KiteUser#updateGroups or KiteUser#refreshGroups

#

or

#

GroupManager#updateGroup(KiteUser)

#

@steel heart

steel heart
#

2nd

heady birch
#

KiteUser#refreshGroups?

#

@steel heart

onyx loom
#

frosty u got that enterprise logic engrained in u boi

ocean quartz
#

Why do people call stuff "context"? I always feel like it's a pretty ambiguous name

heady birch
#

no

onyx loom
#

smh matt u dont have the enterprise logic

steel heart
#

AbstractWrapperCommandNodeExectionContext

ocean quartz
#

Just really curiosity, i know acf call the parameter types handler context and i always thought it was super weird

heady birch
#

Lol pagination

#

my pagination is so good

lunar cypress
#

To avoid ambiguity, just number your class names!

heady birch
old wyvern
prisma wave
#

lmaoo

heady birch
#

Oof

#

We live in a society 😔

old wyvern
ocean quartz
#

Oof, another thing i find weird, naming interfaces ISomething and implementations SomethingImpl

#

Seems lazy xD

hot hull
#

@onyx loom fingerguns

old wyvern
#

I mean sometimes the normal naming convention doesnt workout tbh

#

Playerable

heady birch
#

Lol

old wyvern
#

🤷‍♂️

ocean quartz
#

Also question, what do you guys think about the option to set default color for the messages?

#

Useful or nah?

old wyvern
#

Useful PlusOne

onyx loom
dusky drum
#

is 1-2ms good for gui create speed?

hot hull
#

no

#

slow

dusky drum
#

i mean it has to read from yaml

old wyvern
#

It has to be read everytime?

hot hull
#

Can you cache the gui?

dusky drum
#

no

#

since items change

#

so

hot hull
#

Then it's ight

dusky drum
#

yeh it has to decrypt item from base64

old wyvern
#

You can keep the changes loaded in memory for sometime and write in some interval

dusky drum
#

well

#

i have no idea how to make it faster

#

i've tried cahcing stuff

#

and its still the same speed

hot hull
#

It's 1-2ms it's not like the server is going to die kek

dusky drum
#

well gui is only used when editing the plugin

#

so i guess its ok?

hot hull
#

Yes lol

old wyvern
#

yea thats fine

dusky drum
#

i just know that first time it takes like 50ms for some reason

#

then its 1-2ms

#

apparently its 1-3 now

hot hull
#

Assuming cause the config isn't loaded in memory yet

dusky drum
#

well maybe cause i construct object like entire class everytime i create gui for first time or when player doesnt have active gui

#

i guess that my gui handler just cant be any faster than 1-3ms

#

and i could probably handle it different

ocean quartz
#

Like this?

hot hull
#

smexy

dusky drum
heady birch
#

im making kiteboard-world guard criteria

#

I got regions covered, anything else cool I should add

#

has-flag or something

hot hull
#

Sheesh new combat will make axes OP 😮

old wyvern
#

Which one?

#

Theres another combat update??

ocean quartz
old wyvern
#

@hot hull

#

ooooo

hot hull
#

They do weekly updates

#

ish

old wyvern
#

so they keep updating 1.16 4 times a month? xD

ocean quartz
#

It's a separate update only focused on combat, probably won't be out till like 1.18

old wyvern
#

ah

onyx loom
#

just revert the changes to 1.8 fully kappa

hot hull
#

Nah

old wyvern
#

Maybe just the delays

hot hull
#

Am I just dumb or? It doesn't seem to be doing anything, aim is that the loops through the inventory, get the correct amount of specific items, which then get removed from the inventory

compact perchBOT
#
📋 Your paste, Frosty
https://paste.helpch.at/qezisutaxa

A member of staff has requested I move your message to a paste,
Most likely beacause it contains a config/error/code snippet.

jovial warren
#

why is that a while loop?

hot hull
#

Because I need it to loop only till it finds the necesarry amount required

jovial warren
#

can still be a for loop

hot hull
#

Doesn't matter

jovial warren
#

yeah that shouldn't matter

#

what does it actually do?

old wyvern
#

Also start at position = -1

jovial warren
#

yeah that as well, since you're checking if the incremented value of position is equal to the size of contents, not the actual position

#

which means that player.getInventory().getContents()[position] is gonna return 1 on the first round

#

also I thought you converted

old wyvern
#

converted what?

jovial warren
#

I mean I thought he converted to Kotlin lol

old wyvern
#

🤦

hot hull
#

Doesn't mean I'm going to make every plugin in kotlin, it's a commission

jovial warren
#

ah okay

prisma wave
#

make every plugin in clojure

#

actually

#

I have a new mission

#

Write a plugin in every JVM language

surreal quarry
#

omg

jovial warren
#

if you can list at least 10 JVM languages without using Google in a minute, I'll do it

#

@prisma wave

#

actually that's too hard

#

if you can list five JVM languages in a minute from your own head alone I'll do it

prisma wave
#

There aren't 10

surreal quarry
#

5

jovial warren
#

I corrected it to 5

prisma wave
#

Java kotlin scala groovy clojure Jython JRuby

surreal quarry
#

lol

old wyvern
#

ceylon?

surreal quarry
#

now write a plugin in each of then bombardy

prisma wave
#

Never heard of that

old wyvern
#

kinda dead

#

But exists fingerguns

jovial warren
#

you totally didn't just Google "list of jvm languages", go to Wikipedia and name the top 6 you find on that page

prisma wave
#

Interesting

#

No I didn't

jovial warren
#

name me a lesser known one

prisma wave
#

JRuby is probably the most obscure

old wyvern
#

fantom

jovial warren
#

what about Nashorn

prisma wave
#

Not sure you could call that a JVM language

jovial warren
#

according to Wikipedia, Nashorn is a Java implementation of JavaScript

prisma wave
#

It's not its own language so

jovial warren
#

true

hot hull
#

Another 2021 resolution boiz

prisma wave
#

Nashorn is a JS engine

old wyvern
prisma wave
#

Not a language

jovial warren
#

alright what should I make?

#

since I gotta stick to my half of the bargain now

old wyvern
jovial warren
#

wtf is that

#

that's more verbose than Java

old wyvern
#

🤷‍♂️

#

isnt

#

Wtach the whole video

surreal quarry
#

they should just use kotlin

old wyvern
#

It introduces more "defaults" and a few other things while being extremely similar to java at the same time or something

jovial warren
#
public String sayHello(String personToGreet) {
    return "Hello " + personToGreet + "!";
}
```vs.```xtend
def public String sayHello(String personToGreet) {
    return "Hello " + personToGreet + "!";
}
```(I tried putting `xtend` for the syntax highlighting but it doesn't exist F)
old wyvern
#

watch the whole thing as I said my guy

prisma wave
#

The lambdas look cool

jovial warren
#

it's difficult to watch since it's the default Eclipse theme

old wyvern
jovial warren
#

okay that's an improvement

old wyvern
#

and theres more

jovial warren
#

wait does this language do a Kotlin and make public the default fucking visibility like Java should've done from the start?

#

wait it has type inference as well? okay this is looking promising

#

and return being redundant?

old wyvern
jovial warren
#

WHAT?!?!

prisma wave
#

interesting

jovial warren
#

man this is actually good

old wyvern
#

Too bad it doesnt have a intellij plugin

prisma wave
#

That symbol is annoying to type

jovial warren
#

not sure about this though: ```
people.forEach [
// code
]

prisma wave
#

For interpolation

old wyvern
#

thats just double < i think

jovial warren
#

no it's not

#

it's a different character

old wyvern
#

it might just look like that

jovial warren
old wyvern
#

There is a diff char for that

#

But

#

Visually that is up to the IDE

prisma wave
#

Uh

#

Pretty sure the ligature for << is different

old wyvern
#

I dont think any person would be idiotic enough to add a random unicode character to code syntax

prisma wave
#

Julia

jovial warren
#

I mean it doesn't have expression functions which is annoying lol

prisma wave
#

It literally does

surreal quarry
#

«

old wyvern
#

Which part?

prisma wave
jovial warren
#

alright yeah was just about to say that

#

but that's for strings only

old wyvern
#

As with variables, Unicode can also be used for function names:Isnt this it?

jovial warren
#

idk about anyone else, but one-line functions are a really useful feature to me lol

prisma wave
#

@old wyvern yeah

#

÷ is a function in Julia with different semantics to /

old wyvern
#

god

#

I mean

jovial warren
#

@hot hull https://github.com/Frcsty/Frcsty/commits/master do you not know how to properly explain changes made in a commit description? xD (I guess this one is just messing around but I've seen other occasions where your commits are about this same quality)

old wyvern
#

a certain other language allows that

#

😢

prisma wave
#

It's not a bad thing

#

Imo

#

it is useful

old wyvern
jovial warren
#

^

old wyvern
#

sayHello takes in a String

#

forEach parses it the argument implicitly or something?

jovial warren
#

it's like somewhere between Java and Kotlin I think, in both rating and functionality imo

prisma wave
#

very dynamic

ocean quartz
#

You haven't seen much of his commits yet

hot hull
#

@jovial warren Worry about your own commits nerd fingerguns

prisma wave
#

possibly too dynamic

old wyvern
#

uh I have like 60 tabs open and cant find which one im playing music on yt on... fuck

#

brb

jovial warren
#

@hot hull my commits are good thank you very much

prisma wave
#

close them all

#

Ez

old wyvern
#

Nah important stuff

hot hull
#

I don't describe commits on public plugins since noone cares what they are

jovial warren
#

actually, people do

prisma wave
hot hull
#

bruh Yugi, you got like 5T of ram or what?

old wyvern
#

oh I found the barely visible music icon

#

bruh Yugi, you got like 5T of ram or what?
nah works fine tho

jovial warren
#

I can't be the only person who thinks that properly describing what changes you make in your commits is important

empty flint
#

What languages do you guys support on your plugins?

old wyvern
#

16 gigs

prisma wave
#

English is the only language I could speak well enough @empty flint

hot hull
#

Bardy, even if someone cares, I honestly couldn't care less, if they care so much they can comment on it themselves fingerguns

prisma wave
#

If a plugin got attention I'd add language support

jovial warren
#

just use Crowdin and get enough people to join your project on there

prisma wave
#

Not worth it for most things

empty flint
#

@prisma wave I'd have the community translate if they want the language to be supported...

hot hull
#

Just DM advertise your shitty plugins :kek:

prisma wave
#

@empty flint yeah adding Lang support might be a good idea

jovial warren
#

wdym? Crowdin is great

prisma wave
#

I didn't say it wasn't great

#

I said it wasn't worth the effort for most things

#

Neither is CI

old wyvern
#

Ez have language files and something to convert it to any given language with google translate or something 😂

jovial warren
#

I just use CI because it makes my life easier

empty flint
#

@prisma wave So again, what languages do you think most MC players are covered by? English, Spanish, German, Italian, French, Portuguese...?

#

Russian

prisma wave
#

Oh I realise what you were asking

#

Yeah probably Japanese and Mandarin too

empty flint
#

Really?

prisma wave
#

Might as well make it extendable

empty flint
#

hm

prisma wave
#

@jovial warren again, yes, it does. But setting up CI for every single project is usually more trouble than it's worth. Unless you know there will actually be people interested in translating, then setting up Crowdin is a waste of time

jovial warren
#

I just use Crowdin on BardyBot because I hope that one day it may grow to the point where people will actually want to contribute

prisma wave
#

sure

#

but for every single project it's probably a waste of time

jovial warren
#

yeah I can agree with that

prisma wave
#

unless you have evidence that it's actually in demand, there's not much point

jovial warren
#

which I don't lol

#

I'm either optimistic or delusional, I'm not sure yet

prisma wave
#

or both

empty flint
#

Bruh

jovial warren
#

or both yeah

prisma wave
empty flint
#

I was just about to say maybe I should just support all languages that mojang supports

#

I looked it up

prisma wave
#

just make it extendable

jovial warren
#

no chance

prisma wave
#

don't support them all in advance

empty flint
#

How many do you guys think there are as of 1.15?

prisma wave
#

allow people to contribute on-demand

#

i'd guess about 60

jovial warren
#

@empty flint over 300 at least

old wyvern
#

60-100?

empty flint
#

just make it extendable
@prisma wave Probably gonna be that way, yeah

#

it's officially 118

old wyvern
#

damn

prisma wave
#

wow

#

tbf some are jokes

jovial warren
#

117 according to the fandom

prisma wave
#

pirate english for example

empty flint
#

Bruh

#

Minecraft is available in Klingon

jovial warren
#

nah Pirate Speak is a good language wdym

empty flint
#

flippin Klingon

ocean quartz
hot hull
#

Blame Gian

ocean quartz
#

Why

hot hull
#

I was gonna drop 1.12- support, but cause I'm nice and I know Gian has a 1.8 server I kept it

ocean quartz
#

Omg, ChatSerializer is in IChatBaseComponent in 1.8, it's out of it in 1.12 and it's back in it in 1.16

hot hull
#

lmao Matt

old wyvern
#

oi found the bloody piece of shit

#

youtube gets a new window from now on

jovial warren
empty flint
#

Who?

jovial warren
#

MaximVDW

#

creator of FeatherBoard is probably where you're most likely to know him from

#

idk why you'd even take a picture that looks like you just snorted coke and make it your GH avatar but eh

steel heart
#

did he?

jovial warren
#

did he what?

steel heart
#

drugs

jovial warren
#

no idea

#

but it looks like it though

empty flint
#

The pic looks just fine, why you hatin on the young lad?

old wyvern
#

That looks nothing like someone who is high

jovial warren
#

oh I just seem to hold a grudge against people who sell nothing but premium plugins

empty flint
#

Why?

jovial warren
#

@old wyvern yeah maybe he was tired

#

@empty flint idk, I'm just a massive supporter of open-source

old wyvern
#

He doesnt look tired, looks like a normal dude spendin his day

jovial warren
#

you mad?

empty flint
#

@empty flint idk, I'm just a massive supporter of open-source
@jovial warren The two aren't mutually exclusive. McMMO for example has an open-source gh repo and is still premium on spigotmc

jovial warren
#

@empty flint true, let me rephrase: I seem to hold a grudge against people who make proprietary software

empty flint
#

What's wrong with people wanting to get paid for their hard work? As long as there's buyers willing to pay it shouldn't bother u

jovial warren
#

true

old wyvern
#

you mad?
@jovial warren
Not really but you probably shouldnt pick on a random dude for no reason

empty flint
#

@jovial warren
Not really but you probably shouldnt pick on a random dude for no reason
@old wyvern this.

jovial warren
#

I wasn't picking on him originally, just put it in because I thought it was kinda funny

#

and I'm not trying to pick on him now either

old wyvern
#

🤷‍♂️

#

Didnt look like it

jovial warren
#

¯_(ツ)_/¯

prisma wave
#

Mvdw is a clever guy

jovial warren
#

I mean, he is a PhD student

prisma wave
#

exactly

hot hull
#

@jovial warren You're 15, how will you know how someone who's high looks eeeee

#

Unless you wanna admit anything fingerguns

jovial warren
#

I've seen what people look like when they've taken drugs, and tbh, thinking about it, it's not like what he looks like

#

and no, I don't have anything to admit

ocean quartz
#

Frosty you better be happy

jovial warren
#

almost 3 ms?

ocean quartz
#

1.8 problem

jovial warren
#

you went from 0.7 ms to 3 ms

#

that was fast lol

static zealot
#

parkour

ocean quartz
#

Because you know 1.8 good performance right

obtuse gale
#

Well supporting older versions

hot hull
#

@ocean quartz You using any chat components? If so there's room for improvement

ocean quartz
#

This is just a test with shitty reflection, there is a lot of improvement to make
And what do you mean chat components? You mean with bungee?

hot hull
#

@jovial warren Messing with you, but you know weed is nice occasionally

#

Yea Matt

jovial warren
#

here's my question: do you have anything to admit?

ocean quartz
#

Not using bungee

jovial warren
#

oh Discord wow, took it 10 seconds to send that message, meaning it ended up below Matt's message

hot hull
#

How are you sending the message?

ocean quartz
#

Packets

hot hull
#

Ah mk

#

Bardy, I'm 18, I go to parties, all you need to know theotherpig theotherpig

prisma wave
#

Didn't Niall write a custom serializer or something?

hot hull
#

Yea that's why I'm saying

#

It's like 60% faster than spigots shit

jovial warren
#

custom serialiser?

prisma wave
#

packet serializer

jovial warren
#

ah okay

prisma wave
#

for components

ocean quartz
#

@heady birch Do you have one?

Didn't Niall write a custom serializer or something?

jovial warren
#

Bardy, I'm 18, I go to parties, all you need to know theotherpig theotherpig
@hot hull that's all I want to know, thanks

onyx loom
#

no i wanna know more

#

u actually go outside wtf?

jovial warren
#

you don't go outside?

ocean quartz
#

Ew going outside, nerds

onyx loom
#

hell yeah matt

#

high 5

#

im with u on this

jovial warren
#

I mean, I don't have a life, and I do spend around 80-90% of my life indoors, but it's good to go outside sometimes

ocean quartz
distant sun
#

Take a bath

jovial warren
#

lol

hot hull
#

I've not been outside outside in a bit

#

Socializing? Fuck is that

#

@ocean quartz He posted a link sometime ago in here

old wyvern
#

Bardy, I'm 18, I go to parties, all you need to know theotherpig theotherpig
@hot hull
🍬 🍬

#

😂

hot hull
#

Damn Dan, that's a hefty budget for a bingo plugin :p

obtuse gale
#

I mean I want the page looking sleek if I release it 😄

jovial warren
#

it doesn't cost $200 to get some decent graphic design around here

obtuse gale
#

I mean that's my budget, depending on the work I will determine a price haha

#

Usually the logo and then the page itself attract the client more than the plugin features themselves.

jovial warren
#

am I the only one who reads (50/200)$ as $0.25?

obtuse gale
#

Lmao

jovial warren
#

Usually the logo and then the page itself attract the client more than the plugin features themselves.
@obtuse gale not necessarily true, it's mostly both

#

you could have the best looking page, but if your plugin is shit, nobody's gonna buy it

#

and the other way around is probably why I'll never have a popular plugin

hot hull
#

You should see my plugins smexy art

jovial warren
#

you mean cube's smexy art

hot hull
#

Well yes, but I paid for it

obtuse gale
#

I mean for a bingo plugin there are a bit of them. Mine is a bit unique as it introduces the map like in some servers but yeah it should have a bit of a distinction from others having a good looking page.

#

Best part that happened in this project is that I recorded everything, and I recommend it to anyone it is a very good way to keep track of what you do besides plugin versions ecc..

jovial warren
#

the prop I give to you is that you actually got it finished

obtuse gale
#

For the spigot release in the future I will need to do a bit of work for compatibility as I coded everything on 1.16 not minding older versions but yeah its finished.

jovial warren
#

and that isn't because I'm surprised you got it finished, it's because I'm in one of those "what's the point" moods

hot hull
#

Dan quick suggestion

#

Screw backwards compatibility

#

Bardy, always have more than 1 active projects

jovial warren
#

what?

hot hull
#

So when you're annoyed by 1 project, you switch to the other

old wyvern
#

Frosty's law of procrastinating between 2 projects

hot hull
#

It works.

onyx loom
#

😏

jovial warren
#

you think I've got original ideas and enough motivation for that?

#

this is gonna get dark I can feel it

hot hull
#

I was gonna say something, but I'm not going to

old wyvern
#

I mean there are a lot of things where a better plugin could be made if someone took the time and effort

hot hull
#

A throwback to the earlier mention of something kek

jovial warren
#

@old wyvern true, but that's just a copy, and I don't have enough self-confidence to think that anything of mine will even be wanted anyway

#

and I'm just a lazy bastard generally anyway

old wyvern
#

Its not a copy if you do it one better

#

Dont release it till you are confident enough that it can compete with whats available

jovial warren
#

even if it's better I still doubt that anything I make will take off, I've just generally got a very low self-esteem, mainly due to my Autism, but that's a personal problem

empty flint
#

How do you reference a class in the javadoc comment?

jovial warren
#

{@code} or {@link} I believe

hot hull
#

{@link}

jovial warren
#

lol

onyx loom
#

barry 😐

#

the @ says it all

obtuse gale
#

Screw backwards compatibility
@hot hull I don't know should I?

#

Like a lot of people have not switched to 1.16

#

So i don't know if it will be worth releasing only on that version

jovial warren
#

@hot hull that image has only just finished loading for me lol

hot hull
#

@obtuse gale Well since bingo benefits from item variety, it's perfect for latest version

#

And honestly, most people that would be interested in it are probably survival servers, which are 1.16, with the exception of those idiots who stay on 1.8

obtuse gale
#

Yeah I guess it does right. Will decide as I still need to decide if to release it for free or paid

#

I mean I like 1.8 simplicity and how fast it loads but yeah wouldn't really stick with it, although my clients are mostly for that version

jovial warren
#

anyone here good with web design? because unfortunately it's kinda came to the point where BardyBot needs a website for some things, for example, API keys

hot hull
#

@obtuse gale I've been doing only 1.8 commissions for the past like 4 months, but I still dislike the version itself :p

obtuse gale
#

I just that that version is the main core of the "pvp" community

hot hull
#

1.18 will hopefully change that

obtuse gale
#

I am waiting for Hytale to see its take on this

#

Like everything should be doable in that game but who knows, till they release it they can promise whatever

hot hull
#

Any set release date?

obtuse gale
#

Should be 2021

hot hull
#

They hyped it up about 2 years too soon

obtuse gale
#

Yeah but they saw an opportunity at the time to make the word spread quickly as people were getting back to minecraft

#

And tbh it would have been a good decision if only they had way more progress on the game.

#

I mean the word spread anyway but people are not that interested about it anymore

hot hull
#

Well yea, they took to long to make it lol, if they announced it later, they would still get lots of interest since hypixel is continuesly growing

obtuse gale
#

I think Hypixel just saw that playerbase was getting back up and just yeeted the game info out haha

hot hull
#

How many players did they even have at the time of announcing it?

obtuse gale
#

I don't remember

hot hull
#

Can't have been larger than 40k surely

obtuse gale
#

Let me check

#

Well

#

20k tbh telling from the graph it wasn't even rising

hot hull
#

Imagine if they announced it like this summer

obtuse gale
#

Well yeah it would have been a hit with all the info spreading online when people where at home

#

But they couldn't predict that haha

hot hull
#

Or could have they fingerguns

old wyvern
#

I dont think they expected hytale to be this big tbh

obtuse gale
#

Maybe actually they were trying to get just their players to the game as 2018/2019 was their meh year with less players than ever looking at the graph

empty flint
prisma wave
#

it's based on the args parameter

empty flint
#

Say you have the command to set a player's nickname or whatever: /set player <player> name <name> (I made it unnecessarily longer for explanation purposes)

if a player types /set I'd suggest all subcommands of set. So I'd have to analize the args parameter and see that no args are set and therefor return listOf("player", "time", ...)?
for /set player the args would be [player] and I'd suggest the names of all the players currently online. for example listOf(<online player names>)
and so on? Did I get that right?

prisma wave
#

pretty much

#

usually you'd check based on args that start with the typed data

#

since it might be /set pl

empty flint
#

So what do you suggest if it's only /set ?

winter iron
#

@prisma wave Yo, you got a fix for PDM yet?

prisma wave
#

unfortunately not

winter iron
#

😦 😦 😦

prisma wave
#

@empty flint whatever your subcommands are idk

empty flint
#

The thing is I'm trying to parse the command using an AST and so if the token/arg isn't recognized, it's gonna throw an error, right?

#

this is gonna be interesting to solve

#

thanks for the explanation though

#

Is the autocomplete suggestion triggered whenever the user types something? Or only when they press tab?

prisma wave
#

afaik it's whenever

#

might be wrong though

jovial warren
#

I'm mind blown

#

I just started one of these start JS courses and I'm on the third exercise, and I see that JS has such loose typing that you can have an array with different types in it

#

like wtf?

#

why does var myArray = ["hello", 123, true] work?

old wyvern
#

Have you not seen JSON arrays? xD

jovial warren
#

I've worked very, very little with JSON

old wyvern
#

ah

#

JS is... uh yea

jovial warren
#

the furthest I've got with JSON is using kotlinx.serialization to serialise the status of my bot

empty flint
#

Yeah no JS is great if you know what you're doing but you're not gonna get babysat through the coding process like you are with Kotlin

old wyvern
#

Declare a variable without a scope? Everyone and there mother will access it

jovial warren
#

basically turning this: kotlin @Serializable data class BardyBotStatus(val status: String) in to this: ```json
{"status": "running"}

empty flint
#

You make a mistake, JS says fuck you, not my problem.

jovial warren
#

lol

#

seems legit

#

wait... what kind of a method name is push????

empty flint
#

The plus is that it lets you abuse it like it's a 19yo with daddy issues

#

wait... what kind of a method name is push????
@jovial warren in what context?

jovial warren
#

to add to an array (which should be immutable because it's an array), you run push

prisma wave
#

that's not uncommon terminology

empty flint
#

no, arrays are not immutable in JS

prisma wave
#

and js arrays are not like normal arrays

empty flint
#

well

prisma wave
#

they're more like linked lists than anything else

empty flint
#

depends actually

jovial warren
#

if they're not immutable, that means that they're not actually arrays internally or on computer memory

empty flint
#

Array() is mutable, [] is immutable afaik

jovial warren
#

nope

empty flint
#

they're both arrays tho