#dev-general

1 messages ยท Page 613 of 1

stiff dune
#

Hello

#

Could some one help me

rugged spear
#

maybe someone can help you

#

just write the problem or google it!

#

how to get it??

distant sun
#

because you are using lombok

onyx loom
#

idk how big trove4j and ur geoip dependency is but they sound pretty big
what u can do is create a shadowJar task and call minimize() to it

#

also this^

wintry plinth
#

Ahhh I see, thank you, I think I have to move geoip to download on run sadly too, because of the rules

distant sun
#

Only premium plugins have a size limit I believe

wintry plinth
#

Ahh I see thank you, I wasn't sure ๐Ÿ˜‚ I need to have it download geoip too i think their rules idk someoen flagged it to me

#

but been a while

onyx loom
#

I think if its over 5mb then ud have to have an external link to bypass the size limit but ye

distant sun
#

Essentials just asks the users to download that file

wintry plinth
#

oh does it :o interesting

#

Im not sure the best and easiest way to do it for people, happy to consider any PRs, I'm not sure where to start haha

lunar cypress
#

They're right, you don't even provide a license

#

and does this service even have a privacy policy?

wintry plinth
#

@lunar cypress not yet, looking to get one next once we're stable

tiny kelp
#

Hey , does anyone how to do this : if anything is changed in a certain file in a spigot server , that thing will take effect in whole network

rugged spear
#

Hello

#

I need an idea for a project

#

So i can start do things and learn more about Bukkit api

rugged spear
static zealot
#

xD

#

its a good list tho

cinder flare
#

wdym stop sending this

#

that's like the best list of stuff to learn for bukkit

rugged spear
#

hm

#

i have done 3 of 15

cinder flare
#

then do the other 12

rugged spear
#

ok les do this

onyx loom
#

๐Ÿ˜‚

rugged spear
#

nice

#

i dont know how to random tp players

static zealot
#

you generate random coords

#

and teleport them there

rugged spear
#

oh

onyx loom
#

u use blitz' plugin

rugged spear
onyx loom
#

?

static zealot
rugged spear
boreal needle
wintry plinth
boreal needle
#

by eu and by extension uk law, you need a privacy policy if you collect information

wintry plinth
#

Which we want to get done properly, rather than some random templated one

#

Which the majority use

#

Nobody is going to come after us, considering we've just launched haha, its planned, we're doing things the right way ๐Ÿ˜„

#

Hence registering a business, etc

boreal needle
#

doing things the right way
that is not doing things the right way

wintry plinth
#

No worries

rugged spear
#

so i generated the coordinates and teleported the player there i need to fix something and its done ig

#

fixed

obtuse gale
#

amazing

rugged spear
#

from 2.9999999E7 coordinates to a min and max

#

lol

#

i will make a config about min and max

obtuse gale
#

great idea

rugged spear
#

im trying to random tp the player in a selected world but the command wont load lol

#

final loadded

#

YESYY

#

ITS WORKD

static zealot
#

nice

obtuse gale
#

great work

#

keep it up

rugged spear
#

ok now i need to revamp the command cuz its trash lol

obtuse gale
#

classic trash command moment

rugged spear
#

done i think its perfect

#

so uhm how to make an val usable in other methods?

boreal needle
#

depends on the context

rugged spear
#

i made a fun for load my config thing

#

and now i want to import in other fun

#

(kotlin)

#

cuz i know how to do in java

boreal needle
#

again, depends on the context

