#dev-general

1 messages ยท Page 299 of 1

steel heart
#

you depend on the nbt api plugin

unkempt tangle
#

compileOnly

#

indicates it

obtuse pulsar
#

compileOnly 'de.tr7zw:item-nbt-api-plugin:2.7.1'

steel heart
#

just keep it as that

#

and have nbt api plugin in ur plugin data dir

obtuse pulsar
#

oke

steel heart
#

unless weirdo shito

unkempt tangle
#

I can help you if you are using maven

#

I know how to shade

steel heart
#

He doesn't need it

unkempt tangle
#

I dont like to have thousands of plugins

#

on my server

obtuse pulsar
#

its okay ill use it for other plugins

#

so i can just share it

steel heart
#

^

obtuse pulsar
#

instead of shading em all

unkempt tangle
#

Just make one CORE library.

obtuse pulsar
#

And shade it into that?

unkempt tangle
#

Yes

steel heart
#

no just have the plugin running independently

obtuse pulsar
#

meh too advanced for a little project

unkempt tangle
#

You said you wanna use more plugins

steel heart
#

don't make it cumbersome unless it benefits you

unkempt tangle
#

Just prevent redundant code.

steel heart
#

wat

unkempt tangle
#

Code that exists two or more times

obtuse pulsar
#

same thing tho

#

[22:32:47 ERROR]: Could not load 'plugins\PluginTest-1.0-SNAPSHOT.jar' in folder 'plugins'
org.bukkit.plugin.UnknownDependencyException: Unknown dependency NTBAPI. Please download and install NTBAPI to run this plugin.

steel heart
#

yeah

#

add the plugin

unkempt tangle
#

inside /plugins

obtuse pulsar
#

i did

unkempt tangle
#

Restart. Dont use plugman

obtuse gale
#

NTBAPI

obtuse pulsar
#

Why cant i use images

obtuse gale
#

it's NBTAPI

steel heart
#

ah

obtuse gale
#

not NTBAPI

steel heart
#

lol

obtuse pulsar
#

i dont use plugman

unkempt tangle
#

?imgur

compact perchBOT
#
FAQ Answer:

You won't be able to upload images here directly to avoid spam, so please use https://imgur.com/ to upload images/screenshots.
You can also use a screenshot service like gyazo or jinx and post those links here.

obtuse gale
#

in your depend list lol

obtuse pulsar
obtuse gale
#

lmao

steel heart
#

fefo eagle eye no cap

obtuse pulsar
#

true

#

imagine being dumb as me

obtuse gale
#

:owoSquidCool:

obtuse pulsar
#

yeah fefo thats pretty pog vision that you hav

#

bz/ene/plugintest/Test has been compiled by a more recent version of the Java Runtime

#

how do i choose runtime

#

in intellijs

static zealot
#

gradle

obtuse pulsar
#

or gradle

#

yeah

#

what do i write

static zealot
#

you can probably google that. I'm pretty sure I did before and first link worked

obtuse pulsar
#

oh lmao

#

i ran with java 14

#

imagine quantum computed minecraft plugin

steel heart
#

oo

#

then we can trash async

obtuse pulsar
#
java {
    toolchain {
        languageVersion = JavaLanguageVersion.of(8)
    }
}
#

this seems right?

steel heart
#

wat

#

sourceCompatibility = targetCompatibility = JavaVersion.VERSION_1_8

#

declare this at project level

#

that will do the work precisely

obtuse pulsar
#

wait

#

where did you say?

steel heart
#

ima just post one of my own

obtuse pulsar
#

thx bro

steel heart
#
plugins {
    id 'java'
    id 'application'
    id 'com.github.johnrengelman.shadow' version '6.1.0'
}

group 'me.conclure.derpio'
version '1.0'
sourceCompatibility = targetCompatibility = JavaVersion.VERSION_1_8
mainClassName = 'me.conclure.derpio.Main'
shadowJar {
    archiveFileName.set("Bot.jar")
}

repositories {
    mavenLocal()
    mavenCentral()
    jcenter()
    maven { url 'https://oss.sonatype.org/content/repositories/snapshots' }
    maven { url 'https://repo.aikar.co/content/groups/aikar/'}
}

dependencies {
    compileOnly 'org.jetbrains:annotations:21.1.0'
    runtimeOnly 'ch.qos.logback:logback-classic:1.2.3'
    implementation 'net.dv8tion:JDA:4.2.0_227'
    implementation 'com.google.guava:guava:30.1-jre'
    implementation 'com.google.code.gson:gson:2.8.6'
    implementation 'com.github.ben-manes.caffeine:caffeine:2.8.8'
    implementation 'com.github.ben-manes.caffeine:guava:2.8.8'
    implementation 'net.sf.jopt-simple:jopt-simple:6.0-alpha-3'
    implementation 'org.apache.commons:commons-lang3:3.11'
    implementation 'commons-io:commons-io:2.8.0'
    implementation 'net.sf.trove4j:trove4j:3.0.3'

    // Test
    /*
    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.6.0'
    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine'

     */
}

task runBot(type: JavaExec) {
    dependsOn shadowJar
    workingDir file("./build/libs")
    jvmArgs "-XX:+UseConcMarkSweepGC"
    main "-jar"
    standardInput System.in
    args "Bot.jar", "-token", "thetokenyouneverwillknowabout"
}
steel heart
#

?

#

wait

#

o

compact perchBOT
old wyvern
#

wow

#

xD

steel heart
#

okay just act like nothing

#

ty love you

steel heart
#

I take back my nitpick

obtuse pulsar
#

