#help-development

1 messages ยท Page 1237 of 1

mental drum
#

So keep the smelting fuel status?

slim wigeon
#

When its not smelting, yes. But when its smelting, use the time

mental drum
#

Ok what version

slim wigeon
#

1.21.1

placid estuary
#

nevermind, it was something completely unrelated that was causing it

mental drum
#

    @EventHandler(priority = EventPriority.HIGH)
    public void onFurnaceSmelt(FurnaceSmeltEvent event) {
        Furnace furnace = (Furnace) event.getBlock().getState();
        FurnaceInventory inv = furnace.getInventory();
        if (inv.getInput() == null || inv.getInput().getAmount() <= 0) {
            int remainingBurnTime = furnace.getBurnTime();
            frozenFuel.put(furnace.getLocation(), remainingBurnTime);
            furnace.setBurnTime(0);
            furnace.update();
        }
    }

    @EventHandler(priority = EventPriority.HIGH)
    public void onFurnaceBurn(FurnaceBurnEvent event) {
        Furnace furnace = (Furnace) event.getBlock().getState();
        if (frozenFuel.containsKey(furnace.getLocation())) {
            event.setBurnTime(frozenFuel.get(furnace.getLocation()));
        }
    }

    @EventHandler(priority = EventPriority.HIGH)
    public void onInventoryClick(InventoryClickEvent event) {
        if (event.getInventory() instanceof FurnaceInventory) {
            FurnaceInventory inv = (FurnaceInventory) event.getInventory();
            if (inv.getInput() != null && !inv.getInput().getType().isAir()) {
                Furnace furnace = (Furnace) inv.getHolder();
                Location loc = furnace.getLocation();
                if (frozenFuel.containsKey(loc)) {
                    int resumedBurnTime = frozenFuel.remove(loc);
                    furnace.setBurnTime(resumedBurnTime);
                    furnace.update();
                }
            }
        }
slim wigeon
#

Ok. Before I test this, do I need to create another variable?

mental drum
#

No

#

Oh shit

#

My bad, my snippet wasnt complete, yeah you will

#

Map<Location, Integer> frozenFuel = new HashMap<>();

slim wigeon
#

Ok, thanks. I will add that

#

Wait. I was looking at the code and is this turning off the flames and when I smelt something, it auto turns back on?

smoky anchor
#

So I would not recommend trying to say I copying stuff
Is that a threat ? It reads like one. Buddy try to word stuff better...

I will see how Songoda does it
So some plugin already has this feature which means you are copying it... I asked which one 'cause some of them I've seen on github, so I wanted to check.

slim wigeon
smoky anchor
#

Once again, this reads as "It would be if it wasn't against the rules"

mental drum
smoky anchor
#

No, I was asking 'cause I wanted to know how they did it
I was curious how they solved it

mental drum
#

Thats like asking "How do you cook a steak"

slim wigeon
mental drum
#

Who cares if you copy something? You arent copying it to rip them off. You are just trying to figure out how they achieved the outcome you desired for that specific method. Hes likely using something similar that is completely minute to the overall outcome and direction of his plugin

smoky anchor
slim wigeon
#

You might also don't care but I want to put this out there, my bpm has been all f*** up, I think its because the stress. So I like for this place to be peaceful without drama. Can that happen?

smoky anchor
slim wigeon
mental drum
#

Algood. I have no problem lol. I was defending you. How did you get on with my code snippets

slim wigeon
umbral ridge
#

do you mean when an ore is smelted?

#

you could check if something is smelting in the furnance by interact event

#

and check on interact event if its a furnace

#

etc

#

or BLAST_FURNACE

slim wigeon
umbral ridge
#

so you want to delay fuel consumption

#

that could be complex

slim wigeon
#

I don't want to delay anything. I just want it paused when its not smelting so I not wasting my fuel resources if that makes any sense. It can go at its normal speed. Just only use the fuel when smelting

umbral ridge
#

fuel is consumed only when there is something to smelt

#

as soon as there is nothing left to smelt then fuel wont be consumed

slim wigeon
#

Now the cooking arrow is going heywire, messing with the events

pliant topaz
#

should be able to modify the remaining cook ticks i think, did something similar with datapacks a while back using this (not by modifying recipes)

#

and that arrow will go absolutely over 2 screens duplicating itself if you put it at a wrong value lmfao

smoky anchor
#

Wasn't that fixed ?

pliant topaz
#

not sure, my memories are from 1.18.2

fickle spindle
#

how can i make that when someone click on a message it copy like "/say hello" in the ctrl + v?

buoyant viper
#

Chat components, if ur trying what i think ur trying

#

i think

#

i forget what u can do with Hover event actions

#

!jd-s

buoyant viper
#

$jd-s

#

oh no

#

it appears i forgot the command

dusty herald
#

that is okay

#

I'll find it

buoyant viper
#

?jd-s

undone axleBOT
smoky anchor
buoyant viper
#

why cant every bot use slash commands by now khajiit

dusty herald
#

or maybe they should read the entire post ๐Ÿค”

buoyant viper
#

its 2025

dusty herald
#

Red is too fancy for slash commands

buoyant viper
#

sounds more like its too old

dusty herald
#

fight me

buoyant viper
#

only / command it has is verify

#

๐Ÿ˜ญ๐Ÿ™๐Ÿป

iron glade
#

Is there a reason perfectly fine images are shown like this on my plugin's page? They were displayed correctly before and one of them still does lol

vast ledge
#

Image probably not found

iron glade
#

I checked URL and it's definitely there, it even loads in the editor

quaint mantle
eternal oxide
#

There is a max size for linked img files on Spigot

#

5mb I think

winter jungle
#

What is the best way to find out if a player has already picked up a certain item?

pseudo hazel
#

picked up when

eternal oxide
#

there is a pickup event

winter jungle
thorn isle
#

Depending on the item there could be an advancement for it

#

If not, you'll have to keep track of it yourself

pseudo hazel
#

like did they ever in their life pick something up

#

or did they pick something up in the last tick

subtle depot
#

Yo does anyone know how to use grief prevention api?

pseudo hazel
#

or did they pick something up since they joined the server

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!

subtle depot
winter jungle
pseudo hazel
#

so do you mean if the player has scrap in their inventory?

winter jungle
smoky anchor
#

You're suddenly asking something different..
Items have Thrower id, you can probably just check that

#

or you mean picked up from a furnace?

winter jungle
#

As soon as the player somehow gets the item into the inventory, regardless of whether it's via an furnace, a dropped item or a chest

pseudo hazel
#

do you want to block that specific instance of the item or the item/material in general from getting picked up

#

what if the player dropped it by accident, does that matter?

winter jungle
#

The player may pick up the item again at any time, he should simply not receive any more points for it

pseudo hazel
#

and when do you give players points for the item

#

only when they pick it up?

#

I guess also when they get the item directly from a furnace

winter jungle
#

As soon as the player gets the instance of the item in his inventory for the first time

jagged thicket
#

should he make it a singleton? ๐Ÿ’€

pseudo hazel
#

and can the player drop it and give someone else a point with it?

winter jungle
#

So the goal is that the UUIDs of all people who have ever picked up the item are somehow stored on the item

smoky anchor
#

?pdc

winter jungle
#

Ahh, thank you!

smoky anchor
#

BUT

winter jungle
#

oh no

smoky anchor
#

That will have the sideeffect of making the items unstackable at times

#

if you care about vanilla, item sorters will just not work probably

pseudo hazel
#

there is no way to accomplish what you want without that side effect

winter jungle
hardy cairn
#

hello, i need some help with my plugin. i wanted to add some custom bosses. the modelling is not a problem but i was wondering how to add animations in my plugin. if somone has a solution then please help me i will really appreciate it

winter jungle
#

Thanks for the help guys, I appreciate it!

chrome beacon
#

First approach is easier but might look worse

smoky anchor
hardy cairn
#

i am using blockbench for modelling, but i dont know about per frame animation

chrome beacon
#

You can also combine the two depending on the needs for different parts of the entity

thorn isle
#

it depends how you are adding those models into the game

hardy cairn
smoky anchor
#

then you have to describe better what you mean by "animate"

hardy cairn
thorn isle
#

modelengine and most of its derivatives as well as optifine model definitions all support blockbench's bone animation system to some extent

hardy cairn
thorn isle
#

so group your objects into bones, go into the animation editor in blockbench, and create the animation

#

then go into the corresponding help discord to ask how you can import it into the game, e.g. the mythicmobs discord if you use modelengine

hardy cairn
pseudo hazel
#

no

pseudo hazel
#

optifine is not needed for anything

thorn isle
#

modelengine for one i think generates the resource pack from the assets automatically

iron glade
thorn isle
#

and no, optifine isn't generally required

#

there's also a free interoperable alternative, i think that's the one from magma that came up earlier

hardy cairn
#

oh mythic mobs modelengine is paid?

#

or what

thorn isle
#

it is

hardy cairn
#

ah

thorn isle
#

i mean there is like a demo where you can load 3 models or something

#

but if you're sneaky about it (don't tell the mythic guys you're not using their plugin) you can ask for help from them, and then make use of that help with the free alternative

hardy cairn
#

good idea i will try it then ig thanks

cinder abyss
#

Hello, how can I damage an LivingEntity with a specific item ? Something like .attack but with by specifying an ItemStack or a Material

#

I also want the knockback to be applied

smoky anchor
#

Summon dummy entity, do attack, remove entity ?
There may be a better way, dunno

cinder abyss
#

looks tricky I think

#

I could do that but maybe there is a better way ?

thorn isle
#

it's a bit challenging because damage is fundamentally always dealt by the entity rather than the item

#

unless someone can think of something smarter i'd probably go with what steve said; use the entity visibility api to hide the entity in the Consumer accepted by World::spawn so nobody sees the entity, then equip the item, have it attack, and remove it

cinder abyss
thorn isle
#

anything that can attack using items

#

most of those are hostile mobs, so you might have to un-cancel the spawn event or worldguard/towny/whatever might stop it from being spawned

cinder abyss
#

okay thanks

smoky anchor
#

Piglins. Those can survive on peaceful too.

cinder abyss
#

interesting thanks

rough drift
#

if you have a component:

var test = new ComponentBuilder()
  .append("Hello!")
  .color(ChatColor.RED);

and another component:

var root = new ComponentBuilder()
  .append("ROOT: ")
  .color(ChatColor.BLUE);

if you append test to root, does test stay red?

smoky anchor
#

I would say yes

thorn isle
#

in adventure at least yes

#

this is because .append actually creates an extra child component; you can't "append" to an existing component

rough drift
#

yeah I am aware

#

I was wondering if it would retain the color or discard it

thorn isle
#

it's a child component so it will inherit all properties of the parent

#

including color

ocean gorge
#

Hi guys, i can't post updates of my plugins and i have 2fa enabledโ€ผ๏ธ

#

the page keeps telling me "Enable 2fa to post update", but i already have it enabled

rough drift
thorn isle
#

if you'd like your components to not interfere with one another, what i usually do is .add them into a list and then .join the list's components into one big component

#

that way they become siblings rather than nested children, and one component's properties won't leak out of it

rough drift
blazing ocean
#

Child styles always override parent styles

rough drift
low field
#

is there a way to make a warden neutral to set entities WITHOUT extending the class?

thorn isle
#

there's an entitytargetentity event, at least on paper, that you can cancel

low field
#

okay thanks

thorn isle
#

yea i basically have to guess with half of the events and methods because i only have paper docs open

#

best always check whether they're on spigot, quite a few things have been pulled in from paper

warm mica
#

Is there an API to make an entity walk to a certain position without relying on another existing entity

low field
thorn isle
#

that said the game pathfinder is kind of garbage and won't very accurately go to where you want it to go

#

it will frequently stop 1 block short, for example

#

apart from that it's pretty reliable for what it is

zenith bobcat
#

Hey everyone, does anyone know a way to get a list of all blocks from the Material enum that are full-sized? Specifically, I'm looking for blocks that have a full-sized bounding box.

smoky anchor
#

Do you care about slabs ? Those can be double and thus a full block.

zenith bobcat
#

I'd prefer if slabs were filtered out, as I'm specifically interested in blocks that are inherently full-sized without considering double slabs.

smoky anchor
#

Great! That makes things easier

zenith bobcat
#

This would be great if you could come up with a solution. I already found this post, but it specifically covers checking if one block is full-sized.

smoky anchor
#

Block has getBoundingBox method, so my idea is to iterate over all Materials, somehow get Block and use that method to determine if its full or not
There also is getCollisionShape, no clue which one you want.

thorn isle
#

there's no way to get that from Material

#

but you can get it from BlockData i think

#

which you can get from Material

#

this is because the collision shape and bounding box depend on the block state and its properties; e.g. whether a slab is the top or bottom half

#

i'm not sure if bukkit has a way of iterating over every block type's possible states; you could either use nms for it, or the worldedit, which does offer api for block properties

#

if you just care about the "default" state of the block type, you can get that from the material as BlockData

smoky anchor
#

They don't want all states

thorn isle
#

there is also Material::isOccluding and isSolid and others, although they aren't always intuitive as to what they contain

smoky anchor
#

I'm sure there could be a block that is both but does not have a block AABB

#

or the other way

zenith bobcat
#

That was my first thought as wellโ€”to use the getBoundingBox method to determine if a block is full-sized. However, I haven't been able to find a method to get the block from the Material Enum to check if it has full-sized bounding boxes. Unfortunately, the methods isOccluding and isSolid haven't been helpful either, as they also include blocks that aren't full-sized.

thorn isle
#

BlockData::collisionShape is probably the closest you'll get

smoky anchor
#

That's not a thing

thorn isle
#

it is on paper i guess

smoky anchor
#

sir, this is spigot

thorn isle
#

suuuure but i only have the paper api memorized

eternal oxide
#

BURN HIM!!!!

smoky anchor
thorn isle
#

i don't like it there

smoky anchor
#

Fair :D

eternal oxide
#

Nah I'm still up for burning him

thorn isle
#

i'm a pretty flammable guy

cinder abyss
#

Hello, how can I use gravity and velocity for an ItemDisplay ?

blazing ocean
#

Entity#setVelocity and Entity#setGravity?

cinder abyss
blazing ocean
#

show code

cinder abyss
#

but maybe there is a spigot/nms trick to tell the server "hey, just let me use it" ig

cinder abyss
blazing ocean
#

and are you sure that velocity is not zero

eternal oxide
#

They have Transformations. No velocity

cinder abyss
#

because it's working with an ArmorStand

cinder abyss
blazing ocean
#

could also just set the teleport duration to something and teleport it around

cinder abyss
#

that would look buggy, right ?

blazing ocean
#

but that'll obviously not interpolate or anything

blazing ocean
cinder abyss
#

that would look like it's teleporting then ?

#

what is "teleport duration" ?

blazing ocean
cinder abyss
#

hummm

#

it works for an ItemDisplay ? a fade ?

blazing ocean
#

wdym

cinder abyss
#

what it would look like to the player ?

blazing ocean
#

I can try and find it whilst being unset

cinder abyss
#

wait I'm sending you what I want to reproduce

#

but there it's using armor stand, it's not the best ig

wet breach
blazing ocean
#

can't really notice it in a 30fps recording but it looks terrible ingame

cinder abyss
#

the display is the mouse ??

blazing ocean
#

yes

cinder abyss
#

lool I though you were talking about the button

thorn isle
thorn isle
#

e.g. if you first teleport it from A to B, and then you teleport it back to A when it's interpolated its position midway, it snaps to B and starts interpolating from B to A

blazing ocean
wet breach
#

you would need to have the timing not equal or not divisible by one another in a sense. So like 1 and 3 for example, but not 1 and 2

thorn isle
#

it's a bit finicky because the interpolation is clientside, so you have to account for latency to get the timing right

wet breach
#

yeah I could see it being a bit tricky

thorn isle
#

or what are we talking about, simultaneous transform/teleport interpolations into different directions?

#

those should just stack i think

blazing ocean
#

they do

wet breach
#

idk, whatever that first duration example was

dawn flower
#

what's the packet for updating an item's lore

wet breach
#

well if they stack, then I don't think it would really work then I don't think

thorn isle
#

I just saw a big green checkmark floating in the air still and nothing happening so i stopped watching without reading anything

wet breach
dawn flower
#

inventory

blazing ocean
cinder abyss
blazing ocean
#

it's a server-side mod

cinder abyss
#

oh okay

#

that's why you can track the mouse this clean ?

blazing ocean
#

you can do the same with a plugin, it'll just be a bit harder

cinder abyss
#

how are you doing it please ? seems interesting

wet breach
blazing ocean
#

fuck

cinder abyss
wet breach
#

see, even discord doesn't want him revealing the tricks

blazing ocean
#

just looks horribly choppy

cinder abyss
dawn flower
#

not being impatient just making sure you saw it

blazing ocean
cinder abyss
#

okay that's what I though

#

but why it doesn't make the weird camera tp effect ?

blazing ocean
#

wdym

cinder abyss
#

when you prevent the player from moving

blazing ocean
#

the player is set to fake spectator mode, put into a boat and camera set to a marker entity elsewhere

cinder abyss
#

between the camera move by the client and the camera cancel by the server, it can do a weird effect

blazing ocean
thorn isle
#

oh it's an ingame cursor

#

it's like 2 pixels on my screen so i thought it was just the actual cursor

cinder abyss
#

and packet driven

thorn isle
#

very neat, what is this for

cinder abyss
#

love that

blazing ocean
#

it is horrible with worse ping though

#

even made a whole ass DSL for this: ```kt
interaction {
position(player.x, player.y, player.z)
distance(1.85)

        button {
            x(0.31)
            z(0.32)
            width(0.115)
            height(0.14)

            onInteract { player, _, _, _ ->
                player.sendMessage(Text.literal("You clicked my button!!"))
            }

            itemStack(ConfiguredItemSprites.CONFIRM_BUTTON.itemStack)
        }

        cursor(ConfiguredItemSprites.CURSOR.itemStack)
    }.init(player)
thorn isle
#

how is it controlled? wasd? or like player rotation-move packets to capture actual mouse input

blazing ocean
#

latter one

thorn isle
#

did you lock the screen by force spectating an entity?

blazing ocean
#

yep

blazing ocean
thorn isle
#

neat

wet breach
thorn isle
#

mmm yes the spectate + ride vehicle trick

#

nice to see that still works

blazing ocean
#

we love UB

dawn flower
thorn isle
#

i've been reluctant to depend on it because i feel like mojang is going to bust it any day now for no reason

wet breach
#

depending which version, you would either use the structured components to set the slot data, but if you are using an older version you would use the nbt format instead

blazing ocean
#

well it still works in the latest snapshot

wet breach
#

fist link is the updated way to set the slot data, the second link is the old way

kindred valley
#

?learnjava

chrome beacon
#

The learnjava command was not needed for that question?

proper cobalt
#

where can i download old jars

#

i need 1.7.10

blazing ocean
#

?bt

undone axleBOT
proper cobalt
blazing ocean
#

z?

proper cobalt
#

bt doesnt support 1.7 rght?

blazing ocean
#

?tas

undone axleBOT
proper cobalt
#

well im looking now so

#

theres was some site where u could get any jar

#

idk it

blazing ocean
#

oh no concern

molten hearth
#

oh its blacklisted here

#

lmao

blazing ocean
#

i mean why would you even need 1.7

#

?howold 1.7

undone axleBOT
blazing ocean
#

older than some people in this discord

proper cobalt
#

man whats that site called

blazing ocean
#

you really don't want to use it

proper cobalt
#

u dont even know why i want ti

blazing ocean
#

right, and if you were to tell us we could probably help you come up with a better solution than.. using an 11 year old version

proper cobalt
#

i need to use the API

blazing ocean
#

?

proper cobalt
#

whats with the questions man

blazing ocean
#

you are trying to use an 11 year old version

cinder abyss
#

Hi, how can I make an ItemDisplay do a rotation like this ? (Just, what value specifically I need to change ? I tried leftRotation with AxisAngle4f converted to Quaternionf and directly with Quaternion... And I just obtain some weird behaviours)

proper cobalt
#

so what why does it matter to u

#

cool its 11 years old

#

where can i get a download

blazing ocean
#

._.

proper cobalt
#

its fine i found a git repo

#

idk how it contains net.minecraft but ๐Ÿคทโ€โ™‚๏ธ

#

ah it has local depends nvm

#

i just need a dl

chrome beacon
#

The Spigot repo does contain the source

#

if that's what you're looking for

proper cobalt
chrome beacon
#

Yeah

#

I believe it should

proper cobalt
#

yeah link that please

#

as long as it doesnt need any bs from wolverness should b good

chrome beacon
#

Just checked it's there

#

?stash

undone axleBOT
proper cobalt
#

sound lad

#

how does it work im not seeing any versions'

chrome beacon
#

Git commit history

proper cobalt
#

ah man

#

since u said u checked that its there

#

would u have the hash im looking for

#

?

chrome beacon
#

Looking for the last 1.7.10 spigot commit or the 1.7.10/1.8 hybrid

proper cobalt
#

the hybrid would be fire if u can find it

chrome beacon
#

e4d4710834f7b292bc496f41f1cf9ac363225c0e

#

That's for Spigot you will need to check CraftBukkit and Bukkit as well

proper cobalt
#

ah wait now u made it sound like a complicated build process

chrome beacon
#

Actually that's the last 1.8 version not hybrid

proper cobalt
#

a

chrome beacon
#

Will need to check a couple commits older for hybrid

chrome beacon
proper cobalt
#

wait why would u need to find craftbukkit and bukkit

#

ah yuea

chrome beacon
#

Spigot builds on top of CraftBukkit

#

and CraftBukkit is the implementation of the Bukkit API

#

So you will need the three of them to build Spigot

#

They are all on the stash ofc

blazing ocean
#

again, why do you even need this

chrome beacon
#

muh pvp

#

would be my guess

proper cobalt
#

to develop a minecraft plugin

blazing ocean
proper cobalt
proper cobalt
#

for this field

#

theres a reason i need 1.7

blazing ocean
#

Right I doubt that

chrome beacon
proper cobalt
#

see this olivo guy knows what hes talking about

#

theres a hit delay at around 15cps

chrome beacon
#

Unless you use a client that gives a competitive advantage, like Lunar, did at one point (or still idk)

proper cobalt
#

nothing but respect for this guy

#

yeah lunar used to remove the delay but they got backlash so

#

also lots of people still play 1.7

#

but the hybrid is good cuz some people play 1.8

#

but i wanna use the 1.7 api

#

acc i can prob find the hybrid build

blazing ocean
#

trust me you really don't wanna use the 1.7 api

proper cobalt
#

i do tho

#

hence im asking

worldly ingot
#

I was going to say. Nobody in their right mind wants to use the 1.7 API

chrome beacon
#

You can just compile against the 1.8 and not use any of the api methods that were added later

rough drift
#

^^

proper cobalt
#

yeah but idk which were added in 1.8 and which werent

chrome beacon
#

Check the javadoc

rough drift
#

there is probably a @since

chrome beacon
#

helpchat has them

#

There is not

rough drift
#

shit

blazing ocean
#

no because that would be too easy

rough drift
#

check the 1.7 api doc listing

#

make maven generate it

#

and search

#

kekw

proper cobalt
#

effort lad

chrome beacon
#

Someone should generate the @since javadocs :sadge:

proper cobalt
#

may justt use the 1.7

blazing ocean
#

somebody made that for paper, don't think it exists for spigot

rough drift
worldly ingot
#

You're wanting to write against an 11 year old API. This isn't going to be an easy feat

blazing ocean
#

what did you expect lol

proper cobalt
#

ive enough experience

worldly ingot
#

And not only are you wanting to use an 11 year old API, you're wanting to use an 11 year old API that was DMCA'd

rough drift
worldly ingot
#

It's not hosted anywhere legally

proper cobalt
rough drift
proper cobalt
worldly ingot
#

Spigot doesn't host it and you can't build it with BuildTools, so if you want to use 1.7, even if it's just the API, we're not going to help you here

rough drift
proper cobalt
#

man its way too difficult to just find a download

blazing ocean
#

do you even read any of the messages here

rough drift
#

fr

thorn isle
#

you're better off reimplementing basic and pvp related parts of the server/protocol from scratch

proper cobalt
thorn isle
#

i assume this is for some sweaty kitpvp server

proper cobalt
#

im reading everything but urs

proper cobalt
blazing ocean
proper cobalt
#

may give a go at building this

rough drift
#

What about minestom?

blazing ocean
#

DO NOT BUG US FOR SUPPORT FOR 1.7.10. YOU WILL NOT GET ANY.

proper cobalt
blazing ocean
#

that's pretty clear if I do say so myself

rough drift
proper cobalt
#

really?

rough drift
#

you may need to do minor tweaks

chrome beacon
proper cobalt
#

that might be the move u know

chrome beacon
#

then it will support 1.7

rough drift
#

or

proper cobalt
#

nahh let me give that a look'

rough drift
#

you can use fabric for 1.7.10

#

or forge even

proper cobalt
#

neh

blazing ocean
thorn isle
#

if you just need an api to build against, build directly against whatever server jar you will use to run the plugin on

proper cobalt
#

its not even that

#

i dont wanna start a server

#

i just want my own core for the presence

rough drift
#

๐Ÿ’€

thorn isle
#

then what do you need the api for

rough drift
proper cobalt
#

to make the core?

thorn isle
#

what is the core gonna run on?

rough drift
#

terraria

blazing ocean
#

undertale

rough drift
#

terraria 1.3.1.1 to be precise

blazing ocean
#

kek

rough drift
#

it's been a decade bro ๐Ÿ˜ญ

grim hound
proper cobalt
#

im looking for craftbukkit

#

so it will support everything

thorn isle
#

๐Ÿคก have fun with that

proper cobalt
#

ayo chill tf out

blazing ocean
#

you're acting so surprised for trying to run an 11 year old minecraft version that nobody runs anymore

#

on a DMCA'd version/server too

blazing ocean
#

fabric >>

rough drift
blazing ocean
#

i don't think that's what they care about

rough drift
#

for modern, fabric is better

proper cobalt
#

๐Ÿ˜

#

ruined it for everyone

blazing ocean
#

?dmca

undone axleBOT
proper cobalt
#

well i know why

#

but why why

manic delta
#

why this isnt working?

blazing ocean
#

why isn't what working

manic delta
#
fun restore(world: World) {
        println(regen.size)
        object : BukkitRunnable() {
            val batchSize = 500

            override fun run() {
                val startTime = System.nanoTime()
                var i = 0

                while (i < batchSize && regen.isNotEmpty()) {
                    regen.pollFirst().restore(world)
                    if (System.nanoTime() - startTime > 50_000_000) break
                    i++
                }

                if (regen.isEmpty()) cancel()
            }
        }.runTaskTimer(UltimateDuels.get, 0, 5)
    }

I'm using that here, the regen list contains the block but the changes dont appear

manic delta
#

is a regen system

#

im saving them in: val regen: LinkedList<FormerBlockState> = LinkedList()

#

is like, you place a block, save it there, then when the minigame ends the blocks should return back

#

but idk why it is not working

#

oh i got it

#

for some reason

#

it is saving yea

#

but AFTER i place the block

#

how can i do it then?

#

oh nvm wait i can just set them to air

manic delta
#

@worldly ingot with that method world.setBlockData() is the best way? you do that on hypixel? i have a friend that says that there's a much better way to do it but he doesn't want to tell me ๐Ÿ˜ฟ

chrome beacon
#

setBlockData is fine

#

If you just want to revert the placed blocks

manic delta
chrome beacon
#

They will flow again when placed

manic delta
#

no i mean, if player place water

#

how can i revert the flow

thorn isle
#

what are you doing again

#

reverting an arena in between matches?

undone axleBOT
#

Don't ping staff for development/server help, if you have a question just ask it and someone in the discord will respond when they are capable of helping.

manic delta
manic delta
chrome beacon
#

Oh then you can just skip saving the arena to begin with

thorn isle
#

make the arena into a schematic and paste it with the worldedit api

blazing ocean
#

probably better to just place the map twice / n times

manic delta
thorn isle
#

it's to place it with the fawe api instead of the worldedit api

manic delta
manic delta
chrome beacon
thorn isle
#

lol

chrome beacon
#

That's also an option

manic delta
thorn isle
#

i'd just copy the regions into a new world as a file system operation outside of the game and then load that new world in, and discard the old one

#

if you need to reset a huge map, that is

chrome beacon
#

Yeah that's an easy solution to a big map

manic delta
#

so my way is okay for now?

thorn isle
#

well are you running into problems with it?

manic delta
#

for now no

#

i need to implement water and lava flow

#

i can use BlockFromToEvent for that right

thorn isle
#

what you want to do instead is probably to save the entire arena before the match starts, and then restore it

#

instead of trying to track changes

#

because trying to track "all" changes through the myriad possible ways blocks could be placed or broken or changed is not easy or simple or cheap to do

#

you can take a look at the flags list of worldguard to get an idea of just how many ways there are for things to change

#

so you probably want to not bother with that all and restore the map from a predefined snapshot or a schematic

manic delta
#

mm sure

#

ill try with schematics too

young knoll
#

Just copying a world file each time is nice

thorn isle
#

this gives you the matrix4f directly

#

as well as the left/right rotation and scale if you want those instead

cinder abyss
#

Perfect thanks

fast jasper
#

hey how might I make an entity on my server look different for clients than what it actually is? (eg. make an arrow, look like a dropped item) so I'm making an "itemLauncher" that launches a particular custom projectile. right now I'm currently using "p.launchProjectile(Snowball.class)" to launch a snowball from my player's perspective, however I want it to look like a dropped item on players screens. what's the best approach, or a few options that I have for doing this? any suggestions would be appreciated, thanks. also note that I have NMS setup on my plugin project if needed.

young knoll
#

You can set the item a snowball shows

fast jasper
#

what's the proper method to use for doing that?

#

oh wait, you mean the actual texture? like how eggs look different, but are considered the same action?

worldly ingot
#

Well those happen to be separate entities, but yes, all throwable projectiles (eggs, snowballs, ender pearls, etc.) that just render a billboarded item can have their display item changed

cinder abyss
#

Hello, how can I make a ItemDisplay rotate on its "center" instead of location corner ?

lost matrix
round ore
#

Hello nice to meet you guys,
Can someone help me about Bungeecord?
Im first time using it and get error for 1 my server

lost matrix
lost matrix
round ore
smoky oak
#

why is this inaccessible here?

tawdry cedar
#

= new HashSet<Material>();

eternal oxide
#

Its not initialized but it saying not resolved tends to mean its completely absent

#

assign it and test again

blazing ocean
#

Looks like it's initialised in the ctor but the ctor is collapsd

shadow night
#

maybe this.preserved will work?

blazing ocean
#

and there's some closing bracket, no idea what that belongs to

eternal oxide
#

oh I see. too many }

mint nova
#

Lubiฤ™ w dupke

blazing ocean
#

english only

quaint mantle
#

Is there a way to make a player drown faster?

eternal oxide
#

put your foot on their head

quaint mantle
eternal oxide
#

in the damage event detect damage type DROWN and double the damage

#

final damage

quaint mantle
#

i mean when the player is underwater

eternal oxide
#

yes, the player takes damage when drowning

#

DamageType.DROWN

quaint mantle
#

i know that, i mean when a player changes his oxygen level.

#

like

#

if player is underwater his oxygen goes down more faster

urban cloak
#

i think thats client side

#

nah im trolling

#

or atleast the client predicts it when the server doesnt send an update

valid basin
#

Hey everyone so basically I'm trying to create the silent aim for bedrock players with packets but for some reason it doesn't work correctly. If anyone knows why I'd appreciate the feedback. I decided to go with packets since setRotation in spigot api doesn't seem to work?

#
        return player.getNearbyEntities(range, range, range).stream()
                .filter(entity -> entity instanceof LivingEntity && allowedTargets.contains(entity.getType()))
                .map(entity -> (LivingEntity) entity)
                .min(Comparator.comparingDouble(e -> player.getLocation().distanceSquared(e.getLocation())))
                .orElse(null);
    }

    private void adjustAimTowards(Player player, Location targetLocation) {
        Location eyeLocation = player.getEyeLocation();
        Vector direction = targetLocation.toVector().subtract(eyeLocation.toVector()).normalize();
        Vector currentDirection = eyeLocation.getDirection();

        Vector smoothedDirection = lerp(currentDirection, direction, smoothnessFactor).normalize();

        float yaw = (float) (Math.toDegrees(Math.atan2(smoothedDirection.getZ(), smoothedDirection.getX())) - 90);
        float pitch = (float) -Math.toDegrees(Math.asin(smoothedDirection.getY()));

        PacketContainer packet = new PacketContainer(PacketType.Play.Server.ENTITY_LOOK);

        packet.getIntegers().write(0, player.getEntityId());
        packet.getBytes().write(0, (byte) (yaw * 256 / 360));
        packet.getBytes().write(1, (byte) (pitch * 256 / 360));
        packet.getBooleans().write(0, player.isOnGround());



        ModernCombat.getInstance().getProtocolManager().sendServerPacket(player, packet);
    }

    private Vector lerp(Vector start, Vector end, double factor) {
        return start.clone().multiply(1 - factor).add(end.clone().multiply(factor));
    }```
smoky anchor
eternal oxide
#

probably aim-assist like many console games have due to shitty controller for playing games

smoky anchor
#

why not call it aim assist then
sounds like ppl trying to hide skill/controller issue lol

wet breach
lime pulsar
#

how should i load a world thats not being automatically loaded?

chrome beacon
#

Run the WorldCreator

lime pulsar
#

so if they typo a worldname in a config i just create it and let them deal with their own mess?

chrome beacon
#

Yeah that's one way to do it

lime pulsar
#

whats a nicer way?

worthy yarrow
#

Guess you could compare world names with the input and match within some params

#

Only default to a new world when thereโ€™s no significant matches

echo basalt
#

@lost matrix How did you end up doing your RPG skill system?

#

Kinda working on one right now and the idea I have in mind is too complex

#

been wasting multiple hours at work just staring at the ceiling doing nun

slender elbow
#

infinite money glitch

echo basalt
#

ppl getting kind of mad because we have a limited budget and I get paid hourly

wet breach
echo basalt
#

no they jealous they're paying me to sit around while being over budget

wet breach
#

sounds like an error on their part if you are just sitting around

echo basalt
#

yeah because I'm the only dev and I gotta think like a mad man

#

we discuss options but no conclusions

wet breach
#

what are you stuck on?

echo basalt
#

complex ability system

#

passive abilities, active abilities, skill trees, toggleable abilities

#

gotta make it all configurable and easy to work on

#

Going back to the drawing board rn might get something out of this

wet breach
#

you could use python for this

echo basalt
#

naw

wet breach
echo basalt
#

not interested

#

basically my idea is to tie actions to triggers but I need a way to toggle between active vs inactive states

#

and having mana costs and stuff somewhere in the middle

lime pulsar
#

well active per player?

echo basalt
#

Yea

lime pulsar
#

use persistance

#

set a variable for each instance just save it to them as boolean

echo basalt
#

that's completely irrelevant

#

workflow looks a bit like this rn

lime pulsar
#

get players unlocked abilities...

#

if you didnt want to get their persistent data container all the time you could make a small data type that stores it all and just read it when they join and write it when something changes

echo basalt
#

main thing I need to manage is that we can have different actions with different costs depending on the player's level

#

managing player data on join / on quit isn't an issue

#

It's the whole trigger -> cooldown -> cost -> action flow

lime pulsar
#

store the cooldown in the data type and just have a method for the cost

echo basalt
#

cooldown and cost depend on the ability level

lime pulsar
#

or store the cost in the datatype also

echo basalt
#

but there are different cost structures depending on what activates it

#

I might merge the left and right sections because actions can have a cooldown and activation can also have a cooldown

#

so what if activation is just an action that calls a trigger for more actions

lime pulsar
#

calls a trigger?

#

a trigger goes off because of an action

echo basalt
#

a trigger can be, for example, damaging a mob

#

it can also be caused by activating an ability

#

Activating the ability can be an action that calls a trigger that calls other actions

#

That way the cooldown logic is unified

lime pulsar
#

i dont see what your problem is

echo basalt
#

basically coming to a conclusion about how this is going to end up

lime pulsar
#

action->trigger->more actions->more triggers

echo basalt
#

so unify the left and right side

lime pulsar
#

trigger calls the method for the effect

#

if i use a command it calls the method for the effect

#

check the cooldown and the cost in the method

echo basalt
#

So
Player activates ability, calls "activate" trigger
"activate" trigger runs "shoot fireball" action, takes 50 mana, applies 5 second cooldown

fireball hits entity, calls "fireball hit" trigger
"fireball hit" trigger runs "light_target_on_fire" action, applies 3 second cooldown

#

hm

lime pulsar
#

so they can only catch on fire every 3 seconds?

echo basalt
#

There's a 3 second cooldown on the entity for the light target on fire action

#

so we can't light it on fire 12 times in a second

#

bad example, more applicable to extra damage / critical hits

#

I'll also need filters because some actions only trigger under 20% health

#

But yeah unified system, hm

#

only thing I need to deal with is converting ability levels to action values

#

but that's a problem for later me

lime pulsar
#

doWhateverAbility() if(!cost() && !cooldown()) fail

echo basalt
#

not as easy

#

this is enterprise code

#

The cost and cooldown can just be part of the filters

chrome beacon
#

hm? what's the issue?

echo basalt
#

scroll up and read

#

making complex skill system

chrome beacon
#

Yeah that I know

#

but what exactly do you want help with

echo basalt
#

just figuring out the ideal structure

dawn flower
#

why do the modifications made clientside in a SET_SLOT or WINDOW_ITEMS packet reflect to the next SET_SLOT or WINDOW_ITEMS packet for the same item

echo basalt
#

creative mode?

#

hm what if I make presets and all the active vs toggleable ability logic is just a couple actions that update an internal state

dawn flower
#

does packet.getItemModifier().write(0, clientItemModifier.applyCallbacks(item)); in a SET_SLOT packet in protocollib affect the item serverwide

echo basalt
#

Make sure to clone the item

dawn flower
#

i am

young knoll
#

No in-between

slender elbow
#

both, even

echo basalt
#

both

chrome beacon
#

Yeah my discord drops to spf instead of fps with the gif picker open

echo basalt
#

a basic attributes system took me 50+ classes

#

but yeah I think I'll combine this trigger -> listener -> filter -> action system with a state machine

#

for toggleable abilities

lime pulsar
#

you have mastered the art of procrastination ๐Ÿ™‚

lost matrix
echo basalt
#

yeah I'm prob gonna end up with the same

#

I kinda gtg rn but I'd like to hear your approach

lusty sapphire
#

Hello everyone, I am trying to make a plugin but I am a beginner and don't know what is causing it not to work.
Please kindly help me.

package org.tofu1.plot;

import org.bukkit.Bukkit;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerMoveEvent;
import org.bukkit.plugin.java.JavaPlugin;

import java.awt.print.Paper;

public final class Plot extends JavaPlugin implements Listener {

    @Override
    public void onEnable(){
        // Plugin startup logic
        getLogger().info("plugin enabled");
    }

    @Override
    public void onDisable(){
        // Plugin shutdown logic
        getLogger().info("plugin disabled");
    }

    @EventHandler
    public void onPlayerMove(PlayerMoveEvent event) {
        // move
        event.setCancelled(true);
    }

}
thorn isle
#

you're not registering your listener

#

Bukkit.getPluginManager().registerEvents()

#

pass your plugin and your listener (which is also your plugin)

lusty sapphire
chrome beacon
#

Register it in your on enable

lusty sapphire
#

thank you i try it

lusty sapphire
#

It worked! Thank you very much.

quaint mantle
#

hi!

#

I need help with a datapack I am trying to create for 1.21.1. I have almost never built these before so kind of struggling.

#
{
  "type": "minecraft:crafting_shaped",
  "pattern": ["###", "BBB", "###"],
  "key": {
    "#": { "item": "minecraft:netherrack" },
    "B": { "item": "minecraft:dead_bush" }
  },
  "result": { "item": "minecraft:netherite_ingot", "count": 64 }
}
chrome beacon
#

I recommend you head over to the Minecraft commands discord

smoky anchor
quaint mantle
#

they seem fine to me.

#

namescape/recipes/recipe.json

smoky anchor
#

you have the recipe in 'recipes'
but in 1.21 the folder was changed to 'recipe'

quaint mantle
#

oh bruh.

young knoll
#

Mojang hates plurals

quaint mantle
#

still doesn't work...

#

How is this more difficult than writing a plugin with java?

#

idk, maybe I am just inexperienced.

smoky anchor
#

Probably some other changes in recipe format
Use wiki or ask for help in that discord, do not forget to mention your exact version

quaint mantle
#

yeah. Anyway, thx for checking it out.

muted dirge
worthy yarrow
#

Thereโ€™s a preview button somewhere before you make the post

#

Could check and see what markdown support it does have, Iโ€™m also pretty sure thereโ€™s a link somewhere of formats

rough drift
blazing ocean
#

bbcode my behated

valid basin
#

silent aim sounds like a cheat

zealous scroll
#

does anyone know how to achieve this without shulkers? shulkers have a collision box and i want people to go through it

zealous osprey
#

Resourcepack, make a block invis, then use blockentities?

zealous scroll
#

im looking for options without a resourcepack, i relaly only want to use that as a last resort

blazing ocean
#

i'd avoid removing a block's texture and just use an item model

winter jungle
#

Fast question: Can i make the player sneak via the spigotapi? Yes/No?

eternal oxide
#

yes

winter jungle
#

Alr, thx!

frozen violet
#

Hello, I am making a mistake while installing bungecord. Can you help me? How can I upload a photo?

chrome beacon
#

Don't crosspost

frozen violet
#

@chrome beacon Can you help me?

chrome beacon
#

Can't help without knowing what's wrong

fickle spindle
#
            Block blockLocation = block.getLocation().getBlock();
            block.getWorld().dropItemNaturally(block.getLocation(), new ItemStack(blockMaterial));

            System.out.println("debug out");
            if (blockLocation.getType() != Material.AIR) { 
                System.out.println("debug in");
                blockLocation.setType(blockMaterial);
            } else {
                System.out.println("debug else");
                blockLocation.setType(blockMaterial);
            }
        }```
why my block doesn't get replaced ?
chrome beacon
#

Are you debug messages called?

#

When is that run?

fickle spindle
eternal oxide
#

why? block.getLocation().getBlock()

fickle spindle
#

oh wait

#

it should be only block.getLocation()?

eternal oxide
#

you don;t need its location

fickle spindle
#

and how can i put the block back?

eternal oxide
#

you have teh Block which is a single instance

#

your issue is you are trying to set teh block IN the event which is before it is actually confirmed broken

fickle spindle
#

there is an event when the block get broken or i need just to make like a Runnable?

eternal oxide
#

you just need to delay your setType code for a tick

fickle spindle
eternal oxide
#

you are trying to restore teh block after its broken?

eternal oxide
#

then delay your setType for a tick

fickle spindle
# eternal oxide then delay your setType for a tick
            @Override
            public void run() {
System.out.println("debug out");
            if (blockLocation.getType() != Material.AIR) { 
                System.out.println("debug in");
                blockLocation.setType(blockMaterial);
            } else {
                System.out.println("debug else");
                blockLocation.setType(blockMaterial);
            }
        }
        }.runTaskLater(plugin, 20L); 

like that right? or there is a different way to do it?

eternal oxide
#

your naming is confusing. You call it a blockLocation but its actually a Block

#

you should get a fresh Block inside your runnable to be safe

#

it "should" be ok though

fickle spindle
# eternal oxide you should get a fresh Block inside your runnable to be safe
            new BukkitRunnable() {
                @Override
                public void run() {
                    Block block3 = block.getLocation().getBlock();
                    System.out.println("debug out");
                    if (block3.getType() != Material.AIR) { 
                        System.out.println("debug in");
                        block3.setType(blockMaterial);
                    } else {
                        System.out.println("debug else");
                        block3.setType(blockMaterial);
                    }
                }
            }.runTaskLater(plugin, 200L);```