rugged spear
#
        val prefix = config.getString("messages.prefix")
        val rtp = config.getString("messages.rtp")
        val rtpw = config.getString("messages.rtpw")
        val spefworld = config.getString("messages.spefworld")
        val wrongworld = config.getString("messages.wrongworld")

        val min = config.getInt("rtp.min")
        val max = config.getInt("rtp.max")
    }```
#

this

boreal needle
#

oh

#

uhm

rugged spear
#

yea

boreal needle
#

instance members probably

rugged spear
#

with java was easy

boreal needle
#

its the same as java if youre using a class

#

same in an object except basically static

rugged spear
#

class RandomTeleport

#

yes it a class

#

uhm

#

so like val prefix: String ??

#

cuz its not owrk

boreal needle
#

tbh i would move this out into its own class

#

create access methods for each property

rugged spear
#

oh ok but there are many thing on the OnCommands fun

boreal needle
#

without any context that doesn't mean a lot

#

or any code

rugged spear
#

yea

#

omg command thing is so annying

wintry plinth
#

Any good libs these days for requests that is light? Needs to be java 8 compatible sadly

obtuse gale
#

okhttp is pretty much a staple before java 11 for that stuff

rugged spear
#

bruh wtf ๐Ÿ’€

#

my cmd method is fcked

wintry plinth
rugged spear
#

fixed

#

but cmd in console have error

#

i give up to fix

#

i copied and paste past work and still have the same problem wtf

rugged spear
#

wtf

#

val rx = random.nextInt(max - min) + min val rz = random.nextInt(max - min) + min

#

i dont know

#

nvm maybe

#

typo error lol

obtuse gale
#

can you show the actual teleport bit maybe a bit before too?

prisma wave
#

:nokotlin:

boreal needle
rugged spear
#

i put rz and rz

#

and not rx and rz

rugged spear
#

kotlin is sexy

#

anyway done, i dont know how to set spawn i tried but didnt work lol

ocean quartz
boreal needle
#

kotlin is an interesting language to say the least

rugged spear
#

i dont know

#

i will use the random.nextint lol

ocean quartz
boreal needle
#

kotlin is good

uses java standard library

#

nice

rugged spear
ocean quartz
#

Which error?

prisma wave
#

kotlin users deserve the electric chair

boreal needle
#

thats a touch extreme dont you think?

rugged spear
#

nvm

ocean quartz
#

Well ofc lol, you need to add the min and max values, the same way you would with random.nextInt

rugged spear
#

fixed lol

#

finally done

#

simple and fast

#

my friend say kotlin is sht and java its the best

#

so i dont know to make plugin in kotlin or back in java

half harness
#

kotlin

rugged spear
wintry plinth
#

Java

rugged spear
#

meh

#

gonna make php plugin

#

for pocketmine

wintry plinth
#

Yes lad

rugged spear
#

anyway kotlin is more simple

#

but sometimes i want to be on java

#

lol

half harness
# rugged spear https://github.com/xNotro/RandomTeleport/blob/master/src/main/java/org/xnotro/ra...

btw a couple suggestions:

  • don't ever ever ever ever ever ever ever use !! - in line 19, use ? instead, that just means call setExecutor if getCommand is not null
  • in onCommand check if the sender is a player
  • instead of making the variable at line 36, combine the declaration and assignment (so val worldTarget = ...)
  • player instead of p ๐Ÿ˜Œ
  • don't use cmd.name - no point if that's the only command you register (and if you have multiple commands you should probably register them in separate classes)
  • use JavaPlugin#getLogger instead of println: logger.log(Level.INFO/SEVERE/WARNING, "Message") or logger.info("text")
#

oh and

#

lable

#

๐Ÿฅฒ

#

(use IntelliJ to generate onCommand)

rugged spear
#

wtf

half harness
#

lol

rugged spear
#

wait

#

lemme fiux

#

fix

half harness
#

|| gradle ๐Ÿฅบ ||

rugged spear
#

anyway thanks for the tip of !! and of logger cuz i didnt know that lol

half harness
rugged spear
#
  • the thing of cmd.name.equals("cmd")
rugged spear
#

other things to fix or make it better?

half harness
# rugged spear done updated check it again

nice ๐Ÿ‘
it'll still throw an error in console if you try sending the command without being a player, so do ```kt
override fun onCommand(sender: CommandSender, cmd: Command, label: String, args: Array<String>): Boolean {
if (sender !is Player) {
sender.sendMessage(prefix + "You cant send message on console")
return true // exits onCommand method, so below won't run
}
// val player = sender as Player - kotlin already knows that it's a Player so this variable isn't needed anymore
}

half harness
rugged spear
#

and

#

for get player?

half harness
#

wdym?

rugged spear
#

its ok val player = sender as Player?

half harness
rugged spear
#

i mean for

half harness
#

kotlin will know that the sender is a Player, so you can just do sender.location for example

rugged spear
#

player.getworld ect

half harness
#

yep, that'll work too

rugged spear
#

oh

half harness
#

sender.world

#

kotlin ๐Ÿ˜Œ

rugged spear
#

ok so no player?

half harness
#

nope

#

u can remove it ๐Ÿ˜ƒ

#

also note that saveConfig() removes all comments from the config, and since it doesn't seem like you're writing to the config I'd remove that (bottom of the class)