why is that

steel heart
#

let me try

obtuse pulsar
#

> Could not find tools.jar. Please check that C:\Program Files\Java\jre1.8.0_251 contains a valid JDK installation.

#

lol what

steel heart
#

jre

#

uhm

#

wait do this

old wyvern
#

what version do you have installed?

steel heart
#

go to Project Structure > SDKs > + > Download JDK

#

then download 8

static zealot
steel heart
#

it will download it rightfully I think

old wyvern
#

I mean why not just use the version that you have if its newer?

steel heart
#

idk

static zealot
#

just didn't know what to work on

obtuse pulsar
#

LOL i dont even have java 8

steel heart
#

ah makes sense

old wyvern
#

which version do you have

#

?

steel heart
#

well if its internal

#

go with 15 maybe

#

epic

#

new features

static zealot
#

oh I guess title maybe? idk

prisma wave
#

I DID IT

#

it works

static zealot
#

o??

steel heart
#

gg

static zealot
#

what works

prisma wave
#

cache-control header

#

after like 2 hours of trying to get this goddamn operator to work

obtuse pulsar
#

i have 14

prisma wave
#

it now does a different redirect every time ๐Ÿ™‚

obtuse pulsar
#

i downloaded coretto-1.8

steel heart
old wyvern
#

bm smh add the meta for the embed

prisma wave
#

no

old wyvern
#

why not?

prisma wave
#

it's supposed to be secret

static zealot
steel heart
obtuse pulsar
#

ok now i downloaded it @steel heart

prisma wave
#

๐Ÿค”

old wyvern
obtuse pulsar
#

idk there wasnt any 8

old wyvern
#

bm

prisma wave
steel heart
#

enebz you downloaded 8?

old wyvern
#

Yes

prisma wave
old wyvern
#

Ik I mean add it so you can specify embeds

prisma wave
#

o

steel heart
#

I mean use that then but you may wanna use a higher version

prisma wave
#

hmm

static zealot
old wyvern
#

like let it use the title from the path

prisma wave
#

ohh smart

#

yes

#

time to figure out how

obtuse pulsar
prisma wave
#

what's it called again?

#

the thing they use

#

it's some web technology

old wyvern
#
<meta property="og:title" content="European Travel Destinations">
<meta property="og:description" content="Offering tour packages for individuals or groups.">
<meta property="og:image" content="http://euro-travel-example.com/thumbnail.jpg">
<meta property="og:url" content="http://euro-travel-example.com/index.htm">
steel heart
prisma wave
#

ah that'll do it

obtuse pulsar
#

ok so yeah idid

prisma wave
#

cheers

obtuse pulsar
#

what now?

prisma wave
steel heart
#

okay

prisma wave
#

nobody clicked that right?

old wyvern
#

I did

prisma wave
#

oh

steel heart
#

