#help-development

1 messages ยท Page 810 of 1

wet breach
#

like my mouse has a specific button that is actually a double click ๐Ÿ™‚

#

real handy in shooting games when you have single shot for a double tap ๐Ÿ˜„

silent topaz
#

Hey, I'm writing a NMS wrapper for 1.20 and stumboled upon an issue. The chunk data packet has changed in the latest versions of spigot.

I'm stuck on how this new packet works and how would I be able to implement it into my system.

1.16

@Getter
public class NmsPlayOutMapChunk1_16 extends NmsPlayOutMapChunk {

    private final PacketPlayOutMapChunk packet;

    public NmsPlayOutMapChunk1_16(PacketPlayOutMapChunk packet) {
        this.packet = packet;
    }

    @Override
    public int getX() {
        return getIntField("a", packet);
    }

    @Override
    public int getZ() {
        return getIntField("b", packet);
    }

    @Override
    public int getMask() {
        return getIntField("c", packet);
    }

    @Override
    public boolean isFull() {
        return getBooleanField("h", packet);
    }

}

1.20

@Getter
public class NmsPlayOutMapChunk1_20 extends NmsPlayOutMapChunk {

    private final ClientboundLevelChunkWithLightPacket packet;

    public NmsPlayOutMapChunk1_20(ClientboundLevelChunkWithLightPacket packet) {
        this.packet = packet;
    }

    @Override
    public int getX() {
        return getIntField("a", packet);
    }

    @Override
    public int getZ() {
        return getIntField("b", packet);
    }

    @Override
    public int getMask() {
        return getIntField("c", packet);
    }

    @Override
    public boolean isFull() {
        return getBooleanField("h", packet);
    }

}

The x and z coordinate fields are still the same, they still represent the x and z values. However the mask and if it's full checking has completely changed, I've looked into it and there's stuff like BitSets, etc. May I get some assistance?

rotund ravine
#

Totally:

Introducing an item that toggles between flying and gliding in Minecraft can significantly enhance gameplay by offering players a versatile tool that adds both practicality and strategic depth to their adventures. This innovative item could take the form of a magical feather, a soaring potion, or a specialized elytra attachment.

Resource Gathering Efficiency:
The primary advantage of this item lies in its ability to empower players during resource gathering. By toggling between flight and gliding modes, users can easily navigate diverse terrains and reach elevated or distant resource-rich areas with greater speed and efficiency. This not only streamlines the resource collection process but also encourages exploration of the vast Minecraft world.

Strategic Gameplay Integration:
Incorporating the item into gameplay becomes a strategic necessity. Players must make conscious decisions about when to activate flight or glide mode, adding a layer of skill and foresight to their adventures. This enhances the overall gaming experience, requiring users to consider factors such as terrain, proximity to enemies, and the availability of resources. The item becomes a crucial part of their toolkit, influencing decision-making and introducing an element of strategy to the game.

wet breach
#

well it requires a ClientboundLevelChunkWithLightPacket

rotund ravine
#

Client Benefits:
When presenting this idea to clients, emphasize the following benefits:

  1. Enhanced Exploration: The item encourages players to explore the Minecraft world more thoroughly, uncovering hidden treasures and discovering new landscapes.

  2. Increased Engagement: The need to toggle between flight and gliding adds a dynamic element to gameplay, keeping players engaged and invested in their Minecraft experience.

  3. Strategic Decision-Making: The item promotes strategic thinking, as players must decide when and where to use it for optimal results. This adds depth to the gameplay and keeps users actively involved.

  4. Resource Optimization: Efficient resource gathering becomes a more streamlined process, allowing players to focus on building, crafting, and enjoying the creative aspects of Minecraft.

  5. Unique Gameplay Element: The introduction of a flight and glide toggle item sets the Minecraft experience apart, providing a unique selling point that can attract and retain a diverse player base.

In summary, incorporating an item that toggles between flight and gliding in Minecraft not only enhances resource gathering efficiency but also introduces a strategic element to gameplay. This addition enriches the overall gaming experience and can serve as a unique and compelling feature to attract and retain players.

silent topaz
#

the fields

wet breach
#

this is the difference

silent topaz
#

you see the difference? before you could easily get certain fields like the one to check if a chunk is full and to get the mask

#

but now I don't know how to do it

ashen quest
rotund ravine
#

What would they like then

#

they can't have both without mos

#

mods then

#

or commands

wet breach
# silent topaz

it just wants the chun, lightlevel and x,z that is relative to the chunk

#

I think

#

can't quite say for sure what the bitsets refer to

ashen quest
#

can u sneak mid air

silent topaz
#

the context behind my code is me reading the packet being sent and now I'm wrapping it in this class which I would extract info from stuff like x, y, if its full and its mask

#

im not creating the packet, i'm reading it

rotund ravine
#

not sure when gliding

#

But def when flying to descent

ashen quest
#

i can just make em glide if they sneak mid air

#

man i love sneak

wet breach
rotund ravine
silent topaz
rotund ravine
#

that's kinda smart

wet breach
wet breach
#

well you only need to read that data right? not sure why you need the fields in the class to read a packet

#

only reason you need access to any fields would be because you are wanting to send a packet

silent topaz
#

yea

#

like the thing is I'm wrapping the chunk

ashen quest
silent topaz
#

and the data is private

wet breach
silent topaz
#

how else am I supposed to get the data inside of the packet

wet breach
#

because you read it

silent topaz
#

huh

wet breach
#

packets are independent of languages

silent topaz
#

do you understand a bit more on what I'm doing based on the screenshots? its hard to explain in english

ashen quest
#

how would i detect a sneak while a player is falling

young knoll
#

ToggleSneakEvent?

rotund ravine
ashen quest
wet breach
ashen quest
#

butt i also want to detect player fall

ashen quest
silent topaz
wet breach
ashen quest
#

or do i run a schedular that checks if y decreased next tick

ashen quest
wet breach
#

its easy to make a custom event lol

ashen quest
#

