Code Monkey home page Code Monkey logo

blockception / vscode-bedrock-development-extension Goto Github PK

View Code? Open in Web Editor NEW
69.0 69.0 16.0 18.09 MB

An extension that provides support for files such as: .mcfunction, .json and .lang. Features include: completion, validations, formatters, diagnostics, cheat-sheets, code-actions, generation of files, and development tools to help develop Minecraft Bedrock Addons or Minecraft Education Edition.

Home Page: https://marketplace.visualstudio.com/items?itemName=BlockceptionLtd.blockceptionvscodeminecraftbedrockdevelopmentextension

License: BSD 3-Clause "New" or "Revised" License

JSON 54.70% Markdown 4.28% TypeScript 40.62% JavaScript 0.29% mcfunction 0.10%
addon behaviourpack contributions-welcome development hacktoberfest json-validation mcfunction minecraft minecraft-education open-source resourcepack tools validation vscode vscode-extension vscode-language vscode-snippets wip worlds

vscode-bedrock-development-extension's People

Contributors

daanv2 avatar dependabot[bot] avatar forrcaho avatar github-actions[bot] avatar maxaxik avatar nusiq avatar rexogamer avatar rhoggs-bot-test-account avatar soniikz avatar xterionix avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

vscode-bedrock-development-extension's Issues

"should_update_effects_offscreen" does not accept booleans

Describe the bug
"should_update_effects_offscreen" in the scripts section in client entity files does not accept booleans.

To Reproduce
Steps to reproduce the behavior:

  1. Set scripts/should_update_effects_offscreen to true
  2. true is marked as invalid because it is not a string

Expected behavior
"should_update_effects_offscreen" and "should_update_bones_and_effects_offscreen" should accept booleans.

Scoreboard players operation support for fake players

Describe the bug
scoreboard players operation command shows an error when the command attampts to save the result on a fake player.

To Reproduce
Add var scoreboard to the project and create following funciton:

scoreboard players operation FAKE_PLAYER var = FAKE_PLAYER_2 var
scoreboard players operation FAKE_PLAYER var = @s var
scoreboard players operation @s var = FAKE_PLAYER_2 var

Expected behavior
All commands are correct. There should be no errors.

Screenshots
The errors:
obraz

No support for code indentation in .lang files

Describe the bug
Syntax highlighting for .lang files doesn't support indentation.

To Reproduce
Paste this code to your .lang file.

normal.key=Hello
other.key=Other value

    this.is.intersesting=Wow! That's a lot of errors

Expected behavior
Not getting errors. This is a valid file.

Screenshots
obraz

Desktop (please complete the following information):
N/A

Smartphone (please complete the following information):
N/A

Additional context
N/A

The "sounds" property in sounds.json

Describe the bug
The json schema for sounds.json accepts the "sounds" key in interactive_sounds/block_sounds/<block>/events/fall/sounds.

To Reproduce
Steps to reproduce the behavior:

  1. Create sounds.json file with interactive_sounds/block_sounds/<block>/events/fall/sounds JSON path in it.
  2. See that the "sounds" property isn't highlighted as an error.

Expected behavior
The "sounds" property should be highlighted as an error and there should be no hint for adding it to the file.

Screenshots
A screenshot from vanilla RP which suprisingly uses this invalid key:
obraz

Additional context
This mistake was easy to make bacause the property does does apear in the vanilla Minecraft resource pack sounds.json file but it has no effect on the game and almost certainly is a bug.

