#help-archived

1 messages ยท Page 27 of 1

narrow crypt
#

what do you mean with "Dont repeat youself"

vernal spruce
#

where?

hot girder
#

Dont repeat code

vernal spruce
#

could most likely mean ur repeating a code that a method would fit better

naive stratus
#

Is there a way to persist a dropped ItemStack on restarts? I want most items to despawn after a while, but one type to stay there, no matter what.

hot girder
#

"DRY"

fair abyss
#

@naive stratus just specified items or all items?

naive stratus
#

Specific items

vernal spruce
#

@naive stratus save it inside the plugin,and in a config,delete them ondisable then spawn them again onenable..

#

depending on how you want to do with them

#

hmm to never despawn?

fair abyss
#

@vernal spruce tahts bad idea

#

you cant control entity's drops when you kill it on disable

vernal spruce
#

so hes kinda screwed on that one..

fair abyss
#

if you have cow, it will drop wool every restart

vernal spruce
#

hes talking about a item already dropped

#

to never despawn

naive stratus
#

^

fair abyss
#

ah

#

different

#

people

#

nearly same answer

naive stratus
#

In my case it's dragon eggs. So there will be a very limited amount around.

vernal spruce
#

well javadoc seems to have this

naive stratus
#

Yeah I found that one. Doesn't seem to persist it on restarts though. But I will just store it in my db and delete it/create it on server stop/start

fair abyss
#

@naive stratus save it inside the plugin,and in a config,delete them ondisable then spawn them again onenable..

vernal spruce
#

@fair abyss sadly your theory is still a risk

fair abyss
#

which

vernal spruce
#

i believe ondisable at the perfect time a player can pick up the item

#

unless you have a safe,kickall before disabling

fair abyss
#

actually it was your theory

vernal spruce
#

meaning the item can respawn again

fair abyss
#

but, if you want mine

#

you can make your unpickup able item with nms
not sure api provides it, but could be done with nms

pure pasture
#

I have a problem I cant load my plugin cause it always says already initialized help ls

vernal spruce
#

that usually happens when you save 2 with different names

#

i sometime do that mistake

#

or paste the error here

#

?paste

worldly heathBOT
fair abyss
#

if you have same named plugin but different named jar
spigot will disable one of them

pure pasture
vernal spruce
#

mhmm check for extra line above

#

it should say things like ambigous name

fair abyss
#

yep, in the first lines

vernal spruce
#

if not something onenable went wrong..

fair abyss
#

and, did you call a command that forces to load your plugin?

#

like plugman

pure pasture
#

Doesn't say anything like that

#

no

vernal spruce
#

hmm try remove everything

pure pasture
#

Started the server and get this error

vernal spruce
#

in onenable /**/

#

and check there

fair abyss
#

did you try to run onenable twice?

vernal spruce
#

if it loads it means something is wrong onenable..

pure pasture
#

In my oneanble method there is only a message, the registering of the class and the calling of a method in another class

#

The plugin also used to work fine but no it doesn't anymore

narrow crypt
#

chest.setCustomName(ChatColor.translateAlternateColorCodes('&', "&k0&r &cAirDrop &r&k0")); this isnt a thing? how do i change the name that is displayed in the chestinventory

vernal spruce
#

as i said try placing everything inside it in comments

#

/* code */ build and try

fair abyss
#

@narrow crypt did you named chestinventory as chest?

narrow crypt
#

no the block

#

do i need to do the chestinv?

fair abyss
#

so get block's inventroy.

vernal spruce
#

Are you also checking if its instance of chest/doublechest?

narrow crypt
#

i already got that

#

Inventory chestinv = chest.getInventory();

#

the plugin just summons 1 chest @vernal spruce

fair abyss
#

chestinv check setTitle or setCustomName or setName

vernal spruce
#

settitle seems more likely

#

as inventory doesnt have name but has gettitle

pure pasture
#

I commented everything and it still gives me the same error what da heck

narrow crypt
#

nope

#

doenst exists

vernal spruce
#

@pure pasture well you know what to do,rename the plugin.yml to something different,then save the jar as that name

#

and try then

fair abyss
#

ehm in new versions

#

settitle was moved

vernal spruce
#

is he using olds?

fair abyss
#

dont know

vernal spruce
#

damn havent used anything below 1.14 since couple months

narrow crypt
#

im using 1.15.2 if that is what you mean

#

like plugin has 1.15.2spigot jar

vernal spruce
#

i especially love 1.15 that added to savelocation to config