came with the directory ๐Ÿ

wet breach
#

My example extends from the generic Event, however you can also extend from other events as well

wet breach
#

and makes sense now

silent topaz
wet breach
#

only if you need to send the packet o.O

#

but if you just want the data the packet doesn't matter

#

just the data

silent topaz
#

yeah how do I get the data man ๐Ÿ˜ญ

wet breach
#

you read it from a bytestream

silent topaz
#

oh?

wet breach
#

and then using the format that its suppose to be, you just extra the bits you need/want

#

or everything

#

protocolib does this for you though hence why you needing to have some kind of class. However I don't use protocolib to intercept as I just hook into the network manager directly

#

so....not entirely sure if protocolib lets you just have the raw packet

silent topaz
#

but Im using reflection to read out fields in older versions

#

why cant i do the same in the latest versions

#

well I can, I just don't know where to get the fields from

junior geyser
#

How does spigot release same day as Minecraft? Do you work of of snapshots?

rotund ravine
#

No he just looks at it

#

MD_5 works tirelessly on it.

#

On release.

#

To release as fast a possible

junior geyser
#

So all updating work is done on the day of release?

#

How is that possible?

rotund ravine
#

Sometimes

#

Skill

junior geyser
#

So no work is done of of the snapshots?

#

Or release canidates?

rotund ravine
#

I think sometimes?

river oracle
#

It is it's just not public jantruck

rotund ravine
river oracle
#

I'd assume it's to do with api changes that would happen a lot

#

In snapshots

junior geyser
river oracle
#

Cuz things change

rotund ravine
#

Oh yeahyeah, never said he didn't do snapshots

river oracle
rotund ravine
river oracle
#

It might be rn

junior geyser
rotund ravine
junior geyser
#

How does via version and some other plugins update early then?

rotund ravine
#

Protocol updates

river oracle
#

Protocol updates are fully documented

#

Outside of spigot

junior geyser
#

And probably wont cause its kinda obsuure

rotund ravine
#

Just use mojmap and most of the time it's similar

junior geyser
junior geyser
#

that explains it

whole lintel
#

How do I intercept webserver messages

#

between me and a site

chrome beacon
#

What exactly are you trying to do

whole lintel
#

do you play chess

#

basically, there's a chess site that i want to add premoves to

rotund ravine
#

We don't help cheating

chrome beacon
#

I assume that would be against their TOS

whole lintel
#

you can google what premoving is, it's quite simple

#

and it's not cheating

#

why tf would it be cheating ๐Ÿ’€

wet breach
#

however keep in mind that bukkit has been around for a long time and so has spigot, so the processes for updating has been created and improved over that time span

#

its not has hard as you might think it is, but there is still a requirement of some manual updating to fix some stuff ๐Ÿ™‚

whole lintel
#

So

#

any idea how to?

chrome beacon
#

We're not going to help with that

rotund ravine
#

You won't get help here.

chrome beacon
#

You're on your own

whole lintel
#

why though

#

it isn't cheating

rotund ravine
#

It's almost cheating

whole lintel
#

what.

junior geyser
whole lintel
#

do you even play chess mate

#

it's not cheating

chrome beacon
#

Just play on a site that allows premoving?

whole lintel
#

well that isn't useful at all

#

i've made it clear my intentions are not to cheat, what else do you want

#

cheating is using engines, not premoving ๐Ÿ˜ญ

rotund ravine
#

Premoves can turn to "optimal moves" quite quickly.

whole lintel
#

optimal?

#

You mean using stockfish..etc?

rotund ravine
#

Like vibrating anal plug kinda deal

whole lintel
#

play in sites that use premoves

rotund ravine
#

Yeah.

#

Get the page to update their software to add premoves then

whole lintel
#

how am i making cheats though

#

you're being absurd

chrome beacon
whole lintel
#

the fuck

junior geyser
#

What does this build tools flag do

whole lintel
#

I'll just answer "just don't XYZ" to anyone asking for help in coding then

rotund ravine
junior geyser
#

what are considered experimental versions?

whole lintel
rotund ravine
#

Go to the programming hangout or smth

junior geyser
whole lintel
#

asshole

wet breach
pseudo hazel
whole lintel
wet breach
#

I can't tell you exactly what md uses, just the basis in how it is done ๐Ÿ˜‰

pseudo hazel
#

in the channel description its stated that it would bave to be related to spigot/bungee

whole lintel
#

the audacity is crazy

rotund ravine
whole lintel
#

Ok bro, coding can be easily turned into making cheats

#

no shit sherlock

rotund ravine
#

True shit

#

Luckily most of spigot / bungee dev here can't since players need to actually run it.'

whole lintel
#

if you're not gonna help, at least shut up so maybe others can

hazy parrot
#

You are not going to get help with something that can be used for breaking tos, idk what isn't clear?

whole lintel
#

have you ever played chess mate

#

this isn't breaking tos at all

chrome beacon
#

TOS has nothing to do with actually playing the game

#

It can contain anything related to usage of the site

whole lintel
#

oh my god just google the term

rotund ravine
#

@ivory sleet can u just tell him we can't do whatever he is asking in regards to intercepting and altering a website

chrome beacon
#

I'm well aware what it means

hazy parrot
whole lintel
#

dude

chrome beacon
#

and probably smth about modifying the website

whole lintel
#

the only way to cheat in chess is to use engines

#

like stockfish

#

or get help from other people

chrome beacon
#

You can break TOS in more ways than cheating

whole lintel
#

Not at all

chrome beacon
#

._.

#

Do you even know what TOS is

whole lintel
#

unless you're cursing at people after losing or something

rotund ravine
#

@young knoll help us daddy we don't know chess

whole lintel
#

which is irrelevant in this case

hazy parrot
#

Idk why it's so hard to accept people here won't help u

rotund ravine
#

Why are they dead.

whole lintel
#

if you don't wanna help it's fine

rotund ravine
#

?ban @whole lintel bad totally

#

ahaha

whole lintel
#

