#dev-general

1 messages · Page 55 of 1

brazen ether
#

i think honestly the issue is that once your gamemode is more complex, the bots just aren't complex enough, and so overall they decrease enjoyability

abstract osprey
#

Unless you like to take the most interesting takes like the GP dev who isn’t dropping spigot

brazen ether
#

.io games are so simple that you cannot really have complex enough interactions for it to be a huge difference between someone being a player or a bot

oblique heath
pastel imp
#

the only reason why users are taking so long to switch is because of developers that keep supporting spigot. Same thing for 1.8 and alike, if devs stopped supporting it, people would move on

brazen ether
#

designing fun bots is hard though

#

so props to people who manage to do that

pastel imp
#

I blame devs that use spigot and support 1.8 for ruining the community in that way

ionic gust
#

users*

abstract osprey
#

Funnily enough, iirc FAWE announced they weren’t dropping spigot support, then days later used paper specific api 😭

ocean quartz
#

Another big reason to not swap is because of premium resources

#

A massive reason in fact

pastel imp
ionic gust
pastel imp
ionic gust
#

i disagree

pastel imp
#

paid resources became a tiny bit less relevant regarding 1.8

ocean quartz
#

Was talking about spigot vs paper only

pastel imp
#

but yes, most devs still support spigot due to being able to post in spigotmc

#

yes

prisma wave
#

yeah if i was making a premium thing i'd try and support spigot 1.8

#

unfortunately

#

but also im goated so supporting old versions isnt that hard

pastel imp
#

honestly, I won't.

#

I prefer losing money than being part of the problem

prisma wave
#

theres no right or wrong answer

#

yeah

#

thats fair

pastel imp
#

if people want change, then they should act like it

#

a perfect analogy is people complaining about nvidia gpu pricing, yet they still purchase them

#

if you don't like it, why do you keep doing it or influencing it?

prisma wave
#

unfortunately thats at least partly a fallacy

#

"we should improve society somewhat" "and yet you participate in society"

#

there isnt always a choice

pastel imp
#

right now, there is

#

and devs prefer to not be part of the solution to get some short term money

brazen ether
#

only if there's little downside to not using spigot

brazen ether
#

most of the ones who use spigot currently*

prisma wave
brazen ether
#

as long as there's demand for spigot plugins there's likely to be devs providing the supply

prisma wave
#

There’s nothing inherently wrong with it

brazen ether
prisma wave
#

can you not use an old version?

#

Also that makes sense cuz they have to implement all the changing protocol stuff

#

Whereas spigot doesn’t really

brazen ether
prisma wave
#

Ah right

pastel imp
prisma wave
#

Well spigot doesn’t have that either by default does it

pastel imp
brazen ether
#

or that spigotmc required people to use... spigot

pastel imp
# prisma wave why is it a problem

spigot is dominant in 1.8 -> devs support 1.8 -> support spigot while at it because of being able to post in spigotmc, but also because majority of that version uses spigot and since spigot plugins work on paper, that's a Win / Win

cerulean ibex
crude cloud
#

😏

ocean quartz
#

Humongous

brazen ether
#

You know what else is massive

cerulean ibex
#

fuck u barry

prisma wave
crude cloud
pastel imp
# brazen ether or that spigotmc required people to use... spigot

Both? SpigotMC is older than modern alternatives, for instance, like I previously said, modrinth gets about 10m visits per month, lets assume that's 1m for plugins, Hangar gets around 150k per month in comparaison, BBB gets around 650k, and polymart around 240k. While spigotmc gets 2.4m... basically more than all the others together.

So, it being so popular makes it the "go-to" place for plugins. But, I do agree with your second statement that if spigotmc for instance, allowed paper only plugins, it would mitigate a lot of the problems, and I am 100% sure several devs would stop supporting spigot itself.

cerulean ibex
#

holy yap

pastel imp
prisma wave
#

There’s nothing inherently wrong with that

#

Real software industries work with stuff much older than 10 years

cerulean ibex
crude cloud
#

11 years, even

cerulean ibex
#

theres ppl still playing that version cuz its fun

ocean quartz
#

The amount of enterprise shit that isn't even using java 8 yet is surprising

prisma wave
#

Exactly

#

Minecraft is all things considered a very fast moving field

crude cloud
#

you don't need the latest and greatest minecraft features if you are writing, say, a friending plugin

#

or a homes plugin

pastel imp
prisma wave
#

you can not want to use old versions personally

#

I just don’t think the argument that it’s harmful holds up

ocean quartz
#

You need multiple parts to move for that to happen, players, server owners, devs, and marketplaces

pastel imp
#

take an example of how resourcepacks changed the whole playing field in later versions

prisma wave
ocean quartz
#

And look at how many servers still don't use resourcepacks and probably never will because of the amount of work it takes

pastel imp
#

they already are, aren't they?

prisma wave
#

It’s effectively two different games

ocean quartz
#

The thing is that some people will prefer classic experiences and that's fine, look at OSRS or WOW Classic

pastel imp
#

I'd argue the only thing gatekeeping people in 1.8 is the pvp actually

prisma wave
#

Yeah it probably is

#

But that’s not going to change

pastel imp
#

I doubt people don't get bored of 1.8 servers xD

brazen ether
pastel imp
#

they are extremely limiting compared to latest versions

brazen ether
pastel imp
#

sure, question is how fast

brazen ether
#

trying to convince people out of enjoying something isn't a good strategy

prisma wave
pastel imp
crude cloud
#

if it isn't fun for you, that's your problem

pastel imp
brazen ether
#

nobody has to support 1.8 if they don't want to.

prisma wave
#

and it doesn’t matter yeah

#

just don’t support it, that’s fine

pastel imp
#

just got bored of seeing the exact same things constantly and no innovation

prisma wave
brazen ether
prisma wave
crude cloud
#

well, that's you, not the people playing 1.8, or decades old games, they still don't change and are limiting compared to new games

pastel imp
prisma wave
#

Minecraft mods are not society

brazen ether
pastel imp
#

flashbacks of germany a few decades ago (this is a joke)

crude cloud
#