You can verify that replacing "sounds" with "sound" in default resource pack does actually add new sounds to the game
(it's especially easy to hear when you test the "soul_sound" fall sound).

Exclude files/folders

In my workspace, I have a collection of sample packs (including Vanilla resource/behavior packs) that I like to reference during development. However, this extension works across every bedrock-related file in my workspace making it difficult to use extension features in the specific project I'm working on. In my case,

  • Code-completion fetches objectives, entities, etc defined in every pack in the workspace
  • Error/warnings are generated from every pack in the workspace
  • Causes performance issues when there are a lot of other packs or previous projects in the workspace

Having an option to exclude files/folders from the extension (similar to .gitignore or files.exclude) will effectively solve these problems.

Schema is partially incorrect for the minecraft:entity_sensor component

Describe the bug
Schema is partially incorrect for the minecraft:entity_sensor component

To Reproduce
Steps to reproduce the behavior:

  1. Add the component
  2. Add the "event" parameter
  3. The suggested formating will be:

"event": {
"event": name,
"target": target
}

Expected behavior
The suggested formatting should be:

"event": name

Tested on Minecraft version 1.16.210

Error highlighter "confused" in some block properties

The bug
My code:

"minecraft:block": {
		"description": {
			"identifier": "wom:ombela_log",
			"register_to_creative_menu": true,
			"is_experimental": false,
			"properties": {
				"wom:facing_direction":[0,1,2]
			}
		}

errors:

{
	"resource": "/c:/Users/<user>/Documents/addons/WOM/bp/blocks/ombela_log.json",
	"owner": "_generated_diagnostic_collection_name_#0",
	"severity": 4,
	"message": "String does not match the pattern of \"%([a-zA-Z0-9_]+:[a-zA-Z0-9_\\-]+)&\".",
	"startLineNumber": 9,
	"startColumn": 5,
	"endLineNumber": 9,
	"endColumn": 27
}
{
	"resource": "/c:/Users/<user>/documents/addons/WOM/bp/blocks/ombela_log.json",
	"owner": "_generated_diagnostic_collection_name_#0",
	"severity": 4,
	"message": "Incorrect type. Expected \"boolean\".",
	"startLineNumber": 9,
	"startColumn": 28,
	"endLineNumber": 9,
	"endColumn": 35
}

Expected behavior
It should accept it

Resource pack animation controller suggestions in behaviorpack

Describe the bug
Animation controllers in behavior pack and resource pack have slightly different structure.
Some of the items are valid only in RP or only in BP. For example - particle_effects are part
of the resource pack animation controller but not behavior pack.

To Reproduce

  1. Create animation controller from this pattern inside behaviorpack:
{
    "format_version": "1.10.0",
    "animation_controllers": {
        "controller.animation.test": {
            "states": {
                "default": {
                    
                }
            }
        }
    }
}
  1. See the autocomplete list for the items in "default" state.

Expected behavior
The autocomplete shoud suggest - animations, on_entry, on_exit and transitions (I'm not surea about "variables" I've never seen that in bp or in rp).

Screenshots
obraz

Desktop (please complete the following information):
N/A

Smartphone (please complete the following information):
N/A

Additional context
The JSON scheam for animation_controllers from behavior packs which was automatically generated based
on some examples of behaviorpacks: https://github.com/Nusiq/bedrock-json-schemas/blob/master/schemas/bp.animation_controller.schema.json

minecraft:damage_sensor linting appears incorrect

Describe the bug
Linting error on a valid representation for minecraft:damage_sensor.

To Reproduce
Steps to reproduce the behavior:

  1. Create a 1.16.0 format version entity
  2. Add the following component
  3. View error
            "minecraft:damage_sensor": {
                "triggers": {
                    "on_damage": {
                        "filters": {}
                    },
                    "deals_damage": false
                }
            }

Expected behavior
No error on correctly formatted component.

Screenshots
image

A small bug: tripwire block id is not supported

Describe the bug
A small bug. This extension does not recognise block id "tripwire". There might be more than just one bug like this, I guess.

To Reproduce
Steps to reproduce the behavior:

  1. Create an empty .mcfunction file
  2. Open the file with VSCode and type in this sample: execute @e ~ ~ ~ detect ~ ~ ~ tripwire 3 setblock ~ ~ ~ web
  3. See warning: No known block found with the id: "tripwire"

Appendix
bug

Behavior pack animation controller Molang in on_entry and on_exit

Describe the bug
Current value pattern for behavior pack animation controller doesn't accept molang expressions in
on_entry and on_exit.

To Reproduce
Steps to reproduce the behavior:

  1. Copy code below to animation controller in behavior pack
  2. Observe the results
{
    "format_version": "1.10.0",
    "animation_controllers": {
        "controller.animation.test": {
            "states": {
                "default": {
                    "on_entry": [
                        "variable.foo = 1;"
                    ],
                    "on_exit": [
                        "variable.bar = 2;"
                    ]
                }
            }
        }
    }
}

Expected behavior
Using Molang in animation controller shouldn't be marked as an error.

Screenshots
obraz

VSCODE MAC

Very basic issue. Its not working on Mac VSCode

Comments shouldn't be allowed to have indentation in lang files.

Describe the bug
It turns out that you can't have comments that start with indentation on the marketplace. I'm not sure what is exactly the valid notation but using indented comments will definitely be rejected.

To Reproduce
Steps to reproduce the behavior:

  1. Copy this code to your .lang file.
## This is a valid coment
    ## this is not a valid comment
  1. See that there is no error on the second line.

Expected behavior
Line 2 sould shave red underline and an error message.

Screenshots
obraz

"sequence" and "filter" attribute is present only in 1.16.0 schema

Describe the bug
The autocompletion for "sequence" and "filter" properties work only in 1.16.0 schema. This is not 1.16.0 exclusive feature.

Other schemas don't show the error when the property is added but also don't suggest it (probably because they don't have disabled additionalProperties).

To Reproduce
Steps to reproduce the behavior:

  1. Copy the code below to entity behavior.
  2. See autocompletion for the event (no "sequence" or "filters" suggestions).
  3. Change format version to 1.16.0
  4. Again check the autocompletion (this time you can see suggestion for "sequence" and "filters"), add sequence to the file.
  5. When you change back to 1.14.0 (or any other supported format_version) there will be no error message.
{
    "format_version": "1.14.0",
    "minecraft:entity": {
        "description": {
            "identifier": "example:example_entity",
            "is_spawnable": true,
            "is_summonable": true,
            "is_experimental": false
        },
        "component_groups": {},
        "components": {},
        "events": {
            "minecraft:entity_spawned": {
                
            }
        }
    }
}

Expected behavior
Autocomplete "sequence" and "filters" on all versions. I looked back at some of my oldest worlds and I found an example that uses sequence on format_version 1.2.0.

Screenshots
obraz
obraz

Additional context
I'm not sure if that's the design decision of the plugin to have less strict schemas for some versions and more strict schemas for other versions of behavior file but if it isn't than it would be nice if it was consistent (preferably the strict version because it's more helpful for spotting the bugs both in the VS Code plugin as well as in the behavior). An option to enable/disable additionalProperties for the schemas somewhere in options also would be a great addition.

The hex code colors preview for transpartent particles uses RGBA format instead of ARGB

Describe the bug
minecraft:particle_appearance_tinting is a particle component which tints color of particles. The particles that use "particles_blend" material can be semi transparent. Colors in the component can be described with
hex codes (#aabbccdd) which also gives a preview thatnks to the addon. Unfortunately the addon assumes
that the colors are in RGBA format which is wrong because minecraft uses ARGB.

To Reproduce
Use the code below to create a simple particle. It uses particle_appearance_tinting with #ffff00ff color.
The preview shows yellow because it thinks that its R=255, G=255, B=0, A=255 (yellow with no
transparency). The particle color in minecraft is magenta because R=255, G=0, B=255, A=255 (magenta
no transparency).

{
	"format_version": "1.10.0",
	"particle_effect": {
		"description": {
			"identifier": "nusiq:example",
			"basic_render_parameters": {
				"material": "particles_blend",
				"texture": "textures/particle/particles"
			}
		},
		"components": {
			"minecraft:emitter_rate_instant": {
				"num_particles": 1
			},
			"minecraft:emitter_lifetime_expression": {
				"activation_expression": 1,
				"expiration_expression": 0
			},
			"minecraft:emitter_shape_point": {},
			"minecraft:particle_lifetime_expression": {
				"expiration_expression": 0
			},
			"minecraft:particle_appearance_billboard": {
				"size": [1, 1],
				"facing_camera_mode": "lookat_xyz",
				"uv": {
					"texture_width": 128,
					"texture_height": 128,
					"flipbook": {
						"base_UV": [56, 88],
						"size_UV": [8, 8],
						"step_UV": [-8, 0],
						"frames_per_second": 8,
						"max_frame": 8,
						"stretch_to_lifetime": true,
						"loop": false
					}
				}
			},
			"minecraft:particle_appearance_tinting": {
				"color": "#ffff00ff"
			}
		}
	}
}

Expected behavior
The color preview should mach the color of particle.

Screenshots
obraz

Additional context
Passing colors as lists (which is also a valid input for the component) uses RGBA format - [1, 1, 0, 1] is yellow.

Add ascending/descending support for scoreboard objectives setdisplay sidebar

Describe the bug
scoreboard objectives setdisplay sidebar command has ascending/descending property which isn't supported by the plugin

To Reproduce
Add var scoreboard to the project and create following funciton:

scoreboard objectives setdisplay sidebar var ascending
scoreboard objectives setdisplay sidebar var descending

Expected behavior
All commands are correct. There should be no errors.

Screenshots
The errors:
obraz
The parser expects scoreboard name instead of "ascending" or "descending" keywords.

Error: Matches multiple schemas when only one must validate.

"Matches multiple schemas when only one must validate." error appears on working behavior pack manifeste manifests in add-ons
When I finish my manifest for a Behavior Pack of an Add-On, I get this error:

{
	"resource": "/c:/Users/<user>/Documents/addons/WOM/bp/manifest.json",
	"owner": "_generated_diagnostic_collection_name_#0",
	"severity": 4,
	"message": "Matches multiple schemas when only one must validate.",
	"startLineNumber": 1,
	"startColumn": 1,
	"endLineNumber": 1,
	"endColumn": 2
}

Everything works perfectly in-game.

To Reproduce
Steps to reproduce the behavior:

  1. Create an Add-On scheme
  2. Create the Ressources Pack and Behavior Pack manifest, version 2.
  3. See the error

Screenshot
image

Numbers are not supported as blend values

Describe the bug
Blend values for animations currently only support molang strings. Directly setting a number throws an error. This applies to scripts.animate in entity files as well as animations in animation controllers.

To Reproduce
Steps to reproduce the behavior:

  1. Create an animation controller with something like this in one of the states:
"animations": [
  {"offset_x": 15}
]
  1. The 15 will be marked as incorrect type

Expected behavior
Numbers should be supported

Additional context
As an example, I often use this to define an offset without creating individual animations. The "offset_x" animation essentially just offsets a bone by one unit, but with the blending you can essentially set it to any value.

	"animation.foo.offset_x": {
		"loop": true,
		"bones": {
			"root": {
				"position": [1, 0, 0]
			}
		}
	}

Unnecessary "minecraft" namespace requirement for vanilla entities

Describe the bug
The plugin shows an error in summon command when you don't use the "minecraft" namespace in vanilla entities.

To Reproduce
Create a function with a bunch of summon commands that summon vanilla entities. Don't write the namespace.
Example below:

summon zombie
summon armor_stand
summon skeleton

See the errors.

Expected behavior
There should be no erros. The commands are valid.

Screenshots
obraz

The "family" selector query doesn't show up in the autocompletion suggestion list

Describe the bug
Recently a new selector query was added to minecraft - the "family". It lets you select entities by their families.

To Reproduce

  1. Start typing any command that uses the selector.
  2. See the list of suggested queries.
  3. See that there is no "family" on the list.

Expected behavior
The "family" query should apear on the list.

Screenshots
obraz

Particle identifier regex is incorrect

Describe the bug
Particle namespace regex isn't validating correctly.

To Reproduce
Make a 1.10 version RP particle, with the following namespace: sirlich:particle.test

Expected behavior
No error, since dot-index is allowed in this case.

Screenshots
image

Desktop (please complete the following information):

  • OS: Windows

Additional context
Unless I am mistaken, both namespaces, and dot-indexing are allowed in particle namespaces (same as entity namespaces)

Default render controllers are invalid.

When using a default render controller that exists in the vanilla resource pack, for example "controller.render.default", it is marked as invalid.

To Reproduce
Steps to reproduce the behavior:

  1. Create a client entity file.
  2. Use the render controller "controller.render.default"
  3. Error message appears "Cannot find resource controller: controller.render.default"

Expected behavior
These render controllers work in game and should be recognized.

Missing JSON schema?

Describe the bug
The latest version (2.1.2) of the plugin seems to point to a non-existent file for behavior pack entities' JSON schema. Everything works on 2.0.14

To Reproduce
Steps to reproduce the behavior:

  1. Create an entities behavior definition in behavior_pack\entities
  2. Warning will appear in said file

Expected behavior
Working annotation and validation for entities behavior definitions

Screenshots
Screenshot 2021-06-09 180200

Desktop:

  • OS: Windows_NT x64 10.0.190.42
  • Browser: Chrome
  • Chrome version: 89.0.4389.14
  • VSCcode version: 1.56.2

Plugin keeps crashing "Error: Cannot find module 'fast-glob'"

Describe the bug
Crash log:

[Info  - 09:06:52] Connection to server got closed. Server will restart.
internal/modules/cjs/loader.js:847
    throw err;
    ^

Error: Cannot find module 'fast-glob'
Require stack:
- c:\Users\artur\.vscode\extensions\blockceptionltd.blockceptionvscodeminecraftbedrockdevelopmentextension-1.0.13\server\out\code\ProjectData.js
- c:\Users\artur\.vscode\extensions\blockceptionltd.blockceptionvscodeminecraftbedrockdevelopmentextension-1.0.13\server\out\database\MinecraftProgramData.js
- c:\Users\artur\.vscode\extensions\blockceptionltd.blockceptionvscodeminecraftbedrockdevelopmentextension-1.0.13\server\out\database\Database.js
- c:\Users\artur\.vscode\extensions\blockceptionltd.blockceptionvscodeminecraftbedrockdevelopmentextension-1.0.13\server\out\minecraft\types\Block\Completion.js
- c:\Users\artur\.vscode\extensions\blockceptionltd.blockceptionvscodeminecraftbedrockdevelopmentextension-1.0.13\server\out\minecraft\types\include.js
- c:\Users\artur\.vscode\extensions\blockceptionltd.blockceptionvscodeminecraftbedrockdevelopmentextension-1.0.13\server\out\minecraft\commands\CommandManager.js
- c:\Users\artur\.vscode\extensions\blockceptionltd.blockceptionvscodeminecraftbedrockdevelopmentextension-1.0.13\server\out\manager\Extension Data.js
- c:\Users\artur\.vscode\extensions\blockceptionltd.blockceptionvscodeminecraftbedrockdevelopmentextension-1.0.13\server\out\manager\Manager.js
- c:\Users\artur\.vscode\extensions\blockceptionltd.blockceptionvscodeminecraftbedrockdevelopmentextension-1.0.13\server\out\server\Setup.js
- c:\Users\artur\.vscode\extensions\blockceptionltd.blockceptionvscodeminecraftbedrockdevelopmentextension-1.0.13\server\out\server.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:844:17)
    at Module._load (internal/modules/cjs/loader.js:737:27)
    at Function.Module._load (electron/js2c/asar.js:769:28)
    at Module.require (internal/modules/cjs/loader.js:899:19)
    at require (internal/modules/cjs/helpers.js:74:18)
    at Object.<anonymous> (c:\Users\artur\.vscode\extensions\blockceptionltd.blockceptionvscodeminecraftbedrockdevelopmentextension-1.0.13\server\out\code\ProjectData.js:52:25)
    at Module._compile (internal/modules/cjs/loader.js:1014:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1051:10)
    at Module.load (internal/modules/cjs/loader.js:862:32)
    at Module._load (internal/modules/cjs/loader.js:774:14) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    'c:\\Users\\artur\\.vscode\\extensions\\blockceptionltd.blockceptionvscodeminecraftbedrockdevelopmentextension-1.0.13\\server\\out\\code\\ProjectData.js',
    'c:\\Users\\artur\\.vscode\\extensions\\blockceptionltd.blockceptionvscodeminecraftbedrockdevelopmentextension-1.0.13\\server\\out\\database\\MinecraftProgramData.js',
    'c:\\Users\\artur\\.vscode\\extensions\\blockceptionltd.blockceptionvscodeminecraftbedrockdevelopmentextension-1.0.13\\server\\out\\database\\Database.js',
    'c:\\Users\\artur\\.vscode\\extensions\\blockceptionltd.blockceptionvscodeminecraftbedrockdevelopmentextension-1.0.13\\server\\out\\minecraft\\types\\Block\\Completion.js',
    'c:\\Users\\artur\\.vscode\\extensions\\blockceptionltd.blockceptionvscodeminecraftbedrockdevelopmentextension-1.0.13\\server\\out\\minecraft\\types\\include.js',
    'c:\\Users\\artur\\.vscode\\extensions\\blockceptionltd.blockceptionvscodeminecraftbedrockdevelopmentextension-1.0.13\\server\\out\\minecraft\\commands\\CommandManager.js',
    'c:\\Users\\artur\\.vscode\\extensions\\blockceptionltd.blockceptionvscodeminecraftbedrockdevelopmentextension-1.0.13\\server\\out\\manager\\Extension Data.js',
    'c:\\Users\\artur\\.vscode\\extensions\\blockceptionltd.blockceptionvscodeminecraftbedrockdevelopmentextension-1.0.13\\server\\out\\manager\\Manager.js',
    'c:\\Users\\artur\\.vscode\\extensions\\blockceptionltd.blockceptionvscodeminecraftbedrockdevelopmentextension-1.0.13\\server\\out\\server\\Setup.js',
    'c:\\Users\\artur\\.vscode\\extensions\\blockceptionltd.blockceptionvscodeminecraftbedrockdevelopmentextension-1.0.13\\server\\out\\server.js'
  ]
}
[Error - 09:06:52] Connection to server got closed. Server will not be restarted.