so something like that right?
sullen marlin
#

Why not just cancel the event

fickle spindle
thorn isle
#

why are you using a bukkitrunnable

fickle spindle
thorn isle
#

passing a lambda to Bukkit.getScheduler().runTaskLater() is cleaner since it avoids the anonymous subclass boilerplate

umbral ridge
#

how do i get a player name from an uuid?

#

but im not sure if player is online or offline

#

does Bukkit.getOfflinePlayer work if player is online too?

eternal oxide
#

yes

umbral ridge
#

๐Ÿ‘Œ

eternal oxide
#

if you get an offline player with an invalid UUID the name will be empty

umbral ridge
#

im adding offline support for bank transactions

pseudo hazel
#

I think Player extends OfflinePlayer so yeah you're good

umbral ridge
#

ok great

#

is there a way uuids can change?

#

on premium players?

pseudo hazel
#

no

#

thats a hard link to your account

umbral ridge
#

I ask because its marked as @Nullable

#

๐Ÿ˜…

eternal oxide
#

yes nullable

urban hedge
#

Looking for someone who can help me with some information about starting a player in a " cutscene " or " dialogue " sequence when they first join a server.

#

assuming this is done with betonquest or if someone know another way I'd like to hear

worthy yarrow
#

Otherwise just track some state on the player throughout some chat events when they first join @urban hedge