fair abyss
#
chestState.setCustomName("My Chest Inventory Title!");```
google says
narrow crypt
#

yea got it

vernal spruce
#

yeah instanceof chest/doublechest..

narrow crypt
#

just found it

vernal spruce
#

mentioned it but im not sure if it would work

narrow crypt
#

oh wait

#

i tried that already

fair abyss
#

sure it can done easly with nms

#

ahh bukkit api.

narrow crypt
#

still not working

#

no errors or whatsoe ever

fading owl
#

is it possible you need to request an update for that block

fair abyss
#

^

fading owl
#

It's likely you're changing some internal state but the client isn't aware of it yet.

pure pasture
#

Found the problem

#

@vernal spruce

vernal spruce
#

?

pure pasture
#

I had two plugins from myself loaded

vernal spruce
#

it shouldnt matter

pure pasture
#

And i just had to change one of the plugin.ymls slightly

narrow crypt
#

chest.update?

vernal spruce
#

do both have same mainclass names?

pure pasture
#

Yes

vernal spruce
#

thats why..

fair abyss
#

chest's blockstate .update

pure pasture
#

I didnt know this was a problem

narrow crypt
#

yes that was it

#

the update

#

thank you!

fading owl
#

you're welcome ๐Ÿ™‚

vernal spruce
#

well now you know,good luck coding further @pure pasture

pure pasture
#

Thanks @vernal spruce

silk gate
#

keep different plugins to different packages

narrow crypt
#

can i center the text too @fading owl

fair abyss
#

@silk gate right

fading owl
#

I'm not sure if you would be able to center the text.

#

I don't know if the client supports markdown. Likely not.

fair abyss
#

wiki will say whats max length
then your math knowledge will help you to center the text xd

fading owl
#

However my knowledge is limited.

narrow crypt
fair abyss
#

nice ๐Ÿ˜„

vernal spruce
#

decent enough

fading owl
#

seems to be +-30px off

vernal spruce
#

also try switching ui scale

fading owl
#

could be wrong

#

need to left-align 15+-px

vernal spruce
#

see if it works with all 4 ui scales

#

also nice color choices

#

hmm what is the event called when a chicken makes an egg?

fading owl
#

ItemSpawnEvent?

#

I'm unsure documentation is limited.

narrow crypt
#

not complete maybe but idk

fading owl
#

well u can get a list of events from org.bukkit.event package

vernal spruce
#

if it exists javadoc should most likely have it..

#

well time to test all of them

fading owl
#

Haha

vernal spruce
#

man i love eclipse..

fading owl
#

intellij all the way

#

:D

#

let the war begin

vernal spruce
#

tried getting into it,proved too hard to bother

#

gave up after i saw it doesn't like the way i get main..

#

strange,on javadoc EntityDropItemEvent barelly has methods,but in eclipse i have entity/entitytype

arctic thicket
#

I bought 2 plugins ... but I don't see them in my account

vernal spruce
#

your better of talking directly to a staff member... @arctic thicket

silk gate
#

staff can't help

#

you need to talk to the plugin author

#

but wait an hour first

#

XF can take a while

hot girder
#

Send mails to spigot

oblique sphinx
#

i want to learn how to use javascript with spigot

pale plaza
#

i give up

vernal spruce
#

?

pale plaza
#

i juist been tryna make a plugin it wont work

oblique sphinx
#

can anyone help me?

pale plaza
#

its pissed me off to mush

vernal spruce
#

@pale plaza you never asked for help here?

pale plaza
#

much

vernal spruce
#

or on spigot

pale plaza
#

@vernal spruce No cus it the eazy but never workeed

fading owl
#

@oblique sphinx JavaScript or Java?

oblique sphinx
#

JavaScript

sweet hemlock
#

You need to know Java for Bukkit/Spigot programming

silk gate
#

you dont

#

there's some nashorn stuff but just dont

vernal spruce
#

is chicken egg rate not affected by ticks?

quaint shuttle
#

wats the best spigot version if u want a lot of plugins?

vernal spruce
#

1.14/1.15 seems to be the best

fading owl
#

1.12 seems to be highly targeted but 1.15 seems to have a lot of demand.

sweet hemlock
#

yeah, just go with latest one

fading owl
#

i'm fairly new here though.

quaint shuttle
#

ok fair

sweet hemlock
#

or just 1.13+ in general since block API changed heavily in 1.13

vernal spruce
#

gotta love 1.15 adding setLocation/getLocation straight from config

quaint shuttle
#

should go for 1.15 or wat?

fading owl
#

eh the serialization is heavy though

#

kind of annoying

silk gate
#

you can serialise locations in 1 line

fading owl
#

yeah

#

x, y, z, world

vernal spruce
#

you can but its annoying

fading owl
#

but not the default way theyre serialized

quaint shuttle
#

should i just do 1.15?

sweet hemlock
#

yes

vernal spruce
#

also is that how you have ur config structured? @pale plaza

hot girder
#

i want to learn how to use javascript with spigot
@oblique sphinx there's a plugin

#

Drupi

sweet hemlock
#

especially if you're just starting out, It'll be best to learn the API from the latest 1.15.2

vernal spruce
#

best to learn? TheSourceCode ๐Ÿ˜‚

pale plaza
#

@vernal spruce This package test;

import org.bukkit.plugin.java.JavaPlugin;

/**

  • This Plugin Was Made By LewisGaming
  • Make sure To Check His YouTube Channel Out
    */

public class ScoreBoard extends JavaPlugin{

@Override
public void onEnable(){
hot girder
#

First learn java

vernal spruce
#

@pale plaza ?paste

#

?paste

worldly heathBOT
pale plaza
#

ok

fading owl
#

wait

#

lewisgaming

#

that name seems familair as f

vernal spruce
#

jeez.. eggs are not affected by tickrate i actually have to wait 5-10 min to test the event

pale plaza
vernal spruce
#

are you using notepad++ to edit?

fading owl
#

Hey Lewis, if you need any help let me know, I wouldn't mind.

pale plaza
#

@vernal spruce Nope I use Intellij

vernal spruce
#

and found the event nice,entitydropitemevent applies to chicken eggs

pale plaza
#

@fading owl ok thanks

vernal spruce
#

@pale plaza sadly i use eclipse..

pale plaza
#

oh what that

fading owl
#

Lewis what exactly is the problem or conclusion you're trying to come to?

pale plaza
#

My Code Will Not Wortk at all

fading owl
#

Not work how

#

Is there any exception thrown

pale plaza
#

I Get errors about the text

fading owl
#

Can you show those errors

#

wrap in a code block

pale plaza
#

dm so i can send screen shot

fading owl
#

will do

fair abyss
#

?paste

worldly heathBOT
naive stratus
#

I keep getting java.sql.SQLException: Data truncated for column 'position_y' at row 1 when trying to store x,y,z, for an item - I cannot figure out which data type to use in the table. Tried double, decimal, float, all with different values, but I always get the same. Anyone know how to get around it?

fair abyss
#

@naive stratus dont you have option to view it?

#

phpmyadmin etc

naive stratus
#

I do. It does not get stored. This is when I try to insert the value.

fading owl
#

problem is likely a limitation in size because of data type

tall pewter
#

Does anyone know how to fix joemarriage plugin?

fair abyss
#

not best place to ask @tall pewter

naive stratus
#

I even tried to Math.round it

fading owl
#

@naive stratus use 3 different columns

#

one for x, one for y, and one for z

naive stratus
#

@fading owl I am

fading owl
#

you need to use a float

naive stratus
#

That's why it says "position_y" ๐Ÿ˜›

fading owl
#

try FLOAT(8, 8) for example

tiny dagger
#

32,2 :p

fading owl
#

apologies, yes

#

8, 8 might be fine

#

or even 7, 7

#

-1,000,000 to 1,000,000 seems realistic

naive stratus
#

I got float y = (float) location.getY(); in code and FLOAT(32,2) in database now.

#

Still same issue

fading owl
#

32 digits seems liek a lot in retrospect

#

and 2 might not be enough

#

after the decimal

#

so try 16, 16

#

should be more than enough

#

16, 8 even

tiny dagger
#

isn't the location a double?

fading owl
#

i thought it was a float

naive stratus
#

Its a double

fading owl
#

oh sheeet

vernal spruce
#

anybody knows if i can modify the time between eggs on a chicken?

fading owl
#

libgdx got me all fkd up

tiny dagger
#

so try DOUBLE(64,2)

#

if you want to keep it clean that is

naive stratus
#

So weird. Nothing seems to work.

dusty topaz
#

@vernal spruce probably have to get EntityChicken and use a method

fading owl
#

Show us the code you're using to insert @naive stratus

dusty topaz
#
    public EntityChicken(EntityTypes<? extends EntityChicken> entitytypes, World world) {
        super(entitytypes, world);
        this.eggLayTime = this.random.nextInt(6000) + 6000;
        this.a(PathType.WATER, 0.0F);
    }

in EntityChicken

#

public int eggLayTime;

vernal spruce
#

@dusty topaz nvm found that dont even need it

dusty topaz
#

how are you doing it?

vernal spruce
#

im cancelling the event no matter what so im gonna use own timers anyway..

dusty topaz
#

and just dropItem(egg)?

naive stratus
vernal spruce
#

@dusty topaz something like that,didnt get to that part yet

quaint shuttle
#

is anyone a dev or has been a dev for a minecraft server? plz pm me

final verge
#

?services

worldly heathBOT
vernal spruce
#

most of us... if you have a question ask here

fading owl
#

your query looks for 8 parameters

#

but you're providing 12

#

nevermind

#

there is an on_duplicate_key

naive stratus
#

Yeah

#

I had to count myself haha

fading owl
#

first off

#

wrap that statement in a try-with-resources

idle tulip
#

Hello, I just created small plugin but have question. https://pastebin.com/raw/mafdfiGu Should this HttpURLConnection be run in async task? So it wouldn't lag server when there are ton players chatting?

fading owl
#

Yes

#

HttpurlCnnection is blocking

#

attempts to open the stream, read, or write, are blocking oeprations

idle tulip
#

Ok thanks, I'll look up that async task

silk gate
#

you don't need to set a user agent

naive stratus
#

@fading owl Like try (Statement stmt = con.createStatement()) {'ish ?

fading owl
#

correct

naive stratus
#

Noted

fading owl
#

but use preparedStatement

silk gate
#

also needs to be /webhooks/:id/:token @idle tulip

#

just ID won't work

fading owl
#

what is picked_up_at?

#

is that the timestamp

#

oh yeah

#

i see whats wrong here

naive stratus
#

Oh please do enlighten me

fading owl
#

ON DUPLICATE KEY UPDATE amount=?,dropped_by_player_uuid=?,dropped_at=NOW(),position_x=?,position_y=?,position_z=?;

#

ur expecting that to make use of the initial argumetns

#

u need to use VALUES(dropped_by_player_uuid)

#

IIRC

naive stratus
#

It all worked before I added the positions. I also tried VALUES() yesterday in the UPDATE part of the statement, but it does not work.

#

This is the way to do it.

#

I've been able to insert/update drop/pickup fields until I added the positions.

fading owl
#
INSERT INTO items (uuid, name, amount, picked_up_by_player_uuid, picked_up_at, position_x, position_y, position_z) VALUES (?,?,?,?,NOW(),?,?,?) ON DUPLICATE KEY UPDATE amount=VALUES(amount),picked_up_by_player_uuid=VALUES(picked_up_by_player_uuod),picked_up_at=NOW(),position_x=?,position_y=?,position_z=?;
#

also make sure uuid and name are not keywords

#

in mysql

#

yeah name is a keyword

naive stratus
#

They are both VARCHAR with the correct max length for each of them. They should be fine.

fading owl
#

i think you're missing the point

#

your using column called name

#

when name is a reserved keyword

#

you're going to have to call it player_name

#

for example

#

oh

#

INSERT INTO items (uuid, name, amount, picked_up_by_player_uuid, picked_up_at, position_x, position_y, position_z) VALUES (?,?,?,?,NOW(),?,?,?)

#

also

#

u insert amount twice

#

for param 3 and 5

naive stratus
#

That's because it's also in the UPDATE statement

fading owl
#

eh

#

thats not how parameters work

#

what do u think 3 and 5 represent

naive stratus
#

?,?,?,?,? = 1,2,3,4,5

fading owl
#

ok

#

so what is at 3 and 5

#

in the insert

naive stratus
#

Oh wait, I see what you mean

fading owl
#

yeah

#

so u neeed to use values

#

to reference that column

#

when updating

#

or provide another parameter

idle tulip
#

https://pastebin.com/raw/ahrF42hH Can anyone tell me what's wrong with that? I am getting "Forbidden" response after sending HTTP POST request/writing in chat. Without async task it works.

fading owl
#

try this @naive stratus

#
private void updateItemDatabaseEntry(UUID itemUUID, Material material, int amount, Location location, UUID playerUUID, boolean pickedUp)
{        
    String query = "INSERT INTO items (uuid, player_name, amount, picked_up_by_player_uuid, ?, position_x, position_y, position_z) VALUES (?,?,?,?,NOW(),?,?,?) ON DUPLICATE KEY UPDATE amount=VALUES(amount),picked_up_by_player_uuid=VALUES(picked_up_by_player),picked_up_at=NOW(),position_x=VALUES(position_x),position_y=VALUES(position_y),position_z=VALUES(position_z);";
            
    try (PreparedStatement statement = plugin.getConnection()
                .prepareStatement(query)) {
        statement.setString(1, pickedUp ? "picked_up_at" : "dropped_at");

        statement.setString(2, itemUUID.toString());
        statement.setString(3, material.toString());
        statement.setInt(4, amount);
        statement.setString(5, playerUUID.toString());
        statement.setDouble(6, location.getX());
        statement.setDouble(7, location.getY());
        statement.setDouble(8, location.getZ());
        statement.executeUpdate();
    } catch (SQLException e) {
        e.printStackTrace();
    }
}
#

note that name is now player_name

#

one thing that i find odd about ur structure too is the variable column name

#

that is quite odd

#

generally you would have 2 columns or even 2 tables

#

i.e time_of_event (now), and event_type (drop, pickup)

#

yeah so this would be a problem with my code

#

picked_up_at=NOW()

#

since colum is variable

naive stratus
#

This works:

String query;
if  (pickedUp == true) {
    query = "INSERT INTO items (uuid, name, amount, picked_up_by_player_uuid, picked_up_at, position_x, position_y, position_z) VALUES (?,?,?,?,NOW(),?,?,?) ON DUPLICATE KEY UPDATE amount=?,picked_up_by_player_uuid=?,picked_up_at=NOW(),position_x=?,position_y=?,position_z=?;";
} else {
    query = "INSERT INTO items (uuid, name, amount, dropped_by_player_uuid, dropped_at, position_x, position_y, position_z) VALUES (?,?,?,?,NOW(),?,?,?) ON DUPLICATE KEY UPDATE amount=?,dropped_by_player_uuid=?,dropped_at=NOW(),position_x=?,position_y=?,position_z=?;";
}
        
try {
    PreparedStatement statement = plugin.getConnection()
            .prepareStatement(query);
    statement.setString(1, itemUUID.toString());
    statement.setString(2, material.toString());
    statement.setInt(3, amount);
    statement.setString(4, playerUUID.toString());
    statement.setDouble(5, location.getX());
    statement.setDouble(6, location.getY());
    statement.setDouble(7, location.getZ());
    statement.setInt(8, amount);
    statement.setString(9, playerUUID.toString());
    statement.setDouble(10, location.getX());
    statement.setDouble(11, location.getY());
    statement.setDouble(12, location.getZ());
    statement.executeUpdate();
} catch (SQLException e) {
    e.printStackTrace();
}

It was just the bindings that were wrong. As I mentioned before, I did try with =VALUES() in the UPDATE statement yesterday (When initially creating this statement, so not related to this issue), but that did not work. NOW() is an SQL function and that gives me the current timestamp, so I do not have to provide anything myself in code. I know when I run these queries that it happened now, so I just insert or update either picked_up_at or dropped_at with that sql function.

fading owl
#

gotcha, so amount was in the wrong place. you definitely shouldnt have variable columns like dropped_at aor picked_up_at, that definitely seems wrong since assumingly those will now have null values

#

also, i'm not sure if you notice but

#
    statement.setString(4, playerUUID.toString());
    statement.setDouble(5, location.getX());
    statement.setDouble(6, location.getY());
    statement.setDouble(7, location.getZ());
    statement.setInt(8, amount);
    statement.setString(9, playerUUID.toString());
    statement.setDouble(10, location.getX());
    statement.setDouble(11, location.getY());
    statement.setDouble(12, location.getZ());
#

there are 4 duplicted parameters

#

which was why i indicated to use VALUES

#

dont forget try-with-resources

naive stratus
#

What are the benefit of try-with-resources?

iron nebula
#

Don't save UUIDs as string, save them as binary

fading owl
#

with a try-with-resources your prepared statement will be closed

#

prepared statements implement Closeable

#

so those resources need to be closed

iron nebula
#

UUID is just 16 bytes of data, saving them as String is 46 chars

sweet hemlock
#
try (closable variable) {}
#

Highly recommended, yeah

fading owl
#

same with connection

#

plugin.getConnection() makes me think ur not using pooling though

naive stratus
#

Bonus info: Never worked with Java or Bukkit until yesterday - So please do guide me ๐Ÿ˜›

fading owl
#

ah

sweet hemlock
#

started yesterday and already at database access, you're on a roll!

#

xD

naive stratus
#

So I am not even sure what "using pooling" means

#

@sweet hemlock - I'm a backend developer for a living(PHP ๐Ÿ˜ฆ ), so it's not totally alien to me ๐Ÿ˜›

iron nebula
#

So in case of MySQL you can do UNHEX(uuid) to save the UUID as bytes, and you feed the the string without dashes

sweet hemlock
#

pooling is leaving connections open so you don't need to open new connection every time you want to update something in the database

hoary parcel
#

Ideally you would save uuids as 4 ints

#

As that's the format mojang is moving to

iron nebula
#

And then you can retrieve the UUID as HEX(uuid)

hoary parcel
#

Before everybody saved uuids as two longs

iron nebula
#

Btw is there any advantage saving them as ints ๐Ÿค”

fading owl
#

4 ints would be 128 bits

hoary parcel
#

Combat with vanilla format, the size is the same

iron nebula
#

2longs would be 128 bits too

fading owl
#

oof

hoary parcel
#

An int is 32bit

#

Signed

fading owl
#

a UUID is 128 bits

#

iirc

#

64 for unsiginifcant

naive stratus
#

Do you have any good examples of connection pooling for Java that I can read?

fading owl
#

and 64 for significatn

sweet hemlock
#

Is there an internal UUID support for SQL databases now?

fading owl
#

yeah Hikari

#

or C3P0

#

are good for connection pooling

tiny dagger
#

well both signed unsigned uses 32 bits

iron nebula
#

Postgres supports UUID out of the box

naive stratus
#

Will look into this UUID issue afterwards. I'm glad you guys mention it.

iron nebula
#

Its pretty nice

fading owl
#

well

sweet hemlock
#

o

fading owl
#

problem with using binary

hoary parcel
#

It doesn't matter if you use 4 ints or 2 longs, it's all the same

iron nebula
#

Simplifies some of my stuff

fading owl
#

is visual representation

hoary parcel
#

Just mojang uses 4 ints now for scoreboard stuff

fading owl
#

its faster

sweet hemlock
#

I need to see if MariaDB has one

fading owl
#

but oof

iron nebula
#

MySQL doesn't have one

hoary parcel
#

Binary data is tables is just always meh

sweet hemlock
#

inb4 opens a ticket on MariaDB for UUID support

iron nebula
#

Or well I could be out of the loop, I only use Postgres nowdays

idle tulip
#

Can anyone please tell me what's wrong with my code? https://pastebin.com/raw/ahrF42hH I am getting "Forbidden" as I write in chat aka sending HTTP POST data. It works when not using async task.

hoary parcel
#

The only DB worth using

iron nebula
#

:D

naive stratus
#

@idle tulip Forbidden is a response from whatever you sent the post request to

idle tulip
#

Yes, but it works when it's not in async task

fading owl
#

gives me a 401

#

are u inserting the webhookid

idle tulip
#

i took it out before pasting it to pastebin

fading owl
#

okay

silk gate
#

@idle tulip I already told you

iron nebula
#

I fell in love with Postgres after learning about window functions and CRE, never looked back to MySQL after that. Tho that was few years before but MySQL is catching up with the features

#

Tho it will never be the same

#

RETURNING ๐Ÿ˜ป

silk gate
#

pg FASTE

iron nebula
#

Pg makes everything easy lmao

sweet hemlock
#

There's a function for UUID to Binary at least

iron nebula
#

Always been possible with the UNHEX too

sweet hemlock
#

and binary to UUID

#

Looks like the UUID/BIN function is cleaner since it takes dashes into account as well

iron nebula
#

Sounds good

sweet hemlock
#

before you had to remove all dashes and do extra computations

iron nebula
#

Just move to pg ;) Lmao

sweet hemlock
#

xD

#

So many applications use MySQL/MariaDB, namely CoreProtect, so I'm sticking with one for now lol

iron nebula
#

Mhm

pure pasture
#

My plugin from interacting with a certain item but when i switch worlds they can interact with it help

iron nebula
#

MySQL is easy to use

pure pasture
#

kesps players*

iron nebula
#

I just find pg more dev friendly when doing SQL

pure pasture
#

keeps*

sweet hemlock
#

How does your plugin prevent item interaction?

idle tulip
#

@idle tulip I already told you
@silk gate i am literally using /:id/:token, im saying that it works nicely when it's not in async task

unreal herald
#

Hello guys, Im one of the devs of BetonQuest and we have had a lot of async related exceptions in 1.15. Has the API changed in a way that is stricter towards sync / async code? We couldnt find stuff in the changelog.

pure pasture
#

It get's the name of the item and if it's this item it blocks the interaction

idle tulip
silk gate
#

and its definitely 403ing?

idle tulip
#

yes

silk gate
#

and it doesnt when sync?

idle tulip
#

exactly

fading owl
#

you're 100% sure it works fine when sync?

idle tulip
#

yes

silk gate
#

running async wont cause this

fading owl
#

are u excluding any code

#

from the pastebin

idle tulip
#

just onEnable and onDisable

silk gate
#

arent webhooks on the subdomain canary

fading owl
#

show the exception

idle tulip
#

you're 100% sure it works fine when sync?
@fading owl yes, i can see messages in discord text channel

slim hemlock
#

quick sanity check

idle tulip
#

con.getResponseMessage() returns just "Forbidden" i'll see if can get more details

slim hemlock
#

PlayerFishEvent fires when the player casts the rod right

#

not just when actually succeeding in reeling back a fish?

fading owl
#

looks like it has a ton of states

#
    public static enum State {
        FISHING,
        CAUGHT_FISH,
        CAUGHT_ENTITY,
        IN_GROUND,
        FAILED_ATTEMPT,
        REEL_IN,
        BITE;

        private State() {
        }
    }
#

so probably fired at the start of fishing, while fishing, and when caught

idle tulip
#

getLogger().info("RESPONSE: " + con.getResponseMessage()); getLogger().info("RESPONSE: " + con.getRequestMethod()); getLogger().info("RESPONSE: " + con.getResponseCode());
All I can get is that
[20:26:15 INFO]: RESPONSE: Forbidden [20:26:15 INFO]: RESPONSE: POST [20:26:15 INFO]: RESPONSE: 403

naive stratus
#

@fading owl Do you know how I export the jar file with HikariCP? I get java.lang.NoClassDefFoundError: com/zaxxer/hikari/HikariConfig - I can find a few other people that mention the same, but some are really old posts. Thought I'd just ask here before I dig into those.

fading owl
#

depends what you're using for dependency management

#

or if you're using it

#

i.e maven or gradle

naive stratus
#

I'll look into Maven. Saw that mentioned at the Spigot forum. Thanks.

fading owl
#

yeah maven is solid

#

so is gradle

naive goblet
#

Maven 2020 :/

fading owl
#

what do u use alternatively troxx

naive goblet
#

Gradle obviously?

fading owl
#

and do u get ur gradle dependencies from mvnrepository or gradlerepsotiry

silk gate
#

crazy gradle

fading owl
#

:D

silk gate
#

that doesnt make maven good

fading owl
#

haha nah i know

naive goblet
#

Huh what type of question is that

fading owl
#

just having fun

#

theyre both good

#

and to each their own

silk gate
#

kotlinscript gradle

fading owl
#

i thought gradle only supported groovy and kotlin, or is kotlinscript == to kotlin

silk gate
#

yes

fading owl
#

yeah thats one nice thing about it

#

not the one

#

but one nice thing

#

one of the downsides of maven for sure is the verbosity

idle tulip
#

i don't understand why it works in sync but not in async

silk gate
#

sync / async wont affect it

naive stratus
#

@fading owl - Is there a way to generate the skeleton of a pom file? What's the best approach for that part?

fading owl
#

archetype

#

that will provide you with a base proejct object model

fading canopy
#

How can you use runTaskAsynchronously in onDisable? (org.bukkit.plugin.IllegalPluginAccessException: Plugin attempted to register task while disabled)

fading owl
#

but if you use intellij or eclipse

#

it will create one by default

#

when creating a project/module

naive stratus
#

I'm using Eclipse, but there isnt one.

fading owl
#

look into this

naive stratus
#

Thank you

fading owl
#

this is super helpful too

naive goblet
#

@naive stratus Iโ€™d recommend gradle over maven though

fading owl
#

Gradle is good too, might be easier to learn.

sweet hemlock
#

I moved to Gradle because it's easier to compile without downloading additional apps

naive goblet
#

Defo

sweet hemlock
#

Maven still has its uses

#

but I think I'll just go full on Gradle

fading owl
#

Yeah that's fair

#

Gradle has a lot out of the box

sweet hemlock
#

speaking of, I should look into GitHub Maven package repository feature

naive goblet
#

Imagine having to write more than 2 lines to add a dependency

fading owl
#

True true

sweet hemlock
#

I love the one-liner of gradle imports

fading owl
#

Yeah same

#

It is quite nice

#

The ability to easily write plugins is nice too

#

Task execution order can be hard on the head though

naive stratus
#

Ouch, this is a lot to chew lol

fading owl
#

Haha

#

Oof lol

naive stratus
#

Really unsure about that pom file since it's completely missing. The archetype:generate command didnt make me feel any more safe...

fading owl
#

Task.dependsOn(another).finalizddBy

#

Oof

frigid ember
#

@golden vault

#

can you help @midnight barn with a situation

golden vault
#

depends on the situation

midnight barn
#

Hey Weaves.

#

So I have a buyers and he want a refund because the plugin is not what he expected. Basically he want a challenges/mission and you can tell from the resource description that is not the function of my plugin, and he keeps blaming my resource description for not detailed, and saying that I'm immature or something like that.

heavy isle
#

Hey guys. I really really want to get a hook on just the PluginManager#fireEvent call โ€“ is there any chance of that happening?

naive goblet
#

Thatโ€™s rude of him @midnight barn

#

@heavy isle wym try rephrase

midnight barn
#

Yeah man, 1 star false review, how bad.

naive goblet
#

I mean what is he going to do about it?

#

You can just remove that review

frigid ember
#

huh?

#

really?

midnight barn
#

He act like he doesn't do something wrong.

pale plaza
#

ok now i try looking and spent alot of time looking fort a f top command what works But cant find any who got any recomendations

naive goblet
#

Uh well I mean try report him or something.

pale plaza
#

JEEZ MY SPELLING

frigid ember
#

๐Ÿ˜ณ i was going to say

heavy isle
#

@troxx So, there's all sorts of Events from that base class. But there's no way to listen to "everything" without apriori knowledge of what the events are. Yeah sure, you need to know the concrete types to operate on them, but I'd still like to know what types / how many we "don't" know about.

That's impossible right now AFAICT. Which is really weird for an evented system, because there's typically a firehose somewhere right?

naive goblet
#

wait what are you trying to accomplish?

midnight barn
#

so, don't refund him?

golden vault
#

that is up to you

naive goblet
#

His fault he didnโ€™t read it properly

midnight barn
#

I just don't like he's disrespecting me

wanton delta
#

theres... no events taht we dont know about?

#

what do you mean?

inland heron
#

With getStorageContents() from the inventory class, how are the items listed? Does the hotbar (if player inventory) come first then the rest of the inventory?

wanton delta
golden vault
#

if the review breaks a forum rule I can remove it but if it is just a "false review" there is nothing i can do.

heavy isle
#

So we're trying to stream all events out of our server to our event sourcing system

inland heron
#

Cool, thank you @wanton delta

wanton delta
#

anytime there isnt an item it is null

heavy isle
#

I've got a bunch of them - but if I put a new plugin in we'll miss new evets

inland heron
#

gotcha

naive goblet
#

@heavy isle Are you calling Bukkit events with the callEvent method or what

#

Itโ€™s unclear what you are trying to accomplish

heavy isle
#

I'm not calling events at all ๐Ÿ˜‰ I just want to listen to all the events and stream them to a separate system

naive goblet
#

Well just put up an event handler for each event?

heavy isle
#

rache?

#

hah

#

yeah, but again, I have to know about each event at compile time

wanton delta
#

wdym

#

?docs

#

oh

#

uh

heavy isle
#

๐Ÿ˜‰

upper hearth
#

that's embarrassing

heavy isle
#

@Listener(Event.class)

frigid ember
#

Could someone check if a resource is still up for me

heavy isle
#

if that worked, I'd be golden. but it doesnt ๐Ÿ˜ฆ

frigid ember
#

since I'm pretty sure either their account is deleted or im blocked somehow

wanton delta
#

im not sure why youre doing what youre doing

#

what do you mean each event at compile time...

naive goblet
#

yeah, but again, I have to know about each event at compile time
@heavy isle why?

wanton delta
#

yea why

#

lol

heavy isle
#

so, think abotu it

#

i wire up all events right now. BlockBreak and what not

#

cool. I'm "listening" all events that go by

#

now a plugin comes along and gets installed, and has it's own custom events it fires.

wanton delta
#

yes

heavy isle
#

I didn't know about that before in my plugin, therefore I will not see it go by

wanton delta
#

not true

heavy isle
#

and then I will be sad

#

what

#

wat

#

/giphy wat

wanton delta
#

you add the plugin as a dependency

radiant pollen
#

He doesn't want to do that.

wanton delta
#

and you listen for the custom event just like any other

#

why not?

heavy isle
#

heh, thanks Zax

upper hearth
#

He doesn't want to hard-code every event

heavy isle
#

because that's engineering time and requires updates

#

yes.

radiant pollen
#

He just wants to log every event that happens, no matter if it's a custom one from another plugin.

heavy isle
#

I want to use the event bus... like an event bus ๐Ÿ˜‰

wanton delta
#

they all implement Event

heavy isle
#

yup

#

but listener's don't listen on class hierarchy

wanton delta
#

well depends

#

like PlayerEvent will fire when PlayerMoveEvent does

naive goblet
#

welch Iโ€™d say that you should hard code them. Trying to listen on every class extends Event class or something is not good.

heavy isle
#

ok, but not the base Event explicitly then?

silk gate
#

if you listen on PlayerEvent, BlockEvent etc you'll get more data

heavy isle
#

Troxx I get ya, and I get the risks. this is what I do for my dayjob ๐Ÿ˜‰

errant rose
#

How would I be able to download Java 1.8?

inland heron
#

I'm still pretty new to plugin development, is there a way to add/replace plugins without closing the server and reopening it?

silk gate
#

hotswap your classes

#

using a debugger

wanton delta
#

im not sure why you would want to listen on other plugins events when you dont know what those events are or what they do

radiant pollen
#

@inland heron Yes, but it's not recommended. There's plugin manager plugins like Plugman.

wanton delta
#

it doesnt make sense to me

wanton delta
#

how are you going to manipulate them?

silk gate
#

dont use plugman or /reload

heavy isle
#

guys. guys. okay, plz, listen to me

naive goblet
#

Huh

heavy isle
#

I am a software engineer. I do this. for a living. I know the risks. I know high performance software

#

I get why you say that ๐Ÿ™‚

naive goblet
#

So why do you ask us?

heavy isle
#

But plzzzz let's step back from that. I have the need. It's real

#

Because I don't want to write a PR that gets rejected because everyone thinks I'd ont understand

wanton delta
#

it sounds like a very peculiar request

naive goblet
#

I thought software engineers was the best at solving problems etc

wanton delta
#

youve not said what you want to do with this

#

you have just stated you want to listen for every single event

radiant pollen
#
    public void event(Event event) {
        
    }``` Does this work?