add ```gradle
sourceCompatibility = targetCompatibility = JavaVersion.VERSION_1_8

prisma wave
#

3 people did lol

#

okay

steel heart
#

assume you want to use version 8

prisma wave
#

i just wanna try find what type of request discord does

#

so i can identify it

#

and then do something different

old wyvern
#

Why not just have those there always

prisma wave
#

atm it's just a 302 redirect

#

so i dont think you can send html with that lol

obtuse pulsar
#

holy fuck

#

it ran

old wyvern
#

Why not?

obtuse pulsar
#

f u c k m e h e l l y e a h

old wyvern
#

Alternatively have a script in the dom to redirect the user

prisma wave
#

yeah but that might show up briefly

old wyvern
#

Are you sure you cant return content with 302?

prisma wave
#

pretty sure

#

afaik only 400 responses actually send a body

obtuse pulsar
#
C:\Programming\Plugins\SERVER>java -Xmx4G -Xms4G -jar server.jar nogui
Invalid maximum heap size: -Xmx4G
The specified size exceeds the maximum representable size.
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
#

What tha fuck

#

that happened after i reinstalled java 8

steel heart
#

-Xmx4G -Xms4G

#

-Xmx4G -Xms2G

#

try that

obtuse pulsar
#

but 4g worked before :(

#

C:\Programming\Plugins\SERVER>java -Xmx2G -Xms2G -jar server.jar nogui
Error occurred during initialization of VM
Could not reserve enough space for 2097152KB object heap

#

wtf

#

oh wait

#

whats 29% of 16

#

wtf

#

i font get it

steel heart
#

@prisma wave

half harness
#

y u ping bm

steel heart
#

should I use var when possible in java or not?

prisma wave
#

y u ping me

#

probably

half harness
#

lol

prisma wave
#

var is good

steel heart
#

It makes the code less readable

#

but it's juicy

obtuse gale
#

Object cursed_fingerguns

obtuse pulsar
#

i dont like var

steel heart
#

lol

obtuse pulsar
#

it gets too dynamic

steel heart
#

its powerful

#

wat

obtuse pulsar
#

true

steel heart
#

dynamic?

#

its inferred

obtuse pulsar
#

yeah im not speaking term dynamic

old wyvern
#

I think he means not actually seeing the type

obtuse pulsar
#

im speaking english dynamic

steel heart
#

yeah it does get grokky in a way

#

that's what I kind of implied above

lunar cypress
#

I really do need that BufferedReader bufferedReader = new BufferedReader()

prisma wave
#

lmao

old wyvern
#

๐Ÿ˜‚

half harness
steel heart
#

jesu

old wyvern
#

but when the rhs isnt a constructor tho

prisma wave
#

yeah in java it's situational

static zealot
#

jeee

prisma wave
#

use it when it improves readability

#

but dont when it doesnt

#

๐Ÿ™‚

obtuse pulsar
#
C:\Programming\Plugins\SERVER>java -Xmx2000m -Xms2000m -jar server.jar nogui
Error occurred during initialization of VM
Could not reserve enough space for 2048000KB object heap

This is bullshit

steel heart
#

hmm okay bm ty

obtuse pulsar
#

I just ran it at 4G before installing jva 1.8

prisma wave
lunar cypress
#

don't set Xms high

obtuse pulsar
half harness
#

make Xms like 256M

#

or smth

lunar cypress
#

you probably shouldn't change it at all

obtuse pulsar
#
C:\Programming\Plugins\SERVER>java -Xmx2000m -jar server.jar nogui
Error occurred during initialization of VM
Could not reserve enough space for 2048000KB object heap
#

It worked with both on 4G before

obtuse gale
#

time for a restart fingerguns

obtuse pulsar
#

good idea

lunar cypress
#

well how much memory is free

obtuse pulsar
#

60% of 16 gigs

#

iow: enoguh

jovial warren
half harness
#

๐Ÿ‘€

jovial warren
#

they're making the bottom of the world -64

#

and the build height 320

static zealot
#

ye

jovial warren
#

that's gonna break a few plugins

old wyvern
#

lol

static zealot
#

wait I didn't know about -64 and that feels weird.

jovial warren
#

namely VoidTeleport

old wyvern
#

Whats VoidTeleport?

obtuse pulsar
#

WHYY

static zealot
#

why the hell do they chasnge the void to -64?

obtuse pulsar
#

java -Xmx1000m -jar server.jar nogui

jovial warren
#

guess @old wyvern

obtuse pulsar
#

it works with 1G

old wyvern
#

Teleports to void?

static zealot
#

close xD

jovial warren
#

teleports back to spawn when you fall in the void

old wyvern
#

I dont think people would care if that breaks tho?

#

oh

#

I mean

#

Are you sure they are bringing it down?

jovial warren
#

probably checks if y is <= 0 and then executes

old wyvern
#

Like why? xD

jovial warren
#

that's an official tweet

obtuse pulsar
#

Error: This Java instance does not support a 64-bit JVM.

old wyvern
#

Why not increase the height instead?

obtuse pulsar
#

i ran a version check

#

Error: This Java instance does not support a 64-bit JVM.

#

makes sense now

prisma wave
jovial warren
old wyvern
#

How exactly bard?

obtuse gale
jovial warren
#

they need more space underneath, but also for it to be level with the rest of the terrain

#

think about it

old wyvern
static zealot
#

ah that makes a bit more sense I guess.

old wyvern
prisma wave
#

ic

static zealot
#

but still I feel like everything should start at 0 xD

old wyvern
#

Yea

#

Its simply a point of reference

#

Unless this has something to do with the field size in packets?

obtuse gale
old wyvern
#

I guess the issue is when using worlds generated prior to the update

obtuse gale
#

well you can vouch ore generation lol

static zealot
#

pretty sure this will also change ore generation and mob spawning

steel heart
#

btw does it exist a thing that can automatically generate this. and super. wherever possible

old wyvern
#

dont think so

#

why not just write it that way instead

steel heart
#

thing is I'm immensely lazy

#

so I haven't added those

#

and the code is getting huge now

old wyvern
#

lol

obtuse pulsar
#

do i have to register all commands in plugin.yml?

steel heart
#

ye

#

or reflect commandmap

obtuse pulsar
#

WHAT is reflect commandmap

static zealot
#

imagine having to remmber what y level ores generate at again ๐Ÿ˜ฆ

old wyvern
obtuse pulsar
#

will this be true if player.hasPermission("wwell.usewand") i have op?

wintry shore
#

Anyone down to spoon feed me real quick

steel heart
#

sure

#

๐Ÿฅฃ

wintry shore
#

You down to call or ?

#

btuh

steel heart
#

uhm

#

why not just write?

wintry shore
#

could you do a command layout for this command /specialitem give <name> <type> <amount>

steel heart
#
class Main extends JavaPlugin {
  public void onEnable() {
    this.getCommand("specialitem").setExecutor((sender,cmd,label,args) -> {
      if (args.length == 0) {
        return true;
      }

      String subCommandNode = args[0];

      if(!subCommandNode.equalsIgnoreCase("give")) {
        return true;
      }

      if (args.length < 4) {
        return true;
      }

      String name = args[1];
      String type = args[2];
      int amount = 1;

      try {
        amount = Integers.tryParse(args[3]);
      } catch (NumberFormatException ignored) { }

      //continue
      return true;
    });
  }
}```
#

maybe

old wyvern
#

ew

steel heart
#

lol shush

wintry shore
#

Why in onEnable

static zealot
#

why not use Matt's FW? :(((

steel heart
#

move it?

#

it's an example

wintry shore
#

Ok thanks

distant sun
static zealot
#

ask mojang ๐Ÿ˜ฆ

old wyvern
#

size

distant sun
#

stupid logic

static zealot
#

they went 64 down and 64 up

#

idk if you knew this but before it was 64 terrain 3*64 sky and now its gonna be 2*64 terrain and 4*64 sky

ocean quartz
#

I like the idea of negative underground, creates a mysterious place for interesting cave stuff

steel heart
#

true

surreal quarry
#

its a cool idea but idk how world generation is gonna work if you update your server and have ungenerated chunks that get generated

#

like theres just gonna be a huge difference between two chunks potentially

old wyvern
#

It probably fills out whats below

#

Thats the only reason I can think of for them choosing a lower level