thorn isle
#

i just saw a plugin for this on hangar

#

i forget the name however

#

someone in the betonquest discord surely knows

#

it forces the player in spectator mode with predefined camera and npc movement while playing dialogue in the actionbar

umbral ridge
#

that sounds fancy

#

i need to try it

#

but how do you handle a smooth camera movement tho

#

if you attach it to an invisible entity it will lag

#

how do you move a camera in the first place

young knoll
#

Just get better internet

#

Make the player spectate an entity and move the entity

umbral ridge
#

then you have to move an entity at specific speed and also make sure the entity moves where you want the "camera" to move

#

sounds complicated

thorn isle
#

it also spoofs a npc with the player's own skin so the player sees themselves walk and look around in the cutscene

#

it's very cool and i was planning to look into it but i've never gotten around to it

umbral ridge
#

it sucks that F5 is client side

#

otherwise you could "lock" the camera

#

and player wouldnt be able to look around

young knoll
#

But the third person camera isnโ€™t locked

umbral ridge
#

yea it isnt..

young knoll
#

You can easily lock the camera by spectating an entity

thorn isle
#

i also saw this same thing used for a third-person over the shoulder camera perspective for some big rpg "soulslike"

umbral ridge
#

how do you move an entity though

#

in specific .. path?

thorn isle
#

