#help-development

1 messages · Page 562 of 1

vast ledge
#

YES

fluid river
#

alr let's figure it out then

quaint mantle
#

IT IDENTIFIES DIFFERENTLY

vast ledge
#

NAMING CONVETIONS

fluid river
#

it has to be tho

vast ledge
#

ARE IMPORTANT

remote swallow
quaint mantle
vast ledge
#

Naming convention Popo
👮‍♂️

fluid river
#

can you explain your problem better

quaint mantle
#

I need to find a way of getting all the coordinates of connected blocks of the same type. This is so that I can extrude them whichever way the player is facing. I've already written code to extrude one block, however i need to find a way of finding all connected blocks without a loop/very simple loop. Any ideas (Other than asking me what constructors are)?

quaint mantle
fluid river
#

image or smth

quaint mantle
#

I want to click the face of a block to extend all connected block-faces of the same type

#

?img

undone axleBOT
fluid river
#

like

#

select all diamonds in front of you

quaint mantle
#

i clicked on dirt

#

it's highlighted

#

it would extend dirt one block towards the way i'm facing

#

yk hypixel skyblock's builder wand. It's basically that

remote swallow
#

just loop the x and z, and y if you want behind too

fluid river
#

do you want to check blocks on player's direction vector?

pale breach
#

hi, im currently running a server in aternos and just installed the Simple Voicechat pluggin following the instructions, but when i type in the command a noti pops up saying i need to install it to the client or sum, what can i do now?

quaint mantle
fluid river
#

i mean

quaint mantle
#

I already have the block, the face and player who is clicking it using a function

fluid river
#

?verify

#

shit

remote swallow
#

!verify

fluid river
#

!verify

undone axleBOT
#

Usage: !verify <forums username>

#

Usage: !verify <forums username>

quaint mantle
#

no

fluid river
#

so you can send screenshots

quaint mantle
fluid river
#

cuz prnt.sc is blocked in russia lol

quaint mantle
#

Ohh

#

rip

fluid river
#

i can not see it xD

quaint mantle
#

imgur?

#

if that doesn't work i'll just send you in dms

fluid river
#

you want it this way or

quaint mantle
#

no as in

#

lemme draw 1s

#

Only top surface

remote swallow
fluid river
tardy delta
#

should do drawing lesson instead of java lesson

fluid river
#

this way maybe

quaint mantle
# fluid river

uh yeah pretty much, except it won't go deeper than 1 block

fluid river
#

so just first two

#

the one player is looking at

quaint mantle
#

no as that's going underground

fluid river
#

and one next to it

quaint mantle
#

Have you played hypixel skyblock before

fluid river
#

no

quaint mantle
#

ok rip

#

uh

fluid river
#

😉

quaint mantle
#

there's an item in there called the builder's wand, which just does the exact same i'm tryna make as a stand-alone plugin w/ some few extra stuff

fluid river
#

from your screenshot i can see that you just point on glass

#

and select all of the glasses sideways

quaint mantle
fluid river
#

not goind down or up

quaint mantle
#

but if i clicked on the glass from a face, it would select all the connected glass, going sideways and upways

#

and then return those coordinates in a list or other, where i can extrude all of them in the opposite direction the one that the player is facing (direction of the clicked face)

fluid river
#

that's still kinda sus

quaint mantle
#

wdym

fluid river
#

why is your glass highliting dirt 🙂

quaint mantle
#

...

#

so it's easier to see

fluid river
#

so you want to

#
  1. click on glass with RMB
quaint mantle
#

just check dm's i'll send you two images

fluid river
#
  1. select all glass blocks connected to it(attached/collided)
quaint mantle
#

can i create custom block ?
i mean like Itemstack item = new ItemStack(Material.BLABLA)

#

and can i set block type for playerinteractevent clicked block

vast ledge
#

?paste

undone axleBOT
remote swallow
#

without mods you cant, you have to use something with blockstates and use pdc or stuff to identify

eternal oxide
quaint mantle
vast ledge
remote swallow
#

so you use Material.BLOCK

#

and use your identifier

quaint mantle
#

I just feel like there 100% is an easier way of doing this than a loop

eternal oxide
#

this is custom for connected blocks

quaint mantle
#

Oh ok 1s

#

lemme read it

remote swallow
eternal oxide
#

add a range limit or when you click on grass you are going to lag out your server

quaint mantle
quaint mantle
#

how do i prevent this ?

#

i did applyphyics false

#

but not worked

#
        if (item.getType() == Material.PAPER &&
        block2.getType() == Material.GRASS_BLOCK &&
                block.getType() == Material.AIR) {
            e.setCancelled(true);
            new BukkitRunnable() {
                @Override
                public void run() {
                    Tripwire tripwire = (Tripwire) Material.TRIPWIRE.createBlockData();
                    tripwire.setFace(BlockFace.EAST, true);

                    block.setBlockData(tripwire, false);
                }
            }.runTask(plugin);
        }```
tender shard
#

you might have to listen to BlockPhysicsEvent and cancel that too for these blocks

#

however:

This event is a high frequency event, it may be called thousands of times per a second on a busy server. Plugins are advised to listen to the event with caution and only perform lightweight checks when using it.

young knoll
#

Yeah it’s annoying

quaint mantle
#

how can i control ?

young knoll
#

We’ll get real custom blocks one day

zenith gate
#
Caused by: java.lang.NullPointerException: Cannot invoke "toast.pine.overhaulsystems.Overhaul_Systems.getServer()" because "toast.pine.overhaulsystems.Overhaul_Systems.plugin" is null
    ```
What does this mean?
tardy delta
#

it tells you

zenith gate
#

I don't understand it.

tardy delta
#

go google how to read stacktraces

tender shard
#
public class Overhaul_Systems {
  private Plugin plugin; // You never assign any value to this
}
quaint mantle
#

for the disable block interact with action.physical i need use get clicked block ?

remote swallow
#

action.physical is for ass presre

#

pressure

#

like jumping on farmland

quaint mantle
#

i know

#

i use for tripwire

#

but how i get tripwire at action.physical ?

remote swallow
#

im gonna doubt its interact event

young knoll
#

It probably is

#

And yes it will be clicked block

jade stump
#

Quick question. Using a spigot server plugin, can you modify minecrafts terrain generation so that only 1 type of plant will grow in a biome? Like if I wanted a forest biome to randomly select pumpkins or roses, can I make it only generate that type of plant and prevent other plants from generating in that spesific biome?

chrome beacon
young knoll
#

Yeah worldgen tends to be very complicated

jade stump
#

How difficult u think? I don't use java very much.

remote swallow
#

says the person that did a worldgen plugin

jade stump
#

makes him more credible no? haha

young knoll
#

I didn’t make it from scratch :p

remote swallow
#

nerd

lean merlin
#

If I have a Maven project on Github that builds a jar and javadoc jar, how can I add the dependency from Jitpack so that it automatically downloads the javadoc along with the jar? Right now, it only downloads the jar, then I have to tell IntelliJ to "Download Documentation."

eternal oxide
tender shard
tribal quarry
#