and some naming conventions: ```
rtpw -> rtpW (I don't know what the w means, but it probably has to be capitalized)
spefworld -> spefWorld
wrongworld -> wrongWorld
minc -> minC
maxc -> maxC

variablesShouldBeNamedLikeThis

rugged spear
#

yea i know

half harness
#

alr

sweet cipher
#

And they should be clear to other people what they mean

rugged spear
#

the code isnt commented

#

its just for test

#

if that work

#

cuz i spent many hours at pc doing things that doesnt work lol

boreal needle
#

ideally name your variables a little more descriptively

rugged spear
#

the orginal name var was

#

like a1 b2 c3

#

xd

sweet cipher
#

Good obfuscation

half harness
#

oof ๐Ÿฅฒ

rugged spear
#

then i make it more understandable

#

for me and other

#

when its work all

#

obv

obtuse gale
#

It should be self-descriptive

prime willow
#

does anybody here know the vehiclesplus api?

obtuse gale
#

Clear variable/class/function names, clear control flow/intent/logic

#

Hello chilli

sweet cipher
#

Hi

half harness
#

Hi

#

how are you

sweet cipher
#

Good

prime willow
obtuse gale
#

Absolutely terrible

sweet cipher
#

How are you?

prime willow
half harness
#

I'm good ๐Ÿ‘

sweet cipher
#

Hi

prime willow
half harness
sweet cipher
#

Good

half harness
prime willow
#

whatever was the ping in the bot commands section for some reason i can't see it.

obtuse gale
#

You leveled up

prime willow
#

anybody know the vehiclesplus plugin? just asking.

sweet cipher
#

Sorry what do you need help with?

prime willow
sweet cipher
#

Oh okay

#

I wasnโ€™t sure before

#

Anything specific?

boreal needle
rugged spear
prime willow
#

i'm just trynna make a script one off for something, since i've tried before but for some reason no plugins i make work, but if i send them to somebody else who sends them back to me they do...

rugged spear
#

or if its clean i dont

rugged spear
#

done now should be more clean i think lol

prime willow
# sweet cipher What are you trying to make?

i'm trying to make a java script to spawn in a custom vehicle from that plugin, since currently ppl can only access them via gui, but i'm just trying to do a command that spawns the vehicle instead.

prime willow
sweet cipher
#

Does it have a JavaScript api?

#

And what have you come up with so far?

prime willow
sweet cipher
#

Ok

urban sleet
#

That is java, not javascript

prime willow
prime willow
urban sleet
#

A significant one yes, java and javascript are very different

boreal needle
#

think car vs carpet

prime willow
prime willow
urban sleet
#

Which would be very simple

prime willow
urban sleet
#

Yes

prime willow
prime willow
urban sleet
#

No not really

prime willow
urban sleet
#

You ping a lot ๐Ÿ˜…

prime willow
urban sleet
#

If you don't know any java, you should probably start there

prime willow
urban sleet
prime willow
urban sleet
#

I guess something like skript exists but I wouldn't recommend it

prime willow
urban sleet
#

Yeah, your best bet is gonna be making a simple plugin

boreal needle
prime willow
agile galleon
#

Pom.xml & Gradle wideeyes

prime willow
agile galleon
#

No

#

Just dont do it if you cant

#

And hire somebody

#

We have butiful channels here

prime willow
urban sleet
#

You can also suggest it to the author of the plugin

agile galleon
#

Right

#

I think thats the first thing to do

prime willow
agile galleon
#

What should the command do

#

Havent got around reading the whole conv

prime willow
#

it's the vehiclesplus plugin.

urban sleet
#

It's literally just spawning a vehicle with a command

prime willow
#

i want to be able to spawn vehicles using commands, not gui.

agile galleon
#

Does the plugin have an api?

#

Do you have a link for me maybe

mental trench
prime willow
agile galleon
agile galleon
prime willow
agile galleon
#

Link ples

urban sleet
prime willow
urban sleet
#

I'm just saying it's simple enough the author should implement it

agile galleon
prime willow
agile galleon
#

cough Minecraft

urban sleet
prime willow
prime willow
urban sleet
#

Yes that is what I said earlier

prime willow
mental trench
#

and made the whole system to fit that

prime willow
mental trench
#

its not that easy (sometimes) change the whole thing to "add a command"

prime willow
prime willow
agile galleon
#

You should have one class

#

That is managing vehicles

prime willow
#

i'm not smart

#

๐Ÿ˜”

agile galleon
#

You are not the author tho

urban sleet
#

Would be nice if the vehicle plugin was open source

agile galleon
#

Yeap

prime willow
mental trench
prime willow
mental trench
#

this is a "system was made like that, if i ever add that, it might take time and i currently dont have time" thing

agile galleon
#

Yep

mental trench
#

even if not, you can even try playing around with some reflections or something

#

however, asking the dev is usually easier (sadly, not all devs have time for breaking changes)

#

and thats a reality people need to learn to accept

urban sleet
#

If developers would open source their plugins than most of these things wouldn't be an issue

prime willow
#

i'll probably just try to think of some weird inefficient way around it then, that usually works.

mental trench
#

yeah, probably, but dealing with pull requests and that stuff for a couple of plugins needs time (and as mentioned before, many dont have time enough for that)

#

now imagine with 4, 5 or more plugins

urban sleet
#

Or people can just fork it and use the fork for themselves

mental trench
#

additionally, some are not "familiarized" with github enviroment

mental trench
urban sleet
#

?

#

That's what I do

mental trench
#

you

#

you are not everyone

urban sleet
#

I'm not the only one who does this

mental trench
#

people start with "but add this"

#

"hey i made many changes in the code, check them out"

#

"hey, this is better doing it this way for this this and that"

#

and not everyone has time for that

#

additonally, many people dont even like sharing the code

urban sleet
#

I don't see how that could be an issue, it is probably easier to click "merge PR" than to code something

mental trench
#

some dont know how to manage them correctly even

#

(me included)

mental trench
#

(me for example)

urban sleet
#

But it's just reading code?

mental trench
#

click to read

#
  1. requires time
#
  1. know where to click to read the code (yes, im that dumb even for that)
#

i wish i could open source my plugins

#

but time isnt enough for that

urban sleet
mental trench
#

open source something = time to manage it

mental trench
wintry plinth
#

I can agree open sourcing comes with the burden of managing issues, pull requests etc (mainly when your thing is larger, is when you have to deal with it?

mental trench
#

@quick flume

#

โ˜๏ธ

obtuse gale
#

@static zealot

static zealot
#

ty ty

#

and sorry

mental trench
#

blitz is faster than cj

static zealot
#

well cj has no moderation perms

#

lol

#

trusted is moderator, support is literally just support

mental trench
#

ahhhhh

#

i'll ping you next time

quick flume
#

ah

#

I was very confused

#

understand now

#

I thought you were trying to tell me to open source all my shit or soemthing

solar cradle
#

Should still do that ๐Ÿ™‚

mental trench
cinder flare
ocean quartz
#

New windows 11 notepad thonk

solar cradle
#

Doesnโ€™t look too bad!

#

Also, dark mode fingerguns

ocean quartz
#

They fixed the minecraft icon!

static zealot
#

notepad kekw

solar cradle
#

I just changed it to the old one xD

sweet cipher
cinder flare
urban sleet
#

How do I run buildtools for 1.16.5? I need to switch java versions

#

(windows)

half harness
#

java -jar BuildTools.jar --rev 1.16.5

urban sleet
#

*** The version you have requested to build requires Java versions between [Java 8, Java 16], but you are using Java 17
*** Please rerun BuildTools using an appropriate Java version. For obvious reasons outdated MC versions do not support Java versions that did not exist at their release.

half harness
#

i personally just have different env variables for each (8, 14, 16, 17)

#

ยฏ_(ใƒ„)_/ยฏ

urban sleet
#

I know how to make environment variables, but how would I use them when doing the buildtools command?

half harness
urban sleet
#

Awesome, thanks

half harness
#

np ๐Ÿ‘

urban sleet
#

I think my PC is going to explode running 3 different buildtools at once ๐Ÿ˜‚

#

1.18.1, 1.17.1, and 1.16.5

half harness
#

(make sure they're in different directories btw)

urban sleet
#

Yeah I made 3 different ones

half harness
#

alr

#

ik i've asked this already

but

i forget

but

how does paper take like half a minute but buildtools takes like 5-10 mins

sweet cipher
#

Paper weighs less than tools

obtuse gale
#

paperclip patches the server jar itself (it contains the .patch of the jars)

#

buildtools has to remap, unzip, decompile sources, patch sources, recompile, remap, zip

#

basically the entire development process

ocean quartz
#

Pain

#

The paper system is just so much better

half harness
#

wait what

#

how

#

on github theres the .patch files of the source

obtuse gale
#

yes, for development you patch the sources

#

but when you go ahead and build paperclip, it compiles it, jars it and takes the diff of the jars

half harness
#

i also didn't know you could .patch binary files ๐Ÿ‘€

obtuse gale
#

it's just the difference between two files

#

well, it can be many but in this case it's the diff between two files

half harness
#

difference?

obtuse gale
#

yes

#

the difference

half harness
#

but

#

patches

obtuse gale
#

what about it'

#

?

half harness
#

dont show difference

#

wait what

obtuse gale
#

how not..

half harness
#

because

cinder flare
#

I mean yeah patches are literally git diff files

half harness
#

nono thats not what i meant

obtuse gale
#

.. ?

half harness
#

nvm

#

ty

cinder flare
#

lmao

half harness
#

๐Ÿ˜ƒ

urban sleet
#

Failed to execute goal on project NexEngineCompat_V1_17_R1: Could not resolve dependencies for project su.nexmedia:NexEngineCompat_V1_17_R1:jar:2.1.1: org.spigotmc:spigot:jar:remapped-mojang:1.17.1-R0.1-SNAPSHOT was not found in https://hub.spigotmc.org/nexus/content/repositories/snapshots/ during a previous attempt

Any idea how to fix this?

urban sleet
#

I'm more confused as to why for some reason the 1.16 worked fine but not the others

mental trench
#

tried 1 by 1?

urban sleet
#

I was just using mvn clean install

I don't know much about NMS, all i'm trying to do is add one tiny little feature to this plugin ๐Ÿ˜…

ocean quartz
urban sleet
#

Ohh thank you!

#

Do I need to do it in a seperate buildtools folder?

ocean quartz
#

Don't think so

viral grove
#

Can anyone enlighten me on the pros and cons of the library loader? (plugin.yml)

sick belfry
#

this is enough

#

help me

obtuse gale
#

You also can't specify other repos

#

Now I haven't really used it myself but it introduced a bunch of class loading issues and random, sporadic bugs in spigot, somehow managing to close some plugin's classloader so they just start erroring at random, even when not using it (the system is active still)

lunar cypress
sick belfry
lunar cypress
#

YES and then edit the version in gradle/wrapper/gradle-wrapper.properties

sick belfry
#

yeah I remembered

#

doing that

viral grove
obtuse gale
#

๐Ÿฅด

pastel imp
#

uh.... someone turned skript into an actual language?!

static zealot
#

what the

pastel imp
#

ye....

#

it actually looks quite solid in some ways

#

but whatever, you can't do much with it anyways but props to the guy

static zealot
#

is there a quick way to check allocated and remaining storage space for pterodactyl?

static zealot
#

yeah. found out that in the node settings it shows how much I allocated. And to get remaining I Just need to add up all the servers and subtract

primal crystal
#

Yepp

static zealot
#

wish it would've shown used space tho

#

bcz I've got quite a few servers xD

eager fern
#

who?

static zealot
#

your mom asked

primal crystal
static zealot
#

well turns out I have 35 GB of storage left

#

it shows allocated space only. which is not used space

cinder flare
#

i ran out of space on my ptero machine once

#

was very awkward

#

it fucked up my cron jobs too

sly sonnet
#

how can you possibly run out of space nowadays? like storage is so cheap atm

cinder flare
#

VMs and lots of backups

#

we stored 5 backups of each server, each of which was like 10GB

#

then I moved it to the server where the node was on and that solved a lot of problems lol

#

but the managing server just had a web server on it and like 128GB of storage

#

so it filled up pretty quick

rugged spear
#

hello

#

my lovers

#

how to setspawn after 5s?

#

and send title while the player isnt moving and if the player move the setspawn should stop

#

(too much?)

#

i need to storage my xyzyp?

#

les try and see

primal crystal
rugged spear
#

ok thanks

rugged spear
#

how i can use bukkit scheduler for save my config after 2s? onCommand fun

#

found fun but tf i can do in kotlin if there are so many error

#

nvm

#
                        fun run() {
                            config.set("spawnpoint.x", sender.location.x)
                            config.set("spawnpoint.y", sender.location.y)
                            config.set("spawnpoint.z", sender.location.z)
                            config.set("spawnpoint.world", sender.location.world)
                            saveConfig()
                            sender.sendMessage(prefix + spawnSetted)
                        }
                    }, 20L)```