surreal quarry
#

ah true

ocean quartz
#

I wanna see people dig an entire chunk now kekw

surreal quarry
#

lol

static zealot
#

I don't it would take long

steel heart
#

wait wait

#

enhanced switches in java dont fall through ?

prisma wave
#

no

#

theyre like when in kotlin

steel heart
#

OMG

#

maybe I dont need to switch

#

if java becomes kotlin

prisma wave
#

lol gl finding a server that runs a high enough version

surreal quarry
#

lol

steel heart
#

HTML is a functional JavaScript framework right?

surreal quarry
#

yes

#

everyone knows that

steel heart
#

Thought so

ocean quartz
obtuse pulsar
#

Is there an event for when an item moves out of an inventory?

steel heart
#

yep

#

d;sub_classes spigot inventoryevent

ruby craterBOT
#
Sub Classes:
org.bukkit.event.enchantment.PrepareItemEnchantEvent
org.bukkit.event.inventory.PrepareAnvilEvent
org.bukkit.event.enchantment.EnchantItemEvent
org.bukkit.event.inventory.PrepareSmithingEvent
org.bukkit.event.inventory.InventoryOpenEvent
org.bukkit.event.inventory.PrepareItemCraftEvent
org.bukkit.event.inventory.InventoryInteractEvent
org.bukkit.event.inventory.InventoryCloseEvent```
surreal quarry
steel heart
#

d;sub_classes spigot inventoryinteractevent

ruby craterBOT
forest pecan
#

POGGERS Remence streaming Scratch

oak raft
#

hahaha

#

it was a little project I had to do for school

half harness
#

lol

onyx loom
#

In this video, I tell you the best IDE to use for programming. No matter what kind of programming you do.

๐Ÿ“š Video courses from JomaClass:
๐ŸŽ“ New to programming? Learn Python here: https://joma.tech/35gCJTd
๐ŸŽ“ Learn SQL for data science and data analytics: https://joma.tech/3nteQih
๐ŸŽ“ Data Structures and Algorithms: https://joma.tech/2W89H33

Music...

โ–ถ Play video
unkempt tangle
#

xD

oak raft
#

wait

#

I didn't think he'd actually bring up decent points

ocean quartz
#

My man's using comic sans

oak raft
#

are you a software engineer?

#

yeah thats what I thought

#

don't critique him, just obey him

charred torrent
#

@obtuse gale Can't actually dm you

obtuse gale
#

lool

regal gale
#

@onyx loom as soon as that vid ends, a real Python course advertisement popped up reeee

oak raft
#

are you gonna take it?

charred torrent
#

I have been gettign the same thing

#

And no Im not gonna take it

half harness
charred torrent
#

their online rn lets ping them

#

@obtuse gale

oak raft
#

@obtuse gale

charred torrent
#

dam still no response

obtuse gale
#

My dms are off

#

I was at the store

#

Friend me

hot hull
#

huh?

obtuse gale
#

how does one make like a java desktop app thing

#

like an actual program

old wyvern
#

You mean a application with a GUI?

obtuse gale
#

yeah

old wyvern
#

JavaFX?

obtuse gale
#

o

distant sun
#

any idea how I'm supposed to add mvdw api support to a project?

#

it keeps adding weird dependecies that can't be indexed

hot hull
#

Why are you even trying to use that shit?

distant sun
#

is not my project frosty, I need it in order to build it smh

hot hull
#

Exclude all those dependencies

static zealot
hot hull
#

The scale is small, but if I like *1000 it, it should look cool

distant sun
#

nice

hot hull
#

should yes

#

THat's why renderer usefull so you don't have to keep regening the world

old wyvern
#

Too much water

static zealot
#

exactly what I said yesterday xD. But like I'm hoping he'll add biomes or something like that. So these would be IslandsBiome or something

hot hull
#

I mean 3D biomes would be neat

hot hull
#

Bardy, you ever used javafx or any other window application lib?

jovial warren
#

@distant sun because they want to increase the space they have underneath, and if they set the height for land higher, then new worlds will have massive chunk borders

hot hull
#

gimme

jovial warren
#

FXML ez

hot hull
#

I need need a base so I can see how shit works

#

Reading docs is ew

jovial warren
#

a base?

hot hull
#

Link me to one of the projects

jovial warren
#

wdym?

hot hull
#

put code for it on gh, send link

distant sun
#

ik bbg but is still weird xd

jovial warren
#

I haven't made JavaFX applications in a while

#

I wouldn't have the code lol

#

I can help you write it though

old wyvern
#

use tfx ๐Ÿ™‚

stuck harbor
#

the hek

jovial warren
#

there's two ways of writing JavaFX: FXML, where you write everything in an XML-like file, or just raw Java, where everything is code

stuck harbor
#

y'all'd've

jovial warren
#

also, yeah, use TFX

hot hull
#

will look into it

jovial warren
#

basically JavaFX for Kotlin

#

it all uses it's own DSL

prisma wave
#

XML ๐Ÿ™„ ๐Ÿ˜ ๐Ÿ˜Ÿ ๐Ÿ™ƒ

jovial warren
#

FXML is an exception to the anti-XML rule

#

it's actually nice

prisma wave
#

No

steel heart
jovial warren
#
<?import javafx.scene.control.Label?>
<Label text="Hello, World!"/>
prisma wave
#

๐Ÿ˜

jovial warren
#

also, can you imagine having a builder factory?

#

JavaFX has a builder and then a builder factory for producing builders that are capable of instantiating a given type

prisma wave
#

Yes

jovial warren
#
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>

<VBox xmlns:fx="http://javafx.com/fxml">
    <Button text="My Button"/>
</VBox>
steel heart
hot hull
#

Disgusting

prisma wave
#

How exactly is that "good"

jovial warren
#

I'll admit, the Tornado FX DSL is much, much better

#

but I prefer FXML over plain JavaFX

#

(may be because the Java course I took that taught me JavaFX used FXML over plain old Java)

prisma wave
#

How isn't it

jovial warren
#

what language is that? brainfuck?

prisma wave
#

Yes

jovial warren
#
++++++++
[
    >++++
    [
        >++
        >+++
        >+++
        >+
        <<<<-
    ]
    >+
    >+
    >-
    >>+
    [<]

    <-
]

>>.
>---.
+++++++..+++.
>>.
<-.
<.
+++.------.--------.
>>+.
>++.
#

hello world in brainfuck lol

#

wtf?

#

@pallid gale please explain to me how wikipedia links are inappropriate xD

#

maybe because it contains the word "fuck"?

regal gale
#
jovial warren
#

yeah it's because it contains the word "fuck" I think

regal gale
#

Bruh

jovial warren
#

big Oof that

#

phat Oof

regal gale
#

Which link did you send

jovial warren
regal gale
#

I didn't even see lol

jovial warren
#

replace the d with f

regal gale
#

Oh ๐Ÿ‘€

hot hull
#

Scam

jovial warren
#

cube that's a scam

hot hull
#

Imagine support not having a bypass

jovial warren
#

wonder if trusted do

#

@distant sun test subject #2, please enter the chamber xD

regal gale
#

If curse isn't allowed, there's nudity on wiki lol

jovial warren
#

try posting a link with a bad word in it gaby

regal gale
#

Completely uncensored

jovial warren
#

yeah you should see some Wikipedia pages

regal gale
distant sun
#

what ๐Ÿคฃ

regal gale
#

....??

jovial warren
#

lemme send you the link to post gaby

regal gale
#

@jovial warren look at the link i sent thonking

jovial warren
#

weird

pallid gale
old wyvern
#

Cube, clash when?

#

๐Ÿฅฒ

jovial warren
pallid gale
#

one day

old wyvern
#

๐Ÿฅฒ

jovial warren
#

B.A.A.S v1.4.5? xD

old wyvern
#

xD

pallid gale
#

Yes.

#

also

jovial warren
#

is it a definitive list or does it just censor swear words?

compact perchBOT
#
Seems things are getting a bit off topic here.

Please either stick to the topic or move over to #off-topic

jovial warren
old wyvern
#

Whats B.A.A.S v1.4.5 bard?

jovial warren
#

current version is 1.4.4 lol

#

I was saying a patch for fuck you working

old wyvern
#

No like what is B.A.A.S

#

oh?

jovial warren
#

Barry's Anti Abuse System

old wyvern
#

ah

pallid gale
#

=baas stats

compact perchBOT
#
B.A.A.S | Stats

General stats for B.A.A.S:

Cache:

81439 Messages
474 Joins

Tracking:

305 Invites

jovial warren
#

cache?

pallid gale
#

Yes

jovial warren
#

it caches all messages sent in any channel or what?

pallid gale
#

for a period of time, for anti dupe and raid stuff

jovial warren
#

ah okay

#

what you using for that?

#

Redis or something?

#

Redis gud

old wyvern
#

in memory ๐Ÿ”ช

jovial warren
#

all caches are meant to be in-memory

#

the point of a cache is it's not meant to be permanent

#

if your data is permanent, you use a database, not a cache

steel heart
#

Cube

old wyvern
#

He probably does mean a database

steel heart
#

How do you you patch raids?

prisma wave
#

i store my caches on punch cards

jovial warren
lunar cypress
#

I use human memory

jovial warren
#

since when did you know how to cache @prisma wave ?

prisma wave
#

always

pallid gale
old wyvern
jovial warren
#

didn't think your 3 brain cells would be capable of that

#

xD

prisma wave
#

i came out the womb with that knowledge

jovial warren
old wyvern
#

AuToMaTiCaLLy DEStrOy EveRyOnE

jovial warren
#

automagically*

#

xD

old wyvern
#

xD

jovial warren
#

also, anyone wanna give me a hand designing the tag registry for MineKraft? lol

#

kinda don't wanna have to hard code these and make the size of PacketOutTags.kt about 5 MB lol

prisma wave
#

just load from json

jovial warren
#

oh yeah, we can do that with kotlinx.serialization can't we

#

gonna make a few classes that can handle this

steel heart
#

interface -> common -> abstract -> base -> final -> delagating and finalizable

jovial warren
#

wat

steel heart
#

The hierarchy you should follow

#

Or noob

jovial warren
#

I'm just writing data classes

#

lol

steel heart
#

No exception

prisma wave
jovial warren
#

this literally only requires 3 classes

prisma wave
#

i got open graph working

#

beautiful

hot hull
#

Fuck you

#

I'd argue that this is worse than a rickroll

prisma wave
#

lmao

jovial warren
#

lol

#

oh btw, BM, you're gonna love my file structure btw

prisma wave
#

am i

jovial warren
#

me.bristermitten.minekraft.entities

#

me.bristermitten.minekraft.registry

#

๐Ÿ‘Œ

prisma wave
#

๐Ÿ˜

jovial warren
#

me.bristermitten.minekraft.entities.EntityType

#

guess what that contains

static zealot
#

Entity types

jovial warren
#

every single entity type from registries.json lol

#

113 lines

static zealot
jovial warren
#

just enums

static zealot
jovial warren
static zealot
prisma wave
#

they work for any url as well

old wyvern
prisma wave
static zealot
prisma wave
#

lmao

static zealot
old wyvern
prisma wave
#

๐Ÿ˜‚

lunar cypress
#

ok that's good, I was worried it only worked with deluxe menus

prisma wave
#

nah dw

#

it can be customised to work with any situation

#

so whenever someone asks in the wrong channel

prisma wave
#

lmfao

#

should i include random haskell documentation in the possibilities?

#

or just the sites

jovial warren
#

never knew that data classes could use generics

prisma wave
#

Ofc they can

jovial warren
#

trying to think of how I can deal with namespaced keys

#

I'm gonna make them serialisable, but I gotta make this an interface

prisma wave
#

why an interface?

jovial warren
#

true

#

I need NamespaceValue to be an interface though, since I want it implemented by each of the enums

prisma wave
#

sure

#

but the actual key can just be a class

jovial warren
#

yeah

#

just thinking of how I can deserialise this

#

since Key takes a NamespaceValue

quiet depot
#

anyone know of a project with a nice readme I can "copy" for docdex? I've moved all of docdex's documentation into the wiki so the 1000 page readme is no longer necessary

jovial warren
#

nice and simple

prisma wave
#

any modern JS framework probably has a good one

#

include some screenshots, a few emojis, etc

lunar cypress
#

The next generation of music bots, smarter every day
ok tech ceo

jovial warren
prisma wave
#

vue has a good one

jovial warren
#

it was originally intended to be a fully voice activated and controlled music bot, but I haven't got round to that yet

onyx loom
hot hull
#

What's latest kotlin version

jovial warren
#

1.4.30

hot hull
#

Danke

prisma wave
#

can i take a moment to talk about how nice f# is

#

it's so clean

#

๐Ÿ˜

#

and Rider is really good as an IDE

quiet depot
#

thx bardy and bm will look at both of those for inspiration

#

what does |> do @prisma wave

#

and Rider is really good as an IDE
and insert literally any intellij platform is really good as an IDE

prisma wave
#

so

#

for example

jovial warren
#

you wanna see how I'm doing this whack key system BM?

#

specifically, how I'm deserialising the key's value

prisma wave
#
randFrom urls random |> (+) "https://"

this is equivalent to ```fs
(+) "https://" (randFrom urls random)

