6

If I understand it right, this question is about behaviour packs in MCBE. As far as I know, those are written in a regular programming language, just using an MCBE specific API. Are those questions on-topic?

This is why this is a difficult question:

  • Physical mechanisms in Minecraft are of course on-topic, they are clearly in-game things.
  • Redstone is just another mechanism.
  • Command blocks used to be heavily integrated into the redstone system and very often there are questions that can have one answer with redstone and one answer with commands. You can basically do everything with commands that can be done in the game regularly. Commands are considered on-topic here.
  • Functions are just an accumulation of commands, but they are edited outside of the game itself. They are considered on-topic here.
  • Everything else in datapacks is also considered on-topic here, it is heavily integrated with functions and for example often a function needs to be executed every tick, which can be done with function tags or advancements or other datapack related things.
  • MCBE's behaviour packs are very similar to datapacks, they are often seen as MCBE's (not quite as powerful) equivalent to MCJava's datapacks. But by now we've gone quite far out of the realm of "do stuff in the game", because this is about programming in a regular, non-Minecraft-specific programming language, outside of the game. But it is still something that is interpreted by the game, just like functions in a datapack are.
  • MCJava mod development is considered off-topic here, even though it is very similar to developing behaviour packs. A lot of things can be done with either a mod or a datapack/behaviour pack.

Datapacks and mods already both fall into the area between "gaming" and "programming" and now behaviour packs are in between those two. Do we draw the line before them, making them off-topic here and on-topic on gamedevSE, or after them, making them on-topic here and off-topic (or maybe not) on gamedevSE, or should the line be moved even further, to move all datapack and maybe even command questions to gamedevSE?

3

Behaviour Packs are not part of the base game. I think that logically excludes them.

That functions are considered on-topic might have to do with their likeness - correct me if I'm wrong - to batch files and shortcut parameters, which are not that different from using in-game console commands and don't require any third-party software.

But! this is also closely related to our current stance on questions about level editors and other developer tools, the most recent provocation of which has gained very little attention.

In the case of the question you refer to: the OP is talking about "coding an addon". That sounds like unmistakable GameDev material to me.

0

I believe we should default to on-topic unless easily proven as off-topic, simply because I believe the context of the post would designate whether or not it is on-topic.


For example, if I'm asking how to modify the scale of an entity in a behavior pack, I think it's on-topic. This is because that functionality is built into the game, and concrete examples can be found within the vanilla pack quite quickly:

"component_groups": {
  "minecraft:fox_baby": {
    "minecraft:is_baby": {
    },
    "minecraft:scale": {
      "value": 0.5
    },
...

While the user could be creating a custom entity, or modifying the behavior of an existing one, the functionality itself is predefined and as such, is part of the original game.


However, asking for help with client and server side scripts would be very, very borderline. The majority of issues that could arise out of these scripts would be code focused and, as a result, are best suited for Stack Overflow. If the issue at hand couldn't be clearly related to an issue with the useage of well defined scripting resources (such as events, methods, etc), it should be considered off-topic.


Note: I don't believe that questions related to the client and server side scripts within behavior packs are at all related to GameDev SE because they aren't about game development at all. Instead, these questions are either going to be general code or Minecraft specific.

6
  • I don't think sending low-quality posts ("basic mistakes") to SO is a good idea. They already get way too many of them. Jul 26 at 19:43
  • @FabianRöling Low quality posts should be closed. Just because it's a basic mistake doesn't make it low-quality though. If someone demonstrates in their question that they put forth the effort to solve the issue on their own, and they still couldn't solve it, it's generally well received at SO. I believe that if it's code related, and good quality, then it's a good fit for SO not GameDev or Arqade. Jul 26 at 19:51
  • @FabianRöling although I can see how my post made that misleading, does it read better now? Jul 26 at 20:31
  • BTW, is this actually how behaviour packs look like? I thought they were C++ code, not JSON. Or are "behaviour packs" something completely different from the "scripting API"? Jul 26 at 23:05
  • @FabianRöling Behavior packs actually support three "languages", json, javascript, and mcfunction (which is what we use for commands in-game). json is used to describe how entities behave and is purely data. javascript is used to interact with the "scripting API" in client and server side scripts, and mcfunction is used to create custom commands. Jul 26 at 23:13
  • @FabianRöling The latter. Jul 27 at 21:32
-3

Datapacks and Behaviour packs have no discernable difference, but shouldn't stay here.

Datapacks and Behaviour packs are coded in the same language written in the same format, JSON.

They're functionally different in the same way Pocket Edition and Java Edition are different. If we allow datapacks, why not behaviour packs?

But considering how separate they are from the game (they're barely related to playing the game, they're related to coding modifications for it. We redirect mod creation over to GameDev.SE anyway), I think redirecting both datapacks and behaviour packs to GameDev is for the best.

4
  • JSON is not a "language". Behaviour packs do not use JSON, they use C# or something like that, an actual programming language. Datapacks not only use JSON, but also regular text files (.mcmeta, .mcfunction) and compressed binary files (.nbt). Please only answer if you know what you are talking about. And as I said, command questions are allowed (it would be ridiculous to direct questions like "how do I teleport to my friend" to gamedevSE) and functions (the most common use for datapacks) are just a collection of commands. Jan 28 '20 at 13:07
  • Apologies - I was basing my answer off the Minecraft Wiki, which has no mention of anything except JSON.
    – Corsaka
    Jan 28 '20 at 14:23
  • Here is an article about it: minecraft.net/en-us/article/scripting-api-now-public-beta And for datapacks the wiki definitely lists all the basic information. Jan 28 '20 at 15:24
  • Some corrections 1½ years later: JSON could maybe be called a "language", just like HTML (literally "L"="language"), just not a programming language. And it is apparently also used in behaviour packs (see here, but the programming-like part is JavaScript. So nothing I said was completely wrong, but also not very accurate. Jul 27 at 8:55

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .