#help-development

1 messages · Page 1019 of 1

timber hazel
#

ill need to check back later, thanks for the help ill write later, please give some more tips, ill check what you wrote later

#

amazing help btw, really appreciate it

trim quest
#

Hello, I have finished your guide for menus, but you have not covered the pagination. Do you have any suggestions on how we can achieve this? @lost matrix

eternal oxide
#

?gui

lost matrix
echo basalt
#

I personally make my menu systems work on "layers"

#

So we have a "base" layer with the default stuff, and a "paginable" layer

#

With multiple "paginable areas" which are just a fancy List<Integer> + List<MenuElement> type deal

blazing ocean
#

for my 7x3 paginated UIs, i have a List<T> with all elements, then just a Map<Integer, List<T>> with the pages and items, then some buttons to cycle between the pages and split the items into three rows

shadow night
#

A map with integer as key?

#

Isn't that called a list

blazing ocean
#

uhh

#

no comment

shadow night
#

Lol

trim quest
#

Do you think it makes sense to set metaData for players when they open a menu? @lost matrix

blazing ocean
#

pls use an ide Pepepray

ivory sleet
#

why dou need to use metadata

ivory sleet
shadow night
blazing ocean
tardy delta
#

eclipse looks like madness

shadow night
tardy delta
#

im sorry

ivory sleet
#

its by definition an ide tho

shadow night
#

What about 🫘 Beans 🫘

trim quest
#

i like Eclipse.

ivory sleet
#

And thats fine

shadow night
#

I do not, but use whatever you prefer

eternal oxide
#

I love Eclipse. Multiple projects open at the same time

trim quest
shadow night
river oracle
#

Idk why ij just can't be normal and do that

#

Even fucking vscode can do that

eternal oxide
#

Seeing as I never work on one project at a time, it's perfect

river oracle
#

Let that sink in VSCode

shadow night
#

Last time I talked to frostalf he was recommending netbeans to me like it's gonna change my life

blazing ocean
#

just open ~/IdeaProjects

shadow night
#

I once did that with my downloads folder

#

Ij took a while to finish indexing

trim lake
#

Its possible to change color of liquid in cauldron? I cant find image in texture files of some cauldron with liquid so I wander how it is working.

river oracle
#

Yes

#

In bedrock edition

shadow night
#

Damn

trim lake
#

Obviosly I will not make plugin for bedrock edition, lol. So its not possible in java, saad

shadow night
#

Bro paused for a sec to destroy the happiness

trim quest
#

@lost matrix im trying to paginate like this. its seems work. But i feel its not best way to do that.

blazing ocean
river oracle
#

Nah actually fuck you

#

No

blazing ocean
broken nacelle
broken nacelle
#

isn't better in json?

blazing ocean
#

no diff

broken nacelle
#

hm

blazing ocean
#

gson exists but yaml is better supported

trim lake
#

Im thinking how to store honey or some other liquid in cauldron or somthing like this. Probably its possible when I will add custom block but Im not sure why I cant find filled cauldron textures in resourcepack files.

blazing ocean
#

water and lava only iirc

trim lake
blazing ocean
trim lake
blazing ocean
#

then not possible

trim quest
#

i have a lot of questions about this architecture

shadow night
trim quest
#

but i guess 7smile is too busy

blazing ocean
shadow night
#

Identificator tarball or what

trim lake
#

what texture is displaying vanila in cauldron? its displaying texture of stored liquid? bcs I cant find full cauldron textures

blazing ocean
shadow night
blazing ocean
#

the one that would show when you place it down

shadow night
kind hatch
blazing ocean
#

SHUT

#

UP

#

PLEASE

shadow night
#

Bros demons get distrubed by that screenshot

trim lake
# blazing ocean ig the liquid texture?

looks like it, hmm, I probably can make custom block and display that, but I will need make 3 block per liquid, bcs it can have 3 stages fuck. Or just found other way of doing that idk how lol

shadow night
blazing ocean
#

for the entire thinf

trim quest
#

if you show me

blazing ocean
blazing ocean
shadow night
echo basalt
#

nah this one's open-source

#

my NDA is for bedrock stuff atm

shadow night
#

What would make you think thaz

echo basalt
#

and bedrock doesn't use traditional menus

blazing ocean
echo basalt
#

we use forms

shadow night
#

I definitely am not farming blocks for that

trim lake
blazing ocean
echo basalt
#

this is a REALLY REALLY old version

trim quest
#

im using this @echo basalt

echo basalt
#

bro pinged lukas

trim quest
#

yes sorry about that

blazing ocean
#

i'd recommended to just use something like interfaces by incendo

echo basalt
#

lukas is at work stockpiling bananas rn

trim quest
#

auto complete thing

river oracle
#

My menu system is the best 👌

trim lake
blazing ocean
echo basalt
#

This is pretty much how I make menus

blazing ocean
river oracle
#

Gotta post mine now

trim quest
#

can i dm to you @echo basalt

river oracle
#

Since I'm in love with mine

echo basalt
#

eh

#

just post your question here

trim quest
#

why you are using this at BaseMenu:
private final List<Runnable> closeTasks = new ArrayList<>();

#

for animate buttons ?

echo basalt
#

because it's old

#

It runs every runnable when the menu closes

#

you can do stuff like
menu.onClose(() -> ...)

blazing ocean
#

i ain't reading allat

trim quest
#

i decided to use 7smile7's menu system. its more reusable and simple for me.

river oracle
#

I basically use what 7smile7 did in his guide with tweaks to make it better

trim quest
#

but i realise im noob at writing lambda expressions.

echo basalt
#

yike

trim quest
river oracle
#

if I separating them into different classes it would be much less lol

echo basalt
#

I don't like hardcoded items / hardcoded slots

#

Mine's built around a config

trim quest
#

kangarko guy using metadata stuff a lot in his menu system.

blazing ocean
river oracle
#

[insert drama here]

blazing ocean
river oracle
#

he did many things

#

kekw

river oracle
#

that's how you get misconfiguration of silly individuals

quiet ice
echo basalt
#

Doesn't need to be complex

blazing ocean
#

tf is that

river oracle
# echo basalt Doesn't need to be complex

if you don't have hardcoded slots do you not have to redirect to specific events. Atleast in most menu systems that's done via a classpath to a specific method or handler

echo basalt
#

The slots aren't really hardcoded

#

I just use masks

trim quest
#

and looks very clean

echo basalt
#

I'm not saying it isn't ¯_(ツ)_/¯

