#help-development

1 messages Β· Page 352 of 1

fresh timber
#

are those like the way u are facing?

wet breach
#

they can describe direction

#

a vector basically describes a line between two points

#

you can have a vector of a single point, which basically is the above, but the line goes to the same point

terse ore
#

I used an easier way

#

task RunBatfile {
exec {
workingDir "D:/Bat"
commandLine 'cmd', '/c', '<your_bat_file_name>.bat'
}
}

#

ok I got the uploading part correctly

#

but it uploads the file before building

tender shard
terse ore
#

a simpler way of using exec

tender shard
#

ah ok

#

yeah tbh I havent read the link I sent

terse ore
#

xd

tender shard
#

I am afraid of gradle's overly complicated build scripts lol

#

I prefer the maven way

#

for example in gradle you do kotlin task something { }
but like, where do you declare WHEN it runs? o0

#

I have no idea

vivid skiff
#

Im getting this error

java.util.ConcurrentModificationException: null
        at java.util.HashMap.forEach(HashMap.java:1340) ~[?:?]
        at me.gurwi.mitrascore.Tasks.DoorsReplaceTask.run(DoorsReplaceTask.java:16) ~[?:?]
        at org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftTask.run(CraftTask.java:64) ~[patched_1.12.2.jar:git-Paper-1620]
        at org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:423) ~[patched_1.12.2.jar:git-Paper-1620]
        at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:840) ~[patched_1.12.2.jar:git-Paper-1620]
        at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:423) ~[patched_1.12.2.jar:git-Paper-1620]
        at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:774) ~[patched_1.12.2.jar:git-Paper-1620]
        at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:666) ~[patched_1.12.2.jar:git-Paper-1620]
        at java.lang.Thread.run(Thread.java:829) [?:?]```

But i don't know how to fix it

CODE:  https://paste.md-5.net/zoxazowezi.cs
terse ore
#

where does the plugin get compiled in build.gradle?

vivid skiff
#

How can i fix it, i done the same thing with an another task and it works

patent herald
#

kek

vivid skiff
#

Now it isn't doing anything

hazy parrot
#

problem is that you are editing map while traversing over it

#

so use Iterator or ConcurrentHashMap

vivid skiff
#

It isn't working in any way

tardy delta
#

what isnt working

terse ore
#

and it will work

#

xd

vivid skiff
terse ore
#

Which is the particle when you break a block?

tardy delta
#

Iterator::remove

golden turret
#

hey

#

I have 2 tables

#

company
id | name | owner

company_member
id | role | company_id

#

should I create 2 DAO classes?

#

or could I create only 1?

signal kettle
#
    @EventHandler(priority = EventPriority.LOWEST)
    public void BackpackUnapply(final PlayerInteractEvent event) {
        Player player = event.getPlayer();

        if (event.getPlayer().isSneaking()) {
            if (event.getHand() == EquipmentSlot.HAND && event.getAction() == Action.LEFT_CLICK_BLOCK || event.getAction() == Action.LEFT_CLICK_AIR) {
                if (CosmeticUsers.getUser(player).getCosmetic(CosmeticSlot.BACKPACK).getId().equals("backpack")) {
                    Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "oraxen give " + player.getName() + " backpack");
                } else if (CosmeticUsers.getUser(player).getCosmetic(CosmeticSlot.BACKPACK).getId().equals("woodcutter_backpack")) {
                    Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "oraxen give " + player.getName() + " woodcutter_backpack");
                }
                if (CosmeticUsers.getUser(player).hasCosmeticInSlot(CosmeticSlot.BACKPACK)) {
                    Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "cosmetic unapply BACKPACK " + player.getName());
                    player.playSound(player.getLocation(), "backpack.unwear", 1.0F, 1.0F);
                }
            }
        }
    }

This is my code and when player don't have anything on the last if and do left click air or block then it print error that player don't have anything on back, how I can repair that to not get printed that error?

#

I know that I can make else and negate it but then it needs to do something but I don't want to make anything when there's anything on the back

arctic moth
#

more of a java question rather than spigot itself, but how would i import jars like spigot does?

#

like i dont understand how it can access the classes and run the code of abritrary jars in a directory

#

is it any more useful than simply creating an api with an init() function?

#

not dependencies

#

like how plugins work

#

how does the server.jar recognize and import plugins?

#

same with any mods

terse ore
#

can I break a loop inside a bukkitscheduler?

arctic moth
terse ore
#
for (int j = 0; j < 5; j++) {
                    Bukkit.getScheduler().runTaskLater(Data.getInstance(), () -> {
                        switch (direction) {
                            case NORTH -> location.setZ(location.getZ() - 1);
                            case SOUTH -> location.setZ(location.getZ() + 1);
                            case EAST -> location.setX(location.getX() + 1);
                            default -> location.setX(location.getX() - 1);
                        }
                        if (location.getBlock().getType() == Material.AIR) {
                            break;
                        }

                        location.getBlock().setType(DIAMOND_BLOCK);

                        location.getWorld().playSound(location, Sound.BLOCK_STONE_BREAK, 1, 1);
                        location.getWorld().spawnParticle(
                                Particle.BLOCK_CRACK, location, 100, 1, 1, 1, 0, DIAMOND_BLOCK.createBlockData()
                        );

                    }, j*2);
                }```
#

error: break outside switch or loop
break;

tardy delta
#

cant

arctic moth
#

then call this.cancel()

#

when you want to break

terse ore
#

better?