not f5, but behind the player so you could see the fancy attack animations they'd put on the "player model" using modelengine or something

umbral ridge
#

that sounds complicated

thorn isle
#

you just record the points along the path and move the entity there tick to tick

umbral ridge
#

im also guessing you have to manually rotate the head if you want the entity to look eg.: 5ยฐ to the right

young knoll
#

You just make keyframes and then interpolate

thorn isle
#

rotation information it part of the points, yes

#

iirc the plugin had 2 modes, one where you record the camera movement by running a command that records your movement and saves it tick by tick

umbral ridge
#

hmm hmm

thorn isle
#

and another that interpolates keyframes made in some web editor

#

typewriter

#

absolute dogshit SEO

#

page 5 on google search for cutscene plugin

umbral ridge
#

fancy stuff

young knoll
#

That character by character text in the chat

#

Probably not good for your client log files XD

umbral ridge
#

i wonder how that even works

thorn isle
#

resend the entire chat history for every new character, except with that character added

umbral ridge
#

i though so

#

XD

#

would be nice if there was a feature to edit the chat, each message would have its id, and you could access it

thorn isle
#

and yeah on low end machines it looks super choppy because the renderer can't keep up; the chat window starts flickering with just some of the newly sent lines in and others not yet rendered

umbral ridge
#