but you don't need to be a total asshole about it

rotund ravine
#

Please head to a server that isn't about spigot development and ask tbh.

whole lintel
#

especially when you know nothing about the game

hazy parrot
#

I didn't notice anyone being asshole here

whole lintel
#

it's 100% not cheating

whole lintel
whole lintel
#

that's complete bullshit my man ๐Ÿ˜ญ

#

Anything can be turned to cheats when it involves computers

#

it doesn't have to be coding related

#

By that logic, we just stop coding or using computers at all

rotund ravine
#

We're not saying ur not trying to cheat or to cheat, just that we won't help you since it so easily can turned to a cheat.

whole lintel
#

because we suspect "cheating"

hasty prawn
#

What are you trying to do? Add premove mechanics onto an online Chess website that doesn't support them?

rotund ravine
#

Atleast i won't help you.

whole lintel
#

it's more like doesn't have

hasty prawn
#

Well that's what I meant.

whole lintel
#

you worded it in a way that implies I'm cheating

#

good god, whatever

eternal oxide
#

If it's not on the site it's not supported, stop arguing semantics

hasty prawn
#

Well technically it would be. It gives you a time advantage over other players on the site. If you want premoves, go to a chess site that has them.

whole lintel
#

it doesn't give you

#

any advantage

#

you can play moves in under 100 milliseconds

#

Oh dang! an advantage of a few 1/1000ths of a second

rotund ravine
#

ikr too much

whole lintel
#

i'm totally getting banned for this one!

young knoll
#

What's going on

whole lintel
#
  • you risk doing a bad move that loses you the game
#

so it's bad to premove if you suck

hasty prawn
#

FeelsAmazingMan Coll

rotund ravine
# young knoll What's going on

He wants to add smth by intercepting a chess website and adding premoves to it. I just said i wouldn't help with it since it could easily be turned into a cheat.

whole lintel
#

Read what I said

#

I'm not gonna be repeating what I've said like 4 times now

molten hearth
#

bro wants to cheat in chess ๐Ÿ˜ญ ๐Ÿ™

hasty prawn
#

What site is it?

whole lintel
#

It's not even launched yet

#

but the owner said he won't be implementing premoves anytime soon

molten hearth
#

lazy ass owner ong

#

check how the website sends requests, you could make a queue of premade moves and instantly send them when its your turn

#

and if the queue is empty do nothing ig

whole lintel
#

I know but

#

all I want to know

#

is how to intercept requests

#

the logic for everything else isn't hard

molten hearth
#

do you want to change them or just see them

whole lintel
#

see them and send requests myself

molten hearth
#

devtools -> networking

#

(probably XHR)

#

unless it uses WSS

whole lintel
#

that's only for seeing requests that i receive

wet breach
whole lintel
#

not for what I send

molten hearth
#

any request your browser does with the server is logged

whole lintel
rotund ravine
#

HTTPS goes wroooom

whole lintel
#

There's a reason every top player uses them

wet breach
#

that is not true

whole lintel
whole lintel
molten hearth
#

considering its chess its probably WS communication so you should be able to view the WS data

wet breach
#

I routinely play against GM's and none of them do premoving

molten hearth
#

its a bit ugly to look at tho

wet breach
#

you might find the odd one out that might

#

but the majority absolutely don't and the reason for this is because its is actually prohibited in tournaments and ranked matches

inner mulch
#

Is there an event that listens for when the meta of an item is being changed?

whole lintel
#

but if you have a forced mate for example

#

it's just nicer to premove

wet breach
#

yes I already said if you have like one piece you can really just move regardless what else happens sure

#

or if you are going to check mate in so many moves

whole lintel
#

What's your elo btw?

wet breach
#

but when playing with GM's or higher players if they know they will lose in like 5 moves regardless of what they do they typically resign

whole lintel
#

Yeah

#

depends though

#

on the timeframe

#

if it's blitz probably not

#

or bullet

wet breach
#

I have never seen a GM that would intentionally drag out a loss

whole lintel
#

there aren't "losses" in bullet games

#

you can always win

wet breach
#

but again I have never played against anyone who has done this though

whole lintel
#

What's your elo?

wet breach
#

what does my elo have to do with anything?

whole lintel
#

the people you play with and how they play

#

(exactly why elo was made)

wet breach
#

elo only matters if you play ranked

#

or tournaments

whole lintel
#

that's what people play

#

most of the time

wet breach
#

Not the GM's unless they are playing against other GM's but even then they typically only play in tournaments so as to not hurt their ELO as much

#

tournaments for ranked elo that is

#

all other games are unranked usually when they play

whole lintel
#

No, they do play in ranked from what I've seen lol

wet breach
#

occasionally yes as I said

#

but only against other similar ELO's

whole lintel
#

They don't care about their elo as much in online chess

wet breach
#

which is usually other GM's

#

there is a reason for this

#

if someone with 500 elo beats a GM with 2700 or higher elo

#

and it was ranked

#

that 500 elo instantally gets boosted to like 2000 elo and that GM drops to like 1500

#

its not worth risking this

molten hearth
#

what a great ranking system lmao

inner mulch
molten hearth
#

and here i thought overwatch was bad at ranking

wet breach
#

and if they do they have a risk of losing their status

#

typically there is no way a 500 elo would be able to beat a GM unless they just got extremely lucky

#

and so the system is just designed so there is no artificially inflating another's elo status

whole lintel
#

frostalf is assuming an impossible scenario

#

how would a 500 elo beat a GM

wet breach
#

also many sites and even public places prohibit ranked matches between players if their elo ranks are too far apart

molten hearth
#

it doesnt matter how just because you lose to a low rank doesnt mean you should get your rank thanos snapped

pseudo hazel
#

how would they get matched

whole lintel
#

They dont

#

that's the point

wet breach
molten hearth
#

me with 1 elo inviting a gm just to cheat

wet breach
#

you can specifically request a ranked match to a specific person

molten hearth
#

๐Ÿ—ฟ

whole lintel
river oracle
#