hello there, does anybody knows how can i prevent the server from stopping itself? (watchdog thread), beacuse im doing a sync operation which takes a bit long, im trying to change a lot of player data.

lean merlin
tribal quarry
#

player data shouldn't accessed async, any NMS class is unsafe to do it async, i did and it corrupted the data, resulting in complete reset, so i restored the data to backup.

lean merlin
#

What are you doing that takes so long?

remote swallow
eternal oxide
#

you run your update async and feed teh data out in small chunks sync

tribal quarry
#

ok it looks like setting the max-tick-time to -1 solves the issue

#

thanks for help 🥰

tender shard
hard socket
#

How can I fix this?

#

            // Add the modifier to the armor's knockback resistance attribute
            itemMeta.addAttributeModifier(Attribute.GENERIC_KNOCKBACK_RESISTANCE, knockbackResistanceModifier);```
young knoll
#

One of those methods can take an equipment slot

#

Use that

hard socket
young knoll
#

It’s either the constructor or the add method, don’t remember which one

worldly ingot
#

Constructor

young knoll
#

The ya go

hard socket
#

what Constructor?!

worldly ingot
#

The only constructor you're using in the snippet you sent

young knoll
#

Just pass the appropriate slot that you wear the item in

worldly ingot
#

new AttributeModifier("generic.knockback_resistance", 2, AttributeModifier.Operation.ADD_NUMBER, EquipmentSlot.CHEST);

#

tbh you might need more arguments

hard socket
#

ohhh

#

I have to learn to check docs

#

thank you anyways

worldly ingot
#

Yeah you would need to pass a UUID as well

tender shard
#

why the hell is english so weird.
both are called chest lmao

worldly ingot
#

Yessir

young knoll
#

Wait until you see lead and lead

worldly ingot
#

Or read and read

worldly ingot
tender shard
#

yeah I know all those

#

read read read

worldly ingot
#

Lead mineral, to lead something, lead something in the past

#

😄

young knoll
#

Lead item in minecraft

fluid river
#

?PASTE

#

?paste

undone axleBOT
tender shard
#

are there any bimetals made with lead? I only know that zinc + nickel yield a great bimetal

lean merlin
remote swallow
#

why is it sometimes we read read as read but not read as read

fluid river
#

true

#

why do i read

wide steeple
#

Make branches?

#

A branch for every version?

#

Huh?

left pine
#

Ask why I get this error all the time

Caused by: java.lang.ArrayIndexOutOfBoundsException: Index 1 out of bounds for length 1 at main.worldwar.commands.MainCommands.onCommand(MainCommands.java:81) ~[?:?] at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45) ~[spigot.jar:3284a-Spigot-3892929-0ab8487] ... 19 more

wide steeple
#

Well, you create a repo on GitHub, do git init and git remote add origin yourRepo

#

Then just push

#

Link

left pine
wide steeple
tender shard
left pine
opal carbon
#

You new to java?

quaint mantle
#

hi guys im trying to disable ACACIA_LEAVES distance changes
i tried with blockphysical event
i cancel event and worked but when i do only for ACACIA_LEAVES my event not worked
here is my code

    @EventHandler
    public void physicsBlock(BlockPhysicsEvent e) {
        if (e.getBlock().getType() == Material.ACACIA_LEAVES) {
            e.setCancelled(true);
        }
    }```
#

i tried getSourceBlock

#

and getChangedType

#

but not worked

#

u guys have any idea ?

subtle folio
quaint mantle
subtle folio
#

iirc that’s textures

quaint mantle
#

we can control this with spigotapi

noble lantern
#

Block#setFacing?

noble lantern
#

oh we got leaves class

quaint mantle
#

no i wanna no change distance when block break

#

not place

eternal oxide
#

then prevent physics on teh leaves

quaint mantle
#

i tried

#

can u help me ?

#
    public void physicsBlock(BlockPhysicsEvent e) {
        if (e.getBlock().getType() == Material.ACACIA_LEAVES) {
            e.setCancelled(true);
        }
    }```
#

this is code

#

i tried e.getsourceblock

#

and changed type

#

not worked but

#

if i cancel the all event

#

working

#

i do wrong something

eternal oxide
#

thats because you cancel the physics evenbt on teh wood being broken

#

prevents propagation to the leaves

#

you could detect a physics event on teh leaves, then set the persistent flag

#

if these are leaves you are placing just set teh persistent flag then

#

more performant than messing with physics

quaint mantle
eternal oxide
#

if you set persistent when you place leaves they won;t change

quaint mantle
#

no changing

#

i mean creative leaves block

#

is already persistent

eternal oxide
#

yes

quaint mantle
#

and i place after changed

#

or break

eternal oxide
#

thats going to be very hard

quaint mantle
#

if i cancel the physics event

#

w8

eternal oxide
#

so your problem is?

quaint mantle
#

when i cancel the blockphysics event working but i can't do that only for spruce_leaves

eternal oxide
#

you want to do it for all leaves?

quaint mantle
eternal oxide
#

I'm not understanding your broken English then

quaint mantle
#

😄

eternal oxide
#

if you ONLY do it for spruce leaves does it not work?

quaint mantle
quaint mantle
#
    @EventHandler
    public void physicsBlock(BlockPhysicsEvent e) {
        if (e.getBlock().getType() == Material.SPRUCE_LEAVES) {
            e.setCancelled(true);
        }
    }```
#

here is my code

#

i tried this

