#help-development

1 messages ¡ Page 457 of 1

remote swallow
#

thats fine

#

one just has mc dev, one doesnt

tardy delta
#

thats some minecraft dev plugin

#

useless

primal rose
#

so i should delete it?

tender shard
#

no

tardy delta
#

just dont care about the icons, as long as the file structure is good

chrome beacon
#

It has its uses

primal rose
#

alr

quaint mantle
#

Difficult

chrome beacon
#

but if IJ starts crashing often remove it

tardy delta
#

to do things you do once a month

quaint mantle
#

Not even started yet

kind hatch
#

Can someone explain to me the hate around the mc dev plugin?

chrome beacon
#

It's written in Kotlin

tardy delta
#

its not hate

#

ah

chrome beacon
#

and it likes to take all your ram

tardy delta
#

there is hate

tender shard
#

and it doesnt really do anything

#

at least for spigot

#

might be useful for fabric etc, idk

chrome beacon
#

It helps a lot when modding

remote swallow
#

it makes ur projects for you

#

but ur weird and use archetypes

tender shard
tardy delta
#

all plugins on ij ultimate seem to crash for me lol

tender shard
tardy delta
#

same with that discord plugin

chrome beacon
#

The discord plugin hasn't worked for me in ages

remote swallow
#

it works for me

tender shard
#

what discor dplugin?

remote swallow
#

get good

#

skill issue

chrome beacon
#

It's been broken for over a year now

tardy delta
#

it kept crashing when i f.e. let my pc sleep

remote swallow
tender shard
#

what does that mean

tardy delta
#

there are like 100 issues on their github page for the same thing

remote swallow
#

it shows spotify

#

its like that

#

but intellij

young knoll
#

Discord rich presence

tardy delta
#

useless 💀

#

whenever you get it

young knoll
#

But you need to broadcast that ur a mega nerd

tender shard
#

so it just shows that you run IJ in discord? that's so useless lol

chrome beacon
#

Yeah

remote swallow
#

im beating you

tardy delta
#

dunno why i have been using it, probably to flex 💀

young knoll
#

Time != code written

remote swallow
#

literally code more

tardy delta
#

per day?

remote swallow
#

per week

tardy delta
#

weak

remote swallow
young knoll
#

Meanwhile he wrote 20 lines in that time

tardy delta
young knoll
#

:p

remote swallow
#

i wrote more

kind hatch
#

Also I don't see any unnecessary ram usage out of it either.

tender shard
#

It doesnt happen often, maybe once in two weeks. But when it happens theres always mcdec in the stacktrace

tardy delta
#

only plugins uwu

chrome beacon
#

If you see your ram usage spiking you know it's mcdev

kind hatch
tender shard
#

About ram, no clue, i set ram to 32gb for IJ so it doesnt cry when decompiling material class

tardy delta
#

just download sources

#

no more issues

chrome beacon
young knoll
#

Speaking of materials

#

Mojang is axing their version of materials too

tender shard
quaint mantle
#

Guys

kind hatch
tardy delta
#

hehe invalidating caches

quaint mantle
#

Guys I coded this

kind hatch
#

Or is it just namespaces?

acoustic gorge
#

uh oh

quaint mantle
#

Can someone please give me a feedback?

remote swallow
#

sure

quaint mantle
#

Do u guys still remember my plugin?

remote swallow
#

yes

young knoll
#

Shoutout to fabric people

quaint mantle
#

It must send an alert to admins when a person breaks something

#

So this is the code

#

import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockBreakEvent;
import org.bukkit.plugin.java.JavaPlugin;

import java.util.UUID;

public class BlockAlertPlugin extends JavaPlugin implements Listener {

@Override
public void onEnable() {
    // Register the listener
    getServer().getPluginManager().registerEvents(this, this);
}

@Override
public void onDisable() {
    // Plugin shutdown logic
}

@EventHandler
public void onBlockBreak(BlockBreakEvent event) {
    Player player = event.getPlayer();
    UUID playerUUID = player.getUniqueId();

    // Get the block owner's UUID
    UUID ownerUUID = event.getBlock().getMetadata("owner").get(0).asUUID();

    if (!playerUUID.equals(ownerUUID)) {
        // Player is not the owner of the block
        Bukkit.getOnlinePlayers().stream()
                .filter(p -> p.hasPermission("blockalert.notify"))
                .forEach(p -> p.sendMessage(player.getName() + " broke a block that isn't theirs!"));

        // Log the event
        getLogger().info(player.getName() + " broke a block that isn't theirs!");
    }
}

}

remote swallow
#

we remember

tardy delta
#

congrats

#

now use a code block

remote swallow
#

you made chat gpt write that didnt you

tender shard
#

That is not persistent across restarts

quaint mantle
remote swallow
#

so you didnt code it

kind hatch
#

🤦‍♂️

quaint mantle
remote swallow
#

its fine ig

kind hatch
#

That's your job isn't it?

remote swallow
#

it wont work across restarts

acoustic gorge
#

just run it broski

tardy delta
#

blocks owner lol

quaint mantle
#

How?

#

How do I run it

acoustic gorge
#

build it

#

grab the artifact

remote swallow
#

you put it in a spigot project

acoustic gorge
#

shove it in the plugin folder

quaint mantle
#

I got eclipse

acoustic gorge
#

restart your server

remote swallow
#

preferably with maven

