#help-development

1 messages ยท Page 550 of 1

livid dove
#

It's true to an extent but probability and sweatyness is a bitch.

Once saw a group share 1 discord account between them to abuse a broken brew without getting caught

#

Cheaters are sweaty

#

Jesus once saw a guy use a sound mod + a custom ambient noise for gold blocks to xray undetected by data scrapping the source of the noise from his debug log.

tardy delta
#

did they already have xray in jesus' time?

remote swallow
#

out sweat them

livid dove
tardy delta
#

there's so much we dont know

livid dove
#

You joke but ong yeah.
How long did that crop modifier bug go unnoticed? 4 years?

eternal oxide
tardy delta
#

poor jesus

eternal oxide
#

using sound woudl just make it a little bit harder for him to find the blocks he wanted

flint coyote
#

jesus was cheating. Used hardware access to turn water into wine

tardy delta
#

thats why they let him die ๐Ÿฅบ

flint coyote
#

banned for eternity

livid dove
tardy delta
#

dude probably also had hardware backdoors

flint coyote
eternal oxide
#

My point stands. Usign xray or a sound mod makes no difference in detection. Using sound would simply make his block finding a little harder.

livid dove
#

As who's gonna belive the dev who figured it out.

flint coyote
#

You won't get caught with xray either unless you use it too obvious. There's no server-side software that can detect it

eternal oxide
#

Its all down to statistics for detection

livid dove
#

Statistics my man

flint coyote
#

Yeah and the sound xray causes the same statistics if used in the same way

eternal oxide
#

if he's not tripping the statistics then theres no harm

tardy delta
#

hmm isnt floor(837.0 / 100.0) supposed to return 8 instead of 9

#

i am somehow struggling with basic math when it comes to rendering

flint coyote
#

yes it should

tardy delta
#

wait it somehow is correct

#

my other math is flawed then

eternal oxide
#

shoudl we send you some learning blocks? 1,2,3,4

#

You can do it, what comes next? ๐Ÿ˜„

livid dove
#

Dude Mined 9000 Ore on 3 days and admins let him off as there was 0 evidence of a hacked client lol

tardy delta
#

idk my stuff is supposed to render 8 textures then but somehow it does 9

livid dove
#

Unless they see baritone xray bot9000 they usually dont wanna know

eternal oxide
#

incompetent admins then

eternal oxide
flint coyote
remote swallow
#

wonder how hard it would be to make an "ai" type thing to tell if someone is cheating

flint coyote
#

depends on the data you are able to feed

remote swallow
#

specifcally xray

flint coyote
#

For something like xray it would be kinda easy with enough data

remote swallow
flint coyote
#

Yup

remote swallow
#

bc the server could progress from 300p/h to 1000p/h

eternal oxide
#

I used to love catchign xrayers

flint coyote
#

You would basically look at 100 players and their blocks mined/distance walked per diamond.
And if one player is like 4 times the average that's pretty sus.
That's obviously super simplified but it would be something around that

eternal oxide
#

I'd follow them around invisible and spawn diamond blocks. Then watch them dig straight to them

young knoll
#

I loved replacing all nearby diamond ore with stone

#

Very amusing

remote swallow
#

sounds fun, cant say i ever got to doit

young knoll
#

Granted thatโ€™s probably less fun these days because baritone

eternal oxide
#

I never banned though

remote swallow
#

some people are still dumb to hand mine

eternal oxide
#

If you ban they just come back on a different account or get shitty and DDOS

#

I jailed. It worked wonders

flint coyote
#

I remember when I introduced parcours to the server I was coding for.
Players with fly mods were constantly cheating on those but it had a "best-time" list that also stored their movement during the parcour.
I banned dozens of players because they were flying straight to the finish line lol

shadow night
eternal oxide
#

they can still log in and just get ridiculed by other players for being in jail

#

Its psychological. The fact they can still log in is enough to make them to want to get out of jail

shadow night
#

reminds me of old russian mc servers where you can spend a bunch of money for real cool stuff

tardy delta
flint coyote
#

told ya

tardy delta
#

my x,y pos is a start coordinate so the texture is always wider than that

flint coyote
#

Although that was meant to be a very bad joke

eternal oxide
#

even the best coders trip up now and then on indexing

shadow night
#

nowe

eternal oxide
#

You shoudl see my raw messages before I correct any typos ๐Ÿ™‚

tardy delta
#

me trying to create some overflow

#

to see if my camera is working

#

math.floor is atleast working lol

eternal oxide
#

overflow? you should have a view frustum.

tardy delta
#

dunno what that means but im testing if im not drawing tiles where the camera cant see them

eternal oxide
#

yes thats what its for

#

calculating yoru view frustum allows you to detect what is seen and what isn't

tardy delta
#

actually i can just ask the width to the texture lol, but me with my weird textures, its probably zoomed in ๐Ÿ’€

#

copyright? never heard of

livid dove
#

How I used to catch xrayers.

Core protect data is good when rendered right. Lol

tardy delta
#

looks worse than the graphs i make

livid dove
#

It was a proof of concept

#

The left tone isn't a graph

#

It's the actual coordinates of every block broke

#

*you can change the view

tardy delta
#

storage will like that

livid dove
#

Lmao that moment u forget minecraft already has a storage method for fitting millions of blocks into a few mb

#

*God I love palletes

#

Idiotic idea 7 of 2023, take the anvil file approach and apply it to log storage.

Bye 10gb file. Hello 500mb file

quiet ice
#

That is called compression

twilit roost
#

how can I make my own MapFont

#

V1 - V2 is the final velocity you want to set

#

location 1 vectorized - location 2 vectorized
or the other way around
not sure rn

eternal oxide
#

entity1.getLocation().toVector().subtract(entity2.getLocation().toVector)

#

depending on which entity you are throwign which way

#

?tas

undone axleBOT
twilit roost
#

we arent wikipedia
also by testing you learn the best

eternal oxide
#

because it's a learning experience

#

you learn better by trying

twilit roost
#

amen

half bane
#

Are the @s @p Username @a[something=aaa] built-in or i'd have to make them myself?

hybrid spoke
half bane
hybrid spoke
#

*if you are making a custom command

hard socket
#

do I have to make a SmithingRecipe for my custom armor to work?

#

cause it works but I cant collect it

hybrid spoke
#

wdym in general

#

thats only prepare

#

not the actual smithing event

#

not sure if there is one.

#

if not you'd have to register the recipe if there is one

hard socket
#

I changed my code now

tardy delta
#

dont do two pdc lookups

hard socket
#

but it worked and the x was gone

#

I just wasnt able to collect it

#

idk I am asking

hybrid spoke
#

because the server doesnt know that recipe

#

register your whatever as a recipe

#

and it will work

hard socket
#

yeah

#

But I am confused how will I make the result?

#

I made this to make the result