Just don't get caught ๐Ÿ”ฅ

wet breach
#

some of them because I was lucky

whole lintel
#

what's your elo

river oracle
#

Froatalf is 233

wet breach
#

my elo is higher then 233 lmao

whole lintel
#

then what is it?

river oracle
#

Ok it's atleast 300

wet breach
#

What is your elo Domino?

whole lintel
#

1600-1700

wet breach
#

I can give you 2 elo numbers which do you want? ๐Ÿ™‚

whole lintel
#

the hundreds/thousands

molten hearth
#

yeah well sometimes monkeys make ranking systems what can i say

wet breach
whole lintel
#

but this is impossible really

#

this is about the same chance as me becoming the USA president

molten hearth
#

what if we train some guy for 25 years on chess and then finally put him in a ranked match

wet breach
#

a GM shouldn't be accepting ranked matches agaisnt someone of a low ELO, it is generally their responsibility to decline such things

#

however, since it isn't strictly against the rules

whole lintel
#

then he will get banned for cheating

#

๐Ÿคฃ

molten hearth
#

system issue

wet breach
#

there is a punishment to the GM for losing against someone with 500 ELO

molten hearth
#

personally i had a few hundred hours of gameplay in overwatch and when i began playing ranked i started shitting on like the first 3 divisions bc of that, it doesnt mean they should get nerfed into oblivion for losing to a bronze 5 ๐Ÿ’€

lost matrix
rotund ravine
#

heya smile

lost matrix
#

Oi

rotund ravine
#

Do you feel like premoves should be allowed in a place it isn't implemented?

whole lintel
#

frostalf is wrong

#

elo difference more than 400 is counted as 400

ivory sleet
#

Since when youโ€™re hikaru or magnus there are scarcely any1 who is better than u and can win equally many games against u

wet breach
ivory sleet
#

Well depends on what u define as low elo

whole lintel
#

rating change is +18.4 if a 1000 elo wins against 2700

ivory sleet
#

Cuz like hikaru takes down 2900s easily

whole lintel
#

so yeah, frostalf scenario was a little overexaggerated, at least to FIDE standards

#

in a speed match

#

(K factor of 20)

ivory sleet
#

Anyway I did read through this entire convo, not sure what exactly is cheating nonetheless if people dont wanna help then thats the end of it

whole lintel
#

Exactly my point

#

there's no need to be rude about it

ivory sleet
#

Well Iโ€™d drop it anyway

#

Yeah fairs

short pilot
#

how do you store a Location in a database? I can store the coordinates but I'm not sure how to handle the world

#

and then how do you create a new location from that

wet breach
#

I never said it was cheating

short pilot
#

Yes they are always loaded, it's like a persistent factions -type server

wet breach
#

just that it is generally prohibited in tournaments and the sorts

ivory sleet
#

Yea

elder grove
#

hey, is it possible to connect fake players through proxy directly?

rotund ravine
#

Probably? Don't think there is any plugins for it though.

upper hazel
#

what is the difference between PotionType and PotionEffectType and why PotionType can return PotionEffectType or null

#

what i shold use for effects

eternal night
#

PotionEffectType pretty much whenever possible

upper hazel
#

then for what need PotionType

pseudo hazel
#

seems like those are used for creative inventory

#

its in the description of the docs

gleaming grove
#

is there any way to teleport player using code that have passager?

#

I know that I can make custom method for teleportation that before teleporting remove passager that fix it for my plugin, but other plugin will still have problem with teleportation

rotund ravine
#

i don't think so natively

gleaming grove
#

ye, its bukkit feature

rotund ravine
#

You can remove passenger, tp them and the passeger and repassnerger

#

sad times

river oracle
#

you can always provide api for your custom teleport method or also listen to PlayerTeleportEvent

gleaming grove
#

hmm, maybe java Proxy interface will solve this, so I can listen if player.teleport() method is invoking

river oracle
#

there was a PR for this

#

not sure what its doin

kindred sentinel
#

I can't understand placeholder api... Like.. I have placeholder api and... openrp, and i want to get variable from openrp, how should i use it?

rotund ravine
#

Ask openrp what placeholders they got registered

kindred sentinel
#

I saw that there is a variable %orpdesc_name%

worldly ingot
#

e.g. whether or not they're extended, more potent, etc.

rotund ravine
worldly ingot
#

You'll find potion of the turtle master in PotionType but not in PotionEffectType because it's not a potion effect, it's a potion

kindred sentinel
rotund ravine
kindred sentinel
#

Yeah

#

I think so

#

._.

river oracle
rotund ravine
#

Placeholderapi is mostly used for placeholders in configs etc.

twin venture
#

hi , uhh i got redis working , no errors while connecting or disabling the plugin , but there is nothing being sent to the lobby server plugin moudle which is already have a listener to get the new data that been sent

rotund ravine
native bramble
#

is it way to create custom Villager.Profession?

river oracle
#

nein my sir

#

tis but an enum within the bukkit API

#

if its a Registry in NMS you might beable to unfreeze the NMS registry, but i means you can only do so much with that since its all server sided

native bramble
#

where can i find, what i can do with nms and what no?

#

i know i can create custom biome, for example

river oracle
#

you gotta figure it out yourself

native bramble
#

ohh

river oracle
#

its not API

#

its mojangs code

native bramble
#

i know this

#

i thought that it is some resource from community like about nms

#

so i can change everything that is on server side?

gleaming grove
#

another weird thing, why does CommandExecutor.execute() returns boolean but output values in never used

native bramble
carmine mica
river oracle
#

There's somethings you can't change with a plugin and would need to fork and edit the actual server itself

#

Or use asm and edit the server jar with your plugin which ends up being basically the same thing at the end of the day

oak geyser
#

does anyone know how i can get a player's creative saved hotbars?

river oracle
#

That's Client sided iirc

#

Most of creative mode inventory is ๐Ÿ˜ข

alpine urchin
#

clientbound means server sided

#

it means sent from server to client

oak geyser
glossy venture
#