and modify it

young knoll
#

You only need to resend that single message and some spaces

#

Rather than the entire history

thorn isle
#

depends on if you want the player to scroll back up

umbral ridge
#

also the selection... arent arrow keys client side and cant be detected by the server?

young knoll
umbral ridge
#

how did he detect them in the chat? while typing

young knoll
#

But server messages arenโ€™t signed

thorn isle
#

i suppose you could prefix it with ~100 newlines to push the old chatbox completely out of history with relatively little bandwidth

young knoll
umbral ridge
#

hmm

young knoll
#

I just realized you could implement an F to pay respects plugin

umbral ridge
#

XD

torn shuttle
#

what are the cool kids using these days for AI autocompletion of code, I have grown to dislike relying on ai that much but I still kinda liked it when it was just autocompleting code in my ide

#

guess I'm in a bit of a weird spot with using ai for programming

thorn isle
#

i use my fingers

#

they have a will of their own

torn shuttle
#

demonic posesssions to write code, old school, I like it

thorn isle
#

sometimes i write out entire halves of sentences without thinking about it just on autopilot

#

it's like autocorrect but in my tendons

torn shuttle
#

I like AI when I'm doing something absolutely supremely braindead

#

a good example is just a builder pattern

#

I have a class with like 30 fields I want a builder pattern for