#
            for (int i = 0; i < 2; i++) {
                for (int j = 0; j < 5; j++) {
                    new BukkitRunnable() {
                        @Override
                        public void run() {
                            switch (direction) {
                                case NORTH -> location.setZ(location.getZ() - 1);
                                case SOUTH -> location.setZ(location.getZ() + 1);
                                case EAST -> location.setX(location.getX() + 1);
                                default -> location.setX(location.getX() - 1);
                            }

                            location.getBlock().setType(DIAMOND_BLOCK);

                            location.getWorld().playSound(location, Sound.BLOCK_STONE_BREAK, 1, 1);
                            location.getWorld().spawnParticle(
                                    Particle.BLOCK_CRACK, location, 100, 1, 1, 1, 0, DIAMOND_BLOCK.createBlockData()
                            );
                        }
                    }.runTaskLater(Data.getInstance(), 2*j);```
arctic moth
terse ore
#

wdym

arctic moth
#

like in it before the function def you define int i = 0 and int j = 0

#

and then at the end of it you do i++ and j++

#

with if(i >= 2 || j >= 5) this.cancel()

tardy delta
#

dont instantiate bukkitrunnables, use the scheduler

#

i should record how many times ive already said that

terse ore
#

i am confused

arctic moth
arctic moth
terse ore
#

what I had at firsT?

arctic moth
terse ore
#

yeah

vivid skiff
#

How can i make a broken door autoreplace in the sameplace with the same data that had before?

terse ore
#

so 2*j will delay for 0, 2, 4, 6

arctic moth
#

i trhink you can stil do it with one loop running every tick and return if the delay isnt above a certain amount

terse ore
#

let me explain

#

idk if I can do it with 1 loop

#

I want to make a wall

arctic moth
#

thats all youre doing?

terse ore
#

. . . . .
. . . . .

#

like that

#

(ik I can set the blocks)

#

but I want to make it like an animation

arctic moth
#

does it need to be spaced out in time?

#

oh

#

lol

terse ore
#

place block by block

arctic moth
#

im gonna make a little demo for you for the loop thing

terse ore
#

oki

#

tysm

arctic moth
#

you can adapt from that

#

oh yeah might want to do final Material mat in the parameters

terse ore
#

what would be the advantage of doing it like that?

arctic moth
#

speed, organized code, etc.

#

mainly so it doesnt spam runnables in the queue

#

only uses one runnable

#

that wouldve had 3 nested for loops if you had done it without this method

terse ore
#

why 3 tho?

arctic moth
# terse ore why 3 tho?

this is an example using 3 dimensions: x, y, and z, which it loops through to fill a space

arctic moth
tardy delta
#

use the scheduler as i said, with the Consumer<BukkitTask> param

#

task -> task.cancel()

arctic moth
sterile token
#

Hi i really need help i changed something with intellij memory and now doesnt open

#

Any suggestion about what i can do?

sterile token
#

and now i just click on the program and dont open

arctic moth
#

look through intellij files and try to find a settings file with launch params

arctic moth
#

thats usually how i fix stupid things like that

terse ore
#

because it'x width if is 1

sterile token
#

I will try thanks bro

arctic moth
arctic moth
#

idk just try something until it works

arctic moth
sterile token
#

I dont find the settings file

arctic moth
#

tf is this sussy file

arctic moth
sterile token
#

Hwo would i get that

arctic moth
sterile token
#

because the package is broken for apt

tardy delta
#

launch the exe from terminal?

arctic moth
#

found settings

#

idea.properties

sterile token
arctic moth
#

its in the bin folder

sterile token
#

hmnn

#

okay lert me find it

arctic moth
#

for me thats C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2021.2\bin on windows

sterile token
#

right

arctic moth
#

version might be different for you though

#

so it might be like C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2023\bin

sterile token
#

im using v 2022

#

is posible to update it, without reinstalling?

arctic moth
#

lol my wording

sterile token
#

Hmnn

arctic moth
#

toolbox lets you update, but you have to reinstall if you dont have toolbox

sterile token
#

Lmao shity jetbrains that doesnt fix their fucking apt paclkages

#

😑

arctic moth
#

lol

sterile token
#

bruh

#

they are broken

#

Idk how i was able to install IJ i used to had lot of issues

#

Because their repo was giving me brokened the packages, but didnt happen to my friends

arctic moth
#

why is this disabled by default lmao

sterile token
#

Nop

#

I cant fix this

#

I also enabled that thing

#

And no error is displayed

arctic moth
#

did you save the file

sterile token
#

ye

arctic moth
#

you could also check the logs directory to see whats erroring

arctic moth
#

wait wheres the logs directory

sterile token
#

where is that?

arctic moth
#

oh

#

log.xml

sterile token
#

nevermind i ithink i find them

arctic moth
#

but youre using windows?

sterile token
#

currently yes

arctic moth
#

since when does windows have ap

#

t

sterile token
#

Just because i didnt want to restart whole pc just to move to linux

#

i meanm broke windows ij

#

cant u help me?

arctic moth
#

what is the exact setting you changed

#

max ram?

sterile token
#

Im not sure

#

I think yes

#

it was something related to memory

arctic moth
#

you could try editing launch params in idea.bat but make sure you can undo changes if you mess something up

arctic moth
#

like the -Xms and -Xmx ram

arctic moth
sterile token
#

that line doesnt appear

arctic moth
#

you dont see this?

#

that could be why lmao

sterile token
#

right

arctic moth
#

not actually running the ide

sterile token
#

what i have to add?

#

I didnt touch nothing tho

#

just modified something related to ram

arctic moth
#

try adding this

:: ---------------------------------------------------------------------
:: Run the IDE.
:: ---------------------------------------------------------------------
"%JAVA_EXE%" ^
  -cp "%CLASS_PATH%" ^
  %ACC% ^
  "-XX:ErrorFile=%USERPROFILE%\java_error_in_idea_%%p.log" ^
  "-XX:HeapDumpPath=%USERPROFILE%\java_error_in_idea.hprof" ^
  -Djava.system.class.loader=com.intellij.util.lang.PathClassLoader -Didea.vendor.name=JetBrains -Didea.paths.selector=IdeaIC2021.2 -Didea.platform.prefix=Idea -Didea.jre.check=true ^
  %IDE_PROPERTIES_PROPERTY% ^
  com.intellij.idea.Main ^
  %*
sterile token
#

because ide was freezing so i added 20gb

arctic moth
#

oh wait

arctic moth
#

so youre 2022

#

so IdeaIC2022

sterile token
#

He?

#

im really nightmare

arctic moth
#

lol

sterile token
#

What params i have to change to fix

arctic moth
sterile token
#

yes that is done

#

where i change the ram?

arctic moth
#

btw try opening command prompt in that directory and doing ./idea to see if it errors

arctic moth
sterile token
#

hmnn

arctic moth
#

at least all the things like max filesize are there

sterile token
#

πŸ‘

arctic moth
#

uhh

#

lol

#

maybe ./idea.bat?

#

for me it works

#

and opens the ide

sterile token
#

ok

arctic moth
sterile token
#

nothing else

arctic moth
#

huh

sterile token
#

its git bash

#

πŸ˜‚

arctic moth
#

the hell does "IDE is being shut down" mean

sterile token
arctic moth
#

thats not a line in the batch, so something with the exe is up to no good

#

can you try running idea64.exe in terminal?

sterile token
#

yes

arctic moth
#

./idea64.exe i think

sterile token
#

just not output

#

πŸ˜‚

#

Lmao fkg windows

arctic moth
#

did you use apt on git bash to install this lol

sterile token
#

no no

#

forget about apt

#

Im on Windows

arctic moth
#

k

sterile token
#

i just put to it 20gb of ram and broken

#

i cant reinstall it

#

That will take huge time

arctic moth
#

oh

sterile token
#

I have lots of configuration and i need to finish my work

arctic moth
#

yeah i hate the amount of download time

arctic moth
livid perch
#

Hi I have been trying to work on a plugin and I am not so sure why my plugin is not generating the config.yml could anyone look over my code and help me out?

arctic moth
#

download speeds gonna suck though

arctic moth
#

and load it with the YamlConfiguration thing in your script if its in resources

sterile token
#

Found issue

#

I think

arctic moth
#

20000

sterile token
#

i wil ltry restarting OS

arctic moth
#

that wouldnt change much

#

maybe ram is in appInfo.xml

sterile token
#

maybe he is getting the values from ENV which is not being updated

arctic moth
livid perch
#

thx lots @arctic moth

arctic moth
#

lol i can change the help links?

sterile token
#

where ar ethose xml

arctic moth
arctic moth
sterile token
#

nop

#

they doesnt exists

#

neither log.xml

arctic moth
#

huh

sterile token
#

also there is something called repair.exe

arctic moth
#

you could try that

#

dont know if it wipes settings though

#

i dont even have a repair.exe

quaint mantle
#

Anyone have a gradle script to automatically start a spigot server instead of doing it manually

arctic moth
livid perch
#

any reason this isnt working to change the name of the items?

sterile token
#

I run the repar.exe, the OS crashed with a blue screen, auto restarted the OS and when turns on, IJ worked

#

πŸ˜‚

#

@arctic moth thanks

livid perch
#

comepletely stumped on why this isnt working

#

no errors

tardy delta
#

never calling getname?

spice shoal
#

Guys how i can tab a arg?

#

like /ally deny [tab]

eternal oxide
#

implement TabExecutor adn return a List based upon args.length

spice shoal
#

@Override
public @Nullable List<String> onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {
List<String> rifiuta = new ArrayList<>();
if(args.length==0) {
}
return rifiuta;
}
return null;
}

eternal oxide
#

your list is empty

spice shoal
#

what i need to add?

eternal oxide
#

whatever you want as options for tab complete

spice shoal
#

ok thanks

livid perch
#

is this how I would call on getname? @tardy delta

#

sorry Im pretty new to this

opal citrus
#

Hey, so does anyone know if there's an available plugin out there that can recreate the old lava survival minigame?

slate mortar
#

What is β€œjava survival”

#

Lava* lol my bad

opal citrus
#

basically, lava used to flow out infinitely when placed, so the goal of lava survival was to survive as the lava consumes the entire map

slate mortar
#

Never seen that lol

upper meadow
#

Hello ! I have an issue with my server, in my spigot.yml : every time I change the item merge-radius from 4.0 to 1.0 and restart the server, it comes back to 4.0... Could anyone help me please ? πŸ˜…

merge-radius:
exp: 6.0
item: 4.0

sleek mortar
#

I need help trying to do a hotbar server selector- I have bungeecord and spigot server

tawdry echo
#

Hosting can overwrite it

#

If you have hosting

opal citrus
livid perch
#

could anyone help me with my issue?

terse ore
#

Difference between getInventory and getClickedInventory?

livid perch
#

yes @winged anvil but is it being called upon correctly in this code in the screenshot? it doesn't seem to be working

winged anvil
#

?learnjava

undone axleBOT
livid perch
#

Thanks for sending me resources that I already knew were available.

terse ore
#

how tf do I get inventory name

#

I can't use getView.getTitle() nor getName()

hazy parrot
#

Why you can't

terse ore
fresh timber
#

where are you trying to get the inv name

terse ore
#

there isn't a getName() or a getView()

#

Inventory inventory = event.getClickedInventory();

fresh timber
#

what does the class do that ur trying to get the inv in

terse ore
#

my command class or the inventory class

fresh timber
#

bruh

#

thats 2 classes ...?

#

ok nvm i gtg

terse ore
#

Inventory is a class

hazy parrot
livid perch
#

Love to know why I get linked resources to learn java but other people get help with their problems.

livid perch
hazy parrot
livid perch
#

So I guess the rest of the code came out of my ass?

hazy parrot
#

hence why ?learnjava command exist

hazy parrot
terse ore
#

Does someone know about gradle, I made a task to execute a python file that automatically uploads the plugin to my server, but it does it before building, there is a way to do it after build is done

#

I've tried to look on internet but I didn't managed to achieve it

humble tulip
hazy parrot
# terse ore cba?

CBA is an acronym that means can't be arsed, meaning, essentially, that a person can't be bothered to find the energy or willingness to do something.

terse ore
#

Thanks

quaint mantle
#

How can I use Player#getUniqueId as ObjectId in MongoDB?

silent tendon
#

Hello, I always get the message that my plugin.yml is wrong, but what's wrong with this?

#
name: AutoNickerLobby
version: ${project.version}
main: joel.autonickerlobby.AutoNickerLobby
api-version: 1.19
authors: [ RadJaguar2005 ]
description: AutoNick Tool for Lobbys
quaint mantle
#

It's an UUID (128 bits) to an ObjectId (96 bits, with timestamp)

silent tendon
#

It's supposed to be the description

#

moment

terse ore
#

enter it inside ""

#
name: AutoNickerLobby
version: ${project.version}
main: joel.autonickerlobby.AutoNickerLobby
api-version: 1.19
authors: [ RadJaguar2005 ]
description: "AutoNick Tool for Lobbys"
#

may be that

silent tendon
#

here

[23:51:47] [Server thread/ERROR]: Could not load 'plugins/AutoNickerLobby.jar' in folder 'plugins'
org.bukkit.plugin.InvalidDescriptionException: Invalid plugin.yml
    at org.bukkit.plugin.java.JavaPluginLoader.getPluginDescription(JavaPluginLoader.java:170) ~[spigot-api-1.19.2-R0.1-SNAPSHOT.jar:?]
    at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:144) ~[spigot-api-1.19.2-R0.1-SNAPSHOT.jar:?]
    at org.bukkit.craftbukkit.v1_19_R1.CraftServer.loadPlugins(CraftServer.java:414) ~[spigot-1.19.2-R0.1-SNAPSHOT.jar:3610-Spigot-6198b5a-19df23a]
    at net.minecraft.server.dedicated.DedicatedServer.e(DedicatedServer.java:224) ~[spigot-1.19.2-R0.1-SNAPSHOT.jar:3610-Spigot-6198b5a-19df23a]
    at net.minecraft.server.MinecraftServer.v(MinecraftServer.java:968) ~[spigot-1.19.2-R0.1-SNAPSHOT.jar:3610-Spigot-6198b5a-19df23a]
    at net.minecraft.server.MinecraftServer.lambda$0(MinecraftServer.java:293) ~[spigot-1.19.2-R0.1-SNAPSHOT.jar:3610-Spigot-6198b5a-19df23a]
    at java.lang.Thread.run(Thread.java:833) [?:?]
Caused by: java.io.FileNotFoundException: Jar does not contain plugin.yml
    ... 7 more
terse ore
#

open your jar with winrar

#

is there a plugin.yml file in it?

mortal hare
mortal hare
silent tendon
mortal hare
#

16 bytes > 12 bytes, if you did convert uuids to object ids there will be data loss

#

unless you crop up same useless data for you from uuids

mortal hare
proper notch
mortal hare
#

yea, but you may exported it without the maven itself

#

eclipse and intellij lets you do that

#

they both have their own build systems

silent tendon
#

intellij

mortal hare
#

have you used build artifacts

silent tendon
#

Yes

mortal hare
#

to build it?

#

you're not using maven then

#

there's sidebar dedicated to maven (build systems) at right of the screen

silent tendon
#

Funny, had the plugin on 1.16 and it worked

mortal hare
#

it works if you add the plugin.yml as a resource to intellij build system

#

mine's gradle

#

but in your screen it should be maven

#

you click on specific goals that you've setup there to build it

#

also you need to add your plugin.yml to src/main/resources

quaint mantle
#

I'm asking because Verano told me that Mongo is faster than SQL.
I know that SQL uses a cache of primary keys so you can grab a row (in form of ResultSet) just by providing the primary key and it will retrieve it very fast because of the cache.
Then I was told that Mongo has ObjectId as _id and that it works similar.

I am a performance fanatic, I just don't want Mongo to iterate through all the collection until finding the document/s 🀨

#

Currently I am doing it through MongoCollection#find

crimson relic
#

you dont need _id as objectid

mortal hare
#

you're technically right

quaint mantle
#

That's why I know it's iterating

proper notch
#

Yh. _id's only requirement is that it's unique

quaint mantle
#

I'm not asking for spoon feed

#

But I just want to understand what I have to do so I can profit in performance

proper notch
#

Mongo doesn't have a concept of primary keys, instead you create indexes for different fields within a document. This doesn't require every document have that field though still

#

There's always an index for _id that enforces uniqueness, but you can make your own for other fields that will greatly speed up filtering on large data sets (when querying those fields)

quaint mantle
#

Is there any source where I can read how to set up these field indexes? I just want to setup a field index for UUID 🀑

proper notch
#

I'd recommend installing mongodb compass. It's a nice visual guide for those newer to mongo and is useful nevertheless for anyone.

mortal hare
#

you have maven

#

you click on it

#

and build it via the goal

#

i switched from maven to gradle a while ago, so idk much anymore but that's the most basic thing

#

you need to do

#

i hated gradle at first

#

until i got it how groovy dsl worked

#

properly

#

at least partially for me to understand how to setup custom plugins and extend tasks

terse ore
mortal hare
#

roughly yes

terse ore
#

how can I execute a task after the build is done

mortal hare
#

everything in a gradle is a fumction

#

add depends on

#

dependsOn to task block

terse ore
#

the only way I found is to use is with finalizedBy

#

but idk how to implement it

mortal hare
#

idk actually paperweight uses depends on to chain tasks

#

so i guess thats right way

#

but idk what to call when task is finished

terse ore
#

let me use pastebin

#

hwo could I execute uploadFile after the plugin is built?

mortal hare
terse ore
#

that's what I am asking

#

for making a task after another

#

I need a first task

#

and idk which one is it

haughty granite
#

regulars of the QuickShop plugin?

remote swallow
#

wdym

autumn burrow
#

Quick question.
Im a software dev starting to get into plugins..
Been looking around. Theres not too much information regarding plugins made with kotlin.
Why is it not used more often?
What potential problems and bottlenecks can i expect to run into?
What should i generally know before diving into this?

Have already worked extensively with both java and kotlin. (React native, native module)

hazy parrot
#

It's not used more because, well, Minecraft and spigot/bukkit are written in java ig and it's same with any other app, you shouldn't run into bottlenecks because of kotlin

river oracle
#

There are some people around who use Kotlin for spigot, but generally you'll get better help using Java even though they aren't superrr different languages

worldly ingot
#

Why is it not used more often?
What potential problems and bottlenecks can i expect to run into?
What should i generally know before diving into this?
You're going to have to get the Kotlin stdlib onto the classpath one way or another. Whether that be shading it into your plugin (adding a rather hefty additional file size), downloading it at runtime yourself and loading it, or making use of the plugin.yml's libraries feature to download dependencies from Maven Central. That in and of itself is a big hurdle. On top of that, the Kotlin ecosphere really isn't all that big so if you're looking to get support for your plugin written in Kotlin, you'll find far fewer responses on the forums.

#

Can you do it? Yes. Should you do it? Whatever. Preference. I don't want to touch Kotlin plugins with a 100ft pole, but others would say the same about Java so who am I to judge

dry yacht
#

While Kotlin can in some instances be helpful, it just adds a lot of needless complexity to what already is hard enough to design properly for most people: the plugin itself. I'd rather focus on solving the problem than to use a fancy tool.

buoyant viper
#

can you write a plugin to fix my broken marriage

chrome beacon
#

?services

undone axleBOT
tender shard
#

I can do better

desert kernel
#

πŸ³οΈβ€πŸŒˆ Gay | Femboy :3 | He/Him | 27 | Germany

tawdry echo
#

Lol

tender shard
chrome beacon
tender shard
#

all I can see from your bio is a twitter link to some person who insults people that watch porn

tender shard
desert kernel
#

thats just lame

eternal night
terse ore
#

Is there a better way to get key by value that doesn't involve looping?

keen ferry
#

Yo. I want to launch a pig in a direction using entity.setVelocity(), in a bezier curve. The player will be a passenger of the pig.
The following code generates a bezier curve and returns a list of locations.

    public static Location bezierPoint(float t, Location p0, Location p1, Location p2)
    {
        float a = (1-t)*(1-t);
        float b = 2*(1-t)*t;
        float c = t*t;

        Location p = p0.clone().multiply(a).add(p1.clone().multiply(b)).add(p2.clone().multiply(c));
        return p;
    }

    public static List<Location> bezierCurve(int segmentCount, Location p0, Location p1, Location p2)
    {
        List<Location> points = new ArrayList<Location>();
        for(int i = 1; i < segmentCount; i++)
        {
            float t = i / (float) segmentCount;
            points.add(bezierPoint(t, p0, p1, p2));
        }
        return points;
    }

Here is what the locations (represented by particles) look like in game:

#

The problem is I can't really do anything with the list, teleporting the pig to the locations doesn't work, and I don't know how to translate the list to a Vector for the entity.setVelocity(). How do I do that?

sullen marlin
#

Wdym teleporting doesn't work

keen ferry
#

Because:
A) I can't teleport the pig every tick because the player is riding it
B) It looks laggy and isn't smooth, I'd prefer to use entity.setVelocity()

sullen marlin
#

Well the necessary velocity would be the derivative of the curve

#

But idk the maths behind that

keen ferry
#

the problem;'s that minecraft physics would slow it down

#

I can calcualte the derivative of the 2 curves (pointA -> extremum and extremum -> pointB)

sullen marlin
#

Setgravity(false)

keen ferry
#

but that's only for vertical movement, is it not?

sullen marlin
#

Is there resistance through air? Idk tbg

keen ferry
#

yes there is

sullen marlin
#

Guess so

keen ferry
#

I tested it arleady

dire marsh
#

Gravity is 0.08 * 0.98, I believe x/z is just * 0.98

sullen marlin
#

Does disabling AI help?

keen ferry
#

I also tried disabling the physics all together but that meant I can't set its velocity

sullen marlin
#

setAI(false)

eternal night
#

doesn't NoAI disable all velocity

keen ferry
#

I'll test the setAI method. thanks!

dire marsh
#

well in simple terms every tick gravity and friction is applied to the entity

keen ferry
#

oh yeah cause you added *0.98

dire marsh
#

I'm not certain about x/z, I would have to check

humble tulip
#

Hm

keen ferry
humble tulip
#

You can do the calculations async

keen ferry
#

wdym? ( I know what async means, but could you elaborate? :) )

sullen marlin
#

Don't think that's the issue

humble tulip
#

Yeah fjgure how to do it sync before

#

Then wprry about perforance

#

Worry*

keen ferry
#

The issue is gravity & friction

#

I have an example of this on Hypixel though, lemme record it real quick

dire marsh
#

Also keep in mind it's 0.98f (float)

humble tulip
#

I'm sure we cld account for that but what does mc velocity mean?

#

What are the units?

keen ferry
#

meters per tick

humble tulip
#

Ok

#

And do you know what's mc gravity with units?

keen ferry
#

nope

#

I was hoping there was some way to disable friction without outright disabling the AI

humble tulip
#

Are you sure that's not a snowball or something?

humble tulip
keen ferry
#

it'll be invisible anyway

dire marsh
#

spigot not it seems

dry yacht
dry yacht
terse ore
#

yeah

#

one of those

keen ferry
#

I think I've come up with a different method: Launch a snowball in a general direction, but now I'll have to pre-calculate the path it'll take, because
I want to display the curve with particles before launching the snowball

terse ore
#

you could calculate it

#

you know the yaw and pitch

#

and the force the snowball is thrown doesnt change

keen ferry
#

but I'll have to take gravity and collision into account as well

#

I need the exact path the snowball will take

warm mica
terse ore
#

not necessarily

#

no wait

#

yeah you do

#

you could check the coords of every block of the path

#

and if there's a solid block

#

stop the path ig

humble tulip
keen ferry
#

which you can't disable

terse ore
#

one java question

#

if I make a method for getting a hashmap from another class, and I do a .put on it

#

should it affect the hashmap?

dire marsh
keen ferry
hazy parrot
terse ore
keen ferry
#
            Entity entity = player.getWorld().spawnEntity(player.getLocation(), EntityType.SNOWBALL);
            entity.setInvulnerable(true);
            entity.setSilent(true);

How do I make the snowball invisible, and disable its particles when it lands on the ground?

green prism
#

How can I store Bedwars bed's location?
The problem occurs since the bed is 2 blocks long, so it's "bi-locational".

dry yacht
green prism
desert loom
#

superabstract?

green prism
#

he said What do you want to store it for?

terse ore
#

is there a better way to do this

#
            int playerAmount;
            if (Data.getInstance().battles.get(battleName) == null) {
                playerAmount = 0;
            } else {
                playerAmount = Data.getInstance().battles.get(battleName);
            }```
desert loom
#

assuming battles is a Map, getOrDefault

green prism
terse ore
#

blockdata could work I think

#

but check this

tender shard
#

OH BOY MY PR GOT MERGED

green prism
#

Is storing Locations too heavy?

tender shard
#

no

green prism
#

Are you sure?

tender shard
#

yes

#

a location is just a weak reference to a world + 5 doubles

green prism
#

Ty

tender shard
#

actually 3 doubles + 2 floats

#

no problem at all

dry yacht
tender shard
#

in angelchest, I store a thousands of locations, it's no problem at all

#

depending on the size of the graveyard, it can be a few million of locations, that's totally fine

dry yacht
# tender shard actually 3 doubles + 2 floats

Yeah, so 3 * 8 + 2 * 4 = 32 bytes, and there's a world-reference in there too, so another 4 bytes, plus the (I guess) 8 bytes object overhead. So 44 bytes total per location. Having a thousand of them will be 44kB, so basically irrelevant in todays memory capacities, lol. In general I'd say that memory will never be an issue, as long as people aren't leaking it.

terse ore
#

how can I print a string without color coding onto console?

kind hatch
#

Strip the colors. ChatColor#stripColors() should exist.

tender shard
terse ore
eternal night
#

Where X's

keen ferry
#

I spawned a snowball, how do I make it invisible?

eternal night
#

Stash does not show it on master for me kek

tender shard
#

so you can e.g. throw it into a TranslatableComponent

#

or whatever

#

tbh it's been too long ago, I don't remember myself how it works

#

basically the idea was sth like this:

#

new TranslatableComponent(Material.DIRT.getTranslationKey())

#

or sth like that

#

and then it'll be "Dirt" for english people or "Erde" for german people

#

sth like that, idk

#

I am kinda reluctant to adding new pull requests because everytime I do so, some dude from paper appears and claims I stole their code, even if it's just 2 obvious lines lol

#

paper was a nice addition to minecraft until they started to do their own API additions

eternal night
#

Where is the API tho

#

I don't see the commit

#

Pls link

tender shard
#

the paper one you mean?

eternal night
#

No

#

Yours

tender shard
#

one second pls

#

the bukkit one is linked there

#

oh damn

#

md removed the comments I was responding to

eternal night
#

So not merged

tender shard
#

it was

#

?

#

huh

#

it's merged

eternal night
#

My phone browser must be fucking me XD

#

No

#

That's approved

#

Not merged

tender shard
#

oh

#

yeah my bad

#

I thought that "approved" means that it'll be merged in the next -SNAPSHOT

#

this was my first craftbukkit PR so I don't really know how it works yet

#

so what's the difference between "approved" and "merged"?

#

(honest question, I don't know anything about how it works lol)

eternal night
#

Approved means nothing really beyond that MD thinks it's ready to go

#

Until it hits master nothing is final

tender shard
#

I fucking hope that this'll work

#

oh wrong channel, bd. I thought this was general

molten hearth
#

Dency

stone jackal
#

Hi ! How we can make a text with a bold color ?

tender shard
#

dency yourself

eternal night
#

ChatColor.BOLD

#

or that

#

tho it would be Β§l unless you pass it through translateAlternate

tender shard
#

well tbh it depends

#

do you use ChatColor.translatelaternateCOlorCodes etc?

#

then just do &l

#

do you just use spigots components? then ChatColor.BOLD

#

do you use Adventure from paper? / MiniMessage?

buoyant viper
#

set component style bold sunglasses

hybrid spoke
#

just dont have a response PES_Cool

river oracle
#

Components go crazy

#

When you need them

stone jackal
#

I use ChatColor

tender shard
tender shard
buoyant viper
#

make sure to do it after any coloring

tender shard
#

yep

#

&c&l, not &l&c

eternal night
#

best format on the planet

buoyant viper
#

speakin of formats

orchid gazelle
#

true

tender shard
#

my code not workings, maven shit shit shit

buoyant viper
#

gonna make a plugin that takes in text from config by user and idk how i want to handle formatting

orchid gazelle
#

my code still lag spiking, shit shit shit

tender shard
buoyant viper
#

i can either go legacy (translateAlternateColorCode), custom (would probably be close to minimessage), or minimessage/adventure (<color>, <gradient>, <bold>, etc)

tender shard
#

joke's on you, sometimes I drink berentzen

lost matrix
#

𝕴 π–‡π–Šπ–Œ 𝖙𝖔 π–‰π–Žπ–‹π–‹π–Šπ–—

orchid gazelle
#

Have you tried Pfeffi now?

tender shard
#

I know Berliner Luft

tender shard
#

if you mean that

stone jackal
tender shard
#

you can

remote swallow
#

do both

eternal night
#

toString one of them

buoyant viper
#

wats minedown

lost matrix
orchid gazelle
eternal night
#

ChatColor.RED.toString() + ChatColor.BOLD

tender shard
#

"&c&lThis is red and bold"
"&l&cThis is only red because red replaces bold"

buoyant viper
#

smh

remote swallow
#

y

buoyant viper
#

lazy

tender shard
remote swallow
#

its easy

buoyant viper
#

if (use minimessage) { do minimessage } else { do bukkit }

tender shard
#

I would really recommend everyone to use minimessage if it wouldnt have one major flaw that makes it basically useless

buoyant viper
#

the part that makes u require adventure? yeah

tender shard
#

and that flaw is that it ignores the normal color codes on purpose

buoyant viper
#

oh

eternal night
#

"normal colour codes" kekw

orchid gazelle
#

I would really recommend everyone to not ever work with sending tons of fakeblocks to clients

remote swallow
#

legacy serialzier

stone jackal
remote swallow
#

you get both

eternal night
#

np np

tender shard
eternal night
#

what

#

you may find this funny, but have you ever seen a dog do a backflip

orchid gazelle
#

Yes

tender shard
#

tbh I havent

eternal night
#

has as much correlation to the issue as your statement

lost matrix
eternal night
#

what does player count have to do with configuration format πŸ’€

tender shard
#

I just wanna say that, whenever you invent something new, you should keep in mind that there's at least 20k servers that still wanna be able to use the "old way"

orchid gazelle
eternal night
#

that doesn't mean your format has to backport for eternity

lost matrix
eternal night
#

it just means that those communities should seek alternatives that work for them

#

e.g. minedown

orchid gazelle
tender shard
#

they abaonded it on purpose though

eternal night
#

yes

tender shard
#

that makes no sense imho

buoyant viper
eternal night
#

one proper format over a mix of old stuff

buoyant viper
#

what a fuckin method name

eternal night
#

Β§xΒ§FΒ§FΒ§FΒ§FΒ§FΒ§FYes

tender shard
eternal night
#

it is literally added by spigot

#

not even the minecraft server understands that format, even in the old days

tender shard
buoyant viper
#

wtf does it translate &x&R&R&G&G&B&B to for minecraft

eternal night
#

no ?

#

you realise legacy format was based on the clients format for these yes ?

lost matrix
eternal night
#

like, spigot didn't invent it

tender shard
eternal night
#

where as the entire API is a full own new creation

#

it is because legacy format as defined by mojang does not support it

tender shard
#

if the most popular server software invented this format, it's not "unusualy" per definition

eternal night
#

it is unusual to work

orchid gazelle
#

I gotta throw in some medicine tomorrow to be able to do my maths exam lol

eternal night
#

the most popular kekw spigot kekw

buoyant viper
#

i mean i can agree that spigot was weird as Fuck do to it the way they did

#

i think &#RRGGBB couldve sufficed

eternal night
#

It would have

tender shard
eternal night
#

no just laughing at "most popular"

orchid gazelle
#

Cheers

eternal night
#

lemme grab the bstats again

#

strong at 25% muscleright

tender shard
#

please do remember that paper is a fork of spigot

orchid gazelle
#

Forks count as using it too

tender shard
#

exactly

eternal night
#

mhm forks that deprecated legacy

#

hence it makes it unusual

tender shard
#

if you fork spigot and change a few things, it's still spigot

eternal night
#

few things

tender shard
#

many things still counts as spigot too

buoyant viper
#

until paper hardforks and kills off all of whatever spigot/bukkit added in favour of whatever the hell paper will replace it with, its still spigot at its core

eternal night
#

I mean

tender shard
#

if you clone spigot, then add 18265712 patches, it's still spigot... well, spigot + 12841672 patches

eternal night
#

the "unusual" is related to minecrafts format

#

adventure is not a spigot first implementation

#

hence, unusual

#

fabric nor sponge support the format

#

adventure is not only on the server side

orchid gazelle
#

Sponge uwu

eternal night
#

I don't know what is so hard to understand about the fact that spigot smashed a new "addition" to the legacy format to "support" RGB values that is not supported in the official minecraft legacy format and hence is marked as unusual in an implementation that does not depend on spigot

tender shard
# eternal night the "unusual" is related to minecrafts format

paper is a really nice server software, I don't deny that. But the API sucks ass, and not in the good way. Everything that takes a string si deprecated. Admins hate it, paper claims to be a "drop in " replacement for vanilla/spigot, but it isn't. it "fixes" things nobody ever asked them to fix. Paper's discord is also a huge joke, you get banned there for saying "yo guys I had sex yesterday" because idk somehow they think everyone is 8 year old and must be protected from talking about normal things.

buoyant viper
#

i think the best from paper discord is knowing people that got banned for asking for help... with Paper..

tender shard
#

also probably the only reason why spigot has less % on bstats is because you can download paper, while you gotta build spigot yourself

#

as said, no hate against paper, the software is decent

eternal night
#

that method name is from adventure not paper

#

idk why you are switching topics here

hybrid spoke
tender shard
#

well you gotta admit that paper is very much mafia-like

#

you get good conenctions, your stuff gets added

eternal night
#

wtf has that to do with calling the method unusual

tender shard
#

because it si not unusual

eternal night
#

I

#

want me to copy paste my explanation again

tender shard
#

EVERY plugin that uses ChatColor.translateAlternateColorCodes(...) undertands the &x&f&f&0&0&0&0 format

#

and hence it's not unusual

eternal night
#

your mind is limited to plugins

#

on

#

spigot basis

#

adventure is not a plugin specific api

tender shard
#

obviously. we are on spigot's discord

eternal night
#

nor spigot specific api

#

you are complaining about adventure

tender shard
#

no I don't

eternal night
#

does not matter where you do it

#

I- what

tender shard
#

I don't hate adventure

eternal night
#

you have been on about the term "unusual"

tender shard
#

the only thing I dislike is paper thinking "haha spigot sucks so hard, we can do better"-attitude

eternal night
#

which is an adventure coined term

#

wtf are you talking about, what does adventure have to do with paper. That is a one sided relationship. Paper includes adventure. Adventure does not know about paper

#

how does the method name "unusual" in adventure relate to paper

tender shard
#

that wasnt my intention

buoyant viper
#

i wonder if the git is supposed to be there (ChatColor in bungeecord-chat)

eternal night
#

no I don't mind it no worries, no hard feeligs lol

#

I just don't understand why you flame paper for the term "unusual" in an adventure created and coined method

#

when adventure exists outside of the spigot realm

tender shard
eternal night
buoyant viper
#

maybe they couldve called it useSpigotHexFormat

eternal night
#

so just a lack of information

#

I see

tender shard
#

probably, yes

tender shard
buoyant viper
#

calling it unusualXRepeated kind of paints a negative light on it imo

eternal night
#

Well kk, then my mind is calm

tender shard
#

it is not unusual

buoyant viper
#

which is understandable, but i /personally/ dont like it

eternal night
#

unusual is not negative upsidedown_cry

tender shard
#

it is

eternal night
#

you are rather unusual alex

buoyant viper
#

calling something unusual could be negative

tender shard
eternal night
#

it could be if you interpret it that way

#

just because something is not the norm does not make it bad :/

#

I personally dislike legacy text, don't get me wrong

tender shard
#

if at all, then paper is the "unusual" thing, since it forked spigot and changed things

eternal night
#

does not mean that unusual itself is negative

orchid gazelle
#

Unusual can be neutral, positiv or negative just depending on how you interpret it

tender shard
#

in my opinion, both APIs are shit

eternal night
#

nothing todo with bungee components

#

adventure does not touch those

#

unless you mean legacy text

#

when you say md5 components

tender shard
#

I will not argue against what's better, I myself think that MiniMessage is nice. I still think it's shit for a fork to claim "haha we made it better but contributing upstream? naaaah" is a shitty idea. Both MM and adventure are shit and md5's components are shit too. Bukkit was made to wrap around the vanilla things, instead of adding their own things

buoyant viper
eternal night
#

why is adventure bad tho

#

like components are just the way vanilla does stuff

#

both bungee and adventure aim to replicate that

orchid gazelle
tender shard
#

I stand my point, and I will explain it quickly: Paper has nice things that spigot doesnt have. But paper contributors are a jerk for not contributing it to spigot

remote swallow
#

if it wrapped to a string or something sure, its good but its not made for other stuff

buoyant viper
eternal night
#

the spigot project is maintained by a single australian

orchid gazelle
#

Yes

eternal night
#

I contribute stuff upstream

remote swallow
buoyant viper
#

fuck that reminds me i still have stuff i need to PR

#

LOL

eternal night
#

I am saying, a single person might not be enough to maintain a large project like that

tender shard
eternal night
#

not even PDC

orchid gazelle
#

Imagine being smart enough to PR Spigot

eternal night
#

I have a few PRs up there

buoyant viper
#

if u can write java u can PR to spigot

eternal night
#

my PDC list PR is landing upstream too

tender shard
orchid gazelle
eternal night
#

just that a) Paper is nicer to contribute to on github b) no CLA

buoyant viper
#

true

tender shard
#

I also sent a ban appeal but never got an answer

orchid gazelle
buoyant viper
#

CLA is hhhh and not being on GH is annoying

#

that being said, still signed it

tender shard
#

if someone isn't able to sign a CLA, I doubt that their contributions would be of any use in the first place

#

I mean

eternal night
#

what

tender shard
#

how can someone code something useful but is too stupid to sign a simple agreement

eternal night
#

what

#

it is not about being too stupid

#

you are indefinitely licencing your code to spigot

eternal night
#

you are giving away personal information that you might not be comfortable with

orchid gazelle
#

I'd need to be 18 I guess, and that

eternal night
#

signing the CLA is not a matter of physical ability lol

tender shard
buoyant viper
eternal night
#

you are rather open about your personal information alex

#

that is known

#

does not mean everyone wants to be that way

orchid gazelle
#

Not everyone is

tender shard
#

here*

eternal night
#

on a personal website

#

if you have one

#

does not mean everyone has

orchid gazelle
#

Yeah but not if you are just a simple dev without any website

buoyant viper
tender shard
#

I never understood why people are afraid of telling the name on the internet

#

their*

buoyant viper
#

i come from the mc cheating community, doxxing was a pretty rampant and a real issue

eternal night
#

if I just wanna contribute a quick fix to spigot or paper, I either a) sign a CLA, b) then wait for that to be accepted, c) survive the clusterfuck that is stash d) wait for the PR to be reviewed and merged by the single maintainer of spigot or I just submit a patch to paper on github