anyone know why the material data seems to be disappearing?

#

im using packets to send the items but im not manually doing the encoding so that would be either a minecraft or protocollib issue, its more whether this is a known bug in 1.8 or if i fucked omething up

glass mauve
#

https://github.com/retrooper/packetevents
is this a good alternative vs protocollib for simply sending packets from server to client?
protocollib got some problems and isnt working for me rn, created an issue but no answer after 4 weeks

glossy venture
#

yeah good alternative i think

glass mauve
#

ok thanks

lost matrix
echo basalt
#

Doesn't Location hold a hard reference to a world?

#

If a world is unloaded it results in a nasty memo leak

lost matrix
#

Does it? I thought it was weak like in block

brazen tartan
#

is there an event that sees when any inventory is edited anywhere

#

in any way

lost matrix
echo basalt
#

Has it always been like this think3d

glass mauve
#

can I use java 21 for spigot mc 1.20.2?
for both developing a plugin and running a server?

echo basalt
#

Yeah it's a hard ref on 1.8 so it changed somewhere between

glass mauve
#

ty

#

oh wait but gradle still missing support right?

#

damn

glass mauve
#

this is sad

lost matrix
#

20 is max rn i think

glass mauve
#

ok ty

echo basalt
#

Changed to a weakref in 2019

lost matrix
short pilot
#

would the eggs be stored there?

echo basalt
#

So around 1.13.2 / 1.14

short pilot
#

and if we hit an egg how can we tell if it's a special egg aka one that is meant to be a "home base" and not just any dragon egg block

lost matrix
glossy venture
#

bro craftbukkit just completely ignores the data value

#

on the item stack

#

wth

native bramble
#

by this code im creating custom villager trade - https://pastebin.com/Fnh7ceme
but when i right click on villager, inventory open only in 1 second and then close

brazen tartan
lost matrix
# short pilot and if we hit an egg how can we tell if it's a special egg aka one that is meant...

Something like this

public class FactionManager {
  
  private final Map<UUID, Faction> factionMap = new HashMap<>();
  private final Map<BlockPos, Faction> factionBlockMap = new HashMap<>();
  
  public boolean isFactionBlock(BlockPos pos) {
    return getFactionFromBlock(pos) != null;
  }
  
  public Faction getFactionFromBlock(BlockPos pos) {
    return this.factionBlockMap.get(pos);
  }
  
}

*BlockPos could be a custom class with discrete values for xyz

glossy venture
brazen tartan
#

InventoryClickEvent inclused any inv edit or would i have to manually check droping items and picking them off ground?

lost matrix
brazen tartan
#

rip

glossy venture
#

dropping items and picking up items are different events yeah

brazen tartan
#

big L for me

#

thx

glossy venture
lost matrix
echo basalt
#

nope

#

It's just a Vector extension that floors the values when hashcoding iirc

#

why are discord images shit

chrome beacon
#

You just have to open them in the browser ;/

glossy venture
#

lets goo finally after like 3 days and reinventing the wheel 600 times

#

i have a clickable button

#

which does omsething

brazen tartan
#

W

#

can somebody look this over, I am getting nothing from console and it does not work

#

it is ment to check if an item enters or leaves any players inventory and remove/grant effects and stuff

lost matrix
brazen tartan
#

shhhh

lost matrix
#

Did you register the listener?

brazen tartan
#

yes

#

new InventoryHandeler(this);

glossy venture
#

did u call the constuctor

#

ok

brazen tartan
echo basalt
#

love them leaky code

lost matrix
# brazen tartan yes

Change your collections. Make the private and final.
Add debug statements after that and check how far the code runs as expected.

echo basalt
#

I wonder if bukkit entities have a soft reference to the nms entity so we prevent leaks

#

should be a smart ass decision

echo basalt
#

and make its hashcode just redirect to the entity id's hashcode think3d

worldly ingot
worldly ingot
#

and even then, what do you do instead? Throw an exception?

#

That breaks behaviour

echo basalt
#

I mean

worldly ingot
#

The reason it was sort of doable in Location is because its nullability was already undefined and it's not used internally within Location anywhere anyway

echo basalt
#

I'd rather see an exception calling me a poopy head than 30gb ram used after relogging for 5 minutes

worldly ingot
#

Sure, you might, but CraftBukkit doesn't :p We don't just randomly change behaviour like that for no real benefit

echo basalt
glossy venture
worldly ingot
#

And they already are broken

#

Invocations are no-ops

glossy venture
#

not all

#

but yeha

brazen tartan
#

found it and im dumb af i never add the player to the list, only their inv to the hashmap

#

ths 7smile7

torn shuttle
#

AND your code leaks

#

best of both words right here

native bramble
#

i am creating custom villager with this code - https://pastebin.com/Be9ps8d3
but when i right click on him inventory close maybe after 0.5 seconds

#

but i can see in this time custom trade

#

version is 1.20.2

torn shuttle
#

@sterile axle bet you wish you could write single line code this good

sterile axle
#

Holy

#

Youโ€™re right, I do

torn shuttle
#

oops I meant to ping illusion but sure

#

@echo basalt

native bramble
#

no

#

no errors

sterile axle
#

Well thatโ€™s rude magma but sure

torn shuttle
#

what's the point on flexing on a fellow donor, flexing is best done on the plebs

lost matrix
native bramble
#

and i check, with default villager all works nicely

young knoll
#

Oh no not the metadata

native bramble
#

metadata is bad?

chrome beacon
#

Use PDC instead of metadata

lost matrix
young knoll
#

Metadata leaks

native bramble
chrome beacon
#

?pdc

native bramble
#

yeah i know what is pdc

lost matrix
native bramble
#

i used in another situations pdc

native bramble
#

its only create particles

twin venture
#

any idea?
[21:07:36 INFO]: [lobby] Enabling lobby v1.0-SNAPSHOT
[21:07:36 INFO]: jedis is connected
[21:07:36 WARN]: Exception in thread "Thread-7"
[21:07:36 WARN]: redis.clients.jedis.exceptions.JedisDataException: ERR wrong number of arguments for 'subscribe' command