#

it will be a cold day in hell when I type that out manually in anno domini 2025

thorn isle
#

lombok ๐Ÿคก

torn shuttle
#

does lombok even allow builder patterns? I only ever use getting and setter

chrome beacon
#

Yes

torn shuttle
#

hm how does it do it

thorn isle
#

i don't quite remember

#

but it does

chrome beacon
young knoll
#

Real programmers use Lombok and then run delombok afterwards to atone for their sins

torn shuttle
#

neat trick

thorn isle
#

sounds about right

torn shuttle
#

surely I'll not regret using it, right, guys?

#

guys?

chrome beacon
#

eh it's fine

thorn isle
#

use it where you need it, like here

#

i wouldn't start replacing all my setters and getters and ctors, however

torn shuttle
#

I've been using lombok getters and setters all along

chrome beacon
#

I mean if you're already using lombok then go for it

thorn isle
#

then for sure

#

no way to go but down

torn shuttle
#

hey if you dig down far enough I heard you get to pop out on the other side

#

well at least that's what I keep telling my bank

#

has anyone here tried cursor out

#

I'm curious but skeptical

young knoll
#

But youโ€™ll hit bedrock

torn shuttle
#

I'm no quitter, I know I can break through

sullen marlin
#

I ran an online Kotlin to java converter yesterday and I'm 95% sure it was AI based

