#dev-general

1 messages · Page 32 of 1

crude cloud
#

you're not gonna believe this

#

I'm all out of ideas

sweet cipher
#

You’re right I don’t believe it

#

It’s probably because it’s a multi module project

#

Maybe I’m not supposed to add the maven publish plugin to all the build.gradle files

crude cloud
#

let me take a closer look

#

what does ./gradlew :projects print exactly?

sweet cipher
#

Uh well I’m not going to be on my computer for like an hour lol, I’m on my phone right now

crude cloud
#

ah okay

#

I'm suspecting it doesn't like the folder named gui but you're trying to find the project GUI, it might work fine on windows? if it does? I really don't know, i always keep everything lowercase lol

sweet cipher
#

That might be it yeah

#

It was a mess making the modules work with both IntelliJ and Gradle

crude cloud
#

I dunno, I don't really have issues lol

sweet cipher
#

For some reason it created modules in the root folder along with making the sub modules, and then wouldn’t let me delete the root modules

sweet cipher
crude cloud
#

literally pogging

static zealot
#

@cinder flare if by any chance you have time in the next 1 to 2 hours, I'd love to have that voice call.

sweet cipher
#

Idk if I did the URL wrong or something

#

I uploaded the library jars and the javadoc jars in a release

agile galleon
#

why jitpack though

#

mister we have a repository sir

#

or just use github pages

sweet cipher
#

I can use github pages for that?

agile galleon
drifting aspen
#

yo is this some kotlin javadocs?

#

it looks sick

agile galleon
#

its dokka for kotlin but you can use it for java too

#

yes it looks awesome

#

beautiful

drifting aspen
#

I'm nokotlin, but I must admit it's nice

agile galleon
#

whys that xD

drifting aspen
#

That's for a longer discussion I don't have the mood for

agile galleon
#

fair

#

you can use dokka for plain java too

drifting aspen
#

Sounds good

agile galleon
#

the logo is annyoing to change afaik so i didnt bother but you can

#

nvm

#

seems to be easy enough

drifting aspen
#

will change to nokotlin

agile galleon
#

lmao okay

drifting aspen
#

fr, I'm too lazy to set it up

#

But I starred it in case I find it out in the future

civic gate
#

anyone has a good knowledge with texture packs?

distant sun
ruby dew
long dagger
#

I am developing a documentation style website, and I am curious how they operate. Should I hard code the information into the actual website? Or should I use a json file or something similar, and then use some code to load it from the file every time the page is loaded? (I am using Next.js) I am also curious how searching works. How does the website know every line of text that quickly? Is there a copy of all the information in a searchable format? Or is it like I mentioned before where it is all stored in a seperate "content" file?

wintry plinth
long dagger
#

Not sure what you mean by OpenAPI specification

distant sun
#

OpenAPI is for rest APIs, sounds lìke you want some sort of general purpose documentation (e.g. gitbook.io)

drifting aspen
long dagger
#

I am just not sure how the actual content should work, and if it should be hard coded into each page or if it should be in a general content file, and then how the search engine should search it. Not all the information is completely static, just a small section, which is why I don't want to use a general purpose documentation app.

cinder flare
#

SSR for sure

#

Next.js is not really a very good tool for documentation lol

#

Look at like Docusaurus and similar

#

Still in React, but much more optimized for what you're trying to do

distant sun
long dagger
#

I already built my own code that is essentially what Docusaurus does for Next.js, on each page, I essentially have a DocPage component, and I provide the header, and then the content, and then it automatically does the rest.

#

Both the header and content are just a string, and use discord like markdown

#

I am too invested to switch, especially since the rest of my website is Next.js, not just this small documentation area

ocean quartz
cinder flare
#

The exorbitant amount of javascript it sends

#

hence why you get stuff like Astro and Docusaurus

#

if it's already part of a website with other stuff, then no worries

ocean quartz
#

It wouldn't be that big of a deal at all, unless you're looking into like extremely optimized stuff which .. eh
I mean sure Docusaurus will be much easier but don't see an issue with using Next

cinder flare
#

I mean it's just not the ideal tool for job

#

Sure you can hammer a nail in with a sledgehammer, but it's not ideal

#

Next.js is generally for building highly interactive websites/web apps, documentation is generally basically static

wintry plinth
#

I’m waiting for Star to mention that magical OP stack pikoh

distant sun
#

php

drifting aspen
#

As always, I personally would've used sveltekit

pastel imp
wintry plinth
wind patio
#

php > js

cinder flare
#

I will admit, Laravel is very nice

#

somehow more type safe than Django!

static zealot
#

That's RASM actually 😎

pastel imp
wintry plinth
#

Fuck the shiny tools, php is where its at (Come from someone who has desperately tried Nextjs backend wise and I gave up)

drifting aspen
#

Why's noone talking about Java backend? :(

pastel imp
drifting aspen
#

spring is bloat

#

quarkus ftw

cinder flare
#

their orm is very cool, the type hinting and dependency injection is kinda similar to Spring but better

#

class based controllers are actually quite nice, coming from Django where I just put a million separate classes for stuff

#

i've been bitten by Django's lack of type safety and stuff too many times, and honestly python is kind of mid

#

i really like squiggly bracket languages lol

#

that java influence really doing me dirty

wintry plinth
#

I believe it’s the developer experience that stands Laravel apart, after trying other stuff like Nextjs, the docs, 1st-party support etc is unmatched with Laravel.

Even down to things like, Laravel/PHP isn’t new or “shiny”, but the shiny tools like Nextjs are what frustrate developers most

sinful geyser
#

anyone know why this statement returns when im holding a diamond pickaxe?

if (!player.getInventory().getItemInMainHand().equals(Material.DIAMOND_PICKAXE))

sweet cipher
#

Your IDE should warn you about that

sinful geyser
#

oops ty xD

sweet cipher
#

Np

half harness
#

What's the library used to measure java code performance?

#

I used one before, but I cant find it online 🥲

wind patio
#

from what I've seen/heard Symfony is essentially a better (but slightly harder to use) Laravel, no?

half harness
wind patio
#

code performance?

#

try VisualVM

distant sun
#

Knowledge of programming scripting languages such as Java and Kotlin

hard dagger
#

kotlin is def a scripting language

#

and java is if you consider python as one

distant sun
hard dagger
sly sonnet
#

isn't kotlin like getting compiled?

distant sun
wind patio
#

the fuck are you on about java is a scripting language

hard dagger
#

well it depends on ur definition of scripting language

#

if ur definition depends on how u run the code, then java is just as much of a scripting language as python

#

@sly sonnet stfu

#

❤️

sly sonnet
#

?

hard dagger
#