This repeats 5 times and than VS Code decides to stop restarting the plugin.

Screenshots
List of installed plugins:
obraz

"Blockception's Minecraft Bedrock Development" title in json file breadcrumbs

Describe the bug
The "Blockception's Minecraft Bedrock Development" title is added to breadcrumbs in JSON files (see screenshots).
This title is quite long and it blocks the important information about current location of the cursor
in the json.

To Reproduce
Steps to reproduce the behavior:

  1. Enable breadcrumbs
  2. Create json file (example uses custom block)
  3. See the results.
    Example file:
{
	"format_version": "1.16.0",
	"minecraft:block": {
		"description": {
			"identifier": "example:test_block",
			"is_experimental": false,
			"register_to_creative_menu": true
		},
		"components": {
			"minecraft:loot": "",
			"minecraft:destroy_time": 4.0,
			"minecraft:explosion_resistance": 5.0,
			"minecraft:map_color": "#f49d1a"
		}
	}
}

Expected behavior
Display information about json instead arbitrary title.

Screenshots
obraz

When the item's BP files are nested in other directories component's suggestions don't work.

Sometimes it's easier to nest items depending on categories (consumable, non_consumable etc). When I do it and make a new json file in the new directory the schemas doesn't work.
Example path: minecraftWorld/<your_world>/bp/items/<new_directory>/item.json