#

just without the parentheses

#

it can make data flow a lot cleaner

#
chars
|> List.filter isUpper
|> List.map toInt
|> blah
``` is the same as ```fs
blah (List.map toInt (List.filter isUpper chars))
jovial warren
#

I'm having to use a when

quiet depot
#

okie

jovial warren
#

@quiet depot master of keys, please help ๐Ÿ™‚

quiet depot
#

paste ur code

jovial warren
#

I need to deserialise the Minecraft registry

quiet depot
#

been there done that

jovial warren
#

and I want to find out a way to serialise and deserialise namespaced keys

quiet depot
#

stopped doing it because I found a better way

#

can't remember what that way was or any specifics

#

so let's just get into your code

jovial warren
#
data class NamespacedKey<T>(
    val namespace: String,
    val value: T
)
```that's the namespaced key so far
prisma wave
#
let getPathAfterUrl (str: string) =
    lastIndexOf str "/" |> (+) 1 |> subString str
``` ๐Ÿ™‚
old wyvern
old wyvern
#

๐Ÿ˜Œ

jovial warren
#
data class Registry<T>(
    @SerialName("protocol_id") val protocolId: Int,
    val entries: Map<T, RegistryEntry>
)
```a registry
prisma wave
#

it's only gonna be a String right?

jovial warren
#

no

#

the value is going to be e.g. EntityType, BlockType, FluidType, etc.

prisma wave
#

->> what about this for forEach btw yugi

#

maybe not

#

easy to confuse

jovial warren
#

so I want an easy way to deserialise this

#

serialising is easy, it's just encoder.encodeString(value.namespace + ":" + value.value)

prisma wave
#

ew

old wyvern
prisma wave
#

Encapsulate that into a function pls

jovial warren
#

or encoder.encodeString("${value.namespace}:${value.value}")

old wyvern
#

I mean we could use map itself for foreach tbf

prisma wave
#

The string stuff

old wyvern
#

mapinng to unit in a sense

prisma wave
jovial warren
quiet depot
#

what's value.value

jovial warren
prisma wave
jovial warren
#

e.g. in minecraft:air, air would be the value

prisma wave
#

@old wyvern -!> maybe?

#

clojure uses ! to represent things with side effects

old wyvern
#

Thats looks similar to filter tho

prisma wave
#

true

#

!-> looks kinda gross

old wyvern
#

-} ?

onyx loom
#

gross

jovial warren
#

stop making it worse lol

old wyvern
#
[1,2,3,4] -> add(1) -|> lesserThan(3) -} print
#

xD

prisma wave
#

hmm

#

We want something that represents a terminal operation

jovial warren
#

something that's not whack though, please

#

also, won't the lexer get confused at -}?

old wyvern
#

>|

prisma wave
#

Shouldn't do

quiet depot
#

bardy why is value T then

#

if it's a string

jovial warren
#

it's not

prisma wave
#

That's what I thought

jovial warren
#

it's an enum

prisma wave
#

In NMS it's a String

jovial warren
#

I want to convert a string to an enum

#

if I can

quiet depot
#

then just do enum.valueOf(string)?

jovial warren
#

true

quiet depot
#

that ? isn't syntax btw

#

unless it is?

#

hmmmm

prisma wave
#

It's not lol

#

I guess

quiet depot
#

convert to upper case

#

also have a default enum entry

#

i call it unknown

prisma wave
#

Not sure we should be failing gracefully if the registry is corrupt

jovial warren
#

so ```kotlin
data class NamespacedKey(
val namespace: String,
val value: String
)