🤨

brazen ether
pastel imp
#

wdym

prisma wave
brazen ether
# pastel imp wdym

devs aren't forced to do anything they don't want to is what I'm saying.

ocean quartz
brazen ether
#

it's not stunting anything

prisma wave
#

Yeah nobody is being held back by it

#

involuntarily

brazen ether
#

there's still constant innovation

pastel imp
prisma wave
# prisma wave involuntarily

there’s virtually no pressure to support old versions, at worst you might get a few people asking but you can just say no

prisma wave
#

Who decides what’s beneficial

brazen ether
#

nobody is forced to do it

#

thus it's not bad

pastel imp
#

there are pros and cons of each side, anywhere you go

prisma wave
#

sure

#

I feel like that’s not what you were saying though

#

there is nothing inherently harmful or bad about playing and targeting 1.8

pastel imp
#

I mean, I have always been addressing what I say as my opinion on supporting spigot, 1.8 and friends

prisma wave
#

broke: playing 1.8 is bad
woke: playing any version of minecraft is bad

pastel imp
#

lol

prisma wave
ocean quartz
#

Playing is bad bigbrain

prisma wave
#

It’s still not clear why

pastel imp
#

you can apply that logic to anything, hell even recent politics xD

prisma wave
#

i still think that’s a flawed comparison

brazen ether
#

I despise toothpaste flavored ice cream. I think it's the worst thing to come out since avocados. but my girlfriend likes it, and thus I must concede that agreeing to disagree is okay.

crude cloud
prisma wave
pastel imp
#

some people say trump is a problem, others say he is the savior of society, opinions I guess? (I do not intend to persue further conversations regarding politics, it was just an example of recent global news)

crude cloud
#

briste3TRUE

prisma wave
pastel imp
prisma wave
brazen ether
prisma wave
#

kind of

ocean quartz
#

90% of gamblers quit right before winning

brazen ether
prisma wave
#

And halal restaurants aren’t slowing down pork restaurant innovation at all

brazen ether
#

and even if serving halal is extra work, no one is forcing you

prisma wave
#

and if you do the extra work, everyone can still eat it!

pastel imp
half harness
abstract osprey
#

actually

brazen ether
prisma wave
#

Yeah politics actually affects people’s lives, it’s a flawed comparison

ocean quartz
#

Chat I have just reset local main to origin main and lost 3 commits PepeHands

prisma wave
#

Sad

abstract osprey
#

hopping back into idk what this is but hopping back to spigot
how do people support older versions of mc when methods and whatnot change?

abstract osprey
#

ah thought so

#

that sucks

half harness
prisma wave
pastel imp
half harness
abstract osprey
ocean quartz
prisma wave
brazen ether
prisma wave
#

hehe

#

Both interpretations are valid

abstract osprey
prisma wave
#

sorry to hear that

half harness
prisma wave
#

but yeah modules are better than reflection imo

abstract osprey
#

paperweight my beloved

prisma wave
#

Usually

brazen ether
abstract osprey
#

I’m just doing some packet fuckery and worldborder fuckery at the moment

#

and some netty injection pain

prisma wave
half harness
pastel imp
#

On another note, we can all atleast agree that paper and latest versions are much easier and better for devs to work with?

prisma wave
#

Yes definitely

#

I don’t think anyone would deny that

pastel imp
#

sadly, you are wrong

#

xD

#

Have seen my share of people disagreeing

prisma wave
#

nobody sane and educated

abstract osprey
#

Right now I just have different gradle modules / sub projects (whatever you like to call them) which do the NMS stuff for their respective vers

pastel imp
#

Usually they are 1.8 spigot users

half harness
#

you sure they don't mean that they prefer playing that version
thus they prefer developing in that version as well

abstract osprey
#

can someone make a coreprotect alternative please

#

:P

half harness
pastel imp
abstract osprey
#

I could go on for a while…

prisma wave
# prisma wave nobody sane and educated

90% of people who say old versions are easier just have a skill issue cuz they’re still used to doing things the old way and don’t know how to learn the new ways

brazen ether
#

this is random but i am extremely annoyed by how AI has been completely useless even for mindless programming. i needed to switch between YAML parsing libraries a while back. this is like the exact type of task i would rather have AI do, but of course, it's inept!

abstract osprey
brazen ether
pastel imp
brazen ether
half harness
#

ah

pastel imp
abstract osprey
#

and also some netty stuff for signs

brazen ether
prisma wave
abstract osprey
#

PE & entitylib <3

prisma wave
#

Though that doesn’t necessarily mean they’re easier to develop with

pastel imp
ocean quartz
#

I remember watching a stream where the dude would spend 30 minutes on AI then annother 20 minutes fixing what AI gave him for something that would have taken like 15 if he had used his brain omega_lul

half harness
pastel imp
#

Even though I have heard some bad things about retrooper, idc

#

PE better than protocollib

#

lol

abstract osprey
#

repooper as they call him is chill

pastel imp
prisma wave
brazen ether
pastel imp
prisma wave
pastel imp
#

using it for one of the plugins I am working on

abstract osprey
brazen ether
#

most memorable thing AI has given me is that Kotlin has a Number#coerceIn function

pastel imp
abstract osprey
#

damn it

pastel imp
#

well technically not a secret since I have posted about it in #showcase but it was in minestom at the time

#

lol

abstract osprey
#

maybe I’ll go stalk the code snippets in entitylib

#

*afonso deleting them all*

pastel imp
#

my english is lacking

abstract osprey
#

isn’t that like

prisma wave
#

it restricts it to be within a given range

brazen ether
prisma wave
#

Like a combination of min and max

abstract osprey
#

wtf is this kotlin shit

#

😭😭

pastel imp
prisma wave
#

It’s useful

abstract osprey
#

yeah I can see how it would be useful tbf

pastel imp
brazen ether
#

in Comet i support javascript in the configuration files, and i've noticed this is like really useful for general configuration where you need to work with numbers, and im probably gonna include it in my UI plugin. anyone else try something like this out?

prisma wave
#

it’s handy every now and then yeah

ocean quartz
abstract osprey
#