torn shuttle
#

might've been

#

it's usually reasonably good for stuff like that

sullen marlin
#

Yeah it was perfect except the type inferred for one list was wrong

torn shuttle
#

the problem I have with using AI is just that it can't really reason well for anything big

sullen marlin
#

But no idea how it could have inferred any type at all without ai given no imports were in the snippet

torn shuttle
#

it's amazing for when I need a python script that does the one thing, even if the one thing is semi-difficult to do

#

but if you want a system, any kind of system, it blows

#

the current api prices for claude 3.7 make me sad

#

it's such a good model, but actually trying to use it for a project is more expensive than a coke habit

#

if only I could get a small loan of a million dollars to get me started

#

reminds me of the claude plays pokemon bot on twitch that is running right now, 45 hours in it had burned through $3k-$30k worth of tokens

#

varying depending on how the caching strategy is actually working

thorn isle
#

deepseek is reasonably capable (and way cheaper), and if you put a lot of work into figuring out how to rag your codebase, i'm fairly certain it will turn out relatively proficient

torn shuttle
#

I have used a lot of deepseek

#

it's really not on the same level

thorn isle
#

for sure, but some compromises need to be made

torn shuttle
#

hell I was about to check the current deepseek providers right now

#

for the millionth time

#

it is unfortunately substantially dumber and substantially slower