prisma wave
#

Yes

jovial warren
#

what about for the registries?

quiet depot
#

it's not todo with registry corruption, moreso the removal of registry entries without the enum updating (i.e. such as in the case of a server upgrade/downgrade)

jovial warren
#
data class Registry(
    @SerialName("protocol_id") val protocolId: Int,
    val entries: Map<NamespacedKey, RegistryEntry>
)
```if I have this
hot hull
#

Also take note of the tornadofx.* import. This is important and should be present in all your TornadoFX related files. The reason this is important is that some of the functionality of the framework isn't discoverable by the IDE without the import. This import enabled some advanced extension functions that you really don't want to live without ๐Ÿ™‚
That smiley at the end got me

quiet depot
#

what's tornadofx

quiet depot
#

is that the kotlin ui shit

onyx loom
#

ye

quiet depot
#

i've heard it before and briefly looked into it I just can't remember if it's for kotlin or java

jovial warren
quiet depot
#

okie

jovial warren
#

but its DSL is really nice

quiet depot
#

its

prisma wave
#

The serialization library can't tell what implementation it needs to deserialize unless there's a type name or something

#

Which there isn't

quiet depot
#

don't get me wrong I totally think "it's" should be correct grammar in that case

#

but unfortunately it's not ๐Ÿ˜ฆ

onyx loom
#

but it is DSL is really nice

quiet depot
#

yes

onyx loom
#

doesnt make sense

old wyvern
#

Except it breaks with gradle ๐Ÿ™‚

quiet depot
#

no but english would be 10x better if you could use it's to signal possession

old wyvern
#

I mean it actually doesnt

#

but ij does

#

๐Ÿ™‚

onyx loom
#

ehhhhh

old wyvern
#

IDE errors that dont make sense at all

#

But seems to work fine when being used with maven

#

Very weird

quiet depot
#

kaliber english is probably like a 0.00001/10 so a 10x improvement really isn't that drastic

onyx loom
#

โ˜น๏ธ

jovial warren
#
object NamespacedKeySerialiser : KSerializer<NamespacedKey> {

    override val descriptor = PrimitiveSerialDescriptor("Key", PrimitiveKind.STRING)

    override fun serialize(encoder: Encoder, value: NamespacedKey) = encoder.encodeString(value.toString())

    override fun deserialize(decoder: Decoder): NamespacedKey = decoder.decodeString().toNamespacedKey()
}
```๐Ÿ‘Œ
prisma wave
#