#

this dont want to start

#

i didnt put something in main?

#

but with the guide this is correct lol

#

this variable in onCommand fun

#

oh

#

i fixed it

#

remove "fun"

#

and now work

#
org.yaml.snakeyaml.error.YAMLException: Unable to find getter for property 'noTickViewDistance' on object CraftWorld{name=test}:java.lang.reflect.InvocationTargetException```
#

wtf

potent nest
#

yeah don't try to save a world

#

Location is ConfigurationSerializable btw

rugged spear
#

oh

#

uhm how to save it??

#

oh

#

i dont know plz help

#

i want save my coordinates

potent nest
#

config.set("spawnpoint", sender.location)

rugged spear
#

i made a good version where its save name and world

#

yes

#

its not write or change nothing in the config

#

here the file

distant sun
#

Because you have to save the file as wele

#

d;spigot yamlconfiguration#save

ruby craterBOT
#
public void save(@NotNull String file)
throws IllegalArgumentException, IOException```
Description:

Saves this FileConfiguration to the specified location.

If the file does not exist, it will be created. If already exists, it will be overwritten. If it cannot be overwritten or created, an exception will be thrown.

This method will save using the system default encoding, or possibly using UTF8.

Parameters:

file - File to save to.

Throws:

IllegalArgumentException - Thrown when file is null.
IOException - Thrown when the given file cannot be written to for any reason.