#
    @EventHandler
    public void physicsBlock(BlockPhysicsEvent e) {
        if (e.getSourceBlock().getType() == Material.SPRUCE_LEAVES) {
            e.setCancelled(true);
        }
    }```
eternal oxide
#

you can;t use sourceblock as that could be anything

quaint mantle
#

alright

#

i tried with changedtype btw

eternal oxide
#

try (as a test) java if (Tag.LEAVES.isTagged(e.getBlock().getType())) e.setCancelled(true);

quaint mantle
#

oke

young knoll
#

I wish Mojang would just add a solid and transparent dummy block with a bunch of states

#

Just for this purpose

noble lantern
#

This will be a shot in the dark:

Im setting up a multi module project with maven and it seems to be working fine except for one thing... https://github.com/CloudLiteMC/cloudlite-server-core

Lombok (and other various files) keep getting shaded into my jar is there any way to stop this? It makes my plugin jar like 2mb like mmmbruh

young knoll
#

Do you have the scope set to provided for them

noble lantern
#

oh it needs to be provided for modules?

#

thought it was compile alr then

young knoll
#

Iirc compile will shade provided will not

#

Could be wrong

noble lantern
#

lemme try one sec

#

yeah setting my module imports to provided just break it entirely sadly

young knoll
#

Rip

eternal oxide
#

odd

young knoll
#

Hopefully someone that knows maven is around

#

:p

echo basalt
#

multi module projects bring me nightmares

subtle folio
#

yet you still do it

echo basalt
#

especially with gradle

quaint mantle
#

something works

echo basalt
#

putting a settings.gradle on your module breaks it entirely

noble lantern
#

sooo nice when its setup tho

I mean it is worth it just idk why its shading in other random shit

eternal oxide
#

each module has its own pom, you set its dependencies to provided, if they are

noble lantern
#

so even for lombok it would get set to provided?

#

cause import for thats always compile when i go to grab it and its how ive used it on just single pom projects

eternal oxide
#

yes you shoudl not be packaging lombok

noble lantern
#

but its weird cause my github files get shaded in to

eternal oxide
#

I don;t use lombok but it's a compile time thing so should not be shaded

noble lantern
#

yeah setting anything to provided like that just breaks the import when used elsewhere

#

even for my own modules in the project

eternal oxide
#

provided

wide steeple
kind hatch
#

The person who needs that is working with maven.

eternal oxide
#

🙂 he's using maven

wide steeple
#

It was a joke…

eternal oxide
#

Time for fisty-cuffs

wide steeple
#

All I saw is Lombok and shading

noble lantern
#

maven switched my copy pasted import ive used for years from provided to compile smh

#

copied it from here and mf changed it to compile smh

#

ty, this is a lot cleaner kek

minor aurora
#

on a scale of 1 to 10 how hard is AI in Minecraft (Spigot/bukkit)?

I've done a bit of Terraria (tModLoader) AI, but this seems very deep when compared

echo basalt
#

Depends on what you mean by AI

minor aurora
echo basalt
#

Ugh

#

I wrote this garbage guide as a challenge to myself

#

Should cover some basics

minor aurora
#

oh nms is just net minecraft server. I'll read your guide! thanks

echo basalt
#

And remove its natural wander goal

#

You can also just patch a slime by using reflections to access its target selectors

minor aurora
#

bukkit entity slime?

echo basalt
#

uhh no, nms

#

Slimes in NMS have these goals, remove the ones in yellow

#

SlimeAttack has to do with its random jumping towards a goal

#

and float is usually just float in water

#

The KeepOnJumping goal is just the persistent jumping for movement

minor aurora
#

ooooOOooh I don't have net.minecraft.server! That's why it's different

echo basalt
#

Yeah you need to import the whole thing

#

spigot instead of spigot-api

#

Should come with buildtools

#

Honestly you can just achieve your stuff by removing all goals, adding SlimeAttackGoal and a NearestAttackableTargetGoal with the target being zombies

minor aurora
minor aurora
#

-- and the thing I run the server with?

echo basalt
#

When you run buildtools it installs that version on your MavenLocal

#

So you can just java -jar buildtools.jar --rev 1.19.2

#

for example

#

and import org.spigotmc:spigot:1.19.2

#

discord hello?

minor aurora
#

\

echo basalt
#

I know but gotta do it on both sides

#

why did that sticker go through I thought I disabled this setting

#

anyways

minor aurora
#

?paste

undone axleBOT
minor aurora
echo basalt
#

add the r0.1-snapshot to the spigot import below

#

or just remove it all together and remove the -api from your spigot api import

minor aurora
#

spigot includes the api? (spigot vs spigot-api?)

echo basalt
#

Of course

minor aurora
#

aight

#

what's the difference between spigot and spigot-api then? what does spigot have that -api doesn't?

echo basalt
#

The entirety of NMS

minor aurora
#

Also, after doing this, it'd seem I don't have org.bukkit.*

echo basalt
#

Uhm

wise mesa
#

which takes some extra work

#

are you using gradle or maven

minor aurora
#

former

wise mesa
#

okay there isn't an official way to use mojang mappings with gradle

#

sorry

remote swallow
#

for gradle you either have the option of paperweight or a 3rd party special source plugin

wise mesa
#

at least for spigot

#

but anyways the idea is that you develop against the mojang mappings (renaming everything from its obfuscated name to the actual ones mojang uses)

#

and then you use a plugin called specialsource that will then convert all your code back when you compile it

#

that's an abstract, somewhat accurate overview

minor aurora
#

Thanks, that's insightful

river oracle
wise mesa
#

it is

#

but specialsource is a maven plugin

#

and the gradle ones are all 3rd party adaptations

#

which doesn't mean they don't work

#

they're just unofficial

echo basalt
#

I just use paperweight at work and avoid the paper api itself

#

We purposely use deprecated stuff

remote swallow
#

compiling with paperweight is fun

river oracle
#

That's too much work :L

echo basalt
#

only takes 16 hours

remote swallow
#

bc its deprecation warnings everywhere bc of paper

river oracle
#

Why isn't the specialsources plugin open source?

#

Or is it on stash

remote swallow
#

its on mds github

wet breach
river oracle
#

Mmmm why not just make that but gradle :}

wet breach
#

There is 2 of them

river oracle
#

What

#

Why

remote swallow
#

just not offical

wise mesa
#

its unofficial because md didn't make it

#

that's all we're saying

wet breach
#

There is the one linked above and then there is another where i am one of the few other then md that has sources for it

wet breach
remote swallow
#

we are talking about 3rd party gradle special sources there

wet breach
#

There is specialsource and specialsource2

river oracle
#

MD made both special source plugins

remote swallow
#

no official, made by md, special source exists for gradle

river oracle
#

Why isn't specialsource2 open?

wet breach
#

Like it is only used for one thing even though it can do quite a bit lol

river oracle
#

Could you run maven plugins w gradle

remote swallow
#

probably

#

bet theres a plugin for that

river oracle
#

I barely use nms so I'll see if I ever need

#

Previously I only used it for InventoryView#setTitle

echo basalt
#

I'm fairly experienced in nms

wet breach
echo basalt
#

let him cook

heady wasp
#

I get this on my 1.20 plugin & server.
20:46:49 ERROR]: [ModernPluginLoadingStrategy] Could not load plugin 'Core-1.0-SNAPSHOT.jar' in folder 'plugins'
org.bukkit.plugin.InvalidPluginException: Unsupported API version [1.2]

plugin.yml:

name: Core
version: '${project.version}'
main: net.hyperiongames.core.Core
api-version: [ 1.20 ] <-- the part that errors
authors: [ herbert__ ]
website: discord.hyperiongames.net
depend: [ LuckPerms ]
softdepend: [ LunarClient-API ]```

and i also tried 

```yaml
name: Core
version: '${project.version}'
main: net.hyperiongames.core.Core
api-version: 1.20
authors: [ herbert__ ]
website: discord.hyperiongames.net
depend: [ LuckPerms ]
softdepend: [ LunarClient-API ]```
sullen marlin
#

'1.20'

heady wasp
#

thanks

late sonnet
#

+1 to the count of people asking for the float api-version xd

minor aurora
#

I've followed the mcmmo's xp gain rabbit hole for a while.
I got to the part where xp is added in a player profile, yet after adding the xp I don't see where it checks for level up or anything...

river oracle
#

Doc's commit looking hella attractive :P

late sonnet
winter remnant
#

how would one make a custom smithing table recipe in 1.20

#

the api only shows 2 RecipeChoices for items

noble lantern
minor aurora
sullen marlin
winter remnant
#

(keep in mind i have never made custom recipes before)

#

in 1.20 you need a template, item to upgrade, and a material

#

this only shows the item to upgrade and the template

#

no material

#

i could also be stupid and missing something

sullen marlin
#