what a scripting language means isnt exactly clear and theres like 10 definitions which arent rly used

wind patio
#

java is compiled into bytecode and runs by java vm

#

how is it a scripting language

hard dagger
#

how is it a scripting language

sly sonnet
#

ok this guy has to be trolling

hard dagger
#

im not 😭

distant sun
#

how many times have you heard a person say "let me write a quick java script to do x"

half harness
#

it isn't all being compiled then being ran

#

iirc

hard dagger
#

it is

ruby dew
#

bruh

half harness
ruby dew
#

c++ > all

hard dagger
#

why would only half of it be compiled lmao

#

well not all

wind patio
#

it depends on the implementation of python

hard dagger
#

no poo

half harness
ruby dew
#

no poo..?

half harness
#

not compiled at the beginning

hard dagger
half harness
ruby dew
#

its a compiled version of python

half harness
#

also I'd consider python a programming language

ruby dew
#

basically an assembler that turns python code into asm beforehand

hard dagger
ruby dew
#

its so cool to say

hard dagger
#

💀

half harness
#

u just distribute .py file

ruby dew
#

its a scripting language

#

syntax wise

hard dagger
#

the java command can take in .java files now

#

im not saying u should but like

wind patio
#

don't mix things up, it is compiled, but it's still technically a scripting language

hard dagger
#

it can

half harness
#

A scripting language is one that is interpreted. Python is an interpreted language. Python uses an interpreter to translate and run its code. Hence Python is a scripting language.
https://www.tutorialspoint.com/is-python-a-scripting-language

I'll let tutorialspoint handle this convo

#

🙃

ruby dew
#

it is a scripting language

wind patio
#

tutorialspoint

ruby dew
#

but it has a variation that takes in python code and transform it to asm code

#

and sb from other discord keeps arguing to me with that

#

and keeps saying that python is compiled just not with the default implementation or sth

#

but it was made to be a scripting language bottom up

hard dagger
half harness
ruby dew
#

tutorialspoint is not bad

#

learnt a lot of linux from there

hard dagger
#

and python as interpreted a java

ruby dew
#

yes

hard dagger
#

both are compiled to bytecode which is interpreted by a vm

ruby dew
#

anything other than being compiled directly as asm can be considered interpreted

#

its just that python takes interpretation to one level higher by building the syntax tree runtime

hard dagger
#

its just that normally python code is usually implicitely compiled when you run a file whereas java is usually compiled first then ran later

ruby dew
#

its still converting bytecode to machine code runtime i think

#

in a sense

hard dagger
ruby dew
wind patio
#

python is a scripting language, change my mind (you cant)

ruby dew
hard dagger
wind patio
#

hold up someone sent me linkedin connection

ruby dew
potent nest
#

but Java Bytecode is a scripting language because it's interpreted trollface

wind patio
ruby dew
#

yes its interpreted in very strict sense but not scripting

wind patio
#

misread

potent nest
#

I'm just making fun of the conversation

ruby dew
#

apologies, i have problems understanding contexts

hard dagger
wind patio
#

kotlin SCRIPT 🥴

potent nest
#

there isn't even a single clear definition what a programming language is, not sure why you try to find a definition for what a scripting language is

hard dagger
wind patio
#

i live in my own bubble

hard dagger
#

real

wind patio
#

dont burst it buddy or else

hard dagger
#

but wb for gradle

#

unless ur telling me u use maven or groovy scripts 🤮

wind patio
#

gradle > maven

ruby dew
#

is it hard to learn gradle/maven

wind patio
#

gradle no

#

maven cancer

ruby dew
#

im still stuck with traditional dependency resolution

hard dagger
#

maven is easier to learn watchu on

#

its just more verbose

wind patio
#

gradle > maven

potent nest
#

ant >>>

ruby dew
#

ok im going for maven then if its easier

hard dagger
wind patio
ruby dew
#

makefile >>>>>?

distant sun
hard dagger
#

lmao

ruby dew
#

hmm

distant sun
#

all I can say is: xml

wind patio
#

XML

distant sun
#

relatable

ruby dew
#

have to deal with xml sooner or later

wind patio
ruby dew
#

so

wind patio
ruby dew
#

am doing wpf and asp

hard dagger
ruby dew
#

most gui libraries use xml for gui design

wind patio
#

more familiar with groovy and I use in my job

distant sun
ruby dew
#

true lol

hard dagger
#

except for spock

#

but still

#

🤮

wind patio
#

yes, we use it for spock

ruby dew
#

yeah on second thought gradle

hard dagger
distant sun
#

I'm ok with groovy, only if IJ's support was better 😭

wind patio
hard dagger
#

ok thats fine ig

wind patio
hard dagger
#

cuz if ur using spock i dont see a reason you would have kotlin build scripts cuz then thats 3 languages

wind patio
#

wym I don't use kbs

#

kotlin bad

distant sun
#

linkedin jobs are so funny 🤣 junior in title but middle as experience level 🤣

hard dagger
#

ik

potent nest
#

I used groovy for advent of code last year and only found (and fixed) two bugs in the IntelliJ plugin, and one bug in the groovy compiler

distant sun
#

oh damn

half harness
#

Even android moved away from xml

wind patio
#

bayzed

wintry plinth
wind patio
#

I'm pretty sure this once was

#

but not true anymore

#

I've heard Laravel was better when Symfony was at versions 3/4, but since then it's now at v7

#

also the main difference is that Laravel is better for smaller scale projects and Symfony for larger ones

#

similarly if you'd want to spin up a quick server you'd use like nodejs and not springboot

glad stump
#

Who can help me with texture pack problems?

cinder flare
#

Like Eloquent over Doctrine, Blade over Twig, etc.

#

Laravel has a much bigger ecosystem and userbase too, so I'm curious what makes you think it's only suited for small projects?

oblique heath
#

guy finds my old commission from a github search trying to find the guy who made his death messages plugin (p.s. it wasnt me)

#

then decides that mine is obviously just as good even though it's 40 loc and i havent touched it in over 2 years since i made it

#

and wants me to either port my plugin or a different plugin he found to folia

#

for free ofc 🙂

static zealot
#

DO IT!

#

YOU MUST!

#

BECAUSE THAT PERSON ASKED

oblique heath
#

damn i guess i'll go invest a week of my life into porting this unsupported plugin to a platform with even less support

#

i'm sure this guy will leave me completely alone after i agree to do him this one favor

lunar flume
#

you should, because they asked, and didn't offer to pay anything!

oblique heath
#

the honor of working for *checks dms* sabzip is payment in itself

wintry plinth
wind patio
#