rugged spear
#

Hm

#

i dont understand

#

what nothing work

#

its still using the odl config

#

wtf

distant sun
#

if you need the data from config, make sure you also call reloadConfig

rugged spear
distant sun
#

after save

rugged spear
#

which save>

#

?

#

wtf

#

now its say nullnull

#

๐Ÿ’€

#

please check my class in github

#

i just added new things

#

i give up this config its bugged asf

#

i dont know tf is wrong

static zealot
#

is it tho?

rugged spear
#

yes

#

it all by me

static zealot
#

talking about it being bugged af

rugged spear
#

yes

#

i dont know

#

now dont read the config

#

dont save

#

like wtf

#

6h 34m for that plugin

#

i dont really understand wtf is wrong

#

my 16h of bukkit dont help me much xd

rugged spear
#

please help me

static zealot
#

well I mean please send the code. we can't really just guess what's going wrong

#

also send the errors if there are any

distant sun
sly sonnet
quiet depot
#

@distant sun mind pointing out specifically what u mean

#

I don't see anything wrong with the indentation

distant sun
#

wth

#

this is how it looks on chrome

sly sonnet
#

what the fuck

quiet depot
#

also on chrome

distant sun
#

but on edge it looks ok

#

what addon is that, pig?

#

or is the font function from github

quiet depot
#

what addon

sly sonnet
#

gaby u should fix ur computer

static zealot
#

refined github

#

idk if its actually that. its what I have lol

quiet depot
#

gaby ours look the same

#

idk what addon u mean

quiet depot
distant sun
#

ah well

#

for a second I thought you have a different font, soz

quiet depot
#

used to be

#

pretty sure I used to have it set to fira code

#

idk why it changed

#

probs because I'm using the official github theme now

distant sun
#

I remember they added a way to set a custom font but can't find it anymore

remote goblet
#

slightly cursed but aight

#

even more cursed

distant sun
#

have not heard of EnumSet?

#

Also, I think the comment can be added above the enum entry to have it as a javadoc

remote goblet
#

nope kek

distant sun
#

@static zealot this refined github looks nice

static zealot
#

that's bcz it is nice

static zealot
#

ok. what about this isn't working and do you get any errors?

#

also why? java private val cfgFile = File("plugins/RandomTeleport", "config.yml") private val cfg = YamlConfiguration.loadConfiguration(cfgFile)

rugged spear
#

i mean dont want to load and update with new thing in.

static zealot
#

well why not use JavaPlugin#getConfig and JavaPlugin#saveConfig tho?

rugged spear
rugged spear
static zealot
#

well you are not using it rn.

rugged spear
#

@static zealot for compile the jar (kotlin) i always need to do "mvn install" or there are other commands?

static zealot
#

I believe mvn package also works. I've never used maven myself so not sure how they all work and what they all do

obtuse gale
#

The cool kids use gradlesunglas

rugged spear
rugged spear
#

lemme test gradle

#

with kotlin

static zealot
#

you might want to saveDefaultCOnfig first on enable

#

then register the commands and event

#

listeners

rugged spear
#

oh

#

didnt know that

#

les test it

#

YESSS

#

IT WORK

#

finally config work

rugged spear
#

done

#

work finally all

#

i think its clean?

static zealot
#

and why do you randomize the yaw and pitch really?

#

also if you want to store something for a player, I'd recommend you use the uuid as an identifier not the name.

#

also. might want to null check your options. or have default values

#

the config options I mean

rugged spear
static zealot
#

Player#getUniqueId I believe is the method

#

and you use #toString for that

primal crystal
#

Hey...need a bit of help with regex....or what ever it takes it to ๐Ÿ˜…

I would like to know the language after a given codeblocks

https://imgur.com/9ATOeVq ... so what i want is i want to get that its Java thats present after the code blocks... How can it be done?

rugged spear
#

oh bruh

#

need parameter T something like that

#

