#dev-general
1 messages · Page 294 of 1
idk about unprofessional but a lot of servers don't like to show them lol
if its a shitty anticheat yea
anticheats shouldn't have ways for regular users to bypass
since some clients have settings for different anticheats like Spartan, NCP, AAC, Matrix, etc
How many have settings for Watchdog 🌚
sOmEtHiNg cAlLed
- imperfect
- reporting
- staff
- you'll eventually get banned 🙂
By watchdog* so you can ditch staff lol
does fortune apply to blocks?
but idk why it's not dropping an ingot
why would it drop an ingot
oh
smelt it lol
you gotta smelt iron
you could write a plugin so you dont have to though 
i would assume just things that drop the minerals or whatever. like diamonds, coal, etc
Diamonds, Lapis, Coal, Redstone
write a plugin to change it 
Probably even gravel if on shovel I guess
might do wood as well if on an axe
Really?
🤨
i just mined a diamond ore with a diamond shovel to see if it would drop multiple diamonds
it dropped none 🤣
i forgot
that u need iron pick
lol
diamond pick with fortune + gravel = a lot of flint
now
diamond pick with fortune + wood = ?
a lot of wood
Fortune also works on crops
lol no
and leaves iirc
And the nether gold ores since they drop nuggets
Today I found out about local classes
They seem useful but I don't see myself actually using them, I'd use nested classes or just full blown classes instead lol
what if you wanna use the local class in some other situation too
then you gotta refactor
like I get the point, it's like an anonymous class but a teeny tiny bit more "extended" and you can use it as many times as you want
but I think I would use a nested class for that
idk
But a nested class would hold a reference to the parent class's instance tho
true
when you spend ages scratching your head wondering why this happens https://cdn.discordapp.com/attachments/807398319293726730/807758301365403688/unknown.png
and then you look at this:
:))
just to confirm my sanity hasn't just disappeared out the window, that will only be instantiated once won't it, since it's kinda static
If I wanted to, I could run scala code on a minecraft server right? I mean it all compiles to the same JVM. I don’t mean using any of the bukkit code, just for stuff like analysing a file quickly or running some logic? (Just asking because I am also learning scala and may be a good way to improve) I don’t see much reason why it wouldn’t but also I see a lot of resources implementing their own scala builder for plugins
I'm using Kotlin and that's a JVM language
and that runs perfectly fine
so if Scala is interoperable with Java (which I believe it is), then no reason why it won't work
Kotlin better though xD
Yea bm already did that once
Use Kotlin 👀
Alright, I’ll try see if I can get it running tomorrow but just wanted to have a quick check. And it probably is but Uni teaches us scalaaa 😉
using constant time values btw is a bad idea isn't it
what I did will only instantiate it once throughout it's entire runtime I think
Oh sweet
Use a property bard
If any developers are available I'd appreciate if they could give me their input on if certain plugins I'm paying to have complete are overpriced or suited.
go for it
Yea
rn you have
val TIME_NOW = LocalDateTime.now()
switch that to
val TIME_NOW
get() = LocalDateTime.now()
Lmao
lol
I've spent 5 fucking days on this donkey code whack plugin that somehow works and it's still got these sorts of stupid bugs in it
$150 USD for a queue system, pretty standard, has most features that all queue plugins have. Connects to Luckperms databases to sort rank priorities on a per-realm basis.
define standard
Allows you to queue for realms with ranked users being given priority over unranked. The higher the rank the greater priority given. Able to /queue pause or increase/decrease the rate of which players join with /queue speed <queue> <ppm>
If it’s made fully custom then the price is your decision
someone please flame me for this
It’s typically more than public
A member of staff has requested I move your message to a paste,
Most likely beacause it contains a config/error/code snippet.
wow
bytebin good paste.helpch.at bad
private val gui = Gui(plugin.gui.rows, plugin.gui.title.colourise())
I like the amount of public variables this contains
It’s sexy
Light theme lol
Yes, bad
Is 7-8 hours a reasonable timeframe to have it be complete?
No?
that's ridiculous
few days?
And that is just pure work time
Send the source code of deluxe queue and done
Not 7-8 hours in one day straight, 7-8 hours of work total across several days
But we don’t work 24/7
lol
deluxequeues is open-source
I'm gonna be working on my own free and open-source standalone queue server using RabbitMQ soon
I'm surprised prices are so inflated considering development charges at a reasonable price (for known/advanced developers)
$20/h
developers charge stupid prices sometimes
but they know they can, since the people they're charging are too incompetent to know how easy it is to do what they're doing half of the time
Right
Prices are definitely not inflated, if you really think about it prices are very cheap
People will charge something like $50 for like 15+ hours of work while a normal developer would make that in 1 hour
meanwhile I do 50+ hours of work for $10 or less 😢
Exactly, spigot devs are very underpaid
well, I can't really say shit now actually, since the guy I work for sponsored me on Patreon at the £10/month tier (highest tier) as a thank you
Yup
I just don't program for the money
Do you I do?
money's not something that interests me all that much, it's just kinda there, and it pays for things, nothing more
the money makes me procastinate :p
same
I get motivated because I love programming, not because I'm getting paid for it
not like I even ask for too much imo ._.
Right, and that all makes sense. However $150-$170 for a queue system no matter how advanced just seems off to me. Of course if several other developers gave me the same pricing I'd assume it was suited.
ill do the same thing for $15
lol
If it’s good then it’s your choice
maybe $10
Ignore dkim he undercharges due to quality 😱
Interesting lol
😂
theres two types of people
- People that do it all for the cash
- People that do it because they enjoy coding
- People that dont know
- Those who do it for fun, but still recognise their time is valuable
im so bad at time management
sometimes i work on the same plugin for 6+ hours a day for 2 weeks straight
to get $10 🙂
Most developers will do anything for cheap, I am not saying the person is over charging or undercharging, what I am saying is that most people under charge
Most "clients" won't pay enough because they think "it's just for a game"
You can find people that do web design for like $50 on fiverr but if you contact a company it'll be very expensive, it's something similar to that
Imo $150 is pretty reasonable for a plugin like that, you may think it's simple, but it goes much deeper than that
At the end of the day it's your choice to accept or not
wait
I’d probably charge about that much for a plugin that is custom and complex like that
I always find the price based on value and complexity of the plugin as developer
is @smoky summit the dev or client?
Like, let's think about it, I could do if for you for $50 or i could sell it on spigot for $20, if 3 people buy it I already made more than I would doing a commission
Get gansta until someone willing to request to make whole skyblock for 1000$ 
lol
Imo prices should be based on time, if it's complex it'll take more time, if it's not it won't
That happened many times in #805698761442590730 already lol
I'll definetly accept if its reasonable, I personally can't judge it myself since I'm not a developer. I'm also aware that quality developers/development have higher price tags but it translates into having a better codebase with much better performance generally.
But one of the things planned to be made is a custom skyblock core, and based on how prices are now that would probably cost at least 500-1000 which really seems like its being pushed (at least to me).
Also, there're instances where people ultimately raise the price up because of the length taken
If you trust the developer and feel it’s worth it then it’s a good decision
I'd rather not do it and claim it my own lol
||offtopic so ill put in this spoiler but i just godbridged 22 blocks pog||
It's close to dev-relating anyway, so it's good
oh i have question
Also
but I just godbridged 22 blocks pog
Who asked :thonking:
Packets based yep
Nay

