4

It seems like this duplicate has been raised a while before in the past, but has not achieved community consensus. Let's revisit this discussion one more time.


Related: Are Minecraft JE data packs considered mods?


First, please be careful not to confuse this with the technical support for modded Minecraft close reason.

We all know that questions about developing mods for games are prohibited on Arqade. However, we've had discussions about edge-case scenarios, such as the related question above.

After a little debate on this question, it brings up an important thing to address: Are Minecraft: Bedrock Edition add-ons/behaviour packs considered mods?

The question above was originally closed as a duplicate, but may need to be reopened depending on whether this falls under the game development reason, which will stem off the result of this discussion.

Arguments for Yes

  • They are a way of modifying your Minecraft experience outside-of-game.
  • They are closer to coding than they are to gaming.

Arguments for No

  • They fall in the same category as data packs, which we've agreed are not mods.
  • There isn't any real "programming" in it.
2
  • 1
    ^ I flagged as a dupe of the above, but we didn't reach community consensus on that question, so perhaps it's fine to just leave this open and have that be a link.
    – Schism
    Jul 23, 2021 at 1:29
  • 1
    @Schism I'll edit this post to reflect that. I agree that this question should be left open.
    – x--
    Jul 23, 2021 at 1:29

2 Answers 2

3

I believe behaviour packs are not mods, because:

  • They are built into the game.

  • They aren't made in a programming language (while technically and rarely they can include JavaScript we could define that as out of bounds, and that's another abnormal scenario since no one uses it since it only works on Windows 10 anyway)

What's in common with those? Resource packs. Resource packs while not requiring JSON can have JSON in them (which is what addons use!) and are also built into the game itself. In terms of on-topic or not behavior packs are no different than resource packs besides for involving a lot more text.

What's also on topic? Minecraft commands. (Pretty much) everyone agrees commands are on-topic and they are very similar in that they:

  • modify the game

  • use text to do it

  • both have a special syntax (command syntax and JSON)

One of the main differences is that commands are done in-game, and behavior packs through other software. But again what else is on-topic that uses other software? Resource packs!

I see these as similar to commands in that they should be allowed. When it comes to more complex questions that require tons of files thats where it gets questionable but asking about a snippet, for components, or values or what kind of options to use on something should all be on topic.

As another point, we have about 42 questions using the tag and I don't really see an issue with the type of questions we are currently getting. Granted they're not all about making them, but you can look through and see the type of questions we're getting.

3
  • Just a heads up, your answer goes against two other answers on the older discussion linked at the top of the question post. A rebuttal of the statements in those answers would do you very well, if possible.
    – x--
    Jul 24, 2021 at 1:15
  • The main difference between datapack content and minecraft commands is that minecraft commands are written an executed in-game. datapack content is written and executed outside of the game.
    – TylerH
    Dec 9, 2022 at 22:58
  • @TylerH these aren't data packs. Data packs are Java this question is about Bedrock. (Also like I said resource packs are made outside of the game itself but they are on topic)
    – Penguin
    Dec 11, 2022 at 1:43
3

TL;DR - No: As their name explicitly states, behavior packs give us the ability to modify the behavior of . As a result, they are not, in themselves, modifications to BE. They allow for the customization of (emphasis mine):

Add-Ons are the first step on our journey towards bringing even greater levels of customization to all editions of Minecraft. They allow players to transform the look of their worlds and even change the behavior of mobs. For example, you can change the blast radius of a creeper, or the texture it’s wearing.

Note: See the official Minecraft site on addons for more details.


My strongest argument against behavior packs being called modifications, is that we are limited in what we can modify, even with the scripts we can create. We have been given two methods of modifying the behavior of the game:

  • Data Manipulation
  • Scripting

We can also create functions in behavior packs, but these are really just glorified commands.


Data Manipulation

With the common behavior packs, we can see things like the ability to:

  • Adjust the scale of a wolf.
  • Allow creepers to start fires when they explode.
  • Change the loot table for cattle.

The aforementioned examples all rely on a very concrete implementation within the code of BE that looks at the JSON data within resource and behavior packs. So by nature, you're not modifying BE, you're modifying the behavior of objects within BE based on data alone. This is also true when creating entirely new entities.


Scripting

