#dev-general
1 messages Β· Page 33 of 1
try doing !(drop instanceof whateverclass)
i thnk the code i startd writinigis no sense
yep I just had to add this: ```kt
val stackWalker = StackWalker.getInstance(StackWalker.Option.RETAIN_CLASS_REFERENCE)
val frame = stackWalker.walk { stream1: Stream<StackWalker.StackFrame> ->
stream1.skip(4).findFirst().orElse(null)
}
if (frame.className.contains("logback", true)) {
original.write(b)
return@write
}
idk why I spent 4 hours on this issue π
yeah
no StackOverflowErrors or anything tho π₯²
why are you walking on the stack
Hi guys i'm trying to get the proc chance of a enchant i have made, but it says that enchant.getProc() is null but im a little confused on how
public void Explosive(BlockBreakEvent e) {
EnchantsManager enchants = new EnchantsManager();
Player p = e.getPlayer();
ItemStack pickaxe = p.getInventory().getItemInMainHand();
int level = api.getNBT(pickaxe, "Explosive");
if (level>0) {
Enchants enchant = enchants.getEnchant("Explosive");
if(randomDouble(0, 100) <= enchant.getProc() * level) {
World world = e.getBlock().getWorld();
Location location = e.getBlock().getLocation();
world.createExplosion(location, 10f);
}
}
}
Thats my block break event and this is my getProc
public Double getProc() {
return this.proc;
}
public Enchants(String enchant) {
this.enchant = enchant;
this.max = 0;
this.price = 0L;
this.proc = Double.valueOf(0.0D);
this.exponent = Double.valueOf(0.0D);
this.requirement = 0;
plugin.getEnchantManager().addEnhcant(this);
}
This is the error it says:
Caused by: java.lang.NullPointerException: Cannot invoke "me.simonxz.core.api.Enchants.getProc()" because "enchant" is null
it's not the proc that is null
it's enchant
Enchants enchant = enchants.getEnchant("Explosive"); this is null
I'm unsure on how to even get the proc chance of that enchant
what
why Double instead of double
bro needs that null state yk
i havn't got a clue on where to put the null D:
After you assign this variable, before using any of its methods, you do a null check
i still don't get it can't figure out how to do the null check
i don't think thats the issue
it shouldnt be returning null in the first place
@quartz zenith what does EnchantsManager look like?
actually nvm
it's because you're creating a new EnchantsManager in the Explosive(BlockBreakEvent) method
you should use the same one that the Enchants constructor is using
package me.simonxz.core.api;
import java.util.HashMap;
import java.util.Map;
import me.simonxz.core.Main;
import org.bukkit.configuration.ConfigurationSection;
public class EnchantsManager {
private static Main plugin = (Main)Main.getPlugin(Main.class);
private Map<String, Enchants> enchants = new HashMap<>();
public Enchants getEnchant(String string) {
for (Enchants enchant : this.enchants.values()) {
if (enchant.getEnchant().equals(string))
return enchant;
}
return null;
}
public void addEnhcant(Enchants e) {
this.enchants.put(e.getEnchant(), e);
}
public void loadEnchant(String enchant) {
ConfigurationSection config = plugin.getConfig().getConfigurationSection("Enchantments.Enchantments");
Enchants b = new Enchants(enchant);
b.setMax(config.getInt(String.valueOf(enchant) + ".Max"));
b.setPrice(config.getLong(String.valueOf(enchant) + ".Price"));
b.setExponent(config.getDouble(String.valueOf(enchant) + ".Exponent"));
b.setRequirement(config.getInt(String.valueOf(enchant) + ".Requirement"));
b.setProc(Double.valueOf(Double.parseDouble(config.getString(String.valueOf(enchant) + ".Proc"))));
}
}
private static Main plugin = (Main)Main.getPlugin(Main.class); what am I looking at pls bleach my eyes
actually nvm
i already gave you your answer
that is so poorly made I want to help this guy out buy I think it's beyond helpable
i got it working
C'mon guys, we've all been there once, don't be so harsh..
Well done on getting it working so far, as some have mentioned you could replace this line of code:
private static Main plugin = (Main)Main.getPlugin(Main.class);
It's recommended against this, instead you could use dependency injection, like so..
public class EnchantsManager {
private Main plugin;
public EnchantsManager(Main plugin) {
this.plugin = plugin;
}
// Rest of code
}
Inside of your plugins onEnable method you'd do..
public void onEnable() {
// other code
new EnchantsManager(this);
}
Another pointer, it's recommended to not use Main for your plugin class, instead something like EnchantsPlugin or something like that
could definitely simplify that getEnchant method
yeah mb
In the loadEnchant(String) method you can replace all the String.valueOf(enchant) + "..."s with enchant + "..." because they're both the same. If you're using IJ you should get a warning
and the Double.valueOf(Double.parseDouble(config.getString(...))) can be replaced with config.getDouble(...) like you did for setExponent
i suggestt u to do some java home work fr dont code plugins before u are familiar with java even its beginners faults also ur code seems like it wasnt written by human
Guys guys
omg what
Let talk about dropshipping and how to make some dollars π°and again Iβm a store owner I help people that having problems with their account or store
no I dont think I will
and why is your profile picture the same as this mf @quartz zenith
I think this is one of the new default discord avatars
yeah defualt avatar
(It's way worse than the old ones IMO)
I think Wumpus was never the default avatar
The old default avatar was just the discord logo in different colored backgrounds
Clyde or smth like that π€£
hang on, I still have someone in my friends list with the old avatar
I would love to upload it here if I had the permission to do so :/
Nah, clyde is the discord bot
I don't think the avatar really had a name or smth
I think it had a name at some point but idk what it is
https://cdn.discordapp.com/avatars/992343556733800448/f7f2e9361e8a54ce6e72580ac7b967af.webp?size=80
doesn't look like an url for a default pvp
yeah this is just dumb
It may not look like that, but it is
From the post comments: https://imgur.com/a/l5dHUVx
ah I see
cool ig
a bit of offtopic but I'm watching this random TS video and I would like to say that this sum types thing is kinda cool
this sum props?
Sorry, I meant to say "sum types", I got it from a comment (although that's not the name in ts I think)
For those curious, these are called tagged unions or discriminated unions. The typescript docs mentions them. They are common in functional languages and also in most newer languages like Rust. They are from a category of types called "sum types". What we're used to in OOP languages are usually "product types"
yeah it's pretty neat
Although I prefer the OOP way xD doing the type check with a string if (response.status === "success") doesn't feel like a good structure, but I guess the status can be turned into some other type that I don't know of, like an enum.
I mean, you can literally do that in this example
he's using a sum type with string constants, so that's literally how you would use it
TS doesn't have native discriminated unions, you have to do it yourself
OH
i had it backwards
yeah TS doesn't have native instanceof checking like that, so it's kinda better to do hardcoded enum constants as the discriminator
interesting thing
but yeah in Rust and most functional languages, you can just do a little pattern matching with like match (response) { is Success -> ... ; is Failure -> ...; }
Wtf Huh
I think it's been added in JDK 21 too
π
didn't think it would drop honestly
thought they would hit me with a (Fifth Preview)
oh my god 21 is gonna be huge bro
I think it should drop next month
september yeah iirc
oh my god and generational zgc
guys... is java... good again?
The Notorious Conor McGregor
How do I make a Closure in kotlin dsl? π€
Specifically for CadixDev's gradle plugin (https://github.com/CadixDev/licenser#configuration)
license {
matching('**/ThirdPartyLibrary.java') {
header = file('THIRDPARTY-LICENSE.txt')
}
}
If I try it in kotlin, I get the error
None of the following functions can be called with the arguments supplied.
matching("text") {}
matching("text", {})
```none of these work
and if I try making a new Closure, then I get a NullPointerException from some internal (?) code
is closure some class or?
cuz all kotlin lambdas are closures
if it is a class, try doing matching('...', Closure { header = ... })
or just use spotless
its a groovy class
I'm trying to configure build.gradle.kts
that isn't working either :/
what's that?
it looks like its an abstract class so its not a sam interface so try just doing an anonymous object or whatever theyre called in kt
its a gradle plugin that supports a ton of formatters and also file headers
o
isn't that literally already in gradle kts?
no, it errors :(
does it error when you actually run it, or just in your IDE?
sometimes IJ messes up the gradle cache and thinks there are problems
IDE
try running an actual gradle command
gradle also errors βΉοΈ ```kt
matching("s") {
println("test")
}
is that in a license block?
becuase matching is most likely an extension function on the this passed in license
yea
Hey folks, looking for some guidance..
I am using the sgui library within a server-side Fabric mod, currently like so..
modImplementation("eu.pb4:sgui:0.5.0")
Now, I need to shade this in, so I'd typically do..
shadow(modImplementation("eu.pb4:sgui:0.5.0"))
However I get:
e: file:<path>/fabric/build.gradle.kts:33:12: Type mismatch: inferred type is Dependency? but Any was expected
What am I doing wrong? Using Gradle 8.2.1
hm
aw
this@license.matching("s") {
header.set(project.resources.text.fromFile("THIRDPARTY-LICENSE.txt"))
}
```tried this too
π₯² π₯²
implementation alone
shadow already automatically includes any implementations
class file for net.minecraft.class_3917 not found
weirdly doesn't work oddly
That modImplementation passes the classes through (without the obfuscated names)
according to the docs, have you tried modImplementation(include("eu.pb4:sgui:0.5.0"))?
e: file:///Users/charlie/Documents/Development/Java/Tebex/fabric/build.gradle.kts:33:23: Type mismatch: inferred type is Dependency? but Any was expected
Same silly error
Very frustrating i can't figure why π
Damn got me excited as it compiled π annoyingly it didn't shade it in, but also TIL about the !! thing
weird, the include should shade it
ill try shadow
but yeah !! is a non-null assertion
can you link sgui? never heard of it
Soon you'll be able to source dive tebex v2.0, hopefully beta testing soon
and yes
I use Triumph GUI for bukkit
π
I don't use tebex sooo
W
Can still source dive :P if you needed
honestly try modImplementation(implementation("eu.pb4:sgui:0.5.0"))
cause shadow picks up on plain implementations
ahh really, ill try this
although triumph gui gonna get a rewrite in the following 5 years and it will be paper only
just a tiny future headsup
thats fine
Gradle fml..
e: file:///Users/charlie/Documents/Development/Java/Tebex/fabric/build.gradle.kts:33:23: Type mismatch: inferred type is Dependency? but Any was expected
add another !!!
and yes, maybe. I will still use tebex checkout so
how many !! have you asked already xD
SimpleGui gui = new SimpleGui(ScreenHandlerType.GENERIC_9X3, player, false);
^
class file for net.minecraft.class_3917 not found
because technically it's right lol, it does expect non-null Dependencys
RIP
modImplementation("eu.pb4:sgui:0.5.0")
then
implementation("eu.pb4:sgui:0.5.0")
happened to me a bunch of times already
me neither
they use mixins
which in theory is cool
but too much work to learn how to use
lol
Same error, and ngl I realise using fabric how thankful I am with bukkit apis
like fabric ones are terrible
they're better in a lot of ways
Star, I have been here for a while now, you should've already known that I am lazy AF lol
you just aren't used to em lmao
and they have a lot more to do, with the whole remapping jars and stuff, Bukkit just loads its own custom jars for you
paper hard forking gonna feel like a dream
pair that with the rewrite of triumph guis
and cmds
and it's paradise
if the rewrite isn't there yet, I will just use vision lol
anyways time to go migrate more data from some wikis to my db for my bot
adios
lmao
ree this is driving me crazy
trying every combination π₯²
Type mismatch: inferred type is Dependency? but Any was expected
If I add the !! then it doesn't shade
i'm honestly not sure if you're even supposed to use shadowjar with fabric mods
maybe the include thing just does it for you?
Yeah its frustrating, same thing π
send whole build.gradle.kts
Reverted back its..
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
group = rootProject.group
version = rootProject.version
plugins {
java
id("com.github.johnrengelman.shadow")
id("fabric-loom")
}
var minecraftVersion = properties["minecraft_version"] as String
var yarnMappings = properties["yarn_mappings"] as String
var loaderVersion = properties["loader_version"] as String
var fabricVersion = properties["fabric_version"] as String
java {
toolchain.languageVersion.set(JavaLanguageVersion.of(16))
sourceCompatibility = JavaVersion.VERSION_16
targetCompatibility = JavaVersion.VERSION_16
}
dependencies {
shadow(project(":sdk"))
shadow("it.unimi.dsi:fastutil:8.5.6")
shadow("com.github.cryptomorin:XSeries:9.3.1") {
isTransitive = false
}
minecraft("com.mojang:minecraft:${minecraftVersion}")
mappings("net.fabricmc:yarn:${yarnMappings}:v2")
modImplementation("eu.pb4:sgui:0.5.0")
modImplementation("net.fabricmc:fabric-loader:${loaderVersion}")
modImplementation("net.fabricmc.fabric-api:fabric-api:${fabricVersion}")
compileOnly("dev.dejvokep:boosted-yaml:1.3")
}
tasks.named("shadowJar", ShadowJar::class.java) {
configurations = listOf(project.configurations.shadow.get())
relocate("it.unimi", "io.tebex.plugin.libs.fastutil")
relocate("okhttp3", "io.tebex.plugin.libs.okhttp3")
relocate("okio", "io.tebex.plugin.libs.okio")
relocate("dev.dejvokep.boostedyaml", "io.tebex.plugin.libs.boostedyaml")
relocate("org.jetbrains.annotations", "io.tebex.plugin.libs.jetbrains")
relocate("kotlin", "io.tebex.plugin.libs.kotlin")
relocate("com.github.benmanes.caffeine", "io.tebex.plugin.libs.caffeine")
relocate("eu.pb4.sgui", "io.tebex.plugin.libs.sgui")
minimize()
archiveFileName.set("${project.name}-${project.version}-shadow.jar")
finalizedBy("remapJar")
}
tasks.remapJar {
dependsOn("shadowJar")
val shadowJar = tasks.shadowJar.get()
inputFile.set(shadowJar.archiveFile)
archiveFileName.set("tebex-${project.name}-${project.version}.jar")
archiveClassifier.set(shadowJar.archiveClassifier)
delete(shadowJar.archiveFile)
}
(Multi-module project)
yall like data or what
oh wow that is a lot more than i thought it would be
uh, maybe try getting rid of minimize?
ye sure lemme try
ooh and try shadow("eu.pb4:sgui:0.5.0")
Beneath modImple ?
yea
speaking of minimize problems
how do obfuscators ensure that reflection stuff is also obfuscated correctly?
π€
they likely don't
So weiredly if I do..
modImplementation("eu.pb4:sgui:0.5.0")
shadow("eu.pb4:sgui:0.5.0")
I get:
Caused by: net.fabricmc.loader.api.LanguageAdapterException: Class io.tebex.plugin.TebexPlugin cannot be cast to net.fabricmc.api.DedicatedServerModInitializer!
I wonder if now this means the mod is having a conflict somewhere
Seems it shaded
ah, progress!
GOT IT
modImplementation("eu.pb4:sgui:0.5.0")
shadow("eu.pb4:sgui:0.5.0") {
isTransitive = false
}
isTransitive fixed it
ty star <3 got a github donate page?
haha, no worries brother
just pass it on, next time i'm confused by something in laravel or something lmao
π always a DM away you know that, happy to help
Recently persuaded someone else into Laravel too
sheesh, the adoption rate has gone up exponentially!
Laravel users went from 1 -> 3/4

Planning to rebuild the Analyse dash this quarter, brand new Laravel app hehe
I wish I could go react, I'm sure work wouldn't approve π
my new personal project is laravel+react tho :D
oh? Tebex big into the Vue lifestyle?
Yeah entire tebex is Laravel Vue
oh huh, the more you know
maybe you can rewrite that too π
surely good for the old job security!
Our team has gotten so big now π nearly 30 of us at tebex
There was 10 of us last year
The Analyse dash rebuild I am looking forwArd to, new APIs, etc
How you been getting on with your Laravel project Star?
If Charlie does a 1h+ crash course/intro of laravel, I might look into it xD
you ever used Django or Ruby on Rails or anything?
Me? No
Actually just finally got started on it, setting up auth with Discord Socialite as we speak
I loveee socialite
ah no not you, Afonso, since knowledge from those frameworks transfers really well to Laravel
Maybe Iβd build an example repo to show you :P
And ahhh that makes sense yeah
no and no π
class DiscordLoginController extends Controller
{
public function redirect(): RedirectResponse
{
return Socialite::driver('discord')
->scopes(['email', 'guilds.members.read'])
->redirect();
}
public function callback(): RedirectResponse|JsonResponse
{
$discordUser = Socialite::driver('discord')->user();
return response()->json($discordUser);
}
}
look at that
Discord OAuth in like literally 15 lines
that's actually
nice...
hmm
will see
I have to finish projects lol
too many rn
but might use laravel for the dashboard of my discord bot
although, it legit has no settings so no need for that lol
hmm
gonna do a wiki type website with laravel
web version of my bot lol
Laravel developer experience is beautiful tbh
I mean, I am used to svelte nowadays
but.... I kinda hate js lol
so might do svelte frontend and laravel backend
ah, just you wait!
now, a more important question/topic, what shall I cook for lunch? π€
Laravel also has this package called Inertia, which lets you get all the nice backend benefits of Laravel with a JS frontend super easily
you literally just call a render function in your views as normal, and it does everything else
so you can have a Laravel/Svelte combo app like super, super easy
So sexy
Funny because Iβm doing a talk on Friday showing inertia to the devs in team
I wonder how it works, like with svelte and sveltekit, you can run stuff in the backend or server, and you can just import those things and display them easily
so it wouldn't be with SvelteKit, it's just Svelte
but basically you pass props in from Laravel and then you get them in a Svelte component
and it has a bunch of stuff for like links and forms and stuff that tie it all together really nicely
Inertia.js lets you quickly build modern single-page React, Vue and Svelte apps using classic server-side routing and controllers.
quite interesting
will check it later, will probably watch a crash course or smt
just to know the basics
also kinda need a rework on my php
a bit rusty lol
(even though I did php this year at school, but it was basics of basics)
Defo think without Inertia, I'd prob not be using Laravel as a mono-repo
Socialite::driver('discord') ig this is some factory pattern ///// dependency injection? (like @Inject DiscordDriver driver;)
The talk I'm doing on Friday will be showing the team how nice it is to pass props across from Laravel backend to Inertia frontend
it's what they call a Facade
basically a static interface that does dependency injection for you, yeah
cool
they have a ton of em, like Auth::attempt($username, $password) which will attempt to log in a user
okay that's pretty funny
hahaha
ig php's structure is not as robust as java's? Like, in java you would do smth like Socialite.driver(DriverType.class) so it knows to return a DriverType
oh no it gives you type inference
it's actually surprisingly good at types and stuff
More facades, https://twitter.com/taylorotwell/status/1641433847454916612?s=20 so beautiful
like, leagues better than Django in Python
ah cool
quite random, but a client just sent me this and I found it a bit funny
though in this case, it's actually just an interface, so it gives you a supertype
polymorphism, etc. etc.
like how you'd return a DataStorageProvider or something and then have ones for like file storage, postgres, mysql, etc.
ohhhh so all drivers have scopes() and stuff, I see
yeah
I thought that's smth specific to the discord one, thats why I said it is not as robust as java's, I thought it knows that the string "discord" is for DiscordDriver
makes more sense haha
yeah it's pretty nice
i like the dynamicism that it gives, without the crazy reflection and stuff of Spring
I'm trying to reference one of my APIs stored locally on my pc from a maven project in eclipse. It has previously worked fine but now I just get a bunch of errors in my console saying: /C:/Users/<Name>/eclipse-workspace/Vip5/src/main/java/com/sniskus/vip/core/CommandManager.java:[15,30] package com.sniskus.score.util does not exist when I compile it. Why does this happen, it works fine in while editing the code in the IDE? I don't remember changing anything but haven't touched eclipse for a few months.
WhΓ©re did $orders come from? He defined the variable as $order
typo prob, $order it would be
Yeah
Beautiful syntax tho
Well Laravel seems pretty cool
Although I'm not quite fond of learning a new language xd
Those new to Laravel who want to experience the magic, check out https://bootcamp.laravel.com/introduction :)
Walks you through Laravel and building an example app, free of course
Should I use the templating engine or Vue/React?
It's all preference, I'd personally say go with Vue as a beginner, as you can use Vue for more things
The templating engine is very basic I find, can't really do much real-world wise
Is that still SSR?
Feel free to @ me or mention in replies, happy to help if you're stuck. And it is when you enable it yes
It's not by default but its an option
it really depends on what you're building
if you're making a mostly static site, like for a main page or something without a ton of functionality, you can definitely get away with just blade templates
the website i had been working on for like 1.5 years now is all just Django templates
but now i've moved to a point where I could really benefit from having a discrete frontend framework, so I'm moving to Laravel/React with SSR
but like, if you're making an admin panel or something, honestly it might just be better to not SSR
Does anyone have a Java websocket server library that they would recommend? Preferably one that supports features things like pinging, etc?
I couldn't find any nice ones online :((((, but I haven't used any of them yet so I'm wondering if anyone has, and has experience
If only ktor could be used in Java π₯Ί
Springboot?
I've used javalin a bit and I really liked it, looks like it has websockets support https://javalin.io/tutorials/websocket-example
Oh I completely forgot about spring π₯², maybe I'll look into it but I heard spring was huge
Hm, haven't heard of javalin before, will look into it π
spring for websockets is like using a nuke to deal with a fly
i don't see the problem with that
I would rather kill every fly on earth
than one at a time
I hate flies
lmao true
o wow
MAYBE now you won't get kicked out that fast if it takes a bit longer to apply the texture xD
multi version support is also pog
I wonder what that means
They also added a whole new protocol stage for so called βdata driven contentβ in the future
perhaps smth like merging a pack for 1.12 and 1.13 together and the game knows which one to use?
With a mention of custom packets, but Iβm not sure what that means and if that already existed
yup cool stuff
Overlay resource packs too, which are essentially toggleable resource packs inside of the main pack
I hope it is smth cool at least 
I have a feeling that they want to add more cosmetic stuff and sooner or later we will have a marketplace for java too xD
Praying theyβll give us the bedrock content systems
There is one thing that I would like to have from bedrock, namely 3d armour
Native custom mobs and blocks would be awesome too but theyβve already given us display entities
you can specify which versions are supported by the pack
Bedrock ui system would be crazy
like 16, [16,17], {"min_inclusive": 16, "max_inclusive": 17}
good points combi
Where did you read this
latest snapshot patch notes
Are there any JDA alternatives (java based) that are modular? I don't want audio or everything all in one. I just need adding/removing roles and sending direct messages.
Just use a normal http client
D4j better anyway
d4j my beloved
Yeah prob http client
you can use jda without audio, gotta exclude opus or smt
look in the wiki
Dude, https://github.com/Discord4J/Discord4J is SOO NICE, they use a reactive API that integrates flawlessly with Kotlin Coroutines, wow
Just add these two dependencies and BOOM, fully integrated, amazing
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-reactor:1.7.3")
implementation("io.projectreactor.kotlin:reactor-kotlin-extensions:1.2.2")
I never created a discord bot before (surprisingly, as everyone here seems to have done that already), but if I ever create one in the future, I will definitely use that API, thanks for sharing this tip Emily and Sparky
Reactive streams >>>
It is
wait there is one and the only one wanderingpalace that makes super cool c++ AOT compilers, standalone minecraft servers, nms decoders, ?
Itβs a cool concept but limits the blocks to 8x8 textures instead of the standard 16x16 resolution
true
I'd assume this would be better for decoration purposes, like people do custom skin heads, not for actual full builds.
Wouldnβt it be possible to use 8 display entities with 8 player heads and a 16x16 texture split over those 8 head textures for a full block
display entities don't take less resources than armor stands no?
also, anyone here dealt with item "glow" (item appearing to be enchanted)? specifically in 1.19.4.
I'm using TriumphGUI and neither manually applying, neither using ItemBuilder#glow doesn't apply the enchanted tint.
are you using lunar client by any chance?
its enchantment glint is broken
support/staff doesn't give a damn
no, fabric with mods
are you trying to make a head glow by any chance?
a tool
might try checking if it displays without mods, maybe something is interfering
works for me...
Shaded it's still 8mb or something like that.
yeah JDA itself is pretty big
^^
though I don't really care about the size lol, still using it regardless
Discords api is basically just a rest api right? Might just make something for simple requests.
π
libraries: in plugin.yml 
Not everything tho
But the stuff you want probably is
websockets aren't REST
but not everything is ws in discord
the rest bits are rest yes, but the bits that aren't aren't
you're welcome
what
skill issue
Yeah
skull emoji
ye but they said technically, yes so just wanted to add that
Β―_(γ)_/Β―
can you use the correct pronouns please
they are clearly written under my name when you click on my profile
inb4 you get banned for abusing the pronouns feature
I'd set mine, but they're broken /s
surely
javascript issues
they need me to come fix it
anyone have buy and sell prices for shopgui i could use
@wintry plinth Unsure if you know about this but... https://nativephp.com/
ngl interesting
Yeah I saw them as they was building it, itβs cool asf right?!
yeah, might eventually use it
Will be dope for building useful desktop apps or menu bar ones
I kinda like webdev, like, in the middle, like and dislike at the same time lmao
but job opportunities in webdev suck
you don't get paid that much compared to other sectors
What salaries in web dev do you not find much?
in my country there are literally only web dev positions available
if ur lucky you can find senior dev position
in luxembourg (where I live), non web dev salaries are like 30k higher
lmao
at least from what I have spoken to several people in the work world
IT Teachers get more than web devs
lol
Interesting, I find the salaries here are suitable tbh
welp, tbf, country has the highest pay for teachers in europe (maybe world?)
okay yeah, world.
does anyone know a documentation software similar to docusaurus that has client side rendering as well? I've played with docusaurus a bit and it is pretty nice, but it is (probably like most documentation stuff) static, although with some BrowserOnly react component provided by them you can have dynamic stuff.
what I want to render is some math exercises, with a latex library for the formula and the an input or more for the result. The exercises will be random every time you open/refresh the page (loaded from a file)
The 3rd image is a bit disturbing ngl xD
I thought you can do that with wiki.js
@glass vine this available to the public?
I have a question about apis
i wanna make a website that has a login when the player logs in the website their minecraft inventory shows up on the website
issue is in the database i encryt the items so how wuold i do it
oh wait sorry their is another channel
Totally random question
Is it possible to put items/pictures into Minecraft books in vanilla/spigot?
Say a player opens a book and can see a Diamond sword with writing next to it in a book. Possible?
idk doesn't look like
has anyone used this https://mantine.dev/ ? Looks pretty cool
according to github at least 1 person has
and according to npm at least 265 people have
funny
i havent
i used MUI
pretty good too
I need some help so basically there are some crates setup using excellent crates with a hologram above them and on a line it includes the placeholder to show how much keys a player has however it is taking like 10 seconds to update is their any way to fix it
How do people work with all these CSS libraries like tailwind? The random class names - which ig at some point makes sense, but not for a beginner - are killing me every time I see a good looking component but it consist of 5 other components, each with at least 4 css classes π
tailwind is easy to understand if you know css
lol
yeah as I've said I probably need to spend more time on css xD
yeah it's literally just more terse names for css properties lol
Yeah I think once you know CSS, even at a basic level, the utility classes are near enough a 1:1 of the css versions
super easy and nice to use, plus you get a teeny tiny bundle size
I much prefer Tailwind and would never go back to anything else, so nice when I can look at markup and know exactly what its doing
And yeah defo, bundle size is beautiful

You get used to them
I can't imagine doing responsive design without tailwind
Yeah I wasn't saying anything about its usefulness
Since ChatGPT, I am dreaming about some AI that is able to convert code between programming languages without (many) errors, I mean, imagine converting entire programs in a blink of an eye? I would love to do that with some open-source projects that I've seen out there
Minecraft server -> Go
What do you mean? Oh, you mean converting Minecraft Server to Go? That would be very interesting indeed... I would love to compare the performance and see the gains/losses. π€
i wanna see it the regular server but compiled with graal native image
u could prob do a host that spins up the servers lazily with it
cuz graal could reduce start up time by a ton
and from looking a mache the only reflection i can see looks like gson
i mean theres a few other bits but theyre easy to remove or just add to the config
i mean, the vast majority of startup time is dedicated to loading the worlds and loading the plugins
both of which aren't really helped with graal or anything
Copilot thingy can convert code snippets (not entire programs tho)
Not regular copilot
It's like copilot preview or smth
I'll pay a buck for somebody to throw the whole mc server in there
Made by none other than Sxtanna
How much of the world loading is doing io tho?
And loading plugins won't be an issue (cuz u cant do em)
Well not jvm plugins at least
potentially a lot since world rules are very fragmented
that reminds me of https://byteskript.org/
ByteSkript Home
actually, they added support to use it in like, html
similar to php
that's interesting
mf talking like he invented the word 'syntax' in programming
it's not like javascript is basically the same thing π
takes couple of braincells to understand that
let x = 5is the same as set x to 5
yo one of my scripts dont work?
var usage = args[0]
function getTime(seconds) {
var result = "";
minutes = seconds / 60;
hours = minutes / 60;
days = hours / 24;
minutes %= 60;
var hs = "h ";
var h = "h ";
var ms = "m";
var m = "m";
if (usage == "command") {
hs = " hours ";
h = " hour ";
ms = " minutes"
m = " minute"
}
if (hours > 1) {
result += hours.toFixed() + hs;
}
else if (hours == 1) {
result += hours.toFixed() + h;
}
if (minutes > 1) {
result += minutes.toFixed() + ms;
}
else if (minutes == 1) {
result += minutes.toFixed() + m;
}
return result;
}
getTime(seconds);```
idk, shouldn't you return getTime(seconds)?
and wrong channel buckaroo #development / #placeholder-api idk
not sure :/
I had someone make this for me real quick and it did work
but now not?
also please @ me
Check the formatter expansion
just did it
still nothing
come to think if it
none of them work
my expansions
idk why tho
I havent touched it
only updated papi etc
Still no idea :/
You have 2 versions of the Javascript expansion installed
see Expansion-javascript.jar and Javascript-Expansion-QJS.jar
oh dam yeahj
which one do I need?
Just downloaded Javascript-Expansion-2.1.2
so I guess the old one?
IDK. I'd just recommend uninstalling both and reinstalling using /papi ecloud download
to get the latest
/papi reload before redownloading
not evene there
nothing on the list either
got it to work
removing both and manually downloading Javascript-Expansion-2.1.2 fixed it
How in the jesus is that expansion not verified
eh..
Long story
Tell me
RCE if I remember correctly. And people wouldn't fix it themselves when it was written how to.
π€· was fixed by negating perms though
someone had the great idea to make a command like /jsexpansion parse <js code here> and well .. π€£ I think this was an issue mostly on servers where people didn't setup their permissions right
uhm anyone has ever used https://github.com/appnexus/grafana-api-java-client ? I am a bit confused on the simple example, does it host the dashboard or do I connect to an already hosted dashboard?!
'client' - you are just interacting with a dashboard hosted somewhere
well, isnt it their own fault?
owell
uh- okay
I have never worked with grafana so yeah just trying to figure it out
if too much hassle, will go with an alternative
what are you trying to do with this?
log statistics of my discord bot (total guilds, users, etc)
you wouldn't use grafana to input data, you use it to visualize!
if you just wanna store data, prometheus is the best for metrics, and i think it has a thing you can do so that you can webhook log events to it
yeah you can use pushgateway
Ahhh that makes a lot more sense
or actually, you could probably just do a prometheus exporter for your bot
since total guilds/users and stuff is a constant, not event based
I mean, I also want to track which commands are most used, etc.
I could also use the prometheus java client
xD
well the point of prometheus is that it scrapes your data
so you expose a web api in a standardized format and then it scrapes it every like 10s or whatever
so you could just track amount of usages in the last minute or whatever
so count usage, once it gets scrapped, reset it, and loop?
could do yeah
honestly not 100% on that, kinda new to metrics stuff, just use it for my minecraft network
yeah same here, but would love to have them
I wouldn't do prometheus
why not?
Afaik it's for scraping endpoints that don't natively support stuff like that but not sure
well what alternative do you suggest
?
?????
Idk
hell I found an ultra pog dashboard and setup for discord bots
but it's for python
legit no idea how I would convert it to java
lmao
π
it is basically the way to do metrics of any kind lol
Grafana doesn't store metrics/data, it just visualizes it
hey idk how much yall know about databases but im in a little bit of a stick. Im using phpmyadmin mysql server which works perfectly using localhost but when for example i try to connect to it from server ran from a host it wont connect. Idk if i have the wrong host Isnt it just ment to be the ip in which it is ran off? i know i have the right port etc... anyone know why i cant connnect to it?
i dont think you can connect from another ip to your localhost server, might be wrong
but you should test using an external database (prob something about ports opened)
@cinder flare oi π
I have a quick question regarding prometheus and unified-metrics
so in the driver config
mode: "HTTP"
http:
host: "0.0.0.0"
port: 9100
authentication:
scheme: "NONE"
username: "username"
password: "password"
pushGateway:
job: "unifiedmetrics"
url: "http://pushgateway:9090"
authentication:
scheme: "NONE"
username: "username"
password: "password"
interval: 10
what's the first port and the pushGateway url/port for?
plus, does prometheus need any additional setting up?
well, I think I got it lol
The http section is for normal stuff, ignore the push gateway for now. Basically you host a little web server that has a page with all your metrics, so you need to give it a port so that prometheus can access it
yeah figured it out lol
prometheus setup was prob the longest
also, where is the data stored and how heavy does it get?
figured out how to create custom data, added server total balance tracking, was thinking what else would be interesting to track lol
yeah it has an internal timeseries db
unique players?
uniquemetrics setup is pretty cool as it is but I still find Plan more useful as it tracks data for each player, their activity, etc
unified*
anyone know of a plugin that can reduce all players balances by a certain amount
i mean yeah they're different tools
Plan is player analytics
UnifiedMetrics is metrics
helps you keep server stuff going, it doesn't help you figure out where users are coming from or anything like that
Analyse >>
stunning and brave
currently doing my first attempts at packet only blocks so a can clump all mines in one location without them being visible to other players
enjoy the pain
You should use PacketEvents
im actually trying it out with protocollib first
id assume theres a difference
ill look into it
mfw Player.sendBlockChanges
How would you detect player's breaking those blocks without packets though?
that be the issue kekw
its why im using protocollib in the first place
since im somewhat comfortable sending packets already
its the intercepting and modifying that im not so comfortable with
autocorrect π
yeah, true, was hoping to replace Plan with grafana, but ig I'll keep both
well, I might look into it, someday β’οΈ
plan >>
ive heard both positive and negative stuff abt plan, but I feel pretty comfortable using it, thats why I chose to go w it
plan is good. only thing is you have to set it up yourself.
Honestly, if it works and serves your purpose then I understand. Is your MC server live? What game mode(s)?
been headdesking trying to get these packets to send, turns out im a stupid and forgot to convert the coordinates back from their section relative coordinate
Ohh dope, good luck with launch :)
well, gotta hope it turns out well
considering how much time and effort was put into the making
I was previously a dev for the most popular server in my country and I didnt bother doing the stuff I currently did for my own server, like setting up metrics, grafana, prometheus, making entire e-shop from scratch, a huge main/core server plugin with shit load of features, custom/extra fishing/mob/mining drops, enchants, daily, weekly, monthly server/database backups on another server, and a lot more but tired to type everything out lol
a bunch more to do for the future but the foundation is pretty well set-up
Damn you gone all custom?
gone crazy
not everything is custom, I suppose its nothing really unordinary, just a lot of vanilla enchancements with economy ig
Itβs all about the community, if you can build a nice one then thatβs all that matters
yeah, well, the previous server had a shitty community to say the least, mostly kids and sometimes a few older ones, but not exacty very wise
at least from what I know this server had a pretty mature community
setting up the prometheus and grafana for my discord bot
hopefully will be soon in the following hour or so
Get trained by a professional FAANG-level interviewer. Get 10% off Exponent today! https://joma.tech/interview
πΌ Interviewing for jobs now? Get access to interview question database, courses, coaching, and peer community today:https://www.tryexponent.com/?ref=joma
Music by Joy Ngiaw:
https://www.instagram.com/joyngiaw/
Edited by Matt Cho:
ht...
So true
I had a really shitty server, plain vanilla and in season 2 it was so much better but still nothing special, and it closed in 2021. I had such an awesome bond with the community.
I lost money running it but to this day I get DMs to bring it back xD
this is supposed to be a stone cube kekw
i dont think this is a protocollib issue
cus im not even using protocollib to send the packets
i know ive fucked something up while doing the calculations
the x coord is right, its the y and z that arent
trying to put all prison player mines in the same location and not have anyone see anyone elses mines
Uhh why
to make performance better and to reduce file size
or something
idk
why not, even if it never makes it to production why not try to see what i can make
wayyy i fixed it
Before
blockPosX & 15) << 8 | (blockPosY & 15) << 4 | blockPosZ & 15
After
blockPosX & 15) << 8 | (blockPosZ & 15) << 4 | blockPosY & 15
if you're wondering what it does, it converts a block position to a relative position in a chunk section and then into an integer
i mixed around the y and z values causing the funky behaviour
i copied and pasted it from the sectionRelativePos method in SectionPos and while troubleshooting i changed the variables used and ended up mixing them up
... can't you just do blockX << 16 not at PC so I can't check the code I used.
anyone know how to change attack damage on weapons?
specifically the bow
i know i can spawn in unique stat-edited items but i need to the change the stats of all bows globally and permanently
AttributeModifer
And listen to the on player shoot event
Hm no then you would need to give them back the new item
I wonder how quickly that would happen
run it on oracle /shrug/
also mc hosting isnt really about making money (atleast imo), its very few servers that actually make/get costs back tbf
Blud missed the entire point
they werent asking about getting it running again, they were just sharing an experience
i mean if he wants to host it again for the ones who ask in the future
Β―_(γ)_/Β―
I wanted to say that having a nice community is mostly all that matters
yo did you guys see https://idx.dev/
Another project Google can kill in a few years?
any dev here avail? im hiring a dev for my server
minecraft
just dm me if ur interested 
@obtuse gale #1135819519303098429
surely he will not post on #1135819518111907900 instead
Hello
I put my server in 1.16.5 and when I launch it writes : Unsupported Java detected (61.0). Only up to Java 16 is supported. someone knows the source of the crash please . Thank you in advance
too new java
https://youtu.be/QwUPs5N9I6I l m a o
Recorded live on twitch, GET IN
https://twitch.tv/ThePrimeagen
MY MAIN YT CHANNEL: Has well edited engineering videos
https://youtube.com/ThePrimeagen
Discord
https://discord.gg/ThePrimeagen
Have something for me to read or react to?: https://www.reddit.com/r/ThePrimeagenReact/
I am back in business.
Who do ppl like static abuse so much?
depends what you call static abuse
if it's your main class, which is, effectively a singleton, setting a static main class instance variable is not, imo, static abuse
Just laziness
Misunderstanding of the concept behind static
you need to run the 1.16.5 server using either java 8 or java 11, so install either and change your start up script to use that java
either by changing the java to your/java11/location/java.exe or change your enviroment variable for java home to the new java location
miusderstanding OOP*
not mutually exclusive statements
I think the main reason is that it always answers the question of "how do I access something from another class?" which is a question a lot of beginners ask
I would disagree. Using a "singleton" like that is poor design, and in most implementations of it, it breaks encapsulation by possibly returning null (an invalid state).
I also don't think what you're referring to can even be considered the singleton pattern
The singleton is also a creational design pattern, not a way to provide static access to some instance. Given that, there is no need for it at all since the plugin instance should be passed in by referencing this, not getInstance().
singletons don't even need to be static, they are not synonymous lol
but, y'know, "i'm too lazy to di", use a di framework and it'll do 99% of the work for you, excuse for being lazy
The best way is to make all variables in a class static and then you can just make a new object every time you want to access them
exactly
^^^^
any recommendations on DI frameworks?
ill list a few for u and what they do
- spring - not so lightweight but its the standard
- guice - requires a descent amount of boilerplate and afaik integration testing against it requires some boilerplate
- dagger - if youre running on a toaster use it, or, just don't do di
- micronaut - lots of features but doesnt work if the plugin jar has a space in it and hard to debug cuz it generates bytecode but supports graal
- avaje-inject - everything is checked at compile-time and its pretty lightweight. only downside beans are initialized eagerly so u need to set up all beans for tests even if u dont use them
- quarkus - no reflection afaik, implements cdi, easy to debug, supports graal
they all implement the jakarta inject api so if u dont like one u can easily switch to a diff one
I mean I wouldn't use spring or micronaut for the di, but if you're making a project already using either then that's what you should use lol
dagger is neat
i aint writing
@iforgotwhatannotation
abstract NuggetMaker nuggetMaker(VeryGoodNuggetMaker nuggetMaker);
okay
yes
doesn't that also work lol
@Inject tells the injector where to inject the dependencies, but what i was showing was telling the container that NuggetMaker should resolve to the VeryGoodNuggetMaker implementation
https://www.youtube.com/watch?v=xrQpjhwNcM0
We need help configuring itemsadder if anyone wants to join the Server's DEV team.
Over 2700 members in our discord if you want to check it out
spring, micronaut, and quarkus are all actual full web frameworks lol
hence "effectively"
pretty sure the way the plugins are handled there cant be loaded more than one instance of a plugin
and, well, setting a static variable of the instance itself shouldnt be a huge issue
when it comes to, not sure if its a correct term, maintainability (all the accessors of variable), I would say thats another topic
if your codebase is small, DI wont magically make it N times better
Never understood DI frameworks tbh
It is useful only if your codebase consists of singletone services
never understood
pretends to understand
Am i wrong tho?
services don't need to be singletons, you can benefit from DI even if only small parts of your codebase are services
I mean, not singletones with the static instance, classes that are instantiated once and used all over the place
yeah that's generally a lot of codebases lol
especially minecraft plugins, which a lot of people here work on
Good for them
but, like, if you have 10 dependencies on class its a design issue
5 maximum
DI frameworks typically give you more control than just that
Maybe a main class is ok
that's not a DI specific problem
there's nothing to work around, you can write strongly coupled code without DI frameworks easily
You build shit here?
hm?
and? you can use their di by itself
can you? that doesn't feel great when you can use a much lighter dedicated DI lol
like bringing in Spring just for the DI is the textbook definition of overkill
theyre all essentially the same thing tho
π₯΄
yea thats the disadvantage
tbh theyre not as big as i thought tho
in terms of file size at least, compared to guice, theyre like only 10% bigger
heres a graph from the avaje docs that shows them https://avaje.io/images/di-lib-size.png
this is the first time I see someone recommending spring for DI
not so lightweight
i wouldnt say i recommended it
it is the og di framework tho
I know this is Java, but have a problem with Vue.js and Laravel.
This does not seem to work and am getting an browser error Type Error: e not defined.
Get this error when clicking on button:
<button class="m-2" @click="addToCart({{ json_encode($menuItem) }})">Toevoegen</button>
Vue:
<script>
const app = Vue.createApp({
data() {
return {
cartItems: []
};
},
methods: {
addToCart(menuItemJson) {
console.log('hoi');
const menuItem = JSON.parse(menuItemJson);
this.cartItems.push(menuItem);
}
}
});
app.mount('#app');
</script>
Any help would be greatly appreciated!
comlpetely agree, except school does not and requires it. π¦
Hey
be grateful that you're learning Vue in school
You could be learning JQuery
atleast one upside
small update: does not seem to be vue or smthing. when doing anyting other also like @Click="console.log()" it does like working
Actually nvm that. I have fixed it. Did not remind to put id="app" all above. the @click was not in the div. Love starting to program again... π
tell me ideas for a name for a guis lib
YAGL
Yet Another Gui Library? xD
me when plugin didnt work for no reason for weeks on end and now it works
Anyone have any idea how to fix this? Idk what is going on (using paperweight)
There was a failure while executing work items
A failure occurred while executing io.papermc.paperweight.tasks.GenerateMappings$GenerateMappingsAction
Mapping operation failed
java.lang.IllegalStateException: Unexpectedly merged method: ana/a
Unexpectedly merged method: ana/a
git gud
Git is good
It's a multi module gradle project by the way
Have you tired deleting the gradle cache?
I tried invalidating IntelliJ cache, and using gradle clean, I'll try the gradle one
Unfortunately that did not work
@sweet cipher you should probably ask in https://discord.com/channels/289587909051416579/1078993196924813372 , although those kinds of issues are often result of some weird behaviour on a specific java version, the one person i know can help you with that is jmp 
Oh yeah I forgot to reply I figured it out, it had to do with me missing a repository for a completely unrelated dependency in a different module lol
ah
yo Fisher i saw your showcase
looks really good
next generation redstone haha also dont forget to add batteries and shit i might do something very simillar soon not stealing ur idea but something simillar
kinda sucks minecraft doesnt allow cables stick to walls
maybe using itemframes or armorstands but it will be kinda heavy task to do tbf imagine many people use the new electricity
anyone know a plugin like the one used in herobrine .org skyblock server
which generates random nether blocks
like this clip
https://youtu.be/f6TXY5EyrHU I guess it is just a modified cobblestone generator plugin since it says "skyblock multiplayer" in comments
This is the best nether generator to get netherite scrap, which you can craft into netherite ingots in skyblock multiplayer !
Join me in Herobrine server: mc.herobrine.org
My IGN is: RakanSalaitah
Twitch: https://www.twitch.tv/RakanBS17
Music: https://www.youtube.com/watch?v=FA9vqPWR0Ks&ab_channel=NoCopyrightSounds
Ok

yes its similar
but whats that plugin name?
Just look up Magic Cobblestone Generator or similar.
Do you guys know any general use tool for statistics? I just need to push some data to it and then to be able to view the data as charts.
E.g. when someone joins the discord server, I want to increase the number of joins for the invite they used and later on to view the statistics about all invites used every day.
there are stats bot that do that, discord has insights at 500+ members
there's also this grafana thing but doesn't track invites, https://grafana.com/grafana/dashboards/11240-discord/
matplotlib π
It was just an example Afonso, and ik about grafana but I would need a db too

Smh
oooooh
tsdb my beloved
Hey anyone has a code for a loot box in deluxemenus ?
how about ya do it yourself 
Is there an api for deluxe menus?
Touch grass
?
I dont know how
moni
Is it possible for someone to compile a git repo for me into a jar?
are you unable to do it yourself for some reason o.o
i can for 10usd
?
Itβs required at my school for software engineering majors too lol
I was remote that semester and took OCaml instead, which is very similar (just another functional language)
Many are starting to favour PHP here, but if youβre still on the fence - https://youtu.be/ZRV3pBuPxEQ
PHP in 2023 is very different than PHP in 2012. Let's run through some of the changes!
00:00 Intro
01:16 Traits
01:34 Short array syntax
01:47 Array destructuring
02:05 Variadic functions
02:12 Spread and splat
02:34 Generators
02:49 Anonymous classes
03:06 Trailing commas in function calls
03:26 Arrow functions
03:48 Null coalescing and null c...
$phpDoesntSuck = true;
I think that this mindset that php is bad comes from people that used it back in the day, not having all these modern frameworks, libraries and what-not
I can agree that php on its own only with inline html is pretty bad and the methods are a bit hard to find/remember, since it's quite different from pretty much all other langs, ex. strcmp, strcasecmp, strpos, etc., plus the $ for variables
strcmp, strcasecmp, strpos, etc.
C vibes
implode explode π₯΄
wth
function cmp($a, $b)
{
if ($a == $b) {
return 0;
}
return ($a < $b) ? -1 : 1;
}
$a = array(3, 2, 5, 6, 1);
usort($a, "cmp");
this was very weird for me when I first started php, how does it know the function when its name is passed by a string
you can just invoke stuff in like most languages like that
you can do that with reflection in Java
poor man method reference
but iirc you can also just do a method reference yeah
yeah, that's true, but php was one of my first langs back in the day lol
or something like ClassName::class . '@cmp'
cause it's literally just strings
and . is the concatentation operator
now I do, I didn't when I started and wrote a bunch of spaghetti code
it even has kotlin-style constructor property injection
well not as nice as kotlin
but you can make a constructor that's type hinted and it will automatically assign them as class variables
yeah, that I noticed
actually found that out kinda by mistake or rather a suggestion from phpstorm when writing a symfony project
PHP has variable variables
loosely, but not as much as something like OCaml or F#
im sorry to hear that
PHP is the goat
π
Not the latest shiny tool, but the developer experience IMO is unmatched. I tried Next.js (full stack wise) was fucking terrible
Frontend with nextjs is lovely, but backend was a nightmare. Went straight back to php + react
Plus tbh, PHP handles 25mil sessions + 40mil events + 28mil heartbeats a month without a hitch, no cpu usage
yeah honestly, i'm very impressed with Laravel mostly
just the documentation, the first-party utilities that hook in really nicely, it's kind of amazing
and the language is better than python in a lot ways imo
especially in the type annotations area
i honestly feel like Spring, etc. could have basically the same thing, they'd just need to drop the cruft of XML and basically rewrite all the documentation ever made to be a lot better
Yeah I think this for me is what interests me most, is knowing you can use these packages and they won't suddenly be unmaintained
And usually you only need first-party stuff to build things, the only other time is spatie packages, which are backed by a huge company π
(unless it's Nova lmao)
God nova is a nightmare, so is their billing thing, i forget the namer, not cashier, the panel thing
Genuinely terrible, can't customise anything
Spark thats it, https://spark.laravel.com/ absolutely terrible - like it works and does the job,. but you can't customise anything
yeah I heard with the whole release of Filament v3, it's basically pointless to buy Nova
when you can just get a free and open source admin panel that's like 100x more customizable and stuff
What the heck?????????????????
Why have I never heard of filament???
aaaa its so cool
I've been writing tests, v1 codebase had 100, but we'll get there
new codebase is technically v2 not v3, just cba to change folder
π΅βπ« (not all branches are merged)
not the unit tests π
I've never saw a need yet for unit tests tbh π’ someday, its because everything touches a database
like the analytics engine
stuff like it dispatches a job and it creates an event just seem so pointless to me
like that's literally one line that isn't in your control directly, what's the chance it's not going to do that yk lol
unfortunately without purity in the type system it is impossible to always tell if your code works
For sure, in this instance it comes down to confidence - as I write the test before doing the controller so I knew what to expect. It's also handy to have tests for it in case you break something later. For example, if I suddenly fuck up a middleware, I wouldn't know if suddenly that breaks my job etc.
My events schema also comes in 2 parts: events and event_metadata. I find it handy to have in case for example I add a new database field for another part of the app, I could suddenly break my heartbeats
people really use linkedin for the wrong stuff lol
haha yeah basically, and sure.
Ive only now used LinkedIn more because I was looking for a job, all the notifications I get from it are annoying
POV: you CTLR + Click Material class
I'm glad it is not only me
Although I don't get that, but it takes a .. second to load
yeah I rarely use it, and have notifications disabled since the amount of messages is insane.
I remember when it was running just fine with 1gb or 2
The enum itself is wrapped into an uh, editor fold or smth
fk it, lets go with 1.0
the earliest mentions of spigot existing is from the 1.4 era, looks like they had a 1.4.5 build at some point
or atleast that i could find
according to the jenkins page for spigot before they stopped providing builds already compiled, there is build #129 for 1.3.2, tho from the looks of it its just a fork of craftbukkit, mentioning EcoCityCraft, was that md_5's server back in the day?
i'm pretty sure that they also provided builds up to 1.7 - at least 1.8 is the oldest version that buildtools lets you compile without any dirty hacks
I can't send screenshots π₯²


