#help-development

1 messages · Page 1054 of 1

heavy swan
#

I get it. Thank you

wet breach
#

but you would need a really long name though that it wouldn't even remotely make sense to use unless you were specifically testing this lol

#

as for performance? no impact

young knoll
#

It affects jar size though!!!!!111

wet breach
#

that is true, how much hard to say though

#

but regardless not a very large size difference

drowsy helm
#

even if it did affect performance it would be so minisucle that it would be negligible

obtuse hedge
#

is there a armor equip event

#

and unequip

drowsy helm
obtuse hedge
#

:(

drowsy helm
#

there are a few different events you can listen to like interact event, dispense event etc to get it though

shadow night
#

Doesn't alex have a lib for that

drowsy helm
#

yeha was about to say theres a lib out there for it

#

not sure if it's alex's tho

shadow night
#

It even is on maven central damn

obtuse hedge
#

lol

drowsy helm
#

Funny how mojang find it necessary to send a packet when you open the advancements tab, but not inventory

wet breach
drowsy helm
#

interesting

wet breach
#

yeah, so all you have to do is listen for the click events I guess

#

and just use some other method to know its the player inventory

eternal oxide
#

player inventory is open even when its not

echo basalt
#

pretty sure it's just returned as a default value

pseudo hazel
#

still weird why they need to know the advancements screen opened though

echo basalt
#

probably because the server is the one tracking that data

#

and not the client

#

The client always needs context of its inventory for things like the hotbar

#

And opening its inventory without a network request

pseudo hazel
#

so each time it sends all advancements to the player when they open the menu?

echo basalt
#

But advancements can wait

pseudo hazel
eternal oxide
#

recipes are registered

#

known recipes are stored in teh player dat file

tardy delta
#

minecraft discord full, ah dammit

sterile breach
#

Hi, I am beginner in protcol libs/packets, is possible to delay a loading screen to client(and block actions)?

pseudo hazel
#

what are block actions

sterile breach
#

Block player sending packet for all interaction with the world like break a bloc when he is in loading screen

drowsy helm
#

i dont see any hurt in mojang sending a packet if its not handled by anything just for us devs

wet breach
#

well it used to send a packet

#

not sure why the change though

alpine urchin
#

pedantically saving some bandwidth

upper hazel
#

wth with "addItem"

#

it doesn't work well. Either it adds or it doesn’t

pseudo hazel
#

can you be any less specific?

#

do you mean from inventory?

upper hazel
#

yes

pseudo hazel
#

I think it tries to ad

#

and returns what didnt fit

upper hazel
#

but why he work so bad

pseudo hazel
#

idk

#

i never had issues with it

tardy delta
#

anyone knows if hopper minecarts collide with eachother?

pseudo hazel
upper hazel
#

acts like a capricious girl💀 it adds then it doesn’t

tardy delta
#

idk what any other minecarts means

pseudo hazel
#

well idk

#

they do have some collision

#

like they push each other forward

#

on rails atleast

#

idk about when they just laying on the ground

#

but probably similar to boats then

#

thats my knowledge about vanilla idk if spigot messes it up

tardy delta
#

ah too bad

#

needed them to ride independent of one another, ignoring collisions

pseudo hazel
#

hmm yeah that may be a bit hard to do

#

wouldnt surprise me if they have their own special railed minecart collisions logic, since they interact with other entities differently that arent on tracks iirc

upper hazel
# upper hazel

I realized what my problem is: if I put an item in inventory from the gui and then delete it, I can’t get the same item again from the gui, I used the clone method but it doesn’t work

#

the link item changes to air
material

pseudo hazel
#

show code

upper hazel
#

check link

#

oh wait you mean with clone?

pseudo hazel
#

yes I mean the code that has the issue you were describing

#

so I can actually see what the issue is

#

instead of guessing

upper hazel
pseudo hazel
#

where are you making this item?

upper hazel
#

itemStack change material to air

#

add to map

#

in controller class

#

create clone for icon and item what i should get

pseudo hazel
#

are you ever setting tradeItem to air then?

#

or what class is that even

upper hazel
#

you mean debug?

#

google bad translate

#

oh

#

no i not

#

in code not

#

i just clear item from inventory in minecraft

#

clone method not help

#

the object still turns into air

#

for some reason it's hitting the object vault

#

and change material

pseudo hazel
#

where are you clearing the item

obtuse hedge
#
        private double findY(double x, double z) {
            double minY = boundingBox.getMinY();
            double maxY = boundingBox.getMaxY();
            for (double y = maxY; y > minY; --y) {
                Block block = world.getBlockAt((int) x, (int) y, (int) z);
                if (block.getType() != Material.AIR) {
                    return block.getY();
                }
            }
            return 0.0d;
        }```
#

why doesnt this work

alpine narwhal
obtuse hedge
#

ty

#

omg

#

is there any helper methods to summon clientside particles?

eternal oxide
#

ALL particles are client side

obtuse hedge
#

how can i hide them for other players

alpine narwhal
eternal oxide
#

you spawn them for only that player

obtuse hedge
#

nice

eternal oxide
#

World#SpawnParticle(... sends to all. Player#spawnParticle(... sends to that player only

obtuse hedge
#

ahhhhhh

alpine narwhal
#

lol i sent the wrong link but elgar got it

obtuse hedge
#

lool

#

whats wrong with this

#
for (double x = boundingBox.getMinX(); x < boundingBox.getMaxX(); ++x) {
    for (double z = boundingBox.getMinZ(); z < boundingBox.getMaxZ(); ++z) {
        BoundingBox other = new BoundingBox(boundingBox.getMinX() + 1, boundingBox.getMinY(), boundingBox.getMinZ() + 1, boundingBox.getMaxX() -1, boundingBox.getMaxY(), boundingBox.getMaxZ() - 1);
        if (other.overlaps(boundingBox))
            continue;
        Block block = world.getHighestBlockAt((int) x, (int) z);
        if (block.getType() == Material.AIR)
            continue;
        double y = block.getY();
        spawnParticle(x, z, y, y + 20);
    }
}
eternal oxide
#

x,z,y ?

obtuse hedge
#

"alot"

obtuse hedge
#

wait

#

yea

#

private void spawnParticle(double x, double z, double minY, double maxY) {

#
        private void spawnParticle(double x, double z, double minY, double maxY) {
            for (double y = minY; y < maxY; ++y) {
                this.player.spawnParticle(Particle.COMPOSTER, x, y, z, 8);
            }
        }
obtuse hedge
#

why isnt it working

alpine narwhal
#

Wouldn't it be x, y, z, count?

icy beacon
#

?notworking
elaborate WHAT is not working, are the particles not spawning? are they spawning not where you want them to spawn? what have you tried to fix this? are you sure this method is getting called and no early returns stop it? etc

undone axleBOT
#

"Does not working" is a useless statement. Please describe what exactly is not working, what you expect it to do, and what actually happens. If you get any console errors, also ?paste the entire stacktrace.

obtuse hedge
#

its not showing the particles

#

in the area

#

not even where it was before

#

after changing my method, to use the world#getHighestBlock

icy beacon
#

so it WAS working before you changed it?

obtuse hedge
#

kind of

#

it was at the top of the world

#

and it was showing

#

so it was "working"

icy beacon
#

so try to print out the result of calling world#getHighestBlock, see if it returns the Y value you need, and work from there

obtuse hedge
#

btw could this possibly be wrong

#
BoundingBox other = boundingBox.clone().expand(-1);
if (other.overlaps(boundingBox))
    continue;
#

should it be contains

icy beacon
#

i have no idea. read docs & debug

obtuse hedge
#

to bad there isnt a shrink method

#

only expand

#

it works now

#

with contains

#

but its not working like i want it to

#

its suppose to ignore the center

#
for (double x = boundingBox.getMinX(); x < boundingBox.getMaxX(); ++x) {
    for (double z = boundingBox.getMinZ(); z < boundingBox.getMaxZ(); ++z) {
        BoundingBox other = boundingBox.clone().expand(-1);
        if (other.contains(boundingBox))
            continue;
        double y = world.getHighestBlockYAt((int) x, (int) z, HeightMap.MOTION_BLOCKING);
        spawnParticle(x, z, y, y + 20);
    }
}
kindred sentinel
#

Is there a way to get something like Entity.getNearestEntities() but with location instead of entity?

#

without checking every single entity in the world

young knoll
#

World#getNearbyEntities

kindred sentinel
#

thanks

obtuse hedge
#

something is severly wrong with bounding box

#

its like impossible to make a bounding box copy with it shrunken

#

else it implodes

lilac dagger
#

it's offset to the location

hybrid spoke
blazing ocean
#

@remote swallow

#

fuck

#

wrong channel

opal sluice
#

Hi, I have a problem with armor stands and FAWE. Is that possible to avoid FAWE breaking the armor stand when it replaces blocks the armor stand is in? I'm using it to animate a structure and the structure can pass on armor stands that should be unbreakable :/

obtuse hedge
#
            BoundingBox other = boundingBox.clone().expand(-1);
                        if (other.overlaps(boundingBox))
                            continue;```
#

why does this not work

#

i want the inner of the bounding box

eternal oxide
#

inner?

obtuse hedge
#

yes

#

like a inside of a square

eternal oxide
#

multiply (-0.1)

#

or -0.9 whichever works

#

-1 makes it a point

obtuse hedge
#

bounding box?

#

doesnt have a multiply method

eternal oxide
#

expand

obtuse hedge
#

??

#

-0.1

#

oh

eternal oxide
#

if your box is of size 1 and you expand by -1 you get zero

obtuse hedge
#

ah

#

well it isnt size 1

eternal oxide
#

ok, if it's size 10 and you expand by -1 you get a size of 8 or 9

#

I forget if it affects max and min

#

-1 is a full block

slender elbow
#

yeah it affects all sides

obtuse hedge
#

wait

#

i think i know a diff issue

#

other.overlays will always be true

#

cause like its a region

#

right

slender elbow
#

yeah they'll always be overlapping

obtuse hedge
#

i just want to check if its in the x y z

slender elbow
#

huh

obtuse hedge
#

i just want to check if the new region is inside

#

not the whole thing

eternal oxide
#

ALL inside?

obtuse hedge
#

i wanna keep the outer outline

eternal oxide
#

or overlap?

obtuse hedge
#

i think

eternal oxide
#

yeah, make up yoru mind what you actually want to do

obtuse hedge
#

i know what i want to do

#

i want to keep a outline

#

[]

#

rn its filling

eternal oxide
#

we have no clue what you are actually doing

obtuse hedge
#

im making a border

slender elbow
#

confusion

eternal oxide
#

border around what?

obtuse hedge
#

a square/rectangle region

eternal oxide
#

with particles?

obtuse hedge
#

yes

eternal oxide
#

those particles being ON the outline?

#

or inside?

obtuse hedge
#

on the outline

#

i have the width/height right

#

its just the middle is showing particles i dont want

eternal oxide
#

then why are you checkign if one BB is inside another?

obtuse hedge
#

to continue/skip those particles

#

in the middle

eternal oxide
#

that makes no sense, explain better

humble lynx
#

Oh you've got a solid block of particles?

obtuse hedge
#

bro

obtuse hedge
eternal oxide
#

You said you are displaying particles around the outside of a BB, but you are checkign the overlap of some other BB and don;t want to display particles in teh overlap? What?

obtuse hedge
#

those particles on around the outside are part of the same block

#

like dude

eternal oxide
#

Yeh I have no idea what you are describing.

obtuse hedge
#

ok

#

use chatgpt if you really need that help understanding

eternal oxide
#

lol, you are the one asking for help

humble lynx
#

There's probably some math that you could find online to create an empty cube. Get the two points of the bb and import that math

eternal oxide
#

drawing a border, edge or face is simple, you have yet to tell us what exactly you are attempting to do

#

You seem fixated on whatever your attempt was, instead of describing what your final goal is.

#

like... I have a BoundBox and I want to spawn a particle at every point on its surface., or I want a particles only tracing the 8 lines.

obtuse hedge
#

i have bounding box
i swap particle
only on the outer blocks and not insude

[ (not here) ]

eternal oxide
#

theres no reason to be using two bounding boxes to draw a border

finite edge
#

i use this code and the particle just fly every where i try it without the explosion and it was the same. code:

public class TNTWandListener implements Listener{

private final HashMap<UUID, Long> cooldown = new HashMap<UUID, Long>();

@EventHandler
public void onRightClick(PlayerInteractEvent event)    {
    Player player = event.getPlayer();
    if (event.getAction() == Action.RIGHT_CLICK_AIR|| event.getAction() == Action.RIGHT_CLICK_BLOCK)    {
        if (event.getItem() != null) {
            if (event.getItem().getItemMeta().equals(ItemManager.TNTwand.getItemMeta()))    {
                if (!cooldown.containsKey(player.getUniqueId()) || System.currentTimeMillis() - cooldown.get(player.getUniqueId()) > 10000) {
                    cooldown.put(player.getUniqueId(), System.currentTimeMillis());
                    Block block = getTargetBlock(player, 20);
                    player.getWorld().createExplosion(block.getLocation(), 3.0f);
                    player.setCooldown(Material.STICK, 200);
                } else {
                    player.sendMessage("You can't use this ability again for another " + (10000 - (System.currentTimeMillis() - cooldown.get(player.getUniqueId()))) + " milliseconds!");
                }
            }
        }
    }
}

public final Block getTargetBlock(Player player, int range) {
    BlockIterator iter = new BlockIterator(player.getEyeLocation(), 0.0, range);
    Block lastBlock = iter.next();
    while (iter.hasNext()) {
        lastBlock = iter.next();
        if (lastBlock.getType() == Material.AIR) {
            player.getWorld().spawnParticle(Particle.FLAME, lastBlock.getLocation(), 1);
            continue;
        }
        break;
    }
    return lastBlock;
}

}

obtuse hedge
#

ok im close

#

i almost have it

#

I did it

#
if ((x > boundingBox.getMinX() && x < boundingBox.getMaxX() - 1) && (z > boundingBox.getMinZ() && z < boundingBox.getMaxZ() - 1)) {
    continue;
}
humble lynx
finite edge
#

yeah

humble lynx
#

Have you tried another particle?

#

Iirc some particles have crazy functionality

finite edge
#

ok ill try another

eternal oxide
#

pass a speed value of zero when you spawn teh particle

eternal oxide
#

extraData I believe

humble lynx
#

I've got some particles to bring back if so 🤣

finite edge
tardy delta
#

people literally copying code from internet i see

spice bough
#

guys i have a setting in config.yml :
items:

  • BEDROCK

if i delete BEDROCK with "-" it still returns BEDROCK
but if its like this:
items:

there is no problem, its not returning anything 👍

#

(dots are -)

finite edge
#

it works with another particle

tardy delta
#

did you save or reload config?

spice bough
#

if i dont put any "-" it returns old value

#

or default value i think

tardy delta
#

- implies null

eternal oxide
#

Zero offset and zero speed

spice bough
#

can i send photo of config here with photo host website url ? does it comply with rules

eternal oxide
#

?img

undone axleBOT
#

Can't send images? That's because you're not verified! Use !verify to complete verification.
Alternatively, you can upload screenshots to any image hosting site and share the link.

Here's some screenshot utilities that you can use to upload images.
Lightshot: https://prnt.sc
Imgur: https://imgur.com/upload
Flameshot: https://flameshot.org

finite edge
#

thanks

granite night
#

Can someone help me with this problem?
Here is the code

    private ItemStack head;
    public Heads(String value,String name){
        head = new ItemStack(Material.PLAYER_HEAD,1,(byte) SkullType.PLAYER.ordinal());
        SkullMeta skullmeta = (SkullMeta) head.getItemMeta();

        GameProfile profile = new GameProfile(UUID.randomUUID(), "");
        profile.getProperties().put("textures", new Property("textures", value));
        Field field;
        try {
            field = skullmeta.getClass().getDeclaredField("profile");
            field.setAccessible(true);
            field.set(skullmeta, profile);
        } catch (NoSuchFieldException | IllegalArgumentException | IllegalAccessException x) {
            x.printStackTrace();
        }
        List<String> lore=new ArrayList<>();
        lore.add(ChatColor.translateAlternateColorCodes('&',"&e&nLeft Click&b to go to the mine"));
        skullmeta.setLore(lore);
        skullmeta.setDisplayName(name);
        head.setItemMeta(skullmeta);
    }

    public ItemStack getHead() {
        return head;
    }
}```
spice bough
finite edge
#

someone know if i can cooldown an item by his meta and not by his type

eternal oxide
#

not automatically

#

cooldown is by Material

finite edge
#

yeah i know

#

but i need to cooldown an item by his meta is it possible?

pseudo hazel
#

yes you can keep track of when they used it

#

and when they use it again compare the time and see if the cooldowm should be done

finite edge
#

but how i cooldown only the item that has the meta and not all the material?

slender elbow
#

the vanilla cooldown system does not allow for that

#

you'd have to keep track of that yourself and cancel whatever events related to whatever you want to allow/prevent

finite edge
#

thats what i use now but its cool down regualar sticks too
player.setCooldown(Material.STICK, 200);

eternal oxide
#

Three peopel have told you now you can not do it with normal cooldowns

slender elbow
#

[10:18]Emily: the vanilla cooldown system does not allow for that
[10:18]Emily: you'd have to keep track of that yourself and cancel whatever events related to whatever you want to allow/prevent

#

it's only impossible if you ignore my second message

finite edge
#

i keep track of it myself

echo basalt
#

emily uses irc mode confirmed

granite night
#

Does someone how to check if a player is in a certain region?

pseudo hazel
#

maybe using a BoundingBox

granite night
pseudo hazel
#

if (new BoundingBox(c1, c2).contains(pos))

hushed spindle
#

im gonna make a premium version of my free plugin, basically an upgrade to the free one. what would be the best way to manage them, because I'll want changes made to the free plugin to also be reflected to the premium one. make a branch for the premium one, or a fork, or maintain the two separately?

#

branch seems the easiest but its obviously not how git is intended to be used i reckon, and there might be a catch im not aware of

granite night
#

Can anyone help me?

hushed spindle
#

check if clicked item is null first

#

NullPointerException means you tried doing something on an object instance that doesn't exist

#

and clicking on an inventory may result in the current item (clicked item) being null if you clicked on an empty slot or outside the inventory

granite night
hushed spindle
#

like i said, clicking outside might be null too

#

or clicking on your own inventory on an empty slot

granite night
hushed spindle
#

check if clicked item is null first

#

do nothing if its null

#

by doing nothing i mean return or not having the rest of your logic executed

granite night
#

understood

remote swallow
blazing ocean
#

why tf did you sign me up for all jb newsletters

remote swallow
#

Bc it was funny

icy beacon
#

yall what do you recommend for self-hosting docs in markdown? i'm currently thinking MkDocs or MdBook but i'm not sure if these are the best and i lack knowledge
tell me what you use/recommend and why 🙏

spice bough
#

in config.yml when i provide this it returns nothing it says its empty there is no problem

#

but when i delete "-" it returns the default value of items list which is bedrock

#

how can i fix it

icy beacon
#

idk what you are trying to do but alternative syntax is items: []

slender elbow
slender elbow
slender elbow
#

not personally, i've seen people use mkdocs regularly

icy beacon
#

kk

spice bough
#

thanks

slender elbow
#

well, no, because it's gonna give you the default value

spice bough
slender elbow
#

it will clear the list the user put in the config

#

but when you call getList, it will give you the default values

#

that's what default values are for, in case the user didn't configure the entry

mortal hare
#

why does protocollib author have dedicated jenkins server and at the same time uses github actions to build the artifacts and deploy them using actions/artifact-upload runner?

eternal oxide
#

legacy

mortal hare
#

??

mortal hare
#

to run a dedicated server

eternal oxide
#

not really

mortal hare
#

its not like he's burning money just because of legacy

eternal oxide
#

often self hosted

mortal hare
#

that doesnt mean electricity doesnt cost

eternal oxide
#

he probably had teh jenkins up before GitHub actions even existed

mortal hare
#

im thinking to do CI/CD pipeline for my minecraft's server configuration files. I want to do version control via git. There's two ways im thinking to do:

  1. I could use github actions and listen for commit into main and github's secrets to build a docker image, publish it into github's container registry, SSH into my server via the runner, pull it from github's container registry, and setup a cron job for restarting the server notifying to players about the update and after some time (lets say 30 secs) pull the docker image and restart the container.

Or...

  1. I could setup github webhook and dedicated jenkins server. Listen to the commit into main via the webhook and do run jenkins pipeline to do the same as in i explained previously.

Which option should i choose is there any better way to do deployment into minecraft server

#

I like the second because if there's insider in the github repo he wouldnt have access to the server's data as he wouldnt even know the server's credentials at all, and i would setup the placeholders for deployments which he could use to configure database credentials

#

but it costs infrastructure to setup (jenkins server)

#

what do you guys suggest?

gentle inlet
clear steeple
#

I'm making a spigot 1.20.1 plugin with maven, but I don't know how to make the plugin compile directly to my plugins server folder. Is there any way how?

eternal oxide
#

?nms go here and look for the post about compiling to teh plugin folder

torn shuttle
#

is there an easy way via the api to remove a boss bar from a boss?

#

wither specifically

#

or otherwise make it so players don't see it

eternal oxide
#

how about Boss#getBossBar().setVisible(false)

coral peak
#

im so very confused
i downloaded the Git and buildtools when i run Git bash and put in the command 'java -jar BuildTools.Jar' i get unable to access jarfile Buildtools.jar
my brain is absolutely cooked and im so ungodly frustrated
if anyone has any advice or a way i can do this that i cant seem to figure out it would be great

onyx fjord
#

did something about #isSimilar change in recent versions

quaint mantle
onyx fjord
#

or the jar name you provided is wrong

torn shuttle
coral peak
#

so i should download 'windows cmd' or 'powershell' to then run the buildtools.jar

coral peak
onyx fjord
#

ls or dir command, copy and paste the name (if its present)

#

if its not you have to 'cd' into the right directory

onyx fjord
#

git bash should work tho

coral peak
#

ill share my screen just to show you if you want. im so lost

#

it always says unable to access jarfile BuildTools.jar

#

and i just ran it with windows cmd

warped rain
#

if u can help me with blockplaceevent dm me

river oracle
#

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

lilac dagger
coral peak
#

okay so! did the compiling for 1.21. i have folders with a bunch of stuff and i had to update java to 21. after this idk what to do. i was told doing this would solve the inventory deletion upon death bug, but when i just now tried it out i still had it. whats my next step?

#

am i supposed to put this somewhere so my server can see it?

pseudo hazel
#

did you use buildtools?

coral peak
#

yes i used Buildtools with git and using the cmd jara-jar BuildTools.jar

umbral ridge
#

can you change the light level of the block? or turn it off and on? for lantern

pseudo hazel
#

why not use the gui?

coral peak
#

gui on what?

pseudo hazel
#

on buildtools

coral peak
#

the git took me to a spigot thing where i compiled all my files

pseudo hazel
#

?buildtools

undone axleBOT
pseudo hazel
#

and then in the select version box you use 1.21

coral peak
#

%USERPROFILE%\Downloads\BuildTools

pseudo hazel
#

you dont need to do any of that im pretty sure

#

like you download buildtools.jar and open it

coral peak
#

that gui at the bottom did come up after i went through git

pseudo hazel
#

by double clicking

#

this one?

coral peak
#

yes

pseudo hazel
#

in there you just select 1.21 from the dropdown and click compile

#

that will make a spigot.jar file you can use as a server

coral peak
#

so what i have so far\

#

oh i cant post pictures

pseudo hazel
#

?img

undone axleBOT
#

Can't send images? That's because you're not verified! Use !verify to complete verification.
Alternatively, you can upload screenshots to any image hosting site and share the link.

Here's some screenshot utilities that you can use to upload images.
Lightshot: https://prnt.sc
Imgur: https://imgur.com/upload
Flameshot: https://flameshot.org

coral peak
#

regardless, i want this problem on my server resolved or i probably wont use spigot. i did the buildtools gui and i have an entire folder from that download, what should i do with it in order for my spigot 1.21 server to run correctly

#

do i have to open a whole new server?

river oracle
#

it should create a spigot-1.21.jar

#

then that is your server jar

coral peak
#

after the above downloads i ran my server to see. my console still said outdated build and i still had the bug. how do i get it to see my new server jar

#

im very bad with tech as you can see

river oracle
#

did you copy and paste the jar into your server directory

#

and run the correct jar

coral peak
#

no i havent

river oracle
#

you need to do that

coral peak
#

let me try

river oracle
#

BuildTOols doesn't know whre your server directy is

#

it can't automatically replcae your jar

coral peak
#

would it be in like file manager?

river oracle
#

your folders tend to be in that location

#

I'm not really sure what your question even is

#

what part are you struggling with even? Copying the spigot jar into your server directory?

coral peak
#

i dont know where to find to replace the jar file

river oracle
#

wherever you run your server at?

coral peak
#

i use scala cube

river oracle
#

yeah idk what that means

#

I can't help you there

coral peak
#

i have scala-cube with a spigot server

#

scala cube is where all my server info is. files and plugins ect

river oracle
#

I don't know what a scala-cube is or anything about them so I can't help you with that

#

if you can copy files into that you just put your jar file in there

mortal hare
#

bruh i just found solution how to declare plugin configurations for minecraft server in git. There's itzig's minecraft-server docker image which allows you declare what kind of plugins would you use by providing download links to to them and it'll autodownload them

#

also it allows you to specify what kind of minecraft server do you want to use

river oracle
#

how tf does that work for premium plugins

mortal hare
#
services:
  mc:
    image: itzg/minecraft-server
    environment:
      EULA: "true"
      TYPE: "PAPER"
      PLUGINS: |
        https://download.geysermc.org/v2/projects/geyser/versions/latest/builds/latest/downloads/spigot
        https://download.geysermc.org/v2/projects/floodgate/versions/latest/builds/latest/downloads/spigot
    ports:
      - "25565:25565"
      - "19132:19132/udp"
    volumes:
      - ./data:/data
#

well you can host your own private mirror (its not piracy as long as you are the only one who's using it ;P)

#

i honestly dont care about premium plugins

#

i dont use premium plugins, i use public ones, if i don't find one, i am the one who's coding it for myself ;D

#

with this docker image you can now only host configuration files without jar artifacts

#

also it allows you for an easy deployment with github container registry

#

and github actions

#

it even supports folia btw (since paper api already supports folia builds, you can straight up download builds from the web api instead of compiling it, but you can also compile it from git repo)

#

its kinda weird that paper web api supports folia, but yet we dont have front end part for it

#

i asked it on papermc discord somebody said that this is due to deter people who know little to no about paper from those who use such api's, they already know what they're doing

#

so that there's no discussions like "OH NO WHY THIS DOESNT WORK, PAPER, FOLIA BAD AHH"

quaint willow
#

Are there any news on the upcoming api changes for 1.21?

pseudo hazel
#

not really

#

I heard people talking about material getting split into 2 separate classes for blocks and items

#

but idk for sure

quaint willow
#

there is no branch/pr that we can track?

pseudo hazel
#

idk

#

its probably in md's private stuff or smth

#

but I havent looked into it tbh

young knoll
#

ItemType and BlockType are already in the api

#

They are just internal for now

pseudo hazel
#

oh

#

nice

#

I hope

young knoll
#

Material won’t be removed

#

Just deprecated afaik

pseudo hazel
#

kinda makes sense

#

you would only break every single plugin

young knoll
#

Nah it would get remapped

#

But it’s easier to just not

pseudo hazel
#

yeah

tardy delta
remote swallow
#

are you telling me you dont want to increase plugin startup overhead to 10 seconds

pseudo hazel
#

I mean, when do i know a lot?

pseudo hazel
#

but like I am slowly relocating my knowledge to paper, so yeah makes sense ig

young knoll
#

It already has to go through every class, the actual changes aren’t as much in comparison

remote swallow
tardy delta
#

time to touch minestom

eternal night
#

its not fixable

#

nothing to do

pseudo hazel
#

dont violate minestom like that

tardy delta
#

gently

eternal night
#

commodore is such a fucked thing at this point, it's fixable by re-implementing it

remote swallow
pseudo hazel
#

you still need consent

tardy delta
#

its 18+

remote swallow
#

wasnt it like 5-10 second diff spigot v paper

pseudo hazel
eternal night
#

no its a general thing, we haven't fixed it either

#

because its terrible to fix

remote swallow
#

remove in softspoon?

eternal night
#

Yes

young knoll
#

Reimplement it with what

eternal night
#

papermc/asm-utils

tardy delta
young knoll
#

I guess you could cache the changed jars

#

That would help

eternal night
#

Sure I guess

#

but I mean, you can also just do things at build time for the one horrible offending code

#

Well i doubt spigot can

#

because, yknow, ✨ maven ✨

young knoll
#

That doesn’t help for already built jars tho

tardy delta
#

what does it do again? i understood it relocates old method implementations to newer ones.. but where do these old ones come from..?

eternal night
young knoll
#

Am confusion

eternal night
#

No like

young knoll
#

You mean when spigot is built?

eternal night
#

spigot's commodore has to do some braindead shit

#

and you can either fix it by hardcoding stuff

#

or by generating some class dependency graph at build time for spigot-api

#

and then use that instead of this BS of a method

young knoll
#

I see

tardy delta
#

i mean where is that old still api being used?

late sonnet
young knoll
#

In old plugins

late sonnet
#

very old plugins

eternal night
#

THat method is for the Material -> ItemType

#

it applies to everything

tardy delta
#

why do we care about old plugins

eternal night
#

😏

tardy delta
#

why not do an api-version trick

river oracle
young knoll
#

We rewrite material to ItemType?

tardy delta
#

exactly why i love minestom

eternal night
#

not yet

#

but the commodore groundwork for it is there

young knoll
#

I see

eternal night
#

it does nothing rn

#

but adds overhead

#

y'know

#

casually

young knoll
#

Your head is

#

Uhh

#

Over

eternal night
#

maybe I just won't do an upstream update

late sonnet
tardy delta
#

if those kids would learn java in the first place..

young knoll
#

I have a dream that the paper team and MD can learn to get along

tardy delta
#

skript mentioned

eternal night
#

I have a dream we just hardfork, but w/e this isn't the discord to sob about it

young knoll
#

Yes I know it won’t happy but one can dream

tardy delta
#

i had a dream about force pushing stash

young knoll
#

Ya keep saying it

#

But ya never do

eternal night
#

😏

young knoll
#

Paper hardfork coming with the release of hytale

#

Real

late sonnet
remote swallow
river oracle
#

I have a dream that epic gets a second braincell

eternal night
#

it fucks with the damage system again, piling more diff onto a system that barely works KEKW

remote swallow
late sonnet
eternal night
#

they'll be the reason for softspoon

remote swallow
late sonnet
#

and well that PR i remember not has many comments :/

eternal night
#

I mean yea, because no one can look at PRs without signing shit KEKW

young knoll
#

If I managed spigot I’d probably deprecate stuff for like, 5 versions and then remove it

#

But that’s just me

late sonnet
eternal night
#

Yea

young knoll
#

3, 5, whatever

remote swallow
#

1

young knoll
#

I guess 3 is 3 years which is quite a while

remote swallow
late sonnet
remote swallow
#

deprecate in .0, leave .1, start printing warnings .2 and throw errors by .3

river oracle
#

thing is, is maintaing support for such old versions is kinda a huge shackle

remote swallow
#

remove by .4

young knoll
#

That’s like

#

1 year

remote swallow
#

yeah

#

long enough

#

and you can probably automate \it

river oracle
#

I understand wanting to maintain legacy stuff for some time, but especially with legacy materials and such its been so many versions

young knoll
#

Idk man sometimes plugin devs go into a coma for a while

remote swallow
#

skrill issue

remote swallow
#

what colour slime are you

young knoll
#

Red

#

Blood slime

#

Dangit now I want Mojang to add colors to slimes

#

Like they did with shulkers

remote swallow
#

vanilla tweaks

remote swallow
#

new deprecation process

#

@river oracle will use it in orbit mc

eternal night
#

orbitmc?!?!?

river oracle
#

I renamed again

eternal night
#

big

river oracle
#

I'm going through my change the name every 10 seconds phase

young knoll
#

The wine got launched into space

remote swallow
river oracle
#

I will settle eventually

young knoll
#

JishMC

#

Not biased

remote swallow
#

JishCollect

river oracle
#

hmmm

#

good one

remote swallow
#

JishCosmetics

young knoll
#

Hey

alpine urchin
#

ima orbit your nut

young knoll
#

You do the same with pineapple

river oracle
#

kekw

eternal night
remote swallow
river oracle
#

every name on earth is taken on github though

#

so idk what else I'd do

alpine urchin
#

retrooper wasnt

remote swallow
#

remember when we couldnt get the email because it was all claim

alpine urchin
#

i emailed an email i want

#

if we can trade

#

no response

#

what a waste of the email name

remote swallow
#

no shit

#

they just get botted

alpine urchin
#

probably inactive

#

goody ah

river oracle
#

its probably botted

#

a lot of bots probably bot names so they can either sell them or just use them maliciously

alpine urchin
#

retrooper was botted?

young knoll
alpine urchin
#

😭

remote swallow
#

BPD doesnt count

young knoll
#

What about DID

#

I mean I don’t have either but still

remote swallow
#

no it doesnt count either

tight compass
#

Where do servers define the block state registry?

vast ledge
#

tf is the block state registry

slender elbow
#

a registry of block states

#

thank me later

novel parrot
#

Is there a simple way to get the block a players feet are touching?

If I do player.getLocation(0,-1,0)…etc to get the block it sometimes represents the block below, like when the player is on slab.

blazing ocean
#

just the player's location

tight compass
# vast ledge tf is the block state registry

In Minecraft blocks can have various different states. For example, a door can be opened or closed. From what I understand, the Block State Registry lets you get the numerical id of the state

tight compass
blazing ocean
tight compass
#

I would like to look at it

blazing ocean
#

then what are you trying to do

tight compass
#

See the block states

novel parrot
#

If they’re touching the ground, but on slab which is set in the bottom half of the block, and I read (0,-1,0) it will give me the incorrect block won’t it?

#

I’ll test I spose but I thought I did this before

blazing ocean
tight compass
#

So do (0, -0.5, 0)

real lagoon
novel parrot
#

Right, these are solutions but not the one I asked for. I could code something more complex

tight compass
#

How about you look at the block under the player until it's not air

novel parrot
#

But what I was hoping for was an answer which “was the block the feet were touching”

tight compass
#

starting at their feet

novel parrot
#

Hmm… yeah that seems a good route

tight compass
#

yea

novel parrot
#

So it sounds like there isn’t exactly what I was crossing my fingers for. I could definitely solve this I just wanted a nice clean way if there was one

tight compass
#

There isn't a built in way, no

novel parrot
#

And… yeah I’ve been coding plug-ins long enough to know a nice clean way doesn’t always exist

#

Thank you!

mortal hare
#

have anyone tried out running minecraft server with graalvm native images?

tight compass
#

I mean, not that I know of lol

mortal hare
#

im thinking of trying but not sure if that's worth it

novel parrot
#

Hmm… with carpets I guess I need to scan down from (0,1,0) as a start

mortal hare
#

according to this post, ~10% performnance increase with graalvm's AOT compilation for minecraft running forge modpack

#

not bad considering that it uses little to none optimizations from coding side of things (im talking about optimizing it for graalvm)

ripe falcon
#

Hello, I would like to now how to change item meta of glass pane to put it in lime (or create a knew item) in 1.21

#

I tried with durability and it is not working, that's why i'm asking

young knoll
#

They are all different materials now

#

LIME_GLASS_PANE

ripe falcon
#

BRO

#

THX

#

im stupid...

slender elbow
#

no

tight compass
#

Most stupid people are stupid

quaint mantle
#

Facts bro

novel parrot
#

If (0,.5,0) = AIR
(0,-.5,0)

Seems pretty reliable

tight compass
#

Well

#

block positions are integers

novel parrot
#

It’s a little bit of a bummer cause it’s going to detect things that aren’t what you’re “standing on”, like walking through a torch on the ground

blazing ocean
#

block positions != locations

tight compass
tardy delta
#

i heard graal even tries to regenerate the ast from the bytecode to produce more efficient code

novel parrot
#

So it’s not exactly what I was hoping for but it’ll be close enough to make it do what I need

coarse terrace
#

how do i configure flyway to work with bungeecord?

#

e.g how do i get proper classloader

novel parrot
#

I’m trying to get a players PlayerProfile on login to store for later reference using Bukkit.createPlayerProfile(UUID), and I’m getting null. Do I need to do this later? (As I’m not immediately on login)

Does it make sense to do this at all? Seems like it would be smarter than calling it every time I need it

young knoll
#

You can just do Player#getProfile

#

Or getPlayerProfile, idk which it is

novel parrot
#

Ahh… sounds much simpler thanks lemme try that.

#

Wow I was fighting hard to get that and there it was all along just easy access that I didn’t see.

finite edge
#

can someone help me? Im trying to make custom recourcepack for my plugin but i cant get it to work

#

the texture just doesnt show up

pseudo hazel
#

texture for what

finite edge
pseudo hazel
#

okay , whats your folder structure like

#

or like are you trying to use custom modl data

#

like what do you wanna do

finite edge
#

recourcepack
assent
minecraft
models
item
stick.json
tnt_wand.json
textures
item
tnt_wand.png
pack.mcmeta

#

my folder structure

finite edge
#

stick.json:
{
"parent": "item/generated",
"textures": {
"layer0": "item/stick"
},
"overrides": [
{
"predicate": {
"custom_model_data": 1
},
"model": "minecrafr:item/tnt_wand"
}
]
}

#

tnt_wand.json:

{
"parent": "minecraft:item/generated",
"textures": {
"layer0": "minecraft:item/tnt_wand"
}
}

pseudo hazel
#

and what does the item look like

#

just a normal stick?

finite edge
#

yeah

pseudo hazel
#

idk if this is copy paste, but there is a typo "model": "minecrafr:item/tnt_wand"

#

it says minecrafr

chrome beacon
#

You should use your own namespace btw

#

When not overriding

finite edge
pseudo hazel
#

adn you are sure the item has the model data?

finite edge
#

i use this command to check:
/give @s minecraft:stick{CustomModelData:1}

pseudo hazel
#

waht mc version?

finite edge
#

1.20.4

pseudo hazel
#

hmm

#

and you have the pack enabled?

#

otherwise idk whats wrong

finite edge
#

Im trying to solve this for like 3 hours

pseudo hazel
#

hmm yeah idk

#

sorry

finite edge
#

ok thanks

pseudo hazel
#

maybe try just changing the normal stick texture to your tnt stick

#

and see if atleast that part works

#

like in stick.json

potent atlas
#

hi guys, vector question for ya. I've got it rotating on the x and y axis and I have set the pitch to 0 but it's moving up and down when I move my player's head up or down. which axis controls that? x or z? because I've found conflicting answers on google. thanks!

kindred solar
#

Guys, I need help, I am not being able to find citizens plugin for 1.20.1

winged bronze
#

I'm using spigot 1.21 and it cannot find org.bukkit.Material class for Itemstacks

eternal oxide
#

There is no Citizens for 1.20.1

winged bronze
#

its working in older versions of spigot though

drowsy helm
#

yep

#

just update your IDE

winged bronze
#

ok thx

kind patrol
drowsy helm
#

but updating works

kind patrol
#

lol

remote swallow
#

Old intelij doesn't support java 21 classes is why

kindred solar
# eternal oxide There is no Citizens for 1.20.1

im so tired of this sht, I downloaded the citizens from here: https://ci.citizensnpcs.co/job/Citizens2/3399/
have my dependency like this: ``` <dependency>
<groupId>net.citizensnpcs</groupId>
<artifactId>citizens-main</artifactId>
<version>2.0.33-SNAPSHOT</version>
<type>jar</type>
<scope>provided</scope>
<exclusions>
<exclusion>
<groupId></groupId>
<artifactId>
</artifactId>
</exclusion>
</exclusions>
</dependency>