native bramble
#

maybe i need to check some event?

#

Like check if player right click on villager and then open custom merchant inventory

kindred sentinel
#

How to make player fly like with elytra?

pseudo hazel
#

give them an elytra

kindred sentinel
river oracle
sterile axle
#

wat

river oracle
molten hearth
#

everything is a number if you try hard enough

raw epoch
#

Hello !

Same problem as him, it works on paper with their Component object (like it transform the chars) but it doesn't work on classic Spigot

BaseComponent baseComponent = new TextComponent("blalal ใ€");
baseComponent.setFont("bossbar:bossbar");
baseComponent.setBold(true);
player.sendMessage(baseComponent.toString());
player.sendMessage(baseComponent.toLegacyText());

Any ideas ? ๐Ÿ™

remote swallow
#

to send a message you need player.spigot().sendMesage

#

untill 1.20.3 or maybe even a later update there isnt and built in support for component as inv title so it would need nms

raw epoch
#

i knew it but u know..

slender elbow
#

he knew all along and was just testing you ๐Ÿ˜Ž

raw epoch
#

no ๐Ÿ˜ญ

quiet ice
#

just use adventure

#

defo not confusing at all

young shell
#

What are these Virtual Entities? Seen a lot of Talk about them recently

rotund ravine
#

Ignore em for now

#

But they are sorta what tehy sound like

remote swallow
#

im pretty sure they got merged in

rotund ravine
#

yeah they did

remote swallow
river oracle
#

they're really only useful in a few circumstances

#

like

#

SPANWERS

remote swallow
#

nerd

young shell
lament slate
#

ItemStack stack = player.getInventory().getItemInHand();
how do i define player?

remote swallow
#

where are you trying to get the item in hand

lament slate
#

Oh whatever there holding

#

I am goign to get it and then just duplicate it

remote swallow
#

yes where do you need to get it, in an event, other method, command?

lament slate
#

Nothing currently I have yet to write that code

young shell
#

Then you dont have the player object

torn shuttle
lament slate
#

correct how Do i define that

young shell
#

You'll get that from an event method or command usually

remote swallow
torn shuttle
#

1 oct 2023 so only 1.20.2+?

#

or is it not even live yet

remote swallow
#

it was merged 9 days ago so it should be in latest

young shell
#

seems live

torn shuttle
#

interesting

young shell
#

Unless Spigot doesnt immediately releases builds

remote swallow
#

its like a daily build iirc

torn shuttle
#

I actually sort of needed something exactly like this

#

what's the class name?

#

or I guess how is it used

remote swallow
#

entity snapshots im guessing

young knoll
#

Builds are released as soon as the merge is done

#

Well, + some build time

young shell
#

Whats the reason for disabling this warning?

#

Or if that warning is not quite accurate, provide a more accurate one

river oracle
#

what why is that warning disabled

remote swallow
#

is that the one paper call spigot moronity on

river oracle
#

idk a lot about them

young knoll
#

Yes

young shell
#

yes they can

river oracle
#

never theless why does it matter if its the MC namespace or not

river oracle
young shell
#

yeah they do

#

Thats why I don't understand why this was done

river oracle
#

then why the fuck is that warning disabled?

torn shuttle
#

so hang on, these entities can exist without spawning, including getting damaged and such, won't this break plugins which listen to events and assume that entities a) are valid b) have a location when they get damaged and such?

#

or do they not throw events

young shell
#

This indicates an issue that should be dealt with not supressed

young knoll
#

They can, technically

young shell
#

And even if you need to suppress it, make it a config option

torn shuttle
#

oh

#

they still sort of exist

young knoll
#

Mhm

torn shuttle
#

ok gotcha

#

I thought they were even more abstract than that

young knoll
#

Thatโ€™s what the snapshot is for

river oracle
#

its a simple reversion of a patch file so its not a big deal if its not changed as far as work goes

torn shuttle
#

can they be converted into an "actual" entity?

young knoll
#

Yes

remote swallow
#

they work as like a template dont they

torn shuttle
#

neat

#

can't wait to use it in ways it was never made to be used and cause issues due to that

young knoll
young shell
#

The event being called makes sense

river oracle
young shell
#

Just the disabling of that warning is moronic

river oracle
#

just gotta apply the patch and remove hte one line

young shell
#

Oh, y'all still need to use that whacky shell script to apply Patches

#

Doing that in gradle is so much nicer

remote swallow
#

whats speed dif like

river oracle
#

probably none

torn shuttle
#

uh oh

#

what did I even do

remote swallow
river oracle
remote swallow
#

i just thought

river oracle
#

plus I don't care enough too

remote swallow
#

you cant can you

#

bc if you look at the paper stuff then thought about pring to spigot that would say no bc cla

river oracle
#

you don't have to look at code to clone a git repo and run applyPatches I just cbf

remote swallow
#

i just had a look at the way patches are applied rn and i dont even get it

torn shuttle
#

man, give me a break

#

resource packs are so annoying to deal with

remote swallow
#

i think it just like uses git jank

quaint mantle
#

Guys, could you help me, practically in my lobby system I'm adding the possibility of creating holograms, so far so good, but sometimes wrapped randomly for no apparent reason the entity no longer spawns, not even if I try to place it via Item compare, a fun and even if I touch a part of the code and move a folder not related to holos everything explodes start a server from scratch to try but nothing, the plugin and with api 1.20 ditto the server and Paper 1.20. I no longer know how to resolve it, the event that disables the entities obviously doesn't work, in fact item frames appear without problems

#

I can't explain this thing logically, how can everything fail if I don't even touch the hologram code, something that really doesn't make sense, if anyone knows what it could be I'd be very happy, I've tried everything, I don't know anymore what should I check

young shell
# remote swallow whats speed dif like