Look at the classes that extend Recipe

#

There's two new ones for the new types of recipes

winter remnant
#

i see

#

thank you :)

noble lantern
#

Do PDC tags added to Players get saved on restart or are they ditched

kind hatch
#

PersistentDataContainer

ancient plank
#

^

noble lantern
#

brain fart moment

#

idk why i asked that kek

#

tyty

river oracle
noble lantern
#

i think i just needa take a break but im close to finishing no point

valid sorrel
#

I'm using protocollib to detect some block updates being sent to the client, but for some reason it keeps saying there's no blocks in the packet (Field index 0 is out of bounds for length 0)

protocolManager.addPacketListener(new PacketAdapter(this, ListenerPriority.NORMAL, PacketType.Play.Server.BLOCK_CHANGE) {
    @Override
    public void onPacketSending(PacketEvent event) {
        PacketContainer packet = event.getPacket();
        Material block = packet.getBlocks().read(0);
});

this code fails

#

oh I'm an idiot it works by using blockdata rather than just block

alpine urchin
#

also consider MULTI BLOCK CHANGE where multiple change at same time

obsidian plinth
#

Not to be rube

winter remnant
#

its also a new feature tbf

#

(the smithing transform/trim)

obsidian plinth
#

Oooo trim

#

I haven’t looked into it mb

#

Do u have the doc tho I kinda wanna loook at it

sweet sonnet
#

~~Hi, I am trying to make my onBlockBreak EventHandler run again after the first block has been broken (java getScheduler().runTaskLater(this, () -> block.breakNaturally(), 10);). Right now I am using

BlockBreakEvent newEvent = new BlockBreakEvent(block, event.getPlayer());
onBlockBreak(newEvent);

to run this again but when doing so, it ignores the delay i've set using getScheduler().runTaskLater()

EventHandler:

@EventHandler
    public void onBlockBreak(BlockBreakEvent event) {
        // Get block broken
        Block blockBroken = event.getBlock();

        // Check if the block broken is a log
        if (isLogBlock(blockBroken.getType())) {

            // Get a list of the blocks around the broken block
            List<Block> surroundingLogs = getSurroundingLogs(blockBroken.getLocation());

            //
            for (Block block : surroundingLogs) {
                if (isLogBlock(block.getType())) {
                    // Break block after 0.5 seconds (in ticks)
                    getScheduler().runTaskLater(this, () -> block.breakNaturally(), 10);

                    BlockBreakEvent newEvent = new BlockBreakEvent(block, event.getPlayer());
                    onBlockBreak(newEvent);
                }
            }
        }
    }

How would I go about re running the EventHandler when the first block is broken but still have the delay with getScheduler()~~
solved my problem, ignore this message :)

lucid gazelle
#

how would i clone a Player object?

jagged monolith
neon nymph
#

Hello! I have a batch script problem I'd love someone to help me solve.

@echo off

(cd "C:\Users\bella\OneDrive\Documents\GitHub\ELS-Plugin\gradle" && gradle shadowJar)

REM Loop through all arguments
for %%A in (%*) do (
    REM Check if the current argument matches the target argument
    if "%%A"=="reset-kck" (
        REM Delete the specific file
        del /Q "plugins\KCKitPvP"
        echo KCKitPvP cleaned successfully.
    ) else if "%%A"=="update-kck" (
        REM Copy paste new jar file
        for /R "C:\Users\bella\OneDrive\Documents\GitHub\KC-KitPvP\kckitpvp\target" %%F in (kckitpvp-*.jar) do (
            copy /Y "%%F" "plugins\KCKitPvP.jar"
            echo Copied file: %%~nxF
        )
    ) else if "%%A"=="reset-els" (
        REM Delete the specific file
        del /Q "plugins\ExpLevelStat"
        echo ExpLevelStat cleaned successfully.
    ) else if "%%A"=="update-els" (
        REM Copy paste new jar file
        for /R "C:\Users\bella\OneDrive\Documents\GitHub\ELS-Plugin\gradle\app\build\libs" %%F in (ExpLevelStat-*.jar) do (
            copy /Y "%%F" "plugins\ExpLevelStat.jar"
            echo Copied file: %%~nxF
        )
    ) else (
        echo Argument "%%A" not recognized.
    )
)

java -jar server.jar nogui

Before I added in the third line (the cd && gradle line), the bash file worked flawlessly and proceeded to start the server. But when I added that in, it does the job and builds the jar file, but then it stops there. Could anyone tell me why this happens?

lucid gazelle
sweet sonnet
#

also i think you meant batch, not bash

neon nymph
#

Oh, that works! Thanks you! Could you tell me why the second one works and the first one doesn't?

neon nymph
jagged monolith
lucid gazelle
sweet sonnet
#

im not good at explaining sorry

neon nymph
#

Oh, I see. It's okay, no worries. I thought encapsulating the whole thing with () only temporarily changes the dir as stack overflow stated, but oh well

jagged monolith
#
Player oldPlayer = p;
Player clonedPlayer = oldPlayer;
Gamemode oldGamemode = clonedPlayer.getGameMode();

oldPlayer.setGamemode(GameMode.Spectator);

@lucid gazelle

neon nymph
#

Thanks for answering 😄

sweet sonnet
winter remnant
#

is it possible to add nbt tags to the result of a smithing transform recipe?

agile anvil
winter remnant
#

seems to be what im looking for though :)

#

(ill let you know in a bit)

sullen marlin
#

You just edit it on the result item as normal using itemmeta

#

No event required

winter remnant
#

heres what i currently have

#

just gives a normal golden helmet rn

sullen marlin
#

Oh doesn't smithing copy NBT from the input normally

#

So yeah an event may actually be needed

quaint mantle
#

any clue why this might happen?

sweet sonnet
#

no javabean properties found

quaint mantle
#

Had a look already, pretty sure it's because you can't serialize interfaces

agile anvil
#

Why would you serialize an interface?

warm light
#

If I unload a chunk with Chunk#Unload can it be load automatic?

#

I mean can it be loaded without players?

eternal oxide
#

Its best not to call unload

#

let the server manage it

slim wigeon
#

Bats are super annoying[03:02:06] [Server thread/INFO]: MrnateGeek issued server command: /minecraft:kill @e[type=bat] [03:02:06] [Server thread/INFO]: [PT] MrnateGeek issued server command: /minecraft:kill @e[type=bat] [03:02:06] [Server thread/INFO]: MrnateGeek issued server command: /minecraft:kill @e[type=bat] [03:02:06] [Server thread/INFO]: [PT] MrnateGeek issued server command: /minecraft:kill @e[type=bat] [03:02:06] [Server thread/INFO]: MrnateGeek issued server command: /minecraft:kill @e[type=bat] [03:02:06] [Server thread/INFO]: [PT] MrnateGeek issued server command: /minecraft:kill @e[type=bat] [03:02:06] [Server thread/INFO]: MrnateGeek issued server command: /minecraft:kill @e[type=bat] [03:02:06] [Server thread/INFO]: [PT] MrnateGeek issued server command: /minecraft:kill @e[type=bat] [03:02:06] [Server thread/INFO]: MrnateGeek issued server command: /minecraft:kill @e[type=bat] [03:02:06] [Server thread/INFO]: [PT] MrnateGeek issued server command: /minecraft:kill @e[type=bat] [03:02:06] [Server thread/INFO]: MrnateGeek issued server command: /minecraft:kill @e[type=bat] [03:02:06] [Server thread/INFO]: [PT] MrnateGeek issued server command: /minecraft:kill @e[type=bat]