#

but

#

in fairness

#

it's also literally a fraction of the price

thorn isle
#

even if it might not be capable enough to produce the final output, it can still play a role in the system, e.g. filtering or reasoning about rag results

torn shuttle
#

the slowness of it gets to me more than the quality honestly

#

it is incredibly, insanely slow

thorn isle
#

iirc their input processing is slower than e.g. openai, but output isn't noticeably slower

torn shuttle
#

oh it definitely is compared to claude

#

trust me

#

I know the difference well lol

thorn isle
#

should be fine if your request hits the cache

torn shuttle
#

compared to o3 mini high or whatever it was called though, slower but closer to similar

#

the api access is a mess for deepseek anyway

#

I think claude is pulling a trick with its reasoning, it's the only thinking model I currently know of that seems capable of calling reasoning off "early"

#

deepseek and chatgpt will go on and on forever in their reasoning, and not really be able to detect they're at times going overboard for something rather simple

#

there's definitely some optimizations that can be had in that specific field, not every request requires the same amount of "reasoning"

young knoll
#

AI has learned to overthink

torn shuttle
#

literally

young knoll
#

They grow up so fast

#

When will it develop anxiety and depression

onyx tiger
#

Dear revered SpigotMC members,

I hope this letter finds you all well. I am anticipative of this writing, as it will aid me in finding not only a new friend, but a fellow competent server developer. I already own a server of the highest caliber specifications. Budget is not a problem for me. With all this being said, I still do not want to enjoy this journey alone. For more questions please DM me.

p.s. I cover all server expenses + resources
tldr: i wanna friend who is also good at developing because it sucks doing stuff by yourself. Everyone gets a share of server profit + are paid for the work they are done.

torn shuttle
#

revered?

#

only revered?

#

mods, ban this guy

thorn isle
#

repost ๐Ÿ’€

onyx tiger
#

oh sheet

onyx tiger
thorn isle
#

what i do in my rag system unrelated to coding is i split it into sectors by similarity and run multiple model calls in parallel (after culling them with rag) and finally consolidating it with a more expensive model

#

in this context multiple calls could work in parallel on e.g. separate classes

young knoll
#

Culling them with a rag

#

Probably not something you want out of content

thorn isle
#

i'm going to rag you

toxic nest
#

i am a rag

torn shuttle
#

Dear revered SpigotMC staff,

I hope this message finds you swamped with forum moderation work. I take great pleasure in seeing you struggle, as it means the Spigot ecosystem is attracting numerous new members.

Earlier on this day, the 6th of March of Anno Domini 2025, a foolish member of the Spigot community elected to extend an invitation to find a server developer.

This dunce of the highest caliber has thus misused this room, sullying its with offer, instead of directing his request to the famous services forum.

I beseech you delete his cringe-ass message, and provide a verbal spanking of the highest caliber.

Your fairweather friend,

  • \^.^
onyx tiger
#

Dear revered SpigotMC member,

im sorry and i wuv you lots <#3

thorn isle
#

this works far better with local models but unfortunately i don't really have the hardware to mess with it too much

torn shuttle
#

honestly local models are really underpowered compared to online models

thorn isle
#

well of course, they are orders of magnitude smaller

torn shuttle
#

you can maybe use gemini for free, but not really if you're hitting it with a ton of requests

thorn isle
#

several several orders of magnitude

#

its honestly remarkable that they are usable at all

sullen marlin
#

But my eye phone has aye eye !!!

thorn isle
#

one day however i will buy a pile of used 3050's or something and run an unquantized 72B parameter deepseek

torn shuttle
#

your phone has AYAYA?

#

pictured: md_5's screensaver

torn shuttle
#

but then went around asking other people and they said it was just not really worth it so I gave up

#

it's a bit of a stupid time and money investment anyway

#

sorry did I say openrouter

#

I meant runpod

#

I was looking at openrouter, it was on my mind

thorn isle
#

if you look at it the other way around, the margins are much better than e.g. for mining shitcoin

torn shuttle
#

that came out wrong

#

I meant to say I was making a private instance for it on runpod

#

for my own use

#

not that i was building something for selling

thorn isle
#

the two biggest problems with trying to do this are that there's no real platform for you to sell inference time, and the upfront investment is far higher than for miners

torn shuttle
#

there is

#

you can become a provider for openrouter

thorn isle
#

interesting

torn shuttle
#

yeah

thorn isle
#

the second problem is solvable as well, by pooling together gpu resources with a few others

torn shuttle
#

there's a lot of deepseek providers and they're all better than deepseek themselves because they work

#

also tbh I don't quite know how much better the margins are

#

you need absolutely insane upfront costs and it's infamously power hungry