Its not just the speed difference but also the convenience. For one, you need to already have a decompiled directory from buildtools. Then secondly this also only buillds one Project at a time, so you need to do it manually for Spigot and Craftbukkit, while the Gradle Tasks literally does all of that in one command

young knoll
#

Tbf

#

I never apply spigot patches

river oracle
#

Choco the only one keeping spigot alive with his component pathces xD

#

oh and MD for rebuilding the patches uwu

quaint mantle
river oracle
#

not sure why its there hopefully there will be some explanation

young shell
young knoll
#

I still wish spigot patches themselves were dead

young shell
young knoll
#

They smelly

river oracle
#

what a shame

#

the more annoying part would be the new email, but whatever ๐Ÿคทโ€โ™‚๏ธ

upbeat hornet
#

Hey anyone familiar with XSeries?

young knoll
#

Wait how is he violating the tos

#

Do I need to get the hammer

remote swallow
#

no

river oracle
remote swallow
#

look at the screenshot on the pr

young shell
#

Probably

river oracle
remote swallow
#

who uses better discord now

#

vencord is all the rage

young shell
river oracle
#

I don't use anything ๐Ÿ˜‰ I just edit the CSS

remote swallow
#

and alex says german isnt angry

young knoll
#

Ah itโ€™s in the pr

remote swallow
young knoll
#

Smh now I gotta log in

river oracle
#

CSS is turing complete

remote swallow
#

kek

young shell
remote swallow
#

is our dna turing complete

weak meteor
#

Hello, this error is because i dont have a Adapter for CraftMetaEnchantedBook?

young knoll
#

Letโ€™s make our own discord client

#

In java

young shell
river oracle
remote swallow
young knoll
#

And itโ€™ll have uhh

river oracle
young knoll
#

Less features because bloat is bad

#

Like profile pictures, who needs those?

weak meteor
#

no one

river oracle
#

not me

weak meteor
#

just id and message

#

!

remote swallow
#

i know everyones id off by heart

river oracle
#

I'd just send my pfp in every message

weak meteor
#

yea

remote swallow
#

like y2k is 318887270415466496

river oracle
#

318887270415466496: Yo

remote swallow
#

coll is 125349520249847809

young knoll
#

Mhm yes no names either

#

Now we are talking

weak meteor
#

How can i translate a ItemStack adapter to a CraftMetaEnchantmentBook adapter for gson?

river oracle
#

COLL LOoK ATR MY HIGH EFFORT PR

weak meteor
#

just change datatypes or what?

young shell
remote swallow
river oracle
remote swallow
#

why is it so grainy

#

discord what the fuck did you do

brazen tartan
#

is there a way for me to run my BukkitRunnable agian after canceling it?

weak meteor
river oracle
#

and then run it

brazen tartan
#

ive assigned it to an object and I ran it with task.runTaskLater(plugin, 1200)

#

but how would I schedule a new one after it expires

young knoll
#

Make a new object

#

Or just use a runnable instance, you can reuse that

brazen tartan
#

where would I find more info on runnable instances

#

is it on the fandom

young knoll
#

Fandom?

#

Runnable is just a java interface you can implement

remote swallow
#

when did spigot get a fandom

brazen tartan
#

Bukkit has a fondom

young knoll
#

Has a single run method, can be passed to runTaskLater

remote swallow
#

i would probably avoid bukkit fandom

brazen tartan
#

oh

remote swallow
#

use spigot forums and wiki

weak meteor
#

can someone help me with the CraftMetaEnchantmentBook adapter? ๐Ÿ˜ญ

#

i rlly dont know what to do

remote swallow
#

cry

weak meteor
#