heavy isle
#

I'd be happy to use reflection on boot to change the contract, but the CraftServer pluginManager was changed from an interface to SimplePluginManager's concrete type

naive goblet
#

@radiant pollen unsure

heavy isle
#

so no amount of magic can change that reference or augment it

radiant pollen
#

There's no generic event that's called for every event?

heavy isle
#

Martoph I have โ€“ I want to stream all events out of the server. If I don't know what they are and can't serialize it, I'd like to know that too.

#

Nope @radiant pollen - and for good reason

#

This is what you don't want people to do 99.999% of the time

#

i wanna be that special .001 ๐Ÿ˜‰

naive goblet
#

Hm would packets be something maybe?

heavy isle
#

hmmm haven't thought about that route

#

ooo

#

i like it

#

or even just the nms data actually

naive goblet
#

With a packet listener you could listen at everything that happens on the server

heavy isle
#

well, yeah. that might be a bit much

#

I'm really more focused on the events, but if I have to drop down I could

#

it'll just get reallllllly noisy

radiant pollen
#

If you're trying to listen to Events, packets won't really work.

wanton delta
#

o.O then whats the difference between listening for every event

heavy isle
#

... events are way higher level

#

afaik... i haven't dug that far into packets

wanton delta
#

what does that even mean

lofty otter
#