if(!config.getStringList("SpawnPoints" + ".").contains(player.uniqueId)) {

#

here

distant sun
#

```(\w+)[^`]+``` @primal crystal maybe this

static zealot
#

almost there gaby xD

distant sun
#

Discord formatting, ssh blitz :))

rugged spear
#

the fix

primal crystal
static zealot
#

know what?

distant sun
#

It should be good now alex

rugged spear
distant sun
#

get__String__List contains player.uniqueId

primal crystal
#

weird...the website throws me error

rugged spear
#

so how i can get UUID?

static zealot
#

(player.uniqueId.toString())

#

bcz uniqueId returns UUID not a String

rugged spear
#

oh

#

right lol

distant sun
#

ah, looks differently on mobile

rugged spear
#

didnt read what the thing do lol

distant sun
#

you should start doing that @rugged spear

rugged spear
#

what taht?

distant sun
#

didnt read what the thing do lol

rugged spear
#

hm

#

yes

#

but its boring open every time the broswer and search tf do xd

#

but if you say it i will

distant sun
#

I don't want to be rude, but if reading what stuff does is "boring", why do you expect us to point you to the right direction?

primal crystal
rugged spear
#

anyway you know how to have high priority on win?

#

cuz ij idea dont make me upload plugin when the server is on

distant sun
#

and that's perfectly normal

#

because the jar file is used by the server process

rugged spear
#

in D i cant

#

like tf

#

nvm will stop and start server

#

oh no...

#

wrong chat

wintry plinth
#

Any devs here integrated GeoIP into your plugin? If so, how have you configured it?

Iโ€™m considering the option at downloading GeoIP on first boot instead of compiling (apparently the terms require this) - just not sure where to start with it.

Thanks ๐Ÿ˜…

distant sun
#

You need an account to their website, do what Essentials does and just have the users download the file themselves.

static zealot
#

or you could just ask for their api token like some other plugins do

wintry plinth
#

Ah do they? The plugin works without it, just didnโ€™t want it to be too confusing to an average guy.

I saw they have api access just wasnโ€™t sure if only the developer needed to do it (for downloading)

#

Any plug-ins you know of that are open sourced that do this?

rugged spear
#

uhm

#

how to do multiple sub commands?

static zealot
#

if you use spigot command registration you literally just check the first arg.

rugged spear
#

i know

static zealot
#

then do something different for each one you want

rugged spear
#

like:

#

with the /rtp [world] i cant add /rtp [reload]

wintry plinth
#

Ah youโ€™re gonna have an issue there

#

What if the world name is called reload

rugged spear
#

yes

#

i dont know guys

wintry plinth
#

Wait really? Thank ya will peep that then

static zealot
#

right now you're probably getting args[1] somewhere

#

while your commands has only 1 argument

wintry plinth
#

It has a main command and a sub

static zealot
#

chazza, he's doing this to learn. so copy pasting won't really be helpful here

wintry plinth
#

Oh

old wyvern
#

Why not just add attribution?

wintry plinth
#

I didnโ€™t know he was learning

old wyvern
#

I thought the issue was not attributing maxmind

static zealot
wintry plinth
static zealot
#

maybe they're wrong but plugins like essentials, plan and authmereloaded both downlaod it after. well essentials makes you download it manually, authme and plan take in a key I beleive

#

the api key

old wyvern
#

or wait no

wintry plinth
#

Itโ€™s just been so confusing, I can do api key if needed I suppose

static zealot
#

it used to be that you could've just used it but now they require you to have an account to get a license and then use that license key

old wyvern
#

yea actually you just need to attribute and use creative commons I think

rugged spear
#
when (args.size) {
0 -> {
// something
}
1 -> {
// tp to world with args[1]
}
}

if(args[0].equals("reload') {
// reload thing
} else {
// message wrong world or wrong typo command
}
}```
#

its that right?

old wyvern
wintry plinth
#

Oh interesting :o

old wyvern
#

nvm thats the old license

#

However, these new legislative measures place restrictions that impact our ability to continue distributing our GeoLite2 databases on a public page under the Creative Commons Attribution-ShareAlike 4.0 International License.

static zealot
distant sun
static zealot
#

not after

old wyvern
#

new end-user license agreement nice xD

wintry plinth
obtuse gale
#

neula

rugged spear
#

if i create a fun ?

#

like tpworld ect

#

i dont know

#

i want to cry

obtuse gale
#

mood

rugged spear
#

omg its work the fun method thing

#

i will use java again

#

kotlin is pain

distant sun
#

thank you IIJ ??

#

ah great, it uses a completely different account ffs

lost rune
#

somebody help me, I bought discord nitro why isnt it coming

#

where is my nitro

compact perchBOT
#
FAQ Answer:

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.

obtuse gale
#

gaby why do you say IIJ?

distant sun
#

idk, I guess I didn't read it properly at first and I got used

rugged spear
#

whats plugin is for??

distant sun
#

lower case l looks like capital I Intel__lIJ__

rugged spear
#

i can replace its with this?

#

in external classes

#

oh i know whats is plugin stand for

distant sun
#

this represents the current class

#

and if you are outside the main class, this won't longer be a Plugin

rugged spear
#

yea

#

i made a private MyMainClass plugin;

#

ez

distant sun
#

don't

rugged spear
#

i need it

#

should i rename it

#

?

distant sun
#

don't use static access until you know how it should be used

rugged spear
#

ok

#

i will no use static

rugged spear
onyx loom
#

no

rugged spear
#

without importing the static method in the class

#

oh

#

and tf static do lol

#

googled now i know lol

old wyvern
frail glade
#

Been working on some new stuff for MCBanners lately. I have Modrinth support ~98% done.

#

Spring Boot is a bitch to debug sometimes.