hm, maybe, yeah. I'm just speaking from what I've heard/seen, since I haven't used Laravel myself. I was also thinking of creating the shop system for my server using it, since it's not a big leap from Symfony and I'm looking forward to learn using it

#

the real main difference is one is named Symfony and other one is Laravel

#

fsr I always thought Symfony was the more used of the two, guess I was wrong lol

cinder flare
#

To be honest I always liked the name Symfony, has such a cool vibe to it yk

#

But yeah Laravel is a lot more popular lol, would recommend

pastel imp
cinder flare
#

In terms of absolute users, definitely lol

pastel imp
cinder flare
#

ah, it's kind of an unfair comparison

#

Laravel is a lot more backend focused and has native stuff for like task queues, auth, database orm, etc. included

#

it also has Inertia.js, which lets you use modern frontend code (React, Vue, Svelte) from its controllers natively, which is a super nice way to bridge the gap

#

So it's a lot better for backend-focused websites that also want to have a nice frontend, rather than something like SvelteKit which is a lot more focused on frontend stuff but it also just happens to give you an acceptable backend

wintry plinth
#

Yeah I’d defo say Laravel is more backend focused, like Nextjs is more frontend focused

wintry plinth
sinful geyser
#

So im a little lost on where to start with something. I have my plugin hooked up to an mySQL database and I wanna make a backpack since its a prison server that stores a ton of data but i need specific blocks they mine to sell for different values. Whats the best way to do that?

#

like do i wanna try and link the backpack to the sql database and store all the values since i need it to save through restarts orrrrr homu_idk

wind patio
#

what are you storing

#

items?

sinful geyser
#

ya but im almost wondering would it be better to just make like a area in the mySQL for each block

#

and have it sell each for its value

#

but also is there a way to do it without taking up to much storage if i were to have it be like an item

wind patio
#

are you storing the backpack contents or the price each item sells for

sinful geyser
#

contents

wind patio
#

on player join, fetch the data from db, store it in memory like in a map for ex.
on leave and shutdown, update the database
you will have to serialize and deserialize the items before you save/load them

wind patio
#

🥱

sinful geyser
wind patio
#

though I can already tell that it will be hell migrating current codebase, since its written with plain html and php 💀

wind patio
sinful geyser
#

mmm ok

#

thanks

pastel imp
wintry plinth
wintry plinth
#

I tried using Next.js for a full-stack app, it's cool, but the developer experience really isn't the same 😢 Going back to Laravel. Though I would happily do Laravel backend + Next.js frontend

drifting aspen
#

Like who thought declaring method as "fun" would be a great idea

cinder flare
wintry plinth
#

I am going react mainly for framer motion 🥹 (alongside DX seems beautiful compared to Vue)

cinder flare
#

That's part of the ecosystem babyyyy!

#

I still could never understand what people see in the Vue templating system

pastel imp
#

going svelte laravel if I do go tbh

cinder flare
#

Besides that it doesn't require any special syntax, so you can embed it in legal HTML a-la Alpine

#

But the whole Composition API just feels like dollar-store React to me, and the other one is just god awful class definitions Angular-style

wintry plinth
#

I love Vue from an ease standpoint, and I was always a “Vue fanboy”, but now with React v13, I like how simple stuff is (the getStaticProps etc was terrible and unappealing).

Now I’m disliking Vues magic stuff and prefer how react is

drifting aspen
#

meanwhile me who svelte with Java 💀

#

But yeah, I wouldn't go with anything else than partial server side rendering. Sending tons of JavaScript to the client just to render any meaningful content is dumb

cinder flare
cinder flare
#

If you're making an admin only SPA kind of experience, there can be a lot of benefits for just having no backend and just uploading your JS files to a CDN and never thinking twice

wintry plinth
cinder flare
#

But for the vast majority of websites, the SSR is what it's all about, fast initial load times, good SEO, etc.

cinder flare
drifting aspen
cinder flare
#

With Inertia, you'd be doing the equivalent of getServerSideProps in Laravel, and it just passes em in for ya

cinder flare
drifting aspen
#

Is it?

cinder flare
#

Oh yeah

drifting aspen
#

I'm just running a simple quarkus (java) backend service with sveltekit

#

paired with a docker compose config

cinder flare
#

Yeah sure, in light terms that's super easy

#

But when you're paying devops people hundreds of thousands of dollars a year for k8s stuff, allocating that time and expensive server resources to SSRing an admin panel is just not worth it

drifting aspen
cinder flare
#

You can just hire like 1 guy to make a SPA that connects to your Spring backend or whatever and be done

#

no server costs necessary

wintry plinth
cinder flare
wintry plinth
#

Ohh react 18! That’s the one

#

I was getting confused with versions

cinder flare
#

But again, you don't really need it with Inertia, or any other backend framework

wintry plinth
#

Yeah that’s true actually

#

No need for anything else, unless you fetch from api I guess

cinder flare
#

Even then, would be better done server-side anyways

wintry plinth
#

Good point yeah, for an app I’m planning to build, I’m prob gonna build my own separate api service that talks to 3rd parties. Then I can call that api in my main app; so I don’t clutter my app

wintry plinth
ruby dew
#

They are still using xml as I know

half harness
#

I don't think android studio lets you make an XML project now

#

tried following an xml tutorial but couldn't because of that 🥲 (yt recommended learning xml before compose)

ruby dew
#

I mean like xml layouts

half harness
#

maybe theres still some stuff left that's in xml but the majority of the stuff are in java/kotlin now

ruby dew
#

Like the resource file

#

Good part of the gui design is in the layout xml that’s what I mean

#

Didn’t mean like programming with xml or sth lol

#

Logic is still in Java/kotlin

half harness
# ruby dew Like the resource file

don't know what resources files are, I'm very new to android 🥲
But I know that android used to be like completely xml for guis/etc but switched to Jetpack Compose

#

like for ex buttons are made in java/kotlin

ruby dew
#

Maybe I’m stuck with old technology then
Didn’t hear about jet pack compose

half harness
ruby dew
#

Yeah it could be xml or drag and drop depending on the mode you want

half harness
#

i think they switched over like a year ago or smth

#

im not sure

#

oh it was 2018

#

👀

#

wait no

#

2021

#

yeah 2021 i think

#

so pretty new

#

doesn't have drag and drop and that kind of stuff unfortunately but I think theres still a lot of benefits

ruby dew
#

Looks like react lol

half harness
ruby dew
#

drag and drop is basically useless can’t do good things with it (at least to me)

half harness
#

oh 🥴

long dagger
#