im pretty sure listening to Event works

meager lantern
#

Events can be anything, they don't have to be things that are sent to or from the client

heavy isle
#

Right

#

bingo

meager lantern
#

Therefor you can't just listen for packets

naive goblet
#

welch the ultimate way would be to make your own fork of spigot and change some of its code

heavy isle
#

...

lofty otter
#

not another bukkit fork

heavy isle
#

yeah, no

lofty otter
#

plz

heavy isle
#

this is OSS right? like, we want a community

naive goblet
#

Fork of stellarspigot, imagine

heavy isle
#

right?

radiant pollen
#

@heavy isle Why does the code I wrote not work?

wanton delta
#

this whole idea sounds really obsolete, i still dont understand why its necessary

lofty otter
#

which idea

heavy isle
#

Zax it doesn't fire

radiant pollen
#

Is there something I'm missing in the docs for why that doesn't get called?

tiny dagger
#

imagine the day spigot having all the packet fields on public

wanton delta
#

listening for every event from other plugins

radiant pollen
#

Why though? I'm confused.

heavy isle
#

Martoph. it's how event systems are built. it's how you stream data in software

lofty otter
#

just listen to the event you need

radiant pollen
#

You should be able to listen to a generic event and get the handlers even though you don't have the other plugins as dependencies.