young knoll
#

Build it?

tender shard
#

enter /installplugin

young knoll
#

You think I'm Bob the builder or something?

acoustic gorge
#

Yes

kind hatch
#

ItemStack#copyWithCount() 😻
Nice QOL that I hope will come to spigot.

young knoll
acoustic gorge
acoustic gorge
#

Remember 30 seconds or less

tardy delta
#

its fucked with eclipse

remote swallow
young knoll
#

Huh autoplay went to pumped up kicks

#

I think youtube wants to shoot me

remote swallow
#

ALL THE OTHER KIDS WITH THE PUMPED UP KICKS BETTER RUN BETTER RUN OUT RUN MY GUN

young knoll
#

Have you seen the new bob the builder

remote swallow
#

yeah

#

have you seen the new fireman sam

young knoll
#

Some kind of fucking sleep paralysis demon

tardy delta
#

the fuck

acoustic gorge
#

Actual nightmare fuel

quaint mantle
chrome beacon
young knoll
#

You're welcome

quaint mantle
#

Guys

#

So

#

I got the code

acoustic gorge
tardy delta
quaint mantle
#

But how do I do with the main thing with the plugin.yml and the .jar file?

#

How do I do this whole stuff

kind hatch
#

Oh my. Does this mean that we are getting classes for every single material?

remote swallow
#

yes

#

we need those 3kb classes

young knoll
#

Probably not

acoustic gorge
#

then restart the server

cloud minnow
#

hello. sorry for my bad english, where can i find plugin in which i can give a custom badges next to nickname of player ( like in discord, nitro badge for example) to some players in TAB menu (player list) ? please

young knoll
#

We're probably getting

quaint mantle
remote swallow
#

no

young knoll
#

💀

acoustic gorge
#

what

quaint mantle
#

And what

remote swallow
#

if you cant build a plugin you are going to get the exact same response as earlier

quaint mantle
#

Bro

#

Just tell me how to do it

quaint mantle
#

Isn’t this a help channel?

kind hatch
remote swallow
#

go watch the video

young knoll
#

Yes

#

If you have PR access

chrome beacon
quaint mantle
#

Episode 1 💀💀💀💀

kind hatch
#

Don't think I ever set that up.

remote swallow
#

its 1 episode

eternal oxide
#

project menu -> build

remote swallow
#

you dont need to watch the rest

quaint mantle
#

How many episodes are there

remote swallow
#

1 to learn for you to build

quaint mantle
#

Lemme see this video

tardy delta
#

this looks confusing now

kind hatch
tardy delta
#

and that only because someone rejected my project cuz the main class was not in the right module

#

cmon bruh

#

resubmitting will probably take another week

#

ah yes now this is fucked up

tender shard
#

why does it include the src/test part?

#

shouldnt it refer to just tests.txt

tardy delta
#

now its java.nio.file.NoSuchFileException: tests.txt

tender shard
#

shoudlnt that be in the resources folder?

tardy delta
#

its for tests so

#

thats not supposed to be compiled

tender shard
#

yeah src/test/resources

tardy delta
#

that a thing

tender shard
#

sure

#

i e.g. have a plugin.yml there for mockbukkit

quaint mantle
#

How can I listen to only one event?

#

without making a listener class

tardy delta
#

isnt Paths.get("..", "resources", "tests.txt") supposed to work

glad barn
#

is it hard to make a customspigot ?

tardy delta
#

a what

glad barn
#

a custom spigot

#

a spigot fork

rotund ravine
#

No

tender shard
#

?contribute

tardy delta
#

ah wait Paths.get(".") returns the root of my whole project instead

#

not my module

tender shard
quaint mantle
tender shard
#

But why dont you just create a listener class

tardy delta
#

bruh maybe if i not put resources under java

quaint mantle
#

what do i pass in as the Listener?

quaint mantle
tender shard
#

Can be anything that is a listener

#

You could just do new Listener() {}

#

But that seems weird, just use a proper listener lol

tardy delta
#

why do those work, but when i remove the stuff before tests.txt it doesnt :/

#

java magic ig

#

why do both Paths.get and Path.of exist tho, as the one calls the other

rotund ravine
#

Ask the one who made them

tardy delta
raw crow
#

how do i modify an item base attribute value, like attack damage?

undone axleBOT
raw crow
rotund ravine
#

Google it again

rotund ravine
#

First thing on google

raw crow
young knoll
#

Correct

tardy delta
#

i better hope the win fs class normalisizes my path

young knoll
#

You need to manually deal with the base values if you want to change them

chrome beacon
young knoll
#

It's not, its on the server

#

Mojang just handles it weirdly

chrome beacon
#

hm you sure?

young knoll
#

I mean

raw crow
#

hmmmmm

young knoll
#

The method is there

chrome beacon
#

Yeah that's just the default values

young knoll
#

mhm

chrome beacon
#

You can't change them

#

without a modifier

young knoll
#

No but you can apply them

chrome beacon
#

Which changes the color, no?

young knoll
#

Ah you mean the green color

chrome beacon
#

They want to keep the base damage color

young knoll
#

Yes that is hardcoded on the client as far as I know

raw crow
#

ok, but when i set the modifiers, it will keep that "blue" color, meaning it was changed, i want the default green color

rotund ravine
#

Then make a minecraft mod

#

Or use lore or smth

chrome beacon
#

Yeah you could use lore