I would switch to kotlin but I fear I would write even shittier code than I do already to be brutally honest
although iirc kotlin forces you to handle null values and whatnot so.. who knows

prisma wave
#

easier than json

brazen ether
prisma wave
half harness
brazen ether
ocean quartz
#

Reminded me of this

prisma wave
abstract osprey
brazen ether
abstract osprey
prisma wave
#

It also eliminates a lot of null problems entirely

#

Like they’re just impossible

#

they can’t happen

abstract osprey
#

decompiled kotlin.. 😭

ocean quartz
prisma wave
pastel imp
abstract osprey
#

:/

prisma wave
#

Look at decompiled clojure if you really want to suffer

abstract osprey
#

oh god no

brazen ether
abstract osprey
#

I have some self preservation left

#

oh question
best inventory / gui lib for spigot

pastel imp
prisma wave
pastel imp
#

for now I am just focusing on working on the barebones of the UI stuff

prisma wave
brazen ether
ocean quartz
#

Add support for kotlin script while you're at it :D

brazen ether
#

like here i have a dynamic way where you can specify how many "random" variables you want to have generated per context

#

and then you can just use that inside expressions

pastel imp
brazen ether
pastel imp
prisma wave
prisma wave
brazen ether
prisma wave
#

oh?

brazen ether
#

they're defined up top

#

here ill show

prisma wave
#

Oh okay even better

prisma wave
ocean quartz
brazen ether
#

this is WIP but you can basically define variables which then get replaced with a function, and you can do stuff like interpolation

brazen ether
#

so i'm not sure what you mean

prisma wave
#

Oh

brazen ether
#

i have a neovim plugin that hides the quotations when i'm not selecting the line

prisma wave
#

Where are the quotes

#

Oh

#

I thought it was js

pastel imp
#

OOOOHHHHH

#

(def take a look at hocon then)

brazen ether
#

lmao 😭 no the js are inside the expressions

brazen ether
ocean quartz
#

Love hocon

brazen ether
#

just building the functionality rn

pastel imp
#

who doesn't ❣️

prisma wave
brazen ether
#

building configurable systems is an art

pastel imp
brazen ether
#

so people can build off of that

#
  • in-game editor can have live preview
pastel imp
#

you speaking of comet right?

brazen ether
#

yes

pastel imp
#

yeah live preview would be nice

brazen ether
pastel imp
#

although I recall larkyy speaking about support for blockbench?

#

or some other editor

brazen ether
#

with dropdowns and sliders and such

pastel imp
#

you already got dropdowns working?

brazen ether
brazen ether
abstract osprey
#

jesus

brazen ether
#

via the config

#

there's no built-in for it

abstract osprey
pastel imp
#

nice

#

tbf, might stop working on my UI plugin

brazen ether
#

that's how popups work for example

pastel imp
#

I really want you to succeed, so one less "competition" (not that it would be) always helps I guess

brazen ether
pastel imp
#

it has the potential

brazen ether
#

it's exclusive for a client

pastel imp
#

ikik

#

I was working on it too xd

brazen ether
#

maybe if we convince them to become like an investor and then they get some % of revenue

pastel imp
#

but I guess you can still use the same library/system or similar to make it a plugin

brazen ether
#

we'll have to see, there does seem to be interest in something like it right now

pastel imp
#

but honestly out of respect for your work, I'll leave it be for now

brazen ether
#

btw one of the ways i think to get around the mouse-delay issue is to show an indicator on the cursor instead

#

and then you can try and do some prediction to account for ping even more

#

there's a lot to explore

brazen ether
pastel imp
#

yes

brazen ether
#

just with like predictive movement?

pastel imp
#

no

brazen ether
#

how then?

pastel imp
#

well, I fixed visual mouse delay

#

shaders

brazen ether
#

ahhh

#

yea that's one of my limitations

#

i've been doing mine without that

pastel imp
#

oof yeah

#

welp

#

now I gotta find a new project to work on my free time

#

been hard to find much time for stuff, hence why I had to "quit" the project I was doing with you guys

#

well, I didn't fully quit, just didn't have the time to work on such a big system

#

but larkyy didn't give me anything else to do soooo

#

ye

brazen ether
#

lmao fair enough

pastel imp
#

welp

#

what else is there cool to do

#

🤔

brazen ether
#

probably a bunch

#

just gotta come up with it

pastel imp
#

I lacky creativity sooooo

ocean quartz
#

Just buy a better brain

brazen ether
#

my next projects that i wanted to do was fluid simulation in minecraft

#

but that might get delayed by a while

pastel imp
#

AI is too generic

brazen ether
#

lmfao

pastel imp
brazen ether
#

are you into math?

pastel imp
#

couldn't comet technically be used for that?

pastel imp
brazen ether
pastel imp
#