The inconsistency smh

#

You make a function for toNamespacedKey but not from?

jovial warren
#

I swear you say one thing about expression functions and it'll be

jovial warren
#

nah it's toString()

prisma wave
#

Because that's how every functional language works

#

๐Ÿฅฒ

jovial warren
#

NamespacedKey#toString and String#toNamespacedKey

prisma wave
jovial warren
#
fun String.toNamespacedKey(): NamespacedKey {
    val components = split(":")
    return NamespacedKey(components[0], components[1])
}
```really annoys me how this can't be an expression function lol
#

or it can, but calling split twice is inefficient

#

I think

prisma wave
#

split.let if you really care

#

But it's probably easier to keep it like that

#

More readable

jovial warren
#

yeah

prisma wave
#

also destructure that pls

jovial warren
#

destructure?

prisma wave
#

val (namespace, key) = split

jovial warren
#

you can do that?

#

oh yeah, I forgot lol

#

right, now time to write the JSON loading logic

#

where to put it though

hot hull
#

What does this mean lol

You will also need to specify the module it resides in.

jovial warren
#

context?

hot hull
#

run configuration

jovial warren
#

more context?

hot hull
jovial warren
#

what module your main class is in?

#

"use classpath of module"

#

I think

hot hull
#

It's not tho

quiet depot
#

oh btw

hot hull
#

I presume it's different in latest IJ

quiet depot
#

forgot to link this in here a couple days ago

#

potentially a good read

#

i only read half

#

little hook: turns out javascript's oop impl is a lot closer to the original oop than java

prisma wave
#

i.e prototypes?

jovial warren
#

okay wtf

#

tf is minecraft:motive meant to be for

#

logic.exe has left the room

hot hull
jovial warren
#

@prisma wave you're not gonna like this

#

ready?

#

lemme just say, I've gotta paste it in a bin because it's over 2000 chars lol

prisma wave
#

wtf

jovial warren
#

I'm debating whether using registries.json is a good idea or not

prisma wave
#

i mean we dont have to comply with the vanilla format

#

that is hideous

jovial warren
#

wanna see the original file?

prisma wave
#

fine

jovial warren
#

yeah...

prisma wave
#

god

jovial warren
#

I'm thinking that nesting the JSON might be a better idea

#

only problem with using our own format is that means I need to create a tool to convert it over for us whenever a new version comes out lol

#

which shouldn't be all that hard tbh, since it's JSON

hot hull
#

@prisma wave kek

#

That trully is a sin to be posting those links around

jovial warren
#

I'm thinking that we can just yeet protocol_id: 0 for example for each of the entries and just have it be "minecraft:air": 0

hot hull
#

I didn't even realise it was a different site every time

jovial warren
#

lol

prisma wave
prisma wave
jovial warren
#

lemme start drafting up the new format

#

how does something like ```json
{
"minecraft:sound_event": {
"id": 0,
"entries": {
"minecraft:ambient.cave": 0,
"minecraft:ambient.basalt_deltas.additions": 1,
"minecraft:ambient.basalt_deltas.loop": 2
}
}
}