young knoll
#

Yeah you can hide the real attributes and clone them in lore

chrome beacon
#

hide the attributes and use lore

#

If you're on Paper use translatable components with the Adventure API

raw crow
#

hmmm so there is no way to do that at the real modifiers, huh? ok, thank you guys

chrome beacon
#

if you're on Spigot either just use strings or use NMS for component lore

young knoll
#

Waiting on Chocos PR intensifies :p

chrome beacon
#

What's the PR 👀

rotund ravine
#

Just component support or smth prolly

chrome beacon
#

ah makes sense

young knoll
#

Pretty much

jagged bobcat
#

Love it when my holograms don't update to the right format

rotund ravine
#

Only the player interface?

jagged bobcat
young knoll
#

It covers sendTitle, kickPlayer, player list header and footer, item display name, item lore

#

It's unfortunate it all has to be in a .Spigot() class

chrome beacon
#

Why is CraftBukkit still maintained as a separate project

young knoll
#

Most stuff goes into CB these days

#

I'm not sure why MD doesn't want to merge the handfull of spigot stuff into CB and Bukkit, you'd have to ask him that

rotund ravine
#

@sullen marlin there u go

young knoll
#

JanTuck was found dead 3 days later

#

RIp in peace

echo granite
#

Should github commit message be based on file changes OR actual changes?
For example if I delete a method named getHistory - should the commit be Removed Class#getHistory because ... or Removed viewing history because...?

rotund ravine
#

I just do “Removed x” or “Did stuff” lelelel

echo granite
kind hatch
#

In general, you probably want to put the actual changes.

#

The files are already kept track of in the commit

rotund ravine
# echo granite Should github commit message be based on file changes OR actual changes? For ex...

It’s a good question. The commit message should be based on the actual changes you made to the code. In your example, it would be better to write Removed Class#getHistory because ... since that’s what you actually did. This helps other developers understand what changes were made and why they were made. However, if you’re making a change that doesn’t involve code (like updating documentation), then it’s better to write a commit message that describes the change itself. Does that help?

echo granite
#

this is why I have a debate inside myself

kind hatch
#

It's not a bad thing to have descriptive messages.

echo granite
chrome beacon
#

I've given up on my commit messages

rotund ravine
# echo granite This used to be my initial approach, and I would also use the description if the...

I think that’s because people want to keep their commit messages short and sweet. A good commit message should be concise and to the point. If you can describe your changes in just a few words, that’s great! But if you need more space to explain what you did and why you did it, then it’s okay to write a longer commit message. The most important thing is that your message is clear and easy to understand. Does that help?

echo granite
#

so I'm not entirely sure, I now think that sometimes it's best to say what changed and sometimes it's best to say the technical method change

tender shard
#

my commit messages are pretty shitty

young knoll
#

git commit -m stuff and things

echo granite
rotund ravine
echo granite
#

example:

rotund ravine
# echo granite so I'm not entirely sure, I now think that sometimes it's best to say what chang...

Yes, that’s correct. It really depends on what you’re changing and why you’re changing it. If you’re making a change that’s purely technical (like renaming a variable), then it’s okay to write a commit message that describes the technical change. But if you’re making a change that has more impact (like deleting a feature), then it’s better to write a commit message that describes the change itself. The most important thing is that your message is clear and easy to understand. Does that help?

tender shard
#

i usually commit 30 files at once

echo granite
rotund ravine
#

Yes. It’s good practice

tender shard
#

🥲

rotund ravine
#

A lot of spigot devs are just lasy

#

Lazy

tender shard
#

laser-y

echo granite
rotund ravine
#

Ahaha

#

Same

#

I am too lazy and it’s only me that’s the dev

tender shard
#

yeah exactly lol

tender shard
#

if people don't do PRs they are not entitled to see proper commit messages by me

rotund ravine
#

I am alzh

#

Can’t change my mind

echo granite
#

Not committing 30 files per commit did save me even when I was the only dev

rotund ravine
#

Oh

#

Don’t worry

#

I got local version history

echo granite
#

if I had done a big huge commit, it would be a pain in the ass to copy-paste everything that changed into txt files and then go back

young knoll
#

Just never regret code

#

Easy

tender shard
#

exactly

#

just be perfect

rotund ravine
#

If i mess it up

buoyant viper
rotund ravine
#

It’s time for a rewrite anyway

quaint mantle
#

Reminds me between going back and forth between maven and Gradle for little reason

#

Well the reason is me being to stupid for either only to realize that I have gotten better so that I could do things I previously could

icy beacon
#

work hard, not smart

remote swallow
#

what project

#

why dont you have github linked to discord

chrome beacon
#

That sentence makes no sense

#

but I guess you want to shoot a slimeball instead of a snowball

weak meteor
#

Can someone help me?

#

Im trying to do a plugin with MySql integration

#

this is my code

#

But in the console i never get anyone of the 2 messages

chrome beacon
#

Don't compare strings with ==

flint coyote
#

Why do you not listen to the highlight on "=="?

chrome beacon
#

^^

weak meteor
#

god dammit

paper viper
#

How do i disable logging from mongodb?

tardy delta
#

it compares values

#

value of primitive or value of reference (aka address)

chrome beacon
#

It compares by reference

tardy delta
#

there are no references on primitives

chrome beacon
#

Which works fine for primitive values

#

Yeah but we're talking strings