(Well deep down I like math, but she doesn't like me)

brazen ether
pastel imp
pastel imp
#

what else is there to do besides blocks

pastel imp
#

charlie, it's not relatable

#

you have 2 lambos, I have uh... a PC (I am thankful for it)

wintry plinth
#

I don’t really have time for projects either, my life is so hectic

pastel imp
#

you still working at bisect? (or however it is pronounced)

wintry plinth
brazen ether
pastel imp
wintry plinth
#

I moved my gf out, so I live alone now, and house work takes agesss, that paired with work, I don’t have much time

brazen ether
#

you moved her out?

#

why?

wintry plinth
#

I normally get up at like 10am, then I start work at 12pm until 9pm. In the morning or in the evening I usually sort house work, dinner, walk dog etc

pastel imp
#

wait wut

wintry plinth
#

Days are just so hectic

wintry plinth
pastel imp
#

does that mean there is a gf (bf) spot open?

wintry plinth
#

Yeah go put a wig on

pastel imp
brazen ether
wintry plinth
#

Yeah still together just live separately atm

pastel imp
#

so it was mainly just misunderstandings regarding chores?

#

woof, could've been worse

wintry plinth
#

I’ve been chipping away at Bug.io, and another stealth project, but I just don’t have the time or energy.

After work the last thing I want to do is code on something, and on weekends I may do stuff, but I enjoy just playing games now 😂

wintry plinth
#

Just wasn’t fair on me, I had work, she didn’t

pastel imp
pastel imp
#

don't wanna be the one to say it, but kinda red flag lol

wintry plinth
#

I did abandon it, I then spent quite a bit buying another domain, then I was gonna get a lawyer to clear things, and decided I couldn’t be arsed. So I went back to Bug.

I’ve got a nice design and everything, I just can’t be bothered lol

ocean quartz
#

Not necessarily a red flag, it all depends on context

pastel imp
#

true, one which we are lacking

wintry plinth
pastel imp
#

if charlie doesn't buy a domain, you know he has been kidnapped by aliens

wintry plinth
#

LOL

#

I kinda wanna add plugin analytics to Bug like bStats, but also just can’t be arsed to build stuff

pastel imp
#

FancyAnalytics is a thing now too

ocean quartz
#

Well I don't know much of the circumstance, but that kinda sounds like it could be depression, sitting down and talking and trying to figure out things is what I would do
I'm not saying you are wrong, I'm just saying there could be more to it

pastel imp
#

ultra random, tf, rp applied but not fully?

wintry plinth
pastel imp
#

xD

wintry plinth
pastel imp
#

true that, you can always talk with her and see the situation. Sometimes what matt said can be a cause, other times it's just the opposite. Relationships are difficult

abstract osprey
wintry plinth
#

They definitely are, I did a house tidy over the weekend, god it took me an entire day

pastel imp
#

I suddenly don't wanna live alone xd

wintry plinth
#

😂

#

It is spooky living alone, just glad I’ve got the dog here and security system

#

Otherwise I’d hate it

pastel imp
#

fair

#

on another day of AI being crazy

#

(I mean, cool idea but like, does it look like I can do it?)

abstract osprey
#

you’ll never know until you try

wintry plinth
#

Honestly, just build something fun for the enjoyment if you want an idea. Don’t care if it “will make money” or not.

From my own experience, the ideas that take off $$ wise are the ones you didn’t focus on money for

pastel imp
#

I mean, it's not something I am interested in

wintry plinth
#

Analyse is a good example, I built it for the enjoyment and it took off. Whereas previous ideas I focused on the money, and they failed.. lol

pastel imp
#

b- but I don't get any ideas

wintry plinth
#

The idea you told me in private, how comes you stopped that?

#

It sounded fun

pastel imp
#

I am a perfectionist at heart, I can take an existing idea, and build upon it, but building from scratch? hardly

pastel imp
wintry plinth
#

Yeah

abstract osprey
#

it’s a complete trap

#

Almost like quicksand.

wintry plinth
#

Yeah, it’s weird because people would assume that money would be an instant motivator, but it’s not.

It’s more motivating when it’s unexpected

abstract osprey
#

absolutely

pastel imp
# wintry plinth Yeah

Honestly, it can be quite boring, I spent days looking at data, training different types of models, and yeah. The idea of the project didn't seem like it was worth it (future wise) and I wasn't having much fun either

wintry plinth
#

Like if you worked on stuff for free and suddenly you was making a boatload of money, you’d be like hell yeah let’s go more at it

abstract osprey
#

the quality of something that you enjoy maintaining and developing far outweighs one motivated by money

#

with a few exceptions actually

wintry plinth
#

It’s sorta why Bug.io has been the only project I’ve bothered with when I can be arsed. I enjoy it, and I’m not fussed if it generates $$ or not.

I just wanna build cool shit now for fun

abstract osprey
#

there’s still plenty of projects that are paid and still fantastic

pastel imp
#

yeah... I haven't found that fun yet

abstract osprey
#

but the wide majority of them, are not

pastel imp
#

although now that I think about it...

#

there has always been this one project I always had interest

#

Doing an app, wiki style like fandom, but you'd have like a grid system, do templates, and variables, etc. More of a wiki for games, and not too general I guess

#

but never ended up doing it

abstract osprey
#

ooh 👀

#

that sounds neat

pastel imp
#

oh and with an actual api

#

cause whoever has ever had the pleasure of using fandom's api....

abstract osprey
pastel imp
#

you'd wanna kill your self fast

#

ngl

abstract osprey
wintry plinth
#

Also, if the idea you’re thinking about has already been done, it’s even more of a motivator IMO.

It’s usually instant validation that the thing you want to build, is what people are actually looking for.

I wasn’t too sure about building Bug, but now seeing you’ve just linked me FancyAnalytics, which does some of what I wanted to do, it’s made me realise hell yeah

wintry plinth
pastel imp
#

Eh it's not like I have anything to lose

#

so why not I guess

#

gotta get used to working with web stuff again though

#

haven't touched it in months

ocean quartz
#

You missed my other message smh

crude cloud
#

300+ messages

#

wasn't gonna NOT miss it

ocean quartz
#

Love git

crude cloud
#

also hate git

#

but love git

wintry plinth
pastel imp
#

gotta start learning vue too

#

cause I have a feeling I am gonna be the one that's gonna code my Hangar redesign if it were to happen

#

lol

wintry plinth
#

😂

brazen ether
#

web dev seems awful

ocean quartz
#

It is, don't let the propaganda distract you from the truth

wintry plinth
#

To be fair I love it, but it can be frustrating. I’ve been diving into react land and love it so far

pastel imp
#

I am not a huge fan of web dev myself tbh

pastel imp
abstract osprey
#

mmmmmm

pastel imp
#

note: paper only

abstract osprey
#

I swear triumphgui had some giant dupe or bug like a month ago

pastel imp
#

(v3 is spigot too)

pastel imp
ocean quartz
#

If you're doing something wrong sure you can have dups and bugs

crude cloud
#

never heard of any

abstract osprey
#

it was something like

#

if you use the api wrong it tries to open a gui while one is already open

#

and introduces some dupe

crude cloud
#

just don't use the api wrong :5head:

abstract osprey
#

It was a dupe with deluxcoinflip actually iirc

#

which makes use of triumphguis

wintry plinth
pastel imp
#

the only "exploit" I heard about was a crashing exploit where they froze the gui, spammed a button then unfroze it, depending on the gui it would crash

abstract osprey
#

and it was some internal code of triumph that was causing the dupe (cannot remember)

pastel imp
#

v4 added a click interval that fixes that though

abstract osprey
#

I’ve been messing around with invui recently

#

been quite fun

#

and fastinv actually

wintry plinth
#

I love invgui

abstract osprey
#

invui or invgui

ocean quartz
abstract osprey
#

I’ll read into chat logs a bit more in a second

pastel imp
prisma wave
#

what do you mean

#

theyre just text

abstract osprey
prisma wave
abstract osprey
# abstract osprey 😭😭 🤷‍♂️

Okay; turns out i was misremembering
It was a dupe with excellentcrates I was getting confused with, we were talking about triumph at the same time so I must have confused both.

ocean quartz
#

🫡

abstract osprey
#

whoops!

ocean quartz
#

Plus if some exploit or bug does come out and it doesn't get reported and instead the library is blamed for it then it's really dumb lol

abstract osprey
#

oh absolutely

#

okay I give up on coreprotect

#

I’m making my own

brazen ether
#

coreprotect has issues relating to its logs, and it's so funny because i talked to a few people and they said they reported it to coreprotect and coreprotect devs just refuse to accept it

abstract osprey
#

trust me

#

damn it

#

intelli

#

is a bastard

#

we hate each other

#

thanks automod

brazen ether
#

unsure if the devs' response is correct and maybe the server they play on is having some other stuff, but there definitely are issues with coreprotect on that server, specifically relating to people far from the server doing stuff

abstract osprey
#

his database system is utter dogshit

#

ESPECIALLY patches

#

he makes at minimum $2,800 a month and barely pushes anything

#

-# context: me counting all discord members with patreon roles and totalling the monthly income

#

it was months before any version came out publicly supported 1.21.x - that version is still the only one available, isn’t an ‘official stable release’ and is on patreon requiring you to sign up

#

and only supports 1.21-1.21.2

#

the code is one of the most awful things I have ever seen

#

Especially the command classes

#

for some reason he turns the action type strings (e.g. +item) into numerical values ???

#

and then checks that value to know what code to execute

brazen ether
#

okay i write some questionable code sometimes but that's

abstract osprey
#

like

brazen ether
#

that doesn't seem necessary at all

abstract osprey
#

Like.. I understand coreprotect has existed for over 10 years

#

but…

brazen ether
abstract osprey
#

I’ve been tempted to fork it and fix some of the underlying issues but the code is some of the worst I’ve seen - and I write very questionable code myself

#

I’d rather start again

#

coreprotect might be poorly coded, but it’s one hell of a plugin

#

especially with how long it has been around for

#

Also like

#

the coreprotect discord is

#

literally 95% community support based

#

Intelli will pop in every now and again

#

usually every other day

#

Has time to thank new patreons, make very rare fixes and publish on patreon

#

and yet no spigot or modrinth release

#

anyways, rant over!
Thanks for coming to my ted talk

pastel imp
prisma wave
#

oh then

#

it's just a database right

#

its not really any different to any other website

pastel imp
#

and if I wanna do my own, gotta know how others work

prisma wave
#

what do you mean exactly

half harness
#

click create -> create wiki

#

😌

prisma wave
#

true!

pastel imp
#

but I do not know how current wikis work internally (as a wiki owner)

#

which is something I should if I am doing this

#

I have no idea how collaboration, internationalization, reviews, etc. work in current wikis

pastel imp
forest pecan
#

I still have it hard coded in my mind to use io.github

#

Even though I know I have my own domain

#

Lmao

pastel imp
#

Has anyone ever used Supabase, Appwrite, Pocketbase or Firebase?

wind patio
#

Firebase, briefly

#

whats up

pastel imp
#

or if there were any recommendations

#

pros and cons of each and such

wind patio
#

uh, idk, firebase was quite simple

#

granted I was using it with a forked project, the initial setup was a bit confusing at first, but thats just knowing where to get your app/project ids and what not

#

the storing and retrieving is very simple tbh

var database = firebase.database();
// set
database.ref('data').set({
somekey: 'Some value'
})

// get
database.ref('data').once('value', function(snapshot) {
const data = snapshot.val();
console.log(data.somekey);
})

#

(no backticks on iphone lol)

wintry plinth
wind patio
#

idk mine is missing

wintry plinth
#

Hold down on this

#

Then select the first one

wind patio
#

oh you can select multiple lmao

wintry plinth
#
Test
#

Yeah 😂

#

Hold down on it

wind patio
#

wtf thats so odd fsr

#

never would've thought

wintry plinth
#

Lots of the characters have these alternatives, I think I only knew by mistake 😂

#

Just held down once and thought wtf

wind patio
#

#

would be nice to know if the symbol has multiple options

#

now all of the keyboard buttons look the same lol

wintry plinth
#

#

Hold down on & and you get the Minecraft character §

wind patio
#

yeah just went through all of them lmao

pastel imp
oblique heath
#

selfhosted

#

simple

#

good support

wind patio
pastel imp
oblique heath
#

supabase selfhosting is much more annoying by comparison

#

i dont know much about appwrite so cant comment on it

wind patio
#

does pocketbase have query limit?

oblique heath
#

wdym

wind patio
#

I assume not if you can self host

oblique heath
#

yeah no your hardware stack is the limit

wind patio
#

like firebase, you can only do N amount of queries/day for free tier

oblique heath
#

pocketbase is exclusively selfhosted

#

no random silly limits

wind patio
#

thats pretty nice then

#

yeah you have 50k free queries per day on firebase

#

reads*

#

and 20k writes

oblique heath
#

seems like vercel where it makes money by gutting every app as soon as it gets popular

wind patio
#

lol

oblique heath
#

not a bad business strategy though i can see how it got successful

#

pocketbase is also great because you can extend it with your own code easily

#

you can write js or go plugins

#

it truly can be your entire backend

#

there are caveats but for small projects i think its really good

pastel imp
#

I was looking at preferably (for start) cloud

oblique heath
#

cloud more like

#

plowed

#

idk

prisma wave
#

Good one

brazen ether
#

anyone with a Mac, have you tried Dwell?

prisma wave
#

no

#

but i will now that sounds cool

#

this doesnt really do anything

#

do you mean the head tracking part

brazen ether
#

not at my computer rn, cant test it

prisma wave
#

i was able to use head tracking but not eye tracking

#

not sure exactly why it says that

#

i cant imagine the hardware is capable of that

desert horizon
#

There is something that bothers me to this day, which is what set of annotations I would use to declare things as nullable, notnull, etc...
Like, what would be the right aproach here (implementation of the dependency - if any - configuring it, etc)?

prisma wave
#

implementation of the dependency
what does this mean

#

what set of annotations
theres no single right answer, jetbrains annotations are popular, the jakarta ones are also popular

#

those are the main 2, most people use jetbrains i think

#

there should be zero configuration required

agile galleon
#

What even is the point of using Jetbrains' @Nullable compared to JavaX's?

prisma wave
#

The jetbrains ones are a bit more fully featured as far as I know

#

There’s stuff like @NotNullByDefault or whatever it’s called

wind patio
#

yeah but he asked about @Nullable difference 🤓

#

but in general annotations like @NotNull from specific "providers?" (JB, Jakarta, etc) might be handled differently, some might just be compile-time or just for null-safety, showing warnings in the IDE, whereas others, like in SpringBoot, might throw exceptions if the request is being validated (at least from what I know)

desert horizon
#

Yeah, I just don't want to shade in/include annotations if avoidable

#

On another note, the MinecraftHelp util from cloud-minecraft-extras is quite nice.

prisma wave
#

but also even if you did have to, it's like 10kb max

abstract osprey
#

paper loader <3

prisma wave
#

i loaded your mother

prisma wave
#

here we go...

cerulean ibex
#

its not competing with the other standards

#

tools will just support it in addition to their own annotations

#

and all the tools are contributing to jspecify

desert horizon
#

yeah, noticed the typo too

crude cloud
forest pecan
#

personally i use checker

#

but that adds so much annotation shit

prisma wave
#

Delightful

steel heart
cerulean ibex
steel heart
#

ye true

desert horizon
#

I do like how this looks.

surreal garnet
#

Only feedback is, compared to the first one (Under the AdvancedServerList text) feels more lined up compared to the rest (ex. Profiles, Player Count)

desert horizon
#

Wdym?

desert horizon
#

@surreal garnet This better?

#

Still has some smaller differences because of the character widths and such

#

(Can be seen with Profiles and Player Count having the lines not 100% same vertically

wind patio
#

better

pastel imp
#

I don't even understand what I am looking at

wind patio
#

directory tree

pastel imp
#

ah editing configs ingame

#

oh and on a side note, might just go with supabase due to the much more extensive resources online, docs, etc. over appwrite

wind patio
#

why not base in your pocket

#

||pocketbase||

surreal garnet
#

Forgot to respond at first lmao

desert horizon
wind patio
#

could probably be made into editor

desert horizon
#

idk.

#

maybe.

pastel imp
#

(content wise)

#

and I am looking to start with cloud and potentially migrate to self hosted later on

#

not selfhost right at the start

#

and supabase (and appwrite) provide decent free plans to start the project

forest pecan
#

My dumbass wrote this 💀

unsigned long TurnoutList::maximum() const {
    int length = size();
    if (length == 0) {
        return NO_TURNOUTS;
    }
    unsigned long max = -1;
    for (int i = 0; i < length; i++) {
        unsigned long value;
        sequence.get(i, value);
        if (value > max) {
            max = value;
        }
    }
    return max;
}
potent nest
#

No warning in your IDE/from the compiler?

forest pecan
#

I dont think so 💀

potent nest
#

that's probably the worst part about it

#

like we're living in 2025 and for some languages, tooling is still stuck in 1980

crude cloud
#

clangd will certainly warn you for that

#

clion's built-in analyser probably but you can make it use clangd

#

numeric_limits::min wicked

prisma wave
#

Wait what’s wrong with it

crude cloud
#
    unsigned long max = -1;
    for (int i = 0; i < length; i++) {

will always be true

#

also out parameters are cringe

prisma wave
#

Oh yeah lmao

#

wait what

#

oh cuz unsigned

crude cloud
#

yeah

forest pecan
prisma wave
#

gay plus plus

abstract osprey
#

it's actually

#

great

desert horizon
desert horizon
steel heart
#

@prisma wave whats ur opinion on /=

#

honest opinion

prisma wave
#

neutral to positive

steel heart
#

better than != ?

prisma wave
#

arguably

#

it looks more like the mathematical symbol

#

but it also fucks with your muscle memory

#

it's better than ocaml using <> at least

steel heart
#

lol ye fairs

prisma wave
#

what do you think

steel heart
#

goated

prisma wave
#

based

steel heart
#

so will elara be using /= ? lol

prisma wave
#

probably

steel heart
#

🤩

desert horizon
prisma wave
#

awful

ocean quartz
#

I think your opinion is very =/

steel heart
#

i think prolog even went so far as to have the full =/= as a not equal operator :>

forest pecan
#

Pffft all you guys using 2 characters when I just use ≠

#

if (5 ≠ 3)

steel heart
#

feels like something a Julia programmer would cook up thocc

oblique heath
#

feels like an APL move

brazen ether
desert horizon
desert horizon
#

The \\n in this pattern isn't working for me when I provide a line like Hello\nWorld!
Printing it in console displays it as one line, so the \n isn't treated as a newline character.... Any idea what else could be the problem?

#

(<newline> works in case you're asking.)

half harness
#

two backslashes for the regex to escape the \n
and then two more backslashes for each of the first two backslashes in order for java to escape the two backslashes

desert horizon
#

That is rather stupid...... But that's java's regex handling I guess

#

This is so satisfying to look at for me....

#

And this too

#

Only thing left for me is to check that the command stuff works on proxy too

#

Actually, another thing I would like to do is find a way to change the allowed value type based on the provided option... Like when motd is selected would it be a greedy string and when it is playercount.hideplayers it would be boolean.
Not sure if that is doable via annotations tbh.... 🤔

abstract osprey
desert horizon
abstract osprey
#

oh yeah that would work

#

but uh

#

… messy

#

well

desert horizon
#

Certainly

abstract osprey
#

not ‘messy’, just.. a lot

desert horizon
#

Tho, annotations are also messy for me rn :P

abstract osprey
abstract osprey
desert horizon
#

Managed to implement per-option argument types

#

descriptor(...) returns a different ParserDescriptor<CmdSender, ?> based on the option.

distant sun
#

Cool

abstract osprey
desert horizon
#

not really. Just made that part of the command use the builder.

#

Annotations don't really have a way to achieve the same behaviour here... Unless I would go and make separate commands for each option that is.

abstract osprey
#

ah, fair enough

desert horizon
#

That lil change makes me feel proud. (The - ... + ... hover)

ionic gust
#

please help i pray please help how do i make gradle thing to obfuscate my code im so tired
trying to use proguard but it literally just say "> java.io.IOException: Please correct the above warnings first." like what 😭 there is nothing above

tasks.register<ProGuardTask>("proguard") {
    group = "build"
    description = "Runs ProGuard to obfuscate the JAR"
    configuration("proguard.pro")
    inputs.file("$buildDir/libs/EventAlertsIntegration-1.0.0.jar")
    outputs.file("$buildDir/libs/obfuscated.jar")
}
```proguard.pro: https://paste.srnyx.com/iyuzajuyeb.php (literally just copied from stackoverflow: https://stackoverflow.com/a/69275247/18122334)
**ping if reply thanks im just gonna go to bed now**
abstract osprey
#

show a screenshot of the entire IDE

desert horizon
#

Imagine obfuscating code...

ionic gust
abstract osprey
#

(After having run the pro guard task)

ionic gust
#

its very descriptive right

abstract osprey
# ionic gust

I assume there isn’t anything if you scroll up in that log screen

ionic gust
abstract osprey
#

bruh???

remote goblet
#

are you sure you dont want like.. build proguard

abstract osprey
#

It’s a defined task

#

hold on

#

‘You can find some sample build files in the examples/gradle directory of the ProGuard distribution.’

ionic gust
# abstract osprey ‘You can find some sample build files in the examples/gradle directory of the Pr...

alright im using their example config now:

tasks.register<ProGuardTask>("proguard") {
    verbose()

    val fileName = "${project.name}-${project.version}"
    injars("build/libs/${fileName}.jar")
    outjars("build/libs/${fileName}-obfuscated.jar")

    libraryjars(
        // filters must be specified first, as a map
        mapOf("jarfilter" to "!**.jar",
              "filter"    to "!module-info.class"),
        "${System.getProperty("java.home")}/jmods/java.base.jmod"
    )
}
#

but i still get the same thing Sadge

abstract osprey
#

bruh

#

I assume it compiles fine right

#

like without obfuscation

ionic gust
#

yeah gradle build works

abstract osprey
#

tf?

#

@ionic gust try launch gradle with --info

ionic gust
ionic gust
#

"there were 6568 unresolved references to classes or interfaces."

#

ok i will try 💀

abstract osprey
#

By default, the obfuscation step removes all annotations. If your application relies on annotations to function properly, you should explicitly keep them with -keepattributes *Annotation*

ionic gust
#

it will be very big

#

ye im adding all the attributes its telling me rn

abstract osprey
#

nice

ionic gust
#

i think it went over the amount of lines intellij will show

abstract osprey
#

😭😭😭😭

#

average proguard experience

ionic gust
#

hastebin doesnt like it either

abstract osprey
#

LMAO

ionic gust
#

i have never in my life seen that

abstract osprey
#

just add the keepattribute flags it tells you to and rerun

ionic gust
#
Note: there were 6 unresolved dynamic references to classes or interfaces.
      You should check if you need to specify additional program jars.
      (https://www.guardsquare.com/proguard/manual/troubleshooting#dynamicalclass)
Note: there were 26 accesses to class members by means of reflection.
      You should consider explicitly keeping the mentioned class members
      (using '-keep' or '-keepclassmembers').
      (https://www.guardsquare.com/proguard/manual/troubleshooting#dynamicalclassmember)
Warning: there were 6568 unresolved references to classes or interfaces.
         You may need to add missing library jars or update their versions.
         If your code works fine without the missing classes, you can suppress
         the warnings with '-dontwarn' options.
         (https://www.guardsquare.com/proguard/manual/troubleshooting#unresolvedclass)
Warning: there were 65 unresolved references to program class members.
         Your input classes appear to be inconsistent.
         You may need to recompile the code.
         (https://www.guardsquare.com/proguard/manual/troubleshooting#unresolvedprogramclassmember)
Warning: there were 2 unresolved references to library class members.
         You probably need to update the library versions.
         (https://www.guardsquare.com/proguard/manual/troubleshooting#unresolvedlibraryclassmember)
#

its because im shading in some libraries

abstract osprey
#

ahhh

ionic gust
#

i literally just want to obfuscate tho

#

i think its trying to minify or whatever

abstract osprey
#

ouch

ionic gust
#

ok im adding dontshrink and dontoptimize

#

ok that changed nothing

#

dude i dont understand proguard, why cant it just work???????

abstract osprey
#

don’t obfuscate

ionic gust
#

need to

abstract osprey
#

:/

ionic gust
remote goblet
#

huge developments happening

ionic gust
#

i got it to run after adding ignorewarnings 💀
but ofc that would not run

remote goblet
#

can i ask why obfuscation is neccessary actually

ionic gust
# remote goblet can i ask why obfuscation is neccessary actually

theres a lot of ppl making similar servers as us and if they could access the source code they could just rework the plugin for their own systems
i also didnt want to support 1.8.8, but someone said they would reverse engineer it to make it work on 1.8.8, which i just dont want (as theyd distribute it and if ppl experience bugs theyd most likely come to us)

ocean quartz
#

Obfuscation doesn't really stop that, just makes it harder

ionic gust
#

ikik

#

but if its harder its better

ocean quartz
#

Look how much was done with minecraft and it was obfuscated for the longest time

remote goblet
#

if you dont want your project to be used outside of your server, you shouldn't trust random people with access the jar or github

#

and any competent developer could look at anything in an obfuscated plugin and figure it out, no source code required

remote goblet
#

premium?

ionic gust
#

no FLOOSH

abstract osprey
#

tf

#

why then

ocean quartz
#

lol

ionic gust
#

because theres weird ppl in this community (that im making the plugin for) i dont want em exploiting stuff or smth 😭

remote goblet
#

like exploiting bugs and whatever?

abstract osprey
#

then don't make public plugins

#

that's the answer

ionic gust
remote goblet
#

you're better off making it a public open sourced projects so people can provide feedback and fix the issues faster i feel

ionic gust
ocean quartz
#

I mean if they find bugs in usage they'll exploit it whether the source is accessible or not

#

In fact if your source was public people could much easily report and fix exploits

remote goblet
#

github issues / pull request my beloved

ionic gust
#

ig, i closed-sourced our discord bot so that ppl couldnt just steal it and run it on their own server
so i was just using the same logic here (except im giving them the jar in this case so needed "extra protection")

#

idrk what im protecting it against ig, but i just rather not find out when its already being distributed and such

remote goblet
#

yeah but i mean its best to establish a community almost when maintaining certain projects

#

there's a quite popular premium, closed sourced, obfuscated fishing plugin that has a #1 issue where... servers have little control over it, they cant add new stuff, fix issues or anything that would make it much better and runs like a dictatorship

i prefer and encourage the very opposite of that always

abstract osprey
#

if people want to leak a plugin, they can and they will

#

whether that’s through class dumping or whatever

remote goblet
#

there's people who will leak freely accessible, open sourced plugins so lmfao

#

like mcmmo

distant sun
ionic gust
distant sun
#

I dont get it. Why are you making a public plugin and are afraid of others decompiling & using it?

ionic gust
abstract osprey
#

why would they do something bad

remote goblet
#

inb4 its literally just like a factions plugin

ionic gust
abstract osprey
#

there’s weird people everywhere

#

don’t make shit intentionally hard for everyone just because of one or two

ocean quartz
#

And hard for yourself, debugging obfuscated code is a nightmare

ionic gust
#

ok thats true

distant sun
#

Im really curious what the plugin does

#

And whats the use case, with this community and other communities wanting it

ionic gust
#

its nothing super special rn but we have more plans for stuff in the future, which is what im concerned about

ocean quartz
#

I love when I have an error on IlIlIlIlIl.java:1458

distant sun
#

I dont miss working with TokenEnchant

ionic gust
#

our discord lets ppl announce their own minecraft events and we also announce when skeppy hosts or smth
i made a bot that lets ppl do that and it has an api with websockets for like when an event is posted and stuff
we also have discord-mc linking & server cross-banning
the plugin uses this api to announce these events in the mc server its installed on (if enabled, i dont think many ppl will use this except for us, so not super worried about this)
it also bans anyone on the cross-ban list (if enabled)
can also only let ppl with linked discord account join (if enabled)

#

sent too early

#

whatever

distant sun
#

Do you use minehut by any chance?

ionic gust
#

no

#

why?

distant sun
#

Just wondering, sounds like something minehut would use

#

Anyways

#

Whats the point of this though? People advertising their own servers.

#

Just curious

ionic gust
ionic gust
distant sun
#

And back to the first question. Why are you making it a public plugin if you dont want others to use it?

ionic gust
ionic gust
distant sun
#

Can't you distribute only a small part of it, like a client that contacts a server?

ionic gust
#

well thats sorta what it is rn
the plugin connects to a few websockets (depending on what features r enabled) and makes API calls
but my worry was that someone would just change the URL of the API being used, create their own API with same schema and endpoints, then distribute that (its highly unlikely but id rather not have it happen)

distant sun
#

Anyone can replicate the functionality just by learning about it, they dont need the code.

ionic gust
#

oh right there was also the thing of requiring it to be installed for our partners (who get extra event announcing perks)
but someone was like "ill reverse engineer it so that ur API thinks its running the plugin when it really isnt"

distant sun
#

Why waste time with that instead of doing productive stuff?

ionic gust
#

because then i have to do productive stuff

#

lmao

distant sun
#

No I mean with obfuscation

prisma wave
ionic gust
ionic gust
prisma wave
#

lol

ionic gust
#

but my thought was that obfuscation must help in some way so might as well do it

#

but im not gonna do it cause its not working, lotta stuff can break, and debugging is doodoo

distant sun
#

Im sure you can check the integrity of the api request somehow. Maybe a combination of api key + ip address from where the request is coming from

ionic gust
#

cant it all be spoofed tho?

prisma wave
#

depends how much control the user has

distant sun
#

Depends how much one is trying

#

If they can change the api url, how would that do anything?

ionic gust
#

well if its open-source, they could just log the special key and set that every time no?

distant sun
#

Doesn't each user get their own key?

prisma wave
#

you shouldnt be publishing secret keys even in open source software

ocean quartz
#

It shouldn't be a constant in code either, it should be an env variable

prisma wave
#

can someone tldr what the point of this plugin is im not reading all that

distant sun
#

Some api requests it seems like

ionic gust
distant sun
#

I feel like you are overthinking this

ionic gust
#

yes i do that a lot Sadge

distant sun
#

If one uses the plugin with their own api key, isn't that enough?

prisma wave
ionic gust
remote goblet
#

registering ssh login into my plugin

distant sun
#

Lets just recap. Explain shortly how the plugin works.

prisma wave
#

please

distant sun
#

Because I feel like you want to trust the "client" a lot, while you should move more checks on the "server".

prisma wave
#

yes

#

never trust the client

#

always assume that user input can be and is evil

ionic gust
prisma wave
#

that is true

#

lots of motd plugins already lie about player count

distant sun
#

If you read it yourself and the count is spoofed, what else can you do?

ionic gust
prisma wave
#

even if the code is obfuscated

#

i can just open wireguard