ocean quartz
#

Reminds me of Discord's activity stuff

static zealot
#

wait is it not? I swear I thought it was a discord bot's activty

#

OMG

frail glade
#

Hmm?

static zealot
#

I didn't read the text on the right and just assumed it was a discord activity thing xD

#

and thought maybe you're doing a discord bot for the banners or something

#

was paying attention to something else so yeah... xD

frail glade
#

I'd like to make a discord bot for it at some point

#

Also more custom ability over banners, adding your own images, etc.

pastel imp
#

what characters would you guys recommend for placeholders?

#

%placeholder%? $placeholder$? {placeholder}?

boreal needle
#

% is the standard

pastel imp
#

fair enough thx

#

also for placeholders, I am aware that using #replace isn't the ideal thing, what should I use instead?

boreal needle
#

papi

pastel imp
#

would StrSubstitutor be a good alternative?

boreal needle
#

no point reinventing the wheel

pastel imp
#

I mean, depends

#

I honestly don't want to force anyone to install PAPI

boreal needle
#

its a pretty standard plugin

#

most servers have it

pastel imp
#

and it's meant for plugin use only, making the placeholders public wouldn't really do much

onyx loom
#

why is replace not ideal
unless u have lots of placeholders, replace is fine

pastel imp
#

Since I made a pattern based gui system, I want users to customize the max of it. Some things need to have custom placeholders in the menus for that to work.

#

I don't see the point of using PAPI if the placeholders aren't meant to be used like that

boreal needle
#

that is true

#

no harm including it anyway though, your users might want to include external placeholders

pastel imp
#

For public/general placeholders, I will add PAPI sure.

#

I plan to do so.

#

But for gui configuration, I want to have my own system

#

since some placeholders are specific to these guis, and won't be available in papi

#

and as said, I don't really want to depend on any plugins.

#

I can add support for it, but I don't really want to rely on it.

pastel imp
pastel imp
boreal needle
pastel imp
#

okay ye, not going to be hundreds lol

pastel imp
#

uh what's polymart?

agile galleon
#

plugin marketplace

pastel imp
#

oh suppose it's new

#

checking it out rn and it looks really good

#

like 20x better than spigot

agile galleon
#

yes

boreal needle
#

its alright

#

nothing special

wintry plinth
#

Savage

pastel imp
cursive jolt
#

Polymart is as bad as spigot, if not worse. It has less consumer protection in terms of DRM.

#

Hopefully Hangar will come along with a good amount of protection against DRM.

dawn hinge
#

an incoming paper's marketplace

pastel imp
#

wait made by the paper team?

distant sun
#

hangar will have no premium resources if that's what you are talking about @cursive jolt

#

yees

cursive jolt
#

I don't care about paid plugins, I'm talking about how much obfuscation is allowed

pastel imp
#

that sounds interesting

distant sun
#

aight

pastel imp
#

oh I legit couldn't care less about that

#

#Freemium #OS

distant sun
#

freemium implies the plugin to be premium but OS

pastel imp
#

#OS then :3

wintry plinth
#

(Not talking about the DRM stuff)

obtuse gale
cursive jolt
#

FOSS = free(dom) and open source

#

FOSS does not talk about price.

obtuse gale
#

the plugin can be entirely free but support or other extra feats paid

distant sun
pastel imp
#

^^

distant sun
#

aight

cursive jolt
#

Every plugin should legally be open source, so it shouldn't be a big deal to plugin authors.

distant sun
#

I think CoreProtect works this way

obtuse gale
pastel imp
#

wait, what if I used the paper api to make a plugin? can I still publish it in spigotmc? loal

#

(totally random and unrelated question)

obtuse gale
#

if it's exclusive paper plugin, no

cursive jolt
#

If you break spigot compatibility, no

obtuse gale
#

if it has like fallback compat features then yes, as it works on spigot

pastel imp
#

I suppose I can use paper api if it still works on spigot?

wintry plinth
#

Just make it so if they use spigot they can only use it for 5h a day, or no limit on paper

#

Kappa

pastel imp
#

genius.

wintry plinth
#

technically works

desert horizon
#

....why was I tagged here?

#

If you tag me, don't delete it coward

chilly zenith
#

hes trying to buy your accouhnt

#

bc you have bot and early badges

pastel imp
#

did someone just get hammerd?

chilly zenith
#

yes

pastel imp
#

poggers

strong ridge
#

๐Ÿ™

desert horizon
#

Awwwww.....

#

Would've loved to tell them to shove it

pastel imp
#

since when does paper (idk if spigot has it) a cooldown system builtin?

#

or am I just misunderstanding things lol

cinder flare
#

d;1.18 HumanEntity#setCooldown