young knoll
#

I just intern every string

icy beacon
icy beacon
tardy delta
#

imma make a language where strings can be compared using ==

lost matrix
tardy delta
#

we are not going the js way are we

young knoll
#

Just overload ==

lost matrix
#

========= Checks for electrons

tardy delta
#

imma check for solar waves

lost matrix
#

Look up why i and j are commonly used in loops

tardy delta
#

index

young knoll
#

I stands for integer

#

j stands for jnteger

tardy delta
#

j stands for joe

young knoll
#

Joe mama

vocal cloud
#

J stands for i++

tardy delta
#

still waiting

weak meteor
#

i just downloaded J/connector

tardy delta
#

consider downgrading server

weak meteor
#

i installed it with the mysql installer

#

this one

lost matrix
#

Particles are not actual objects that get tracked.
They dont even exist on the server. Its just a one-off information
that gets sent to the client.

#

You can give some a direction

young knoll
#

Some can take a speed value

#

But it's usually in a random direction

chrome beacon
#

You can also use the redstone particle

#

it goes away quite fast

#

Just spawn many of them

tardy delta
#

worship the fallen

eternal oxide
#

or WATER_DROP

young knoll
#

Redstone has full RGB

#

Which is good

chrome beacon
#

^^

lost matrix
#

how about llama spit?

#

Then use redstone. Those are the only collorable ones

primal rose
#

When ur making a server do you use plugin developement like people use skript so it only works on you server with only specific items or do you make a whole plugin that can be used on every server with setup commands or do you make a skript addon and use that to pake skripts for your server

young knoll
#

No one here really uses skript

remote swallow
lost matrix
#

How do you spell this?

#

collorable

primal rose
#

Okok

young knoll
#

colorable

vocal cloud
#

colourable

young knoll
#

Or that ^

primal rose
#

So yall use plugins like awful people use skript

tardy delta
#

ew

weak meteor
#

that's what i have

tardy delta
#

congrats

restive thunder
#

I run a 1.18 spigot Minecraft server It used to have NPC's through the citizens plugin but it won't work anymore. It says an internal error occurred. could someone send me a working spigot citizens plugin version?
should be a npc under text
said it could not load it
in startup it said that
i googled it. It says it needs vault I have that but can they both be the latest version?
Here is the plugin version

tardy delta
#

i dont use mysql

weak meteor
#

damn

#

ok

young knoll
lost matrix
tardy delta
#

just shipping a database file 😋

remote swallow
weak meteor
#

Is that a app?

tardy delta
#

if the user decides to delete it, their problem 😋

weak meteor
#

well, its a app...

young knoll
remote swallow
#

yeah

#

mysql is hard

#

i dont have the paitence to set that shi up

young knoll
#

Ur bad

vocal cloud
#

MySQL is easy

tardy delta
#

then use a file

#

sqlite

remote swallow
#

i do

tardy delta
#

ez

lost matrix
weak meteor
#

MySQL is a shitty ass python

#

lol

lost matrix
#
docker run --name mysql -p 13306:13306 -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql

And boom: You got a mysql DB

chrome beacon
#

Docker doesn't work on my pc 😢

young knoll
#

When do we get OurSQL

hazy parrot
chrome beacon
#

Docker Desktop just crashes

hazy parrot
#

lol

tardy delta
#

got wsl?

lost matrix
#

Cant remember if you can give redstone a direction. But i would try.

chrome beacon
tardy delta
#

idk why but i got docker with postgres running on my pc

hazy parrot
#

you cant have docker desktop without wsl

tardy delta
#

idk i believe it needs it

lost matrix
#

Well, you cant exactly run docker without wsl2

hazy parrot
#

it uses wsl as backend

tardy delta
#

for the paths

weak meteor
tardy delta
#

consider upgrading mysql client

weak meteor
#

i cant upgrade it anymore

lost matrix
chrome beacon
lost matrix
#

You might be shading something really old

chrome beacon
#

It installed just fine

hazy parrot
chrome beacon
#

I just installed the Docker Desktop app

#

I have a laptop with docker working so it's fine

#

I do wish they would at least add a warning message or smth is wsl is missing

#

Instead of it crashing

hazy parrot
#

apperently looks like hyper-v can also serve as backend, but havent tried it, with wsl works just fine

chrome beacon
#

Yeah I have hyper-v

tardy delta
#

i only remember docker breaking my other stuff

chrome beacon
#

I remember it telling me to enable that

tardy delta
#

i forgot what stuff

#

vmware probably

#

why is it in gray heh

#

is that some reserved name or smth?

wet breach
remote swallow
#

i mean setup a mysql server

#

i can write the sql fine

#

just cannot be bothered to make a server to store or test stuff with

wet breach
#

there isn't really all that much to setup

#

install, set a user, maybe tailor a couple settings and voila

tender shard
remote swallow
#

db4free was easier

remote swallow
tender shard
remote swallow
#

the site i use to make gradients and tab animations has so many more features now

#

damn

livid dove
#

So who wants to see me scan 900 regions for items in 2 minutes? (1 month of work and its all come together babbyyyyy) xD

tender shard
#

md_5's mixtipe is fire

  • md_5
tardy delta
#

uhh question, if i have multiple modules, where should i define the main manifest attrib? (maven project)
dont even know what module its trying to run from

chrome beacon
remote swallow
tardy delta
#