#

(using Minecraft namespaces because I cba to write conversions lol)

#

which would correlate to something like: ```kotlin
data class Registry(
val id: Int,
val entries: Map<String, Int>
)

#

actually no

#

actually yes

#

acutally BM it's your turn

prisma wave
#

o?

jovial warren
#

you design the registry file xD

steel heart
#

does kotlin have a native bimap, multimap and table

#

like
mutableBimapOf

prisma wave
#

no

steel heart
#

fuck

old wyvern
#

Maybe Elara does

steel heart
#

oo

old wyvern
#

๐Ÿ˜ฎ

jovial warren
prisma wave
onyx loom
#

elara clearly has everything

#

warning: it may not be implemented yet

steel heart
#

BiTable

#

TriTable

prisma wave
#

let everything = TODO()

ripe crest
#

it's ok

#

I find

old wyvern
prisma wave
#

lol

ripe crest
#

I have a last problem

#

when i execute the commande /tag, the command open another gui by another plugin

#

but

#

I can moove items and I can't use item

ripe crest
#

And this gui is for select tags

prisma wave
ripe crest
#

isn't this

#

I use iTag

#

so

old wyvern
ripe crest
#

I execute the commande /tags

regal gale
static zealot
#

@ripe crest they're just telling you are in the wrong channel

ripe crest
#

ah my bad lmaooooo

#

x)

#

so sorry

regal gale
#

Wait, it's dev-general thonking

static zealot
#

yes this is dev-general

ripe crest
#

have a good day guys

old wyvern
#

ah this is dev-general

jovial warren
steel heart
#

File ?

#

maybe replace with Path

#

but else noice

old wyvern
#

public mutable map ๐Ÿ™‚

jovial warren
#

lol

old wyvern
#

๐Ÿฅฒ

jovial warren
#

you're saying that's actually good? xD

old wyvern
#

no

#

The opposite

jovial warren
#

no not you

old wyvern
#

ah

jovial warren
#

I know public mutable maps are bad

#

that's not the part I wanted a whack rating on

old wyvern
#

What part did you want it on?

#

And what would a whack rating mean?

jovial warren
#

the fact that I'm getting a directory, retrieving a list of files from sub directories, and iterating over them and adding them to a map

jovial warren
old wyvern
#

whack as in bad?

jovial warren
#

whack as in whack xD

old wyvern
#

xD

jovial warren
old wyvern
#

ah

jovial warren
#

1 and 3 are decent

#

and 4 isn't bad either

lost dagger
#

hello everybody

jovial warren
#

hello

lost dagger
#

do you guys know python?

jovial warren
#

I kinda do

lost dagger
#
  1. /* ok */
jovial warren
#

it has its uses

lost dagger
#

so what is it

#

then

#

my brother just used it

jovial warren
#

it's a programming language

old wyvern
#

looks somewhat ok bard

#

altho

#

You might wanna move to maybe an init block instead of a function to load them

lost dagger
#

is advertising my smp allowed?

old wyvern
jovial warren
lost dagger
#

no

#

my minecraft server

jovial warren
old wyvern
#

^

lost dagger
#

why do u use python ?

#

ok

old wyvern
#

To program?

jovial warren
#

it's nice to hack things together

old wyvern
#

Its a programming language

jovial warren
#

but bad for production stuff

#

^

lost dagger
#

it's not for hacking

old wyvern
#

Thats not what he means

#

He meant as in throwing something together fast

lost dagger
#

join

old wyvern
#

Why?

lost dagger
#

i will start it

old wyvern
#

huh?

onyx loom
#

lol

lost dagger
#

1,16.4

old wyvern
#

Again

#

What is this for?

#

Most of us have other things to do

jovial warren
#

exactly

lost dagger
#
  1. /* You guys know python? */
jovial warren
#

you ain't making any sense matey

lost dagger
#

yeah

jovial warren
#

I do yeah

#

it's a programming language

lost dagger
#

like trolling

jovial warren
#

ah, you're trolling

old wyvern
#

... wha

#

oh

jovial warren
#

I was a bit sus from that status

lost dagger
#

yeah

#

np

onyx loom
#

i missed the funny

lost dagger
#

no

#

JUST JOIN

frigid badge
#

No, stop advertising.

lost dagger
#

i'm not advertising'

#

i just wanna make friends

jovial warren
#

you are

old wyvern
#

๐Ÿ™ƒ

lost dagger
#

it's for cracked too

#

c'mon

jovial warren
#

stop. advertising.

old wyvern
onyx loom
#

who

old wyvern
#

Bye now

lost dagger
#

what's your mc username

#

i will op u

onyx loom
#

who

jovial warren
#

stop. advertising.

lost dagger
#

why

hot hull
#

My username is HelpChat

jovial warren
#

because it's not allowed in here

#

lemmo's already told you to stop

lost dagger
#

can u join

static zealot
#

guys ...

old wyvern
#

Hammer

static zealot
#

idk

#

...

old wyvern
#

Yea

static zealot
#

but you should check people's profile

steel heart
#

oof

frigid badge
#

You can use #805698762193764372 to advertise but that's it. Stop trying to troll people or I will ban you.

static zealot
#

xD

lost dagger
#

????

jovial warren
#

yeah ik he's trolling

frigid badge
#

This is your last warning.

lost dagger
#

why did the chat start active