To Reproduce

  1. Go to minecraftWorld/<your_world>/bp/items/<new_directory>/item.json
  2. Open item.json file
  3. Try to add component
  4. There'll be no suggestions of components appearing

Expected behavior
Suggestions of the components appear

Desktop:

  • OS: Windows 10
  • Visual Studio Code: latest version (1.56)
  • Item's file format version: 1.16.0

Of course it works properly when I edit a file in the bp/items directory.

Function reference navigation breaks after execute

Describe the bug
The path of the function in a function command can be navigated through to get to the referenced function. This breaks when an execute clause is present before the function call.

To Reproduce
Steps to reproduce the behavior:

  1. create 2 function files a.mcfunction and b.mcfunction
  2. add function b to a.mcfunction
  3. ctrl-click function path to navigate to b.mcfunction
  4. replace function b with execute @a ~ ~ ~ function b
  5. ctrl-click function path and fail to navigate to b.mcfunction

Expected behavior
Function path is navigable

  • Version: v1.7.1

Semantic token provider instead of grammar injection

Is your feature request related to a problem? Please describe.
The coloration of molang isn't good enough, and often colors or texts that isn't molang.

Describe the solution you'd like
As soon as semantic tokens providers are released in the language server. Update the molang handling of colors.
Make support for molang v2 as well