and still dont work, returns this: java.lang.NoClassDefFoundError: net/citizensnpcs/api/CitizensAPI
eternal oxide
#

There is NO Citizens for 1.20.1

kindred solar
eternal oxide
kindred solar
#

so, im fkd, right?

eternal oxide
#

yes

drowsy helm
kindred solar
#

idk, my plugin i built in 1.20

#

wont it be an issue?

drowsy helm
#

so update it

#

theres no good reason to stay on an old version

kindred solar
#

updating the server will be a pain in the ass

remote swallow
#

They don't include all versions in the main jar to save space

drowsy helm
#

thats not a good reason

late sonnet
remote swallow
kindred solar
drowsy helm
#

wheres ur rank gone doc

drowsy helm
kindred solar
late sonnet
kindred solar
remote swallow
potent atlas
#

if anyone answers my question please ping me

drowsy helm
remote swallow
#

Well yeah but people are dumb

remote swallow
kindred solar
potent atlas
#

right, if the player looks up or down, the vector moves. trying to stop it from doing that

kindred solar
#

hmmm, thinking abt it, I think it just changes the pitch not the yaw

potent atlas
#

yaw is looking left to right

#

I already handled that but pitch refuses to cooperate

kindred solar
#

example: if the player is looking north and moves their head up and down it influences the Z-axis