heavy isle
#

butttt I don't know all the events beforehand

wanton delta
#

no i get that you want to stream the data but for what purpose?

heavy isle
#

Zax - last time I tried it didn't work

wanton delta
#

what are you trying to achieve?

meager lantern
#

Do you actually need to listen for every single event or do you just need to listen for a list of events?

heavy isle
#

I'd like them all

radiant pollen
#

He wants to log every single event to a stream, for every event on the server, even plugin-defined events.

#

Right?

heavy isle
#

@wanton delta I can't explain it any lower. I want to stream events from Bukkit to a different server / service / etc

wanton delta
#

no i undersatnd that

lofty otter
#

have you not tested what zax said

    @EventHandler
    public void event(Event event) {
        
    }
wanton delta
#

but i dont understand why

heavy isle
#

Yessum. Thx @radiant pollen โ€“ and the generic doesn't run

lofty otter
#

im pretty sure that works

heavy isle
#

nope

naive goblet
#

Cable nope

wanton delta
#

i dont see the purpose in that

heavy isle
#

it deosn't. at least on 14.4

naive goblet
#

It has to do with handlers

lofty otter
#

it works on sponge and velocity :p

heavy isle
#

I know @wanton delta but can we move past you not seeing it?

#

I know it does

#

It's a good call to NOT do this in almost every case