#

so like, idk. I would not blame someone for not contributing

buoyant viper
#

so hardened privacy was something i focused on

eternal night
#

the hurdles to get there are certainly not non-existant

tender shard
#

I also never understood "doxing" in general

buoyant viper
#

part of privacy is anonymity

tender shard
#

like, wheres the problem in having know your actual name or address? what's the worst thing that can happen?

buoyant viper
#

signing the CLA and giving ur info to some australian guy isnt very anonymizing

orchid gazelle
#

I'd rather not be having some guy that hates me sending german police to me lol

buoyant viper
#

and its a pretty traumatizing experience

tender shard
tender shard
#

"getting swatted"?

orchid gazelle
buoyant viper
#

swatting is when the police (or military even?) basically invades your location/home

#

usually under the impression that youre a terrorist bc the doxxer left them a "note"

tender shard
#

but that makes no sense

orchid gazelle
#

Some fucking monkeys tell the police that you are doing bad things

#

Then police thinks you may be dangerous

tender shard
#

so I could just call police and tell them "123 Random Street in 66543 Random City" is a terrorist? and then they'll get swatted?

buoyant viper
#

pretty much

orchid gazelle
#

Basicly, yes

tender shard
#

but then why care? I could do that for every address anyway

#

I could call 010911 right now and give a random address and they'll swat it?

