#Script API General
1 messages · Page 131 of 1
ah i forgot to parse the raw
seriously, i dont get why every 'database' on minecraft are simple wrappers over objects and basic dynamic properties
Does Bedrock support source maps?
maybe because there’s no other way to store data
true
i mean a db is way complex than that
idk
using dynamic properties aint the problem, the thing is that its literally just a wrapper over the builtins functions
wrappers are made to make things easier but only for certain things
Mine is rather complex lol.
https://github.com/Visual1mpact/Paradox_AntiCheat/blob/rewrite/penrose/classes/database/data-hive.ts
Anyone else have the onPlayerInteract custom component just not work if trying to interact on the top face of the block?
It just completely fails
custom Component*
Mk, it fails while holding an item in your hand
Yet another system where I am somehow the only person to stumble into a bug I guess
Interesting. the actual world after event for playerInteractWithBlock has the same bug
Even though the startup custom component stuff should technically be a "before" event
The before event does correctly detect interaction on the top of the block
oh no 💀
why the hell do I have this in my script
Works for me 😅
Is it working now?
Yes, I don't know what the reason I added that line is, it would have been from at least 1 year ago
Ah lol
bored time
Is that basically a double negative?
It turns it into a boolean value
It's already returning a boolean value
No, it's returning an int
v is a vector3 type return.
And he's checking if the entity is moving at all, which using the !! turns it into a boolean return istead of an integer return
thats return boolean
It's pretty much pointless imo
yes
Is there one way to get the player hunger value via scripts?
const hunger = player.getComponent('minecraft:hunger')?.currentValue;```
like that ^?
So just
const hunger = player.getComponent('minecraft:player.hunger')?.currentValue;```
?
that is a weird way to name it lmao
no idea why they added "player."
Yep
Maybe to avoid people confusing it?
Exhaustion is referenced the same way
I wouldnt really confuse it with anything tbh unless there would be a second but differently working hunger attribute for entities
One might think the hunger effect perhaps or it's deeply tied into old mcpe code nbt.
It just makes the result clearer, but it's not actually necessary.
Yep, it did work
my dumbass thought it returned the velocity axis
i guess that was wayy too much c++ learning in one week
i need to get back to the real and better language
what cause Loaded do in entitySpawn afterEvent
maybe the same as entityLoad afterEvent?
Loaded doesnt work if I recall.
#879773489601585244 message
oh, im not in that server
how to completely stop/revoke mayfly even if a player is flying?
Anyone know what actually triggers the soulCampfire cause?
because the soul campfire doesn't 😭
presumably, fireTick...
well that would just be whenever the player is on fire
this is a hopeless shot in the dark, but in january of 2022 I was in a server that allowed players to transform into various mobs, using their animations when appropriate, and seemingly all their components as well, AND the camera was based on the height of your mob, which I thought it was impossible to change the height of your camera. and as far as I know, the owner of this server did each mob with just a handful of command blocks does anyone have any knowledge or insight on this, or does someone know if this is tech that was only possible in an older version?
anyone
Not sure, but if removing ability does not resolve it, then there's no solution
Any tools that can help find memory leaks?
Does anyone know if it's possible to detect the dyed color of my custom entity?
Someone said the vsc debugger could help
How do I create a damage hitbox in the shape of a wall, like 9 high, 9 long, and 1 wide?
Yes.
It's amazing 😍
guys i made a custom command its a /tpa command bassicly /tpa Playername its done using the custom commands registry but when a de-opped player uses it it gives this error
<insufficient permissions for selector expansion> how do i fix it
Do you change the permission to any?
It's a bug, non-operators can't use selectors
Oh
How do people sniff packets on realms? Do they use a bot to listen?
woops
does anyone know when they're gonna fix the insufficient permission for selector expansion bs?
Idk where to ask this but do blocks placed with a scatter feature tick?
i believe so
I was wondering if there was a way to detect if beta api is enabled with scripts
use function to add a tag/score, make the script remove the tag/score, and with a small delay check with function the tag/score
if the toggle is not on the script wont run
ok thank you
is their anyway to place trees that simulated a feature using a script the same way you would a normal tree feature? idk how else to ask the question. most people just use either a feature or structure, but im trying with a script
Can anyone tell why this is somehow adding the previous items lore to this new item?
return inventory.addItem(new ItemStack('minecraft:glass_bottle', 1));
maybe it's because u used ContainerSlot.setLore?
is that locked to the container slot?
Idk, it's just a guess
oh wait, wrong crafting system
nope, it's item.setLore
Alright, figured out the bug
If the consumable item that is being removed has a new item placed in the exact same slot, that new item will inherit the consumed items lore
now how to fix this without making it look weird
Seems easiest fix is to just do a runTimeout and add it on the next tick
If it's a realm, there isn't much you can do. If it's a server, you will need to utilize the server-net API and server-admin API to rate limit the packets your server receives. You basically need to monitor the packets coming in, and decide what to do about it.
hello, i have a question rq, whats that of "discovered package with uuid...," when i load an addon with scripts , i want to get rid of that, is it possible
Reduce your "GUI Log Level" setting to "Info" or "Warn"
thanks
How can I cancel the item drop action? Similar to how it is done on The Hive (the animation plays only when ctrl+q is pressed, not the usual q). I tried lock_in_slot and lock_in_inventory, everything would be fine, I can close the item information with showTags=false, but I can't cancel popUp in any way.
do u mean cancel the animation or cancel the droping itself?
dropping itself
for the hub
then u need to set itemLockMode of all items in player's inventory to "Inventory"
I'm not quite satisfied with this, as there's a popup when I try to drop an item. If it’s possible to remove it, that would be great, but no matter how hard I tried, I haven't been able to completely get rid of this notorious notification.
I'm looking for something lightweight, just like on The Hive or CubeCraft, where you can attempt to drop an item, but it immediately returns to your inventory, effectively canceling the action.
I experimented with world.afterEvents.playerInventoryItemChange, but the item’s return was visible to other players; it wasn't instantaneous.
you could try something with world.afterEvents.entityspawn
Hey! if I set a dynamicProperty to an entity and then the entity is removed, the dynamicProperty automatically removes or I have to remove it manually?
Correct.
Perhaps the property is cached?
1st or 2nd? xD
U can't even remove it manually after entity is removed
I know, I can do it before the entity is removed
but u don't need to, all info about some entity will be deleted if the entity is removed
Alright! thank you!
I knew that dynamicProperties are stored in some kind of cache in the world, that's why I was asking
They are stored in the world data, "cache" means temporary data
Yeah, but they still use cache for dps
probably...
I just don't think they read the file with dps every time u use getDynamicProperty
I will not be suprised if they do
yeah, it doesnt mean it removes if the entity doesnt exist, buy Im glad it is in this case
i would say that its better to use the world.setDynamicProperty() instead. But i think that has also problems
What do you think is the best method for me to retrieve information about one item in a specific inventory slot for a player?
wouldn't it be? "'InventoryContainer.getItem(slotIndex)"'
There is just one way
well there's also getSlot().getItem() lol
How can I check when a mob spawned? Or its "age" (time since spawn)
entitySpawn afterEvent
ik that, but I'm looking for some kind of direct way, like just entity.age, as that requires tracking stuff.
Ig it's the only way
https://jaylydev.github.io/scriptapi-docs/preview/classes/_minecraft_server.EntityItemDropAfterEvent-1.html
but this only works with items thatre dropped from player's 'inventory' component
Actually, this also triggers for loot dropped by mobs.
Was expecting it to include items from equippable, but only triggered on items from 'inventory' component
Ive been using it to cancel certain loot drops.
I've had to listen to breaks, then check for items in that location, and remove them. Not positive if there is a more effective way of doing it other than filling the block with a container as air, but that's a question of whether or not someone desires to do it that way.
No, we'd need BlockItemDrop for that.
I remember there being something in the API a while back that allowed a block to be broken and not drop items but I'm not sure if I'm tripping on this memory and I'm wrong or if it was later removed lol.
My memory is rough 😔
its impressive that you don't forget to talk to minors on here
Yeah
got your priorities straight I see
Here we go again with this shit
@magic summit buddy, please stop.
you cannot defend this guy
hes a big time creep
I dont see in the rules where you are allowed to harass people.
I don't see it in the rules where grooming is allowed too
And pray tell, is the grooming in the room with us?
What is happening?
Yo Minato, whats happening?
Drama from a random. I wouldn't be bothered by it. Just a wannabe hacker that doesn't like me because I combat them lol.
Alright but why did we went from Wannabe hacker/script kid to groomer?
Because he was attempting to taint my name.
One of which I'm not concerned about.
I see, but it seems like he isnt being taken for serious anyways
He isn't. You missed the drama the other day. He wasn't taken well by the community here lol
The only reason he approached me was because he got word that I was active on my project again and so I suppose he felt the need to come at me. Otherwise, there was no other reason. It was purely for malicious gain.
Yea
Hmh
Nice Nice, I guess Smokey had enough
I suppose so. It was handled appropriately.
but it took some time lol
Yeah
like a couple of days if im not mistaken
By the way, its funny to see how many people in social media cry about that github's UX is hard to use
Well, I myself find it sometimes hard to navigate through it lol
Well of course it depends on what you do
But they conplain about the download of stuff
damn
Someone wanted an .exe for linux 💀
hell yeah 😭✌️
Been using GitHub for years. For a first time user, I could see where it may be confusing to download because there are many download features on the website. Knowing which download button can be detrimental to whether or not you are reaching your goal haha. The wrong download button will grant you a bad time.
😂
Okay thats true, but well, I only either use git clone or pnpm anyway so haha
Yea, but don't forget about releases too 😜
tbh, the release tab is hard to spot or navigate, and including the source there might make it worse for some
can you change an itemstacks texture through script api
No.
Yup, so I typically do a release and link the release to keep it simple. Add instructions to the release so they can identify which link in the release is relevant and which isn't. Not necessary but if you know you have people with less experience on the website coming through then it can help navigate them. Otherwise, you just standby for them making reports about a bad download and fix it then haha.
It looks more than acceptable.
But this is an experimental event, right? I don't know if it can be deleted and if it works without interruptions.
beta.
i havent tested with hoppers, but its faster to manage entity items
Do note that
entitySpawn triggers before entityItemDrop
Can you set the permutation to place of a block (that is an item in your hand or on the ground) by editing the itemStack or dynamic properties
PlayerPlaceBeforeEvent?
No not that like you are using SetDynamicProperty or something or some editing ItemStack Property to change the permutation placed or would you still have to playerPlaceBeforeEvent
You have to use playerplacebeforeevent.
This page provides an overall cheat sheet of all the capabilities of RegExp syntax by aggregating the content of the articles in the RegExp guide. If you need more information on a specific topic, please follow the link on the corresponding heading to access the full article or head to the guide.
Thankss
how do I get a block state's available or minmax value?
I'm trying to make a list for a block's options using ModalFormData
BlockStates.get('age').validValues
the stateId should be from the keys of block.permutation.getAllStates()
I see, haven't noticef there was a valid value detection
will test this later, thank you M9 🙏
Keep in mind if multiple blocks use the same state but different ranges it will return the absolute max and min, not just for that block.
got it sir 🫡
how come this gives me undefined?
when u do !something it convert something to boolean type and changes the value to the opposite, so when u do !attacker.typeId in turns into false. U need to do !(attacker.typeId === "minecraft:player") or just attacker.typeId !== "minecraft:player"
no, thats not my issue
I'm talking about the dynamic property
its giving me undefined in the console warning even though I set it here to true
oh, but u still should fix it
yeah I did dw
what about the dynamic property thing though
do they not work for items the same way
I think its very weird I can do getTags and hasTag for an itemstack but not add one too
can u show full code?
its a command
hmmm
works properly with everything else
I'll try checking the dp after the command runs aswell
yeah it gives me undefined also
weird
I fixed it but it kinda makes no sense
I had to set the dynamic property after spawning it
shouldn't the item stack I set the dynamic property to still have that after I spawn it
Because it needs to exist in order to write to it.
are you employed
Do we can use @minecraft/math ingame
I mean is there a module /math in Minecraft
Do we put it on manifest or different
It comes with the territory when dealing with potential hackers, whether they’re legit or fake. I’ve been dealing with them for years now, lol. Though it’s been a while, so I’m not sure why there’s a sudden rise. I’m assuming that account is here with malicious intentions. Guaranteed, I’m just going to ignore it.
LOL
Well, he's opted out of being searched for Alts by Doogle. So he knows exactly what he's doing 🤣
is there a way to make tnt explosions less laggy
would replacing them with dimension.createExplosion do that or
I'm trying to optimize this as much as possible
Edit the entity so the explosion size is 1
wouldn't that just make it less destructive
But also less laggy
hmm I was thinking maybe clear the not needed items that spawn from the explosions?
so normal stuff like cobblestone, diorite, andesite, dirt, etc.
that sort of thing
That would only reduce the lag after the explosion, but I think what takes most of the resources during large explosions is actually destroying the blocks
how would you even do this though? I thought you would have to wait for right before the explosion happens and remove all the entities then do dimension.createExplosion
Just edit the json file
quick question, is there a way to set the enchanted texture to any item using scripts?
you can just set the glint component in the json
If dynamically? No. Funny enough we had this convo in #1019692489596215388
it is a solution, but is there another way that doesn't involve to create a new texture for every item i want to look like that?
You dont need to create new textures. Just add the component.
you mean, in the json? because for what im doing, a custom item util, i neet to add that component to any item
but with scripts
You cannot.
crap
thanks
hey guys,Which component can I use to make an item run a command constantly while the player uses a item?
struct
cat
dog
Is it possible to setup a proxy for a realm?
In case some people don't know how to make a NPC name always show here's the code for it and yes I coded it myself and I am guving it away for free to help new people or anyone
{
"format_version": "1.19.30",
"minecraft:entity": {
"description": {
"identifier": "minecraft:npc",
"is_spawnable": true,
"is_summonable": true
},
"components": {
"minecraft:damage_sensor": { "triggers": { "cause": "all", "deals_damage": false } },
"minecraft:type_family": { "family": ["npc", "mob"] },
"minecraft:fire_immune": true,
"minecraft:persistent": {},
"minecraft:npc": {},
"minecraft:nameable": {
"always_show": true,
"allow_name_tag_renaming": true
},
"minecraft:physics": { "has_gravity": false, "has_collision": false },
"minecraft:collision_box": { "width": 0, "height": 0 }
}
}
}
Let me know if there errors in my dms
In dm
@violet bloom
What
No
What about for a bds server, and how could I create one
What proxy do you have in mind?
A MITM (machine in the middle) one?
Or an advanced one with packet deserialization, and manipulation?
(yes, bds can use a proxy)
First we should step back a bit... why do you actually want to do this?
What is your end goal you are trying to accomplish?
Some people who set up a MITM server do so for giving them access to Creative fly or other things to do malicious actions on the server.
Nukers, I understand my server does have DDOS protection but ik a server who has a proxy and it blocks all attempts at little skidders trying to use a discord server crasher
Basically blocking vpns and such.
Wait... do you want to create a proxy to block it, or to do it?
Haha nice one, we are trying to block it.
Making a proxy to block it will still require more raw code manipulation of the BDS itself (because debugging symbols are not offered by Mojang anymore to most people)
Just making sure.
Well I know there is this https://github.com/PrismarineJS/bedrock-protocol/blob/master/examples/realmRelay.js
But is this against Minecraft tos?
I have no idea
Against Minecraft's TOS?
If it is made for bypassing authentication / etc., yes.
If it is made for stealing logins to whoever connects to it, yes.
However, if it isn't made for that, but someone makes it do so, then it is the actor who made it do so and not the project.
Kay? So it is possible to block crashing attacks? Our server is currently getting nuked. (From the past 2 days)
Why are people so lonely that they feel so inclined to crash servers? 💀
Some people get a laugh out of making others suffer... I don't get why, but apparently YouTube videos of people intentionally crashing servers / etc. does not help out either.
(One person whose channel I know of does try to cause problems to servers, but only because they violate the EULA guidelines... and that they have some form of gambling mechanic)
Most likely attention
Speaking of that, I'm a moderator in a server for an Android app... one that is commonly mistaken as a skript kiddie hacking tool thanks to the numerous YouTube videos.
If you see "Termux" with the use of hacking Instagram, Facebook, etc. ... don't comment on it. Report the video as malicious and don't continue watching it. Most of the time they want you to download and run their malware on your own device.
So
Some kids want to be the "cool kid" in their class...
Networking programming is not something I'm good at.
Also note that most hackers are just using exploits to plop down command blocks, command block minecarts, or even signs (unless the exploit for signs was already patched out)
That was patched 2023
All nbt stuff like that is gone
The worst ppl can do is crash servers or use reach hacks
They fixed all movements aswell
I can still add that raw text JSON to my local creative world into books... however, I'll have to recheck for signs.
Well if it’s your own worlds you can use that type of stuff
But I mean like multiplayer servers, realms
I don't know if it requires operator, creative, or none of the above, for it to work.
The partnered servers run on custom software, which isn't the plain old BDS that ordinary people get.
K
Yes, but whether or not you have the required skills is the true question. But to answer your question, yes it's possible
I might not, but my friend does
Where did the npm go for the debug utilities??
https://www.npmjs.com/package/@minecraft/debug-utilities?activeTab=code
Its empty
Weird I cant download it
npm i @minecraft/[email protected]
What's the error it gives?
Nvm fixed it I just put --force at the end
Probably you had an existing version installed, or it thought you did by the metadata files it was checking.
For npm, it will still remember what is installed into a project (or globally) if you don't edit the metadata file(s) to say otherwise.
How many of you use AI to make Minecraft scripts for anything like basic proof of concept examples just to see if it works or not?
Not much of people vibe code there AFAIK, it's because of that they do not really know how to provide a good context to AI to use a version of a library that actually is updated and uses proper methods
I don't
I do.
I do, but mostly for algorithm examples or math functions
same as Serty
- some in line auto completion
can we get the mobs that are leaded by another entity?
Is it possible yet to modify/read trim data from armors
no
I use claude pretty regularly for all sorts of stuff. You can fit the entire @minecraft/server npm module type definition file in the 200K context window, so with the right prompting it can do most tasks as long as you have it generate typescript and not JavaScript.
You heard of Jan AI?
do you guys recommend using claude instead of chatgpt?
cursor
none
I recommend using your brain
So i tried it in stable and it works fine
I struggle parsing other people's bullshit the old fashioned way
If I need to use an AI. Either CLAUDE or Gemini. But mostly I consider using my Brain
For Script API? Never. Only use AI for learning C++ which it really helps
I do, but like asking it to review my script rather than vibe coding.
I just ask like "[script dumped] Any issues?"
to be more specific, i want to get the trader llamas that are attached to the wandering trader, this component gives me the wandering trader that is leading the trader llamas,not what i want
i want to spawn a wandering trader without its llamas
const trader = dimension.spawnEntity("wandering_trader", location)
const llamas = getLeashedMobs(trader)
llamas.forEach(llama => llama.remove())
Spawn the trader, subscribe to entity spawn, get llama entity, if leashed to, remove.
Additionally, just listen to trader_llama being spawned and remove it. No need to check if leashed to.
how can i make a particle trail the near player location?
Runinterval -> -> get player location -> dimension.spawnParticle
thanks bro!
Question how to use the .prototype for classes?
would this work with wolf armor?
no, the equippable component is disabled for non-player entities
is there no way I can put wolf armor on it then?
you'll have to use the replaceitem command
replaceitem entity @s slot.armor.body 0 wolf_armor worked, ty
does the tameable component work for all entities or does it only apply to entities that can be tamed
for example could I tame a vindicator to a player
would that make it not hostile to that player
Only entities that have the minecraft:tameable component defined can be tamed via scripting.
For other entities without that component, you would need to modify the behavior pack to include that component, and adjust their behavior under the condition they are tamed.
world.afterEvents.playerInteractWithEntity.subscribe((data) => {
const player = data.player
const mob = data.target
const item = data.itemStack
const beforeItem = data.beforeItemStack
if (mob.typeId == "minecraft:zombie") {
player.runCommand('give @s diamond')
return;
}
})
Why does this not work?
Instead of manually calling "data", just use
const {player,target,itemStack,beforeItemStack} = data;
You can also add aliases for it like
const {itemStack: item} = data;
item.typeId
You can also do this directly at the callback parameter
...subscribe(({itemStack: item, player})=>{
}
)
Yea, but it doesn't solve their problem. Which to be fair, I don't explicitly see anything wrong with their code at face value, so I'm not sure why it's "not working".
Perhaps beforeEvents...
Sometimes. If I want to modify something that I don't know how to I'd ask an AI to finish it or tell me how I'd accomplish it without writing code (depending on how educative I'm being)
I also use auto-complete on VSC a lot, but sometimes that can actually just be annoying because of how often it is wants to edit it that's wrong
Whenever I've used AI outside of VSC, it's been horrible at coding, even if provided with the complete "minecraft/server" package
So it has its downsides, but it has its upsides
Thats why its for public use, which is why the accurate ones has costs
Yeah
Like I'm making a few sets for making multiple files for my add-on, and autocomplete starting when I start to type in a block is great
Like that is actually really helpful
It may not get it right all the time, but it is going off of what I've already written
Alright I'll test that and come back to you
does anyone know how you would use rotation property in the teleport options interface with teleport method
im trying to do
player.teleport(location, { rotation: { x: 90, y: 0 } })
Are you experiencing anything wrong or negative with that?
Need more context.
no i figured it out now, thanks anyway
i just thought because of getViewDirection it would be from 0 - 1
are custom slash commands can be ran through runCommand?
can I just edit vanilla entities components? how does that work
like would I have to remake the entire entity or would it just be the json in the BP
also where would I get the vanilla json
Just the JSON in the BP.
Look at one which has the component as an example.
Can learn from that. As well as the others and how they behave under that component.
You just need the JSON file pertaining to the entity in question and add it to your behavior pack under the same path as seen in that link to mimic it's location so the game can read it, and apply it correctly.
The only catch is that if you modify a JSON file like this, your pack must remain at the top of the behavior pack load order. Packs higher in the list override packs below them, so keeping your pack at the top ensures it isn’t overridden by another pack that might also modify the same entity.
Exactly
Damn, I only just found out about the "minecraft:replaceable" component 🥹
I can use that with scripting to make a good custom slab
why would u need that component for custom slabs?
I don't, but I want to try test it out. It seems like it'd be good for making it more vanilla like
I already have a pretty good slab imo with just beforeOnPlayerPlace, but I want to make it better
Nvm
Oh, nvm again, it makes it better
The acacia slab is the one with the replaceable component @warm mason
Which makes it more vanilla-like
Hmm, apparently there's no way to disable the replaceable component at all once it's applied
Not even omitting it from a permutation disables it
And can't send it to false
it's because replaceable component is made for blocks like custom grass or other "air" blocks, not for something like custom slabs
Ah
even vanilla slabs don't work like that
weird way of using replaceable
I don't know of any other way to replicate this
place event and check some conditions
actually, you may need the interaction event
yeah, gtg to the mosque but ii will try it out when i am back
if you didn't
i use it for math...
Might have a Slab dev resource in a bit
The only problem I have now is that when I hold it for even a little longer then necessary to run the event, it places another block immediately
You need to cancel the event
I am
Then it should not place a block, i mean, thats how interactWithBlock before event works
Yes, but it's placing a block but not through interactWithBlock
It's placing it just by pressing the place button
isFirstEvent check
Yeah, that should fix it
Yeah, it's there already
world.beforeEvents.playerInteractWithBlock.subscribe((event) => {
const { block, isFirstEvent, blockFace, itemStack, player} = event
let blockToPlace = undefined
if (!isFirstEvent) return;
if (!block.permutation.getState("dma:is_double"));
if (blockFace == "North" && block.north(1).typeId == itemStack?.typeId)
{
blockToPlace = block.north(1)
};
if (blockFace == "South" && block.south(1).typeId == itemStack.typeId)
{
blockToPlace = block.south(1)
};
if (blockFace == "East" && block.east(1).typeId == itemStack.typeId)
{
blockToPlace = block.east(1);
};
if (blockFace == "West" && block.west(1).typeId == itemStack.typeId)
{
blockToPlace = block.west(1);
};
if (blockToPlace == null) return;
event.cancel = true
system.run(() => {
blockToPlace.setPermutation(blockToPlace.permutation.withState("dma:is_double", true));
consumeItem(player, itemStack);
});
});```
Here's the event
Dw about the if statements, I just did it like that for now, but that will change to a loop soon
event.cancel = true?
it still places it?
I already did that. I just took it out to check if there was even a difference with having it there or not
And there wasn't
Yes
I think it's because it's targeting a new block basically
yeah, maybe
I mean, it's annoying but it's not too bad ig
you dont need a loop
world.beforeEvents.playerInteractWithBlock.subscribe((event) => {
const { block, isFirstEvent, blockFace, itemStack, player } = event;
if (!isFirstEvent) return;
if (!block.permutation.getState("dma:is_double")) return;
const dir = blockFace.toLowerCase();
const targetBlock = block[dir].(1);
if (!targetBlock) return;
if (targetBlock.typeId !== itemStack?.typeId) return;
system.run(() => {
targetBlock.setPermutation(
targetBlock.permutation.withState("dma:is_double", true)
);
consumeItem(player, itemStack);
});
});
this should work
Ok yeah, this is the case
It doesn't do that when it's being placed from underneath or above
Kinda a bummer, but nothing I can do about it
it actually same as vanilla
Oh
Can this not go in the block component or do we not have that yet? I forgot
i didn't know you could use decimals in the interval
import { world, system } from "@minecraft/server";
// Handler function for headcrabs
function handleHeadcrab(entity) {
if (entity.typeId !== "valve:headcrab") return;
const dim = entity.dimension;
const headcrabs = dim.getEntities({ type: "valve:headcrab" });
for (const headcrab of headcrabs) {
if (headcrab.getProperty('valve:target_detection') === true) {
const target = headcrab; // capture reference
system.runTimeout(() => {
if (!target.isValid()) return;
target.setProperty('valve:target_detection', false);
}, 20); // 20 ticks = 1 second
}
}
}
// Subscribe once to each event explicitly
world.afterEvents.entityLoad.subscribe(({ entity }) => handleHeadcrab(entity));
world.afterEvents.entitySpawn.subscribe(({ entity }) => handleHeadcrab(entity));
See if this resolved it.
i was just missing a runInterval lol
mb shouldve clarified
hi everyone, i just cmae back to script api, file locations have changed i noticed, now when im updating my manifest, it isnt updating in my world, but in files, when i check, its updated
i even tried changing versions from like 1.0.0 to 1.1.0
inb manifest
is it possible to detect when someone stomps on a crop?
i don't want to prevent trader llamas from spawning, i want to spawn a wandering trader without llamas...
if i subscribe to entitySpawn
summon the trader
get its id
get the llamas
get their leader
compare its id to twhe trader's id
and unsubscribe, i think that should do it?
no events for it, unfortunately
Is there a way to disable the nether with scripts?
i dont think so
No
You can break close portals and tp people back to overworld but not disable it
you can check if the player is in a portal block an then tp them away
great minds think alike
xd
its just a meme
detect jumps every tick + check block bellow for dirt should work
That’s what I was thinking but it’s for a server with slot of ppl so I’d do something more optimized, or just not do it
if its in a server, just use a plugin
are you on windows?
i found this util, can be helpful:
https://discord.com/channels/523663022053392405/1476541799098093619
And?
playerButtonInput afterevent
Autojump.. hmm i dont think checking every thing is that heavy
and if you are using cache, everything will be fine
I tried this method but I wanted to say a message in chat before breaking the portal. My problem is that I can't detect if the player is touching the portal precisely enough
I was able to do it with commands but the player can still enter at the edge of the portal without triggering it
@cold grove
@worldly pier
use this event and tp them back https://learn.microsoft.com/en-us/minecraft/creator/scriptapi/minecraft/server/playerdimensionchangeafterevent?view=minecraft-bedrock-stable
Wouldn't this still put them in the loading screen?
yeah
that seems like a big time waste, I'm just trying to lock the nether behind certain world / player events
We don't have before events for this right?
I dont think so
RiP
what if you prevent them from lighting the portal
dispensers will not be detected tho
you could make the portal light, but whenever a player is within less than 3 blocks of a portal block it temporarily replaces the portal block with air and puts the portal block back whenever the player walks away
you could also make ender pearls despawn whenever they get close to a nether portal since they can teleport you between dimensions if im not mistaken
how would you do that
to detect if someone is in range of a block
i dunno
im not super experienced with scripting, that's just an idea that popped up in my head
I think the idea of it breaking if somebody is nearby is enough symbolism
that works too
but technically, how could that be implemented?
Would definitely need to pearl check too
scan a 3x3 area around the player for portal blocks and if found run a fill command?
wouldn't that be laggy? check 9 blocks every tick? for every player?
You got a better idea??
udunno but it seems inefficient
maybe just lower the rate to 5 ticks
it might still lag a smidge depending on the player count tho
Tbh I don't even know why I'm trying to make this conceptually when the addon I have planned won't even make it to beta
Not being good at graphic design sucks lol
how is it that related?
Cause I dream too big and the final addon will need a lot of entity models and animations
and AI
there is a lot of good java mods with shitty models and art
yeah but this is a lot different, since I want to have this feel unique and fresh from vanilla
runJob would solve that easily.
Check just one block
In survival you need to wait before the portal teleports you
Or just teleport players again to overworld
3x3 sound extreme, also maybe try getAllBlocksStandingOn before this
if this doesn't return just blocks bellow
yep but like said before, it doesn't work when you get at the border of the portal. it can still teleport you. Because you are touching the block, but you aren't quite in the coordinates of the portal block so nothing is triggered
i think the best solution is to check a 3x1 area without the corners for any portal block
This doesnt work for players? https://learn.microsoft.com/en-us/minecraft/creator/reference/content/entityreference/examples/entitycomponents/minecraftcomponent_break_blocks?view=minecraft-bedrock-stable
hold on bro, dont give up so early. I think im into something
Wym?
You wouldn't want to scan each block individually and you shouldn't use commands for anything unless the API doesn't support it.
You would use dimension.getBlocks with a block filter to detect just the nether portal blocks around the player, then either teleport the player away from the portal or set the block to Air and wait until the player moves away to set it back
import { system, world } from "@minecraft/server";
//this method only works for survival. In creative, teleportation happends before this event is triggered
//TODO: do this in efficenly
system.runInterval(() => {
for (const player of world.getAllPlayers()) {
//iterates for every player
const aboveBlocks = player.getAllBlocksStandingOn().map((v) => v.above()); // gets all the blocks the player is on
for (const block of aboveBlocks) {
if (block?.typeId != "minecraft:portal") continue; //filters only portal blocks
block.setType("air"); // removes it
player.sendMessage("nether is disabled");
}
}
}, 1);
//this tps every player who enters the nether in creative
world.afterEvents.playerDimensionChange.subscribe((d) => {
if (d.toDimension.id != "minecraft:nether") return;
d.player.teleport(d.fromLocation, { dimension: world.getDimension("overworld") });
d.player.sendMessage("nether is disabled");
});
i didnt know they make a function to get all the blocks a player is standing on, so it made things a lot easier for me
yep this is literally what the code does
hope it helps
I only need the first part of this but ty
its for a progression addon that I wanted to develop 1 day
ha
It won't be happening any time this decade most likely
at least you have an idea how it will work
because as much as I try. I cannot model or animate to save my life lol
did yoy try using blockbench?
That's pretty cool, I never noticed getAllBlocksStandingOn before. There are ways for the player to be inside a nether portal without touching any of the portal frame blocks though, like standing on this grass block.
ahh let me try it
i didnt too. Its was a surprise to find it in the methods
it only gets whole blocks
It is relatively new
Does ?, work in a resolve method like setPermuatation(BlockPermutation.resolve(block.typeId, {
[Hi:hi]: true ?,
[Bye, Bye): false}))
So thag it will only apply the 2nd state if it can be applied
it was more difficult than I thought it would be, heres an updated version, this time, optimized. It should work for any case.
system.runInterval(() => {
for (const player of world.getAllPlayers()) {
const pblock = player.dimension.getBlock(player.location);
if (!pblock) continue;
// efficient way of getting all the player adjacent blocks
// portals teleport you in a 0.3 range in any direction
const candidateBlocks: Block[] = [pblock];
try {
if (player.location.x > Math.trunc(player.location.x) + 0.7) candidateBlocks.push(pblock.east()!);
if (player.location.x < Math.trunc(player.location.x) + 0.3) candidateBlocks.push(pblock.west()!);
if (player.location.z > Math.trunc(player.location.z) + 0.7) candidateBlocks.push(pblock.south()!);
if (player.location.z < Math.trunc(player.location.z) + 0.3) candidateBlocks.push(pblock.north()!);
} catch {}
//if (player.getAllBlocksStandingOn().some((v) => v.typeId == "minecraft:portal")) console.warn("works");
for (const block of candidateBlocks) {
console.warn(candidateBlocks.length);
if (block?.typeId != "minecraft:portal") continue; //filters only portal blocks
block.setType("air"); // removes it
player.sendMessage("nether is disabled");
}
}
}, 20);
I figured it out, I had 2 packs, I was equipping wrong one, thanks for replying
guys how can i hide the itemlock property drop popup?
/gamerule showTags false only hides triangle, description and grey background for item.
ain't no way Acode have scripting support
by acode you mean vsc but for ndroid
yes the A P P
there's a pluggin for that tho
so there is your answer
Yeah, it was shared here
Can't find the post tho
Its called: Minecraft Autocomplete
is there any sort of bug in custom commands parameters in stable 2.5.0? I have these two parameters that show in-game but when I print the args object in the console theres only the first parameter (the npc) and the friendship param doesnt show at all and I also can't access to it by destructuring the args array or accessing directly to the [1] index
the entity selector is buggy
mind sharing the code
It happens with the second parameter (or maybe all the ones after the first param) because I swapped positions and then I could get friendship but not npc entity.
import { CommandPermissionLevel, CustomCommandOrigin, CustomCommandParamType, CustomCommandSource, Entity, Player } from "@minecraft/server";
import { Npc } from "../../plugin/Npc/npc";
export default {
command: {
name: 'test:setfriendship',
description: 'Set the friendship of an NPC',
mandatoryParameters: [
{
name: 'friendship',
type: CustomCommandParamType.Integer
},
{
name: 'npc',
type: CustomCommandParamType.EntitySelector
}
],
cheatsRequired: true,
permissionLevel: CommandPermissionLevel.Admin
},
callback: (origin: CustomCommandOrigin, args: [friendship: number, npc: Entity]) => {
const friendship = args[0]
const npc = args[1]
},
}
I can't access npc in this case
that error is something completely different of what you are saying
It is not
(origin: CustomCommandOrigin, ...args: [friendship: number, npc: Entity[]])
ha that was it
I also tried npc as Array of entities before and it would say object is not iterable
So i dont think thats the problem tho
try it
every cmd param is a function parameter
entityselector is array of entities, same with player selector
it's all from getPlayers/getEntities
Ok thanks.
callback: (origin: CustomCommandOrigin, friendship: number, npcs: Entity[]) => {
const npc = npcs[1]
},
Could someone give me an example of the Record object? (ItemStack.setDynamicProperties) Cant tell how its laid out
how would you debug the player leave before event? its not showing anything in the console when I try testing it
would I have to use like simulated players instead of testing on myself
I may be wrong, but it seems that it does not detect the host closing a world as leaving the world. This probably only fires when there is a multiplayer session and works with other people. You could try getting a friend to join besides using simulated players. You could also try using a different event like itemUse to solely debug it.
this would definitely run the function though right? so I would just have to debug the function itself somewhere else and see if theres anything wrong I assume
in here
Yes, this looks perfectly fine
alr ty
You're welcome
How do you use setPermuatation to change only one state on a block without resetting the other ones to default in the process
Because I've always had that happen to me
WithState.
does using tickingAreaManager cause like extreme memory leaks or something?
Not that I know.
does using /reload cause memory leaks?
i'm asking because i have some memory leak in my server, and using script diagnostics isn't showing me that I have events that're leaking or anything like that so I'm hoping to find out what I have wrong
Same usage of BlockPermutation.resolve(blockType, record)
const record = {
skills: "dash,blink,hop",
hasHome: udefined,
hp: 57,
home: {x:-1774, x:60, z:5249}
}
world.setDynamicProperties(record)
#1479787514003849415
why are players not valid in this event? shouldn't they be in a beforeEvent? how would I clear stuff before they leave if it just doesnt work
what do u wana clear?
dynamic properties, effects, reset name tags
I have the function for it it just doesnt work because the player is invalid
and when I get rid of system.run it just gives me you cannot use ... in restricted execution
would storing the properties in world be fine?
using the player.id as key
for the effects, just reset em on join
nameTag's not much of an issue, i think...
block.setPermutation(block.permutation.withState('state', 'value'));
Yes? Also you dont need to
I mean
playerSpawn and checking initialSpawn will do the same thing
world.beforeEvents.entityHurt.subscribe((event) => {
const m1Score = world.scoreboard.getObjective('m1timer')
const target = event.hurtEntity
if (m1Score.getScore(target) > 0) {
target.dimension.playSound('blazinguniverse', target.location)
target.dimension.spawnParticle('sl:sword_clash1', (x, y + 1, z))
event.cancel = true
}
})```
it cant run the sound and particle events cuz its a beforeEvent so is there a way to make them work
Wrap it in system.run
is there no other way without using it
Correct. Is there a reason you can't or won't use it?
wait nvm i read it as runInterval cuz im trying to not use it too much
mb
thanks for the help
where do i ask questions to do with the mcbe debugger
Here or open a question at #1067535382285135923
anyone know why my script tick spikes so high when i connect the debugger on server start?
my script barely does anything
is this like a thing it does?
Brief loading? Could be related to the pressure of the tasks being performed within said tick(s) until it normalizes. Just a hunch without looking at the code(s) in question.
I mostly write code to listen and catch unusual behaviors in the game that typically isn't normal and could potentially be cheating. I find the challenge in some areas to be fun and entertaining.
you have anything open source?
id like to start developing an "anti cheat"
for a server
Licensed under GPL-3, but yes.
Working on a kind of ore generator add-on for a friend's server atm.
And also on a block cutting add-on where I've made 3 templates of blocks from :¬)
Most of the stuff i am currently working on are under NDA, but my current personal project is an add-on with the name "behind the scene".
in short, it is a cinematic add-on, but you get to place stuff in the scene and make entities move around, for example, each element in the scene have a timeframe, for example:
you make a new scene with the length of 5 minutes, you can add a camera and edit it properties in that timeframe, or add a mob and make it path find from x to y, or get damaged at the time 2 min, and so on
just got the weirdest error/bug ever
wasn't able to copy the error cause my game froze and was not responsive (not an overflow)
it was something like interrupted at "events/guide_book.js line 72" and the game either freeze or get unresponsive
i'm a bit late to reply lol, but yet another addon compiler
very interesting lol
btw sorry to ask but what is the .mcattributes file?
blockception file
it is used to ignore some errors
I’ve got that error a lot of times. Usually happens on promises because the code execution was interrupted by something external
there is no promises there tho
ah, but mind telling me what blockception is?
Line 72 is that isOpen if?
yeah
is it a one off thing or does it keep happening?
Were you changing slots too quickly when that happened? Could be a script overload using getDynamicProperty API too quickly
^^ and also it could maybe be something like the getDynamicProperty somehow being interrupted by a write or something
no. it was in a second device joining my world
that happen before the world load for him
could be just that his player is not fully loaded
or like the methods aren't binded or something
Then it’s probably because the event fired before the selected slot is loaded
Yeah that
try guarding using player.isValid
i think it's guaranteed to be readable
changing the slot in the slot change event without any proper breaks will cause it to refire forever
no, it doesn't
yeah, the event only fire when the player change the slot
ah
that seems wrong tho
if one pack changes the slot and the event doesn't fire for it, and say another works on the fact that the slot is the old one for caching or something idk, that could cause some issues
idk if this is a bug or intended behavior so yeah
if i were you i'd open a bug report ig
it is kinda hard to explain it
i don't fully know what is happening either
let me double check some stuff
huh, wait, it does trigger
if it does trigger then u just need to add a guard, maybe a dynamic property or something and check if the saved tick is larger than the current and then exit
otherwise do logic
if it doesn't trigger then i assume it's a bug
oh
Yep thats definitely it lol you're creating an infinite loop.
really?
so it doesn't fire when u change it in script
thats weird
then it does
just remove the infinite loop
shouldnt happen again
probably just the infinite loop
either that or something that happens one off
in anycase u should guard the event to stop the infinite loop and guard it to stop invalid (or not yet loaded) players
again, the infinite loop is not the problem
when that happen the server turn off
when i get the interrupt error the game freeze and i get a memory leak
Tbf, it is kind of confusing at first what your issue is when you have nothing that shows an infintie loop in the first screenshot and then you say "I believe it's relayed to infinite loops" which is a different issue.
you did say you can't replicate it again
can you show us the new code?
if anything changed
i never said "I believe it's relayed to infinite loops"
i am saying the opposite
there is something else going on
this is implying that the issue stems from an infinite loop
then you said it's not the infinite loops
@distant tulip
give me a sec
alr no worries, take ur time
that one does, this doesn't
this.. does
When you say I think I found the reason it does give the impression of such.
i get no error or hang
that's a bug in the API then
unless it was intentional for them to make it not fire on modifications to the slot by ScriptAPI
eh, wait
i am stupid, it wouldn't cause a hang
it depends but i think it just keeps stacking the memory of the allocated objects in the event in rapid succession until the stack overflows.. but if that was the case it would throw a stack overflow error
so maybe it has an untentional limit on how many of this event can be fired per player in a certain set time.. and it just kills/hangs the game after that limit is reached?
idk regardless that is no standard error
you should report it to mojang
it's literally titled "InternalError"
i doubt we could properly debug it
waiiiiiit
i think i might be onto something
maybe it can only fire this event once per player in a single tick
and so when u set it twice that triggered it because maybe it's not batched/the api fires the event the first chance it gets??
anyway enough of my yapping
that might be true to some extend
just need to find out why it does that when someone join my world
it doesn't do it for me until i intentionally trigger it
maybe because as a host player you're only ever "loaded" once the world fully loads alongside scriptapi and many things
hence the first script tick always has you valid or something idk man
as i said it does happen when i intentionally trigger it
Have we had any news about whether or not the max health of an entity will be exposed to scripts?
Always has been
Not to edit
Well not always, but it is there
Wdym?
You can get it, that's still possible
Last I tried max health wasn't changeable
Did you not just say you did not want to edit it
Quite the opposite
"Not to edit"
I want the ability to edit it without having to make 50+ events in player.json
I was replying to you saying it was not available to edit
Which is annoying
And the effect isn't good enough?
Well that is only multiples of 2 and can't go below 10 hearts?
Well, then I'm afraid there's nothing you can do on that department besides a runInterval that spams setCurrentValue
That's why I was asking if there was any news on Max health being edittable properly via scripts
Unless you want to downgrade to a really old version where editing is possible
definitely not
late reply ik
but your only choice is modifying the player.json
How do y'all unsubscribe event
I tried to store the callback function on a variable, it works on subscribe but on unsubscribe it didn't
like this```js
const callback = world.afterEvents.entityHurt.subscribe(() => {
console.warn('test');
});
world.afterEvents.entityHurt.unsubscribe(callback);
@distant tulip :/
how then?
doesnt subscribe return void?
no, it returns the function it takes
oh really? cool
but I don't understand how to unsubscribe if minato says this code won't work
it is the weirdest thing ever
you need to use the callback
example
world.afterEvents.playerPlaceBlock.subscribe(doSomething);
function doSomething() {
console.log("placed a block");
world.afterEvents.playerPlaceBlock.unsubscribe(doSomething);
}
this will unsub after the player place the block
it does
yeah, tbf, i thought it worked like clearRun before some days ago
yeah,it is for cases where you want to subscribe to an event just for a bit before unsubscribing
or subscribe if a condition is met and unsub when not
I'll try this
Thankss
But does it actually make your worlds run faster?
you would need so much events right?
Like an absurd amount of them
so, my way was correct..
Even allocations and loops need to be limited to avoid gc, like avoiding forEach, map, recursions, and others, must be tick-loop safe also
you saved .subscribe()
no? sub return void
and? What's wrong with it?
sure
If executed, it returns void. If not, it's a stores function
huh?
it always returns the function
that make no sense, it always return void
const test = ()=> true
console.log(test) // returns f() or function
console.log(test()) // returns true
subscribe returns the callback u used in it
i just sent you the docs
About the subscribe, yeah it returns void. It's just I'm guessing what he means by returns a function
function test() {
return 1;
}
const test2 = world.afterEvents.subscribe(test);
console.log(test == test2) // true
And there you can see that subscribe() returns the function
what does that prove
That's falsy
._.
"void"
Yeah, 1 is not equal to void
Excuse me, but do you even understand the documentation?
there are way too many threads circulating in the same conv
...
test it yourself
Serties code should be wrong. But minatos explanation is correct
function test() {
return 1;
}
const test2 = world.afterEvents.entityDie.subscribe(test);
system.run(() => {
world.sendMessage((test2 == test) + ' ' + (typeof test) + ' ' + (typeof test2));
});
@distant tulip @last latch @stray spoke
It's already displayed on the docs what the subscribe returns. () => void not () => Function
it's not
it returns function that returns void
serty is right 
but not just void
finally 🙏
lol
It's because the variable contains a function, so it returns a function, not the return type
?...
Yeah nvm, I think there's misundersting
Not that you're wrong
It's just I don't get what you're pointing
i was mis leaded
Yeah you're right
I'll try that also
Thanks for helps
Why would someone actually use unsubscribe? I don't think I've ever used those events..
If you have say a module, that toggles on or off, then that would be one case where unsubscribing would be useful so you could turn the feature off.
Or if you are scoping an event response to the lifetime of an entity, and you would like to clean up that signal when the entity is removed.
brotato
if u wanna ask if something is well structured u should share the full code
not a screenshot of a subsection of a file
Acode the best IDE
In mobile
Almost like VSCode
i think he is asking about the scriptAPI code he written
it's the best mobile IDE out there but it is NO where near VSC
bud i tried to contribute to their codebase
it is geninuely so messy
and has many bugs
i get they're not paid to do this
but still
Yeah, it's buggy also right now. But very robust in coding with plugins
Sorry bro
Android limitations
Ikr
most of the important plugins that bring functionality that is provided for free (built-in) in VSC are behind a paywall
ngl i wouldn't recommend development on android to anyone
i was gonna make my own IDE for Android but i quickly realized how much of a steep learning curve bringing VSC features into Android
I just don't have a laptop/desktop so I'm limited to what the best ide that android can offer
so i don't blame them for the messiness of the codebase but seriously their mentality is just "add new features", there's no fixing, no rewriting, no cleaning up
You gonna make your own code editor? Like ace code or monokai
Yeah part of it is code editor
also how can i track if the player is on shift or not ?
player.isSneaking
true, but i am not gonna making a new code editor if CodeMirror 6 is alr the best ngl for the performance contraint
you're welcome :D
50% of devs probably just guessed this property than reading docs
there's a plugin for acode that adds the minecraft types bro
also don't generalize
just cuz a few devs did guess it wrong doesn't mean everyone did
Probably not. Since if you consider which key is necessary to sneak, it should be self explanatory. What is overlooked is how one monitors it because it will return true in the moment but just as quickly return false under conditions.
yeah i forgot there's a pluggin for mc stuff lol
yea i recommend u install it
it's the best u can get on acode
Noice
ever heard of termux?
i guess not
it's a terminal emulator
i seriously recommend it
without it, Acode alone is probably not good enough
Fun fact
?
Acode terminal already upgraded and can use Node JS and other commands like termux or linux does
So you don't need termux anymore
Except termux is faster
hm that's interesting
last time i checked this was only done when u had termux open
regardless it's probably a new feature
anyway termux is still far better imo
Yeah agree, I still use it
most recognized, most supported, has the best emulation support and is just made for terminal stuff
so performance is awesome and it just feels like a real linux terminal
I can't host bds on termux tho
that's not a termux issue
the bds software is made for ubuntu devices only
Yeah that made me sad
it's made for libc linux i think, while android uses bionic (sorry if i got the names mixed up or wrong)
termux can only emulate so much
if you still wanna host bds i recommend a secondary OS
basically sideloading
but it's probably gonna require a PC and shit, so rooting is better
rooting is still destructive tho and removes any security ur device may have so i don't recommend it
just get a free MC server or something idk
I just need a PC, and yeah rooting is not recommended and can cause data loss and limits other feature
u can use termux for the ssh conenction or sftp and automate the syncing of ur dev files/worlds/etc. back and forth from the host
I don't like setting up so much and risky just for bds lol
definitely the opposite of risky
it's actually the most reliable thing possible
I mostly do Websockets, but works only for players with websocket toggle on, on their settings
i am not talking about websockets bruh
i am talking about the files
just get a free mc server host with sftp, ssh or anything like that
I mean the rooting and technical stuff
Yeah that's my only option
i wasn't talking about that in that message tho
yes it is
Thanks again, I gtg
alr have a fantastic night :D
The Linux version of Bedrock Dedicated Server is primarily tested on Ubuntu, but it can run on other Linux distributions with compatible libraries.
interesting, that's a neat thing i didn't know
When software says ‘Ubuntu only’, it usually just means it’s tested and documented for Ubuntu. In most cases it can still run on other Linux distributions if the required libraries are available.
well still regardless, android is not like normal linux OSs
it uses bionic not libc (idk if the names are correct)
this is misleading tho ngl
i get that (Linux) part
but that just is like implying it may or may not work
and i get that's exactly what it means
Correct, Android isn’t a normal Linux distro even though it uses the Linux kernel.
Typical Linux systems like Ubuntu use GNU libraries (like glibc), while Android uses its own libc called Bionic, a different filesystem layout, and a different runtime. Because of that, many standard Linux programs like Bedrock Dedicated Server for Minecraft Bedrock Edition don’t run on Android without extra compatibility layers.
Yeah, that usually just means it’s tested and documented on Ubuntu. If you use another Linux distro they can’t guarantee everything will match the documentation, since package managers, library versions, or commands might differ slightly. But it’s still Linux, so in most cases it can still run. You might just need to adjust some steps or dependencies.
For example, I personally favor Debian. BDS runs just fine.
have a fantastic night :D
Any examples?
Is there a EntityDamageCause that bypasses i-frames without ignoring the armor?
what makes this error show up when putting addons on realms?
not sure if this is the channel to ask but don't know where else to put it
Average Realms moment:
Hello, I don't get why v2.6.0 is not available on my Minecraft even tho my Minecraft is already updated on the playstore. It shows recommendations like 2.6.0-beta but on microsoft 2.6.0 is stable
Oh nvm, my levi launcher is just not updated I think
-# I use levi launcher to do scripting without having to look for android/data which android cannot access
Preview exists
Dam, what on earth happened last 7 days??
Oh yeah. I keep forgetting that's a completely seperate one
Downloads in the last 7 days
https://www.npmjs.com/package/@minecraft/server
Might be related with #1482466924431409254, idk.
No?
is there a way that I can forcably set a fishing hook to be hooked on a player?
pnpm > npm
uh from what i assume you are asking if it's possible in stable?
if you're asking if it's possible in beta, then yes it is.
but in stable, nope.
definitely not
i doubt it would skyrocket the installations from ~2.4k to ~40k
sure but it depends, for example some systems/environments aren't equipped to handle symlinks
and also pnpm uses npm's registry so uh... yeah
Chat send event becomes stable vs GTA 6 releases
i meant in this thread