#dev-general
1 messages Β· Page 6 of 1
smh
the only person ill be dming is your mother
do it
i already am
yep
:(
:( upside down is :(
it literally is
i cant even with you
axes moment
how to even
WHAT are YOU doing here
you should've said "reflect that frown over the line x = 1" bm!
ofc ofc
im dming emily
no you're not?
maybe there was a missing comma?
"i'm dming, emily"?
well you already read all my messages
π
:)
okay i have a massively pro tip for all of you, don't leave running non-daemon threads with nothing to stop them on shutdown
good
seems like something docker would solve
or like, htop, depending on what that actually meant
seems like something turning off your computer and going outside would solve
it would
do it then
no need
why
sigterm to the rescue
very bizarre way to say "Put on my Metaβ’οΈ branded Oculus Quest 2 and enter the Metaverse, then teleport to an outside location!"
you said it not me buddy
Stepping onto or into a block (Ass-pressure)
excuse me what?
hehe
md5 thinks he is very funny
if that's your level of humour...
for org.bukkit.event.block.Action.PHYSICAL btw lmao
you mean to tell me you dont find it funny??
why'd he have to use incorrect capitalization?
would you prefer aSS?
i wouldve preferred A$$
why does PlayerInteractEvent not extend EntityInteractEvent
that's the real question
now im no languoligist, but i'm pretty sure the capital version of s isn't a dollar sign!
talk to the hand
average linkedin job search moment
juicy 0.07$ an hour
$160 per year damnn
Find the author of "fastapi" he found someone requiring a few years experience when it just came out xD
Uggg clicking load more messages with the android update doesn't take you to the newest message anymore.
I never understand how these get made
IT: Here's what I need *slides paper over*
HR: This is just a list of things, how much experience do they need?
IT: Idk, like 10 years
HR:
also, kubernetes released 8 years ago
I mean, that looks like a joke
i love that they have multiple on the list tho
yeah we all do
Ok, so I'm editing the source code of a plugin. That plugin depends on "NexEngine"
I cant build the code or work on it since there is a crap ton of errors.
My question is how do you add a dependency or api like spigot and NexEngine. I have tried with the "Project Structure" but I can seem to do this.
gradle/maven
maven
Hello, I wanted to know if someone can help me with a problem with essentials kits, please help me
It tells me about something that the kit is poorly defined
Can you help me, please?
@everyone
The 'everyone' mention is disabled so you can't annoy people.
@eager fern Can you help me, please?
what makes you think you should ping someone for help?
Sorry, I searched from the essentials page and found this group and I'm just looking for a solution to the error I'm having now π¦
@distant sun have a photo with the error that tells me when creating a kit some way to send it to you maybe so you know how to identify the error
I'm from Argentina and I'm writing this with the translator because I don't know English
please if you are not too busy can you help me?
@everyone
The 'everyone' mention is disabled so you can't annoy people.
lol
Hey guys, i want the placeholder for "how many times a player killed players" and "How many times a player killed the player" Or just
Placeholder for K/D
@distant sun When I try to create a kit it tells me this
"that kit is poorly defined. contact an administrator"
Oh god, whats wrong with you guys, dont randomly try to ping everyone or specific people
@everyone
The 'everyone' mention is disabled so you can't annoy people.
@prisma wave You can help me?
@mortal dagger please ask your question in #general-plugins (or better, the essentials support) and not just ping random people
no i can not
@prisma wave That's fine thanks
@prisma wave can I get a smoothie please and thank you
yeah of course!
me 2
no fuck off
absolutely not
How about-
we play it out in a game of FPS Chess?
If you win- i wont get a high five
if i do- i get one
no
gotta love when people just refuse to use try-with-resources
"it's better this way" 

Anyone use Game Core before?
Who
asked
How do I make %lastloginapi_last_login_elapsed% display 2 days 12 minutes instead of 14m 13s
Unless it has a config, not with ease
Also, is it possible to make a script to update its placeholder?
So when the player first logs out, the placeholder will display:
- "Last seen** <seconds>** ago". Later saying "Last seen** <hours> and <minutes>** ago"
- To then "Last seen <days> and <hours> ago"
Text would be mine, placeholder to update its timings basically
you could use javascript expansion for that
Would you be able to do it?
uhh
I can just barley get my head around basic java scripting, no idea how to make it update on variables
LasoginAPI
this
Ye
ok
Mainly for logout but ye
Does spigot have a general enum for which materials are weapons?
i dont think so
Could check if its damageable. (But no not seeing any enums/checks for weapons)
no. pink warnings. those are not fine. means nuclear weapons were launched
and four of them?
every item is Damageable, thanks spigot!
what are the pink warnings
warnings that are pink
thank you Emily
anytime
Just gonna drop this here https://paste.helpch.at/oxaqasapan.java
pink ones are weak warnings apparently
So code duplicates
ah. so nice
different color themes
but still. writing an entire plugin in your main class
nice
why is there so much pink and purple out of nowhere LOL
purple? π€¨
what the fuck is that
yoo, anyone knows what this means?: https://hastebin.com/kagaxomode.sql
I'm new to Java and just learnt about objects
Im sure this is the most useful thing that I ever learnt in Java
so I am looking for a database tools and wanted to try SQL Server Management Studio 2019 but I cannot get it to connect to my remote mariaDB server I am guessing this is not possible?
ask there, they usually respond quicker and its the appropraite channel
my bad sry
its alright
Wait till you learn about primitives
hey, could anyone help me with some logic? my brainy hurty
X should be null if G is not A and not B, and Y is not C
G != A && G != B && Y != C?
^
so
if(!(G == A || G == B) && Y != C)
{
if(X == null)
{
// right?
}
}
thats different to what you said
g is not a or b
"X should be null if" implies if (blah) { x = null}
X should be checked if its null if G is not A and not B, and Y is not C

(G != A && G != B) <=> !(G == A || G == B)
yup, makes sense, my bad
De Morgan's laws
GAGB
Geocaching Association of Great Britain
Gitbook is a good one.
Github pages is another.
I like docusaurus
Thank you
Is it html use or does it have an admin to make edits ?
I believe its actually markdown
Perfect
Somebody please tell me IJ have a way to get ride of lombok bullshit from a code and replace it with actual stuff (e.g. @Getter with getters, @AllArgsConstructor, etc.)π
delombok
the plugin or the thing from lombok https://projectlombok.org/features/delombok?
Why would someone wase time writing lombok annotations for each variable if you can just ctrl + insert and boom
the equals method is a bit scary, but it worked I guess! Thanks sirywell
also record class? π₯΄
record class is new
bro does anyone here know hpw to get rid of a line on ur screen
acquire yourself a new monitor
(First of all I just want to say that I have little to no experience making plugins) Ok guys I donβt know if this is possible but I want to make a plugin that adds new pets to the game!! I am a good 3d model maker so I can just make custom armor stands different textures. But I also want these mobs to give you special effects. If you want to coach me along my Journey on creating this plugin dm me!!
Or use Blockbench to make 3D stuff and use McPets for pets in mc
I've never used McPets but that's definitely the way to go
Ok wow
Thanks
I might do this butttttttt I wanted to make my own plugin.
Thanks for the advice tho!!
I wouldn't say start with pets as there are already many plugins made. Start small. Could prob do some for free for people (small ones) to gain expertise in plugin development
I made a mc server and wanted there to be pets that would give you effects you could find them in the wild and catch them like PokΓ©mon! So maybe your right but I still want to do it because it is something I want to do!
Sure, but there are already big plugins made for those very things. Such as MythicMobs, allowing you do the very thing youre after. By all means you can code your own plugin, but like you said you have "little to no experience", so you probably should start small
Make small plugins that could be pet related, maybe a plugin that spawns a cube that follows you, or a plugin that focuses on other aspects such as GUI's, placeholders, data bases, and most importantly, configurable configs
It's very difficult - especially with no experience
It'd probably take months
or longer
It's too ambitious for someone who doesn't have much experience, and you will most definitely lose motivation
By making small plugins, you will only get better, and can then start making more compelling ones
note that even to make relatively "medium" sized plugins confortably it would take at least a few months depending on how fast you learn
Ok wow thanks π
I will take that advice
Oh lol I know Java
I make Minecraft clients that are good
Not like the fivver ones lol
Can you give me a coding opinion guys about this plug-in (Its mine, and it is the first)?
https://www.spigotmc.org/resources/identity.104776/
You could change this: https://github.com/AndrewKosatka/Identity/blob/master/src/main/java/it/myke/identity/Perms.java into a enum class
Mhm, Iβll think about it, thanks for the advice!
And here: https://github.com/AndrewKosatka/Identity/blob/master/src/main/java/it/myke/identity/listener/AgeInventoryListener.java you could change this:
if(event.getView().getTitle().equals(inventories.get("age").getTitle()) && event.getClickedInventory() != null && event.getClickedInventory().getType() == InventoryType.CHEST) {
to:
if (!event.getView().getTitle().equals(inventories.get("age").getTitle())) return;
if (event.getClickedInventory() != null) return;
if (!event.getClickedInventory().getType() == InventoryType.CHEST) return;
but it's not a big deal
if it works it works
Don't use titles to identify the GUI, use InventoryHolder
inventoryholder is great
I still use the inventory itself lol. I should start using InventoryHolder.
i used it with an extra enum built in to define every inventory and then have the inventoryclick,drag,etc events get defined in the class
tho the way ive done it requires quite a bit of boilerplate
?list
arrow-code
autosellapi
base64-serialization
best-vps-deal
bug-with-dd
challenges
checkitem
codeblocks
colors
database
dc-fuuid
dc-towny
di
dictionary
discorddev
dm-1.10.5
dm-base64
dm-builds
dm-creator
dm-deny
dm-external
dm-filler
dm-glow
dm-heads
dm-item-data
dm-open_requirement
dm-requirements
dm-update```
dry
ecloudblock
enchant-format
enchants
entities
ess-builds
flags
help
hidden-roles
hosting
hosting-free
hosting-paid
hotswap
imgur
javadocs
jdk
js-factionname
js-tag
json
learn-java
libs
luckperms
materials
need-help
nojquery
not-discord
notowner
optimize```
papi-dump
papi-hd
papibot
particle-guide
particles
paste
placeholders
player
pls-no
plsnoarrowcode
plsnolombok
roleperks
site
slots
solid
sounds
spigot
spigotid
startuplog
tagess
tryandsee
welcome-screen
wiki
xy
yaml```
?hosting
Free:
- Openshift: https://www.openshift.com/
2gb of memory, automatically expires after 60 days, but you can resubscribe as often as you'd like. - Heroku: https://heroku.com/
No CLI or SSH, no file access, might make your app sleep if you reach monthly uptime limit. - AWS (Free tier) https://aws.amazon.com/free/
Free tier containers from Amazon, expires in 12 months - Google Cloud Platform (Free tier) https://cloud.google.com/
Free tier google cloud servers
Paid:
- OVH: https://www.ovh.com/us/vps/
Full VPS starting at $3.49USD/month, choice of OS, high reliability. - Digital Ocean: https://m.do.co/
Starting at $5/month (USD), you can have your own server with 20GB SSD Disk, and 512MB Memory. - Linode: https://www.linode.com/
Starting at $5/month (USD), you can have a server with 20GB SSD Disk, and 1GB memory - Vultr: https://www.vultr.com/
Starting at $2.5/month (USD), you can have a server with 20GB SSD Disk, and 512MB Memory - Amazon(AWS) Lightsail: https://amazonlightsail.com/
Starting at $5/month (USD) (first month free), you can have your own server with 20GB SSD Disk, and 512MB Memory. - Time4VPS: https://www.time4vps.eu/
Starting at β¬0.66/month, get 20GB Storage, 512MB Memory, 0.5TB Bandwidth, and Daily/Weekly backups.
Various Linux OS distributions, IP addons and instant cPanel/WHM licenses. - VIRMACH: http://virmach.com/
Full Windows and Linux Desktop VPS starting at $7USD/month and $10USD/month respectively. - Sloppy: https://sloppy.io/
Starting at 5$/month (USD) You can have 500MB Memory, 1TB Transfer per month and 16GB of storage. Extra
storage and ram can be bought. - Bithost: https://bithost.io/
Just a forwarder to DO, but here you can pay with crypto currencies like bitcoin, dogecoin, etc - Galaxygate https://www.galaxygate.net/
Starting at 3$/month (USD), get 15GB of storage, 1GB of ram, and unmetered bandwidth.
@pastel imp ^^^
Eh thx
sloppy host
Ur a sloppy host
hey can someone tell me how I can render text on a hdmi screen via a raspberry pi 4
Specs
Raspberry Pi 4B+
Raspbian OS
to clarify when I plug in the hdmi the Raspbian desktop shows up, but I want to send text to that screen black background with white text preferably in python or shell is fine too
Hey i have a question
anybody got a way to use a summon command that on click would run a command or even a plugin that would do this?
what and what?
a villager that will run a command when you click it
ive tried the summon command
Not through the summon command you can't
then how?
Is it possible to route new UDP/TCP connections to a given port to a specific program, while letting an old instance of said program handle previous connections?
And even possibly transfer the given connection to the new one?
I'm specifically looking to do rolling updates on my proxies (for geyser), so that a restart doesn't kick current players, but allows new ones to use the new proxy
(Without DNS routing to the new proxy, or a proxy layer in between
Code a plugin that does it.
...
?arrow-code
Pretty sure it's one port, one process
ex if you have two mc servers on one port it'll error out
at least I think that's what's happening here
you can also have a separate port though (fred)
Isn't it the same on Windows tho?
Have an intermediate process actually be connected to the port and then just route the traffic from that process to the process that you want
basically just a proxy
So another proxy π¦
It's unfortunate that I can't disconnect from the port, but keep connections
Is there a way to transfer a connection between system prosseses?
(This is on Linux ofc)
Yeah sounds like you need HAProxy
No, this is why you have HAProxy, then you can do a rolling update of geyser or velocity or whatever
Alright, now I gotta choose if I go with geyser standalone or a haproxy impl
Since lots of coding either way
But then without changing DNS, how do I route players to the new one
you don't have to change DNS
you just have to create a proxy basically unless there's an existing one for it
So a proxy layer in-between, right
The geyser part will make it weird
yes
Or the easiest way would probably just to make like bedrock.yourserver.com and let geyser do all of the work
Yeah udp = no fun
But you can already do a 2-layer proxy with Velocity and HAProxy natively
Domain isn't the issue, it's the DNS changing
Right
you can use nginx
so that only one port needs to be opened - and since you already have one opened, you don't have to change any DNS stuff besides on cloudflare
Can I get HaProxy to transfer a player between proxy 1 and 2? Eg. During a world change, just also switch proxies
In Velocity, yes
From one velocity to another, or just using velocity
From one velocity to another
Oh cool
That's what a 2-layer proxy is lmao
Well yes, but with haproxy?
Minecraft doesn't have a transfer packet sadly
Yes
The point is that you have to stay connected to one thing always
Right
So if you move it up a layer, you can move people between velocity proxies
With at least 2 paper servers, at least two velocity proxies, and at least one HAProxy
It's pretty easy actually, you can just turn proxy protocol support on in Velocity config and just setup haproxy
What do I do to make the proxy change seamless
No code required
Yeah I've seen that option, but changing is my worry
I mean it'll just have a loading thing, same as when you swap servers on a velocity proxy
Maybe I just need to try using haproxy, but I am just confused how to put the player back where they just were
Without the new velocity instance treating them as a fresh connection
It does
So it'll put them in the lobby or whatever
What are you even trying to do lol
You probably don't need multiple proxies
Oh I mean that won't work
Minecraft isn't horizontally scalable at all
You'd have to clone everything, that just wouldn't work
wb geyser standalone?
That might be the move, but it will kick all currently connected geyser players
oh
And how big of a deal even is this, how often are you updating geyser
I'd prefer to just launch a new proxy supporting the latest protocol
Well HAProxy doesn't support geyser
A big enough deal, since there's almost always a game going on, and a full restart means resetting everyone's temporary servers, which people can be playing on for 2+ hours
But like this just sounds like 20 minutes of maintenance
No UDP? Sad
So annonce scheduled maintenance
It has UDP obviously, but geyser would have to listen to the proxy protocol it emits
So maybe it's the other way around lol
Yeah, that's what I've been doing, and I get a lot of people annoyed since it means new servers can't be created for 1+ hours, that's why I'm looking for a new solution
Way too often, they just release random updates like once or twice a month
With no warning sometimes
It's just a pain on my part lol
π

I have the possibility of rewriting the eCloud for my Senior Comp Sci project 
That sounds cool
Oh there you go
It's going to be my last backup if my original plans don't go through.
What are the others?
I honestly forgot about it
How many years apart are y'all?
Currently in talks with a program that helps sexual abuse victims and I'd be designing an AI chatbot to help with some basic inputs.

Oh wow
Cool
Reason why the eCloud is my last option is because I'm afraid it would be too easy if I kept it Django.
Well I'm starting my Junior year, presumably Glare is starting his Senior year or is starting his last semester
But my rewrite as a senior project would add in 2FA and/or some of the other integrations we've discussed.
Actual AI sentiment detection? Or just programmed in logic
Rewrite it in Spring, like no one has lmao
RustCloud >>>
Not that great though huh
Smh I thought it was pretty solid.
Then why isn't it in production? Lol
Was never finished
Potentially
Cause adding github auth to the current ecloud would be very easy
Like, too easy lol
Make a scalable game server that any game could semi easily implement to add multiplayer
That would be cool
How would that even work lol
It's not like Language Servers, each game has a very unique way it functions
do it
Right, so it would be configurable server-side with some simple code or something
And be hopefully about as easy as possible to implement client side
There is very little shared between game servers
You can't make a universal server lol
Packet logic
Every game does packets differently
Well yeah, but you can try :p
Would just be for fun ofc, not incredibly practical
Not at all practical lol
But also mostly for new games to implement multilayer
Honestly I'd kind of want to finish the Spring version of the backend.
So there would be a packet system said engine used
Game engines have stuff for that
Yes, since that logic is part of the engine
A 3D Lazer tag game
Hence why a universal server just wouldn't work lol
My own physics engine
Websockets for networking
And some wrapper on 3js iirc for rendering
?luckperms
This error occurs when there is a mismatch in versions between the expansion and luckperms itself.
Make sure you have the very latest LuckPerms and the latest LuckPerms Expansion.
Once installed restart your server.
If you want to keep using v4 please download the version 4.1 of the LuckPerms expansion.
This error occurs when there is a mismatch in versions between the expansion and luckperms itself.
Working on updating that POC Vue frontend for the eCloud and holy crap it was outdated and not happy.
RIIS :weSmart:
I mean the eCloud-Client is already built in Vue
I actually managed to get it up and running lol
hell yeah lol
It's a mess tho
your senior project is gonna be easy as pie
Bahaha I didn't say that was going to be it yet
It's a backup
And after seeing it's current state, I'm not sure I want to.
exactly.
exactly.
yes. had to ping twice for that.
worth it.
Uhm
intellij guys
help
clicked something lol, how do I disable this
That happens when dragging middle click, not sure why your intellij is thinking you're middle clicking
try clicking it
oh ye, thx
π
What's the go-to Java Discord API framework that has a nice command handling system for somewhat complex slash commands?
uh there was one that you could define the commands in a JSON file and it would read the definition from there
Oh?
I don't remember which one lol
Might check out Javacord.
check out matts triumph cmds
Didn't know it supported jda tbh.
@distant sun I see you are one of the people that work on this lib ^ do you by chance have any OS projects that utilize it for JDA?
Negative
All commands extend BaseCommand and should be annotated with @Command, the first parameter for subcommands methods should be a Sender (SlashSender for slash commands and PrefixedSender for old style commands - I think is called that way) and the rest parameters are arguments
Gotcha. Yeah I got Matt looking into something because the latest deployed build doesn't seem to be working totally.
Ah, I assume you use a newer version of JDA than alpha.15 or whatever
I'm using whatever is compiled in
When is beta 8 or 9
alpha*
Annnd he just fixed it. Ez.
Great fix 
If something doesnt work, you just remove it @ocean quartz
no code = no bugs
What did I remove that was broken? >:O
The completion thing xD well at least no more Fuck, Ass 
It literally was never added, I was in the middle of doing it but had to remove
It used to be really pretty on mobile, now it's the same as desktop 
It's worse than desktop :/
Is it Arial on mobile?
What are you supposed to do to make the arg1 arg2 etc show as named parameters?
@ArgName
If you add the -parameter or whatever argument, it should preserve the name
If it's Kotlin, in the KotlinCompile task you can do
withType<KotlinCompile> {
kotlinOptions {
javaParameters = true
}
}
Java would be
withType<JavaCompile> {
options.compilerArgs.add("-parameters")
}
Oh this is hot. It's coming along very nicely.
Anyone have any idea as to how I can extract raw string/text from an item with gradient colors?
Sounding like an xy problem, what do you want to do with the extracted name?
So we are making a player vault search plugin and when we do something like /vaultsearch stone. It shows all the vaults that has stone, however, if the item we're looking for has different colors, for example: &7s&et&ao&bn&ae, it wont show
oh for non hex then just ChatColor.stripColor
Well you should be checking for the material instead of the name if you want to show all stones
yes, but we want to search for items with custom names too
thank you i'll try this
If you use paper, I believe components have a text() method
you have to use legacy component serializer for that
but ChatColor.stripColor works without turning it into a component then back into a string using plain text serializer
Actually PlainTextSerializer
Ello! We tried to use this
if (itemStack.getType().name().contains(targetMaterial) || itemStack.getItemMeta().getDisplayName().toUpperCase().contains(targetMaterial) || ChatColor.stripColor(itemStack.getType().name()).contains(targetMaterial)) {
it still wouldn't read item names with multiple colors, any idea why? D:
you need to strip the name
not the material/type
the type will never have color codes
I do this via itemStack.getItemMeta().getDisplayName() correct? Sorry this is my first time
yes
@half harness Legacy will add color codes, while Plain returns just the text
yes
they wanted just the text
For some reason it still doesnt work D: I'm using:
ChatColor.stripColor(itemStack.getItemMeta().getDisplayName()).contains(targetMaterial)
They it'd be plain not legacy
can you print out ChatColor.stripColor(...)?
then back into a string using plain text serializer
How do I do this? Sorry
System.out.println(ChatColor...)
Or just do it directly
you have to turn it into a component using legacy component serializer, then back into a string using plain text serializer
Flouer, if you can use paper, look at ItemMeta#displayName()
yeah that doesn't look like a monospace font lol
if using paper they'd get a deprecation warning
so I'm assuming they'd pay attention to that
and plus, you still have to use plain text serializer when using displayName
Spigot and deprecation 
Ye, but only that
yep
I can't seem to upload an image
Looks like a horrible font
what does it say in console?
[23:23:57 INFO]: [VaultsSearch] [STDOUT]
[23:23:57 INFO]: [VaultsSearch] [STDOUT] Darkheart Particle
[23:23:57 INFO]: [VaultsSearch] [STDOUT]
[23:23:57 INFO]: [VaultsSearch] [STDOUT] birch
I'm using /search dark or /search heart
is that it?
Oh
also I forgot console doesn't show Β§
If the item doesnt have a custom name, the method wont return the name you see, e.g. Oak Log, but an empty string btw
Is there a way I can remove that symbol?
@zinc slate
use ```java
System.out.println(ChatColor.stripColor(itemStack.getItemMeta().getDisplayName()).replace("Β§", "%"));
&*
for me it seemed to remove from console too for some reason
not sure why
but I didn't want to take any chances here
No I mean, instead of % xD
wdym same
(or something else)
Ah, for testing
mhm
wasted like half an hour :((
no idea why & was replaced
I'm guessing I accidentally formatted it again or smth idk π₯²
I believe stripColor replaces &
Β§ or &
There are no symbols showing at all
Just plain text like above.. weird
show full code
I won't be on my pc for a while though so maybe someone else can help
or I can check on my phone
for (Vault vault : map.values()) {
String vaultId = vault.getMetadata().get("order").toString();
if (vault instanceof BukkitVault) {
BukkitVault bVault = (BukkitVault) vault;
ItemStack[] itemStacks = bVault.getInventory().getStorageContents();
for (ItemStack itemStack : itemStacks) {
if(itemStack != null) {
System.out.println(ChatColor.stripColor(itemStack.getItemMeta().getDisplayName()).replace("Β§", "&"));
if (itemStack.getType().name().contains(targetMaterial) || itemStack.getItemMeta().getDisplayName().toUpperCase().contains(targetMaterial)
|| ChatColor.stripColor(itemStack.getItemMeta().getDisplayName()).contains(targetMaterial)) {
vaults.add(MessageUtility.color(
Objects.requireNonNull(
plugin.configFile.getString("Messages.VaultLists.ItemFormat")
).replace("%vault%", vaultId)
));
break;
}
}
}
}
}
Is this what you needed?
yes - and where's the print?
It still shows up like this
Bro wtf
Someone posted saying they had a plugin idea for x amount of money
It seemed doable so I msged them and they said yeah we have a few people but we are stuck. I'm like ok that's fine I should be able to do it anyway
The code was awful so I decided to remake it from scratch and use a little bit of their config class because that was actually usable and why reinvent the wheel so I did
I make a pr and it got rejected to be fair because I accidently deleted the license and because I used my package name
Meanwhile yesterday they were saying in the group chat that the plugin needed to be remade
I told them I'd fix the pr issues but then they also say that they can't do this because it's not even the same plugin at this point so I'm fine to maintain my own fork if I want
I'm confused cuz I though this guy just wanted to plugin and was gonna pay me and we'd be fine
I asked why because none of this makes any sense than the "lead dev" locks the pr
Well, you don't just go and put your name there lol
I did more in 5 hours than they have in a month
can someone mention some good open source plugins for me to read through and practice?
I looked there are some commits are other a month ago
reading plugins helps to practice ig
In 2 seconds I pressed refractor and now my name is gone
The worse part is their package name is the server name
Just 1 word
Not net.servername
It's servername
Doesnt matter
Either way tho it's just me making a fresh plugin and using my name since I'm the one making it then I found out about the team and didn't think to change it but I could careless
It's almost like I'm getting punished for being too good at coding instead of fixing their mess
Like "no no no I cannot accept the finished plugin which works exactly how I want since it's coded differently than the first attempt"
@sly sonnet public V put(K key, V value) { putListener(key, value); return super.put(key, value); }

help my integration with vault dont work π¦
hey so I want to communicate some information from my website to my plugin and I've read up on sockets. I need some notifications to work, so I've been reading up on sockets but I don't have any spare ports available so I was wondering if I could just query it with a status in my database and when the notification goes off in-game toggle the notification status using a runable instead?,
to be more specific. I have a mysql row called status, when inserted into the database on the website the status > 0. When the runnable do a scheduled check it checks if there is any queries with status = 0 and execute the notification? and ofcourse updates the notification status to 1
yeah that's basically polling, sounds pretty good in your scenario
another possibility would be something like Redis if you can host it, but this seems like it could work fine for your needs, especially if you can set the polling interval to a pretty slow increment
was thinking about every 2-3 minutes or so
redis is sort of like reading json? not familiar with it. like something similar to reading a get url?
uh, not really
it's basically a shared cache
probably way too complicated for this, i would just stick with the database poller
sounds good, ill check it out what it is so I know my options π but prob sticking with the polling
@distant sun Got a lot further. Matt's lib is amazing.
Any Java Dev here able to help my server out
I have this plugin thatβs in the works
90 percent complete need 2 more people to help out
Completing it
Looks nice Glare
more like "no no the package name is different so it isnt my work
and it is your pr so i have to make it mine by copying the code
Ok but that still doesn't mean anything I clicked two buttons and it was changed but their excuses was it's not the same plugin.
When the guy requested the plugin he wanted a plugin that did X
I gave him a plugin that did X
Nowhere did it say I cannot actually make the plugin but i must instead fix the already made plugin that has been going for over a month and is an absolute wreck. The plugin is MIT so it's not like I'll be getting at them for using it or editing it if they want.
It's just stupid it's like telling someone I want a car so I give them a car then they complain I didn't fix up their old car. The fact is why reinvent the wheel. I finished their plugin in 5 hours and its better than their months of work but they aren't accepting it because it's not the same plugin as in the broken repo.
Even tho yesterday the guy said everything is about to be redone anyway so I went ahead and I redid it for them.
And no it's not like this is a fix the plugin job
Someone else attempted to complete the job but they aren't doing it
yo that's pog
why not both ;) java applets say hello
π
lol
i mean, sounds like you joined in after the commission was already taken
Mfw I just made a trial changeto a project's cache and within the the first hour the user response cached % went up 14.14%.
hey has someone used redis as a real database
i have been thinking to switch to redis from mysql but i have some concerns so i am not sure about it
redis is mainly used for in memory usage
i would stick to postgre / maria for actual database
yeah but it's pretty cool
i mean why
not saying dont use redis, but its main usage is to share memory between instances
also redis is quite limited in data types afaik
- doesnt handle concurrent access
all changes are done sequentially afaik
yeah actually you're right
but if you need a blazing fast non permanent in memory storage
then redis is the way to go
actually i can just use redis a cache
but i am not sure that i can achive that
like there is a postresql or mysql on the other hand and you have redis as a cache
i think it's better than storing java objects in memory
but i am not sure that may be the same thing
storing objects in memory is almost always faster than using any external database
but having redis as a cache between in-memory and a relational db is likely better than not having it
this
yes but when i asked if it was still open they said yes because the previous people were failing to complete the task
- you dont need to deal with race conditions hashing etc yourself
so i swooped in and finished the same day
better than there month+ attempt
this wasn't a contest who could fix the previous persons code
it was to see who could make a plugin
i mean its not a contest regardless
and its weird to comission multiple people for the same project
exactly
so basically the guy who for all we know may never finish or even if he does made an unnecessarily messy plugin is gonna get paid vs me who already finished it
like what??
its on you to discuss the work
and get some front payment as well
if you arent gonna get paid anyway though
just polish it a bit more and publish it
meh
Use a synthetic method to hide a backdoor in the compiled version of the plugin
Guys, I accidentally committed & pushed cringe to my master branch.
How can I get completely rid of the last three commits? I tried git reset --hard HEAD~3 but then it asks me to merge changes from origin when I attempt to push.
https://github.com/NoniDOTio/SMPtweaks/commits/master
force push
will that remove files that got created within the cringy commits?
cli >
yes
and then there is another popup
do the one that doesn't stage differences
but also changes local files
iirc
or show the options here
there is no popup at all
π€¨ interesting
when I try to push it shows "no commits selected" and force push is greyed out
ah you're right, I believe I got that one earlier.
also I think the correct option would be Hard
I think so too, but what do I do after selecting hard? Then it shows me the push error again.
GitKraken >
check your keyboard, you misclicked <
Hey so am making a voting system where if it hits x amount of votes out of total online players it will perform a function. but not sure how to structure the calculating percentage part. anyone with any clue where I could begin to understand that π ?
I know how to calculate percentage, but I need it to return whole numbers etc.
Math.round, Math.floor, Math.ceil
I really need help right now.
My account was just disabled because I changed my profile picture? Discord asked me to verify my account through text by sending me a code and I did that. And then it logged me out and now I can't access my old account.
All of my friends are added on that account and I do not have their usernames written down. Please help me.
This is a server for Minecraft plugins
It says dev-general for me.
?not-discord
Looking for discord support?
HelpChat is a Minecraft plugin and development support server and is not affiliated with discord in any way.
If you require support from discord, we recommend you to visit their official support website at https://support.discord.com
On this website, you can read their FAQs, or open a support ticket if necessary.
thats exactly what i was being sarcastic about and was talking about bro
i was literally talking about the same thing
fixed already
apparently
@half harness figured out?
nope but I might just do an alternative method instead
I could also experiment with it
Β―_(γ)_/Β―
https://www.spigotmc.org/threads/get-all-block-types-from-a-schematic.449761/#post-3867806 I see someone used ClipboardReader
but the thing is that I'd also have to rotate the schematic and then also move the blocks to its new origin
and it would just require a lot of testing since theres also like 2 origins or something from testing earlier
and then rotating would also be a bit difficult to find out how to do
or I think it doesn't have to be very accurate since I can just grab a chunksnapshot and look at the new blocks from there
Hmm
Look at what they do in commands
wdym commands?
I mean Worldedit commands
Look at rotate, how it is done
looks like a class does the job for you
so how worldedit works is like this:
- there's a Clipboard (interface), which stores the blocks of the schematic (as seen in the link you sent), its implementation being BlockArrayClipboard
- there's also a ClipboardHolder which stores the Clipboard and its rotation
- then there's also Operation, its implementation being ForwardExtentCopy
I was planning to find what worldedit uses to get the blocks, but I haven't been very successful at that
So maybe I can try to read ClipboardHolder and then manually add on to the origin?
Will still take some experimenting but I think I can do it now
ty gaby
np and hf
what are you making?
get locations of blocks from schematic
why?
interesting
xd
sex dee
eed xes
https://github.com/adiwajshing/Baileys
cool library

This is actually nice
π€£
Marchurary
Aprilurary
Marchurary
Are you coding a method or do you mean a vanilla or existing plugin
I have latest version of Placeholderapi and Deluxemenus for 1.18.2 and Deluxemenus is red for some reason
nvm, shitty ass kotlin


There seems to be some invalid syntax in your config! You can paste it into https://yaml.helpch.at/ in order to find out where your issue is!

Wow intellij has an "Old Toolbar" option
but for some reason
they still just do not like the Pull option in git
since the new UI update I've just been using double ctrl -> git pull π₯²
the only thing they have is Update Project but (at least with the git plugin or a plugin related to git) it's already updated automatically
so they should just replace that with Pull :((
what does gitkraken have that IJ doesn't? (before the ui update)
since 99.9% of what you do with git is commit, push, and pull
huh, where? 
It has some features more but that isn't even why I'd use it over IJ
I just despise IJ's git, I click commit then confirm commit, then a warning saying I'm committing with warnings, then one more thing then another, I just want to fucking commit just do it already
It pisses me off how many times you have to click the damn button (i'm exaggerating ofc but it's really annoying)
On Gitkraken if I click commit it just does
you can temporarily switch to the non-modal commit interface to disable scanning and todo-warnings
the extra options within the non-modal dialogue might also be available as a preference within settings, not sure
If I have a MySQL database with Users and Orders where one user can have multiple orders do i have orders have a foreign key with the UserID?
If your code doesnβt have warnings, you donβt need to confirm anything
Imagine fixing warnings
Imagine not having warnings
will this mean tho that the database will have to search through all the records in a table even if it only needs one? For example if I have a form table and then questions table when I load a form ill have to search through all the questions for all the forms even when I only load one form? @humble silo
If you need to pull request frequently is it best to keep the connection open in MySQL or you open and close the connection every time?
Someone that has experience with Laravel?
I am just installing Laravel and the normal login/dashboard/register page aren't working.
Looks like the css of Laravel itself doesn't work or something.
This is what i get and the other image is what it is supposed to look like..
Please @ me
Oh maybe it's a plugin then lol
I'll show a screen shot later
Imagine not having warnings, can't relate
dkim knows very well how to get rid of warnings
I dont know your specific case, but as gaby said, probably you are looking for some type of join
I got some (legacy) projects with like 80 warnings per file too, but that feature already saved me some time actually
The worse for me is that I have some pre-commit hooks, which sometimes take a bit of time, I would click commit and tab out because I knew it takes time, then get back and it hadn't even started because of the confirm stuff, it was painful
IJ can go suck a dick
i don't think it is capable of doing so
Dick.suck(intellij);
if only 
one can only dream
@obtuse gale btw this is what i meant:
when clicking on the orange button right above "Open"
it doesn't have Pull :(
Delombok
That is hilarious. 
I've only worked for FNG so far 
How do you call something like a Runnable in Bukkit in PHP?
what
Timer?
Probably not, try Vault, maybe it works
in what way?
like what placeholder
-papi vault
Its for this "ConditionalPlaceholders", so basically its using the LuckPerms Placeholder to show the rank prefixes
placeholder: '%luckperms_primary_group_name%'
rules:
- "=default;&fσ°"
- "=wisp;&fσ°"
- "=sprite;&fσ°"
- "=unicorn;&fσ°"
- "=griffin;&fσ°"
- "=dragon;&fσ°"
- "=phoenix;&fσ°"
- "=kraken;&fσ°"
- "=helper;&fσ°"
- "=mod;&fσ° "
- "=dev;&fσ°‘"
- "=investor;&fσ°’"
- "=owner;&fσ°£"```
internal error
like it works, but not for offline players
Internal error?
Paste smh
Paste Services
When asking for help with a config/menu/code issue please use our paste bin:
(we prefer it over pastebin.com)
β’ HelpChat Paste - How To Use
Ye ye I saw the command at the bottom
yeah. @inner osprey you might have to write your own placeholder for this. But be warned, it will take the data from the database every time since it is not cached
that's the reason the LP expansion doesn't do it
There is, but is not implemented in the luckperms expansion
so from where can I do this?
offline player, still shows rank
actually
I wonder
that's bcz they made their own shit lol
you can do it yourself, not with the LP expansion tho
What if I made different gui's, and if they're like "vip, mvp" or somethin, the whole gui changes?
idk
Not worth
Wouldnβt change a thing would it
You still canβt get the rank from the offline player
yeah ;-;
It is easy to do, just need to copy the code for the rank name placeholder and make it accept offline players
h o w
java
but how will it display offline?
Reminds me, my placeholders arenβt cached for offline players either silent
So be careful with that
but it works
It does
but how?
I donβt save the shit on a database
LuckPerms itself lets you get data about offline players
it just doesn't cache it
that means each request is made directly to the database
so its bad if it caches it?
I generate the skin when a player joins or when an offline player gets requested which takes some more server resources
no idea what this means
In case you get someone to do it, thats what they need to copy
still confused ;-;
About? XD
Everything lmao
is it hard to do? And is it good if its possible?
idk how much the cache will be bad etc
No is not hard, yes it is possible
only thing to be careful about is how long you store the cache
and make sure you lazy load
rather than load all
lazy load?
could you do it 
i could, but got my hands full currently
ah no worries
(kotlin)
With delegates, is there a way to get the property before getValue is called?
ex how does gradle's kt val task by registering {} work? since I never call task
for me I have to do ```kt
val myOwn = myOwnThing {}
myOwn // and suppress the warning
wait a minute how does by registering {} even work? since there's no getValue
idk
idk either
There would have to be a get value
but I never call that get value
ex: ```kt
tasks {
val someTask by registering {
println("hello")
}
}
whereas if I made my own, it'd have to be ```kt
val something by stuff {
println("hello")
}
something // and suppress the warning
it doesn't show how the internal code works tho :((
tried looking but it's confusing
unless tasks {} can see the variables inside? but I don't think thats possible
but thats the only thing I can think of π€
I'm not even sure how that delegate function is valid since it doesn't have a getValue function...
Gradle is just doing some weird spooky stuff
π€
gradle uses the provideDelegate stuff to create it
@half harness https://kotlinlang.org/docs/delegated-properties.html#providing-a-delegate
By defining the
provideDelegateoperator, you can extend the logic for creating the object to which the property implementation is delegated
meaningprovideDelegateis called when you create.. the delegate
which registers the task in the task container
and returns a delegate to the corresponding taskproperty, and getValue simply returns it but the task was already registered when creating it
thanks
np
WATTTTTTTTTT
TYYY
WHJY ISNT IT NAMED LIKE "CREATION DELEGATE"
BUT TYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY_ _ _ _ _ _ _ _
oops sorry for ping
Ask JetBrains idk
yes
and you must now apologize too
I mean it doesn't not make sense
mhm
It's a function that provides a delegate
kotlin bad
And it's documented 
i just didn't think that it would be the instance creation one
hey I didn't read the entire thing
π
I just looked through it
sob
I just loooked through it