orchid gazelle
#

Yes

tender shard
#

that makes... erm... little sense to me

lavish hemlock
#

Really depends on the story you tell

tender shard
#

I could just make sth up

#

I mean

orchid gazelle
#

If its realistic and they believe you, yes

tender shard
#

street names are public

glossy venture
#

if you tell them they have a bomb and 6 kids in the basement, tf are the authorities supposed to do

lavish hemlock
#

Yeah, it's a "better safe than sorry" precaution

tender shard
#

I coul just go to google maps, enter "los angeles", choose a random street + house number, and they'll swat it? lmao

glossy venture
#

only problem is that people sometimes get hurt

lavish hemlock
#

Like, if you call 911 and hang up, they'll still send a unit out to come check

glossy venture
#

during swatting

lavish hemlock
#

At least, I think so

tender shard
#

intimidating, at least

buoyant viper
#

happened to me a few years ago lol

glossy venture
#

but then ur swatting yourself lol

tender shard
#

idk but I am not afraid to have my address in public. It's Junkerstraße 17 in 48153 Münster, Germany,

orchid gazelle
#

Bro youre gonna have the shock of your life if randomly at 3am your door gets broken with 10 people with machine guns come running into your room

lavish hemlock
#

Well the difference between that and swatting is in their approach

#