naive goblet
#

This is spigot lmao

wanton delta
#

no i see it perfectly

lofty otter
#

ikik

wanton delta
#

you want to stream events to a different server

#

but i dont understand why

#

its sounds messy and complicated

radiant pollen
#

No wtf. No one said that.

heavy isle
#

not to another MC service

meager lantern
#

Ahh... Well the only way to do this would to be to have a predefined collection of events. You are able to actually group up multiple events in a single event handler

wanton delta
#

@wanton delta I can't explain it any lower. I want to stream events from Bukkit to a different server / service / etc
@heavy isle

#

he literally did lmao

heavy isle
#

so I can analyze the data. we've got live updating on a google map. I can show where things happen. etc

lofty otter
#

google map for minecraft?

heavy isle
#

yea

lofty otter
#

never heard of that lol

meager lantern
#

Though again, they need to be predefined. So if you're just looking for Bukkit events, then you'll have create a list of the events yourself

heavy isle
#

hell, want to see it?

wanton delta
#

you should focus on events that you need rather than all of them at once, surely you dont need all of them?

lofty otter
#

a google map?

heavy isle
#

yeah. one sec

wanton delta
#

dynmap cough

lofty otter
#

yeah im pretty sure its not made by google

#

for minecraft

naive goblet
#
RegisteredListener listener = new RegisteredListener(this, (listen, event) -> onEvent(event), EventPriority.NORMAL, Main, false);
HandlerList.getHandlerLists().stream().forEach(handler -> handler.register(listener));
#

Or smtng

#

Found it on a thread

pale plaza
#

who know any f top plugins i try look for 3 hour now