what packet?
"Nay"?
nay = no
Neigh
Nein
Also, packet doesn't even sent when interacting on air without anything in hand (right click)
And it's constantly sending packets so figuring if it's holding or not is almost impossible, hence why i said nay
hm
so theres no way to detect when a player stops holding right click?
bc i can use playerinteractevent for pressing it
but idk about un-pressing it
Yes it does
There's an Action for PlayerInteractEvent for RIGHT_CLICK_AIR
It's cancelled by default
fefo
do you know how to detect when a player isn't holding down right click anymore
or
detect when a player is holding down right click
No clue lol
😭
But not when bare handed I think
Yes it does
You can use that to make clickable holograms
But again the event is cancelled by default because the vanilla action is to do nothing
Hey, i purchased VotePlugin, should it be ran alongside another plugin
It's advertised as an all-in-one, but doesnt even seem to have the basic /vote
So on my website admin page I want to be able to edit each row in the database, but i want a different page from each table
So each page is basically the same it just has different data
how would one do that (react)
Actually, it doesnt. Right click air with no item in hand doesnt send a packet from the client at all
Pulse, these "videos" don't work cross-platform lmao
lmao
(wrong channel)
@obtuse gale 🤷 https://imgur.com/a/HeEoqTc (sorry for the double ping uwuwu)
who was the one who had issues sending sounds with packets?
@hallow crane 'twas you!!!
This is explained in the protocol specification, you need to multiply the sound location by 8, the 24 most significant bits of the integer are the integer part of the location and the 3 least significant bits are the decimal places
tl;dr all you have to do is multiply the coords of where you want the location by 8 and then cast to int, tested about an hour ago, it works just fine like that
That also means that if you don't multiply by 8 the sound location will be "shifted" towards 0;0;0 so it may sound right at 0;0;0 ±1 block
question
answer
hope it helped 10/10
I want my website to have multiple pages for some of my database tables, those pages have like a table of all the rows, and a area to edit the data in it,
So both pages will be the same in functionality, just different tables
Whats the best way to go about this (React)
Is hangar planning on having free only os plugins, or can they be closed source? Because it'd be fucking awesome if only os
hangar?
Yugi 🤦
foss?
free and open source software
Thank god
Not in it, but yea heard of it
just to connect some dots that stands for minecraft open source software
iirc
they've got essentials and factions and shit
Mhm
What is hangar tho
Paper's new plugin platform
Wait what
Probably the most accurate description
Bruh I swear to god you've asked this beforr
Before*
So like the spiogt marketplace thing?
Dont think so
Probably someone else
They'll only be allowing free open sourced plugins on there so not exactly a marketplace
Ahh
Have you guys worked with Bungeecord plugins before? Can I build them for Bungee and use them on normal spigot/paper servers or does bungee need a different API that isn't compatible?
bungee is a different api
So I need to make 2 different plugins if I want to support both?
not sure how that works
use bungee.yml as the bungee manifest and then plugin.yml as the spigot manifest. Then have different main classes and yeah pretty much that.
Don’t interfere Bukkit api with bungee api
Oh so I can package them in the same jar and bungee will ignore the plugin.yml and bukkit will ignore the bungee.yml?
Yeah, bungee reads bungee.yml if one exist, it doesn’t it will try reading plugin.yml
Yes
Die thrice?
since I don't have any bungee experience, I'm really not sure if that's sarcasm or not xD
And how are plugins distributed on the bungee network? Do I have the plugin on the bungee hub or on each separate server (or both?)?
Well that depends on the usage.
oof thank god
You’d firmly use bungee plugin to take advantage of retrieving additional information and not to mention utilizing plugin message channels.
Possible some event handling
And global commands
and the rest should be handled by the bukkit plugin?
got it, so the bungee plugin is only active on the hub I assume and it is sort of like the communication backend for the spigot plugins that are running on the separate servers?
That could be one way.
You can think of your bungee plugin as being some sort of mini proxy over the spigot plugins
You would use plugin message channels for that
so what's a clear example of the purpose of a bungee plugin that can only be done using the bungee plugin?
BungeeCord Plugin Messaging Channel?
It doesn't look like you need a bungee plugin for that purpose though
at least not if this is still up to date
The home of Spigot a high performance, no lag customized CraftBukkit Minecraft server API, and BungeeCord, the cloud server proxy.
the "idea" would be that the bungeecord intercept messages from spigot plugins and can the forward it so if one of your spigot plugins would want to talk to another, then it has to go through the bungee
yeah but to send messages from one bukkit to another you need to send it thru bungee
you can't just send it bukkit to bukkit
or use redis which is objectively superior
Also you can listen for stuff like when a player switches from Server to Server
and not just Connect/Disconnect I believe
yeah
yeah that's another thing
right but do you need a bungee plugin for that or does the bungee hub handle that kind of messaging already?
also the MOTD
Worst case relfect the command map
sorry I am not familiar with the terminology. I thought the bungee network has a central hub that is not actually a spigot server
at least that's how it was explained to me
bungee is what connects your backend servers together
You can use redis across a bungeecord network? Like have two spigot servers use the same redis?
yes
w/o using bungee
though it requires an external source
if you do end up using redis, I can suggest lettuce
redis 4 java lib
so redis would be an alternative to bungee?
yeah
nah
lol
incorrect
yes it has good pub subs
well if you want info from bungee no I guess
like players online or smtng
right, right
'gday
I'm getting stuck with attempting to override a vanilla command. Here's a snippet of trying to get any command:
@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args)
{
System.out.println("command:" + label);
return super.onCommand(sender, command, label, args);
}
The printline is only called when I run a command native to the plugin I'm working on (e.g. has the correct prefix), and not when running any other command.
Reason I'm trying this is to overwrite a vanilla command with one of my own. What am I doing wrong?
Yes, but I prefer redis pubsubs over simple plugin message channels
sure but it isn’t a bungee replacement
yeah sure
thats very basic innit?
@empty flint may I ask what you're going to use a bungee plugin for
yes
what's the exact issue here?
They and I want to overwrite a vanilla command
and are failing to do so on our own
so we come here to get help
lol okay
🙂
Do you know anything about reflection?
It might be less or more mandatory to have slight knowledge about it since I think you may have to use it in order to access CommandMap
(Spigot atleast)
Paper does expose it
Well yeah the CommandMap is essentially a glorified Map<String,Command>
I want my website to have multiple pages for some of my database tables, those pages have like a table of all the rows, and a area to edit the data in it,
So both pages will be the same in functionality, just different tables
Whats the best way to go about this (React)
Basically I would like to make my current spigot plugin work across a whole network, sharing data and communicating between the servers. Ideally host a webserver as well somewhere for a gui (instead of ingame inventory guis), dunno if that's a thing on some central hub or not.
you don’t need to remove it from commandmap
since you are using react you must build a whole api and then a seperate web app to connect to the api
Oh that'd be easier, but we want to support both spigot and paper if possible
any bukkit plugin’s commands has a higher priority than vanilla commands
Ive already made the rest api
Obvious
because you're you..
@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args)
{
System.out.println("command:" + label);
return super.onCommand(sender, command, label, args);
}
The printline is only called when I run a command native to the plugin I'm working on (e.g. has the correct prefix), and not when running any other command.
Reason I'm trying this is to overwrite a vanilla command with one of my own. What am I doing wrong?
If your only usage is communication, I think redis could replace that.
perhaps return true?
But
The super returns true
mhm
Well information sharing as well, which means I wouldn't have to code my own player list and server list and such. Would redis have any advantage to bungeecord? Also, didn't you say for redis to work across servers you need something inbetween?
Nah java reflection doesn't do that, it finds stuff from a specific class. Libraries like Classgraph or org.reflections do what you described
You need to set it up, that's at most trivial though. But if you want like a common scoreboard, tablist (iirc), global commands, better player connection api etc
then bungee might be a good choice
yeah, I think I will go with bungee then
Do I have to somehow register my command...? I'm not sure how to overwrite the command
Yeah problem with plugin message channels is that they require a player connection
wdy mean?
they use player connections to send data
So you can't message server-to-server?
Yeah
is there a way to circumvent that?
that's when redis would be the best replacement
public interface Server
extends Connection```
Server has 2 methods, 1 extensions, and 1 super interfaces.
Represents a destination which this proxy might connect to.
yep
proxy.getServers
net.md_5.bungee.api.ProxyServer#getOnlineCount
net.md_5.bungee.api.ProxyServer#getName
net.md_5.bungee.api.ProxyServer#getChannels
net.md_5.bungee.api.ProxyServer#stop
net.md_5.bungee.api.ProxyServer#createTitle
net.md_5.bungee.api.ProxyServer#broadcast
net.md_5.bungee.api.ProxyServer#getServerInfo
net.md_5.bungee.api.ProxyServer#getPluginManager
net.md_5.bungee.api.ProxyServer#matchPlayer
net.md_5.bungee.api.ProxyServer#getConfigurationAdapter
net.md_5.bungee.api.ProxyServer#setConfigurationAdapter
net.md_5.bungee.api.ProxyServer#constructServerInfo
net.md_5.bungee.api.ProxyServer#getPluginsFolder
net.md_5.bungee.api.ProxyServer#getServers
net.md_5.bungee.api.ProxyServer#ProxyServer```
net.md_5.bungee.api.ProxyServer#getServers
Is it only me or redis looks easy to use and cool?
idk never used redis. xd
Sooo for the information exchange on the proxy, one would use bungee but if no player is online, I'd have to resort to some other form of communication?
Doesn't that also mean the communication on bungee depends on the connection the player has to the server, meaning if they play with 300 ping then all the messages go through that delay as well?
I'm not sure but it wouldn't surprise me if that's the case
well that sounds dumb as shit
redis it is then?
idk
why would they code it like that tho
Thanks for nothing I guess
yeah I meant the classes in the package ofc lol
https://redis.io/
https://github.com/lettuce-io/lettuce-core
@empty flint might be interested 🙂
is this lettuce thing something you run on every spigot server then or does the server owner have to install something on a separate server?
How do I overwrite a vanilla command,
I cannot capture vanilla commands in my
public boolean onCommand(CommandSender sender, Command command, String label, String[] args)
I can only get the commands with my prefix.
How do I know when a certain vanilla command was ran because that function is not called when any command other than one with my prefix is ran
What is lettuce?
Aight
If you want to capture a command use the PreProcessCommandEvent
I think?
@steel heart I will definitely take a look, ty. I think I might actually combine bungee and redis. Use the bungee proxy server as a central server and run the backend logic from there, and then use redis for communication between the more front-endy spigot servers
For custom objects you can use gson, right?
that'd be smart
thank you