Skeleton behaviors don't validate (filters)

Describe the bug
Vanilla Behavior file for Skeleton doesn't validate as error-free. Could technically be an issue in the code, but I somehow doubt it. Its filters, so... yeah, nested nastiness to validate.

To Reproduce
Steps to reproduce the behavior:

  1. Open VSCode with the plugin installed
  2. Open the Skeleton behavior pack entity file

Expected behavior
No errors on vanilla entities

Screenshots
If applicable, add screenshots to help explain your problem.
image

Desktop (please complete the following information):
Windows

Invalid queries in selectors doesn't show an error

Describe the bug
You can put invalid properties/queries in command selectors and it won't show any erros.

To Reproduce
Create following function and see that there is no error:

execute @e[random_property=1.23] ~ ~ ~ say hi

Expected behavior
The addon should allow only existing queries.

Screenshots
Minecraft shows error message when you try to run this command from chat:
obraz

当我使用这个插件时,vscode无法正常更新

Describe the bug
当我使用这个插件时,vscode无法正常更新

To Reproduce
Steps to reproduce the behavior:

  1. 正常使用时,提示vscode有更新可用,选择更新(图1),并等待后台安装
  2. 等待完成(图2),选择“立即安装”
  3. 出现“Updating Visual Studio Code”提示框(图3)
  4. 不久之后出现如(图4)所示错误