1 month of work usually breaks at the last moment

round finch
livid dove
tardy delta
#

exactly what i said when i failed my exam

livid dove
#

same

#

get in here nerds

tardy delta
#

im not going first

#

im scared

livid dove
#

Oh shit wow never mind this server doesnt allow streams rip

tardy delta
#

💀

livid dove
#

*each number is a region completed, look at the current run time lel

tardy delta
#

even a gui

livid dove
livid dove
#

thats erm region.... 600

#

xD

tardy delta
#

ah

livid dove
#

nearly done

twin venture
#

Any ideas :-:?

livid dove
tardy delta
#

but i have a module that is supposed to be run from there

#

special module with main class to run it from console 💀

tardy delta
livid dove
#

You preloading the chunk before logging in or something I dunno sounds wacky. Protocol lib usually is with stuff like that

livid dove
tardy delta
#

double it and give it to the next person

livid dove
#

lmaooo

chrome beacon
#

That's more than my pc has

#

so I can't help you there

livid dove
#

But yeah this sucker is scanning shulkers in furnaces fgs and still detecting em and teh gold

tardy delta
#

i have 16

livid dove
chrome beacon
#

4 core 4 thread 😎

tardy delta
#

cores

livid dove
#

so 24

#

you likely have 24

#

xD

tardy delta
#

idk

#

clearly didnt pay attention when we learned that

tender shard
#

only if they have hyperthreading

#

I got 12 cores and 12 threads

tardy delta
livid dove
#

But etiher way can we all appreciate me and my partner in crime have made an app thats scanning 900 regions in 1:30 and able to detect items hidden within shulkers within fuckin furnaces?

tardy delta
#

congrats

livid dove
#

Anti-Duping app go brt

tardy delta
#

@tender shard dist gone lmao

humble tulip
#

is that from what i showed u?

livid dove
#

YOUUUUU

#

YOU YA LITTLE SHIT

#

xD

tardy delta
#

run

livid dove
#

U know the pain u caused

#

xD

#

*jk jk

humble tulip
#

how'd i cause pain?

tender shard
livid dove
#

Because you have helped us discover something awful

tardy delta
#

idk lol

#

it also shows in gray in ij

humble tulip
#

did you corrupt your world?

livid dove
#

Nope

humble tulip
#

i told you back em up

livid dove
#

other way around

tardy delta
tender shard
livid dove
#

we've accidentaly discovered unbeatable xray

humble tulip
#

the world corrupted you?

tardy delta
#

huh

humble tulip
livid dove
#
  • the system we've set u
#

p

tardy delta
#

im confused where it went then

tender shard
#

it never was on your github repo

livid dove
#

Now we know how to manipulate the chunk's raw data we can write something that could calculate the perfect 3x3 tunnel to hit the most of any ore you tell it to

#

in less than 10 lines

humble tulip
#

lmfao

livid dove
#

We have actually debated making the repo public as the working with the raw chunk data is a pain in the fucking ass to figure out (hardly any good documentation on it) but once figured out

humble tulip
#

deletes the fork of the nbt manipulator from my github

livid dove
#

jesus chrsit

#

lmao

#

Dont worry uve made it into the credits

livid dove
#

xD

humble tulip
#

nbt explorer

tardy delta
#

why didnt ij say to commit it lol

livid dove
#

lmao

vocal cloud
#

But can it beat antixray?

livid dove
#

Not that

#

thats not what we figured out

humble tulip
#

OHH

#

you mean chunk palettes?

livid dove
vocal cloud
#

Not to mention you could just reverse the world seed and then generate the entire map in 1 step and voila you've done 10x better than calculating on the fly

humble tulip
#

ah

#

yeah

#

well

#

you couldv'e asked

tardy delta
#

uhh hows that mainClass supposed to work

humble tulip
#

it actually isnt that hard to understand

livid dove
#

I mean ngl how was i supposed to know ur the mr miagi of fuckin mojangs funky ass binary data storage and pallete system

humble tulip
#

but REALLY hard to figure out

livid dove
#

Yep

#

Worst bit is it has a lot of potential

humble tulip
#

i had to figure it out in order to modify chunk packets

livid dove
#

a shit tonne.

Like why the fuck are we not using this system to store data?

chrome beacon
livid dove
#

I loaded 900 region files in 1 minute

#

you know how many blocks that is?

#

Imagine instead of blocks it was like, actions for a command recording plugin

humble tulip
#

command recording is text

livid dove
#

Not if you use SQL ID numbers boiii

#

think about it

tardy delta
#

im confused cuz ij sees files that i dont see

livid dove
#

still use sql

#

but have the actions linked to ids

#

and store the ids in a pallete

#

and boom use a binary long

#

I did napkin math on it and ur looking at millions of actions for like less than mb

#

*than 1 mb

humble tulip
#

what are actions?

livid dove
#

shit like block break, block place etc

#

but the trick

#

is to just assign em numbers

#

like normal sql

humble tulip
#

ye duh LOL

#

that's pretty obvious

#

you don't wanna store "Block Break"

vocal cloud
#

if you're doing simple stuff like that bytes instead

livid dove
#

You say "yeah duh" as CP's dev who hangs in here a lot says, the Core protect files go up into the gigabytes before they even hit 100k actions

humble tulip
#

wait CP stores actions as text?

livid dove
#

Eh sorta

#

They store it as ints

#