public boolean PlayerCommandPreprocessEvent(Player player, String message){
System.out.println("Command: " + message);
return true;
}
Prints nothing. Ever.
ugh
Sorry if I'm r-word
The home of Spigot a high performance, no lag customized CraftBukkit Minecraft server API, and BungeeCord, the cloud server proxy.
depends how u use it
It’s a lot of work to make it static
yes?
Or make it non static
Well, it does there
Well for it to access playerInv, playerInv has to be static aswell
d;paper Inventory#getTitle()
@Nullable
Location getLocation()```
Get the location of the block or entity which corresponds to this inventory. May return null if this container was custom created or is a virtual / subcontainer.
location or null if not applicable.
lmao
🤷 just look thru all of ur IDEs recommendations
getType will return InventoryType Enum
gotta love an enum
efe
google 'get title of inventory spigot'
oof
or efe
just use
mf gui
eee
?mf
Looking for useful libraries/frameworks?
Here are some which have been deemed useful by the community and are used daily.
-> Menus: https://mf.mattstudios.me/mf-gui/gui
-> Commands: https://mf.mattstudios.me/mf/mf-1/getting-started
-> Messages: https://mf.mattstudios.me/message/mf-msg
lol
no
weird
so many ways that can fail mmm
doing like 50 operations in one line
@NotNull
public abstract String getTitle()```
Get the title of this inventory window.
The title.
[12:33:04 ERROR]: [Iris] Iris v1.3.2 attempted to register an invalid EventHandler method signature "public void com.volmit.iris.manager.command.CommandLocate.PlayerCommandPreprocessEvent(org.bukkit.entity.Player,java.lang.String)" in class com.volmit.iris.manager.command.CommandLocate
You can't pass in your own arguments Coco
u gotta put ur branding in there
nought wrong with that
Which kinda makes no sense but oh well
https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/event/player/PlayerCommandPreprocessEvent.html shows PlayerCommandPreprocessEvent(Player player, String message)
my code:
@EventHandler
public void PlayerCommandPreprocessEvent(Player player, String message){
Bukkit.broadcastMessage("command " + message);
}
@EventHandler
public void onPlayerCommandPreprocess(final PlayerCommandPreprocessEvent event) {
// code
}
we need to use discord as an ide
ah
I hate that video
Yes efe, good one
thanks
Didn’t wanna see someone being discriminated against and killed 
Those are all awesome
He’s a dad now 
dk man I feel like you guys are simping to much for that NF guy
Or going to be
"that NF guy"
no
I'm an interstellar worm
but I am not allowed to tell you that so now I need to kill you all
Please do nuke this planet
Do it
oh don't worry its allready in the works. not to much until I'll feed on all your souls
@hot hull Thanks, that worked.
I'm still getting the default output for the command as well though, any way to prevent the command from going though, e.g. if someone types /ban it doesn't actually run the default command code?
I feel like you’re all just really late to listening to certain music
Hurry up then smh
Coco, Show me what you have right now
barrier
Use an RP and make a ban hammer dumbass
public void onPlayerCommandPreprocess(final PlayerCommandPreprocessEvent event) {
Bukkit.broadcastMessage("Pog");
}```
I mean, fair point frosty
yo I don't hate NF. I actually listen to it but people in here actually simp for him. there are some songs I can't even listen to from him but they're like. listen its so good i
Check the message given by the event, and cancel if it contains /ban
Can you elaborate on cancel?
event#setCancelled
well I can't disagree with you here.
Yeah you’re all very late to certain artists 
ty
what does that even mean and what artists?
I've been listening to nf for like 5+ years now, which is pog
Then you’re fine but efe
Yes sir
Watch this will be a song I listened to Atleast 10 years ago
Okay guaranteed

Yes
What are you doing, choking them to silence???
xd
Ori idk if I'm late to NF but that's not the thing. for me the vibe matters just as much as the lyrics and when you have just dark vibes its not for me. and that's why I don't like some of NF's music.

I want my website to have multiple pages for some of my database tables, those pages have like a table of all the rows, and a area to edit the data in it,
So both pages will be the same in functionality, just different tables
Whats the best way to go about this (React)
poor aj. keeps copy pasting the message xD no help for him today
shush
yep lol
efe, paper
idk any backend so I can't help you
But again, RP.
Gonna start using them when 1.17 drops, the amount of cool shit
I've worked like 2 months with Resource packs. I gave up after I kinda got scammed
why??
Buying the cheapest smartphones in 2021 from Wish / eBay / Aliexpress!
Limited Time Offer: Go to https://Surfshark.deals/boss and enter promo code BOSS for 83% off and 3 months free!
Subscribe for more content (IT'S FREE) : https://goo.gl/pLg6fE
It would make my day if you could also follow me on:
🌈 Instagram: https://goo.gl/OUqBBa
🐦 Twitter: ...
why does he use wish.com?
Lazy fuck
well then don't make your own admin system
lmao
just use litebans
way cheaper, faster and better
like wayy wayy better
Why make your own plugin if you don’t wanna do the work
Make a skyblock plugin
I keep telling people this
Most of you are incapable of making a decent one
But I encourage you to try
It’ll keep you busy
oh man I have to go work on this core again. fuck
me_irl
no me
@hot hull Thank you so much for your help, I managed to make it work.
Much obliged!

I will never understand, why in the loving fuck my plugin decides to take up to 12 minutes to compile a jar
do you use gradle?
yes
Takes some time to start it if you're doing other stuff at the same time
Gradle does appear to have slower compile times than maven
it can depend
gradle is usually much faster but it occasionally seems to have spikes where it takes a long time
I think it only happened at first boot for me
gradle does not have slower compile times, it only takes some additional time initially to start its daemons and some to parse and run the build file
however its task system is a lot more sophisticated and efficient than maven's goals
linear lifecycle? couldn't be gradle 
Yeah I don’t really use gradle enough so I was likely just seeing the first time longer compiles
make a component where you can provide fields and data as properties
then just have a view per page where you use that component
no its not because I have something else going on
its that plugin in specific that takes 3-12 minutes
every other plugin takes 300-500ms
damn free money in #805698761442590730
👀
is it tho?
imagine undercutting your competitors by saying you'll do it for free though
Hi
these are the sorts of requests I like to snatch up and avoid people overpaying for lol
dw it wasn't that much free money
Ah yes because why pay for honest work when a kid with too much time can do it for free!
and we wonder why people underpay minecraft devs lmao
Because of people like Bardy
The request wasn't just a plugin to check PAPI placeholders. he wanted custom placeholders as well.
And their 2 brain cells (no offense bardy)
fuck you too
<3
love you BBG
you know how I am
With that I mean your viewing position on the matter, not your intellect
you should just start completing #805698757411995648 then
yeah I know
if you have that much time lmao
lol
I was gonna meme on top of that, but that'd be mean
I just don't like the idea of people paying someone for something this easy
especially not $20
what's so easy about that?
it's PAPI lol
no its not
that's what I'm tellinjg you
I messaged the guy
he wants custom placeholders to get other servers motd
they told me they wanted it for PAPI
let's see if I can make something that works first time lol
if it was just PAPI then yes. but he told me that PAPI is not even necessary just custom placeholders at least. PAPI if I want
whats a good price for around 25 hours of work 👀
just going to ask them to make sure lol
fuck all xD
😳
about a request-paid
it got removed dw
it was " a good deal "
literally just papi + String#equals for $30
someone wanted a plugin that executes commands when some custom placeholders match a value
not true BM
👀
once again
well
he wanted custom placeholders
pretty much
this is a bit more complex than that
he wants you to intercept when a placeholder is replaced and run a command if the value of the replacement is a certain value
ah
still not worth $30
every tick
not sure it said that on the request lol
which I believe is pretty much impossible
😠
it was $20-$30
any opinions? ||im horrible at pricing||
also I was thinking of something else lmao. for some reason I also thought he wants custom types like equals equals ignorecase contains etc.
is it even possible to listen for plugins replacing placeholders?
you should calculate that. you know how much you've worked in those hours
depending on the work $10-$15/hr seems reasonable
just have a runnable lmao xD
uh
oh wait now that I think about it its not as easy as having a runable
because he wants the commands just once
i tend to do like $0.50 per hour
when its replaced
$10-$15/hr? jesus christ I miss out on a lot
not every time lmao
for fixed price same
that's a good price.
i meant
xD
if paid hourly i'd usually ask for $15
the person I work for sponsors me on Patreon for £10 a month now for the work I do lol
yes but like is his time as good as yours? Like you can probably do much more in the same amount of time as dkim. so that's why I think prices should vary from person to person as well
im still java nub
like that's why I like more payment per work not per hour
imagine counting your hours
if it was a commission why didn't you arrange a price in advance lol
because I know I can spend 1 hour but others can do the same thing in maybe 30 minutes
also that
you should have TOS and a price set at the beginning
whats piggys tos
piggypiglet.me I think
also I've seen people charge for fixes on their own broken shit.
which kinda sucks.
👀
can't find it
that's probably the best ToS I've seen in a while
link?
also, you remember you mentioned that runnable task?
Tearms Of sERVICE
blitz
o
dkim you know you can just type that into the search bar right?
im blind
yeah I know it won't work BBG
how would you even do that?
said above why
yeah
i couldn't find the tos
so it's impossible then
not just when its changed
what he's asking for is impossible
without changes to PAPI (to have an event fire every time a placeholder is replaced)
ah for PAPI yes. for custom ones tho not for all.
nah i think it would be possible
i have a question
There is no time to wait! Ask your question @half harness!
you could make a placeholder that delegates it
how? PAPI doesn't fire na event on every placeholder change
wait what's the actual request
execute a command
once a placeholder is changed
and matches a value
but just once
like you can't just do runnable
it would do it every time
it finds the same value
just add a check lol
he wants it only when it changes
store the previous value and compare then
that's literally impossible then
yeah I thought about that as well but idk.
im like 80% sure it's possible
without making some hacks.exe like a runnable every tick (that would probably sacrifice performance)
well I am sure it is possible and impossible lmao
i dont think the performance hit would be that bad
or changes to PAPI to have an event be fired every time a placeholder is replaced
yeah if there's many options in config then yteah probably
scoreboard plugins do placeholder parsing every tick afaik
but if they're just a few then probably not that bad
what should I do if this happens: ```
- Give plugin (just a medium sized one... $5 worth)
- They dont respond
- They say they have issues with their pc
- They don't respond for days again
- They ask "How is you?"
- They say they got their paypal banned
lol
It's just $5... so im not going to go all crazy about it
lol
I was thinking of a blacklist. where I would just add people that don't pay or are just crazy or anything and don't work with them in the future lmao
a guy didnt pay me for a $20 plugin when i was like 12, i felt really sad
lol
@hot hull doesn't get paid on a daily basis so you can ask him lmao
damn is it bad if I use ConfigMe and Spigot's getConfig? xD
linked lists
usually array
I'm trying to make "ids" sort of... but currently I just use UUID.random() or whatever the method is 😂
im lazy
I need to read the COnfigMe docs 😦 to understand what bean proprieties are. I hate reading 😦
property = field + getter + setter
yeah but what's a bean
nothing wrong with that
but i make the users type the uuid
ah
ah so I can just save custom type objects
you can probably use static for that
good idea 🤣
😳
data class Blah(
val id: Long = ++highestId
) {
companion object {
private var highestId = 0
}
init {
highestId = max(id, highestId)
//If we're deserializing something with an ID of eg 6, we need to make sure that highestId compensates for this
}
}
``` i did something like this recently
pretty clever imo
hmm I don't like configMe. idk how to get a list of lists xD
triumphconfig 
its just updated configme
that looks proper whack
tho I'm thinking of updating because I like the @Path annotation
quiet
it's pseudocode
and effective
ez incrementing ids with no duplicates
fair
is 1.0.1 latest version of trimph-config?
yo @ocean quartz need a little help. I added the path annotation but it still takes the first value as the path? https://i.imgur.com/T5k2BYf.png.? I think I'm using 1.0.2-SNAPSHOT
oh wait. there's even 1.0.5 lmao
welp
fuck
Lmfao
Blitz wtf, why are you using ConfigMe stuff?
Doesn't matter the version you don't create a property like that and you don't need jvmstatic
Why do you need a property mapper?
yes I know I've changed that.
Why do you need a property mapper?
Oh
Where did you even see that?
I can't even find it now lmao
@prisma wave going back to my earlier thing about the messaging thingy btw, if I'm publishing a message to every server and waiting to deal with a response from one of them, how can I know when no one has the player?
I ain't using a timeout, since that's going to be super slow
and I'd rather not have every single server send back a response
anyways I figured it out. yeah idk why I thought I need that. I forgot lmao.
and Matt I just thought its all same as ConfigMe just change the path in the annotation. I didn't know its Property.create
I made it a lot different, the property initializer was annoying to use and wouldn't work well in Kotlin
easiest way would be to send a response back from each
fair
yeah I didn't know that since there's no documentation I went for an old message you sent but then found out there's 1.0.5 not just 1.0.2 and also decided to go thru triumph chat to see how you used it
Yeah i need to write that stuff 😫
Just to verify .find() in matcher checks if any ocurrance is found within the string, but .matches() checks if the whole string matches, right?
matches will check if your input matches the given regex
find will give you a match
matches basically adds ^ and $ and the beginning and end of the pattern so to say
And checks the whole thing
in my case, i want to check if a version is a specific version like it matches 1.8,1.9,1.10,1.11,1.12
and its not guaranteed
that it will always whole thing match cause of sub versions
so would i use .find()?
cause .matches checks the whole thing, and 1.8.9 does not match to 1.8 if its the whole thing
Yeah sounds like you would use find
Kk sounds good
i was like wtf my regex works wat lol
then i realized it was matches()
this sounds like you perhaps shouldn't use a regex
well, originally i made an imutableset
of the legacy string versions
then made a loop
but i found that regex could get the job done
what is it that you want to do exactly
check if one version is higher than another?
No..
Just get the server package, split it and get the exact version?
i could do that, but in my case its limited to a specific range of versions
Doesn't change the fact
well im using Bukkit.getVersion
and checking if it contains a string
by using regex
im only using the server package thing for nms
Bukkit.getServer().getClass().getPackage().getName().split("\.")[3] iirc
Which gives you everything you need
Bukkit version won't tell you the R version of the server
i dont need that tho
Whos that aimed at Pulse
im just checking if the server version is between 1.8-1.13
lol
idc what sub version
it is
So then use what I said and just check with that?
if (Bukkit.isPlebVersion())
Pattern.compile("1\\.(?:8|9|10|11|12)").matcher(ver).find()
where
final String ver = Bukkit.getVersion();
fun Bukkit.isGodVersion() = Bukkit.getServer().javaClass.`package`.name.split("\.")[3].contains("1_8")
```xD
lmao
You should be shot
bardy
unfortunately, we must accept that 1.8 is still widely in use for PvPers
if it wasn't, I wouldn't support 1.8
Broken record
^
You can still not support it
I'd rather support it for now until it drops out of use, then drop it
well
should be a gamerule to enable 1.8 pvp
i was actually pretty surprised yesterday
1.8 is only something like 6% of all servers
i thought it was much bigger
yeah it's going down
including viaversion?
idk
@forest pecan show him the ss you sent over a few days ago or whenever xD
from the IS discord
the kid
I don't think the 6% is actually small lol
Iridium Skyblock will be dropping 1.8-1.12 support soon
it is compared to the like 85% of servers that are on 1.16 variants
well, Iridium Skyblock's getting it's database system rewritten to use ORMLite thanks to me as well
@jovial warren ^ do you still want to support 1.8? with guys like that?
ugh
Many friends i know still obsessed with 1.8 however