Expected behavior
可能是因为文件名过长
在对应文件右键点击发现文件路径显示异常(图5)
与其他文件对比(图6)

Screenshots
图1
image
图2
image
图3
image
图4
image
图5
image
图6
image

RP animation autocomplete doesn't work in subdirectories

Describe the bug
It looks like the plugin doesn't treat the animation files in sub-directories as animations. There is no autocomplete.

To Reproduce

  1. Create an animation file in in your projecti n resource_packs/<pack-name>/animations
  2. Start typing random properties used in animation to see if there is an autocomplete
  3. Move the file to subdirectory resource_packs/<pack-name>/animations/test
  4. Try writing to the file again (there is no autocomplete)

Expected behavior
Subdirectories are and have always been supported by Minecraft packs, the plugin should also accept them.

Additional context
Other pack objects also can use subdirectories. Here is a short list in case the blockception plugin also doesn't support them (i didn't check). It's not a full list but its probably safe to assume that subdirectoreis are supported everywhere, that's just a list of folders that use subdirectories on a project that I'm currently working on:

  • behavior_packs/<pack name>/items
  • behavior_packs/<pack name>/loot_tables
  • behavior_packs/<pack name>/animation_controllers
  • behavior_packs/<pack name>/animations
  • behavior_packs/<pack name>/entities
  • behavior_packs/<pack name>/spawn_rules
  • behavior_packs/<pack name>/trading
  • resource_packs/<pack name>/entity
  • resource_packs/<pack name>/animations
  • resource_packs/<pack name>/animation_controllers
  • resource_packs/<pack name>/items
  • resource_packs/<pack name>/models/entity
  • resource_packs/<pack name>/particles
  • resource_packs/<pack name>/render_controllers