which yeah is great

#

but store it as a fucking binary long instead?

#

could be some potential there

tardy delta
chrome beacon
#

Why does your package start with cli.

humble tulip
#

sql is not like a chunk tho where updates are made in memory and saved from time to time

tardy delta
#

😳

humble tulip
#

for every change you'll have to append to the binary long

tardy delta
#

not me.fourteendoggo.mathexpressionparser.cli.Main either

livid dove
tardy delta
#

where des it even start from

livid dove
#

or every X mins

tender shard
twin venture
tender shard
#

without any CLI

humble tulip
tardy delta
livid dove
humble tulip
#

i feel pretty stupid rn honestly

tender shard
tardy delta
#

uhh

tender shard
young knoll
#

I think the main drawback to NBT storage over say, json or yaml is that there is no library for it included with spigot

twin venture
humble tulip
#

If you do make your work public, shoot me a dm so i can have a look a what you made

tardy delta
#

well im in the dist modules pom.xml 🤔

livid dove
tender shard
livid dove
tardy delta
#

idk you told me to put that in the dist module

#

it should yes

chrome beacon
tender shard
tardy delta
#

hmm

livid dove
#

Uve honestly been a big part of it

#

it was for an entirely different plugin

#

*app

humble tulip
#

Tbf I've just shown you what's possible

livid dove
#

but we ended up running with it when we realised the potential

tardy delta
#

how does it work now, it still the same from the beginning 🤔

humble tulip
#

Ypu did everything

livid dove
#

Wanna call?

remote swallow
#

this is my new general chat

humble tulip
#

Can't rn

remote swallow
#

people in general are sending way too big spiders

livid dove
#

@remote swallow fgs

humble tulip
#

In a few hrs sure

livid dove
#

where

#

is

#

the

#

dev

tardy delta
livid dove
#

general

remote swallow
#

real

tardy delta
#

whats up with the spam

young knoll
#

Okay but imagine this

#

PDC but it works with files

humble tulip
#

Like store a file in pdc?

young knoll
#

Well PDC is just an NBT wrapper

tardy delta
#

when it doesnt want you to exit

remote swallow
#

i can store a yaml config in pdc

young knoll
#

But it can't be used to save and load files

humble tulip
#

Technically you can store it as a byte[]

tardy delta
tender shard
young knoll
#

Not your own arbitrary files

tardy delta
#

i thought i was gonna be funny

livid dove
#

Also can i get folks thoughts on something? SQL is rather new to me but i have a structure that I believe works 10x better than how most land plugins do their checks in terms of the data structure:

Have I mised anything here?

Step A: Checking the world after a block break (if the world isnt in the table, why carry on with the check?)