#

and so on

potent atlas
#

I can't figure it out. rip

river oracle
#
        val decompileRemapClasses = project.tasks.register(DECOMPILE_REMAP_CLASSES_TASK, JavaExec::class.java) {
            group = SATELLITE_SETUP_CATEGORY

            classpath(project.file("$SATELLITE/vineflower.jar"))
            args(vineyard.decompilerArguments)
            args.add(
                getVersionDecompileClassDir(
                    project.file(SATELLITE).toPath(), vineyard.minecraftVersion.get()
                ).toString()
            )
            args.add(
                getVersionDecompileJavaDir(
                    project.file(SATELLITE).toPath(), vineyard.minecraftVersion.get()
                ).toString()
            )

            dependsOn(unzipRemapJar, downloadVineFlower)
        }```
For some reason this gradle task is giving me the error, "no sources given" even though I explicitly define a classpath that should be followed and I've verified that there is indeed a jar at that path with the specified name
#

anything stand out as wrong?

quaint mantle
#

can i place a block mare than 20 times per second ?

#

i feel like im limited by the server tps

#
new BukkitRunnable() {
  @Override
  public void run() {
    //place blocks
  }
}.runTaskTimer(OptimizedPixelScreen.getPlugin(), 0 L, 20 L / (long) video.getFrameRate());

this is how im placing the blocks, but anything higher than 20 for "video.getFrameRate()" results in the same placing rate as 20

#

is there some way to place blocks faster than the main thread ?

river oracle
#

you can definitely place more than 20 blocks a second. look at WorkDistro

#

?workdistro

drowsy helm
#

just wrote 300 lines of code in one sitting and IT JUST WORKS???

#

this is a once in a lifetime experience

obtuse hedge
#

it has tons of memory leaks

#

and a rare case where itll break

#

for no reason

dawn flower
#

how do i lock a player's camera to a specific yaw and pitch

#

cancel event moves it for a tick

#

for example to stop movement u make the player ride something like an invisible armor stand
but what do u do to stop camera

sullen marlin
#

Doubt you can

dawn flower
#

you can

rough ibex
#

isn't there /spectate

dawn flower
dawn flower
echo basalt
#

you can but it's weird

#

horizontally it goes infinite

#

but vertically it only goes to like +90

dawn flower
#

ugh

dawn flower
#

i'm gonna experiment abit

#

i figured it out

#

if someone is looking on how to lock a player's camera, you gotta spawn an invisible armor stand then send a https://wiki.vg/Protocol#Set_Camera packet to the player with field 0 as the armor stand

another approach is to make the invisible armorstand a fake entity (not neccasary)

potent atlas
#

I fixed my problem

#

just fyi 🙂

vagrant girder
#

what would be the best way to add an enchant (looting, fire aspect) to only one kill? Please @ me with response

vagrant girder
#

Wow. So Smart.

how would i add it when the mob is killed as I could not find a method to edit the weapon used to kill a mob

river oracle
#

EntityDeathEvent#getEntity#getKiller

#

use DamageSource#getType to ensure the type is PLAYER_ATTACK

river oracle
#

pagination with sql??

#

why are we storing paginated inventories in SQL exactly? Moreover what data pertaining to the inventory outside of the items is actually important enough to store

drowsy helm
#

No

river oracle
#

i'm confused what you mean by pagination then

drowsy helm
#

It’s one extra command to the query

drowsy helm
#

So you aren’t receiving all data at once e

#

But no, it’s easy

wet breach
#

in mysql you can use limit and offset to create pagination

#

the limit is how many results at a time, the offset is what would change and you would skip however many rows

#
SELECT * FROM users LIMIT 10 OFFSET 10;

this query would skip the first 10 rows, and return the next 10 rows

#

keep in mind with large DB results this will degrade

#

so to fix some performance we could use a where clause that has the cursor returned

#

and then to further optimize if we are dealing with a very large data set we can do what is called a deferred join

grim hound
#

If a reference to an object is lost, but it's method's bytecode is still used, does it get garbage collected?

hazy parrot
#

How can a reference be lost if a method is used ?

grim hound
#

And then you nullify the someObj

grim hound
#

My guess is that it won't be

hazy parrot
#

Inside of runnable

kindred solar
remote swallow
remote swallow
#

what do you mean searched it

wet breach
remote swallow
#

i just scroll back through the updates and found the build on jenkins

wet breach
#

the object only exists so as long as the method does

remote swallow
#

its common sense how i did it

kindred solar
#

I found it before but i mean how did you found the build?

remote swallow
#

by reading the date and finding the last build on jenkins

#

just like how i said

kindred solar
#

ahhhhhhhhh

#

thx

glossy yoke
#

Hi there, i've been running into some weird "bugs" / "errors" while setting up vault integration and I can't seem to understand where i'm going wrong with it.

I've made a multi-economy plugin with different economies where one of the features is generating a payment report that displays the change within the last 60 seconds of the user, however specifically with vault I run into the problem that the current hook does some wonky af. Stuff

first it checks the users balance 3-4 times (with my hook),

then it removes the entirety of the users balance, does some calculations and then adds the new entire amount back

So far 2 out of 3 plugins i've tested has resulted in this with only one having the expected output (using one method from the hook according to what the calculation is an example of this would be for buying it would only use the withdraw method from the hook).

#

and I do apologise for the horrible explanation, however it is rather difficult to explain to be quiet honest

low marlin
#

Anybody can send me a good nms tutorial?

#

First time trying

grim hound
#

Ask me anything

#

Have you ever used reflection?

#

Or are you thinking of using the nms directly?

eternal oxide
#

?nms

grim hound
#

Or that

low marlin
low marlin
obtuse hedge
#

why r mojmap server plugins a thing now

#

that seems cursed

eternal oxide
#

what?

blazing ocean
#

just ask your question

#

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

eternal oxide
#

Mojmaps just makes it easier to write plugins that use NMS

obtuse hedge
#

ah

wet breach
#

I just don't use mappings

obtuse hedge
#

i thought it changed everything

#

i dont use nms

blazing ocean
#

wait, you DON'T use CraftPlayer.a()??

#

or serverplayer

#

idk

obtuse hedge
eternal oxide
#

it just means you can use proper names for objects in your code. It then gets remapped back to .b() or whatever at compile time

blazing ocean
#

?mappings my beloved

undone axleBOT
obtuse hedge
#

shedaniel is better

eternal oxide
#

"better"

remote swallow
#

for spigot not really

obtuse hedge
chrome beacon
#

It looks nice but it's missing Spigot mappings

blazing ocean
#

^^

low marlin
# eternal oxide ?nms

is there some kind of a tutorial of how to use it? Like I'm trying to find how to use pathfinding goals because tutorials show me to use this.goalselector but I don't find anything related

eternal oxide
#

there was a big thread on pathfinding in here

#

not sure it still exists

low marlin
#

tried searching

eternal oxide
#

just search threads for pathfinding

wet breach
#

there is plenty of posts on pathfinding

torn shuttle
#

find your path to pathfinding

#

or be lazy and go read my open sourced library for it

chrome beacon
#

Take a look at the code for a mob and you'll see how goals are written

torn shuttle
#

tbf it's not that straightforward

#

not every mob uses goals

#

or brain for that matter

low marlin
#

The thing is either I'm not searching correctly or I can't find the thing I'm looking for

#

I'm trying to find the mojang api to maybe read about the pathfinding but even that I can't find

eternal oxide
#

there is no Mojang API

chrome beacon
#

There is no documentation

#

You need to read the decompiled nms code

torn shuttle
#

are you trying to add a pathfinding goal or are you trying to make an entity pathfind to a place

#

these are two different problems

low marlin
#

I'm trying to add a pathfinding goal

torn shuttle
#

so permanently modify the ai of the entity to have that goal

eternal oxide
#

what is your goal intended to do?

low marlin
#

Have a "captain" and 4 minions that the 4 minions follow that captain

#

like in pillager term

eternal oxide
#

sounds like you just want to put the pillager goals onto your mob

low marlin
#

I think so yeah

chrome beacon
#

The goal appears to be Raider.HoldGroundAttackGoal

#

Then take a look at how it functions and modify it to your needs

torn shuttle
#

mojang really missed an opportunity by not calling it StandYourGroundGoal

low marlin
#

thank you

#

The thing is all of the .a or .b is super complicated and I can't really figure it out

#

like what is what

chrome beacon
#

Why are you using unmapped

#

That's just pain

torn shuttle
#

use mojang mappings

chrome beacon
#

?nms

eternal oxide
#

setup to use mojmaps from teh link I gave

low marlin
#
  
  <repositories>
    <repository>
        <id>spigot-repo</id>
        <url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>org.spigotmc</groupId>
        <artifactId>spigot-api</artifactId>
        <version>1.20.1-R0.1-SNAPSHOT</version> <!-- replace with your version -->
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.spigotmc</groupId>
        <artifactId>spigot</artifactId>
        <version>1.20.1-R0.1-SNAPSHOT</version> <!-- replace with your version -->
        <scope>provided</scope>
    </dependency>
</dependencies>
#

That's my pom.xml

torn shuttle
#

I don't even know why I made this wiki autotranslator in python

#

I don't even know python

#

this sucks

#

I mean it works but it's annoying to work with

wet breach
torn shuttle
#

not really, you use remaps

wet breach
#

you can follow methods if you have a decent IDE

wet breach
torn shuttle
#

well not everyone does self-flagelation for fun on weekends

eternal oxide
#

frostalf programs with an abacus

gentle inlet
wet breach
#

Lol

#

I just have an IDE that shows me where the method comes from

torn shuttle
#

so do I

#

and it's real easy when combining that with the remaps

#

barely takes any time to get anything done

remote swallow
wet breach
#

barely takes me time regardless o.O

wet breach
#

just saying it gets easier to read code without having to rely on some remapping mechanism

#

and if you don't use any remappings no need to setup a pom to do extra stuff uwu

gentle inlet
torn shuttle
#

I'm sure it also gets easier to read raw binary but the installation time something capable of translating it to something legible probably is worthwhile

wet breach
#

ok well comparing it to binary is a stretch

#

its just method names that are letters, not overly difficult o.O

torn shuttle
#

yeah, it's merely the difference of knowing what something is at a glance vs knowing what something is by searching through several methods, definitely not worth the 5 minutes to set up the mappings

wet breach
#

never been worth it to me, but if you work with nms a lot you know the stuff at a glance

#

so that is true over time

torn shuttle
#

I bet you're the kind of person who has 1-letter fields in your code regardless

remote swallow
#

do as he say not as he do

inner bridge
#

Hi, I have an error with a plugin. The plugin developer tells me it's a Spigot error and not his own. Is this error known?

wet breach
torn shuttle
#

I knew it

eternal oxide
drowsy helm
#

Hes trying to access an unloaded chunk

eternal oxide
#

My bet he's blaming spigot because his code is written for Paper and it handles chunk load/unload differently

drowsy helm
#

Oops didnt realise I said the exact same thing you did lol

inner bridge
#

Ok thanks

torn shuttle
#

python's syntax makes me want to punch baby seals

remote swallow
#

a phoque?

torn shuttle
gentle inlet
#

?paste

undone axleBOT
mellow edge
#

ok still don't know

gentle inlet
mellow edge
#

which packets is used to send already unlocked achievements in spigot mappings 1.8.8

#

?

torn shuttle
chrome beacon
torn shuttle
#

yeah use the pdc

#

this isn't 2014

gentle inlet
#

ok but is it better to loop all players in a bukkit runnable or start a new task for every player?

torn shuttle
#

all players single runnable

pseudo hazel
#

make one task and loop through players

chrome beacon
#

though looking at the code above you have other things to worry about

pseudo hazel
#

making a runnable is always going to be more expensive then not making one

#

xD