#

Not arguing about this, you asked for an example and I gave you one

river oracle
#

I mean its subjective kekw is that not why we all have our own system

#

its what works best for you/us

echo basalt
#

pretty much yeah

trim quest
#

yes

echo basalt
#

Mine's made for the commission market instead of my own plugins. Users want configurability, they have all of it

trim lake
echo basalt
#

Y2K's made for his use case

#

dude likes kotlin, whateve

river oracle
#

the API is in java dw baby

echo basalt
#

7smile7's is made for simplicity. Dude made a guide, no need to overcomplicate

river oracle
#

all of my libs are in java

echo basalt
#

same p much

blazing ocean
echo basalt
#

Still working on my bedrock modelengine stuff

#

got it working at work

blazing ocean
echo basalt
#

just need to make a standalone version

river oracle
#

💀 bugrock

#

you better be getting payed well

blazing ocean
river oracle
#

how's C++ btw

echo basalt
#

Get paid well per hour

echo basalt
river oracle
#

oh...

#

ew

echo basalt
#

I did some heavy internals

#

added custom entities, now I've been working on surface scanning

#

Got that done last night

sullen wharf
echo basalt
#

go back to banana, lukas

sullen wharf
#

🤪🤪

echo basalt
#

I'll come visit you tomorrow

#

@lost matrix I've been using kotlin at work lately

#

what's your opinion on this company-inflicted torture

#

should I sue for mental health issues

lost matrix
echo basalt
#

alr omw

blazing ocean
#

@shadow night DONT YOU FUCKING DARE

shadow night
#

Dare what?

blazing ocean
#

i love omg so fluff

trim quest
#

why we shouldn't use metadata on players when player open menu @lost matrix

#

i removed metadata stuff but how we can recognize which menu opened

chrome beacon
#

^^ read his guide

blazing ocean
chrome beacon
#

ah ok

blazing ocean
#

olivo pink too?????

chrome beacon
trim quest
#

and whats the problem with setting metadata to players.

timber hazel
#

back, do i need to change more?

quiet ice
river oracle
blazing ocean
river oracle
#

what do you gain from setting metadata when they open the menu

#

not to mention metadata is leaky

chrome beacon
#

Just let the inventory track data

quiet ice
blazing ocean
#

uh

#

potentially

upper hazel
#

Can plugin interact with mods in events?

blazing ocean
upper hazel
#

Not I but this nevermind

trim quest
quiet ice
#

As long as the classpath is set up correctly there is no issue

river oracle
#

use a proper manager

#

also its not leaky to do it that way

#

its just a shit design

#

metadata literally leaks memory

young knoll
#

Only if you don’t remove it

short plover
#

what is the event when a snow block appears or ice block appears when its snowing

chrome beacon
river oracle
chrome beacon
#

true kekwhyper

upper hazel
#

Let's say they create a new mob through a mod and I want to control it through a plugin)

lost matrix
chrome beacon
#

but you're on your own

#

Head over to the discord for the hybrid you're using

#

and see what exactly they do

#

or you know actually just make a mod??

shadow night
#

Lol

river oracle
#

generally speaking the menu design 7smile7 has in his guide is very effective. for pagination its just having multiple arrays internally

#

you can replace all of the slots or some of them depending on how you want your pagination setup. Which is the perk of such a flexible bear bones guide and system

young knoll
#

Wat

#

When did kangaroo boy come up

river oracle
young knoll
#

Oh

#

Cring

river oracle
#

indeed cring

timber hazel
river oracle
#

if this is the full stacktrace ask paper

timber hazel
#

alr thx

river oracle
#

its not important

dense oxide
#

hello, i have a question about death chest plugin @hollow tree
is the chest countdown active when the chunk isn't loaded? like if i die 2000 blocks away, will it count down only when i'm nearby?

fringe elbow
#

Does anyone know about creating plugins? I need a developer

river oracle
#

?services

undone axleBOT
blazing ocean
grim hound
#

could someone tell me why this is a list?

fringe elbow
grim hound
#

MessageToMessageEncoder

river oracle
#

this isn't the place to be doing business

#

discuss it elsewhere

upper hazel
#

yea

upper hazel
fringe elbow
#

In fact I would need a plugin that could differentiate the creative inventory from the survival inventory to avoid cheating. And at the same time prohibit certain commands

upper hazel
#

ehhh

#

wdym

fringe elbow
#

do you see what I mean?

upper hazel
#

differentiate in what way?

#

oh wait

fringe elbow
#

Not having the same inventory in survival and creative

upper hazel
#

deepl badly translated

fringe elbow
#

?

upper hazel
#

this is vanila logic

fringe elbow
#

How so ?

upper hazel
#

do you want to make this plugin or order it

#

if 2 option lets go privatly

fringe elbow
#

Order it, I don't know much about java

quasi gulch
#

How would i cancel that a block that explodes because of another block drops itself at the BlockExplodeEvent. When i would cancel the event it would cancel the explosion for all other blocks. I have a DaylightSensor that i drop naturally with some NBT data and wanna remove the original drop. I couldnt find a way

eternal oxide
#

Are you sure you want the BlockExplodeEvent and not teh EntityExplodeEvent?

#

Block = Bed, Entity = TNT

quasi gulch
#

Yeah thats the right event but i listen to both. But both just give the explodedBlock list

eternal oxide
#

What is causing yoru explosion?

quasi gulch
#

I listen to every explosion

#

But that doenst matter in this situation?

eternal oxide
#

getBlockLIst and remove yoru block from it

quasi gulch
#

but isnt that just a copy?

eternal oxide
#

no

quasi gulch
#

Ahh okay nice thanks

acoustic pendant
#

Hey, i'm trying to use jitpack to make my own api but when I try to use it in maven it doesn't find the dependency I've created the tag/release already

eternal oxide
#

what java version does your API use?

quasi gulch
#

You can check if the build failed on the website

acoustic pendant
#

that could actually be

#

I didn't change api version

quasi gulch
acoustic pendant
#

Yea, it was using java 1.8

eternal oxide
#

then add a jitpack.yml as Justin said

quasi gulch
acoustic pendant
#

let me try ig

eternal oxide
blazing ocean
#

what

#

are you trying to make a custom entity

#

that's not possible with vanilla

mystic meteor
blazing ocean
#

like an actual custom entity

#

tf is that

mystic meteor
#

i already have custom things on my server

#

for 1.8x

blazing ocean
#

then go to their support

#