wet breach
wet breach
slim wigeon
fresh adder
#

anyone able to help, i feel a bit lost trying to get my Jar file using Git Bash

eternal oxide
#

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

hushed spindle
#

does anyone else have issues with intellij suddenly freezing with 100% cpu usage

#

seemingly specifically when double clicking stuff

slim wigeon
sweet sonnet
fresh adder
#

i basically asked when i need to, it is saying "couldnt create a java virtual machine" when i try run it through Git Bash

jagged monolith
#

Do you have java installed?

eternal oxide
#

what are you trying to run through git bash?

fresh adder
#

yes yes and yes

sweet sonnet
#

can you read

#

i said why are you using git bash

fresh adder
#

oh that what it says to use for build tools

jagged monolith
#

Use command prompt

#

not gitbash

#

Download and install git, then just use command prompt to run buildtools

eternal oxide
#

youy don't need to download anything

slim wigeon
#

Alot to smelt, don't ask how this is done. Hard to tell you but it was a task

eternal oxide
#

Buildtools will download a mobile git

wide cargo
#

uh hey i just downloaded spigot and i wanna use that to make a plugin for my server, how do i include it in my project?

sweet sonnet
wide cargo
#

yea

eternal oxide
#

?maven

undone axleBOT
sweet sonnet
#

are you using maven or gradle

wide cargo
#

i intend to use gradle, but would maven be better?

sweet sonnet
#

personal preference i guess

wide cargo
#

im not very used to java so i have no idea

jagged monolith
#

Use whichever.

eternal oxide
#

Spigot is built using Maven and Spigot support is maven based

jagged monolith
#

?learnjava

undone axleBOT
sweet sonnet
#

i'd say maven is more simple

tender shard
#

Maven is much easier to use imo

wide cargo
#

hmm alright

#

maven it is then

wide cargo
#

ok so i have to make a new project, and select maven in the ide

jagged monolith
#

Both Gradle and Maven have thier pros and cons, it's literally personal preference.

wide cargo
#

right

tender shard
slim wigeon
jagged monolith
wide cargo
eternal oxide
#

Spigot is maven

jagged monolith
eternal oxide
#

Impossible if you need anything outside the API itself

slim wigeon
eternal oxide
#

If you use anything outside the API with grade you will be forced to use paperweight.

#

Use Maven and everything is here, Spigot based.

tender shard
slim wigeon
#

Well, thanks for telling me maven is easier

jagged monolith
wide cargo
#

what do i do about this

wide cargo
#

ohh ty

slim wigeon
# slim wigeon Alot to smelt, don't ask how this is done. Hard to tell you but it was a task

On testing this, I ran into a issue. 2 different plugins. Well, the plugin for the hammer (Pickaxes). I tried to mine a block when its only minable using pickaxes, I could not mine it because I had a check for only drops. So I need something like this but I don't want to use NMS ( https://www.spigotmc.org/threads/players-tool.373643/ ), any methods or anything I can use?

smoky anchor
#

So you need to check if a block is mineable with a tool ?
I think vanilla added a tag for this in some version
mineable/pickaxe

slim wigeon
#

Yes

smoky anchor
slim wigeon
#

I will need a example but I just seen something in the docs which I will test that first

#

I might have got it working, let me see

noble lantern
smoky anchor
#

few versions at least ?

noble lantern
#

dafuq

tardy delta
#

long

noble lantern
#

some rigged ass shit

#

no spigot forums gave that as a solution lame as hell

sweet sonnet
#

How can I show a block being broken? ProtocolLib or NMS?

#

Or is there a way to do this in Bukkit/Spigot?

eternal oxide
#

Player#sendBlockDamage

tardy delta
#

ok java exams in college are really easy

#

fixed it in 40 minutes of the 2 hours

eternal oxide
#

Now you get to see how many questions THEY get wrong

tardy delta
#

ill probably have some mistake but i just wanted to get outta there

eternal oxide
#

I remember my daughter studying for the A+ certification. So much in their manuals was just plain wrong.

tardy delta
#

ah rip

eternal oxide
#

for A+ you litterally have to give teh wrong answers to some questions to pass.

tardy delta
#

they call that education nowadays

eternal oxide
#

yep 😦

tardy delta
#

and it only become worse with those ai tools

#

i always have to think about the meme about the surgeon that used ai for his education

eternal oxide
#

very

tardy delta
#

java teacher told wrong stuff too

round finch
#

i would probably piss of the teacher for correcting them

#

i hate then things ain't right

tardy delta
#

idc, im not learning anything in lesson anyways

eternal oxide
#

In my day if you pissed the teacher off you got a book thrown at your head

tardy delta
#

if next year java is the same basic stuff ill just stay at home

slim wigeon
tardy delta
eternal oxide
#

only one. I was a quick learner 🙂

tardy delta
#

good good

round finch
#

I have a tendency to be perfectionist and odd about my things

i can't accept doing wrong questions on purpose

slim wigeon
#

Changing my plugins that involves block breaking if( Arrays.asList(BlockFace.UP,BlockFace.DOWN).contains(face) ) { for(int x = -size; x <= size; x++){ for(int z = -size; z <= size; z++){ if( !(x != 0 || z != 0) ) { continue; } if( block.getRelative(x, 0, z).isPreferredTool(item) ) { block.getRelative(x, 0, z).breakNaturally(item); } }} }

eternal oxide
#

Yeah it's bad when employers care more about you sticking out the education more than the actualy certificate

#

most qualifications are worthless now. It's staying in school employers want to see as it shows dedication

round finch
#

damm so faulty

slim wigeon
#

...

vast raven
eternal oxide
#

Its less about the actual certificates than you stuck through to get them.

#

Experience counts for way more

vast raven
#

a certificate helps you making new experiences, and not all are interested of getting them

#

they worth more than the education of a person in my opinion

eternal oxide
#

Not to an employer

tardy delta
#

certificates are for saying you wont fuck up a company, the real learning starts the moment youre in the company

eternal oxide
#

its just a flag to show you stuck teh course

tardy delta
#

ye

slim wigeon
vast raven
eternal oxide
#

The older the oil the more flavor ;). Probably not good in a food mart though

eternal oxide
sick ermine
#

how do i check if a player has an open inventory

eternal oxide
#

There is no event fired for the player opening their own inventory and getOpenInventory will always return the players Inventory when its closed

vast raven
eternal oxide
#

open inventory events only fire for TileState inventories

sweet sonnet
#
If (player.getOpenInventory() instanceof PlayerInventory)
slim wigeon
sick ermine
#

Thank i will try

eternal oxide
sweet sonnet
#

fuck idk

round finch
#

player inventory open is client sided