say and tell commands not recognized as valid

Describe the bug
Typing say or tell as the first part of a line inside an mcfunction file causes the error 'Unknown command syntax: "say hello"mcfunction(mcfunction.syntax.unknown)'

To Reproduce
Steps to reproduce the behavior:

  1. Create a new .mcfunction file in a behavior pack.
  2. Type "say hello" on the first line

Expected behavior
No syntax error appears in the mcfunction file

Screenshots
Screenshot_1
Screenshot_2
Screenshot_3

Desktop (please complete the following information):

  • OS: Windows 10
  • Version 2.1.12

Feature Request: Support for commands, items and blocks exclusive to Education Edition

Is your feature request related to a problem? Please describe.
Currently, autocomplete and syntax highlighting do not support commands from Minecraft Education Edition such as /immutableworld and /ability. Commands such as /setblock and should also have the blocks from education edition (allow block, deny block, border block)

Describe the solution you'd like
Syntax highlighting and autocomplete for education edition commands, blocks, etc.

Describe alternatives you've considered
Just editing the .mcfunction files as plain text without the extension

Unexpected behavior of JSON formatter

Describe the bug
Using the plugin seams to change the default JSON formatter to:

    "[json]": {
        "editor.defaultFormatter": "BlockceptionLtd.blockceptionvscodeminecraftbedrockdevelopmentextension"
    }