?1.8

undone axleBOT
blazing ocean
#

i have no clue what tacospigot is ngl

#

again, clarify

inner mulch
#

harun there is no one solution for that

#

you need to find ur own

blazing ocean
#

do you mean a custom modelled entity with resource packs

#

or an actual entity that the client renders itself

eternal oxide
#

unless you are writing a plugin you are in teh wrong channel.

blazing ocean
#

remodel some mob then?

#

like that's not a spigot thing lol

inner mulch
#

are you making a mod

blazing ocean
#

one does not simply extend an entity class

#

please clarify

#

what you are doing

inner mulch
#

tell us, are you making a plugin or a mod

blazing ocean
#

that too

#

sounds like you're making a mod

inner mulch
#

bro

wet breach
#

well you told us

blazing ocean
#

...

inner mulch
#

?whereami

inner mulch
#

spigot has nothing to do with mods

blazing ocean
#

not possible with spigot

eternal oxide
#

Not a Spigot issue

#

?fork

undone axleBOT
#

SpigotMC maintains the Spigot server. If you are using a fork of Spigot (such as Paper, Airplane, Purpur, or other derivative works), you should seek support in the appropriate Discord servers.

wet breach
blazing ocean
#

i doubt they're looking for spigot derivatives ngl

blazing ocean
#

💀

wet breach
#

why don't you ask them

blazing ocean
#

?whereami taps sign

blazing ocean
#

then go to their support

wet breach
#

you want to ask us if another discord supports something?

#

instead of asking in their discord if they do?

eternal oxide
#

Tacospigot is a fork of paper

blazing ocean
#

tf is tacospigot

#

and why would they call themselves spigot if they're a paper fork

wet breach
#

pretty soon we will have burrito derivative

blazing ocean
eternal oxide
blazing ocean
#

yea i saw

fossil flax
#

someone know how to fix this?
java.lang.NullPointerException: Cannot invoke "java.sql.Connection.prepareStatement(String)" because "this.connection" is null

Method:

public void initializeDatabase() {
        try {
            String query = "CREATE TABLE IF NOT EXISTS PlayerStats (" +
                    "UUID VARCHAR(36) PRIMARY KEY," +
                    "Name VARCHAR(20)," +
                    "Kills INT DEFAULT 0," +
                    "Deaths INT DEFAULT 0," +
                    "Kill_Streak INT DEFAULT 0," +
                    "Max_Kill_Streak INT DEFAULT 0," +
                    "KD DOUBLE DEFAULT 0.0," +
                    "Bounty INT DEFAULT 0" +
                    ");";
            PreparedStatement statement = this.connection.prepareStatement(query);
            statement.executeUpdate();
            statement.close();
        } catch (SQLException ex) {
            this.plugin.getColor().sendConsoleMessage("&7Failed to connect with PlayerStats table: " + ex.getMessage());
        }
    }```
eternal oxide
#

get teh connection when you need it. don;t store it in a field

vast ledge
#

Your connection is null

fossil flax
#

how can i do it?

blazing ocean
vast ledge
#

You need to init the connection

dawn flower
#

hi

vast ledge
dawn flower
#

i forgot what i wanted to ask

vast ledge
#

xD

blazing ocean
#

lmao

dawn flower
#

uh

#

oh yeah

fossil flax
dawn flower
#

how do i make custom pickable items using item displays

#

how do i detect if a player goes inside it

eternal oxide
#

add an Interaction entity

dawn flower
#

that makes it so they have to right click on it

eternal oxide
#

same place as your ItemDisplay

vast ledge
dawn flower
#

unless i misunderstand interactions

eternal oxide
#

there is no AABB collision event

#

]making them click is best

dawn flower
#

AABB?

#

the flip is that

eternal oxide
#

an area, a boundingh box

dawn flower
#

ah

#

what if i get the nearest entity in a radius of 0.1 of the player

eternal oxide
#

you could, but thats more work than making them click

dawn flower
#

alr

vast ledge
#

You would be checking every move event, seems very inefficient

dawn flower
#

can i make it so that interactions only work one time

blazing ocean
#

map?

eternal oxide
#

or, place a pressure plate under the ItemDisplay

#

so they stand on it

blazing ocean
#

isn't gonna look good

#

would just use a hashmap

dawn flower
eternal oxide
#

add a pdc tag to teh entity once the player has used it (add the players UUID)

dawn flower
#

i'm just gonna delete the entity once they use it

eternal oxide
#

much simpler 🙂

wet breach
#

it just depends what you decide to do in regards to that event

dawn flower
#

i'm gonna check the nearest entities to the player in a radius of 0.1

wet breach
#

why .1?

dawn flower
#

idk

#

i think 0.5

#

i want to get the entities that player is inside

wet breach
#

if that is the case, then grab all entities in loaded chunks and get their locations. If they are not 0.5 from player when they move ignore. Update locations when entities move. remove entities that are no longer loaded.

dawn flower
#

i'm 99% sure there's a method to get the nearest entities tho?

#

or is that method more efficient

wet breach
#

probably is, but there is something I can't remember about it that was terrible

#

but you don't need to keep grabbing nearest

#

just grab the entities already loaded

dawn flower
#

alr

#

i prob don't even need to check the whole chunk, the entity i'm checking is within a 15x15 room

wet breach
#

a more efficient approach would be to grab entities as chunks load using the chunk load event, and entity spawn events

wet breach
#

saves you from looping

dawn flower
#

good point

#

wait i dont even need the get the nearest entity

#

or loop like u said

wet breach
#

did it finally click?

dawn flower
#

?

wet breach
#

guess not

dawn flower
wet breach
#

see there is this handy method to get all the entities

dawn flower
#

i can compare the location of the player with the location of the entity i'm tracking instead of doing that

wet breach
dawn flower
#

ic

wet breach
scarlet field
#

does anyone know how to change the setPositionRotation for 1.20.2 in idea

eternal oxide
#

What? thats NMS

#

what do you mean by change in idea?

scarlet field
#

my setPositionRotation doesn't work, it stays red, I don't know how to solve that

eternal oxide
#

type . and see what you ide has available

scarlet field
#

thanks for your help but already got it

eternal oxide
#

you have setPosRot and forceSetPositionRotation

tall dragon
#

im trying out this spigot libraries function in plugin.yml for the first time, am i doing this wrong?

libraries:
  - com.discord4j.discord4j-core:3.2.5

looking at the docs this seems to be the right format.

#

i get an error stating this is the wrong format though

eternal oxide
#

3 elements

#

probably com.discord4j:discord4j-core:3.2.5

tall dragon
#

ohhh i gotta switch out the one dot for a :

#

dang i misses that

quaint mantle
storm crystal
#

Should I make method that spits out itemstack static?

eternal oxide
#

if its stateless, yes

icy beacon
tardy delta
#

in rust dereferencing a nullptr is legal

#

using the value isnt

#

heard that in their discord lol

#

guess were gonna see

#

probably gets optimized out if you type it explicitely lol

#

getting a segfault when printing the val, otherwise arent

floral drum
#

haha time to get a segfault

remote swallow
#

can you segfault me

eternal night
#

😏

young knoll
#

Wtf is Molang

floral drum
#

OH GOD

young knoll
#

Is it just an expression evaluator at home

ivory sleet
#

lmao

#

naa dont hate on molang

#

🙏

tardy delta
#

molls

ivory sleet
remote swallow
#

control c me after that pls

young knoll
#

At least someone has made a library to parse it

ivory sleet
tardy delta
#

ahh mine cant do that

ivory sleet
#

yea

#

molang cool stuff

#

gotta give it credit as a geckolib enjoyer

tardy delta
#

animation engine?

ivory sleet
#

yea more or less

umbral ridge
#

cool maths problems schnitzel

young knoll
#

It’s less cool when you are working on a platform that doesn’t support it

dawn flower
#

why is my magma cube disappearing after not being close to it?

#

it's persistent

young knoll
#

What about removeWhenFarAway

dawn flower
#

that isn't something in magmacubes or slimes

#

i think

#

wait, it's in living entity

dawn flower
#

oh wait that's something in magma cubes

#

and it's true

young knoll
#

Well there you go

#

Set it to false

dawn flower
#

can i just disable remove when far away from all entities

young knoll
#

If you want

#

That’ll stop entities from ever despawning though

dawn flower
#

i have a way to distinguish between custom mobs and vanilla mobs (i don't ever want custom mobs to despawn)

#

unless the server stops

#

can you get the plugin disable reason? for example normal disabling through plugman or if the server is stopping

storm crystal
#

it would take specific arguments such as item's data access object and produce an item stack with applied PDCs, metadata etc.

#

so that I could utilize it in several places

alpine urchin
#

XDD

#

GoMolang

soft hound
#
    public void loadSubcommands() throws NoSuchMethodException, InvocationTargetException, InstantiationException, IllegalAccessException {
        Reflections reflections = new Reflections(package_path, Scanners.SubTypes.filterResultsBy(s -> true));
        Set<Class<?>> classes = reflections.getSubTypesOf(Object.class);

        for (Class<?> clazz : classes) {

            Object obj = clazz.getDeclaredConstructor().newInstance();
            subcommands.add((Class<Subcommand>) obj);
        }
    }


    public void executeSubcommand(String name) throws NoSuchMethodException, InvocationTargetException, InstantiationException, IllegalAccessException, NoSuchFieldException {
        if(subcommands.isEmpty()) {
            System.out.println("No subcommands found");
            return;
        }

        for (Class<Subcommand> subcommand : subcommands) {

            Object obj = subcommand.getDeclaredConstructor().newInstance();
            Class<?> clazz = subcommand.getSuperclass();

            if(!name.equalsIgnoreCase(clazz.getField("name").getName())) continue;

            clazz.getMethod(execute_method).invoke(obj);
        }
    }```