:(

young knoll
#

You should just be able to create an adapter for EnchantmentStorageMeta

brazen tartan
#

can I run a runable the same way as a Bukkitrunnable?

weak meteor
#

yeah, i know, but idk how

#

just have a ItemStack Serializer that 7smile7 gave me

brazen tartan
# remote swallow yeah
            @Override
            public void run() {

                if(player.isDead()) {
                    return;
                }

                player.removePotionEffect(PotionEffectType.SPEED);
                player.addPotionEffect(new PotionEffect(PotionEffectType.SLOW, PotionEffect.INFINITE_DURATION, 0, false, false));
                player.addPotionEffect(new PotionEffect(PotionEffectType.BLINDNESS, PotionEffect.INFINITE_DURATION, 1, false, false));
            }
        };

        task.runTaskLater(parent, 1200);```
remote swallow
#

yup

#

wait

#

no

brazen tartan
#

hmm

remote swallow
#

Bukkit.getScheduler().runTaskLater(parent, task, 1200);

brazen tartan
#

ohhh

#

thanks

young knoll
#

And by parent he means plugin instance

remote swallow
#

josh

brazen tartan
#

ik

remote swallow
#

read the code

upbeat hornet
#

what is the maven version for 1.13?
example of 1.8.8:
<version>1.8.8-R0.1-SNAPSHOT</version>

remote swallow
#

1.13-R0.1-SNAPSHOT

brazen tartan
upbeat hornet
#

thanks

upbeat hornet
young knoll
young shell
remote swallow
upbeat hornet
#

okay

young shell
#

Whats the reasoning behind the R0.1 btw?

weak meteor
#

how can i put org.bukkit.craftbukkit.v1_8_r3 in gradle?

river oracle
#

it was that way at one point, You'll have to ask the founders

weak meteor
#

i know its weird, but i need it

#

-.-

young shell
young knoll
#

0.1 because itโ€™s never production ready

remote swallow
young shell
#

I mean isn't that already indicated by the SNAPSHOT? And even if not, its never increased, so it serves no purpose

river oracle
#

why do we still use spigot maps ๐Ÿฅฒ another great question

#

Mojmaps are great :3

young shell
#

Damn all the Meta questions today

young knoll
#

Snapshot is so maven automatically redownloads it or whatever

river oracle
#

where as release versions can not be unless you otherwise specify

young knoll
#

Yeah that

#

The version could be incremented each build but then people would have to update their pom

weak meteor
#

idk why i cant import it

#

Like to my fule

#

File

young knoll
#

Did you run buildtools for that version

weak meteor
#

Never used buildtools on my life

#

To be honest

river oracle
#

ahh paper user to test

weak meteor
#

if that solves my problem

river oracle
#

?bt

undone axleBOT
weak meteor
#

thanks

young knoll
#

Wow you didnโ€™t point him to the gui :p

river oracle
weak meteor
#

buildtools

#

actually

river oracle
#

we need that merged

weak meteor
#

is useful

#

das cool

river oracle
#

PR still pending ๐Ÿฅฒ

weak meteor
#

damn

#

isnt difficult to run buildtools

#

just one command

#

and still people needing a gui?

river oracle
#

yes ๐Ÿฅน

weak meteor
#

worlds fucked up idk

#

people just now how to do

#

color a
tree

#

in terminal

river oracle
#
java -jar BuildTools.jar --pr BUKKIT:926 CRAFTBUKKIT:1282 --compile spigot
#

run buildtools with this command and then code with it forever :3

weak meteor
#

just java -jar BuildTools.jar

#

idk whats the rest for you

river oracle
#

that's how you build Inventory PR

#

that's the greatest thing on erath

weak meteor
river oracle
#

you see it improves Bukkit's Inventory API

#

don't you need to build for 1.8 though

#

java -jar BuildTools.jar --rev 1.8.8

weak meteor
#

lol

#

well

#

i was planning to also code on 1.20

river oracle
#

you should check out my greatest Inventory PR of all time

weak meteor
#

what does pr mean?

river oracle
#

pull request

#

its essentially asking to get something merged into the main codebase

weak meteor
#

oh yea

#

thought it was

#

personal record

#

forgot i dont have 8 on enviroment vars

#

lol

river oracle
#

if you have multiple

weak meteor
#

im not using a gui

#

im sure im not

river oracle
#

yeah just saying

weak meteor
#

lol

#

somedsay

#

ill use it

#

ye

#

im using it

#

i fucked up

young shell
#

Also @river oracle I just checked, the suppression of the Message was added pre 1.13, so it makes somewhat sense because iirc before datapacks, custom advancement namespaces where not a thing, but now its not something we should suppress anymore

weak meteor
#

it crashed

#

lol

young shell
#

Probably better that way. 1.8 belongs in the dumpster by now

river oracle
crude drift
young shell
river oracle
#

I happen to have one

young shell
crude drift
young shell
river oracle
wary harness
#

Is it possible to use spigot api to check by %%USER%% id
if they bought plugin or not?

young shell
#

Oh yeah I saw that one

crude drift
young shell
#

Finally

crude drift
#

eaglercraft 1.8.8 moment

river oracle
#

xD

#

eaglercraft

crude drift
weak meteor
#

i fucked up

#

with java versions

#

again

crude drift
weak meteor
#

yea

river oracle
weak meteor
#

im trying that

crude drift
remote swallow
#

i wonder how spigot build times could be improved

young shell
river oracle
#

@weak meteor just use the gui :P

young shell
river oracle
remote swallow
young shell
#

Oh well

young shell
river oracle
#

better tooling can be achieved without gradle just need somone to work on it

#

granted that takes time I wish I had the infinite amount of time necessary to do these things

young shell
weak meteor
river oracle
#

the jar doesn't run ๐Ÿ˜จ

young shell
weak meteor
#

so everyone can run it in their forks

river oracle
#

oh god

weak meteor
#

i literally

crude drift
#

just a fork

weak meteor
#

yea i know

river oracle
weak meteor
#

but my plugins

#

will need windspigot

#

and u know

#

idk

crude drift
#

just build against 1.8.8 spigot jar

river oracle
#

this guy isn't a server owner he is a dev using spigot is advantageous over some random ass fork

crude drift
#

it doesnt matter for that

weak meteor
#

and

#

well

#

idk where tf i change the enviroment var

crude drift
weak meteor
#

what vulnerabilities

river oracle
#

he isn't a server owner it doesn't matter

weak meteor
#

log4shell?

crude drift
#

you can still ALWAYS build against the spigot jar

river oracle
weak meteor
#

yea

#

i know

#

THATS THE JOKE

young shell
crude drift
weak meteor
weak meteor
#

im not server owner

#

not responsible ๐Ÿ˜ป

#

i just make shitty ass plugins

crude drift
#

it supports java 17 ยฏ_(ใƒ„)_/ยฏ

weak meteor
#

IDK I STILL NEED TO FINISH THIS JAVA PROJECT OR ILL GET MY ASS WHOOPED TOMORROW

#

ok ill reinstall jdk 18

#

now it runs

#

.exe still doesnt run

crude drift
#

I love when I buy a plugin off builtbybit and in the license it says I'm allowed to modify it

young shell
#

Sorry if I'm asking to many controversial questions today, I just genuinely want to understand Why certain decisions are made

crude drift
river oracle
# young shell But like genuinely, why do you prefer maven over gradle. Like I'm the last one t...

tbh its just easier to use. I find it much harder to shoot myself in the foot. This is something I feel has been an issue with me and gradle thus far. Plus I don't feel like learning kotlin which is the only thing that would make gradle an advantage for me as a developer. Why should I spend the hours and hours it takes to learn kotlin just to make a build file when Maven doesn't limit my abilities currently. In the long run sure Gradle is definitely more powerful you can run so many scripts with it and it can be way less verbose within the build scripts. I don't hate gradle I'm just much more comfortable with maven because its much easier and I don't feel limited by it.

weak meteor
#

thats smth i need to learn this vacations

crude drift
weak meteor
#

nah

river oracle
weak meteor
#

in java

#

it isnt

#

smth like

#

c# should be difficult

crude drift
#

no

#

C# is easy

#

c++/c is hard

weak meteor
#

idk

#

I JUST WANNA CHANGE FROM JDK 18 TO JDK 8

crude drift
#

with C# just throw it in ILSpy and boom source

weak meteor
#

HELP

weak meteor