This setting causes unexpected behavior on "Format Document" operation - especially when the indentation
mode of the file is changed from tabs to spaces or the other way around.

Uninstalling the plugin fixed the problem for me. On first attempt of using "Format Document" I was asked
to select the default JSON formatter from a list with only one item.

The part of settings.json after selecting new formatter:

    "[json]": {
        "editor.defaultFormatter": "vscode.json-language-features"
    }

Reinstalling the plugin didn't bring back the bug so it's fixed for me.

To Reproduce
Steps to reproduce the behavior:

I don't know how to reproduce the change of the json.editor.defaultFormatter setting (which seams to
happened to me with no reason by itself) but you can change the JSON formatter setting to the first
example and play around with changing indentation mode, number of spaces in the indent and
the "Format document" operator.

Expected behavior

  • defaultFormatter shouldn't change without users consent.
  • The blockception formater should be able to format document after changing the indentation mode.

Additional context
The same problem happened to other person who is also using the plugin and changing the
defaultFormatter fixed the problem without need to reinstall the plugin.

The only plugin that I and the other person have in common on VS code is the Blockception's Minecraft Bedrock Development.

The probem was tested on Minecraft behavior file.

"on_entry" and "on_exit" properties not supported for animation_controllers within Resource Packs

Describe the bug
"on_entry" and "on_exit" are considered illegal properties within a Resource Pack animation_controller

To Reproduce
Steps to reproduce the behavior:

  1. Open an animation_controller that is contained within a Resource Pack
  2. Attempt to add an "on_entry" and/or "on_exit" property to a state.
  3. Receive error highlighting and hover message, stating that these are invalid properties.

Expected behavior
Support for "on_entry" and "on_exit" properties within Resource Pack animation_controllers

Screenshots
on_entry

Manifest schema appears to be wrong, in a few places

Describe the bug
The following manifest was created using this site, which I generally trust: https://bedrock-manifest.web.app/

To Reproduce
The following json throws errors:

{
    "format_version": 2,
    "header": {
      "name": "bob BP",
      "description": "sdfsd",
      "uuid": "1990a121-3ee2-4c1d-ba25-d8454911c4be",
      "version": [
        0,
        0,
        1
      ],
      "min_engine_version": [
        1,
        16,
        0
      ]
    },
    "modules": [
      {
        "type": "data",
        "description": "_",
        "uuid": "9d8e18e1-d179-4d42-ace6-2e1d07c6dea5",
        "version": [
          0,
          0,
          1
        ]
      }
    ],
    "dependencies": [
      {
        "uuid": "71a0724b-655e-410b-a8de-7e21ae1735e3",
        "version": [
          0,
          0,
          1
        ]
      }
    ],
    "capabilities": {
      "experimental_custom_ui": false,
      "chemistry": false
    },
    "metadata": {
      "authors": " ",
      "url": " "
    }
  }

The following keys are marked as needing "array" type:

  • experimental_custom_ui
  • authors
  • url
  • chemistry

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.