Step B: Checking the Regions (if the region location (as found via the block location of the block broke) isnt in the region table, why bother with the rest of the check?

Step C: Using both the newly found region ID and chunk location, find if the chunk is in the table and has a land.

tardy delta
#

[✘] sign working very good on console sighs

#

now figure out where my lost module went

eternal oxide
livid dove
#

Even in cache, why check every single chunk if you can just go world->region->chunk instead?

#

9/10 it'll be a quicker check no?

eternal oxide
#

quicker than?

livid dove
#

Just checking the chunks in cache verbatim no?

eternal oxide
#

every land claim I've seen already works like that

livid dove
#

Oh my brother in christ you need to go gander at the Lands Plugin xD

eternal oxide
#

checks for world first, then region

remote swallow
#

elgarl has towny

eternal oxide
#

I've not looked at lands, but Towny, residences and GriefPrevention

tardy delta
#

ah yes

remote swallow
eternal oxide
#

yes

livid dove
tardy delta
#

goddamn netbeans

livid dove
eternal oxide
#

No thanks. I completely re did all my land claim

livid dove
#

xD

#

*just look trust lmao

eternal oxide
#

I don;t see anythign obviously bad there. But the source is closed so no way of telling what it's doing behind the scenes

tardy delta
#

@tender shard dist stands for distribution?

livid dove
#

thats it

tardy delta
#

sorry for the stupid question but im thinking of renaming it to smth more useful

tardy delta
#

gimme some better name

livid dove
tardy delta
#

looks like all my gitignore files exclude it because of netbeans

remote swallow
#

mavenisbadsoweneedanothermodulefordistribution

eternal oxide
#

yeah documentation looks a little lacking

tardy delta
#

what would distribution even mean lol

#

it just makes a jar

livid dove
#

shrugs

remote swallow
#

you know how factories make something

#

someone has to distribute that

tardy delta
#

lemme guess ill call it distibution

livid dove
#

enable_17

#

enable_11

#

xD

tardy delta
#

bruh cmon

tardy delta
#

also dont know what happened here

humble tulip
#

You made a program to do it

tardy delta
#

looks like me breaking stuff

humble tulip
#

Lol rem when you wanted to scan chunks on load

livid dove
#

This gonna be a pretty sweet anti cheat tool

humble tulip
#

Still don't understand how xd

livid dove
#

Finding duped stashes of shit in shulkers within furnaces hidden below the ocean n shit

#

xD

humble tulip
#

Ahh

#

In that case og

#

Ig*

livid dove
#

You say ig but it goes back to the ol' "People dont make this shit because noone ever thinks about it"

humble tulip
#

Do you look for chunks with alot of the same item or something?

tardy delta
#

hes xraying for diamonds

vocal cloud
#

Or it's "People dont make this shit because there isn't a market for it"

livid dove
#

Oh no minion, thats the beauty, the filter just filters what to print,.

Its found every fucking item in 1 minute 30

humble tulip
#

Ye ik, i scanned my entire world in a second, i know it can find every item

#

How do you know what's duped and what's not?

livid dove
#

Its for the more obvious shit like.

X player has duped a crap tonne of elytras and it hasnt been caught for a few months.

Noone wants to sift through the great web of core protect trades

#

searches for elytras and finds all the stashes

humble tulip
#

Ah

#

Let's say u wanna search for an item with "cool" in the lore

vocal cloud
#

Wouldn't people just get smart and start storing items more spread out? Or perhaps in tile entities like minecarts?

humble tulip
#

Can u do that?

livid dove
#

and offline inventories

vocal cloud
#

Yeah, but they can spread them out

livid dove
#

Its more for unique items like say custom items with custom nbts too

tardy delta
#

the moment you push your code to gh and realize you forgot to change one line

humble tulip
#

Next commit be like "oops forgot to register listener"

livid dove
vocal cloud
#

Idk seems like a lot of work for a simple chest open -> quick check

tardy delta
#

this commit is called "Fix dist module somehow being in gitignore"

tardy delta
#

next commit is gonna be called "remove comment"

livid dove
tardy delta
vocal cloud
#

Ye learning experience. Practical applications could be more based on visualization

humble tulip
#

Figuring stuff out is always fun

livid dove
#

that was the next phase

#

xD

humble tulip
#

Gluck with your project

livid dove
#

cheers lad

humble tulip
#

Heading out for now 🙂

livid dove
#

Nw ❤️

humble tulip
#

It's actually a HUGE coincidence that you messaged here the moment i decided to open thos

#

Haven't been very active lately

livid dove
#

was glad to see u buddy

#

The formating is shite rn as , yknow, mvp

#

but ❤️

#

which ide?

#

new project from version control

young knoll
#

Is it a maven or gradle project

livid dove
#

Yep

#

new project

#

from

#

version control

young knoll
#

Or you can clone it and then just import that, either works

livid dove
#

I saw you typing coll and wanted to beat u lmao

#

repository url

#

and get the url from the github page

tardy delta
#

ternary?

#

?:

flint coyote
#

?: = elvis operator in kotlin :p

white dew
#

Hello guys, I'm a newbie using java to write plugins. All of my plugins untill now were build using the "Minecraft Development Spigot" template from IntelliJ. The template is awesome and makes my job easier

#

however

#

I'm trying to create a plugin from an empty project

#

since this way I can make plugins for versions before version 1.12

tardy delta
#

and you cant figure out what files to put where?

flint coyote
#

I have never used that extension so idk what it does xD

white dew
#

yeah, but I think It will be nice If I can do without the template, so I can see how everything works and all

#

but thanks, thats a good idea

echo basalt
#

well

white dew
#

however, I'm very new to java development in general, so I'm thinking

#

how can I download the spigot library

echo basalt
#

you'd just be creating a pom.xml or a build.gradle file and creating a java class

#

no big deal

white dew
#

so I can use the classes from my project?

echo basalt
#

depends on the gradle project

#

seems like you're probably using paperweight

#

either that or your cpu is absolute garbage

tardy delta
#

gradle be caching half the universe

echo basalt
#

still single core

white dew
#

Oh, ok, guys so

#

How can I install de Spigot Library into my project on IntelliJ?

#

Up untill now It was doing It automatically with the template

#

oh, I'm not using Maven, but I can

#

I was trying to follow this guide:

#

Doesn't seem like the person is using maven or gradle, afaik

#

yeah!

#

exactly

#

it adds the jar

#

It tells me to go to File -> Project Structure -> Module -> dependencies

#

and add the jar

delicate lynx
#

you should use maven or gradle instead 100%

white dew
#

I don't know what maven or gradle is, but I'm assuming It's a way to automate this process?

#

hmmm, I see, what are the differences from just adding the jar, tho?

#

oh

#

like

#

hmmm

#

so I don't need to add the jar manually? I just put the dependency name on the maven file and It downloads for me?

#

sorry If this is a newbie question. This is all very new to me

delicate lynx
#

yeah, maven will auto pull from the spigot repository and download the dependency automatically

white dew
#

That makes sense

delicate lynx
#

and if you need anymore, you can add more dependencies

white dew
#

I see

remote swallow
#

you can

#

?bootstrap

undone axleBOT
#

Bootstrap Jar
The main spigot-1.18.jar is now a bootstrap jar which contains all libraries. You cannot directly depend on this jar. You should depend on Spigot/Spigot-API/target/spigot-api-1.18-R0.1-SNAPSHOT-shaded.jar, or the entire contents of the bundler directory from your server, or use a dependency manager such as Maven or Gradle to handle this automatically.

Please read the release notes for further information: https://www.spigotmc.org/threads/9-years-of-spigotmc-spigot-bungeecord-1-18-1-18-1-release.534760/#post-4305163

white dew
#

To be honest, I feel like I'm learning a lot of concepts I didn't know existed. I think I still have to learn fundamental java projects concepts

#

but If I understood correctly, you use maven/gradle to import libraries that are not in default java

reef acorn
#

How can I power a trapped chest for 1 second?
(Like opening the trapped chest)

white dew
#

I'm assuming spigot ones are external libraries, and I need to use a system to handle the dependencies

#

Hey, I think I'm beginning to understand these concepts. I just created a new maven project, using java 8

#

IntelliJ created a simple file structure for my project

#

including a folder name src and a pom.xml file

#

So If I want to include the spigot library I have to change the pom.xml to make It add the library?

sullen marlin
#

yes

#

?maven

undone axleBOT
white dew
#

that makes sense

#

So Spigot is the main library for developing new plugins for minecraft

#

What is the lowest version of minecraft I can make a plugin using spigot?

#

Just curious

chrome beacon
#

Some beta or alpha version if you count bukkit

white dew
#

that's awesome

#

my ultimate goal for now is to create a beta 1.7.3 plugin

#

a very simple one

buoyant viper
#

if its spigot from the maven repo its only GA 1.8 isnt it

white dew
#

like, just a simple plugin that prints something to the player

hazy parrot
#

I believe spigot goes back to 1.4

white dew
#

release 1.4?

buoyant viper
#

spigot itself might but if u use the repo i dont think it goes back too far

#

unless it had a different name/package

#

?hub

young knoll
#

Anything before 1.8 is gone

buoyant viper
#

?stash

undone axleBOT
young knoll
#

Becuz DMCA

chrome beacon
white dew
#

Yeah, craftBukkit 1060 if I'm not wrong

#

but I can handle that later, for now I'm just gonna focus on making a simple plugin for newer versions

#

without using the minecraft development template on IntelliJ

#

just a simple maven project

hazy parrot
white dew
#

I'm already looking at the page to figure things out

chrome beacon
#

Yeah don't expect support for ancient versions

white dew
#

aw :/

#

How are people modding stuff for beta 1.7.3, then?

#

I know there is not a lot of people doing this

#

but I saw a couple mods for these ancient versions

#

and was wondering

young knoll
#

The jars still exist, but not officially

#

I think people have also backported fabric to every goddamn version

keen basin
#

is there a way to use **NBT API ** to add tags to player ?

white dew
#

thats cool. Also, thank you a lot for the help, guys

#

I will continue my journey and will ask for help when I need

buoyant viper
white dew
#

thank you :)