I was curious why this hasn't been done yet, but is it achievable for a group of developers to take something like Minestom and flesh it out to the point of Minecraft, but implementing far better and easier systems. For example, GUIs like Triumph, and entities like Citizens (not that level of automation, but that type of easily configured). I know it would take a ton of time and effort, but wouldn't this create a API that could drastically change the current plugin making space for the better? The cool part would be being able to use both old spigot code and new code at the same time for cross compatibility

inner umbra
#

You would essentially just be copying the method names from spigot/bukkit which is what people are trying to get away from when doing this.
No one has done it because people don't really want to make a new one. They rather stay with spigot or paper because of its popularity.

hard dagger
#

theres no reason it cant support spigot/bukkit

#

i was doing smth like this a while ago (just the "better systems bit") where it had both bukkit and minestom implementations

#

minestom's api was too annoying so i havent done much since

cinder flare
#

I mean that would just be an inordinate amount of effort

#

There has never been a complete implementation besides the Notchian server, so it's likely not ever going to happen

#

Stuff like Folia, etc. is honestly huge and can solve a lot of problems

#

Then we have stuff for big and small

inner umbra
#

Only issue is folia is still based off spigot. The mult-thread is a great start but you're still limited by minecrafts code.

wind patio
#

the real questions is, where is minecraft 2

hard dagger
#

whats the point of making minestom a complete implementation tho?

#

why not just optimize vanilla like paper does

hard dagger
potent nest
#

"just optimize" isn't as easy as it sounds

#

whether something like minestom is benefitial for you depends on what you're doing

hard dagger
potent nest
#

it depends

hard dagger
#

💀

#

no it doesnt

potent nest
#

if you only want a very specific gamemode that requires like 0 vanilla mechanics, minestom will likely make things easier while being faster

hard dagger
#

duh

#

but we're not talking about a specific gamemode that requires 0 vanilla mechanics

potent nest
#

well I was

cinder flare
#

yeah I mean that's what I'm saying

#

you use Minestom for small stuff that requires little to no vanilla mechanics

#

and you use Folia for huge servers that need to scale a ton and preserve basically all the vanilla mechanics

#

and then normal Paper is pretty darn good for the middle area

half harness
#

How do ppl make resource packs that can only be opened with specific programs?
Ex with like 7zip it says the zip is corrupted

agile galleon
#

You can look at oraxens code for that

#

But that usually prevents nobody since you can open that using other programs

half harness
#

Oh it is

agile galleon
#

Yes

#

Just search for zip

half harness
#

Aha

#
                zipEntry.setCrc(bytes.length); 
                 zipEntry.setSize(new BigInteger(bytes).mod(BigInteger.valueOf(Long.MAX_VALUE)).longValue());
#

Found it

#

Ty

#

Interesting values tho

wind patio
#

canon event

#

why is it paid

wintry plinth
wind patio
#

no plugin > back to symfony

#

🫡

wintry plinth
wind patio
#

symfony is freemium or 1 euro

#

framework dealbreaker

#

IJ plugin

wintry plinth
#

Smh

wind patio
#

might give it a shot

#

though the routing is way different than symfony from what I can tell by the generated skeleton

wintry plinth
#

laravel idea has free trial!!

#

and yes web.php

#

then you add routes

#

Or you go fancy, and have folders for your api and route them, like I've got an api/v1 folder - any routes in there are auto prefixed

wind patio
#

I'm more familiar with annotation-based routing, since we use springboot in my job

#

and it's way simpler imo

wintry plinth
#

You're welcome to ask away and tag me

#

Happy to help if youi've got any laravel questions

#

I'm sure star is around sometimes too to help

wind patio
#

any ideas how to migrate this monstrocity?

wintry plinth
#

o god, no, start from scratch LOL

#

laravel new blah

wind patio
#

I guess the ole copy-paste-adjust

wintry plinth
#

Is this spanish or something

wind patio
#

though this is gonna suck ass

#

that's lithuanian

wintry plinth
#

ahhh close /s

#

You could make a lovely SPA with Laravel + Inertia

wind patio
#

that's eqvl to symfony UX I assume?

hybrid comet
#

[12:56:26 WARN]: [DeluxeMenus] Plugin DeluxeMenus v1.13.7-Release generated an exception while executing task 3877478
java.lang.IllegalAccessError: class org.openjdk.nashorn.internal.codegen.Compiler tried to access method 'org.openjdk.nashorn.internal.codegen.types.Type

anyone know how to fix

#

@ocean quartz

ocean quartz
#

No

ruby dew
long dagger
long dagger
# cinder flare and you use Folia for huge servers that need to scale a ton and preserve basical...

I was coming from the development perspective, not just the server performance perspective. Creating a Minestom complete implementation would not just fix some performance issues, but could also make the development process so much easier. Instead of having to mess around with NMS and messy Bukkit/Spigot APIs, you can have one coherent system. Like inventory GUIs are a pain in plain spigot, instead of having to rely on 3rd party libraries like Triump, you could just have it built in, streamlining the development process.

crude cloud
#

triumph is good as a "menus" api, you'd still need to code the interactions and the inventory implementation, the underlying vanilla inventory system is pretty simple for what it is intended to do

#

also it is often the case that, not only are "from scratch" servers never finished and barely past the "hey look, it can load worlds and you can have a player do a couple things", but once you actually try to be vanilla complete performance tends to be worse than not only paper but vanilla

#

minestom is good for what it's for, minimal use cases to fit specifically your minimal needs

wintry plinth
#

Vouch for triumph

lavish notch
drifting aspen
crude cloud
#

it is way more complicated than it sounds, yes

drifting aspen
#

And trying to reimplement all of the features of Minecraft is just too time consuming for the few people that try it

crude cloud
#

but very very few projects have gone past that barrier

drifting aspen
#

That's true

drifting aspen
#

On the side note, how is it possible that nukkit managed to reimplement the entire MC:PE?

crude cloud
#

can you break blocks yet

distant sun
#

no, but you can use luckperms

crude cloud
#

lmao

prisma wave
#

heheheheh

drifting aspen
#

Hey, why is image/file sending blocked here?

crude cloud
#

you're just not cool enough

#

(tier 2+)

drifting aspen
#

Harsh truth

static zealot
drifting aspen
#