sick ermine
#

not working

#

what should I do?

vast raven
eternal oxide
gleaming grove
#

textDisplay.setAlignment(TextDisplay.TextAlignment.LEFT); Why m I getting the ClassNotFoundException ? Spigot API and Server versions are matching

sick ermine
vast raven
eternal oxide
vast raven
#

oh I've got a question, someone does it use Dev Triumph gui?

sick ermine
vast raven
sick ermine
#

no 1.19.3

slim wigeon
# sweet sonnet ```java If (player.getOpenInventory() instanceof PlayerInventory) ```

File: GuiManager.java @EventHandler public void onClick(InventoryClickEvent event) { AbstractGui gui = activeInvs.get(event.getInventory()); if( gui != null && event.getClickedInventory() != null ) { gui.onClick(event); } }
File: FilterGui.java``` Player player = (Player) event.getWhoClicked(); HashMap<String, MaterialList> lists = chest.loadFilters(chestItem);

    if( event.isShiftClick() ) { event.setCancelled(true); return; }
    if( event.getClickedInventory().getType().equals(InventoryType.PLAYER) ) {
        if( event.getCurrentItem() != null ? event.getCurrentItem().equals(this.chestItem) : false ) { event.setCancelled(true); return; }
    } else {
        event.setCancelled(true);```This may help you with detecting player inventories
gleaming grove
tardy delta
#

if gui is not null, clicked inv also wont be

eternal oxide
gleaming grove
#

lol I thought it belongs to md5

eternal oxide
#

Not Spigot

vast raven
# sick ermine no 1.19.3

In some servers I get a class not found exception in some adventure API like text components, but running in localhost gives me no such problems

eternal oxide
#

?bt

undone axleBOT
smoky anchor
#

You beat me to it :D

eternal oxide
#

build your own, is the only legal and recommended way

gleaming grove
#

right

round finch
sinful matrix
#

Where can i get the Spigot 1.20 libraries for plugin development?

smoky anchor
#

?bt

undone axleBOT
slim wigeon
eternal oxide
#

no its not

#

Spigot is by md5 from spigotmc no where else

round finch
#

you mean spigot is a fork on bukkit

#

you won't get spigot from bukkit

slim wigeon
#

Yes, that is what I mean. I was about to open the server jar and show proof of bukkit. Thanks

eternal oxide
#

Its illegal to distribute a compiled jar, which is why we have buildtools.

slim wigeon
round finch
#

distribute jars could get you in trouble

sinful matrix
#

So, i built the spigot 1.20.1 version but i can't access the Libary in mit Editor

tardy delta
#

who wants to get a jar from me

round finch
#

send me a jar jar bing

sinful matrix
eternal oxide
#

oh it is sorry, add a ;

round finch
#

importing the wrong jar?

sinful matrix
eternal oxide
#

um you did

#

I'm slow today

sinful matrix
#

hahaha all good

eternal oxide
#

?paste your pom

undone axleBOT
tardy delta
#

lets say its because of the heat

eternal oxide
#

oh I see

#

?bootstrap

undone axleBOT
#

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

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

eternal oxide
#

applies to 1.20.1 too

sinful matrix
#

ahhhh

eternal oxide
sinful matrix
#

so the one I imported is only for server?

round finch
#

when did they change it i forgor

eternal oxide
#

only to run the server

round finch
#

at 1.18?

eternal oxide
#

Its much easier to use Maven than manual import

sinful matrix
#

It worked!

round finch
#

Maven is a powerful and quick tool

gleaming grove
slim wigeon
#

Bukkit has a contact form but it has this following messageWarning! Tickets are not for Minecraft-related support! If you need help with your Minecraft server, please join our Discord. Using this form for server support is a bannable offense. Lets just end this talk about illegal jars and stuff please

eternal oxide
#

Everythign we have told you is fact. No arguments.

slim wigeon
#

That is why we need to end it. It will end up with my high bpm and ban gets placed. So just to not give anyone the same anxiety, it must end

sick ermine
#

FarmerGui.getViewers().entrySet().removeIf(entry -> (entry.getKey().getOpenInventory() instanceof PlayerInventory));

#

farmer trying to delete from map if gui is not open

slim wigeon
#

What is the map for?

sinful matrix
smoky anchor
#

probably the spigot dependency ?

sick ermine
slim wigeon
#

Yes, that is missing

smoky anchor
#

Probably also the repo

<repositories>
    <!-- This adds the Spigot Maven repository to the build -->
    <repository>
        <id>spigot-repo</id>
        <url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
    </repository>
</repositories>
#

Or you could use PDC to tag the creeper and then check for the tag in the death event

compact haven
#

can just use the entity’s id

smoky anchor
#

PDC is supported since 1.14 (I think)
It is supported on all entities, not only custom ones

subtle folio
#

Using Ids

pseudo hazel
#

those all sound like things you can easily check

subtle folio
#

You can if you make your own check?

smoky anchor
#

I would assume you'd just add list.remove(creeper) to the method when the creeper is being put down
or something more elegant

subtle folio
#

make a Creeper Wrapper is my suggestion

eternal oxide
#

check when Y velocity goes from negative to zero

subtle folio
pseudo hazel
#

check if any creeper you launched is touching the ground

subtle folio
#

If it’s been launched + took damage from fall

#

kill the creeper and summon an explosion

pseudo hazel
#

then dont check for fall damage

subtle folio
#

then you can check if it is on the ground after it’s been launched aswell

pseudo hazel
#

use a bit of your brain xD

subtle folio
#

You have a check for it being launched correct ?

#

isOnGround exists?

pseudo hazel
#

just add it to some list as soon as you launch the creeper

subtle folio
#

😅

#

Maybe familiarize yourself with the javadoc quickly ?

smoky anchor
#

I'd assume every tick then if no event exists for that

subtle folio
#

specifically the events category

pseudo hazel
#

what event where you thinking about

noble lantern
#

Whats the way to handle skins on heads in 2023 (i have a uuid of the skull owner)

subtle folio
#

Yes, i’m just giving examples

#

if it’s a creeper?

#

creepers can’t send fake packets !

smoky anchor
#

oh I can finally use my emotes!
pog

subtle folio
#

That’s why you use a loop?

#

^

pseudo hazel
#

use a timer

undone axleBOT
subtle folio
#

i think it’s ing

smoky anchor
#

lol no

subtle folio
#

no?

pseudo hazel
#

you check all creepers in a single timer?

smoky anchor
#

it's checking a fricking boolean
how is that expensive

subtle folio
#

don’t start a loop

#

have a continuous one already going

#

then add a creeper to the list

#

that gets checked in the existing loop

#

i don’t mean list list, just general english term 😅

#

sounds like you need a wrapper

pseudo hazel
#

either that or a map

subtle folio
#

Wrap the creeper object, with time, been launched, all the stuff he needs to check.

pseudo hazel
#

dont wrap it, just take its id along with other stuff you want

smoky anchor
#

wait why do you need a time of the launch ?

subtle folio
#

fur needs it apparently

#

oh for error checking?

smoky anchor
#

creeper.isDead() exists no ?