hybrid spoke
#

yeah.. first of all, your recipes doesnt match

hard socket
#

?

hybrid spoke
#

your choice is tools

#

you tried helmet

hard socket
#

omg I gave an example

#

have you read what I said?!

hybrid spoke
#

either imm fucking tired or you cant articulate yourself properly

#

probably both

hard socket
#

emmm I am talking about result

#

and you said something completly different

#

anyways any Ideas?

hybrid spoke
#

do you even know what you are doing

#

for what the preparesmithingevent if you have the recipe registered

hard socket
#

BROOOOO

#

I said the result what are you talking about

grizzled oasis
#

i wanted to do something but im not sure if it is possible with java, a chatbot that learns from 4chan or some other website, i need only the AI, the only i can find are for AIML anyone have one that support this type?

hybrid spoke
hybrid spoke
#

your chatbot will throw racial slurs at you after a day of learning

quaint mantle
#

hi guys someone explain me nms ? nms is api ?
i need add nms to my java projects ?
how can i code with nms ?

grizzled oasis
#

and that can help me with making my API more rich

hybrid spoke
#

there are deep learning libs which could help you

#

otherwise train it with python

quaint mantle
#

how can i edit ?

hybrid spoke
grizzled oasis
quaint mantle
hybrid spoke
#

and since your request is very specific and there is sadly no "here, learn that" button, you'd have to impl that yourself

gloomy thunder
#

Also here is the Scoreboard plugin?

quaint mantle
hybrid spoke
#

no NMS needed, take a look at protocollib

hybrid spoke
tardy delta
#

having fun i see

quaint mantle
#

is like spigotapi ?

#

i need import some api for code with packets

quaint mantle
hybrid spoke
quaint mantle
#

๐Ÿ˜„

eternal oxide
#

?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.

quaint mantle
#

NOOOOOOOOO

#

alright i recreate spigot project

#
    <repositories>
        <repository>
            <id>dmulloy2-repo</id>
            <url>https://repo.dmulloy2.net/repository/public/</url>
        </repository>
        <repository>
            <id>spigotmc-repo</id>
            <url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
        </repository>
        <repository>
            <id>sonatype</id>
            <url>https://oss.sonatype.org/content/groups/public/</url>
        </repository>
    </repositories>

    <dependencies>
        <dependency>
            <groupId>org.spigotmc</groupId>
            <artifactId>spigot-api</artifactId>
            <version>1.16.5-R0.1-SNAPSHOT</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.comphenix.protocol</groupId>
            <artifactId>ProtocolLib</artifactId>
            <version>5.0.0-SNAPSHOT</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>