ruby craterBOT
#
void setCooldown(@NotNull Material material, int ticks)```
Description:

Set a cooldown on the specified material for a certain amount of ticks. ticks. 0 ticks will result in the removal of the cooldown.

Cooldowns are used by the server for items such as ender pearls and shields to prevent them from being used repeatedly.

Note that cooldowns will not by themselves stop an item from being used for attacking.

Parameters:

material - the material to set the cooldown for
ticks - the amount of ticks to set or 0 to remove

cinder flare
#

ender pearls and shields

pastel imp
#

understood thx

obtuse gale
#

it can be used on any item tho

pastel imp
#

so built in cooldown to use items

#

that's cool ngl

distant sun
#

annoying that it is for materials and not items, but cool

obtuse gale
#

like, when you use an ender pearl, it applies to all ender pearls, rather than one item instance (you'd be able to rename it and bypass the cooldown then)

pastel imp
#

oof

obtuse gale
#

yeah that's just how minecraft works lol

frail glade
#

We got any Docker gurus in the house?

#

Got an issue with SpringBoot inside a docker container throwing a 403 error when sending a POST request to an external URL. Doesn't occur in URL in the container and outside of the container.

ocean quartz
#

๐Ÿ‹

ocean quartz
frail glade
#

I ended up backtracking it out of the deployment because I've been on this issue way too long.

#

Anyways. Got what I needed out.

#

Dropped the 3 new banner bacckground templates. Hopefully people will find those useful for a bit.

ocean quartz
#

Looks great!

mental trench
urban sleet
cursive jolt
#

oh wait nevermind that's not a real git repo :(

urban sleet
#

Very annoying when people do that

mental trench
#

packets or armorstand

cursive jolt
#

Seems like just attaching a leash to an entity.

mental trench
#

make it fly

#

follow the player close

cursive jolt
#

if you are using pure packets that's not hard

urban sleet
#

Ok thanks, I just needed a basic idea of how it was done

fresh badge
obtuse gale
#

you can use the ChatColor enum

pastel imp
#

Or the translate method of ChatColor

forest pecan
#

Or use adventure (:

obtuse gale
#

or live with white text

sweet cipher
#
    shadowJar {
        relocate("dev.triumphteam.gui", "io.github.fisher2911.hmccosmetics.gui")
        relocate("me.mattstudios.mf", "io.github.fisher2911.hmccosmetics.mf")
        relocate("net.kyori.adventure", "io.github.fisher2911.hmccosmetics.adventure")
        relocate("org.spongepowered.configurate", "io.github.fisher2911.hmccosmetics.configurate")
        relocate("org.bstats", "io.github.fisher2911.hmccosmetics.bstats")
        relocate("com.zaxxer.hikaricp", "io.github.fisher2911.hmccosmetics.hikaricp")
        relocate("com.j256.ormlite", "io.github.fisher2911.hmccosmetics.ormlite")
    }

How do I exclude snakeyml? My resource got rejected because it contains unnecessary depends.

obtuse gale
#
shadowJar {
  dependencies {
    exclude("your:mother")
  }
}
#

or smth like that idk

sweet cipher
#

Oh it needs a โ€œ:โ€?

obtuse gale
#

read the guide

sweet cipher
#

I just used excludes, didnโ€™t add dependencies

#

Thank you

obtuse gale
#

yeah for some reason they're two separate things

#

idk what the "outer" excludes does

#

I think it's files passed to the jar task rather than whole dependencies?

sweet cipher
#

Now I have to wait another three weeks lol

obtuse gale
sweet cipher
#

Oh thanks

obtuse gale
#

I'm fairly certain you can also do group only, group + module too

#

and regex stuff as well

sweet cipher
#

Thatโ€™s cool

#

I saw you can use regex yeah

#

Do you know if it is because of Configurate?

#

Thatโ€™s what Iโ€™m asssuming

obtuse gale
#

if you have configurate-yaml then yeah, it adds it to the runtime classpath; you can confirm with gradlew dependencies --configuration runtimeClasspath

sweet cipher
#

Oh cool thanks

obtuse gale
#

you can just do ChatColor.WHATEVER + "Your String"

urban sleet
#

How can a plugin violate it's own license? I decompiled something, and it has a license file with GPL-v3 in it, but they won't provide access to the source

obtuse gale
cursive jolt
#

they shaded in license from another plugin accidentally

urban sleet
#

Bingo!

#

That was what they just told me

cursive jolt
#

how obfuscated is it?

urban sleet
#

Not at all

cursive jolt
#

yeah, just dump it with luyten

#

Oh no, they shaded in GPL code!

#

That's illegal

#

that's a very funny way to get caught for copyright infringement lol, to shade in someone else's GPL license and claim your plugin isn't gpl

fresh badge
obtuse gale
#

if I'm remembering bukkit right you should just be able to pop the ChatColor.BLUE (for example) in front of the string you want colored

#

if you want to return ChatColor just don't include the string and return the ChatColor.WHATEVER, right?

fresh badge
#

no

#

is a list

#

a

#

Forgot to mention it's a list haha

obtuse gale
#

oh i'm blind lol

#

you should be able to use Bukkit.translateAlternativeColorCodes(Discriminator, String)

#

per google

urban sleet
obtuse gale
obtuse gale
#

yuh

cursive jolt
#

Yes, luyten is more modern than JD-GUI

urban sleet
#

Awesome thanks

cursive jolt
#

One of them should work fine.

urban sleet
#

The plugin isn't anything special so i imagine any tool will work well enough

cursive jolt
#

Yeah, sometimes there's errors. Then I try multiple decompilers and try and combine the best classes from each.

#

If a decompiler messes up a class or two, then using another decompiler to paste it over is helpful

ruby dew
#

DefineOutside you are good

#

I hope to be like you one day

hot heron
#

Alright, design question. How would you structure an idle game where you have multiple scenes and the values from different scenes are used in other scenes. For instance, you have a dude that generates xp but you also have an items tab that can boost the xp he generates and you have a potions tab that also provides bonuses, etc, etc

#

And structured to easily be expanded on

#

Does it make more sense to have the dudes object calculate the bonuses based on the values from the other sources or have each source report somehow how much bonus it should give

rugged spear
#

should i use a framework for commands or learn more about args?

#

dude

#

thanks