#

Is this a good way of loading classes / invoking methods that are inside of it ?

dawn flower
#

first this aint python, package_path should be packagePath

second i feel like you should have a list of subcommands instead of using reflections

#

since subscommands might require constructors

#

also u don't need to get the superclass
u can do

subcommand.getMethod(executeMethod).invoke(obj)```
hazy parrot
grim hound
#

is someone here acquainted well with netty?

dawn flower
#

why netty

#

use protocolllib if possible

quiet ice
#

depends on what you mean with well acquainted

umbral ridge
#

is it possible to extract the class name and line number where the exception occurred?

#

from Exception class

tardy delta
#

getSubTypesOf(Object.class)?

#

what

umbral ridge
dry arch
umbral ridge
#

hmm i'll try this thanks

twin venture
#

better alternative to send Custom data from server A (starting ... ) to server B (already On just update the data)
for now iam using redis

#

lets say a Quest data for a user from game-1 server (game end ) to Lobby server(update the data before user go back to lobby ?

worldly ingot
#

Redis is fine. Its pub/sub is intended for that. It's literally called a "message broker" :p Unless you're experiencing a bottleneck specifically caused by Redis, I don't think you should be seeking alternatives.

twin venture
#

Alright thanks

soft hound
#

or is that a bad idea

dawn flower
#

you can add them manually

#

there prob wouldn't be that much

soft hound
#

I mean still, I wanna practice

dawn flower
#

i mean

#

nothing's wrong with practicing, but there are other and better ways to practice reflecton

grand flint
#

The sleep method has a location param, does the server check if there is a bed at that location or the client?

slender elbow
#

The location must be in the current world and have a bed placed at the location

twin venture
#

Kits , quests , cosmetics are all configurable .yml files but i need to have them in 1 centerlized location so i can pull from it

grand flint
#

What

twin venture
#

(multi servers , or even multi proxies setup)

grand flint
#

You shouldn't do that

twin venture
grand flint
#

Just upload the same configs to all servers?

twin venture
#

manually?

#

dont you think thats a bit redundent?

grand flint
#

Is it that hard to ctrl+c and ctrl+v

#

No I don't that is what a lot of servers do

twin venture
#

for me no , but for customers you know ..

grand flint
#

Do you think hypixel has a centralized skywars config that all bedwars servers pull from?

sullen marlin
#

If they're all on the same machine, symlink

grand flint
twin venture
#

Thanks , i will look into it

sullen marlin
#

Hypixel probably uses webscale MongoDB

grand flint
#

Yeah but not for the minigame config

#

That just gets copied into each created server

sullen marlin
#

If it's a server method, presumably the server, if there is any check at all

grand flint
#

Do you know if ther is a check?

sullen marlin
#

What's the method

grand flint
#

Wrong ss

#

Someone said I could send a block packet to the player to fake the bed and remove it the next packet

sullen marlin
#

Presumably force overrides any check

grand flint
#

But I assume client would still check?

sullen marlin
#

Not sure, try it!

grand flint
#

I'll just try and see thanks cutie ❣️

sullen marlin
#

I know back in like 1.7 beta the client didn't check

#

And there were bugs that left people sleeping randomly in air

grand flint
#

Unsupported version 🤓

#

I have custom beds with resourcepacks so I would prefer them functional

sullen marlin
#

Haha

twin venture
#

i was thinking to have (cosmetics files {configurable .yml files} inside the proxy plugin folder and it push it when proxy start .. (and when ever a spigot server load again (start) it push the data to that server .. but now think what if we have multi proxy setup thats not a scalable soulation 🙂 , need to think out of the box

lean pumice
#

How i can fix this build error?

sullen marlin
#

what are you doing...

nova notch
#

brother read the goddamn exception

#

wdym how do you fix it

glad minnow
worldly ingot
#

I mean it could have been a BuildTools exception :p

#

So it's good to clarify before jumping to conclusions

#

So yes, what were you doing and is there more to that stacktrace?

nova notch
#

oh whoops

humble lynx
#

How come there isn't a chunk.getY?

sullen marlin
#

because chunks are columns

#

MC doesn't have 3D chunks

humble lynx
#

Ah, but on the client it says the chunk y?

#

Do I just have to implement my own method to get the y?

sullen marlin
#

?xy

undone axleBOT
river oracle
#

Pretty sure the y may be for rendering

humble lynx
#

I'm measuring the distance between the player and an NPC using the distance in chunks, depending on how far away the NPC is I'll display the NPC.
Something is doing it already for normal mobs (e.g. sheep) if you make your y distance large enough.

river oracle
#

Well chunks have no y so you can only do x and z in chunks the server doesn't expose a chunk y AFAIK

humble lynx
river oracle
#

I dont know shit about the client

humble lynx
#

Just weird how it's not exposed even though it's right there lol

river oracle
#

So it may have a reason to be on the client

sullen marlin
#

the client is probably just dividing by 16 / shifting by 4

humble lynx
#

I'll just make my own getY then

humble tulip
#

block.getY() >> 4

slender elbow
#

my favourite java language feature is unicode escape codes

#

specifically the part where \uuuuuuuuuuuuuuuuuuuuuuuu0020 is perfectly fine

young knoll
#

The y value is what chunk section you are in

young knoll
slender elbow
#

gcc would get the hardest stroke if it ever encountered that

sullen marlin
#

that's because strings arent null terminated in java

slender elbow
#

not talking about strings

#
class Fo\u0000o {}

is perfectly legal

#

it doesn't form part of the identifier, it's straight up ignored

nova notch
#

wtf is that

wide lodge
#

Can someone help me with deluxetags

sullen marlin
#

?as

#

?ask

undone axleBOT
#

If you have a question, please just ask it. Don't look for staff or topic experts. Don't ask to ask or ask if people are awake or available. Just ask the question to the channel straight out, and wait patiently for a reply. Make sure you use the right channel regarding the topic of your question. Create a thread in case the channel is already in use!

remote swallow
#

adult swim command?!!?!??!?!

sullen marlin
#

weirdest tv channel name ever

remote swallow
#

literally

slender elbow
#

same case with '\'' vs '\u0027'

hot reef
#

hallo, so I ran the buildtools and got a compiled craftBukkit jar, where do i put it to make maven cooperate (https://imgur.com/uUYs1zZ ) (right now the craftbukkit jar is in my src folder)

rough ibex
slender elbow
#

why'd you say that

wraith delta
#

Q: Can you make BlockDisplay entities client side?

slender elbow
#

entity.setVisibleByDefault(false)
player.showEntity(plugin, entity)

wraith delta
#

I didnt realize a Boolean was server sided, checking if the animation was active interfered

slender elbow
#

uh not entirely sure what you mean by that

#

but, sure?

wraith delta
# slender elbow but, sure?

So instead of having the entity just exist, we want it to spawn invisible but then use showEntity for all players online?

#

because i have a model placed that animates but i need it to only animate on some screens

young knoll
#

Only use showEntity for the players you want to see it

wraith delta
#

when someone clicks it i add those entities to a list and foreach move them

young knoll
#

You’d need an entity per player then

#

Or use packets

slender elbow
#

display entities are absurdly cheap, like, absurdly cheap

#

you can just have one per player

wraith delta
#

alright. maybe. but just a note, the code spawns them using a command, and the model is in many locations, right now a player can click it and it will add all those passenger entities to a list animate and sets a boolean that its active so no other players can click it till its done animating. what i want to change it to is that multiple players can animate it at the same time

slender elbow
#

if you're gonna have one entity per player then yeah, each animation would exist for each separate entity

wraith delta
#

How would you make a arraylist for each player then? the model is a door and its at multiple locations summoned with a command so that its permanently there until someone clicks the stored location, it then adds the passenger entities to array so that foreach can set their new transform

#

I dont know how you say its possible to use showEntity, since it needs to add the clicked ones to array, the entities are not created by code

sullen marlin
dawn flower
#

can i make a player have a temporary item in a specific slot? all ways i tried result in a wipe if a sudden crash happens

#

after a specific time the original item should be back

knotty nebula
#

hello, can someone help me, i managed to spawn an armor stand packet with metadata but i cant find a way to set item equipment to the armor_stand

river oracle
# dawn flower can i make a player have a temporary item in a specific slot? all ways i tried r...

not really. There will always be a chance under some specific set of conditions that an item will be destroyed. There are a couple things you can do though.

  • If this replacement should take a long period of time to activate you can do Asynchronously save to a file/db with time based capture to reduce DB calls. This data can be restored on login if the DB has an entry on startup.
  • If its just a brief moment and will disappear after a few seconds. I'd actually recommend printing out the item replaced to console as some form of restore-able string that admins can use to restore given something goes wrong.

Realistically this is a pretty niche concern. The chance of a crash during a brief period replacement is slim to none. Weigh your options based on time factor

dawn flower
#

i'm prob gonna do the second one

river oracle
#

if this is a public plugin I reccomend adding a setting to turn off this logging or an option to log it to a separate file. Server owners get annoying about logging for some reason

dawn flower
#

it's a private plugin

flint coyote
flint coyote
#

I would probably take the extra mile to save it to a file and check it on login (if you are experienced with that)

#

especially if crashes happen frequently for you

#

usually they should not

river oracle
# flint coyote especially if crashes happen frequently for you

if crashes happen frequently... maybe you should fix that kekw. Imho if its a very short period the only issue with saving to a file is the consideration that its worth the computation needed for IO. But yeah otherwise its generally a good idea to throw it in a file

#

like the item is in their for what 1 or 2 seconds. Is it worth the async IO to disk 🤷‍♂️ I think that's the only real consideration about that

flint coyote
#

yeah it's really a thing of duration and also frequency

river oracle
#

okay wait I just thought of something extremely fucking stupid

#

Save the item replaced into the items PDC

dawn flower
flint coyote
river oracle
#

for example I have

PlayersSpecialItem, its replaced by YourPluginsCoolItem, but before you put YourPluginsCoolItem into PlayersSpecialItem's slot simply serialize PlayersSpecialItem into YourPluginsCoolItem so it can easily be restored. It is hacky, but technically the easiest solution here

#

It Works™️

flint coyote
#

while I agree it is hacky, I do like the idea

river oracle
#

I ascended with that idea. I joke about serializing items into items so much I realized it may actually be an okay solution here

flint coyote
#

I mean in that case it's actually the perfect solution. Even if the crash causes the item to no longer be in the inventory - the data gets lost with it

#

So you really only save when you have to

fossil flax
#

someone know why when i start a 1.8 paper server in java 17 the console is not compact and create empty lines in it?

upper hazel
#

I have a building made of armor stands and if they are planned to be turned into a corner, will this “machine” turn smoothly like a real car?

quiet ice
#

Paper won't support these versions (neither do we tho)

drowsy helm
#

but theres a lot of maths you will ahve to do

grim hound
#

gay

tardy delta
#

Pride month moment

shadow night
#

Isn't pride month kinda like drunk month, because when you are drunk you do not walk straight

charred blaze
#

can i somehow rotate itemdisplay around the axis that is not on the center of itemdisplay?

spice burrow
#

why do i feel like there was a pride month like 3 months ago

shadow night
spice burrow
#

or theres multiple pride months 🤔

shadow night
#

rad confirmes

blazing ocean
blazing ocean
shadow night
drowsy helm
#

Where is the code that actually executes BlockDamageEvent (or any event for that matter) in CraftBukkit/Bukkit?

#

like the actual server logic itself

charred blaze
#

how do i rotate entity around some axis?

shadow night
#

if that's what you mean

sullen marlin
drowsy helm
#

yeah found it now in the nms classes

#

how tf do you do this md so many classes to go through lmao

#

PacketPlayInBlockDig.EnumPlayerDigType only has start, stop and destroy that sorta sucks, no way of actually getting block damage progress without listening to the animation or some hacky way

#

guess tahts just a minecraftl imitation atp

brazen badge
#

why it can't find Material?

drowsy helm
#

pull from buildtools and make sure your IDE is up to date

#

a lot of people have been having the same issue

remote swallow
#

Update ij

charred blaze
#

how many meters is single skin pixel?

shadow night
#

what?

umbral ridge
#

meters?

#

its said that 1 block is 1 meter, usually

#

So if you compare the total height of a character.. do some maths.. voila!

drowsy helm
#

skins pixels arent exactly the same scale as blocks so not as simple as it sounds

umbral ridge
#

that's why i said do some maths

#

🤓

sacred mountain
#

does anyone know where i can find developer jobs for servers? I have a part time job already but it'd be nice to make some money on the side

remote swallow
#

?services

undone axleBOT
drowsy helm
#

?Services

#

the pay for 90% of minecraft servers is shit

#

unless you're doing it fulltime for a big network

remote swallow
drowsy helm
shadow night
sacred mountain
sacred mountain
drowsy helm
#

you're much better off going non minecraft related if you want something decent

sacred mountain
#

fair enough but you have to understand i'm more doing this because i enjoy the game in general, and I have more experience doing minecraft related stuff than anywhere else

#

I could put up a few databases and manage some data/analyse etc but

#

it wouldn't be very enjoyable work

drowsy helm
#

ah makes sense

quaint mantle
#

how can i create a wanted system on my plugin?

#

like

drowsy helm
#

like gta wanted system?

quaint mantle
#

offer a reward for a person who is wanted

#

But iron golems chase you around

drowsy helm
#

bounty

#

uh you can just use a hashmap lol

#

thats a question that doesnt have a simple answer, depedns on how you want to implement it

quaint mantle
#

You could use vault api for the reward part

quaint mantle
#

?learnjava

undone axleBOT
#

For Beginners:

Codecademy - Learn Java: Interactive Java programming course from basics to more advanced concepts. Perfect for absolute beginners.
https://www.codecademy.com/learn/learn-java
JetBrains Academy - Java Developer Track: Learn by doing with projects and challenges. It covers Java fundamentals to advanced topics.
https://www.jetbrains.com/academy/
Udemy - Java Programming Masterclass for Software Developers: Updated courses that cover Java 8 to Java 17 features. Suitable for those who prefer structured learning.
https://www.udemy.com/course/java-the-complete-java-developer-course/

For Intermediate to Advanced Learners:

Oracle Java Tutorials: The official guides by Oracle for Java programming—great for understanding the depth of Java.
https://docs.oracle.com/javase/tutorial/
Baeldung - Learn Java and Spring: Focus on Spring Framework and modern Java technologies. Best for intermediate learners aiming to expand their knowledge.
https://www.baeldung.com/

Practice and Hands-on Learning:

Exercism - Java Track: Solve exercises and get feedback from mentors. Great for practicing coding skills.
https://exercism.io/tracks/java
LeetCode: Practice your coding skills and prepare for technical interviews with Java.
https://leetcode.com/

Free Resources and Documentation:

Java Programming and Documentation: A comprehensive collection of Java programming guides, tutorials, and API documentation.
https://docs.oracle.com/en/java/

Community and Support:

Stack Overflow: A vast community of developers. Great for getting help with specific problems or understanding concepts.
https://stackoverflow.com/questions/tagged/java
r/learnjava on Reddit: Join the community of Java learners and get advice, share resources, and discuss projects.
https://www.reddit.com/r/learnjava/

Remember: Learning to program takes practice and patience. Don't hesitate to experiment with code and participate in community discussions. Happy coding! 🎉

quaint mantle
quaint mantle
quaint mantle
#

Hashmaps are the basics

#

ok, but

#

the function needs to be in a for loop right?

#

i mean

#

the wanted system

#

Depends on what the wanted system is for

#

recollect all of the players online, and picks one

#

So a bounty system?

#

and for a certain time a reward will be offered for killing him, if he is not killed within a certain time he will change person

quaint mantle
#

Ah

inner mulch
blazing ocean
#

is there no Collection#random in java smh

quaint mantle
#

"for"?

peak depot
blazing ocean
#

raydan don't you fucking dare

shadow night
#

Not like generating a random number is super hard

#

ThreadLocalRandom#current then Random#nextInt or whatever

blazing ocean
peak depot
#

if you need a random string just create uuid substr replace - with ""

shadow night
quaint mantle
#

can i make the system in the onEnable method on a for loop?

#

like that

chrome beacon
#

why convert to any array

glad prawn
#

collection.size() exists

quaint mantle
sacred mountain
#

ahhaha the one random plugin i made for a server a long time ago has 175 downloads for some reason

#

i dont even want to think what the code looks like

sacred mountain
#

wait this was actually lie

#

like

#

a decently laid out plugin

#

i definitely had too much time on my hands lmfao

shadow night
#

Mine has 37 downloads and a review from CMarco 💀

sacred mountain
#

i think i forgot to reply to this guy

eternal oxide
#

reviews are not the place for support

shadow night
sacred mountain
#

oh no shot i fucking added snake to the jar file

#

it works as a standalone snake program

#

theres no way

#

😭

eternal oxide
#

its early. finger still asleep 🙂

shadow night
shadow night
eternal oxide
#

it was a late night

remote swallow
#

its 10 to 12 on a sunday

#

its still early

sacred mountain
#

yeah

#

11:50 here

eternal oxide
#

time to start preparing the pork for a roast

sacred mountain
#

ooo

#

whatcha planning on the side

eternal oxide
#

everythign as always. Roast spuds, brussels, cauli, broccoli and parsnips

sacred mountain
#

and what are your opinions on yorkshire puddings

eternal oxide
#

Yorkies are nice, just annoyign to make

sacred mountain
#

fair enough

eternal oxide
#

I like my dinner piping hot but yorkies take an extra 15 mins at a higher heat after the roast is done

sacred mountain
#

fair fair

alpine urchin
#

years for it to cool down

#

to eat

eternal oxide
#

nah I like food hot. I can;t stand to wait for a steak to rest.

wet breach
#

we invented fridges for a reason

young knoll
#

To employ goblins

#

They turn the light on and off

eternal oxide
#

My goblin escaped last year

remote swallow
#

is there any better way to save all resources in a resouces/folder than looping the jar file entries

eternal oxide
#

no

remote swallow
#

fun

young knoll
#

Ai generated refrigerators?

short drift
#

4th day of trying to get minecraft:clock clock.json time predicates correctly configured.

#

All good ideas, but none of them worked.

#

There was this one guy who made a digital clock and he tested and adjusted his times by hand because he either couldn't figure out any logic behind the time predicate.

#

So, I tried to adjust my clock to also use 636 textures.

#

And tried his time predicate settings.

#

Well, it did not work.

#

In this colum you can see the differences between his times.

#

They are completely random!

#

There's no logic to it!

#

Some of the numbers are abosolutely insane.

#

Like these for example.

#

5 zeroes? Really? Why?!

#

Please - if you know anything about minecraft:clock, help me. I'm going insane.

#

(2 x iteration - 1) / (2 x numberOfModels)
Gives the correct time predicates for the 64 vanilla clock models.

#

But guess if that works when you increase the amount of models? No, it does not work.

#

Neither does linearly dividing the normalized values evenly.

#

There's no logic to it. Why didn't they just 6000 ticks -> show this time on the clock.

#

That would have worked so well.

#

And, sure, normalize the values. Why not?! Someone might change the length of the day cycle or something and you'd want to accomodate them.

#

But this is not just regular normalization of the values. This is insanity!

#

Oh - by the way - when you do subtract the current value from the previous value using the defaulf time predicates:

#

It's nice and uniform.

#

But does it scale up... ? No it doesn't!

#

😠

#

I spent several hours testing all the clock phases by hand and got around 13 done.

#

There's no logic to the numbers I got from that.

#

If there is, I'm not seeing it.

wet breach
#

what predicate do you have currently?

#

I can show you one that checks the time every 5 ticks

short drift
#

I have tried everything.

#

Why 5 ticks, though?

wet breach
#

it doesn't have to be 5 ticks

#

I could make it 1000

short drift
#

Here's how I've been trying to calculate it.

wet breach
#
 {
"condition": "minecraft:time_check",
"value": 0,
"period": 1000
}

translates to

if (time % period == value) {
    return True;
}
short drift
#

time_check is related to to time?

wet breach
#

yes

short drift
#

Ok, so ... you're saying you want to divide the 24 hours in Minecraft time into 1000 time slices.

#

I would like to see the values for 288 time predicates.

#

So every 5 minutes.

wet breach
#

no, just that you are probably going about this wrong

short drift
#

Well, I definitely am. Please explain how it's supposed to work.

#

However, the code above in the fiddle does return the vanilla time predicates.

#

🤷‍♂️

#

But I haven't been able to get it working when scaling up.

wet breach
#

well the time tag is the just the decimal value of the time that is less than one

#

not entirely sure why they did it that way

short drift
#

Yes, they've normalized the values between 0 and 1. Probably thinking that if the length of the day changes the clock and everything will keep working.

wet breach
#

here is another predicate similar to what I showed that has a range on it

#
{
  "condition": "minecraft:time_check",
  "value": {
    "min": 12000,
    "max": 22500
  },
  "period": 24000
}
short drift
#

But just dividing 1 / number of clock phases does not work.

#

The time does not seem to be linearly divided among the 24000 ticks.

wet breach
#

no its not

short drift
#

Yes. So your suggestion is basically that I learn the new Minecraft tag system etc and use that to output the time predicates with time_check.

wet breach
#

The clock is weird in MC

#

each frame of a clock lasts for 375ticks

short drift
#

No matter what the time predicate does?

wet breach
#

time check is just a condition

short drift
#

Oh. Well I did not know that or account for it.

#

If there's a default duration it might mix things up.

wet breach
#

there is only 230 visually distinct frames

short drift
#

375 ticks is essentially 18,75 seconds.

wet breach
#

indeed that is correct

short drift
#

What do you mean by that?

#

230 visually distinct frames?

wet breach
#

here is the math in how the clock is handled in the game

#
# Assume RGBA values are handled as 0.0 to 1.0 float values
def setup_clock_sprite (item: Image, dial: Image, dial_angle: float, output: Image):
    rx = sin(-dial_angle)
    ry = cos(-dial_angle)
    for y in range(item.height):
        for x in range(item.width):
            pix = item.get_pixel(x, y)
            if pix.r == pix.b and pix.g == 0 and pix.b > 0:
                u: float = -(x / (item.width  - 1) - 0.5)
                v: float =   y / (item.height - 1) - 0.5
                dial_pix = dial.get_pixel(
                    int(((u * ry + v * rx + 0.5) * dial.width)) % dial.width,
                    int(((v * ry - u * rx + 0.5) * dial.height)) % dial.height
                )
                dial_pix.rgb *= pix.r
                pix = dial_pix
            output.set_pixel(x, y, pix)
#

should give you a hint why the 0-1 values

short drift
#

That is very helpful.

blazing ocean
#

why is this python

wet breach
#

because I pulled it from the wiki as I don't have my IDE open to give out snippets currently

blazing ocean
#

ah

short drift
#

Right. So they're just ... wait ...

#

Isn't this the old pre 1.9 clock?

#

I think it used to be controlled like that.

#

With rotations and everything. But they changed that.

#

So that might not actually be how it currently works.

wet breach
#

the only difference is that one is dynamically generated and the other is not

#

the math should be relatively the same

short drift
#

Really. Hm. Well having to deal with sin cos and all that that would definitely explain the weird setup.

umbral ridge
short drift
#

@wet breachWell, from that I think the formulate should be just about normalization i - / (number of textures - 1)

#

But that doesn't work either.

timid notch
#

Looking for a builder for a long-term project. Minecraft RPG economy survival server with rogue-like dungeons bosses. Must have a builder portfolio, a % of profits is promised... Dm me for more information

blazing ocean
undone axleBOT
timid notch
eternal oxide
#

You want them to have a portfolio but you are "promising" percent of profits? I sure hope you are going to pay for their work too

alpine urchin
#

Lol

#

imagine long-term, with no pay

eternal oxide
#

its like offering "Exposure"

short drift
#

Isn't work its own reward?

blazing ocean
alpine urchin
#

some people dont even have the opportunity to work!

#

and you do

#

so it is its own reward!

wet breach
#

be hard pressed to find anyone who has a portfolio to actually agree to be paid with percentages of profits from something that has yet to turn a profit. I wonder if this person thinks they are going to be making money hands over fist to even make such a contract o.O

eternal oxide
#

lol

#

Yes um boss. I'll go back to the cotton fields

alpine urchin
#

XDDD

#

the image is intimidating

short drift
#

So, anyway. Is there any way to get those numbers from Java code instead of using those time_checks @wet breach ?

wet breach
#

probably

short drift
#

I really don't want to learn yet another new system just for this.

wet breach
#

just decompile MC jar

#

buildtools does it for you

#

mostly anyways

alpine urchin
#

what are u making

short drift
#

Trying set time predicates for clock.json.

#

For 288 - or any number of textures, really.

#

I've been trying to do it for 4 days.

#

Not much luck.

#

The only thing that works is setting them by hand.

#

Testing them meticulously value by value.

alpine urchin
#

😂

short drift
#

It's not funny.

#

By hand it's a 2 week job.

alpine urchin
#

the way you expressed that was so exquisite but came served with some irony.

#

meticulously i like that word

#

@short drift hire 10 people to do it manually

#

and you’ll be done in no time

eternal oxide
#

perfect job for fiver

drowsy helm
#

You’re a programmer, write a script to automate the process of hiring people to do it for you

#

Duh

tardy delta
#

you're a programmer, spent five hours to automate a task that takes someone five minutes

pseudo hazel
#

you;re a programmer, write a script to do it for you

river oracle
#

You’re a programmer, write a script to automate the process of hiring people to do it for you

worthy yarrow
#

Or just don’t be a programmer

short drift
#

Very useful advice. Thank you everyone for your contributions.

worthy yarrow
#

Yup happens

umbral ridge
#

being a programmer is probably the best life decision you'll ever make

short drift
#

I'm a game developer, though.

orchid gazelle
#

you just automate your job lmao

umbral ridge
#

I wouldnt work as a programmer in an actual job.. I still count it as my hobby

shadow night
umbral ridge
#

I enjoy programming

#

I would hate to do it everyday constantly like im on drugs

shadow night
orchid gazelle
shadow night
#

Besides when there is spigot smp

umbral ridge
#

xd

river oracle
#

F

#

I wanted to take him up on his offer

remote swallow
#

coll didnt get to claim his free 97k in crypto

worthy yarrow
knotty nebula
#

sir, can i initialize packetlistener in a separated class or should i put it in onEnable method?

tender shard
#

@river oracle are all modules done now?

knotty nebula
#

i was expecting some help tho

remote swallow
#

you can most likely initalize them anywhere

#

try it and see

umbral ridge
#

?tryandsee

undone axleBOT
quaint mantle
#
package me.antonitoo.corespvp;

import org.bukkit.Bukkit;
import org.bukkit.Sound;
import org.bukkit.entity.Player;

import java.util.HashMap;
import java.util.List;
import java.util.Random;
import java.util.UUID;

public class BuscaYCaptura {

    Col col = new Col();

    private Player jugBYC;

    public HashMap<UUID, Integer> fijado = new HashMap<>();

    public Player getJugBYC() {
        return jugBYC;
    }

    public void iniciarWanted() {
        List<Player> jugadores = (List<Player>) Bukkit.getOnlinePlayers();

        if (jugadores.size() < 2) {
            Bukkit.getConsoleSender().sendMessage(col.col("&e&lSKYPVP &r&8- &aLa busca y captura no ha sido iniciada porque hay menos de 2 jugadores."));
            return;
        }

        Random random = new Random();
        jugBYC = jugadores.get(random.nextInt(jugadores.size()));
        fijado.put(jugBYC.getUniqueId(), 1);

        for (Player todos : Bukkit.getOnlinePlayers()) {
            todos.sendMessage(col.col("&7Se busca la cabeza de &e" + jugBYC.getName() + "&7. Se está pagando &e100$ &7por él."));
            todos.playSound(todos.getLocation(), Sound.ENDERDRAGON_GROWL, 1, 1);
        }

        jugBYC.sendMessage(col.col("&c¡Cuidado! &7Estás en busca y captura, la gente obtendrá dinero por matarte, así que ten cuidado."));
    }

    public void quitarHash(Player p) {
        fijado.remove(p.getUniqueId());
    }
}
#

this class is good?

#

i tryed it and it doesnt detect the hashmap