Swatting is more "4 armed guys in bulletproof vests w/ semi-auto rifles bursting into your house unannounced"

glossy venture
#

rrue

buoyant viper
#

yeah

glossy venture
#

do they set up snipers around ur house

buoyant viper
#

was more so reinforcing ur statement that calling 911 basically makes them send at least someone

lavish hemlock
#

Snipers are for hostage/terrorist situations usually

tender shard
#

imho if people are afraid of giving their address awyay, then they shouldnt use discord, or internet in general. Just do not illegal things and there's nothing to be afraid of

lavish hemlock
#

Mainly in the case an individual is believed to be armed or dangerous

buoyant viper
#

not using the internet is not a choice in the modern age

#

its a requirement

orchid gazelle
kind hatch
#

There's a chance that the individual who was swatted could get killed. That's why doxxing is dangerous.

buoyant viper
#

banking is digital, healthcare is digital, hell, voting will probably become digital eventually

tender shard
#

I have sent my adress many times here in the last 2 years and I never was shot, nor confronted by any armed people

kind hatch
#

You live in a different country alex. :/

lavish hemlock
glossy venture
#

if you call 911 saying that the house contains 3 bombs, an IED and 3 kids being held hostage shouldnt they handle it as a hostage/terrorism situation

lavish hemlock
buoyant viper
#