subtle folio
#

Seems unnecessary

tender shard
#

isDead() is part of LivingEntity

smoky anchor
#

should be, check the docs

tender shard
vivid skiff
#

How can i place doors in 1.12?

#

Using spigot api

smoky anchor
#

Place half without physics updates, place other half

wet breach
#

Need to ensure however that the door can actually attach

#

Otherwise it will just pop as an item lol

vivid skiff
#

All the other doors work

smoky anchor
wet breach
#

?paste

undone axleBOT
smoky anchor
vivid skiff
smoky anchor
eternal oxide
#

he's on 1.12

smoky anchor
#

are block states not supported on 1.12 ?

eternal oxide
#

pretty sure it still uses data values, like wool using damage values

smoky anchor
#

oh ok nvm then

noble lantern
eternal oxide
#

use PlayerProfile

noble lantern
#

Sounds good

Does using PlayerProfile send requests to mojang? Should i cache heads ItemStacks i make or nah?

eternal oxide
#

no need to use reflection anymore

smoky anchor
noble lantern
#

oh shit from base

#

even better

eternal oxide
#

all skins are queried from Mojang, by the client

noble lantern
#

oh

young knoll
#

The client caches them

noble lantern
#

so it wont really matter then

I just remember there was a skull method that send requests to mojang, shit made the server DIE

eternal oxide
#

servers don;t query mojang for skins

#

they just send an encoded url to the client

noble lantern
#

thought dont know if this works i just spun it up rq

#

theres so many different methods online lmao

#

shits a mess

fluid river
#

??

eternal oxide
#

that will spawn a steve head

#

unless the UUID is for a valid player

noble lantern
#

yeah itll be from uhmmm

noble lantern
#

pretty sure those uuids are valid players

#

or does it not work like that lmao

remote swallow
#

most of those heads are just registered with mojang, not actual players

noble lantern
#

so its likely better to just outright use the base64 then

remote swallow
#

yeah

#
private static final String TEXTURE_URL = "http://textures.minecraft.net/texture/";


    @Override
    public void setTexture(SkullMeta meta, String texture) {
        PlayerProfile profile = Bukkit.createProfile(UUID.nameUUIDFromBytes(texture.getBytes()));
        PlayerTextures textures = profile.getTextures();
        try {
            textures.setSkin(new URL(TEXTURE_URL + texture));
        } catch (MalformedURLException e) {
            e.printStackTrace();
        }

        profile.setTextures(textures);
        meta.setOwnerProfile(profile);
    }
noble lantern
#

interesting, ill give that whirl ty

silent steeple
young knoll
#

There’s literally api for it now

#

Stop it

silent steeple
#

yeah but legacy

young knoll
#

They said 1.19

rough drift
#

@silent steeple Textures must come from minecraft's servers, you can't use Base64 anymore

#

the client doesn't accept it

silent steeple
rough drift
#

I mean it does, but it needs to be a b64 version of the json that links to mojang's servers

#

also, we have the same name :P

silent steeple
young knoll
#

It been that way since 1.8

#

minecraft-heads has tons of base64 skulls you can use

rough drift
#

also, can I cast a PlayerInteractEvent to a PlayerInteractAtEntityEvent if I am sure the player clicked an entity?

silent steeple
#

this is my method

rough drift
#

instead of making two listeners

silent steeple
#
public ItemStack getCustomTextureHead(String value) {
        ItemStack head = new ItemStack(Material.PLAYER_HEAD, 1, (short)3);
        SkullMeta meta = (SkullMeta) head.getItemMeta();
        GameProfile profile = new GameProfile(UUID.randomUUID(), "");
        profile.getProperties().put("textures", new Property("textures", value));
        Field profileField = null;
        try {
            profileField = meta.getClass().getDeclaredField("profile");
            profileField.setAccessible(true);
            profileField.set(meta, profile);
        } catch (IllegalArgumentException | IllegalAccessException | NoSuchFieldException | SecurityException e) {
            e.printStackTrace();
        }
        head.setItemMeta(meta);
        return head;
    }
#

String value is the base64 for the head

rough drift
eternal oxide
rough drift
#

Wait shit that actually works?

noble lantern
#

check class hierarchy :p

young knoll
#

Don’t think it does

eternal oxide
#

yes it works

silent steeple
#

Of course it works

rough drift
#

Yeah I know, didn't know it also works like parent event gets called from child event

noble lantern
rough drift
#

Figured it'd be exact

rough drift
silent steeple
noble lantern
#

ohno

silent steeple
#

1.7 actually

#

lol

#

Nah im joking

#

I dont even think heads were supported in 1.7

young knoll
#

PlayerInteractAtEntity is not a child class of PlayerInteract

eternal oxide
#

?jd-s

undone axleBOT
rough drift
#

@eternal oxide It isn't btw

#

I just checked in intellij

eternal oxide
#

yep you are correct

#

I was going on the damage event

#

I think that was what I used before

rough drift
#

so if I use playerinteractatentityevent I can be sure the normal interact event isn't called, or what?

young knoll
#

The normal one is called

rough drift
#

fu-

#

So what now

young knoll
#

Ah wait the normal interact event not the normal interact entity event

#

Yes it shouldn’t be called

rough drift
#

so

PlayerInteractEvent doesn't get called if PlayerInteractAtEntityEvent is called from what I understand?

young knoll
#

Shouldn’t

eternal oxide
#
Note that the client may sometimes spuriously send this packet in addition to PlayerInteractEntityEvent. Users are advised to listen to this (parent) class unless specifically required.```
young knoll
#

Yes you should use the PlayerInteractEntity event unless you specifically need the interact location

#

Idk why it wasn’t just added to the interact entity event

rough drift
#

It's for my item lib, I guess I can make the location nullable?

echo basalt
#

AtEntity is for armorstands iirc

rough drift
#

for all actually

young knoll
#

Yeah it seems to fire for most things

#

Fired for squids and zombies at least

mossy dock
#
itemMeta.setCustomModelData(50000);
bone.json

{
  "parent": "item/generated",
  "textures": {
    "layer0": "item/bone"
  },
  "overrides": [
    {"predicate": {"custom_model_data":50000}, "model": "custom-items/item_one"}
  ]
}

I use this method to change the model of a bone. item_one.png is in the directory assets/minecraft/textures/custom-items. What is wrong? Nothing changes? Not even the not found texture?

smoky anchor
#

you can't use -
You have it in path to the model

#

also you need a model, not a png

mossy dock
mossy dock
silent steeple
#

is there anyway i can give a tag to a block, for example i create a custom block with like a custom name and lore or whatever and then when placed i want to keep track of wether its a normal block of that type or the custom one

smoky anchor
#

the same way normal pngs are turned model lol

{
  "parent": "item/generated",
  "textures": {
    "layer0": "item/item_one"
}
}```
silent steeple
#

?pdc

smoky anchor
silent steeple
mossy dock
#

want to use one item for all custom items

smoky anchor
#

you need to create a separate model file for the new model you want to replace the bone with

mossy dock
smoky anchor
#

no, you reference the multiple custom models in bone.json

#