:(

cinder flare
# wind patio and it's way simpler imo

I'm kinda torn because having your routes all be in one central place is really nice for finding stuff and consistency and everything, plus it's super easy to share Middleware between routes and stuff.

But also the annotation based routing is very convenient and you just put it on top of the method. Honestly, don't knock it until you try it. Django has a similar but less powerful central routing schema kinda thing, so I'm pretty happy with the improvements Laravel makes

wind patio
#

but yeah I'll try setting up laravel + react in the near future, the example thingy didnt like my current php version 🥴

cinder flare
wind patio
cinder flare
wind patio
#

hm, okay, cuz the last one didnt work lol, if this doesnt work then I dont know man

#

okay, finally it worked lol

#

I was about to ask where typescript after I created the project already 💀

cinder flare
wind patio
#

now to move all the ass code that is in plain html/php

#

skull emoji moment

wind patio
#

well, good start for today setting up the project and chatbox lol

wintry plinth
#

Can’t wait to see your thing evolve

sweet cipher
#

Any thoughts, suggestions, or critiques on my GUI and command library?
Command Example -> https://github.com/Fisher2911/FisherLib/blob/master/testplugin/src/main/java/io/github/fisher2911/testplugin/TestCommand.java
GUI Example -> https://github.com/Fisher2911/FisherLib/blob/master/testplugin/src/main/java/io/github/fisher2911/testplugin/TestPlugin.java
The command one is just meant to be something simple to help make commands faster, it's not meant to be super complicated with flags and other stuff like that.

brittle leaf
hard dagger
#

They don't

#

Nukkit is built ib java and pocketmine is in php

#

Bedrock is cpp

wind patio
wintry plinth
wind patio
cinder flare
#

override the $table attribute in the model

#
    protected $table = 'name_of_table';
wintry plinth
#

Star is such a 🐐

cinder flare
#

but yeah tailwind is great, it's like normal css but you don't need to put it in a different file and come up with new class names and stuff

wintry plinth
#

And refactors later are easier

wind patio
#

well, managed to fix the issue with the database, now to fix the difference between encodings lol

#

what does Laravel use by default? BCrypt?

cinder flare
#

yeah the Hash facade has Bcrypt and Argon2

wind patio
#

I suppose this needs to be rewritten, since it's using built-in authentication?

#

sorry for dumb questions, this do be confusing comming from a different framework lmao

cinder flare
#

no worries!

cinder flare
#

i think it's this!

wind patio
#

da ting has docs for everyting

cinder flare
#

if you scroll down to the User Provider Contract, you can implement your own with whatever stuff you want

#

and then register it with the facade and it'll use it!

cinder flare
#

ah yep, the retrieveByCredentials method is what Auth::attempt uses

#

then it does validateCredentials as a separate step to check password, which is what you want to change

wind patio
#

yeah this do be confusing

cinder flare
#

okay so you need to make a new class that is a custom UserProvider

#

it will implements Illuminate\Contracts\Auth\UserProvider

#

then you just fill out the methods that it requires

#

most of them will likely be the same/extremely simple

#

you basically just need to modify the validateCredentials(Authenticatable $user, array $credentials) method to use your hashing function

#

ah ha, you can also extend the normal one, so you only have to override it!

#
use Illuminate\Auth\EloquentUserProvider;
use Illuminate\Contracts\Auth\UserProvider as UserProviderContract;
use Illuminate\Contracts\Auth\Authenticatable;

class UserProvider extends EloquentUserProvider implements UserProviderContract
{
    public function validateCredentials(Authenticatable $user, array $credentials): bool
    {
        // Hash::check() or whatever you need
    }
}
wind patio
#

does it need to be registered via boot()?

cinder flare
#

yes!

#

as per this, it needs 3 places

#

boot(), and config/auth

wind patio
#

so, driver is what is passed to boot?

cinder flare
#

it's the first arg to Auth::provider()

wind patio
#

oh, yeah, not boot

#

provider lol

#

yeah well surely this spaghetti will work

cinder flare
#

oh weird lol

#

might be a param issue?

#
if (Hash::check('plain-text', $hashedPassword)) {
    // The passwords match...
}```
#

is the example

#

so you probs needs two args

wind patio
#

well I made this class, not sure if that's right

cinder flare
#

oh you might need to register that or something?

#

or change the name, honestly not 100% on facades just yet

#

oh!

#

you need to use the thing returned by getFacadeAccessor

#

so ShaHash::check() maybe?

wind patio
#

eh, ima just do sketchy shit first

#

then refactor lmao

cinder flare
#

well we're almost there, just need a little facade cleaning

#

@wintry plinth how register new facade? ^

#

code, for reference

wintry plinth
#
App::bind('payment', function()
{
    return new \PaymentGateway\Payment;
});
cinder flare
#

ah they don't got that on the v10.0 docs

wintry plinth
#

oh this is v5

#

LOL

#

Seems its done automatically

cinder flare
#

huh yeah I was thinking

wintry plinth
#
class Cache extends Facade
{
    /**
     * Get the registered name of the component.
     */
    protected static function getFacadeAccessor(): string
    {
        return 'cache';
    }
}

Then when you use it, it's auto resolved from container

#

thats actually really cool

#

Instead, the Cache facade extends the base Facade class and defines the method getFacadeAccessor(). This method's job is to return the name of a service container binding. When a user references any static method on the Cache facade, Laravel resolves the cache binding from the service container and runs the requested method (in this case, get) against that object.

cinder flare
#

huh yeah, pretty cool

#

not 100% on what the point of the accessor is vs. like the class name and everything

wind patio
#

well, seems to be $user->getAuthPassword() is returning null fsr

cinder flare
#

ah yeah if you messed with the User model, you need to override some shit for the Authenticatable contract

#

mostly that method!

wind patio
#

well, fuck, I was using the wrong database

#

lmao

cinder flare
#

lmaoo

wintry plinth
#

ngl its so nice to see you both using Laravel

#

Its genuinely so dank DX wise

wind patio
#

it's pretty cool but so far it's kinda pain

#

lmao

cinder flare
#

well yeah integrating a foreign user setup and password algorithm and everything is bound to be difficult in any framework lol

#

but to be honest, this has been pretty darn nice all things considered

wind patio
#

RAW PHP >>>

cinder flare
#

lmao

wind patio
#

did it with like 5 lines of code

#

thought the codebase is absolute garbonzo

#

mainly cuz it was written by another person

cinder flare
#

yeah and it's probably like secretly super insecure or something lol

wind patio
#

my code is always clean 😎

cinder flare
#

there's lots of benefits to abstraction! and having a little interface you can just implement is actually like a really nice compromise

#

makes it super easy to use anything for a user backend, not just like a database

wind patio
#

cool, it works

cinder flare
#

wow bam, that is awesome actually

wind patio
#

now gotta get back to my actual work

#

hopefully teamlead won't be mad that I was away for like 3 hours

#

lmao

cinder flare
#

you were planning for the future!

#

imagine moving to a real framework

#

now that would be cool

wind patio
#

the frontend dev in our team is working with drupal, imagine that

cinder flare
#

oh wow lol

#

are they like... also using React or something?

wind patio
#

da ting be ancient

cinder flare
#

or is the "Frontend" part like, PHP templates

wind patio
#

no react no nothing

#

just php/js/html/css

cinder flare
#

wtf lol

#

i don't even know if i'd consider that a frontend dev at that point

wind patio
#

well, yeah, i guess that's debatable

#

but he's responsible for the website itself, so what the clients see and stuff

#

so kinda frontend

#

and we do spring backend

cinder flare
#

wait you have a spring backend, then a drupal middle-end, then a raw PHP/JS frontend?

wind patio
#

don't ask me the reasons

#

I don't know why lmao

cinder flare
#

that's so wild lol, not even using drupal for its intended purpose!

#

is he amicable to using Laravel and/or does he know an actual JS frontend framework?

wind patio
#

I guess the decision was made quite a while back and it stuck since the codebase got huge

#

yeah, he knows about symfony and laravel, but migration would take ages

cinder flare
#

huh

#

tech debt moment i guess

wind patio
#

true

#

lmao

cinder flare
#

could probably do a pretty nice incremental migration

#

feature-by-feature, etc.

#

but yeah i guess until something explodes, probably not enough reason to move

wind patio
#

if there were more devs than maybe, yeah, but our sprints are pretty stacked as it is lol

cinder flare
#

bro no way anyone actually reads that

#

holy shit

wind patio
#

yeah thats just a small portion of what's actually brewing behind it lmao

cinder flare
#

oh man

#

someday maybe lol

#

or maybe you'll just have like an IBM mainframe moment and be running Drupal v1.4 or something in like 30 years

wind patio
#

actually he just finished drupal upgrade like last week or smt

#

v10 maybe idrm

cinder flare
#

oh damn

#

maybe it's not as bad as I think

#

guess that guy probably likes it lol

wind patio
#

initially he came as java dev

#

was asked about experience

#

told he had a little bit with php

#

got offered for drupal position, even though he hadn't touched it previously at all

#

since then he got from junior to mid lol

cinder flare
#

poor guy lol

#

got pigeon-holed into drupal

wind patio
#

niche framework if I say so myself

#

hard to find devs for it

cinder flare
#

yeah fr lol

wintry plinth
#

At this rate we need a #php-development channel

#

amirite

wind patio
#

PhpChat when

#

next (hopefully final) question would be, how do I pass the data from the database to the react render?

#

do I just pass it as props from Intertia::render('blah', <propszz>);?

#

or it would be better to use a request (ex. via axios) to fetch it from the backend?

#

nvm, got it kinda working

wintry plinth
#

If you want to get fancy btw

#
$thing = 'IDK';
return inertia('My/Vue', compact('thing'));

Or

$thing = 'IDK';
$idk = 'Ayo';

return inertia('My/Vue', compact('thing', 'idk'));
#

compact lets you specify a list of items, and it'll pull that variable + save it as that for the frontend

wind patio
#

cool, I guess I learned (unlikely) all that I need

#

surely I will sucessfully migrate the old codebase

#

@wintry plinth 🏓

Also, I have the this

    const messages = usePage().props.messages as ShoutboxMessage[];

    const [message, setMessage] = useState<string>('')

    const postMessage = (e : any) => {
        e.preventDefault();

        axios.post('/shoutbox', {
            message: message,
        }).then((res) => {
            console.log(res);
        }).catch((err) => {
            console.log(err);
        });
    };

I map out the messages to display them, I have a button to post the messages (calls postMessage)
The route inserts the message in the database, what would be the best way to update the messages, if possible without refreshing the page?
Or I'd need to use the request/response approach and not by params?

wintry plinth
#
const form = useForm({
  messages: []
});

// set the form.messages as needed..


// Submit it...
form.post('/shoutbox', {
  preserveScroll: true,
  preserveState: false,
  onSuccess: () => console.log('Ayy GG')
})
wind patio
#

hm, okay. well I'm doing something horribly wrong but I'll figure it out

wintry plinth
#

You can preserve the scroll, and refresh the state too

hot hull
#

Charlie still alive? 😮

wintry plinth
#

:o frosty?!? not spoke to you in ages

#

And I try not to interact much on public discords, only tend to be DMs, but the php talk here is amazing

hot hull
#

How's it going

wintry plinth
#

I've been good pal, I work at Tebex/Overwolf now, so just head down on Analyse stuff + working on the new Tebex plugins. Then evening wise just been planning a fun project

#

How about you? Then irl wise just slimming + working out

hot hull
#

Contemplating life choices

wintry plinth
#

Oh why 😂

wind patio
#

yeah I'm not sure how this works lol
It is posting now, with all the existing messages
do I need to update the form.data.messages, so insert it after pressing the button and do the post?

wintry plinth
#

So being an SPA, the form helper lets you send data and receive new data back, without a reload or scroll

#

And yes

#
function addMessage(message) {
  form.data.messages.push(message)
  form.post('/shoutbox', {
    preserveScroll: true,
    preserveState: false,
    onSuccess: () => console.log('Ayy GG')
  })
}
#

tehn in your app, you'd use form.data.messages to iterate through the list

wind patio
#

and in the route itself /shoutbox? I kinda only need the latest message, not all of them

#

plus, the id's are autogenerated

wintry plinth
#

In an ideal world you'd fetch the latest messages, then use websockets for any new ones

#

But thats prob complex rn as you're learning around laravel

#

But laravel does have "Laravel Echo" which you can use for that, I use websockets with Analyse so when a user does /analyse setup in the server, it refreshes the UI

wind patio
#

eh Ima keep the crappy approach for now

wintry plinth
#

Yeah can optimise later

#

I'd prob just fetch the last x messages tbh with the shoutbox

#

Then when a new ones added, it can remove the prev one

wind patio
#

also, is there a clean way to modify the data before passing it down to the react component?

#

cuz currently I'm just fetching it with $messages = DB::table('shoutbox')->orderBy('id', 'desc')->limit(10)->get();

#

I'm storing the IP address, so I don't want it to be passed down

#

oh ig there's select('<columns>')

wintry plinth
#

Then you can do Shoutbox::orderByDesc('id')->limit(10)->get()

wind patio
#

cool, now I cant install the required php version on ubuntu

#
E: Failed to fetch http://ppa.launchpad.net/ondrej/php/ubuntu/dists/mantic/main/binary-amd64/Packages  404  Not Found [IP: 2620:2d:4000:1::3e 80]
E: Failed to fetch http://ppa.launchpad.net/ondrej/php-qa/ubuntu/dists/mantic/main/binary-amd64/Packages  404  Not Found [IP: 2620:2d:4000:1::3e 80]

any ideas? 🥴

#

Can't install 8.1, which I'm using on windows

#

current one is 7.4.3

#

I can see that /mantic/ is missing in the provided url

humble prism
#

Why is it using Ipv6 lol

wind patio
#

tried with ipv4, same thing

#

and why, I don't know

#

fsr default

humble prism
#

?

wind patio
#

Yeh

wind patio
#

@wintry plinth 🏓

sorry for pingeroo
is there a chance you had served a laravel project via apache?

wintry plinth
# wind patio <@631572156534358047> 🏓 sorry for pingeroo is there a chance you had served a...

Feel free to ping, I don’t mind aha - if you don’t I’ll prob never see it 😂 and I havent but it’s possible. I use Nginx myself

https://www.hostinger.co.uk/tutorials/how-to-install-laravel-on-ubuntu-18-04-with-apache-and-php/

Hostinger Tutorials

How to can start using everyone's favorite PHP framework – Laravel – on Ubuntu? Here's a step-by-step guide to install Laravel on Ubuntu.

wind patio
#

yeah I have apache ssl set up, but having issues with virtual host and serving the public folder

#

istg when it comes to apache

#

I have all the issues with it

#

probably inventing new ones too

#

nvm turns out a module was missing and there were like 0 errors

wintry plinth
pastel imp
#

nginx >>>

wintry plinth
shadow wasp
wind patio
#

previous dev left a huge mess

#

also apache is currently setup with certbot for ssl, though iirc its possible with nginx too

shadow wasp
#

(caddy does this automatically)

wintry plinth
#

Maybe for my new sited I will tho as it looks beast

shadow wasp
#

I do a lot of small projects so its nice to be able to write like one or two lines and be done with all the webserver config

wintry plinth
wind patio
#

am I allowed to add 'Laravel' to my github about me now?

#

🥱

#

shitz easy asf

#

or maybe Im just a god

#

😎

drifting aspen
wintry plinth
pastel imp
#

eh took a look at the docs

#

I got lost

#

only know basics of php lol

cinder flare
#

if you know Java, it is not that big of a departure lol

#

and especially if you know another monolithic-style web framework a la Ruby on Rails, Django, etc., it should feel right at home

pastel imp
#

don't know any of those lol

#

but I do know java xD

#

welp, will figure it out later, right now, I already have too many projects lmao

#

Just managed to modify a gui from another plugin without using packets

#

so W

shadow wasp
cinder flare
#

I'm still firmly entrenched in Nginx land honestly

#

every example and guide out there uses it, idk it just makes me feel cozy

still portal
wind patio
wintry plinth
wind patio
#

added auth middleware to payment service callback, was wondering for 1.5hours what the fuck is wrong lmao

drifting aspen
still portal
drifting aspen
#

Oh, I thought you can type into the textbox after you've inserted something in the anvil

still portal
drifting aspen
#

oh

wind patio
#

@wintry plinth basically finished the code migration 🥴 this shit was painful

wintry plinth
wind patio
#

well the design is totally different comparing with how the old shop looked

#

at least the integration with payment service is working, people can topup their balanses and buy services from the shop and get them ingame

wintry plinth
#

Woah 😯

wind patio
#

all of that on top of working my full time job lmao

wintry plinth
#

I was gonna say, I’m struggling to work on a side project right now, not even started on it yet 😂 Meanwhile you’ve already been migrating your project across to Laravel this quick

#

Is your full time job dev related?

wind patio
#

current role is junior java dev

#

well I wrote 70 page (arnd 15k words, shit load of diagrams) document, 20k ish code front + back bachelors degree project while working .75, was partly a server dev, and my wife and I had a baby, so bad to help out quite a bit

#

not sure how tf I managed allat

distant sun
#

Baby

agile galleon
#

How lmao

distant sun
#

Bro had a forced reality check

drifting aspen
#

that escalated quickly

wind patio
#

gotta keep dev'in

wintry plinth
pastel imp
#

hell

#

that was a reality check for me lmao

#

my talent on procrastination is 1st class

#

meanwhile this guy already did 4x what I do in a full year lol

wind patio
remote goblet
#

i have developed a sick obsession with just

#

never using databases

#

just saving absolutely evrything in pdt

#

First chest shops now a whole claims plugin WAH

wintry plinth
#

Tbf, SQLite I think is more performant than people make it out to be

remote goblet
#

probably but

#

i just cant be bothered doing it methinks

wintry plinth
#

😂 it is a faff, what is PDT?

remote goblet
#

i meant pdc

#

im stupid

wintry plinth
#

pdc?

remote goblet
#

PersistentDataContainer, essentially saving all the data in nbt

wintry plinth
#

ahhhh, pretty clever approach

remote goblet
#

so the claims all operate within chunks

#

and all the claim data is saved within the chunk itself

#

i dont know if that makes sense

#

maybe its easier to explain it as
Chunk becomes claim -> Claim data saved in chunk -> stonks

#

claim data loaded when chunk is loaded and cached ☻

#

yaknow

#

ignoring cringe json usage

#

i have little care

wind patio
#

let me shocka ya there buckaroo

#

so you can basically store any object by the key

#

no need
X_THIS
X_THAT
X_SOMETHING_ELSE

remote goblet
#

o

#

thats helpful

wind patio
#

used that for chunk hoppers. really useful

remote goblet
#

i bet

pastel imp
remote goblet
#

take an L

#

Probably only display loaded chunks though which is fine methinks

chrome heron
remote goblet
pastel imp
#

uh is there a way to get messages being sent to console (by plugins, or whatever) and edit them? Not filter them like Console Spam Fixer, but just edit themº

oblique heath
#

possibly with a custom logger

#

idk much about them though but i have to imagine that's possible

static zealot
pastel imp
#

hmm ok ty, completely offtopic thing, should I be worried?

hard dagger
#

Cgeck the gh for an issue abt it

#

Why not use the java 11 httpclient tho

pastel imp
static zealot
hard dagger
#

Yes

pastel imp
#

hmm okay ty

#

Also, if I create an instance of a pojo from a json, assuming the pojo has 3 fields and only 2 are present, will the instance be null or only the one missing?

#

(can't test rn)

hard dagger
#

With gson?

pastel imp
hard dagger
#

Idk

#

I think the fied will just be null

solemn laurel
#

does anyone know the closest particle to redstone dust that is blue?

#

im making particle cosmetics and i want like a blue version of redstone dust, but all I can find is water related things which are very "sharp" and not "puffy", if that makes sense

inner umbra
solemn laurel
#

you can color particles

#

?

inner umbra
#

Redstone dust yeah

solemn laurel
#

this is significantly more convenient

inner umbra
#

And a few others IDK them all

solemn laurel
#

xD

#

thanks

inner umbra
#

Np

solemn laurel
#

do you know what version introduces coloring particles

#

im working with 1.8

#

oh, i found some post in 2013 so its probably possible

inner umbra
#
for(Player online : Bukkit.getOnlinePlayers()) {
    PacketPlayOutWorldParticles packet = new PacketPlayOutWorldParticles(EnumParticle.SMOKE_NORMAL, true, (float)loc.getX(), (float)loc.getY(), (float)loc.getZ(), 0, 0, 0, 0, 0);
    ((CraftPlayer) online).getHandle().playerConnection.sendPacket(packet);
}
solemn laurel
#

thank you again

inner umbra
#

Np

solemn laurel
#

i'm using a library for that but I found out how to do colors in it

half harness
#

It's

#

No nms or packets needed

inner umbra
#

Oh yeah its DustOptions now or something right?

half harness
#

I think

solemn laurel
#

trying to make blue redstone dust but it comes out magenta xD

#

do i need negative red or something

inner umbra
#

Show code

solemn laurel
#

well my code just calling some library with (0, 0, 255), but i dont trust the library so ill look more into it

#

its probably junk

solemn laurel
#

the constructor takes int

#

is not default spigot

inner umbra
#

Ah not sure then

solemn laurel
#

ill experiment a bit

solemn laurel
#

yeah so red just cant be 0, for some reason

#

so "blue" is now (1, 0, 255)

inner umbra
#

Nice

#

Should probs inform the author of the lib

solemn laurel
#

i think the issue happens outside of this lib too

#

looks like maybe a spigot thing

inner umbra
#

👍

solemn laurel
#

this game is so weird

agile galleon
flint bluff
#

how should I create a placeholder api extension to work on player and nonplayer onRequest function?

#

I want to make it work for an item

distant sun
#

@cinder flare do you recommend any react (typescript) tutorial / learning resources? D:

wind patio
#

react 😎

#

Id recommend webdevsimplified on yt, he has quite a lot react videos, if you like this way of learning

distant sun
#

I will check it out, thanks

distant sun
pastel imp
#

only discovered about DevToys now, quite useful tool

cinder flare
ornate lodge
#

how do i add the following thingshttps://imgur.com/a/Ayryosq

#

i really wanna know dm me if you can help out

brittle leaf
lime ember
#

Hi
I always used winscp and putty to access server files and the server console in the past but now I wonder if there are alternatives that are better

sly sonnet
#

how are they both bad?

lime ember
#

I dont think that they are bad.
They work fine but I just wonder if there are better alternatives

sly sonnet
#

define "better"

lime ember
#

idk
some people here surely prefer other programs. I would just like to know what other programs there are and why you should use them.

wind patio
#

Or FileZilla, for WinSCP, but not exactly better the way it handles file editing.

agile galleon
#

I love termius

#

Just not their sftp client

drifting aspen
#

I just use the CLI ssh client

#

My file manager (Dolphin) has native support for S(FTP), so I don't need to use anything else.

agile galleon
#

I forgor to transfer my keys from windows to linux so

drifting aspen
#

wait, termius saves your ssh keys on the cloud?

wind patio
#

seems like it

drifting aspen
#

That sounds like a security issue waiting to happen.

wind patio
#

well id assume they are heavily encrypted

drifting aspen
#

Hopefully

#

Anyway, still wouldn't trust it.

wind patio
#

well the keys are locked with your password

#

from what ive read

#

so its kinda on you what kind of pwd youre using

drifting aspen
wind patio
#

excuse my poor wording, yes, encrypted

agile galleon
#

I trust them

drifting aspen
#

Seems okay

#

Still don't see the benefit of GUI SSH clients

agile galleon
#

I have access everywhere

#

I can quickly check stuff on my phone

#

And i don't have to have my keys everywhere

humble prism
#

^^ + lets me have tons of servers with one click connections

#
  • has tunneling etc
drifting aspen
#

you can tunnel with CLI ssh too?

agile galleon
#

Yes but its about the convenience

#

Why take the car if you can crawl? Both gets you there

drifting aspen
#

if typing a command is inconvenient for you, fair point ig

warm vault
#

Hello! On deluxe menus I'm trying to make a basic shop with click requirements were the player needs $15,000 to purchase an item and was wondering if someone can correct it please.

#

click_requirement:
requirements:
check_one:
type: '<'
input: '%vault_eco_balance%'
output: '15000'
deny_commands:
- "[CONSOLE] eco take %player_name% 15000"
- '[close]'

    check_balance:
      type: '>='
      input: '%vault_eco_balance%'
      output: '15000'
      deny_commands:
        - "[message] &8&l[&c&l!&8&l] &#FF7C7CYou don't have enough money to purchase this item!"
        - "[message] &8&l[&c&l!&8&l] &#FF7C7CYou need &a$15,000 &#FF7C7Cbut you have &f%vault_eco_balance%&#FF7C7C."
        - '[close]'
rose wing
#

anyone knows about bungee mesagging channel?

half harness
#

Anyone know how to redirect System.out and System.err to logback?
I tried https://projects.lidalia.org.uk/sysout-over-slf4j/index.html but I get this warning and message: ```
Your logging framework class ch.qos.logback.classic.Logger should not need access to the standard println methods on the console, so you should not need to register a logging system package.
Replaced standard System.out and System.err PrintStreams with SLF4JPrintStreams

half harness
#

wdym

hard dagger
#

System.setErr lets u set the std error

half harness
#

oh
I tried that but it seems like the logger breaks completely if I set it
I don't know why
it was from stackoverflow

#

thats what i tried

hard dagger
#

Why do you need it

half harness
#

but then nothing got logged

half harness
slate elk
#

?help

compact perchBOT
#
FAQ Answer:
» Give the helpers some details
» Ask suitable questions
» Be polite
» Wait

Source

slate elk
#

why its always false

#

im confused

half harness
#

the first !

slate elk
#

nah didnt work

#

ill just ignore that i guess

half harness
#

hmmm

slate elk
#

because i think the code should work fine

half harness
#

idk i dont think u should remove it tho

#

try splitting it up

#

like into 2 if statements

slate elk
#

intelliJ iis brain dead sometimes tbh

#

but at least its way better then BlueJ

#

lol

half harness
slate elk
#
 if (!(drop instanceof Drop)) if (!(drop instanceof RandomDrop)) {
potent nest
slate elk
#

that merge too

#

wtf

slate elk
#

come explain

#

im sure that it will work

potent nest
#

You can’t just negate an object and then check if it’s instanceof something

slate elk
#

oh

#

didnt noticee that

sly sonnet
slate elk
#

not any longer

#

what a syntax error

sly sonnet
#

oh righy, mb

slate elk
#

ill blame my keyboard which requires me tab same keys 10 times