i feel like swatting is almost exclusively an American issue

orchid gazelle
lavish hemlock
#

Like, most swatting targets are influencers.

tender shard
orchid gazelle
#

When you get influencer in 5 years and someone finds your address here by scrolling up, youre fucked.

buoyant viper
#

influencers, or some poor kid that did 1 dumb thing that everybody will forget about within the next 3 months

lavish hemlock
#

Yeah, pretty much

tender shard
lavish hemlock
#

That's German law, ain't it?

buoyant viper
#

german law

orchid gazelle
#

Yes

tender shard
#

I only know german law

buoyant viper
#

then dont use it as an argument?

lavish hemlock
#

You're in the land of American now, buddy.

orchid gazelle
#

Alex we have better law lmao

tender shard
#

oh okay. yeah I dont know anything about murican laws

tender shard
buoyant viper
#

on the topic of dev real quick... still cant decide between MIT or GPL3 for my normal software....

tender shard
#

do you want other people be able to earn money with your stuff?

buoyant viper
#

idk if i wanna go GPL and force any forks (that theoretically will probably never happen) to also be GPL

buoyant viper
#

nothing of real worth just little programs n some mods

eternal oxide
#

I prefer GPL2 over 3

orchid gazelle
buoyant viper
tender shard
hazy parrot
#