you create funny_pickaxe.json, funny_axe.json, emerald_helmet.json
And then you reference those in the bone.json

silent steeple
#

are there any reuploads of the official spigot 1.7 from when it existed

worldly ingot
#

Not legal ones

silent steeple
#

damn alright

mossy dock
smoky anchor
#

without the .json in the model path but yeah, seems good

mossy dock
smoky anchor
#

keep the client logs open in case there are any other errors, you will see them there

silent steeple
#

how do i reference the root directory of the project in pom.xml

eternal oxide
#

why do you want the root?

silent steeple
#

nvm got it

#

${project.basedir}

silent steeple
eternal oxide
#

no

silent steeple
#

so whats so illegal about it

smoky anchor
silent steeple
#

huh

eternal oxide
#

🙂

smoky anchor
#

or something like that

mossy dock
# smoky anchor keep the client logs open in case there are any other errors, you will see them ...
[15:00:10] [Worker-Main-5/ERROR]: Failed to load model minecraft:models/item/bone.json
com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Unterminated array at line 9 column 18 path $.overrides[1]
    at com.google.gson.internal.Streams.parse(Streams.java:61) ~[Streams.class:?]
    at com.google.gson.internal.bind.TreeTypeAdapter.read(TreeTypeAdapter.java:72) ~[TreeTypeAdapter.class:?]
    at apa.a(SourceFile:516) ~[apa.class:?]
    at apa.b(SourceFile:523) ~[apa.class:?]
    at apa.a(SourceFile:573) ~[apa.class:?]
    at fjf.a(SourceFile:86) ~[fjf.class:?]
    at fve.b(SourceFile:105) ~[fve.class:?]
    at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) ~[?:?]
    at java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1760) ~[?:?]
    at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) ~[?:?]
    at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) ~[?:?]
    at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) ~[?:?]
    at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) ~[?:?]
    at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) ~[?:?]
Caused by: com.google.gson.stream.MalformedJsonException: Unterminated array at line 9 column 18 path $.overrides[1]
    at com.google.gson.stream.JsonReader.syntaxError(JsonReader.java:1657) ~[JsonReader.class:?]
    at com.google.gson.stream.JsonReader.doPeek(JsonReader.java:485) ~[JsonReader.class:?]
    at com.google.gson.stream.JsonReader.hasNext(JsonReader.java:422) ~[JsonReader.class:?]
    at com.google.gson.internal.bind.TypeAdapters$28.read(TypeAdapters.java:779) ~[TypeAdapters$28.class:?]
    at com.google.gson.internal.bind.TypeAdapters$28.read(TypeAdapters.java:725) ~[TypeAdapters$28.class:?]
    at com.google.gson.internal.Streams.parse(Streams.java:49) ~[Streams.class:?]
    ... 13 more
#
{
    "parent": "item/generated",
    "textures": {
        "layer0": "item/bone"
    },
    
    "overrides": [
        {"predicate": {"custom_model_data":50000}, "model": "fire_ring"}
                {"predicate": {"custom_model_data":50001}, "model": "water_ring"}
                {"predicate": {"custom_model_data":50002}, "model": "air_ring"}
                {"predicate": {"custom_model_data":50003}, "model": "earth_ring"}
    ]    
}
       ```
#

do you know why it looks like this

smoky anchor
#

you need a comma for the list lol

 "overrides": [
        {"predicate": {"custom_model_data":50000}, "model": "fire_ring"},
                {"predicate": {"custom_model_data":50001}, "model": "water_ring"},
                {"predicate": {"custom_model_data":50002}, "model": "air_ring"},
                {"predicate": {"custom_model_data":50003}, "model": "earth_ring"}
    ]    
#

note the end of each line

#

also, pretty sure you need a path like item/fire_ring

noble lantern
#

im srsly starting to hate intellij day by day

#

accidentally force closed my ide because i was typing my ass off and fat fingered some fucktarded dumbass keybind and now my project wont work ever after invalidating caches smh

#

amazing software 👌

smoky anchor
#

sounds like a skill issue ngl

noble lantern
#

it is and im tired of fat fingering these keybind

silent steeple
noble lantern
remote swallow
#

use netbeans

smoky anchor
#

notepad++ is always an option

noble lantern
#

used it for android

eternal oxide
#

Hype for Eclipse!!!!

remote swallow
#

md uses it, so guess it works

smoky anchor
#

Where is the guy with eclipse profile pic :D

remote swallow
#

geol

#

@quiet ice ur needed

smoky anchor
#

Hhahaa

noble lantern
#

what in the fuck

#

it even broke my syntaxes mmbruh

remote swallow
#

no

#

bad

#

stop

noble lantern
#

its intellij not me

smoky anchor
#

fyi you don't need <Material, AEgs> anymore, you can just use <> in the constructor

noble lantern
#

i pressed tab and it did that ugly ass shit

noble lantern
remote swallow
#

private final Map<Material, AutoComprressorMaterial> stuff = new HashMap<>()

smoky anchor
#

oh

noble lantern
#

its intellij's tab completion it changed on my

#

everytime it wasnt to use non empty constructors now...

smoky anchor
#

What did you dooo :D

noble lantern
#

how tf does fat fingering a key bind do all this??

agile anvil
#

Looks like java 1.2

noble lantern
#

17

echo basalt
#

you just gotta refresh the maven project and it'll all work

noble lantern
#

sec

echo basalt
#

fuckin idk

noble lantern
#

fixed the other things but

remote swallow
#

nerd

noble lantern
#

actually pisses me off

#

shit ass ide

#

fuckin unusable

#

and it fixed itself

smoky anchor
#

Good, now you can continue using this great and powerful IDE :)

noble lantern
#

you know im gonna say im gonna use netbeans rn

But ik damn well im not going through that effort rn, so bad to this :((

#

ive had nothing but issues fat fingering keybinds lately and idek what im hitting

smoky anchor
#

Just disable every keybind except the ones you actually use

noble lantern
#

yeah i might do that

echo basalt
#

tfw you accidentally hit insert

#

and your ide becomes a command line

smoky anchor
noble lantern
#

FUCK i hate insert sometimes lmao

noble lantern
#

if theres a keybind that breaks my project theres gonna be one that breaks the keybinds themself

remote swallow
#

i used to get so confused when i would hit insert and not realise

noble lantern
#

whats funny too is it only did it on that one module

noble lantern
#

"dumbass shit dont work im getting a refund"

mossy dock
smoky anchor
#

uuuhh atlas problem possibly ?

#

oh ye atlas wait a sec

#

in short: if you want your own folder "custom_item" you need to add it to block atlas

quiet ice
smoky anchor
#

There is the eclipse guy!

#

your eclipseness was needed

quiet ice
#

I shall crush the heathens

smoky anchor
mossy dock
smoky anchor
#

where they are normally in vanilla

noble lantern
mossy dock
smoky anchor
#

can you send the resourcepack ?

smoky anchor
#

you need the commas!

#

If you edit the json files in IDEA or something not as dumb as notepad, it will tell you the errors.
Or you could run the JSON files thru online validator

mossy dock
smoky anchor
mossy dock