One might think that the client and server side scripts could be considered modifications, but they also rely on concrete implementations, and as a result simply adjust the behavior of actions. As a result of the ingenuity of the developers, we can:

  • Teleport players.
  • Define how long lightning and thunder will last.
  • Get data about a block at specific coordinates.
  • Create and invoke custom events.

Using the client and server side scripts give us much more power over the behavior within BE, but not the ability to truly modify it. For example, if we listen for a block being placed in order to perform some other action (such as making lightning strike that position), the block will still be placed, you can't stop that from happening. You can delete the placed block immediately after it is placed, but you can't prevent the underlying code from placing it in the first place.


Counters to @Joachim's Points

Per request of @ExpertCoder14, this question was answered by @Joachim, where they took the stance that:

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

Contrary to this point, behavior and resource packs are both part of the base game. If you download the official vanilla packs (bottom of the page), you're looking directly at what is shipped with the title.

They also stated:

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.

Behavior and resource packs fall under this same description. The issue is that they are much more verbose and even the common Minecraft function/command user is going to avoid that level of data for quite some time, simply because it's a daunting amount of information, lacking in documentation, and a rather niche topic.

They also made a point related to the linked question sounding like GameDev material:

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.

The question that @Joachim is referring to, while also poor quality, is misphrased in my opinion, and as a result, also misunderstood:

I am currently coding an addon for Minecraft PE, but I don't know how to code an item that acts like a daylight sensor (i.e. it emites a redstone signal when there is light). Help would be greatly appreciated.

The OP of said question states that they are "coding" an addon, but haven't actually supplied any form of source code that would solidify that fact. In reality, you don't "code" an addon, you create one, and it either contains scripts or it doesn't.

In their particular use-case, I'm not sure it's even possible to accomplish what they're asking (redstone devices aren't defined in the behavior and resource packs), even with scripting (would require a provided method to emit redstone signals, which, to my knowledge, doesn't exist), so that post was likely to become a tumbleweed in time. However, determining if it's possible isn't a matter of an issue with JavaScript, so it's not a fit for StackOverflow, it's clearly not an issue with game development, so it's not a fit for GameDev. The only remaining option, in my opinion is Arqade, solely because the answer will arise from documentation on the capabilities available to us in behavior packs.

I will also state that GameDev isn't really a good fit for questions related to behavior or resource packs, as there isn't a way to relate it truly to a game development issue. It's more likely to be Minecraft BE, JavaScript, or general algorithm related. The first of which is a better fit for Arqade, while the latter two are a better fit for StackOverflow and SoftwareEngineering respectfully. However, GameDev's stance on it isn't very strict and all questions would generally be accepted:

Minecraft is a game. Modding a game is developing new experiences for the users of the game. Modding is thus game development. Game development is the core of GameDev.se. We can conclude that Minecraft/Bukkit modding, and game modding in general, has its place here.


Counters to @Fabian Röling's Points

Per request of @ExpertCoder14, this question was asked by @Fabian Röling, where they stated that (emphasis mine):

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.

I'm not so sure that we're outside of the aforementioned realm, simply by working with a behavior pack. I think more context is always going to be required in order to determine that.

While the scripts within behavior packs are written in JavaScript, what can be done with that JavaScript is limited as I describe above. Questions that are specific to JavaScript are a better fit for StackOverflow while questions related to Minecraft events or objects and their usage within those scripts are a better fit for Arqade as these are defined within the scope of the original game.

As for the remainder of the behavior pack (over 98% of it), more than 99% of questions are going to be related to data manipulation. The 1% that doesn't fit this description are going to be how to tie events defined in scripts, to entities defined in the behavior pack. However, with that, even those questions are technically a fit for Arqade because they can be easily described from plenty of examples in the vanilla packs, which, are included with the game at launch.


Additional Reading

5
  • The previous meta discussion has two answers that disagree with yours. Please check the previous meta discussion and see if there are any points there you can rebut.
    – x--
    Jul 27, 2021 at 0:21
  • @ExpertCoder14 are you speaking of this question? Or its answers? Or something else entirely? Jul 27, 2021 at 15:09
  • @ExpertCoder14 does my latest edit help any? Aug 2, 2021 at 16:18
  • Here is the deleted answer if you need it.
    – x--
    Aug 2, 2021 at 19:00
  • @ExpertCoder14 that was actually helpful IMO, updated my answer with my thoughts on the post in question. Aug 2, 2021 at 20:12

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