</project>```
quaint mantle
#

not only maven will not work ?

eternal oxide
#

no

quaint mantle
#

so only maven will work ?_

#

ok will not work ๐Ÿ˜„ i add build path

frail gazelle
#

?nms

frail gazelle
#

brev

strange rain
#

Or is it a window? ๐Ÿคจ

quaint mantle
#

๐Ÿ˜„

twilit roost
#

how can I calculate centered X and Y for MapView, so the text being rendered is centered?

I need to somehow calculate the width & height of the map
then it should be pretty easy

#

okay so for rendering centered text in MapView
you can use this code:

        int x = 64 - font.getWidth(text) / 2;
        int y = 64 - font.getHeight() / 2;

        canvas.drawText(x,y,font,text);

took me way too long to figure it out :D I tried making it procedurall but hardcoding 64 works just fine

quaint mantle
#

i wanna get this packet but does not here

ember estuary
#

How can I create a map which does not automatically update, but only when I send a ClientboundMapItemDataPacket?
Right now it just does this every few ticks .. โ†“

#

I've removed the default renderer, and even tried creating the CraftMapView and MapItemSavedData myself, nothing worked ...

young knoll
#

Lock the map

ember estuary
#

It is, didn't help either

quaint mantle
ember estuary
#

According to the Spigot Documentation .setLocked(boolean ...) GETS if the map is locked... lol

celest sonnet
#

odd name for that

warm mica
remote swallow
warm mica
#

Most of the comments are just literally useless and could greatly benefit from a proper rewrite

remote swallow
#

coll should do that

ember estuary
#

I think they are fine, they've always helped me very much

remote swallow
#

they're fine but need more easter eggs

ember estuary
#

xD

warm mica
#

They should explain what they are actually doing

#

I know that a getter method gets something, but sometimes it does a lot more that could potentially affect performance

sullen marlin
#

pull requests welcome ๐Ÿ™‚

remote swallow
#

hi md

#

shouldnt you be sleeping

#

its a school night

young knoll
#

(Md is in 7th grade)

#

(real)

warm mica
#

I tried. But honestly, working with the code is really devastating with all the patching stuff

remote swallow
#

imo we should deprecate the material enum for removal so no more plugins use it but retain backwards compat to not need updates for plugins that have nothing new to add for any reasojn

sullen marlin
#

the javadocs dont need any patching

young knoll
#

Tf they supposed to use then

river oracle
#

Yeahhhh

river oracle
warm mica
#

I mean like generally. I had created a pr for something differently and it was soo much work that I have lost the pure will pretty quickly

remote swallow
sullen marlin
#

if it's just javadoc it should be really easy, perhaps ask here where you run into issues

remote swallow
#

like its removed so i cant go and use Material.AIR, i have to use the block/item types

young knoll
#

But they don't exist

remote swallow
#

they will in futrure

#

add it to the pr

#

pr the pr

hard lion
#

Do I have to manually remove entities from collections that are getting nearby entities from a loc/entity? (e.g. player.getNearbyEntities(10, 10, 10);)?
You have to remove entities from arraylists that are managed manually by the code, but what about this?

young knoll
#

Manually remove them for what?

hard lion
chrome beacon
#

?

river oracle
#

Use unsafe ig

eternal oxide
#

Words together sense they make not

young knoll
#

IF you don't hold a refrense to the returned collection the entire thing will get GCd

#

But if you do then yes, you need to remove them for them to get GCd after death

hard lion
#

Since the java garbage collector is not really designed for Minecraft, the gc doesn't remove lists that contain stuff

#

even if the entities for example in the list are dead

tardy delta
#

whats the point of boolean persistent data type now? we already have byte?

hard lion
#

or invalid

river oracle
#

That's kinda on you

#

For allowing memory leaks

chrome beacon
#

Are you storing the list anywhere?

hard lion
#

I do have a collection object stored yes

chrome beacon
#

Use a WeakHashSet

remote swallow
tardy delta
#

id unno how its stored internally so cant say anything about that

remote swallow
#

bytes probably

#

coll how is it stored

young knoll
#

yes

#

it's a byte

pseudo hazel
#

yeah I wrote my own booleandata helper but just some api is better because it probably easier to use

#

in combination with the other types and stuff

potent ibex
#

Hey guys I'm trying to make player to play custom totem of undying animation using item in resourcepack
is it possible?

#

I clearly have no idea how to set up for this kind of feature

worldly ingot
#

There's an effect for this I think

#

It's like IRON_DOOR_CLOSE or something stupid. It's misnamed because the effect ids change all the time

remote swallow
#

why dont you pr a fix

young knoll
#

Renaming things breaks stuff

#

Even if the old names are terrible

worldly ingot
#

Nevermind it is named correctly

#

EntityEffect.TOTEM_RESURRECT

remote swallow
worldly ingot
#

player.playEffect(EntityEffect.TOTEM_RESURRECT) should work

#

It should use the item in the player's hand

remote swallow
#

is that what the queen did

#

but then just ran out of computing power

#

or did she run out of ram

#

probably ram

#

she was a 1926 model

hardy wren
#

hi, how to add the spigot.jar as a maven dependency ? (i know the difference between spigot and spigot-api and need to add it)

chrome beacon
#

?nms

hardy wren
#

for maven

chrome beacon
#

No Minecraft has copyright

#

So you can't distribute it in a maven repo

hardy wren
#

anything wich can relate to a maven repo for import net.minecraft.server.v1_8_R3.ChatComponentText; ?

chrome beacon
#

You use the Spigot artifact in maven

#

Just replace spigot-api with spigot and you're done

eternal oxide
#

other than running buildtools

hardy wren
chrome beacon
#

assuming you've run BuildTools*

hardy wren
# chrome beacon assuming you've run BuildTools*

assuming everyone giving for only solution running buildtools, we can't just register the repo buildtools is registering in our pom.xml ? i search for a way where i can just git down my project and download deps by maven

eternal oxide
#

?nms

eternal oxide
#

or

chrome beacon
#

1.8

eternal oxide
#

?1.18

undone axleBOT
eternal oxide
#

err

#

?bootstrap

undone axleBOT
#

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

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

hardy wren
eternal oxide
#

that one

#

both require you run buildtools

hardy wren
# eternal oxide that one

are you answering the question or doing commands i already see ? idk what i have to learn from your response

eternal oxide
#

ok I'll not bother responding to you then

chrome beacon
#

Just run BuildTools to build 1.8.8 and then change spigot-api to spigot in your pom

#

That's it

hardy wren
eternal oxide
#

lol boi

hardy wren
#

so no way where i can just git down my project and download deps by maven ?

chrome beacon
#

No

hardy wren
#

ok

#

that was the only question

#

*thx everyone

frail gazelle
#

ok if i am using NMS and ProtocolLib, how would i go about getting the actual ServerPlayer entity if I right click on an NPC?

eternal oxide
#

You have to listen to packets as there will not be any fired events for interact from Spigot

frail gazelle
#

right so i am listening to packets already, but i'm unsure what methods i need to use to actually get the entity

eternal oxide
#

You have to keep track of any NPC's you created

frail gazelle
#

so keep them in an arraylist or hashmap?

eternal oxide
#

is there any specific reason you are going to packet route and not just NMS?

half bane
#
    File file;
    String filename = "players.yml";

    FileConfiguration storage = new YamlConfiguration();

    public OxygenStorage(Wolfxygen plugin){
        this.plugin = plugin;
        config = plugin.config;
        oxygenMgr = plugin.oxygenMgr;
        file = new File(plugin.getDataFolder(),filename);
        if(!file.exists()){
            file.getParentFile().mkdirs();
            plugin.saveResource(filename,false);
        }
        try {
            storage.load(file);
        } catch (InvalidConfigurationException | IOException e) {
            plugin.getLogger().info(ConfigMgr.format("&4Loading "+filename+" failed"));
            e.printStackTrace();
        }
    }

Why isn't the custom config being created?

#

the file doesn't exist

frail gazelle
#

i wanted to create a plugin where you interact with an npc to open a gui menu, but also if you want to remove the npc you type a command and attack it to remove it

eternal oxide
#

You also realize you have to update it for every version release

frail gazelle
#

blegh

#

should i literally just use citizens api

eternal oxide
#

it would be much simpler

quiet ice
#

Yes, for almost a decade now

frail gazelle
#

i was dreading it because it was simpler, but at this point if it works, it works

eternal oxide
#

the main advantage is zero maintenance

frail gazelle
#

are there any big disadvantages

eternal oxide
#

if you nms yourself you haev to update for every version, or do some very fancy reflection

frail gazelle
#

yeah i'm not that smart bro

#

LOL

eternal oxide
#

only disadvantage is waiting for them to update to a new version, if it breaks

frail gazelle
#

thats not that bad lowkey

#

aight i'll prolly just use citizens then

#

tysm

eternal oxide
#

np

tardy delta
#

sometimes i wonder why discord puts me in this channel when i click on #general lol

eternal oxide
#

shoo

half bane
earnest wasp
#

Hello here how find args if command is execute by command block or players please?

#

1.19

chrome beacon
#

You check if the sender is a player with instanceof

#

or BlockCommandSender I believe for command blocks

earnest wasp
#

```if (block.getState() instanceof CommandBlock) {`

chrome beacon
#

Well no

#

There is no block?

earnest wasp
#
if (sender instanceof BlockCommandSender) {
                BlockCommandSender blockCommandSender = (BlockCommandSender) sender;


chrome beacon
#

Yeah like that

earnest wasp
#

No work

#

BlockCommandSender cannot be resolved to a type

chrome beacon
#

Did you import it

remote swallow
#

class exists

eternal oxide
#

spigot version?

earnest wasp
#

1.19

chrome beacon
#

They probably didn't import it

eternal oxide
#

yep

earnest wasp
#

I think yes

eternal oxide
#

if Eclipse press CTRL+SHIFT + O

earnest wasp
#

let me test

earnest wasp
remote swallow
#

exists in 1.19.3

tawdry echo
#

Sound nice

grand magnet
#

Does anyone know about NextAuth?

chrome beacon
#

?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!

lusty cipher
#

can I use BuildTools.jar to install org.spigotmc.spigot into my local maven repository?

remote swallow
#

thats what buildtools does

#

adds to maven local and gives you a server jar

lusty cipher
#

oh so it does that by default

chrome beacon
#

Yes

lusty cipher
#

perfect thank

chrome beacon
#

I have seen it fail a couple of times worst case you just install the jar manually

lusty cipher
#

I couldn't recall how I used to do it so I wasn't sure anymore, but I just hope this works now

narrow flare
#

Hello, I have a question, I'm in 1.19.4, I've cancelled the InventoryClickEvent for an item so that the player can't move it, but when I move it with my 1, 2, 3 keys, the event is no longer cancelled.

                .handler(e -> {
                    System.out.println("Event call " + e.getEventName());
                    if (e.getCurrentItem() != null && isPickaxeSupported(e.getCurrentItem())) {
                        e.setCancelled(true);
                        ((Player) e.getWhoClicked()).updateInventory();
                    }

                }).bindWith(this);```
lusty cipher
#

yup worked

crude pine
#

Sign api appears to be broken in 1.20. It fails silently

chrome beacon
#

?jira

undone axleBOT
chrome beacon
#

^^ Time to report that

young knoll
#

Signs have 2 sides now

chrome beacon
young knoll
#

Most methods are deprecated, but they should be defaulting to the front side

crude pine
#

actually i have more debugging on my side before i report it

#

didnt realize the setLine method I was using was mine not spigot's. It uses spigot's api further down

brisk cargo
#

Hello! I'm working on a GUI Login plugin which works alongside authme. It's function is simply sending the clicked slots as a password to authme in order to login or register. The GUI title uses custom textures in order to display an image overlayed on top of the inventory so it looks fancy.
Currently trying to have a dynamically updating Inventory Title which shows which PIN is being pressed in real time to the player using packets so it's only visible client side. The problem i'm facing is that the title automatically recenters itself, causing the overlayed GUI image to be shifted when it updates. Is there a way to lock the initial inventory title's alignment so I can overlay the PIN which is being clicked on?

chrome beacon
#

Offline mode ๐Ÿ’€

remote swallow
crude estuary
#

You use offline mode to Play Cracked Minecraft i use it to not Depend on Mojang's Database all the time, we are not the Same

narrow flare
chrome beacon
#

Does the sysout trigger

chrome beacon
eternal oxide
#

When you press a number its event.getSlotType() == SlotType.QUICKBAR

quaint mantle
tawdry echo
#

isPickaxeSupported()

#

show

chrome beacon
narrow flare
#

when i'm press a numeric key, e.getCurrentItem() is null. the event take the current slot who is null not the slot after the item has moved

eternal oxide
#

if you just want to prevent moving items into/from your inventory then cancel if the click is IN your inventory instance or a number was pressed event.getSlotType() == SlotType.QUICKBAR

narrow flare
#

look

        Events.subscribe(InventoryClickEvent.class, EventPriority.HIGHEST)
                .handler(e -> {

                    System.out.println("Event call " + e.getEventName());
                    System.out.println("Current Item: " + e.getCurrentItem());
                        if (e.getCurrentItem() != null && isPickaxeSupported(e.getCurrentItem())) {
                        e.setCancelled(true);
                        ((Player) e.getWhoClicked()).updateInventory();
                        System.out.println("cancel");
                    }

                }).bindWith(this);```
chrome beacon
#

So it does fire

eternal oxide
#

I just told you how to stop number button presses.

tardy delta
#

is there a reason for that Events.subscribe way of handling events? ๐Ÿ‘€

ivory sleet
#

yes

#

no reflection

tardy delta
#

wait is that a spigot class?

ivory sleet
#

nope

#

lucko helper lib

eternal oxide
#

so nothing to do with Spigot

uncut jacinth
#

I'm running into this error with BuildTools.jar, any ideas?

ivory sleet
#

yea

narrow flare
graceful oak
#

Im trying to play around with some packets and when I use the https://wiki.vg/Protocol#Look_At packet the first requirement on the site says VarInt Enum which looks like it just requires either a 0 or a 1 but when I use the 1 for an input it says the required type is Anchor not quite sure what its looking for

brisk cargo
eternal oxide
#

event.getHotbarButton()will give you teh button that was pressed

quaint mantle
#

can i edit block breaking speed ?

chrome beacon
#

You can give mining fatigue and handle block breaking server side

quaint mantle
chrome beacon
#

Yes

#

Not in the inventory though

quaint mantle
#

ah

#

i will do somethings

narrow flare
# eternal oxide ```event.getHotbarButton()```will give you teh button that was pressed

thx it's good i've make this

                .handler(e -> {
                    if (e.getCurrentItem() != null && isPickaxeSupported(e.getCurrentItem())) {
                        e.setCancelled(true);
                        ((Player) e.getWhoClicked()).updateInventory();
                    }

                    if (e.getAction() == InventoryAction.HOTBAR_SWAP) {
                        if (e.getClickedInventory() != null || e.getClickedInventory().getContents() != null) {
                            ItemStack itemStack = e.getClickedInventory().getContents()[e.getHotbarButton()];
                            System.out.println(itemStack);
                            if (itemStack != null && isPickaxeSupported(itemStack)) {
                                e.setCancelled(true);
                                ((Player) e.getWhoClicked()).updateInventory();
                            }
                        }
                    }

                }).bindWith(this);```
tardy delta
tardy delta
#

trying to render some 2d world but the camera view goes kinda brr

grand otter
#

Is there a spigot server 1.20 version? I tried downloading it with build tools but it said 1.20 didnt exist

delicate lynx
#

how did you run the buildtools command

tawdry echo
river oracle
dawn ledge
#

Hello,
Did somebody know how to open a creative inventory, I need that the player choose the item that he want to store it. And the player must have the choice of every items of mc

chrome beacon
#

You can open a paginated GUI with all the items

dawn ledge
eternal oxide
#

its only a for loop

dawn ledge
#

Do items have index ?

eternal oxide
#

Material

dawn ledge
#

really ? have you some documentation or snippets about that ?

eternal oxide
#

Arrays.stream(Material.values()).filter(Material::isItem).toList()

dull goblet
#

Hello, i have been searching online why getOfflinePlayer is depricated and it is because you should use UUID, but like when making commands it wouldn't be user friendly to make the user put in the uuid, what would be an alternative then? Storing all joined players and getting their UUID seems bad because they can also change name

river oracle
ember estuary
#
MapItemSavedData worldMap = (MapItemSavedData) FieldUtils.readDeclaredField(mapView, "worldMap", true);
FieldUtils.writeField(worldMap, "carriedByPlayers", ImmutableMap.of());
FieldUtils.writeField(worldMap, "carriedBy", ImmutableList.of());

What am I doing wrong?

glossy venture
#

at runtime the symbols are obfuscated

#

look up the obfuscated names and use those in reflections

ember estuary
#

ok ty

glossy venture
#

i dont remember the nms mappings site tho

#

but there is one

#

where you can look up symbols

#

?nms

river oracle
#

Screaming Sandles something

glossy venture
#

oh yeah

#

?mappings

river oracle
#

It's not a command :(

glossy venture
coarse finch
#

does anyone know how to exclude patterns with ANT? i have a mod-0.0.1.jar and mod-0.0.1-sources.jar and i want to exclude the sources

glossy venture
#

this is the site

chrome beacon
#

ANT ๐Ÿ’€

ember estuary
#

ah thanks, was just about to ask

coarse finch
chrome beacon
#

Jenkins can doesn't require ANT??

coarse finch
#

im trying to get the generated jar file to archive

#

wait i think i figued it out

#

theres an excludes field

#

yes lets go

chrome beacon
#

Why api version 1.2?

#

or is that just a typo

#

1.20

#

Is the server running 1.20?

#

Make a bug report I guess

#

?jira

undone axleBOT
ember estuary
#

How can i do it?

#

Code: FieldUtils.writeField(worldMap, "n", ImmutableMap.of(), true);

chrome beacon
#

Map != List

ember estuary
#

Oh, i mixed them up... thank you xD

#

Didnt help tho. I think the error is caused by the final

chrome beacon
#

Try using a regular map

#

Instead of a google common one

ember estuary
#

No, i need an immutable map, so that bukkit cant add stuff into it

chrome beacon
#

So you want to throw a bunch of errors?

worldly ingot
#

api-version: '1.20' will fix it

#

Though that's probably a bug worth fixing

ember estuary
worldly ingot
#

SnakeYAML being annoying tbh

ember estuary
#

so.. anyone know how i can overwrite that final variable?

worldly ingot
#

If you could make a JIRA issue that would be super useful

#

See above, Olivo linked it

#

PES_BlankieThumbsUp Thanks!

#

Now to think of how to fix that. It seems to be a quirk of YAML to treat those as decimal values rather than a string

ember estuary
ocean hollow
grand otter
#

I did that and it said 1.20 isnt valid

chrome beacon
grand otter
chrome beacon
#

Set it to the lowest version you want to support

#

1.13 being the lowest available

#

since that option didn't exist in earlier version

quaint mantle
#

oops

#

bro wtf

#

gradle just removes my command

#

๐Ÿ’€

#
name: simple-staff-commands
version: '1.0-SNAPSHOT'
main: me.acatto.simplestaffcommands.Simple_staff_commands
commands:
  newkick:```
->
```yml
name: simple-staff-commands
version: '1.0-SNAPSHOT'
main: me.acatto.simplestaffcommands.Simple_staff_commands```
#

help??? XD

#

nope still does the same thing

#

it still does not like it when being built

#

my brain

#

why does gradle not like commands

#

like it doesnt give me info, warning or anything

#

it "successfully" builds

#

how do i check if a player has operator

#

thanks

glossy venture
#

i think you can just get the location of the player

dull goblet
#

event.getPlayer().getLocation().

quaint mantle
#

uhh

lavish cliff
#

Hi guys, I have a problem.
The last 2 events are not "read" and therefore do not work ( I can do everything as if there were not ) . Can anyone help me with this?
https://paste.md-5.net/lubucitifa.cs

quaint mantle
#

how do i make a "reason" argument for kick command

glossy venture
#

sry lol watching math video

dull goblet
#

Maybe you are cancelling the event somewhere else

quaint mantle
#
        if (reason == null) {
            target.kickPlayer("You have been kicked from the server. Reason: No Reason");
        } else {
            target.kickPlayer("You have been kicked from the server. Reason: " + reason);
        }```
is this the simplest way to kick
#

bruh

#

reason === null doesn't work

#

it just says Reason:

#

i mean ==

#

uhh

#
        String reason = String.join(" ", Arrays.copyOfRange(args, 1, args.length));
``` this is my reason
#

it works if u have a reason

young knoll
#

reason == null || reason.isBlank()

quaint mantle
#

so just

#

else if?

tawdry echo
#

String finalReason = (reason == null) ? "No reason" : reason

young knoll
#

isBlank covers isEmpty

#

So no need for both

lavish cliff
tawdry echo
#

player#getLocation#getWorld but world#getEntity doesnt exist

quaint mantle
#

wait

#

if i have the "finalReason" do i even need to use the else statement

young knoll
#

There is bukkit.getEntity(uuid)

#

iirc

tawdry echo
tawdry echo
quaint mantle
#

this?

tawdry echo
#

just try

quaint mantle
#

nope if theres no reason it just gonna say "Reason: "

tawdry echo
#

String finalReason = (reason == null || reason.isEmpty()) ? "No reason" : reason;

rotund ravine
#

dumb

oblique timber
#

im dependency error help me

native ruin
#

import dependency for no error

worn tundra
#

Omg yay

InventoryView#setTitle for changing title of open inventories.

#

oh wait

#

lmao nvm

#

still doesn't allow components

#

whatever then

eternal night
#

ew components

worn tundra
#

1.8 dev take

#

components are very important

eternal night
#

next you are gonna tell me you want to like, send translatable components

young knoll
#

Hey the PR is open

quaint mantle
#

anyone know how to unban and ban

eternal night
#

True

young knoll
#

Merge soon plz

eternal night
worn tundra
young knoll
#

Not anymore

#

It's even already updated for 1.20

worn tundra
eternal night
#

you are crazy

worn tundra
#

i need fonts >:(

eternal night
#

that is not supposed to be possible

worn tundra
#

why are basecomponents there then

eternal night
#

I was sarcastic xD

young knoll
#

Hopefully the PR is merged as soon as 1.20 is stable

eternal night
#

yea

eternal night
#

choco pr right ?

young knoll
#

ye

worn tundra
#

yeah

eternal night
#

yeee

dry forum
quaint mantle
#

yea but how do i check if he's banned

noble lantern
#

Your better denying them in the PreLoginEvent tbh

#

That way they dont ever actually get into the world

chrome beacon
#

Just use the BanList??

#

It already exists

quaint mantle
#

what ๐Ÿ™

noble lantern
#

how th you grab that so fast jeez

prolly dual monitors nvm

chrome beacon
#

Single monitor

#

and I've had that open for a few minutes now

dry forum
#

sorry but how does that help access the methods?

chrome beacon
#

It shows how to get a plot area

next plume
chrome beacon
#

Which you then you call the methods on?

dry forum
#

it just shows the interface

chrome beacon
#

So where do you want to access a plot area? At a location? Or do you want all in a world

dry forum
#

im just trying to check if a location/player is in their own plot

#

so im trying to acess public @Nullable Plot getPlot(final @NonNull Location location) { so i can get the plot a location is in and check the owner of the plot

chrome beacon
#

PlotSquared.get().getPlotAreaManager().getPlot(location)

dry forum
#

Cannot resolve method 'getPlot' in 'PlotAreaManager'

chrome beacon
dry forum
#

alright ill try it ty

quaint mantle
#

can anyone give me a example for ban command

echo basalt
#

?spoon

undone axleBOT
#

Spoonfeed a newbie for a day and they'll come back with more questions. Teach them to find their own answers and you'll both be better off: you won't get stuck answering the easy questions and they'll be much more productive than before.

quaint mantle
#

? i only wanted an example

silent steeple
#
if (args.length < 2 || args[1].isEmpty()) {
                    p.sendMessage(ChatColor.translateAlternateColorCodes(
                            '&', "&dYou must give the name of the crate you want here!, /vc create <crate-name>"));
                    return true;
                }
#

this works in 1 of my switch cases

#

but not in the other

#

Index 1 out of bounds for length 1

native ruin
#

means there aren't enough arguments

noble lantern
#

flip your operator for length checking kek

Thats not no ban command

silent steeple
#

nah like i do /vc create with no argument and it says You must give the name of the crate you want here!, /vc create <crate-name>

#

but in the other cases, exact same code it says index lenght out of bounds

noble lantern
#

you need to check lengths before accessing an index

round finch
#

First check length

noble lantern
#

hence IndexOutOfBounds

silent steeple
#

how does that make sense if its /vc givekey <something>

#

thats 2 args

noble lantern
#

arrays start at 0 btw

silent steeple
#

yeah but givekey is args[0]

#

in this case

noble lantern
#

can you just paste the entire onCommand you have?

#

would be easier to figure out whats wrong

#

?paste

undone axleBOT
noble lantern
#

i saw it flickering back and forth lmao

silent steeple
round finch
#

Touch freaking out

#

And won't work properly

noble lantern
silent steeple
#

yes

#

wit

#

wait

noble lantern
#

also switch statements needs breaks @silent steeple

#

thats actually ur issue

#

ur not braking and the switch is falling through i bet

silent steeple
#

return true...

#

its the same thing

noble lantern
#

weird isnt on the paste for me

silent steeple
#

yes it is

#

anyway

#

?paste

undone axleBOT
silent steeple
noble lantern
silent steeple
#

oh

#

LOL

#

i see the errir

#

error

minor otter
#

does sendPacketNearby not exist in 1.19 or am I tripping

silent steeple
#

nvm thx for help buchard

noble lantern
silent steeple
#

i fixed it

minor otter
#

protocollib

#

afaik

river oracle
#

does WorldUnloadEvent not trigger on server shutdown?

echo basalt
#

X to doubt

#

worlds unload after plugins

river oracle
#

ok

#

just gotta move my logic then

dry forum
# chrome beacon getPlotArea*

i dont think its the same method that im looking for, it requires a plot squared location for some reason...? Required type: com.plotsquared.core.location.Location Provided: org.bukkit.Location

noble lantern
#

im sure theres ways to convert between the 2

check the methods/constructors?

#

ctrl + click if ur in intellij for that, lets you view source of some classes

quaint mantle
#

how do u sit on chairs

#

like a plugin that lets u sit on chairs

chrome beacon
quaint mantle
#

on a stair thing

chrome beacon
dry forum
dry forum
#

i dont understand why the made the api so hard to understand... they couldve made it very simple especially since its a paid plugin

chrome beacon
#

The API is well made

#

Use the BukkitUtil class

#

It can convert the location for you

dry forum
#

seems to work ty

river hearth
#

What is the recommended way to write cross version compatible sign code?

halcyon temple
#

sign code?

young knoll
#

Signs have 2 sides now

river hearth
#

ex: sign.setLine(0, "Cruise: ON");

young knoll
#

The cleanest way would be to have 2 modules

#

One for < 1.20 and one for >= 1.20

river hearth
#

I already had 7, I had hoped that wasn't the answer

halcyon temple
#

why you had 7 modules if this is a 1.20 update

young knoll
#

I'm sure there stuff you can do with reflection too

river hearth
#

api, datapack, plugin itself, 1.16 compat, 1.18 compat, 1.19 compat, and now 1.20 compat

young knoll
#

But that's not as clean

river hearth
#

so the answer is that there really isn't a good method ig

halcyon temple
#

is there is a diffrence between 1.20 below versions

shrewd cobalt
#

can someone send the 1.20 spigot download idk how to use buildtools

river hearth
#

for those of us forced to use NMS, yes

#

every version is very different for NMS

undone axleBOT
halcyon temple
#

then you need to have this modules and this is the cleanest way to do multi-version compat

river hearth
#

yes I am aware, I'm just very unhappy that I need to add signs to the duplicated multi-version mess

vast ledge
#

or**

river hearth
#

complaining that I need to write modules to handle <1.20 signs and >1.20 signs differently in the spigot API

#

ignoring my other needs for NMS

next plume
young knoll
#

I mean either way you need extra code to support the back side

river hearth
#

right, but that's not bad

next plume
#

But the existing code should still do what it did on 1.19.
Also, when placing a sign, the client doesn't prompt for the text.

young knoll
#

Yes

#

There are a few sign issues atm

river hearth
#

setLine wasn't working for me when I just tested

young knoll
#

Should be fixed soon

#

I think a new build is out now, try that

next plume
#

md_5 says the sign issues have been fixed. Not sure if the new code will be in a build yet (I'm not seeing 3767 yet).

sullen marlin
river hearth
#

tested and 3767 does fix the sign issue I was having, thank you!

tender seal
#

Question: Is there anyway to make vault_rank capitalized?

#

So like where it shows the player's rank on the scoreboard instead of it being all lowercase the first letter is capital

echo basalt
vast ledge
#

I like my new Library ๐Ÿ˜„

hybrid spoke
vast ledge
#

ik

#

shit

#

wait

#

crap

#

hm

young knoll
#

Too late Iโ€™ve sold all your data

vast ledge
#

theres nothing there tho xD

lilac dagger
#

I'm trying to make a @interface detect if its target field type is null, is it possible without a processor?

sullen marlin
#

Example?

sullen marlin
#

Sounds hard even with a processor

river oracle
#

annotations work purely with processor

#

they are purely comments without a parser

lilac dagger
noble lantern
#

oh he means before runtime

lilac dagger
#

but i think i found the root cause

#

so it will allow null values

river oracle
#

you'd need to make a maven or gradle plugin no?

#

or you could just do native compile time thing like lombok

#

then you'd need to make an IDE plugin

lilac dagger
#

that sounds complicated, so let's not do that, i'll just allow null values

river oracle
#

@urban grotto ftw

#

@urban grotto I almost feel not bad at this point

noble lantern
#

i was just about to do the same thing lmao

lilac dagger
#

wait, can i extend over it so my @Setting does it automatically?

#

wait nevermind

young knoll
#

Having a name like not null in a java programming discord is just asking for trouble

livid dove
#

So looked more into lombok. I can see how you could slip up real easy.

But jesus getting rid of 100 lines of code made me weep like a baby

#

๐Ÿคฃ

quaint mantle
#

how do u hide a player from tab

#

like with packets i guess

livid dove
#

Also wild take is there any inherent performance hit to making a single item stack POTION , grabbing the meta as a field, and just cloning it whenever ur factor needs to make a new Potion meta?

#

Seen 3 separate plugins make a new item / meta every call of the method now and its driving me nuts lol

young knoll
#

I doubt it matters much

livid dove
#

Eh when you have a server with 1500 brew recipies

#

Performance matters ๐Ÿคฃ

#

*I don't own the server but yeah. These guys are legit hitting the dreaded O(n) wall

#

Ngl I wouldn't be surprised if half the "NBT" problems out there with custom item plugins aren't actually caused by a wally storing the meta data in a damn list rather than a map ๐Ÿคฃ

coral condor
#

Getting the same issue

young knoll
#

We are working on that

#

For now, surround it with โ€˜

#

api-version: โ€™1.20โ€™

coral condor
#

thank you

restive mango
#

anyone know a general java education resource about best practices

#

I just wanna know if there are computational costs to: (1) passing a reference to an instance of a class, 'A', which has variables in it 'B' and 'C', which can be obtained through A.getB() and A.getC(), to another class, or just (2) passing 'B' and 'C' directly.

#

I'd prefer to do (1) for readability + I'm trying to use an interface, the issue is some of the things the interface would be for would require only B, and others B and C.

sullen marlin
worldly ingot
#

Plugin version? yes

young knoll
#

I assume so, yeah

#

Iโ€™m surprised no one has commented on it

worldly ingot
#

Most people don't often do single decimal versions tbh

#

1.0.0 is more common

sullen marlin
#

So it's really just not understanding yaml / bad examples being provided

worldly ingot
#

I know for sure I've seen people ask about it in the past though, however it's just not been as much of an issue

#

Well, yeah, not understanding YAML and the fact that 1.13 - 1.19 have all worked thus far

celest sonnet
#

does anyone know why when i set a entitys velocity it doesnt really work in the y direction?

restive mango
#

@celest sonnet what are you setting it to

#

And where are you setting it

#

It might be that thereโ€™s a ceiling above it or something itโ€™s catching on

#

Or itโ€™s a player

celest sonnet
#

i subtract the x y z of each of player from the mob

#

then mulitply by 0.45

#

then just setting it

restive mango
#

Can you post the code

#

Here

#

Plox

celest sonnet
#

Vector direction = new Vector( (playerlocation.getX() - moblocation.getX()) * 0.45, (playerlocation.getY() - moblocation.getY()) (times) 0.45, (playerlocation.getZ() - moblocation.getZ())*0.45);
event.getHitEntity().setVelocity(direction);

#

it works in the x and z direction just fine

#

however the mob wont shoot up at all

restive mango
#

Well

#

Just do player.getlocation().toVector.subtract(mob.getlocation().toVector)).multiply(0.45);

#

This is better code for the vector math

#

But

#

Are you punching the mob from ground level

#

Like are you on the same level as it?

celest sonnet
#

no its a trident that acts like a harpoon

#

and when it hits it just does that

#

so i am doing it from like 20 blocks above it and it doesnt do anything

#

if im directly above it, just stands still

young knoll
#

You can always explicitly set the y to something

celest sonnet
#

but i want it to act kinda like as if i was using a fishing rod on it

restive mango
#

Do you cancel the event?

celest sonnet
#

why would i do that

restive mango
#

Trident has knockback, no?

#

So thatโ€™s subtracting from Y

young knoll
#

If you are setting velocity in a damage event the vanilla knockback will override it

#

Delay it a tick

restive mango
#

^

celest sonnet
#

weird so it only will override the y and not the z/x?

restive mango
#

I think Col might actually be wrong

#

And itโ€™s not that itโ€™s overriding

#

And itโ€™s just subtracting

#

But

young knoll
#

Could be

restive mango
#

Idk

celest sonnet
restive mango
#

Try cancelling the event

#

And get back to us

#

(Best way is runtasklater)

young knoll
#

Since runTask runs a tick later

restive mango
#

It does?

young knoll
#

Yes

restive mango
#

I did not know that lol

hybrid spoke
#

god arrived

#

whats the issue

restive mango
#

I just wanna know if there are computational costs to: (1) passing a reference to an instance of a class, 'A', which has variables in it 'B' and 'C', which can be obtained through A.getB() and A.getC(), to another class, or just (2) passing 'B' and 'C' directly.

#

@hybrid spoke

young knoll
#

Well the first one means you need an extra method call

#

But thatโ€™s basically nothing

restive mango
#

Hm

young knoll
#

The second one means you have 2 references instead of 1

#

Which is again basically nothing

restive mango
#

What Iโ€™m getting is definitely do the second thing and not the first

hybrid spoke
#

In Java, when you pass a reference to an instance of a class, such as class 'A', to another class, the actual reference is passed by value. This means that the reference itself is copied, but both the original and the copied references point to the same object in memory. Therefore, the computational cost of passing the reference is relatively low because it involves copying a memory address.

If you pass 'B' and 'C' directly instead of passing the instance of class 'A', it depends on the nature of 'B' and 'C'. If 'B' and 'C' are primitive types (e.g., int, double, boolean), then their values are directly passed by value, which is also relatively inexpensive. However, if 'B' and 'C' are objects, then passing them directly would involve copying the object's state, which could be more computationally expensive compared to passing just the reference to the object.

In summary, passing a reference to an instance of a class incurs a low computational cost, as it involves copying a memory address. Passing variables directly depends on their types; primitive types have low computational cost, while objects may have higher costs, as their state needs to be copied.

restive mango
#

So I should make my variables primitives and pass them

young knoll
#

I mean

celest sonnet
hybrid spoke
#

no

#

go native

young knoll
#

If they arenโ€™t primitives they arenโ€™t primitives

restive mango
#

What is native

hybrid spoke
#

native.

young knoll
restive mango
#

Well some are just Integer

#

And not int

#

So I can fix that

young knoll
#

Usually you never need the wrapper class

#

So yeah probably want to fix that

celest sonnet
hybrid spoke
#

cant tell if you are serious rn

restive mango
#

Some are vectors and I could turn that into three doubles

young knoll
#

Unless you are doing this for like

#

Rendering

restive mango
#

Aye

young knoll
#

This is micro optimization territory

restive mango
#

For thousands and thousands of particles

#

Iโ€™d love to post video here but I canโ€™t

young knoll
#

Pretty sure you can spawn particles async

restive mango
#

I do

hybrid spoke
restive mango
#

But it still gets up to 100% computer processor usage

#

And when I cut down the particle number it cuts down on processor use

young knoll
restive mango
#

Iโ€™m doing lots of vector math

#

To like spawn a particle 1000x in the shape of a sphere

celest sonnet
hybrid spoke
#

if you are concerned about your variables and passing them and their performance you should probably switch to C++

young knoll
#

Lol

restive mango
#

Is there a way to code in C++ for like a single class

hybrid spoke
#

this have to be rocket science then

young knoll
#

The client can only render 16k particles at once anyway

restive mango
#

Huh

#

So thatโ€™s why

#

It wasnโ€™t rendering the particle motion properly all the time

#

I didnโ€™t know about that cap

#

Interesting

young knoll
#

Youโ€™re lucky itโ€™s that much

#

In old mc it was like 2k

restive mango
#

Iโ€™m going to add a particle counter

#

So my async stops after 16k particles

#

Lol

young knoll
#

Keep in mind particles last for several ticks

#

Depending on the particle type

restive mango
#

Hm

#

Maybe I should just divide the number of particles spawned

#

By the number of particles spawned in the last tick/1000

#

It probably already does some sort of particle throttling

#

So what Iโ€™ve got is: convert my variables to primitive types and pass them all

#

Do not pass objects

#

Or learn C++

#

Ugh this sounds like work

#

Especially since passing a location would have a world object anyway

halcyon topaz
#

Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make field private final java.lang.Object java.util.Optional.value accessible: module java.base does not "opens java.util" to unnamed module @62ae095f
Has anyone ever got this error when working with serializing objects with Gson?

Trying to make something similar to a vault plugin and store items in the vault into a json file for the player and every time it supposed to serialize this happens.

worldly ingot
#

Looks like possibly you have a type with an Optional field?

#

Which probably isn't serializable

#

Ideally you should never have an Optional anywhere other than as a return value

halcyon topaz
#

That's weird. When I serialize the item itself it works and the json file has all the data I want for it but it only occurs when serializing the item when it's in the vault..

zenith gate
#

is there a way to overwrite a recipe? e.g tnt recipe can that be changed? I have already searched couldnt find anything. Thanks.

young knoll
#

Yes

#

You can remove the original and add a new one

zenith gate
#

Ohhhh

#

How exactly would I do that? with Material? or some class type of recipe?

young knoll
#

How would you remove it or add one?

zenith gate
#

remove it

#

i know how to add recipes

young knoll
#

Use Bukkit.recipeIterator

zenith gate
#

so not Bukkit.removeRecipe ?

wise mesa
#

[17:37:46] [Server thread/ERROR]: Error occurred while enabling MCPlanes v0.0.1 (Is it up to date?)
java.lang.NoClassDefFoundError: org/eclipse/jetty/util/component/LifeCycle

#

so I'm using the libraries section in plugin.yml to load jetty

young knoll
#

Oh is there a remove recipe method?

wise mesa
#

but now that I've updated to 1.20 it no work no more

young knoll
#

Yeah by all means use that then

wise mesa
#

):

zenith gate
terse pumice
#

Is there an event for when the Sniffer digs up an item?

young knoll
#

I believe the key for minecraft recipes is the same as their output

#

So itโ€™s just minecraft:tnt

worldly ingot
wise mesa
#

i can just shade it for now but it'd be nice if it worked again lol

young knoll
terse pumice
wise mesa
#

yea and the plugin loaded it just fine on 1.19.4

#

so idk man

young knoll
#

The only thing Iโ€™ve encountered before that didnโ€™t work with libraries is bytebuddy

wise mesa
#

ill delete the libraries folder just in case

young knoll
#

But yeah my 1.20 plugin is loading libraries fine otherwise

wise mesa
#

oh also I was on paper before

#

don't know if that has anything to do with it

young knoll
#

Maybe?

wise mesa
#

okay well I deleted the libraries folder so it's redownloading all of them

young knoll
#

They do load plugins different these days

wise mesa
#

maybe it'll fix it

worldly ingot
#

I figured it would have called that but just wanted to double check md included it already with the 1.20 update

wise mesa
#

still getting noclassdef errors

young knoll
#

Rip

wise mesa
#

has there been any commits since 4:33 pm?

young knoll
#

Might be a spigot only difference then, canโ€™t really tell yet

wise mesa
#

perhaps I need to run buildtools again

young knoll
#

Idk

#

In my timezone the last build was 6:01

terse pumice
wise mesa
#

4:33 est

wise mesa
young knoll
#

I believe there have been changes then, yes

#

Nothing that should effect it but who knows

wise mesa
#

who knows

#

ill build again on server and test 1.19.4 locally

wise mesa
#

worked on spigot 1.19.4

#

updated to latest commit, still no work

#

ill just shade

young knoll
#

Weird

severe scarab
#
Prizes:
  diamond_helmet:
    chance: 20.0
    display:
      item: DIAMOND_HELMET
      glow: false
      amount: 1
      name: '&6&lNoob Helmet'
      lore:
      - '&aChance: &e%chance%'
    commands:
    - give %player% diamond_helmet 1``` Hey guys how would I add enchantments to that helmet?
sullen marlin
river oracle
minor otter
#

sendBlockDamage flickers alot, how can I circumvent this?

young knoll
#

It flickers if the player is mining said block

#

You can give them mining fatigue to stop them from making actual progress

severe scarab
#

where would i add enchantments.protection.name: PROTECTION_ENVIRONMENTAL enchantments.protection.level: 3 in this script? V # Crate Prizes Prizes: diamond_helmet: chance: 20.0 display: item: DIAMOND_HELMET glow: false amount: 1 name: '&6&lNoob Helmet' lore: - '&aChance: &e%chance%' commands: - give %player% diamond_helmet 1

minor otter
#

they have -1 mining fatigue

wise mesa
#

in a bit

tranquil prairie
#

Is this the correct code to calculate Y acceleration? I get a lot of random values jumping from -1 to inf

 public double getYAcceleration() {
        Vector currentVelocity = p.getVelocity();
        double deltaYVelocity = currentVelocity.getY() - prevVelocity.getY();
        double deltaTime = (System.currentTimeMillis() - lastVelocitySet) / 1000.0;
        return deltaYVelocity / deltaTime;
   }```
river oracle
#

@worldly ingot Okay In game odd behavior with this lol

inventory = Bukkit.spigot().createInventory(null, 9,
                TextComponent.fromLegacyText("Test Component", ChatColor.AQUA));
        e.getView().spigot().setTitle(TextComponent.fromLegacyText("Test Component", ChatColor.GREEN));

Seems like a bit out of scope of your PR but I think TextComponet#fromLegacyText(String, ChatColor) is broken

#

I get correct coloring with

        inventory = Bukkit.spigot().createInventory(null, 9,
                new ComponentBuilder().append("Test Component").color(ChatColor.AQUA).create());
        e.getView().spigot().setTitle(new ComponentBuilder().append("Test Component").color(ChatColor.GREEN).create());
worldly ingot
#

Well, yeah, that's just because fromLegacyText() is doodoo

river oracle
#

is their a shorter way than new ComponentBuilder()?

worldly ingot
#

Not really. When you're dealing with components, you're dealing with components lol

tranquil prairie
worldly ingot
#

I want to try and adopt MiniMessage standard for BungeeChat, but we'll see

#

Future PR

river oracle
#

well in that case time to approve your PR i did a bit of fucking around other than fromLegacyText() sucking ass which isn't your fault it looks good