buoyant viper
#

?pdc

chrome beacon
#

Probably 1.8 user

buoyant viper
keen basin
reef acorn
buoyant viper
chrome beacon
buoyant viper
#

if ur on 1.14 or higher u should probably just use PDCs, if ur lower, u dont have PDCs.

#

or 1.13 idk

young knoll
#

1.14

#

1.13 had some weird pre-pdc

jagged bobcat
#

Is there anything new that is worth upgrading to 1.19 from 1.17?

young knoll
#

We won't shame you

#

:D

chrome beacon
#

Yeah being on a supported version is always a good idea

keen basin
chrome beacon
jagged bobcat
#

I like having performance in my server and not having million height limit

#

Due to asking the api upgrade if I should

chrome beacon
#

You have the skin api

#

Not sure what more got added

young knoll
#

I mean

#

You can view the changelog

white dew
#

Hi, I'm modifying the xml file on my maven project to add spigot. I just added the new repository:

#
<repositories>
    <!-- This adds the Spigot Maven repository to the build -->
    <repository>
        <id>spigot-repo</id>
        <url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
    </repository>
</repositories>
#

as the tutorial told me to

#

however, when adding the dependency

jagged bobcat
white dew
#
<dependencies>
        <!--This adds the Spigot API artifact to the build -->
        <dependency>
            <groupId>org.spigotmc</groupId>
            <artifactId>spigot-api</artifactId>
            <version>1.19.4-R0.1-SNAPSHOT</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>
remote swallow
#

reload maven

white dew
#

It gives me an error on the version segment

paper viper
#

Why is the player not in the list?

remote swallow
#

wrong reply?

wise mesa
#

Oops

white dew
wise mesa
#

Whatever

#

Who cares

white dew
# white dew It worked!

Now I can import the libraries using the keyword "import" and just start building my plugin?

chrome beacon
paper viper
#

Sorry got it

remote swallow
keen basin
remote swallow
onyx fjord
#

Yes

remote swallow
#

pdc is in spigot api

paper viper
wise mesa
#

If you want to store your own nbt use Namespaced key with your plugin

#

If you want to modify Minecraft nbt use persistentdatacontainter.Minecraft

#

Or whatever it’s Called

chrome beacon
#

PDC won't let you modify vanilla nbt as far as I'm aware

young knoll
#

^

white dew
#

If I want to change my plugin to 1.18 do I just need to change the dependency in pom.xml to the respective version?

young knoll
#

There are API methods for that

white dew
#

makes sense!

#

all right

#

I think I just have to create the correct file structure now

#

is there any guide on how to structure the files?

#

the guides I followed just show It using the minecraft template on IntelliJ

#

oh

#

now that I think about It

#

I can just look at It

#

I mean

chrome beacon
#

That's just the standard maven project layout

white dew
#

look at the template and recreate It on my folders

#

oh

#

that makes things easier

#

oh, well, I don't seem to be able to post images here

#

so I can't send my file structures

chrome beacon
#

?img

undone axleBOT
white dew
#

but If you say Its the standart

jagged bobcat
#

If you dont own your own domain you can user

Me.myname/ign.projectname

white dew
#

oh, ok!