wanton delta
#

what is f top

heavy isle
#

not dynamp

#

overviewer

naive goblet
#

Factions top

pale plaza
#

Faction Top

wanton delta
#

your factions plugin should have a command for that

frigid ember
#

he removed the skidded anticheat with his alt's false review, yay!

wanton delta
#

otherwise there is no such plugin to give you that one command

naive goblet
#

I think there is

#

@pale plaza I found one for $6

lofty otter
#

sooo im having trouble using the kotlin library from another jar

#

has anyone been able to do this

pale plaza
#

@wanton delta Nope Idk why

#

@naive goblet Link plz

wanton delta
#

what faction plugin do you use

naive goblet
#

Search factions top

#

Lol

wanton delta
#

eventhandlers with highest priority are last to be executed right

naive goblet
#

Reverse ?

wanton delta
#

wouldnt make sense because then youd have lower priorities overwriting what you just did

lofty otter
#

no im pretty sure highest is last

wanton delta
#

i know this is silly because i could use that logic to figure it out

naive goblet
#

Oh yeah its last

wanton delta
#

but i wanted to make sure there wasnt somethign i was missing lol

naive goblet
#

MONITOR should be last?

wanton delta
#

yep

tiny dagger
#

but monitor should be exclusively used for logging

wanton delta
#

i am aware

tiny dagger
#

not like many plugins are using it tho

pale plaza
#

still cant any working f top plugins

tiny dagger
#

top?

naive goblet
#

Factions top

tiny dagger
#

oh ๐Ÿค”

wanton delta
#

lewis, youve repeatedly asked for us to search your plugins for you

#

i think you need to step up the effort a lil

heavy isle
#

ok

#

ok sorry i'm back

naive goblet
#

Obviously

heavy isle
#

you want to see why i'm doin what i'm doin

#

well, a dumb version

naive goblet
#

Sure

pale plaza
#

@naive goblet THANKS Hope it works

heavy isle
#