I just yeet MIT everywhere :3

tender shard
eternal oxide
#

I don;t remember now. I remember it was somethign about not being able to give rights or take them back. it's been a loing time

orchid gazelle
tender shard
buoyant viper
lavish hemlock
orchid gazelle
#

Imagine getting rich in 10 years bc some guy forked your random software you write when you were literally 12 and earned millions

tender shard
#

"You just use it for a free MC plugin? Go ahead. You make 20 billion $ every year? please gimme some"

#

best license ever

orchid gazelle
#

Well but when they made money, they would then contact me to give me money right?

lavish hemlock
#

Well, it is a decent license considering how many companies do a "commercial license"

#

But that's mostly just "Pay me in order to gain commercial rights"

tender shard
#

someone who's afraid to sign the spigot CLA isn't someone whom I'd trust anyway

lavish hemlock
#

πŸ–οΈ

tender shard
buoyant viper
eternal night
#

the promise you wrote the code yourself is the least worrying part xD

orchid gazelle
#

Do I need to be 18 to sign a CLA? Yes

buoyant viper
#

and im pretty sure Kas wont sign the CLA

tender shard
eternal night
#

lmao trusting kacper kekw troll

tender shard
#

but yeah tursting kacper is a funny statment haha

#

trusting*

eternal night
#

you are licencing your code away /shrug

lavish hemlock
#

I don't trust most people with my address

tender shard
lavish hemlock
#

I think there's only a select few people who know where I live

#

And that's basically just down to my boyfriend and exes, lmao

buoyant viper
#

whatever code u contribute to it is still urs isnt it

tender shard
orchid gazelle
eternal night
#

I uploaded my code to github

#

that means I gave it away

buoyant viper
#

True

tender shard
#

I mean... .just imagine being a judge. Now someone claims "paper is using my code". And your point is "Yeah but it's my code". Then the judge asks you "So why did you give it to paper if you don't want paper to use it?"

#

good luck answering that

eternal oxide
#

I remember. One GPLv3 is not the same as all others. Each one can be different with different restrictions.

#

with GPLv2 you know what you are getting. same license every time

lavish hemlock
#

Are you referring to LGPL and AGPL?

buoyant viper
#

sunglasses the choices

eternal oxide
buoyant viper
glossy venture
lavish hemlock
#

(Why do people license their code under Creative Commons?? I've seen people say "this code is CC0," like, no, that's what MIT is for)