Skip to content

Commit 3ceafb9

Browse files
committed
more
1 parent ee8eb98 commit 3ceafb9

5 files changed

Lines changed: 101 additions & 22 deletions

File tree

README.md

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -33,17 +33,15 @@ GameTest Framework has the following modules as of Minecraft version 1.19.0
3333
> These modules work across anywhere in Minecraft: Bedrock Edition
3434
3535
- mojang-minecraft:
36-
- Microsoft Docs: https://docs.microsoft.com/en-us/minecraft/creator/scriptapi/mojang-minecraft/mojang-minecraft
37-
- mojang-gametest:
38-
- Microsoft Docs: https://docs.microsoft.com/en-us/minecraft/creator/scriptapi/mojang-gametest/mojang-gametest
39-
- mojang-minecraft-ui:
40-
- Microsoft Docs: https://docs.microsoft.com/en-us/minecraft/creator/scriptapi/mojang-minecraft-ui/mojang-minecraft-ui
41-
36+
- [Microsoft Docs](https://docs.microsoft.com/en-us/minecraft/creator/scriptapi/mojang-minecraft/mojang-minecraft)- mojang-gametest:
37+
- [Microsoft Docs](https://docs.microsoft.com/en-us/minecraft/creator/scriptapi/mojang-gametest/mojang-gametest)- mojang-minecraft-ui:
38+
- [Microsoft Docs](https://docs.microsoft.com/en-us/minecraft/creator/scriptapi/mojang-minecraft-ui/mojang-minecraft-ui)
4239
**Bedrock Dedicated Server modules**
4340

44-
> These modules works on [Bedrock Dedicated Servers](https://www.minecraft.net/en-us/download/server/bedrock) and cannot be used on Minecraft clients.
41+
| ⚠️These modules works on [Bedrock Dedicated Servers](https://www.minecraft.net/en-us/download/server/bedrock) and cannot be used on Minecraft clients. |
42+
| --- |
4543

4644
- mojang-net:
47-
- Microsoft Docs: https://docs.microsoft.com/en-us/minecraft/creator/scriptapi/mojang-net/mojang-net
45+
- [Microsoft Docs](https://docs.microsoft.com/en-us/minecraft/creator/scriptapi/mojang-net/mojang-net)
4846
- mojang-minecraft-server-admin:
49-
- Microsoft Docs: https://docs.microsoft.com/en-us/minecraft/creator/scriptapi/mojang-minecraft-server-admin/mojang-minecraft-server-admin
47+
- [Microsoft Docs](https://docs.microsoft.com/en-us/minecraft/creator/scriptapi/mojang-minecraft-server-admin/mojang-minecraft-server-admin)
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
import { Enchantment, EnchantmentList, EntityInventoryComponent, ItemEnchantsComponent, MinecraftEnchantmentTypes, Player, world } from "mojang-minecraft";
2+
3+
(
4+
/**
5+
* @param {Player} player
6+
* @param {Enchantment} enchantment
7+
*/
8+
function (player, enchantment) {
9+
/**
10+
* @type {EntityInventoryComponent}
11+
*/
12+
// @ts-ignore
13+
const InventoryComponent = player.getComponent("inventory");
14+
15+
if (!InventoryComponent) throw new Error("Inventory component not found");
16+
17+
const item = InventoryComponent.container.getItem(player.selectedSlot);
18+
19+
if (!item) return;
20+
21+
/**
22+
* @type {ItemEnchantsComponent}
23+
*/
24+
const Enchantments = item.getComponent("enchantments");
25+
26+
if (!Enchantments) {
27+
console.warn("Enchantments component not found");
28+
return;
29+
};
30+
31+
const { enchantments } = Enchantments;
32+
33+
if (enchantments.hasEnchantment(enchantment.type)) {
34+
enchantments.removeEnchantment(enchantment.type); // remove enchantments
35+
};
36+
37+
enchantments.addEnchantment(enchantment); // add enchantment
38+
}
39+
)(
40+
[...world.getPlayers()][0], // player
41+
new Enchantment(MinecraftEnchantmentTypes.unbreaking, 3) // enchantment
42+
);

mojang-minecraft/README.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,8 @@
88

99
### Dynamic property usage
1010
- [**registerEntityTypeDynamicProperties**](./DynamicProperty/registerEntityTypeDynamicProperties.js)
11-
- [**registerWorldDynamicProperties**](./DynamicProperty/registerWorldDynamicProperties.js)
11+
- [**registerWorldDynamicProperties**](./DynamicProperty/registerWorldDynamicProperties.js)
12+
13+
### [Enchantments](./Enchantment/enchantment.js)
14+
15+
### [Set item lore](./setLore/index.js)

mojang-minecraft/setLore/index.js

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import { EntityInventoryComponent, world } from "mojang-minecraft";
2+
3+
const player = [...world.getPlayers()][0];
4+
5+
/**
6+
* @type {EntityInventoryComponent}
7+
*/
8+
// @ts-ignore
9+
const inventory = player.getComponent("inventory");
10+
11+
const item = inventory.container.getItem(player.selectedSlot);
12+
13+
item.setLore([
14+
"lore1",
15+
"lore2",
16+
"lore3"
17+
]);

scripts/shopui.js

Lines changed: 30 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,38 @@
1+
import { world } from "mojang-minecraft";
12
import * as MinecraftUi from "mojang-minecraft-ui";
23

4+
const player = [...world.getPlayers()][0];
5+
const Shopitems = [
6+
{
7+
liste_item: "liste_item",
8+
prix: 10,
9+
Icons: "textures/blocks/bedrock"
10+
}
11+
];
12+
313
// Menu Shop
414
let shopui = new MinecraftUi.ActionFormData()
515
.title("§r§aOcto §eShop§r")
616
.button("§2Objets§8", "textures/items/apple.png")
7-
.button("§2Utilitaires§8", "textures/ui/debug_glyph_color.png")
8-
shopui.show(player).then(res => {
9-
if (res.isCanceled == true) return runCommandwo(`tellraw ${player.nameTag} {"rawtext": [{"text": "§r§8[§aOcto §eShop§8] §cAchat annulé!§r"}]}`)
17+
.button("§2Utilitaires§8", "textures/ui/debug_glyph_color.png");
18+
shopui.show(player).then((res) => {
19+
if (res.isCanceled == true)
20+
return player.runCommand(
21+
`tellraw ${player.nameTag} {"rawtext": [{"text": "§r§8[§aOcto §eShop§8] §cAchat annulé!§r"}]}`
22+
);
1023

11-
// MENU BLOCK
12-
if (res.selection == 0) {
13-
let blocksui = new MinecraftUi.ActionFormData()
14-
blocksui.title("§r§aOcto §eShop§r")
15-
for (const itemm of Shopitems) { blocksui.button(`§c${itemm.liste_item} \n[${itemm.prix} pcs]`, `${itemm.Icons}`) }
16-
blocksui.show(player).then(res => {
17-
// Code here
18-
})
24+
// MENU BLOCK
25+
if (res.selection == 0) {
26+
let blocksui = new MinecraftUi.ActionFormData();
27+
blocksui.title("§r§aOcto §eShop§r");
28+
for (const itemm of Shopitems) {
29+
blocksui.button(
30+
`§c${itemm.liste_item} \n[${itemm.prix} pcs]`,
31+
`${itemm.Icons}`
32+
);
1933
}
20-
});
34+
blocksui.show(player).then((res) => {
35+
// Code here
36+
});
37+
}
38+
});

0 commit comments

Comments
 (0)