(it's super ugly dev box, so be nice ๐Ÿ˜‰ )

#

see me movin?

naive goblet
#

Looks like wynncrafts map

#

Cool

heavy isle
#

yeah, same principal as anyone right?

#

see the pin moving around?

naive goblet
#

Yeah

heavy isle
#

beauty

#

so

#

that's an easy one, which plenty of folks do

#

what's nice tho, is I've got it setup where we can show who did what, where and when

#

like, pins, actions, destroyed, ownership, etc etc etc

rapid yacht
#

Is there a minimum age requirement to have an account on spigot?

wanton delta
#

probably 13

#

"13"

heavy isle
#

yeah 13 i think

rapid yacht
#

k but that's probably lol

naive goblet
#

14 maybe kappalul

heavy isle
#

one upper eh? ๐Ÿ˜‰

rapid yacht
#

o_o

#

do u guys know or nah lmao

wanton delta
#

13 probably

heavy isle
#

so, streaming. streaming is good. we're streaming via protobuf / grpc / nats events

naive goblet
#

Tried google?

wanton delta
#

read TOS

rapid yacht
#

doesn't say

#

unless i'm blind

wanton delta
#

well id assume 13

heavy isle
#

i'd like to listen to everything

wanton delta
#

because thats the law in most places

rapid yacht
#

alright cool

#

so can I change my date of birth pls? mine is incorrect

#

who do I have to speak to for that?

wanton delta
#

my entity equipment packet listener is being cancelled for no reason and im ๐Ÿ˜ญ

naive goblet
#

F

wanton delta
#

nowhere in my code do i run setCancelled :///////

#

so its being done via bukkit api and idk what method in bukkit would cancel the event :(

naive goblet
#

Only god knows who cancelled it

wanton delta
#

correct

rapid yacht
#

I cancelled it >:D

wanton delta
#
{ a = 122, b = { g = { name = "ARMOR", ordinal = 1 }, h = 3, i = 4, j = "head", name = "HEAD", ordinal = 5 }, c = ItemStack{DIRT x 1} }```
#

why does it Cancel it ๐Ÿ˜ญ

rapid yacht
#

Because i cancelled it

#

I already told you -_-

frigid ember
#

Is weather specific to certain biomes

pale plaza
#

who could code me a faction top plugin for under 5 GBP

wanton delta
#

?services

worldly heathBOT
pale plaza
#

ok

wanton delta
#

@frigid ember weather is not specific but some biomes treat weather differently

#

e.i. deserts wont show rain when its rainign

#

above a certain height you will get snow instead of rain

#

some biomes will show snow instead of rain

frigid ember
#

well there goes my idea of only changing weather in certain chunks

pale plaza
#

is black spigot good or bad

frigid ember
#

very bad.. well depends how you look at it

pale plaza
#

so virus

#

???

frigid ember
#

no its just taking money away from developers which depends on how you look at it deserve it for their work

#

wait which black spigot are we talking about

pale plaza
#

Lemme send

#

link

wanton delta
#

Plugin buy information is public

frigid ember
#

yeah

wanton delta
#

so if you ask for support on a plugin that is pirated

#

you will not receive support

frigid ember
#

its real, but its premium plugins which are leaked and pirated

naive goblet
#

@pale plaza donโ€™t use black spigot. Itโ€™s never good to be illegal

frigid ember
#

๐Ÿค” illegal

pale plaza
#

Ok

frigid ember
#

against tos sure, but illegal ๐Ÿ˜ณ

wanton delta
#

when did stealing software become legal

#

can you remind me

subtle blade
#

Itโ€™s piracy

pale plaza
#

Who could code me a f top plugin

naive goblet
#

@frigid ember So itโ€™s legal?

subtle blade
#

?services

worldly heathBOT
pale plaza
#

it wont work

wanton delta
#

lol

subtle blade
#

Likely due to the banning of amazon server addresses

wanton delta
#

ah :/

#

@pale plaza like ive said before, we're not your personal server builder. if you need plugins google them. ive only seen you ask for plugins here

idle tulip
#

reloadConfig(); works for anyone? I change value in config.yml and then after reloadConfig(); shows still same value not new value

frigid ember
#

its legal to the point of where copyright comes in

radiant pollen
#

Every question he's asked could be answered with a "let me google that for you" link...

wanton delta
#

@frigid ember its piracy, not sure where the confusion is

hoary parcel
#

So it's illegal right at the start, lol

frigid ember
#

not really

#

or spigot wouldnt exist

hoary parcel
#

It's illegal in almost every country

wanton delta
#

stealing software is illegal

radiant pollen
#

It's illegal.

wanton delta
#

i dont know if you understand

naive goblet
#

@frigid ember It can either be legal or illegal decide yourself

sour dock
#

or spigot wouldnt exist
how is spigot piracy?

radiant pollen
#

Spigot isn't piracy. Black spigot is.

wanton delta
#

spigot allows craftbukkit to be distributable through a loophole

#

via patches

hoary parcel
#

It's not a loop hole

#

It's perfectly valid

wanton delta
#

i never said it wasnt

hoary parcel
#

You said it's a loop hole

#

But it isn't

#

It's just the proper way to distribute mods

wanton delta
#

i would consider it to be ๐Ÿคท

hoary parcel
#

Separate to the original software

wanton delta
#

i dont think it matters what you call it

#

but point is

#

spigot is not pirated

idle tulip
arctic cloud
#

If you have to do some weird hack to distribute the software because you can't directly edit it then yeah that seems like a loophole to me

hoary parcel
#

You need to reassign your config field

sour dock
#

@idle tulip don't store the config in a variable, use getConfig() every time

hoary parcel
#

It's not a weird hack...

pale plaza
#

@wanton delta i did ask for help on making my score board

arctic cloud
#

It really is

hoary parcel
#

It's how you distribute mods

wanton delta
#

just because its mainstream doesnt make it not weird or not a loophole

arctic cloud
#

Guess mods are all distributed through a loophole

hoary parcel
#

Naming it loophole gives it a negative feel

#

A loophole can be fixed

wanton delta
#

as this can

hoary parcel
#

This can't be "fixed" because it's not a copyright violation

sour dock
#

I'd say a loophole is more something that is against the meaning of the law but technically allowed

hoary parcel
#

It's not against the meaning of the law tho

wanton delta
#

i would say people who distribute software dont always intend for peopel to patch it and modify it

sour dock
#

yeah that's why I wouldn't consider this a loophole

hoary parcel
#

The law says don't distribute stuff you don't own or have rights too, so spigot doesn't do that

radiant pollen
#

It's not a loophole.

hoary parcel
#

At least here in the EU, modifying stuff is a consumer right

chrome lark
#

last I recall, mojangs EULA states that you're allowed to mess with the software how you please

frigid ember
#

just because you put YOU CANNOT DECOMPILE THIS PLUGIN doesn't mean you suddenly have copyright law

wanton delta
#

i dont think its worth the time and energy to debate what its called lmoa

rapid yacht
#

MiniDagger

hoary parcel
#

That roo

rapid yacht
#

I'll guess where u live ok? based on the EU fact

#

imma say Germany

hoary parcel
#

My location is public knowledge

chrome lark
#

I'd ez guess on the fact that he's probably drunk

rapid yacht
#

was I right

hoary parcel
#

I wanna say I am not drunk, but then I look to the side and see 3 beers

#

Was watching LEC finals with friends

#

And yes, am from cologne, Germany, the capitol of beer

rapid yacht
#

๐Ÿ˜ฎ

#

yess

wanton delta
#

theres a city named cologne in minnesota lol

hoary parcel
#

Well, no shit

#

Ppl migrated there

#

the USA are a country of immigrants ^^

radiant pollen
#

US is filled with stolen names due to immigrants.

rapid yacht
#

so is Canada

#

๐Ÿ‡จ๐Ÿ‡ฆ

hoary parcel
#

Canada is france tho

frigid ember
#

wait so because you're saying that most plugins are protected by copyright.. can i report every skidded anticheat

idle tulip
#

@idle tulip don't store the config in a variable, use getConfig() every time
@sour dock thank you. One question - I use ServerCommandEvent to handle getCommand() but in console it comes with "Unknown command. Type "/help" for help." how I can cancel that unknown command message?

radiant pollen
#

There's a Paris, Stuttgart, Manila, and Damascus in my State. Sorry off topic. lol

wanton delta
#

Making different anticheats is just like making different toilet paper brands

hoary parcel
#

If somebody copies your code without your consent, you can use tools like the DMCA to go after them, sure

wanton delta
#

as long as you dont steal the other

#

its completely fine

chrome lark
#

well, plugin priacy is a complex topic, but, that's a discussion that would get me in lotsa trouble, plus IANAL, so, yea...

sour dock
#

register it as a proper command in onenable, don't use events for commands @idle tulip

wanton delta
#

its called competition

radiant pollen
#

@idle tulip Use the command registration system rather than listening to the event.

hoary parcel
#
  • mumbles something about the GPL and plugins *
wanton delta
#

competition isnt piracy lmao

meager lantern
#

Everything you make is automatically covered by copyright law, unless otherwise specified as being public domain or it being a part of a different license

idle tulip
#

But it's only server console command, is it still necessary to register that command system?

sour dock
#

genuinly curious, I've read people say technically plugins must be GPL because bukkit is GPL but that doesn't make sense to me

hoary parcel
#

That's GPL 101 for you ๐Ÿ˜‚

radiant pollen
#

@idle tulip Yes, it's easier. Makes your plugin work better with administration plugins and makes it show up in /help etc.

hoary parcel
#

It's the cancer of licences, it spreads downstream

#

If you link against GPL, you are GPL, that's what the licence says pretty much

#

Since you form a combined product and that product is covered by the GPL

sour dock
#

I thought that was only for for "forks" of software, not addons that are loaded by the software but otherwise completely separated from it

radiant pollen
#

Then how do paid resources work?

sour dock
#

I guess I'm wrong

radiant pollen
#

I mean if it's not shaded... does it matter?

sour dock
#

well then paid resources are technically illegal

hoary parcel
#

Add-ons/plugins are covered by the GPL since you link against the lib, there is no class path exception in bukkit

chrome lark
#

no

meager lantern
#

You can sell things that are open sourced, that's no issue

sour dock
#

imo all paid resources should be GPL anyway but ยฏ_(ใƒ„)_/ยฏ

meager lantern
#

Just look at Redhat

hoary parcel
#

Fuck redhat for selling out to IBM

meager lantern
#

Hahah

hoary parcel
#

My company went full team red to get away from team blue

#

Now we just gonna dump that shit again

#

IBM trippled prices after they brought redhat

wanton delta
#

do yall know what wouild cancel an entityeuipment packet

#

because im not cancelling it to my knowledge

#
{ a = 122, b = { g = { name = "ARMOR", ordinal = 1 }, h = 3, i = 4, j = "head", name = "HEAD", ordinal = 5 }, c = ItemStack{TNT x 1} }```
meager lantern
#

I mean at least you aren't stuck in Windows hell atm

hoary parcel
#

Add a breakpoint?

tropic swallow
#

guys can i ask here for help for a plugin i made that got rejected ?

chrome lark
#

doesn't ProtocolLib have a thing to tell you what's listening to what packets?

meager lantern
#

Every firm in Denmark uses Microsoft products for everything

wanton delta
#

I'm not entirely sure

hoary parcel
#

Ms stuff is fine

#

We migrating to azure ad right now

meager lantern
#

I've learned to like it more than before, but coming from a Linux background there's still some things I'd like to see changed

hoary parcel
#

B2c first, internal shit later

meager lantern
#

Azure and their Activity Directory stuff is amazing

#

That's for sure

hoary parcel
#

I wrote a batch that's gonna migrated all our costumer's

radiant pollen
#

I don't develop enough outside of spigot to know what you are talking about. Haha.

hoary parcel
#

I swear I'll be watching every single line of console when I execute that in prod in 4 weeks, lol

meager lantern
#

Hahah

hoary parcel
#

Writing a few million users to graph gonne be fun

tropic swallow
#

guys what does "All resources must retain an unobfuscated package root" mean ?

wanton delta
#

you cant have something like a.a.a.a.mainclass

hoary parcel
#

My.shit.premium.plugin.a.b.c

#

Not just a.b.c

#

So that stack traces are at least somewhat useful

#

But like, just stop obfuscation

tropic swallow
#

ok so i have to keep my main class in a clean path?