9
0
mirror of https://github.com/Xiao-MoMi/craft-engine.git synced 2025-12-26 10:29:20 +00:00

优化默认配置格式

This commit is contained in:
XiaoMoMi
2025-06-19 02:07:41 +08:00
parent b9cfdebf19
commit 1b6a5da519
20 changed files with 1119 additions and 1109 deletions

View File

@@ -5,8 +5,11 @@ import java.util.List;
public interface EntityData<T> {
Object serializer();
int id();
T defaultValue();
Object entityDataAccessor();
default Object createEntityDataIfNotDefaultValue(T value) {

View File

@@ -8,6 +8,8 @@ import net.momirealms.craftengine.core.plugin.command.CraftEngineCommandManager;
import net.momirealms.craftengine.core.util.FileUtils;
import org.bukkit.command.CommandSender;
import org.incendo.cloud.Command;
import org.yaml.snakeyaml.DumperOptions;
import org.yaml.snakeyaml.Yaml;
import java.io.IOException;
import java.nio.file.Files;
@@ -29,7 +31,13 @@ public class DebugMigrateTemplatesCommand extends BukkitCommandFeature<CommandSe
for (Pack pack : BukkitCraftEngine.instance().packManager().loadedPacks()) {
for (Path file : FileUtils.getYmlConfigsDeeply(pack.configurationFolder())) {
try {
Files.writeString(file, replacePlaceholders(Files.readString(file)));
DumperOptions options = new DumperOptions();
options.setDefaultFlowStyle(DumperOptions.FlowStyle.BLOCK);
options.setPrettyFlow(true);
Yaml yaml = new Yaml(options);
Object data = yaml.load(Files.newBufferedReader(file));
String fileStr = yaml.dump(data);
Files.writeString(file, fileStr);
} catch (IOException e) {
e.printStackTrace();
}

View File

@@ -3336,26 +3336,15 @@ public final class CoreReflections {
);
// 1.20.5+
public static final Field field$ItemStack$CODEC = ReflectionUtils.getDeclaredField(
clazz$ItemStack, "CODEC", "b"
);
public static final Field field$ItemStack$CODEC = ReflectionUtils.getDeclaredField(clazz$ItemStack, "CODEC", "b");
public static final Codec<Object> instance$ItemStack$CODEC;
@SuppressWarnings("unchecked")
private static Codec<Object> getInstance$ItemStack$CODEC() throws IllegalAccessException {
return (Codec<Object>) field$ItemStack$CODEC.get(null);
}
public static final Codec<?> instance$ItemStack$CODEC;
static {
try {
if (VersionHelper.isOrAbove1_20_5()) {
instance$ItemStack$CODEC = getInstance$ItemStack$CODEC();
} else {
instance$ItemStack$CODEC = null;
}
} catch (Exception e) {
throw new RuntimeException(e);
instance$ItemStack$CODEC = VersionHelper.isOrAbove1_20_5() ? (Codec<?>) field$ItemStack$CODEC.get(null) : null;
} catch (ReflectiveOperationException e) {
throw new ReflectionInitException("Failed to init ItemStack$CODEC", e);
}
}
}

View File

@@ -1,37 +1,46 @@
# This file is for localizing internal block IDs (craftengine:xxx_xx).
# Some other plugins support displaying block names using lang components.
# This might be useful for the client-side, but it's not mandatory.
lang:
en_us:
block_name:default:chinese_lantern: "Chinese Lantern"
block_name:default:netherite_anvil: "Netherite Anvil"
block_name:default:topaz_ore: "Topaz Ore"
block_name:default:deepslate_topaz_ore: "Deepslate Topaz Ore"
block_name:default:palm_log: "Palm Log"
block_name:default:stripped_palm_log: "Stripped Palm Log"
block_name:default:palm_wood: "Palm Wood"
block_name:default:stripped_palm_wood: "Stripped Palm Wood"
block_name:default:palm_planks: "Palm Planks"
block_name:default:palm_sapling: "Palm Sapling"
block_name:default:palm_leaves: "Palm Leaves"
block_name:default:fairy_flower: "Fairy Flower"
block_name:default:reed: "Reed"
block_name:default:flame_cane: "Flame Cane"
block_name:default:ender_pearl_flower: "Ender Pearl Flower"
block_name:default:gunpowder_block: "GunPowder Block"
block_name:default:solid_gunpowder_block: "Solid GunPowder Block"
block_name:default:chinese_lantern: Chinese Lantern
block_name:default:netherite_anvil: Netherite Anvil
block_name:default:topaz_ore: Topaz Ore
block_name:default:deepslate_topaz_ore: Deepslate Topaz Ore
block_name:default:palm_log: Palm Log
block_name:default:stripped_palm_log: Stripped Palm Log
block_name:default:palm_wood: Palm Wood
block_name:default:stripped_palm_wood: Stripped Palm Wood
block_name:default:palm_planks: Palm Planks
block_name:default:palm_sapling: Palm Sapling
block_name:default:palm_leaves: Palm Leaves
block_name:default:palm_trapdoor: Palm Trapdoor
block_name:default:palm_door: Palm Door
block_name:default:fairy_flower: Fairy Flower
block_name:default:reed: Reed
block_name:default:flame_cane: Flame Cane
block_name:default:ender_pearl_flower: Ender Pearl Flower
block_name:default:gunpowder_block: GunPowder Block
block_name:default:solid_gunpowder_block: Solid GunPowder Block
block_name:default:copper_coil: Copper Coil
zh_cn:
block_name:default:chinese_lantern: "灯笼"
block_name:default:netherite_anvil: "下界合金砧"
block_name:default:topaz_ore: "黄玉矿石"
block_name:default:deepslate_topaz_ore: "深层黄玉矿石"
block_name:default:palm_log: "棕榈原木"
block_name:default:stripped_palm_log: "去皮棕榈原木"
block_name:default:palm_wood: "棕榈木"
block_name:default:stripped_palm_wood: "去皮棕榈木"
block_name:default:palm_planks: "棕榈木板"
block_name:default:palm_sapling: "棕榈树苗"
block_name:default:palm_leaves: "棕榈树叶"
block_name:default:fairy_flower: "仙灵花"
block_name:default:reed: "芦苇"
block_name:default:flame_cane: "烈焰甘蔗"
block_name:default:ender_pearl_flower: "末影珍珠花"
block_name:default:gunpowder_block: "火药粉末"
block_name:default:solid_gunpowder_block: "凝固火药块"
block_name:default:chinese_lantern: 灯笼
block_name:default:netherite_anvil: 下界合金砧
block_name:default:topaz_ore: 黄玉矿石
block_name:default:deepslate_topaz_ore: 深层黄玉矿石
block_name:default:palm_log: 棕榈原木
block_name:default:stripped_palm_log: 去皮棕榈原木
block_name:default:palm_wood: 棕榈木
block_name:default:stripped_palm_wood: 去皮棕榈木
block_name:default:palm_planks: 棕榈木板
block_name:default:palm_sapling: 棕榈树苗
block_name:default:palm_leaves: 棕榈树叶
block_name:default:palm_trapdoor: 棕榈木活板门
block_name:default:palm_door: 棕榈木门
block_name:default:fairy_flower: 仙灵花
block_name:default:reed: 芦苇
block_name:default:flame_cane: 烈焰甘蔗
block_name:default:ender_pearl_flower: 末影珍珠花
block_name:default:gunpowder_block: 火药粉末
block_name:default:solid_gunpowder_block: 凝固火药块
block_name:default:copper_coil: 铜线圈

View File

@@ -3,17 +3,17 @@ items#misc:
material: nether_brick
custom-model-data: 3000
data:
item-name: "<!i><i18n:item.chinese_lantern>"
item-name: <!i><i18n:item.chinese_lantern>
model:
type: "minecraft:model"
path: "minecraft:item/custom/chinese_lantern"
type: minecraft:model
path: minecraft:item/custom/chinese_lantern
generation:
parent: "minecraft:block/custom/chinese_lantern"
parent: minecraft:block/custom/chinese_lantern
behavior:
type: block_item
block:
loot:
template: "default:loot_table/self"
template: default:loot_table/self
settings:
template:
- default:hardness/wool
@@ -29,40 +29,40 @@ items#misc:
id: 15
state: note_block:15
model:
path: "minecraft:block/custom/chinese_lantern"
path: minecraft:block/custom/chinese_lantern
generation:
parent: "minecraft:block/cube_column"
parent: minecraft:block/cube_column
textures:
"end": "minecraft:block/custom/chinese_lantern_top"
"side": "minecraft:block/custom/chinese_lantern"
end: minecraft:block/custom/chinese_lantern_top
side: minecraft:block/custom/chinese_lantern
default:netherite_anvil:
material: nether_brick
custom-model-data: 3001
data:
item-name: "<!i><i18n:item.netherite_anvil>"
item-name: <!i><i18n:item.netherite_anvil>
model:
type: "minecraft:model"
path: "minecraft:item/custom/netherite_anvil"
type: minecraft:model
path: minecraft:item/custom/netherite_anvil
generation:
parent: "minecraft:block/custom/netherite_anvil"
parent: minecraft:block/custom/netherite_anvil
behavior:
type: block_item
block:
loot:
template: "default:loot_table/self"
template: default:loot_table/self
behavior:
type: falling_block
hurt-amount: 4
max-hurt: 80
events:
- on: right_click
- true: right_click
functions:
- type: open_window
gui-type: anvil
- type: cancel_event
conditions:
- type: expression
expression: "!<arg:player.is_sneaking>"
expression: '!<arg:player.is_sneaking>'
settings:
template:
- default:pickaxe_power/level_4
@@ -86,20 +86,20 @@ items#misc:
default: north
appearances:
axisX:
state: "minecraft:anvil[facing=east]"
state: minecraft:anvil[facing=east]
model:
path: "minecraft:block/custom/netherite_anvil"
path: minecraft:block/custom/netherite_anvil
y: 90
generation:
parent: "minecraft:block/anvil"
parent: minecraft:block/anvil
textures:
"top": "minecraft:block/custom/netherite_anvil_top"
"body": "minecraft:block/custom/netherite_anvil"
"particle": "minecraft:block/custom/netherite_anvil"
top: minecraft:block/custom/netherite_anvil_top
body: minecraft:block/custom/netherite_anvil
particle: minecraft:block/custom/netherite_anvil
axisZ:
state: "minecraft:anvil[facing=north]"
state: minecraft:anvil[facing=north]
model:
path: "minecraft:block/custom/netherite_anvil"
path: minecraft:block/custom/netherite_anvil
variants:
facing_clockwise=east:
appearance: axisX
@@ -117,12 +117,12 @@ items#misc:
material: nether_brick
custom-model-data: 3002
data:
item-name: "<!i><i18n:item.gunpowder_block>"
item-name: <!i><i18n:item.gunpowder_block>
model:
type: "minecraft:model"
path: "minecraft:item/custom/gunpowder_block"
type: minecraft:model
path: minecraft:item/custom/gunpowder_block
generation:
parent: "minecraft:block/custom/gunpowder_block"
parent: minecraft:block/custom/gunpowder_block
behavior:
type: block_item
block:
@@ -131,7 +131,7 @@ items#misc:
solid-block: default:solid_gunpowder_block
- type: falling_block
loot:
template: "default:loot_table/self"
template: default:loot_table/self
settings:
template:
- default:sound/sand
@@ -145,26 +145,26 @@ items#misc:
id: 16
state: note_block:16
model:
path: "minecraft:block/custom/gunpowder_block"
path: minecraft:block/custom/gunpowder_block
generation:
parent: "minecraft:block/cube_all"
parent: minecraft:block/cube_all
textures:
"all": "minecraft:block/custom/gunpowder_block"
all: minecraft:block/custom/gunpowder_block
default:solid_gunpowder_block:
material: nether_brick
custom-model-data: 3003
data:
item-name: "<!i><i18n:item.solid_gunpowder_block>"
item-name: <!i><i18n:item.solid_gunpowder_block>
model:
type: "minecraft:model"
path: "minecraft:item/custom/solid_gunpowder_block"
type: minecraft:model
path: minecraft:item/custom/solid_gunpowder_block
generation:
parent: "minecraft:block/custom/solid_gunpowder_block"
parent: minecraft:block/custom/solid_gunpowder_block
behavior:
type: block_item
block:
loot:
template: "default:loot_table/self"
template: default:loot_table/self
settings:
template:
- default:sound/stone
@@ -179,26 +179,26 @@ items#misc:
id: 17
state: note_block:17
model:
path: "minecraft:block/custom/solid_gunpowder_block"
path: minecraft:block/custom/solid_gunpowder_block
generation:
parent: "minecraft:block/cube_all"
parent: minecraft:block/cube_all
textures:
"all": "minecraft:block/custom/solid_gunpowder_block"
all: minecraft:block/custom/solid_gunpowder_block
default:copper_coil:
material: nether_brick
custom-model-data: 3004
data:
item-name: "<!i><i18n:item.copper_coil>"
item-name: <!i><i18n:item.copper_coil>
model:
type: "minecraft:model"
path: "minecraft:item/custom/copper_coil"
type: minecraft:model
path: minecraft:item/custom/copper_coil
generation:
parent: "minecraft:block/custom/copper_coil"
parent: minecraft:block/custom/copper_coil
behavior:
type: block_item
block:
loot:
template: "default:loot_table/self"
template: default:loot_table/self
settings:
template:
- default:sound/metal
@@ -220,33 +220,33 @@ items#misc:
default: false
appearances:
off:
state: "cactus:0"
state: cactus:0
model:
path: "minecraft:block/custom/copper_coil"
path: minecraft:block/custom/copper_coil
generation:
parent: "minecraft:block/cactus"
parent: minecraft:block/cactus
textures:
"particle": "minecraft:block/custom/copper_coil"
"bottom": "minecraft:block/custom/copper_coil"
"top": "minecraft:block/custom/copper_coil"
"side": "minecraft:block/custom/copper_coil_side"
particle: minecraft:block/custom/copper_coil
bottom: minecraft:block/custom/copper_coil
top: minecraft:block/custom/copper_coil
side: minecraft:block/custom/copper_coil_side
on:
state: "cactus:1"
state: cactus:1
model:
path: "minecraft:block/custom/copper_coil_on"
path: minecraft:block/custom/copper_coil_on
generation:
parent: "minecraft:block/cactus"
parent: minecraft:block/cactus
textures:
"particle": "minecraft:block/custom/copper_coil_on"
"bottom": "minecraft:block/custom/copper_coil_on"
"top": "minecraft:block/custom/copper_coil_on"
"side": "minecraft:block/custom/copper_coil_on_side"
particle: minecraft:block/custom/copper_coil_on
bottom: minecraft:block/custom/copper_coil_on
top: minecraft:block/custom/copper_coil_on
side: minecraft:block/custom/copper_coil_on_side
variants:
lit=false:
appearance: "off"
appearance: 'off'
id: 0
lit=true:
appearance: "on"
appearance: 'on'
id: 1
settings:
luminance: 8
@@ -254,54 +254,54 @@ recipes#misc:
default:chinese_lantern:
type: shaped
pattern:
- "ABA"
- "BCB"
- "ABA"
- ABA
- BCB
- ABA
ingredients:
A: "#minecraft:planks"
B: "minecraft:stick"
C: "minecraft:torch"
A: '#minecraft:planks'
B: minecraft:stick
C: minecraft:torch
result:
id: default:chinese_lantern
count: 1
default:netherite_anvil:
type: shaped
pattern:
- " B "
- "BAB"
- " B "
- ' B '
- BAB
- ' B '
ingredients:
A: "minecraft:anvil"
B: "minecraft:netherite_ingot"
A: minecraft:anvil
B: minecraft:netherite_ingot
result:
id: default:netherite_anvil
count: 1
default:gunpowder_from_block:
type: shapeless
ingredients:
A: "default:gunpowder_block"
A: default:gunpowder_block
result:
id: minecraft:gunpowder
count: 9
default:gunpowder_block:
type: shaped
pattern:
- "AAA"
- "AAA"
- "AAA"
- AAA
- AAA
- AAA
ingredients:
A: "minecraft:gunpowder"
A: minecraft:gunpowder
result:
id: default:gunpowder_block
count: 1
default:copper_coil:
type: shaped
pattern:
- "AAA"
- "A A"
- "AAA"
- AAA
- A A
- AAA
ingredients:
A: "minecraft:copper_ingot"
A: minecraft:copper_ingot
result:
id: default:copper_coil
count: 1

View File

@@ -1,17 +1,17 @@
categories:
default:default:
priority: 1
name: "<!i><white><i18n:category.default.name></white>"
name: <!i><white><i18n:category.default.name></white>
lore:
- "<!i><gray><i18n:category.default.lore>"
- <!i><gray><i18n:category.default.lore>
icon: default:topaz
list:
- "#default:palm_tree"
- "#default:topaz"
- "#default:furniture"
- "#default:misc"
- '#default:palm_tree'
- '#default:topaz'
- '#default:furniture'
- '#default:misc'
default:palm_tree:
name: "<!i><green><i18n:category.palm_tree></green>"
name: <!i><green><i18n:category.palm_tree></green>
hidden: true
icon: default:palm_log
list:
@@ -24,7 +24,7 @@ categories:
- default:palm_planks
- default:palm_trapdoor
default:topaz:
name: "<!i><#FF8C00><i18n:category.topaz></#FF8C00>"
name: <!i><#FF8C00><i18n:category.topaz></#FF8C00>
hidden: true
icon: default:topaz
list:
@@ -45,7 +45,7 @@ categories:
- default:topaz_leggings
- default:topaz_boots
default:furniture:
name: "<!i><#FFD700><i18n:category.furniture></#FFD700>"
name: <!i><#FFD700><i18n:category.furniture></#FFD700>
hidden: true
icon: default:table_lamp
list:
@@ -53,7 +53,7 @@ categories:
- default:table_lamp
- default:wooden_chair
default:misc:
name: "<!i><gray><i18n:category.misc></gray>"
name: <!i><gray><i18n:category.misc></gray>
hidden: true
icon: default:chinese_lantern
list:

View File

@@ -1,145 +1,142 @@
templates:
default:emoji/basic:
content: "<hover:show_text:'<i18n:emoji.tip>'><!shadow><white><arg:emoji></white></!shadow></hover>"
content: <hover:show_text:'<i18n:emoji.tip>'><!shadow><white><arg:emoji></white></!shadow></hover>
default:emoji/addition_info:
content: "<hover:show_text:'<i18n:emoji.tip>'><!shadow><white><arg:emoji></white></!shadow>${text}</hover>"
content: <hover:show_text:'<i18n:emoji.tip>'><!shadow><white><arg:emoji></white></!shadow>${text}</hover>
emoji:
default:emoji_location:
template: "default:emoji/addition_info"
template: default:emoji/addition_info
arguments:
text: "<i18n:emoji.location>"
text: <i18n:emoji.location>
overrides:
image: "default:icons:0:0"
image: default:icons:0:0
permission: emoji.location
keywords:
- ":location:"
- ":pos:"
- ':location:'
- ':pos:'
default:emoji_time:
template: "default:emoji/addition_info"
template: default:emoji/addition_info
arguments:
text: "<i18n:emoji.time>"
text: <i18n:emoji.time>
overrides:
image: "default:icons:0:1"
image: default:icons:0:1
permission: emoji.time
keywords:
- ":time:"
- ':time:'
default:emoji_smiley:
template: "default:emoji/basic"
template: default:emoji/basic
overrides:
image: "default:emojis:0:0"
image: default:emojis:0:0
permission: emoji.smile
keywords:
- ":)"
- ":smiley:"
- ":smile:"
- :)
- ':smiley:'
- ':smile:'
default:emoji_angry:
template: "default:emoji/basic"
template: default:emoji/basic
overrides:
image: "default:emojis:0:1"
image: default:emojis:0:1
permission: emoji.angry
keywords:
- ":angry:"
- ':angry:'
default:emoji_grin:
template: "default:emoji/basic"
template: default:emoji/basic
overrides:
image: "default:emojis:0:2"
image: default:emojis:0:2
permission: emoji.grin
keywords:
- ":grin:"
- ':grin:'
default:emoji_sob:
template: "default:emoji/basic"
template: default:emoji/basic
overrides:
image: "default:emojis:0:3"
image: default:emojis:0:3
permission: emoji.sob
keywords:
- ":sob:"
- ':sob:'
default:emoji_sweat_smile:
template: "default:emoji/basic"
template: default:emoji/basic
overrides:
image: "default:emojis:1:0"
image: default:emojis:1:0
permission: emoji.sweat_smile
keywords:
- ":sweat_smile:"
- ':sweat_smile:'
default:emoji_blush:
template: "default:emoji/basic"
template: default:emoji/basic
overrides:
image: "default:emojis:1:1"
image: default:emojis:1:1
permission: emoji.blush
keywords:
- ":blush:"
- ':blush:'
default:emoji_joy:
template: "default:emoji/basic"
template: default:emoji/basic
overrides:
image: "default:emojis:1:2"
image: default:emojis:1:2
permission: emoji.joy
keywords:
- ":joy:"
- ':joy:'
default:emoji_slight_frown:
template: "default:emoji/basic"
template: default:emoji/basic
overrides:
image: "default:emojis:1:3"
image: default:emojis:1:3
permission: emoji.slight_frown
keywords:
- ":slight_frown:"
- ':slight_frown:'
default:emoji_unamused:
template: "default:emoji/basic"
template: default:emoji/basic
overrides:
image: "default:emojis:2:0"
image: default:emojis:2:0
permission: emoji.unamused
keywords:
- ":unamused:"
- ':unamused:'
default:emoji_laughing:
template: "default:emoji/basic"
template: default:emoji/basic
overrides:
image: "default:emojis:2:1"
image: default:emojis:2:1
permission: emoji.laughing
keywords:
- ":laughing:"
- ':laughing:'
default:emoji_sunglasses:
template: "default:emoji/basic"
template: default:emoji/basic
overrides:
image: "default:emojis:2:2"
image: default:emojis:2:2
permission: emoji.sunglasses
keywords:
- ":sunglasses:"
- ':sunglasses:'
default:emoji_innocent:
template: "default:emoji/basic"
template: default:emoji/basic
overrides:
image: "default:emojis:2:3"
image: default:emojis:2:3
permission: emoji.innocent
keywords:
- ":innocent:"
- ':innocent:'
default:emoji_face_vomiting:
template: "default:emoji/basic"
template: default:emoji/basic
overrides:
image: "default:emojis:3:0"
image: default:emojis:3:0
permission: emoji.face_vomiting
keywords:
- ":face_vomiting:"
- ':face_vomiting:'
default:emoji_rolling_eyes:
template: "default:emoji/basic"
template: default:emoji/basic
overrides:
image: "default:emojis:3:1"
image: default:emojis:3:1
permission: emoji.rolling_eyes
keywords:
- ":rolling_eyes:"
- ':rolling_eyes:'
default:emoji_yum:
template: "default:emoji/basic"
template: default:emoji/basic
overrides:
image: "default:emojis:3:2"
image: default:emojis:3:2
permission: emoji.yum
keywords:
- ":yum:"
- ':yum:'
default:emoji_confounded:
template: "default:emoji/basic"
template: default:emoji/basic
overrides:
image: "default:emojis:3:2"
image: default:emojis:3:2
permission: emoji.confounded
keywords:
- ":confounded:"
- ':confounded:'
images:
default:emojis:
height: 11
@@ -147,7 +144,7 @@ images:
font: minecraft:emoji
file: minecraft:font/image/emojis.png
chars:
- '\ub000\ub001\ub002\ub003'
- '\ub004\ub005\ub006\ub007'
- '\ub008\ub009\ub00a\ub00b'
- '\ub00c\ub00d\ub00e\ub00f'
- \ub000\ub001\ub002\ub003
- \ub004\ub005\ub006\ub007
- \ub008\ub009\ub00a\ub00b
- \ub00c\ub00d\ub00e\ub00f

View File

@@ -1,23 +1,27 @@
# When placing tripwires, the client predicts their block states.
# By specifying the state type, we can prevent certain visual issues during placement.
items:
minecraft:string:
client-bound-data:
components:
minecraft:block_state:
attached: "false"
disarmed: "false"
east: "true"
north: "true"
powered: "true"
south: "true"
west: "true"
attached: 'false'
disarmed: 'false'
east: 'true'
north: 'true'
powered: 'true'
south: 'true'
west: 'true'
minecraft:note_block:
client-bound-data:
components:
minecraft:block_state:
instrument: "harp"
powered: "false"
note: "0"
instrument: harp
powered: 'false'
note: '0'
# For the client to determine if a beacon can activate, it needs the beacon_base_blocks tag to render the beam.
# This allows custom blocks (like note blocks) to work as beacon bases.
# However, whether the beacon actually grants potion effects depends on the block's real tag (server-side check).
blocks:
minecraft:note_block:
settings:

View File

@@ -3,10 +3,10 @@ items:
material: nether_brick
custom-model-data: 2000
data:
item-name: "<!i><i18n:item.bench>"
item-name: <!i><i18n:item.bench>
model:
type: "minecraft:model"
path: "minecraft:item/custom/bench"
type: minecraft:model
path: minecraft:item/custom/bench
behavior:
type: furniture_item
furniture:
@@ -19,9 +19,7 @@ items:
ground:
loot-spawn-offset: 0.5,0.5,0
rules:
# ANY / FOUR / EIGHT / SIXTEEN / NORTH / EAST / WEST / SOUTH
rotation: FOUR
# ANY / CENTER / HALF / QUARTER / CORNER
alignment: CENTER
elements:
- item: default:bench
@@ -41,17 +39,17 @@ items:
- 0,0,-0.1 0
- 1,0,-0.1 0
loot:
template: "default:loot_table/furniture"
template: default:loot_table/furniture
arguments:
item: default:bench
default:table_lamp:
material: nether_brick
custom-model-data: 2001
data:
item-name: "<!i><i18n:item.table_lamp>"
item-name: <!i><i18n:item.table_lamp>
model:
type: "minecraft:model"
path: "minecraft:item/custom/table_lamp"
type: minecraft:model
path: minecraft:item/custom/table_lamp
behavior:
type: furniture_item
furniture:
@@ -92,17 +90,17 @@ items:
height: 0.4
interactive: true
loot:
template: "default:loot_table/furniture"
template: default:loot_table/furniture
arguments:
item: default:table_lamp
default:wooden_chair:
material: nether_brick
custom-model-data: 2002
data:
item-name: "<!i><i18n:item.wooden_chair>"
item-name: <!i><i18n:item.wooden_chair>
model:
type: "minecraft:model"
path: "minecraft:item/custom/wooden_chair"
type: minecraft:model
path: minecraft:item/custom/wooden_chair
behavior:
type: furniture_item
furniture:
@@ -132,6 +130,6 @@ items:
seats:
- 0,0,-0.1 0
loot:
template: "default:loot_table/furniture"
template: default:loot_table/furniture
arguments:
item: default:wooden_chair

View File

@@ -1,97 +1,99 @@
i18n:
en:
item.chinese_lantern: "Chinese Lantern"
item.fairy_flower: "Fairy Flower"
item.reed: "Reed"
item.flame_cane: "Flame Cane"
item.ender_pearl_flower_seeds: "Ender Pearl Flower Seeds"
item.bench: "Bench"
item.table_lamp: "Table Lamp"
item.wooden_chair: "Wooden Chair"
item.topaz_rod: "Topaz Rod"
item.topaz_bow: "Topaz Bow"
item.topaz_crossbow: "Topaz Crossbow"
item.topaz_pickaxe: "Topaz Pickaxe"
item.topaz_axe: "Topaz Axe"
item.topaz_hoe: "Topaz Hoe"
item.topaz_shovel: "Topaz Shovel"
item.topaz_sword: "Topaz Sword"
item.topaz_helmet: "Topaz Helmet"
item.topaz_chestplate: "Topaz Chestplate"
item.topaz_leggings: "Topaz Leggings"
item.topaz_boots: "Topaz Boots"
item.topaz_trident: "Topaz Trident"
item.topaz_ore: "Topaz Ore"
item.deepslate_topaz_ore: "Deepslate Topaz Ore"
item.topaz: "Topaz"
item.palm_log: "Palm Log"
item.stripped_palm_log: "Stripped Palm Log"
item.palm_wood: "Palm Wood"
item.stripped_palm_wood: "Stripped Palm Wood"
item.palm_planks: "Palm Planks"
item.palm_sapling: "Palm Sapling"
item.palm_leaves: "Palm Leaves"
item.palm_trapdoor: "Palm Trapdoor"
item.netherite_anvil: "Netherite Anvil"
item.gunpowder_block: "GunPowder Block"
item.solid_gunpowder_block: "Solid GunPowder Block"
item.copper_coil: "Copper Coil"
item.flame_elytra: "Flame Elytra"
item.cap: "Cap"
category.default.name: "Default Assets"
category.default.lore: "Contains the default configuration of CraftEngine"
category.palm_tree: "Palm Tree"
category.topaz: "Topaz"
category.furniture: "Furniture"
category.misc: "Misc"
emoji.tip: "Use <yellow>'<arg:keyword>'</yellow> to send the '<arg:emoji>' emoji"
emoji.time: "<bold>Current time: <papi:player_world_time_12></bold>"
emoji.location: "<bold>Current coordinates: <papi:player_x>,<papi:player_y>,<papi:player_z></bold>"
item.chinese_lantern: Chinese Lantern
item.fairy_flower: Fairy Flower
item.reed: Reed
item.flame_cane: Flame Cane
item.ender_pearl_flower_seeds: Ender Pearl Flower Seeds
item.bench: Bench
item.table_lamp: Table Lamp
item.wooden_chair: Wooden Chair
item.topaz_rod: Topaz Rod
item.topaz_bow: Topaz Bow
item.topaz_crossbow: Topaz Crossbow
item.topaz_pickaxe: Topaz Pickaxe
item.topaz_axe: Topaz Axe
item.topaz_hoe: Topaz Hoe
item.topaz_shovel: Topaz Shovel
item.topaz_sword: Topaz Sword
item.topaz_helmet: Topaz Helmet
item.topaz_chestplate: Topaz Chestplate
item.topaz_leggings: Topaz Leggings
item.topaz_boots: Topaz Boots
item.topaz_trident: Topaz Trident
item.topaz_ore: Topaz Ore
item.deepslate_topaz_ore: Deepslate Topaz Ore
item.topaz: Topaz
item.palm_log: Palm Log
item.stripped_palm_log: Stripped Palm Log
item.palm_wood: Palm Wood
item.stripped_palm_wood: Stripped Palm Wood
item.palm_planks: Palm Planks
item.palm_sapling: Palm Sapling
item.palm_leaves: Palm Leaves
item.palm_trapdoor: Palm Trapdoor
item.palm_door: Palm Door
item.netherite_anvil: Netherite Anvil
item.gunpowder_block: GunPowder Block
item.solid_gunpowder_block: Solid GunPowder Block
item.copper_coil: Copper Coil
item.flame_elytra: Flame Elytra
item.cap: Cap
category.default.name: Default Assets
category.default.lore: Contains the default configuration of CraftEngine
category.palm_tree: Palm Tree
category.topaz: Topaz
category.furniture: Furniture
category.misc: Misc
emoji.tip: Use <yellow>'<arg:keyword>'</yellow> to send the '<arg:emoji>' emoji
emoji.time: '<bold>Current time: <papi:player_world_time_12></bold>'
emoji.location: '<bold>Current coordinates: <papi:player_x>,<papi:player_y>,<papi:player_z></bold>'
zh_cn:
item.chinese_lantern: "灯笼"
item.fairy_flower: "仙灵花"
item.reed: "芦苇"
item.flame_cane: "烈焰甘蔗"
item.ender_pearl_flower_seeds: "末影珍珠花种子"
item.bench: "长椅"
item.table_lamp: "台灯"
item.wooden_chair: "木椅"
item.topaz_rod: "黄玉钓竿"
item.topaz_bow: "黄玉弓"
item.topaz_crossbow: "黄玉弩"
item.topaz_pickaxe: "黄玉镐"
item.topaz_axe: "黄玉斧"
item.topaz_hoe: "黄玉锄"
item.topaz_shovel: "黄玉锹"
item.topaz_sword: "黄玉剑"
item.topaz_helmet: "黄玉头盔"
item.topaz_chestplate: "黄玉胸甲"
item.topaz_leggings: "黄玉护腿"
item.topaz_boots: "黄玉靴子"
item.topaz_trident: "黄玉三叉戟"
item.topaz_ore: "黄玉矿石"
item.deepslate_topaz_ore: "深层黄玉矿石"
item.topaz: "黄玉"
item.palm_log: "棕榈原木"
item.stripped_palm_log: "去皮棕榈原木"
item.palm_wood: "棕榈木"
item.stripped_palm_wood: "去皮棕榈木"
item.palm_planks: "棕榈木板"
item.palm_sapling: "棕榈树苗"
item.palm_leaves: "棕榈树叶"
item.palm_trapdoor: "棕榈活板门"
item.netherite_anvil: "下界合金砧"
item.gunpowder_block: "火药粉末"
item.solid_gunpowder_block: "凝固火药块"
item.copper_coil: "铜线圈"
item.flame_elytra: "烈焰鞘翅"
item.cap: "鸭舌帽"
category.default.name: "默认资产"
category.default.lore: "包含了CraftEngine的默认配置"
category.palm_tree: "棕榈树"
category.topaz: "黄玉"
category.furniture: "家具"
category.misc: "杂项"
emoji.tip: "使用<yellow>'<arg:keyword>'</yellow>来发送表情'<arg:emoji>'"
emoji.time: "<bold>当前时间: <papi:player_world_time_12></bold>"
emoji.location: "<bold>当前坐标: <papi:player_x>,<papi:player_y>,<papi:player_z></bold>"
item.chinese_lantern: 灯笼
item.fairy_flower: 仙灵花
item.reed: 芦苇
item.flame_cane: 烈焰甘蔗
item.ender_pearl_flower_seeds: 末影珍珠花种子
item.bench: 长椅
item.table_lamp: 台灯
item.wooden_chair: 木椅
item.topaz_rod: 黄玉钓竿
item.topaz_bow: 黄玉弓
item.topaz_crossbow: 黄玉弩
item.topaz_pickaxe: 黄玉镐
item.topaz_axe: 黄玉斧
item.topaz_hoe: 黄玉锄
item.topaz_shovel: 黄玉锹
item.topaz_sword: 黄玉剑
item.topaz_helmet: 黄玉头盔
item.topaz_chestplate: 黄玉胸甲
item.topaz_leggings: 黄玉护腿
item.topaz_boots: 黄玉靴子
item.topaz_trident: 黄玉三叉戟
item.topaz_ore: 黄玉矿石
item.deepslate_topaz_ore: 深层黄玉矿石
item.topaz: 黄玉
item.palm_log: 棕榈原木
item.stripped_palm_log: 去皮棕榈原木
item.palm_wood: 棕榈木
item.stripped_palm_wood: 去皮棕榈木
item.palm_planks: 棕榈木板
item.palm_sapling: 棕榈树苗
item.palm_leaves: 棕榈树叶
item.palm_trapdoor: 棕榈活板门
item.palm_door: 棕榈木门
item.netherite_anvil: 下界合金砧
item.gunpowder_block: 火药粉末
item.solid_gunpowder_block: 凝固火药块
item.copper_coil: 铜线圈
item.flame_elytra: 烈焰鞘翅
item.cap: 鸭舌帽
category.default.name: 默认资产
category.default.lore: 包含了CraftEngine的默认配置
category.palm_tree: 棕榈树
category.topaz: 黄玉
category.furniture: 家具
category.misc: 杂项
emoji.tip: 使用<yellow>'<arg:keyword>'</yellow>来发送表情'<arg:emoji>'
emoji.time: '<bold>当前时间: <papi:player_world_time_12></bold>'
emoji.location: '<bold>当前坐标: <papi:player_x>,<papi:player_y>,<papi:player_z></bold>'

View File

@@ -5,5 +5,5 @@ images:
font: minecraft:icons
file: minecraft:font/image/icons.png
chars:
- '\ub000\ub001'
- '\ub002\ub003'
- \ub000\ub001
- \ub002\ub003

View File

@@ -37,9 +37,9 @@ items#topaz_gears:
custom-model-data: 1000
settings:
tags:
- "default:topaz_tools"
- default:topaz_tools
data:
item-name: "<!i><#FF8C00><i18n:item.topaz_rod>"
item-name: <!i><#FF8C00><i18n:item.topaz_rod>
tooltip-style: minecraft:topaz
model:
template: default:model/simplified_fishing_rod_2d
@@ -51,9 +51,9 @@ items#topaz_gears:
custom-model-data: 1000
settings:
tags:
- "default:topaz_tools"
- default:topaz_tools
data:
item-name: "<!i><#FF8C00><i18n:item.topaz_bow>"
item-name: <!i><#FF8C00><i18n:item.topaz_bow>
tooltip-style: minecraft:topaz
model:
template: default:model/simplified_bow_2d
@@ -67,9 +67,9 @@ items#topaz_gears:
custom-model-data: 1000
settings:
tags:
- "default:topaz_tools"
- default:topaz_tools
data:
item-name: "<!i><#FF8C00><i18n:item.topaz_crossbow>"
item-name: <!i><#FF8C00><i18n:item.topaz_crossbow>
tooltip-style: minecraft:topaz
model:
template: default:model/simplified_crossbow_2d
@@ -85,76 +85,76 @@ items#topaz_gears:
custom-model-data: 1000
settings:
tags:
- "default:topaz_tools"
- default:topaz_tools
data:
item-name: "<!i><#FF8C00><i18n:item.topaz_pickaxe>"
item-name: <!i><#FF8C00><i18n:item.topaz_pickaxe>
tooltip-style: minecraft:topaz
components:
minecraft:max_damage: 64
model:
template: default:model/simplified_handheld
arguments:
path: "minecraft:item/custom/topaz_pickaxe"
path: minecraft:item/custom/topaz_pickaxe
default:topaz_axe:
material: golden_axe
custom-model-data: 1000
settings:
tags:
- "default:topaz_tools"
- default:topaz_tools
data:
item-name: "<!i><#FF8C00><i18n:item.topaz_axe>"
item-name: <!i><#FF8C00><i18n:item.topaz_axe>
tooltip-style: minecraft:topaz
components:
minecraft:max_damage: 64
model:
template: default:model/simplified_handheld
arguments:
path: "minecraft:item/custom/topaz_axe"
path: minecraft:item/custom/topaz_axe
default:topaz_hoe:
material: golden_hoe
custom-model-data: 1000
settings:
tags:
- "default:topaz_tools"
- default:topaz_tools
data:
item-name: "<!i><#FF8C00><i18n:item.topaz_hoe>"
item-name: <!i><#FF8C00><i18n:item.topaz_hoe>
tooltip-style: minecraft:topaz
components:
minecraft:max_damage: 64
model:
template: default:model/simplified_handheld
arguments:
path: "minecraft:item/custom/topaz_hoe"
path: minecraft:item/custom/topaz_hoe
default:topaz_shovel:
material: golden_shovel
custom-model-data: 1000
settings:
tags:
- "default:topaz_tools"
- default:topaz_tools
data:
item-name: "<!i><#FF8C00><i18n:item.topaz_shovel>"
item-name: <!i><#FF8C00><i18n:item.topaz_shovel>
tooltip-style: minecraft:topaz
components:
minecraft:max_damage: 64
model:
template: default:model/simplified_handheld
arguments:
path: "minecraft:item/custom/topaz_shovel"
path: minecraft:item/custom/topaz_shovel
default:topaz_sword:
material: golden_sword
custom-model-data: 1000
settings:
tags:
- "default:topaz_tools"
- default:topaz_tools
data:
item-name: "<!i><#FF8C00><i18n:item.topaz_sword>"
item-name: <!i><#FF8C00><i18n:item.topaz_sword>
tooltip-style: minecraft:topaz
components:
minecraft:max_damage: 64
model:
template: default:model/simplified_handheld
arguments:
path: "minecraft:item/custom/topaz_sword"
path: minecraft:item/custom/topaz_sword
default:topaz_helmet:
template: default:armor/topaz
arguments:
@@ -186,15 +186,18 @@ items#topaz_gears:
display-transform: NONE
scale: 0.5
tags:
- "default:topaz_tools"
- default:topaz_tools
data:
item-name: "<!i><#FF8C00><i18n:item.topaz_trident>"
item-name: <!i><#FF8C00><i18n:item.topaz_trident>
tooltip-style: minecraft:topaz
model:
type: minecraft:select
property: minecraft:display_context
cases:
- when: ["gui", "ground", "fixed"]
- when:
- gui
- ground
- fixed
model:
type: minecraft:model
path: minecraft:item/custom/topaz_trident
@@ -220,18 +223,18 @@ items#topaz_gears:
asset-id: flame
wings: flame_elytra
data:
item-name: "<!i><#FF8C00><i18n:item.flame_elytra>"
item-name: <!i><#FF8C00><i18n:item.flame_elytra>
model:
template: default:model/simplified_elytra
arguments:
path: "minecraft:item/custom/flame_elytra"
broken_path: "minecraft:item/custom/broken_flame_elytra"
path: minecraft:item/custom/flame_elytra
broken_path: minecraft:item/custom/broken_flame_elytra
default:cap:
material: leather_helmet
client-bound-material: leather_horse_armor
custom-model-data: 1000
data:
item-name: "<!i><white><i18n:item.cap>"
item-name: <!i><white><i18n:item.cap>
unbreakable: true
remove-components:
- attribute_modifiers
@@ -241,233 +244,231 @@ items#topaz_gears:
tints:
- type: minecraft:dye
default: -6265536
templates:
default:armor/topaz:
material: "chainmail_${part}"
material: chainmail_${part}
custom-model-data: 1000
data:
item-name: "<!i><#FF8C00><i18n:item.topaz_${part}>"
item-name: <!i><#FF8C00><i18n:item.topaz_${part}>
tooltip-style: minecraft:topaz
settings:
tags:
- "default:topaz_tools"
- default:topaz_tools
equippable:
slot: "${slot}"
slot: ${slot}
asset-id: topaz
humanoid: "minecraft:topaz"
humanoid-leggings: "minecraft:topaz"
humanoid: minecraft:topaz
humanoid-leggings: minecraft:topaz
model:
type: minecraft:select
property: minecraft:trim_material
fallback:
type: minecraft:model
path: "minecraft:item/custom/topaz_${part}"
path: minecraft:item/custom/topaz_${part}
generation:
parent: "minecraft:item/generated"
parent: minecraft:item/generated
textures:
"layer0": "minecraft:item/custom/topaz_${part}"
layer0: minecraft:item/custom/topaz_${part}
cases:
- when: minecraft:quartz
model:
type: minecraft:model
path: "minecraft:item/custom/topaz_${part}_quartz_trim"
path: minecraft:item/custom/topaz_${part}_quartz_trim
generation:
parent: "minecraft:item/generated"
parent: minecraft:item/generated
textures:
"layer0": "minecraft:item/custom/topaz_${part}"
"layer1": "minecraft:trims/items/${part}_trim_quartz"
layer0: minecraft:item/custom/topaz_${part}
layer1: minecraft:trims/items/${part}_trim_quartz
- when: minecraft:iron
model:
type: minecraft:model
path: "minecraft:item/custom/topaz_${part}_iron_trim"
path: minecraft:item/custom/topaz_${part}_iron_trim
generation:
parent: "minecraft:item/generated"
parent: minecraft:item/generated
textures:
"layer0": "minecraft:item/custom/topaz_${part}"
"layer1": "minecraft:trims/items/${part}_trim_iron"
layer0: minecraft:item/custom/topaz_${part}
layer1: minecraft:trims/items/${part}_trim_iron
- when: minecraft:netherite
model:
type: minecraft:model
path: "minecraft:item/custom/topaz_${part}_netherite_trim"
path: minecraft:item/custom/topaz_${part}_netherite_trim
generation:
parent: "minecraft:item/generated"
parent: minecraft:item/generated
textures:
"layer0": "minecraft:item/custom/topaz_${part}"
"layer1": "minecraft:trims/items/${part}_trim_netherite"
layer0: minecraft:item/custom/topaz_${part}
layer1: minecraft:trims/items/${part}_trim_netherite
- when: minecraft:redstone
model:
type: minecraft:model
path: "minecraft:item/custom/topaz_${part}_redstone_trim"
path: minecraft:item/custom/topaz_${part}_redstone_trim
generation:
parent: "minecraft:item/generated"
parent: minecraft:item/generated
textures:
"layer0": "minecraft:item/custom/topaz_${part}"
"layer1": "minecraft:trims/items/${part}_trim_redstone"
layer0: minecraft:item/custom/topaz_${part}
layer1: minecraft:trims/items/${part}_trim_redstone
- when: minecraft:copper
model:
type: minecraft:model
path: "minecraft:item/custom/topaz_${part}_copper_trim"
path: minecraft:item/custom/topaz_${part}_copper_trim
generation:
parent: "minecraft:item/generated"
parent: minecraft:item/generated
textures:
"layer0": "minecraft:item/custom/topaz_${part}"
"layer1": "minecraft:trims/items/${part}_trim_copper"
layer0: minecraft:item/custom/topaz_${part}
layer1: minecraft:trims/items/${part}_trim_copper
- when: minecraft:gold
model:
type: minecraft:model
path: "minecraft:item/custom/topaz_${part}_gold_trim"
path: minecraft:item/custom/topaz_${part}_gold_trim
generation:
parent: "minecraft:item/generated"
parent: minecraft:item/generated
textures:
"layer0": "minecraft:item/custom/topaz_${part}"
"layer1": "minecraft:trims/items/${part}_trim_gold"
layer0: minecraft:item/custom/topaz_${part}
layer1: minecraft:trims/items/${part}_trim_gold
- when: minecraft:emerald
model:
type: minecraft:model
path: "minecraft:item/custom/topaz_${part}_emerald_trim"
path: minecraft:item/custom/topaz_${part}_emerald_trim
generation:
parent: "minecraft:item/generated"
parent: minecraft:item/generated
textures:
"layer0": "minecraft:item/custom/topaz_${part}"
"layer1": "minecraft:trims/items/${part}_trim_emerald"
layer0: minecraft:item/custom/topaz_${part}
layer1: minecraft:trims/items/${part}_trim_emerald
- when: minecraft:diamond
model:
type: minecraft:model
path: "minecraft:item/custom/topaz_${part}_diamond_trim"
path: minecraft:item/custom/topaz_${part}_diamond_trim
generation:
parent: "minecraft:item/generated"
parent: minecraft:item/generated
textures:
"layer0": "minecraft:item/custom/topaz_${part}"
"layer1": "minecraft:trims/items/${part}_trim_diamond"
layer0: minecraft:item/custom/topaz_${part}
layer1: minecraft:trims/items/${part}_trim_diamond
- when: minecraft:lapis
model:
type: minecraft:model
path: "minecraft:item/custom/topaz_${part}_lapis_trim"
path: minecraft:item/custom/topaz_${part}_lapis_trim
generation:
parent: "minecraft:item/generated"
parent: minecraft:item/generated
textures:
"layer0": "minecraft:item/custom/topaz_${part}"
"layer1": "minecraft:trims/items/${part}_trim_lapis"
layer0: minecraft:item/custom/topaz_${part}
layer1: minecraft:trims/items/${part}_trim_lapis
- when: minecraft:amethyst
model:
type: minecraft:model
path: "minecraft:item/custom/topaz_${part}_amethyst_trim"
path: minecraft:item/custom/topaz_${part}_amethyst_trim
generation:
parent: "minecraft:item/generated"
parent: minecraft:item/generated
textures:
"layer0": "minecraft:item/custom/topaz_${part}"
"layer1": "minecraft:trims/items/${part}_trim_amethyst"
layer0: minecraft:item/custom/topaz_${part}
layer1: minecraft:trims/items/${part}_trim_amethyst
- when: minecraft:resin
model:
type: minecraft:model
path: "minecraft:item/custom/topaz_${part}_resin_trim"
path: minecraft:item/custom/topaz_${part}_resin_trim
generation:
parent: "minecraft:item/generated"
parent: minecraft:item/generated
textures:
"layer0": "minecraft:item/custom/topaz_${part}"
"layer1": "minecraft:trims/items/${part}_trim_resin"
recipes#11:
layer0: minecraft:item/custom/topaz_${part}
layer1: minecraft:trims/items/${part}_trim_resin
recipes#topaz_gears:
default:topaz_shovel:
type: shaped
pattern:
- "A"
- "B"
- "B"
- A
- B
- B
ingredients:
A: "default:topaz"
B: "minecraft:stick"
A: default:topaz
B: minecraft:stick
result:
id: default:topaz_shovel
count: 1
default:topaz_axe:
type: shaped
pattern:
- "AA"
- "AB"
- " B"
- 'AA'
- 'AB'
- ' B'
ingredients:
A: "default:topaz"
B: "minecraft:stick"
A: default:topaz
B: minecraft:stick
result:
id: default:topaz_axe
count: 1
default:topaz_sword:
type: shaped
pattern:
- "A"
- "A"
- "B"
- A
- A
- B
ingredients:
A: "default:topaz"
B: "minecraft:stick"
A: default:topaz
B: minecraft:stick
result:
id: default:topaz_sword
count: 1
default:topaz_hoe:
type: shaped
pattern:
- "AA"
- " B"
- " B"
- 'AA'
- ' B'
- ' B'
ingredients:
A: "default:topaz"
B: "minecraft:stick"
A: default:topaz
B: minecraft:stick
result:
id: default:topaz_hoe
count: 1
default:topaz_pickaxe:
type: shaped
pattern:
- "AAA"
- " B "
- " B "
- 'AAA'
- ' B '
- ' B '
ingredients:
A: "default:topaz"
B: "minecraft:stick"
A: default:topaz
B: minecraft:stick
result:
id: default:topaz_pickaxe
count: 1
default:topaz_helmet:
type: shaped
pattern:
- "AAA"
- "A A"
- AAA
- A A
ingredients:
A: "default:topaz"
A: default:topaz
result:
id: default:topaz_helmet
count: 1
default:topaz_chestplate:
type: shaped
pattern:
- "A A"
- "AAA"
- "AAA"
- A A
- AAA
- AAA
ingredients:
A: "default:topaz"
A: default:topaz
result:
id: default:topaz_chestplate
count: 1
default:topaz_leggings:
type: shaped
pattern:
- "AAA"
- "A A"
- "A A"
- AAA
- A A
- A A
ingredients:
A: "default:topaz"
A: default:topaz
result:
id: default:topaz_leggings
count: 1
default:topaz_boots:
type: shaped
pattern:
- "A A"
- "A A"
- A A
- A A
ingredients:
A: "default:topaz"
A: default:topaz
result:
id: default:topaz_boots
count: 1

View File

@@ -3,12 +3,12 @@ items:
material: nether_brick
custom-model-data: 1010
data:
item-name: "<!i><i18n:item.topaz_ore>"
item-name: <!i><i18n:item.topaz_ore>
model:
type: "minecraft:model"
path: "minecraft:item/custom/topaz_ore"
type: minecraft:model
path: minecraft:item/custom/topaz_ore
generation:
parent: "minecraft:block/custom/topaz_ore"
parent: minecraft:block/custom/topaz_ore
behavior:
type: block_item
block: default:topaz_ore
@@ -16,12 +16,12 @@ items:
material: nether_brick
custom-model-data: 1011
data:
item-name: "<!i><i18n:item.deepslate_topaz_ore>"
item-name: <!i><i18n:item.deepslate_topaz_ore>
model:
type: "minecraft:model"
path: "minecraft:item/custom/deepslate_topaz_ore"
type: minecraft:model
path: minecraft:item/custom/deepslate_topaz_ore
generation:
parent: "minecraft:block/custom/deepslate_topaz_ore"
parent: minecraft:block/custom/deepslate_topaz_ore
behavior:
type: block_item
block: default:deepslate_topaz_ore
@@ -31,77 +31,75 @@ items:
settings:
anvil-repair-item:
- target:
- "#default:topaz_tools"
- '#default:topaz_tools'
percent: 0.25
data:
item-name: "<!i><#FF8C00><i18n:item.topaz>"
item-name: <!i><#FF8C00><i18n:item.topaz>
model:
template: "default:model/simplified_generated"
template: default:model/simplified_generated
arguments:
path: "minecraft:item/custom/topaz"
path: minecraft:item/custom/topaz
blocks:
default:topaz_ore:
loot:
template: "default:loot_table/ore"
template: default:loot_table/ore
arguments:
ore_drop: default:topaz
ore_block: default:topaz_ore
min_exp: 3
max_exp: 7
settings:
template: "default:settings/ore"
template: default:settings/ore
arguments:
break_power: 2
state:
id: 13
state: note_block:13
model:
template: "default:model/simplified_cube_all"
template: default:model/simplified_cube_all
arguments:
path: "minecraft:block/custom/topaz_ore"
path: minecraft:block/custom/topaz_ore
default:deepslate_topaz_ore:
loot:
template: "default:loot_table/ore"
template: default:loot_table/ore
arguments:
ore_drop: default:topaz
ore_block: default:deepslate_topaz_ore
min_exp: 3
max_exp: 7
settings:
template: "default:settings/deepslate_ore"
template: default:settings/deepslate_ore
arguments:
break_power: 2
state:
id: 14
state: note_block:14
model:
template: "default:model/simplified_cube_all"
template: default:model/simplified_cube_all
arguments:
path: "minecraft:block/custom/deepslate_topaz_ore"
path: minecraft:block/custom/deepslate_topaz_ore
recipes:
default:topaz_from_smelting_topaz_ore:
template: default:recipe/smelting_ore
arguments:
exp: 1.0
ingredient: "default:topaz_ore"
result: "default:topaz"
ingredient: default:topaz_ore
result: default:topaz
default:topaz_from_smelting_deepslate_topaz_ore:
template: default:recipe/smelting_ore
arguments:
exp: 1.0
ingredient: "default:deepslate_topaz_ore"
result: "default:topaz"
ingredient: default:deepslate_topaz_ore
result: default:topaz
default:topaz_from_blasting_topaz_ore:
template: default:recipe/blasting_ore
arguments:
exp: 1.0
ingredient: "default:topaz_ore"
result: "default:topaz"
ingredient: default:topaz_ore
result: default:topaz
default:topaz_from_blasting_deepslate_topaz_ore:
template: default:recipe/blasting_ore
arguments:
exp: 1.0
ingredient: "default:deepslate_topaz_ore"
result: "default:topaz"
ingredient: default:deepslate_topaz_ore
result: default:topaz

View File

@@ -5,16 +5,16 @@ items:
settings:
fuel-time: 300
tags:
- "default:palm_logs"
- "minecraft:logs"
- "minecraft:logs_that_burn"
- default:palm_logs
- minecraft:logs
- minecraft:logs_that_burn
data:
item-name: "<!i><i18n:item.palm_log>"
item-name: <!i><i18n:item.palm_log>
model:
type: "minecraft:model"
path: "minecraft:item/custom/palm_log"
type: minecraft:model
path: minecraft:item/custom/palm_log
generation:
parent: "minecraft:block/custom/palm_log"
parent: minecraft:block/custom/palm_log
behavior:
type: block_item
block:
@@ -22,11 +22,11 @@ items:
type: strippable_block
stripped: default:stripped_palm_log
loot:
template: "default:loot_table/self"
template: default:loot_table/self
settings:
template: "default:settings/wood"
template: default:settings/wood
states:
template: "default:block_state/pillar"
template: default:block_state/pillar
arguments:
base_block: note_block
texture_top_path: minecraft:block/custom/palm_log_top
@@ -47,25 +47,25 @@ items:
settings:
fuel-time: 300
tags:
- "default:palm_logs"
- "minecraft:logs"
- "minecraft:logs_that_burn"
- default:palm_logs
- minecraft:logs
- minecraft:logs_that_burn
data:
item-name: "<!i><i18n:item.stripped_palm_log>"
item-name: <!i><i18n:item.stripped_palm_log>
model:
type: "minecraft:model"
path: "minecraft:item/custom/stripped_palm_log"
type: minecraft:model
path: minecraft:item/custom/stripped_palm_log
generation:
parent: "minecraft:block/custom/stripped_palm_log"
parent: minecraft:block/custom/stripped_palm_log
behavior:
type: block_item
block:
loot:
template: "default:loot_table/self"
template: default:loot_table/self
settings:
template: "default:settings/wood"
template: default:settings/wood
states:
template: "default:block_state/pillar"
template: default:block_state/pillar
arguments:
base_block: note_block
texture_top_path: minecraft:block/custom/stripped_palm_log_top
@@ -86,16 +86,16 @@ items:
settings:
fuel-time: 300
tags:
- "default:palm_logs"
- "minecraft:logs"
- "minecraft:logs_that_burn"
- default:palm_logs
- minecraft:logs
- minecraft:logs_that_burn
data:
item-name: "<!i><i18n:item.palm_wood>"
item-name: <!i><i18n:item.palm_wood>
model:
type: "minecraft:model"
path: "minecraft:item/custom/palm_wood"
type: minecraft:model
path: minecraft:item/custom/palm_wood
generation:
parent: "minecraft:block/custom/palm_wood"
parent: minecraft:block/custom/palm_wood
behavior:
type: block_item
block:
@@ -103,11 +103,11 @@ items:
type: strippable_block
stripped: default:stripped_palm_wood
loot:
template: "default:loot_table/self"
template: default:loot_table/self
settings:
template: "default:settings/wood"
template: default:settings/wood
states:
template: "default:block_state/pillar"
template: default:block_state/pillar
arguments:
base_block: note_block
texture_top_path: minecraft:block/custom/palm_log
@@ -128,25 +128,25 @@ items:
settings:
fuel-time: 300
tags:
- "default:palm_logs"
- "minecraft:logs"
- "minecraft:logs_that_burn"
- default:palm_logs
- minecraft:logs
- minecraft:logs_that_burn
data:
item-name: "<!i><i18n:item.stripped_palm_wood>"
item-name: <!i><i18n:item.stripped_palm_wood>
model:
type: "minecraft:model"
path: "minecraft:item/custom/stripped_palm_wood"
type: minecraft:model
path: minecraft:item/custom/stripped_palm_wood
generation:
parent: "minecraft:block/custom/stripped_palm_wood"
parent: minecraft:block/custom/stripped_palm_wood
behavior:
type: block_item
block:
loot:
template: "default:loot_table/self"
template: default:loot_table/self
settings:
template: "default:settings/wood"
template: default:settings/wood
states:
template: "default:block_state/pillar"
template: default:block_state/pillar
arguments:
base_block: note_block
texture_top_path: minecraft:block/custom/stripped_palm_log
@@ -167,27 +167,27 @@ items:
settings:
fuel-time: 300
tags:
- "minecraft:planks"
- "minecraft:wooden_tool_materials"
- minecraft:planks
- minecraft:wooden_tool_materials
data:
item-name: "<!i><i18n:item.palm_planks>"
item-name: <!i><i18n:item.palm_planks>
model:
type: "minecraft:model"
path: "minecraft:item/custom/palm_planks"
type: minecraft:model
path: minecraft:item/custom/palm_planks
generation:
parent: "minecraft:block/custom/palm_planks"
parent: minecraft:block/custom/palm_planks
behavior:
type: block_item
block:
settings:
template: "default:settings/planks"
template: default:settings/planks
loot:
template: "default:loot_table/self"
template: default:loot_table/self
state:
model:
template: "default:model/simplified_cube_all"
template: default:model/simplified_cube_all
arguments:
path: "minecraft:block/custom/palm_planks"
path: minecraft:block/custom/palm_planks
id: 12
state: note_block:12
default:palm_sapling:
@@ -196,17 +196,17 @@ items:
settings:
fuel-time: 100
data:
item-name: "<!i><i18n:item.palm_sapling>"
item-name: <!i><i18n:item.palm_sapling>
model:
template: "default:model/generated"
template: default:model/generated
arguments:
model: "minecraft:item/custom/palm_sapling"
texture: "minecraft:block/custom/palm_sapling"
model: minecraft:item/custom/palm_sapling
texture: minecraft:block/custom/palm_sapling
behavior:
type: block_item
block:
settings:
template: "default:settings/sapling"
template: default:settings/sapling
behaviors:
- type: bush_block
bottom-block-tags:
@@ -214,12 +214,10 @@ items:
- minecraft:farmland
- minecraft:sand
- type: sapling_block
# This requires you to register a custom tree configuration with data pack
# To prevent errors, we use tree feature from vanilla here
feature: minecraft:fancy_oak
bone-meal-success-chance: 0.45
loot:
template: "default:loot_table/self"
template: default:loot_table/self
states:
properties:
stage:
@@ -230,36 +228,35 @@ items:
default:
state: oak_sapling:0
model:
path: "minecraft:block/custom/palm_sapling"
path: minecraft:block/custom/palm_sapling
generation:
parent: "minecraft:block/cross"
parent: minecraft:block/cross
textures:
"cross": "minecraft:block/custom/palm_sapling"
cross: minecraft:block/custom/palm_sapling
variants:
stage=0:
appearance: "default"
appearance: default
id: 0
stage=1:
appearance: "default"
appearance: default
id: 1
default:palm_leaves:
material: oak_leaves
custom-model-data: 1000
data:
item-name: "<!i><i18n:item.palm_leaves>"
# reduce visual issues
item-name: <!i><i18n:item.palm_leaves>
components:
minecraft:block_state:
distance: "1"
persistent: "false"
waterlogged: "false"
distance: '1'
persistent: 'false'
waterlogged: 'false'
model:
type: "minecraft:model"
path: "minecraft:item/custom/palm_leaves"
type: minecraft:model
path: minecraft:item/custom/palm_leaves
generation:
parent: "minecraft:block/custom/palm_leaves"
parent: minecraft:block/custom/palm_leaves
tints:
- type: "minecraft:constant"
- type: minecraft:constant
value: -12012264
behavior:
type: block_item
@@ -267,19 +264,19 @@ items:
behavior:
type: leaves_block
loot:
template: "default:loot_table/leaves"
template: default:loot_table/leaves
arguments:
leaves: default:palm_leaves
sapling: default:palm_sapling
settings:
template: "default:settings/leaves"
template: default:settings/leaves
states:
template: "default:block_state/leaves"
template: default:block_state/leaves
arguments:
default_state: oak_leaves[distance=1,persistent=false,waterlogged=false]
waterlogged_state: oak_leaves[distance=1,persistent=false,waterlogged=true]
model_path: "minecraft:block/custom/palm_leaves"
texture_path: "minecraft:block/custom/palm_leaves"
model_path: minecraft:block/custom/palm_leaves
texture_path: minecraft:block/custom/palm_leaves
internal_id:
type: self_increase_int
from: 0
@@ -288,12 +285,12 @@ items:
material: nether_brick
custom-model-data: 1006
data:
item-name: "<!i><i18n:item.palm_trapdoor>"
item-name: <!i><i18n:item.palm_trapdoor>
model:
type: "minecraft:model"
path: "minecraft:item/custom/palm_trapdoor"
type: minecraft:model
path: minecraft:item/custom/palm_trapdoor
generation:
parent: "minecraft:block/custom/palm_trapdoor_bottom"
parent: minecraft:block/custom/palm_trapdoor_bottom
behavior:
type: block_item
block:
@@ -305,7 +302,7 @@ items:
open: block.wooden_trapdoor.open
close: block.wooden_trapdoor.close
loot:
template: "default:loot_table/self"
template: default:loot_table/self
settings:
template:
- default:sound/wood
@@ -319,25 +316,24 @@ items:
- minecraft:mineable/axe
- minecraft:trapdoors
states:
template: "default:block_state/trapdoor"
template: default:block_state/trapdoor
arguments:
base_block: acacia_trapdoor
model_bottom_path: "minecraft:block/custom/palm_trapdoor_bottom"
model_bottom_path: minecraft:block/custom/palm_trapdoor_bottom
model_bottom_generation:
parent: "minecraft:block/template_orientable_trapdoor_bottom"
parent: minecraft:block/template_orientable_trapdoor_bottom
textures:
texture: "minecraft:block/custom/palm_trapdoor"
model_open_path: "minecraft:block/custom/palm_trapdoor_open"
texture: minecraft:block/custom/palm_trapdoor
model_open_path: minecraft:block/custom/palm_trapdoor_open
model_open_generation:
parent: "minecraft:block/template_orientable_trapdoor_open"
parent: minecraft:block/template_orientable_trapdoor_open
textures:
texture: "minecraft:block/custom/palm_trapdoor"
model_top_path: "minecraft:block/custom/palm_trapdoor_top"
texture: minecraft:block/custom/palm_trapdoor
model_top_path: minecraft:block/custom/palm_trapdoor_top
model_top_generation:
parent: "minecraft:block/template_orientable_trapdoor_top"
parent: minecraft:block/template_orientable_trapdoor_top
textures:
texture: "minecraft:block/custom/palm_trapdoor"
texture: minecraft:block/custom/palm_trapdoor
recipes:
default:palm_planks:
template: default:recipe/planks
@@ -350,4 +346,14 @@ recipes:
default:stripped_palm_wood:
template: default:recipe/log_2_wood
arguments:
wood_type: stripped_palm
wood_type: stripped_palm
default:palm_trapdoor:
type: shaped
pattern:
- AAA
- AAA
ingredients:
A: default:palm_planks
result:
id: default:palm_trapdoor
count: 2

View File

@@ -3,11 +3,11 @@ items:
material: nether_brick
custom-model-data: 4000
data:
item-name: "<!i><i18n:item.fairy_flower>"
item-name: <!i><i18n:item.fairy_flower>
model:
template: default:model/simplified_generated
arguments:
path: "minecraft:item/custom/fairy_flower"
path: minecraft:item/custom/fairy_flower
behavior:
type: block_item
block: default:fairy_flower
@@ -15,11 +15,11 @@ items:
material: nether_brick
custom-model-data: 4001
data:
item-name: "<!i><i18n:item.reed>"
item-name: <!i><i18n:item.reed>
model:
template: default:model/simplified_generated
arguments:
path: "minecraft:item/custom/reed"
path: minecraft:item/custom/reed
behavior:
type: liquid_collision_block_item
block: default:reed
@@ -27,11 +27,11 @@ items:
material: nether_brick
custom-model-data: 4002
data:
item-name: "<!i><i18n:item.flame_cane>"
item-name: <!i><i18n:item.flame_cane>
model:
template: default:model/simplified_generated
arguments:
path: "minecraft:item/custom/flame_cane"
path: minecraft:item/custom/flame_cane
behavior:
type: block_item
block: default:flame_cane
@@ -39,11 +39,11 @@ items:
material: nether_brick
custom-model-data: 4003
data:
item-name: "<!i><i18n:item.ender_pearl_flower_seeds>"
item-name: <!i><i18n:item.ender_pearl_flower_seeds>
model:
template: default:model/simplified_generated
arguments:
path: "minecraft:item/custom/ender_pearl_flower_seeds"
path: minecraft:item/custom/ender_pearl_flower_seeds
behavior:
type: block_item
block: default:ender_pearl_flower
@@ -63,31 +63,31 @@ blocks:
- minecraft:dirt
- minecraft:farmland
loot:
template: "default:loot_table/self"
template: default:loot_table/self
state:
id: 0
state: sugar_cane:0
models:
- path: "minecraft:block/custom/fairy_flower_1"
- path: minecraft:block/custom/fairy_flower_1
weight: 100
- path: "minecraft:block/custom/fairy_flower_2"
- path: minecraft:block/custom/fairy_flower_2
weight: 5
generation:
parent: "minecraft:block/custom/fairy_flower_1"
parent: minecraft:block/custom/fairy_flower_1
textures:
"0": "minecraft:block/custom/fairy_flower_2"
- path: "minecraft:block/custom/fairy_flower_3"
'0': minecraft:block/custom/fairy_flower_2
- path: minecraft:block/custom/fairy_flower_3
weight: 5
generation:
parent: "minecraft:block/custom/fairy_flower_1"
parent: minecraft:block/custom/fairy_flower_1
textures:
"0": "minecraft:block/custom/fairy_flower_3"
- path: "minecraft:block/custom/fairy_flower_4"
'0': minecraft:block/custom/fairy_flower_3
- path: minecraft:block/custom/fairy_flower_4
weight: 5
generation:
parent: "minecraft:block/custom/fairy_flower_1"
parent: minecraft:block/custom/fairy_flower_1
textures:
"0": "minecraft:block/custom/fairy_flower_4"
'0': minecraft:block/custom/fairy_flower_4
default:reed:
settings:
template:
@@ -102,12 +102,12 @@ blocks:
positions:
- 0,-1,0
loot:
template: "default:loot_table/self"
template: default:loot_table/self
state:
id: 1
state: sugar_cane:1
model:
path: "minecraft:block/custom/reed"
path: minecraft:block/custom/reed
default:flame_cane:
settings:
template:
@@ -143,7 +143,7 @@ blocks:
- 0,-1,-1
- 0,-1,1
loot:
template: "default:loot_table/self"
template: default:loot_table/self
states:
properties:
age:
@@ -152,20 +152,20 @@ blocks:
range: 0~5
appearances:
default:
state: "sugar_cane:2"
state: sugar_cane:2
models:
- path: "minecraft:block/custom/flame_cane_1"
- path: minecraft:block/custom/flame_cane_1
weight: 1
generation:
parent: "minecraft:block/sugar_cane"
parent: minecraft:block/sugar_cane
textures:
"cross": "minecraft:block/custom/flame_cane_1"
- path: "minecraft:block/custom/flame_cane_2"
cross: minecraft:block/custom/flame_cane_1
- path: minecraft:block/custom/flame_cane_2
weight: 1
generation:
parent: "minecraft:block/sugar_cane"
parent: minecraft:block/sugar_cane
textures:
"cross": "minecraft:block/custom/flame_cane_2"
cross: minecraft:block/custom/flame_cane_2
variants:
age=0:
appearance: default
@@ -211,17 +211,17 @@ blocks:
crop_seed: default:ender_pearl_flower_seeds
ripe_age: 2
events:
- on: break
- true: break
conditions:
- type: match_block_property
properties:
age: 2
functions:
- type: particle
x: "<arg:block.block_x> + 0.5"
y: "<arg:block.block_y> + 0.5"
z: "<arg:block.block_z> + 0.5"
particle: "minecraft:end_rod"
x: <arg:block.block_x> + 0.5
y: <arg:block.block_y> + 0.5
z: <arg:block.block_z> + 0.5
particle: minecraft:end_rod
count: 15
offset-x: 0.05
offset-y: 0.05
@@ -229,28 +229,28 @@ blocks:
speed: 0.1
- type: play_sound
sound: minecraft:entity.enderman.teleport
x: "<arg:block.block_x> + 0.5"
y: "<arg:block.block_y> + 0.5"
z: "<arg:block.block_z> + 0.5"
- on: right_click
x: <arg:block.block_x> + 0.5
y: <arg:block.block_y> + 0.5
z: <arg:block.block_z> + 0.5
- true: right_click
conditions:
- type: match_block_property
properties:
age: 2
- type: "!is_null"
argument: "item_in_hand"
- type: "equals"
value1: "<arg:item_in_hand.id>"
value2: "default:ender_pearl_flower_seeds"
- type: '!is_null'
argument: item_in_hand
- type: equals
value1: <arg:item_in_hand.id>
value2: default:ender_pearl_flower_seeds
functions:
- type: break_block
x: "<arg:block.block_x>"
y: "<arg:block.block_y>"
z: "<arg:block.block_z>"
x: <arg:block.block_x>
y: <arg:block.block_y>
z: <arg:block.block_z>
- type: place_block
x: "<arg:block.block_x>"
y: "<arg:block.block_y>"
z: "<arg:block.block_z>"
x: <arg:block.block_x>
y: <arg:block.block_y>
z: <arg:block.block_z>
block-state: default:ender_pearl_flower[age=0]
- type: set_count
add: true
@@ -264,29 +264,29 @@ blocks:
range: 0~2
appearances:
stage_0:
state: "tripwire:1"
state: tripwire:1
models:
- path: "minecraft:block/custom/ender_pearl_flower_stage_0"
- path: minecraft:block/custom/ender_pearl_flower_stage_0
generation:
parent: "minecraft:block/cross"
parent: minecraft:block/cross
textures:
"cross": "minecraft:block/custom/ender_pearl_flower_stage_0"
cross: minecraft:block/custom/ender_pearl_flower_stage_0
stage_1:
state: "tripwire:0"
state: tripwire:0
models:
- path: "minecraft:block/custom/ender_pearl_flower_stage_1"
- path: minecraft:block/custom/ender_pearl_flower_stage_1
generation:
parent: "minecraft:block/cross"
parent: minecraft:block/cross
textures:
"cross": "minecraft:block/custom/ender_pearl_flower_stage_1"
cross: minecraft:block/custom/ender_pearl_flower_stage_1
stage_2:
state: "sugar_cane:3"
state: sugar_cane:3
models:
- path: "minecraft:block/custom/ender_pearl_flower_stage_2"
- path: minecraft:block/custom/ender_pearl_flower_stage_2
generation:
parent: "minecraft:block/cross"
parent: minecraft:block/cross
textures:
"cross": "minecraft:block/custom/ender_pearl_flower_stage_2"
cross: minecraft:block/custom/ender_pearl_flower_stage_2
variants:
age=0:
appearance: stage_0
@@ -301,39 +301,38 @@ recipes:
default:paper_from_reed:
type: shaped
pattern:
- "AAA"
- AAA
ingredients:
A: "default:reed"
A: default:reed
result:
id: minecraft:paper
count: 3
default:magma_cream:
type: shaped
pattern:
- " A "
- "ABA"
- " A "
- ' A '
- ABA
- ' A '
ingredients:
A: "default:flame_cane"
B: "minecraft:slime_ball"
A: default:flame_cane
B: minecraft:slime_ball
result:
id: minecraft:magma_cream
count: 1
default:magma_block:
type: shapeless
ingredients:
A1: "minecraft:cobblestone"
A2: "minecraft:cobblestone"
B1: "default:flame_cane"
B2: "default:flame_cane"
A1: minecraft:cobblestone
A2: minecraft:cobblestone
B1: default:flame_cane
B2: default:flame_cane
result:
id: minecraft:magma_block
count: 2
vanilla-loots:
minecraft:ender_pearl_flower_seeds_from_endermite:
type: entity
target: "minecraft:endermite"
target: minecraft:endermite
override: false
loot:
pools:
@@ -348,4 +347,4 @@ vanilla-loots:
- 1
entries:
- type: item
item: "default:ender_pearl_flower_seeds"
item: default:ender_pearl_flower_seeds

View File

@@ -4,177 +4,175 @@ images:
ascent: 18
font: minecraft:gui
file: minecraft:font/gui/custom/item_browser.png
char: '\ub000'
char: \ub000
internal:category:
height: 140
ascent: 18
font: minecraft:gui
file: minecraft:font/gui/custom/category.png
char: '\ub001'
char: \ub001
internal:crafting_recipe:
height: 142
ascent: 20
font: minecraft:gui
file: minecraft:font/gui/custom/crafting_recipe.png
char: '\ub002'
char: \ub002
internal:cooking_recipe:
height: 138
ascent: 16
font: minecraft:gui
file: minecraft:font/gui/custom/cooking_recipe.png
char: '\ub003'
char: \ub003
internal:smelting:
height: 23
ascent: 20
font: minecraft:gui
file: minecraft:font/gui/custom/smelting.png
char: '\ub004'
char: \ub004
internal:smoking:
height: 23
ascent: 20
font: minecraft:gui
file: minecraft:font/gui/custom/smoking.png
char: '\ub005'
char: \ub005
internal:blasting:
height: 23
ascent: 20
font: minecraft:gui
file: minecraft:font/gui/custom/blasting.png
char: '\ub006'
char: \ub006
internal:campfire:
height: 23
ascent: 20
font: minecraft:gui
file: minecraft:font/gui/custom/campfire.png
char: '\ub007'
char: \ub007
internal:stonecutting_recipe:
height: 142
ascent: 20
font: minecraft:gui
file: minecraft:font/gui/custom/stonecutting_recipe.png
char: '\ub008'
char: \ub008
internal:smithing_transform_recipe:
height: 142
ascent: 20
font: minecraft:gui
file: minecraft:font/gui/custom/smithing_transform_recipe.png
char: '\ub009'
char: \ub009
internal:no_recipe:
height: 140
ascent: 18
font: minecraft:gui
file: minecraft:font/gui/custom/no_recipe.png
char: '\ub00a'
char: \ub00a
templates:
internal:icon/2d:
material: arrow
custom-model-data: "${model_data}"
custom-model-data: ${model_data}
data:
item-name: "${name}"
lore: "${lore}"
item-name: ${name}
lore: ${lore}
model:
template: "internal:model/simplified_generated"
template: internal:model/simplified_generated
arguments:
path: "minecraft:item/custom/gui/${texture}"
path: minecraft:item/custom/gui/${texture}
internal:model/simplified_generated:
type: "minecraft:model"
path: "${path}"
type: minecraft:model
path: ${path}
generation:
parent: "minecraft:item/generated"
parent: minecraft:item/generated
textures:
"layer0": "${path}"
layer0: ${path}
items:
internal:next_page_0:
template: "internal:icon/2d"
template: internal:icon/2d
arguments:
model_data: 1000
texture: next_page_0
name: "<!i><#FAFAD2><i18n:internal.next_page>"
name: <!i><#FAFAD2><i18n:internal.next_page>
lore:
- "<!i><#F5F5F5><arg:current_page>/<arg:max_page>"
- <!i><#F5F5F5><arg:current_page>/<arg:max_page>
internal:next_page_1:
template: "internal:icon/2d"
template: internal:icon/2d
arguments:
model_data: 1001
texture: next_page_1
name: "<!i><#808080><i18n:internal.next_page>"
name: <!i><#808080><i18n:internal.next_page>
lore:
- "<!i><#696969><arg:current_page>/<arg:max_page>"
- <!i><#696969><arg:current_page>/<arg:max_page>
internal:previous_page_0:
template: "internal:icon/2d"
template: internal:icon/2d
arguments:
model_data: 1002
texture: previous_page_0
name: "<!i><#FAFAD2><i18n:internal.previous_page>"
name: <!i><#FAFAD2><i18n:internal.previous_page>
lore:
- "<!i><#F5F5F5><arg:current_page>/<arg:max_page>"
- <!i><#F5F5F5><arg:current_page>/<arg:max_page>
internal:previous_page_1:
template: "internal:icon/2d"
template: internal:icon/2d
arguments:
model_data: 1003
texture: previous_page_1
name: "<!i><#808080><i18n:internal.previous_page>"
name: <!i><#808080><i18n:internal.previous_page>
lore:
- "<!i><#696969><arg:current_page>/<arg:max_page>"
- <!i><#696969><arg:current_page>/<arg:max_page>
internal:return:
template: "internal:icon/2d"
template: internal:icon/2d
arguments:
model_data: 1004
texture: return
name: "<!i><#DAA520><i18n:internal.return>"
name: <!i><#DAA520><i18n:internal.return>
lore: null
internal:next_recipe_0:
material: arrow
custom-model-data: 1000
data:
item-name: "<!i><#FAFAD2><i18n:internal.next_recipe>"
item-name: <!i><#FAFAD2><i18n:internal.next_recipe>
lore:
- "<!i><#F5F5F5><arg:current_page>/<arg:max_page>"
- <!i><#F5F5F5><arg:current_page>/<arg:max_page>
internal:next_recipe_1:
material: arrow
custom-model-data: 1001
data:
item-name: "<!i><#808080><i18n:internal.next_recipe>"
item-name: <!i><#808080><i18n:internal.next_recipe>
lore:
- "<!i><#696969><arg:current_page>/<arg:max_page>"
- <!i><#696969><arg:current_page>/<arg:max_page>
internal:previous_recipe_0:
material: arrow
custom-model-data: 1002
data:
item-name: "<!i><#FAFAD2><i18n:internal.previous_recipe>"
item-name: <!i><#FAFAD2><i18n:internal.previous_recipe>
lore:
- "<!i><#F5F5F5><arg:current_page>/<arg:max_page>"
- <!i><#F5F5F5><arg:current_page>/<arg:max_page>
internal:previous_recipe_1:
material: arrow
custom-model-data: 1003
data:
item-name: "<!i><#808080><i18n:internal.previous_recipe>"
item-name: <!i><#808080><i18n:internal.previous_recipe>
lore:
- "<!i><#696969><arg:current_page>/<arg:max_page>"
- <!i><#696969><arg:current_page>/<arg:max_page>
internal:get_item:
template: "internal:icon/2d"
template: internal:icon/2d
arguments:
model_data: 1005
texture: get_item
name: "<!i><#DAA520><i18n:internal.get_item>"
name: <!i><#DAA520><i18n:internal.get_item>
lore:
- "<!i><gray><i18n:internal.get_item.0>"
- "<!i><gray><i18n:internal.get_item.1>"
- <!i><gray><i18n:internal.get_item.0>
- <!i><gray><i18n:internal.get_item.1>
internal:cooking_info:
template: "internal:icon/2d"
template: internal:icon/2d
arguments:
model_data: 1006
texture: cooking_info
name: "<!i><#FF8C00><i18n:internal.cooking_info>"
name: <!i><#FF8C00><i18n:internal.cooking_info>
lore:
- "<!i><gray><i18n:internal.cooking_info.0>"
- "<!i><gray><i18n:internal.cooking_info.1>"
- <!i><gray><i18n:internal.cooking_info.0>
- <!i><gray><i18n:internal.cooking_info.1>
internal:exit:
template: "internal:icon/2d"
template: internal:icon/2d
arguments:
model_data: 1007
texture: exit
name: "<!i><#DAA520><i18n:internal.exit>"
name: <!i><#DAA520><i18n:internal.exit>
lore: null

View File

@@ -1,27 +1,27 @@
i18n:
en:
internal.next_page: "Next Page"
internal.previous_page: "Previous Page"
internal.return: "Return to Parent Page"
internal.exit: "Exit"
internal.next_recipe: "Next Recipe"
internal.previous_recipe: "Previous Recipe"
internal.get_item: "Get Item"
internal.get_item.0: "Left Click to take one"
internal.get_item.1: "Right Click to take a stack"
internal.cooking_info: "Recipe Information"
internal.cooking_info.0: "Time: <arg:cooking_time>ticks"
internal.cooking_info.1: "Experience: <arg:cooking_experience>"
internal.next_page: Next Page
internal.previous_page: Previous Page
internal.return: Return to Parent Page
internal.exit: Exit
internal.next_recipe: Next Recipe
internal.previous_recipe: Previous Recipe
internal.get_item: Get Item
internal.get_item.0: Left Click to take one
internal.get_item.1: Right Click to take a stack
internal.cooking_info: Recipe Information
internal.cooking_info.0: 'Time: <arg:cooking_time>ticks'
internal.cooking_info.1: 'Experience: <arg:cooking_experience>'
zh_cn:
internal.next_page: "下一页"
internal.previous_page: "上一页"
internal.return: "返回上一级"
internal.exit: "退出"
internal.next_recipe: "下一个配方"
internal.previous_recipe: "上一个配方"
internal.get_item: "获取物品"
internal.get_item.0: "左键单击取一个"
internal.get_item.1: "右键单击取一组"
internal.cooking_info: "配方信息"
internal.cooking_info.0: "时间: <arg:cooking_time>刻"
internal.cooking_info.1: "经验: <arg:cooking_experience>"
internal.next_page: 下一页
internal.previous_page: 上一页
internal.return: 返回上一级
internal.exit: 退出
internal.next_recipe: 下一个配方
internal.previous_recipe: 上一个配方
internal.get_item: 获取物品
internal.get_item.0: 左键单击取一个
internal.get_item.1: 右键单击取一组
internal.cooking_info: 配方信息
internal.cooking_info.0: '时间: <arg:cooking_time>刻'
internal.cooking_info.1: '经验: <arg:cooking_experience>'

View File

@@ -4,262 +4,262 @@ images:
ascent: -5000
font: minecraft:offset_chars
file: minecraft:font/offset/space_split.png
char: '\uf800'
char: \uf800
internal:neg_2:
height: -4
ascent: -5000
font: minecraft:offset_chars
file: minecraft:font/offset/space_split.png
char: '\uf801'
char: \uf801
internal:neg_3:
height: -5
ascent: -5000
font: minecraft:offset_chars
file: minecraft:font/offset/space_split.png
char: '\uf802'
char: \uf802
internal:neg_4:
height: -6
ascent: -5000
font: minecraft:offset_chars
file: minecraft:font/offset/space_split.png
char: '\uf803'
char: \uf803
internal:neg_5:
height: -7
ascent: -5000
font: minecraft:offset_chars
file: minecraft:font/offset/space_split.png
char: '\uf804'
char: \uf804
internal:neg_6:
height: -8
ascent: -5000
font: minecraft:offset_chars
file: minecraft:font/offset/space_split.png
char: '\uf805'
char: \uf805
internal:neg_7:
height: -9
ascent: -5000
font: minecraft:offset_chars
file: minecraft:font/offset/space_split.png
char: '\uf806'
char: \uf806
internal:neg_8:
height: -10
ascent: -5000
font: minecraft:offset_chars
file: minecraft:font/offset/space_split.png
char: '\uf807'
char: \uf807
internal:neg_9:
height: -11
ascent: -5000
font: minecraft:offset_chars
file: minecraft:font/offset/space_split.png
char: '\uf808'
char: \uf808
internal:neg_10:
height: -12
ascent: -5000
font: minecraft:offset_chars
file: minecraft:font/offset/space_split.png
char: '\uf809'
char: \uf809
internal:neg_11:
height: -13
ascent: -5000
font: minecraft:offset_chars
file: minecraft:font/offset/space_split.png
char: '\uf80a'
char: \uf80a
internal:neg_12:
height: -14
ascent: -5000
font: minecraft:offset_chars
file: minecraft:font/offset/space_split.png
char: '\uf80b'
char: \uf80b
internal:neg_13:
height: -15
ascent: -5000
font: minecraft:offset_chars
file: minecraft:font/offset/space_split.png
char: '\uf80c'
char: \uf80c
internal:neg_14:
height: -16
ascent: -5000
font: minecraft:offset_chars
file: minecraft:font/offset/space_split.png
char: '\uf80d'
char: \uf80d
internal:neg_15:
height: -17
ascent: -5000
font: minecraft:offset_chars
file: minecraft:font/offset/space_split.png
char: '\uf80e'
char: \uf80e
internal:neg_16:
height: -18
ascent: -5000
font: minecraft:offset_chars
file: minecraft:font/offset/space_split.png
char: '\uf80f'
char: \uf80f
internal:neg_24:
height: -26
ascent: -5000
font: minecraft:offset_chars
file: minecraft:font/offset/space_split.png
char: '\uf810'
char: \uf810
internal:neg_32:
height: -34
ascent: -5000
font: minecraft:offset_chars
file: minecraft:font/offset/space_split.png
char: '\uf811'
char: \uf811
internal:neg_48:
height: -50
ascent: -5000
font: minecraft:offset_chars
file: minecraft:font/offset/space_split.png
char: '\uf812'
char: \uf812
internal:neg_64:
height: -66
ascent: -5000
font: minecraft:offset_chars
file: minecraft:font/offset/space_split.png
char: '\uf813'
char: \uf813
internal:neg_128:
height: -130
ascent: -5000
font: minecraft:offset_chars
file: minecraft:font/offset/space_split.png
char: '\uf814'
char: \uf814
internal:neg_256:
height: -258
ascent: -5000
font: minecraft:offset_chars
file: minecraft:font/offset/space_split.png
char: '\uf815'
char: \uf815
internal:pos_1:
height: -1
ascent: -5000
font: minecraft:offset_chars
file: minecraft:font/offset/space_split.png
char: '\uf830'
char: \uf830
internal:pos_2:
height: 1
ascent: -5000
font: minecraft:offset_chars
file: minecraft:font/offset/space_split.png
char: '\uf831'
char: \uf831
internal:pos_3:
height: 2
ascent: -5000
font: minecraft:offset_chars
file: minecraft:font/offset/space_split.png
char: '\uf832'
char: \uf832
internal:pos_4:
height: 3
ascent: -5000
font: minecraft:offset_chars
file: minecraft:font/offset/space_split.png
char: '\uf833'
char: \uf833
internal:pos_5:
height: 4
ascent: -5000
font: minecraft:offset_chars
file: minecraft:font/offset/space_split.png
char: '\uf834'
char: \uf834
internal:pos_6:
height: 5
ascent: -5000
font: minecraft:offset_chars
file: minecraft:font/offset/space_split.png
char: '\uf835'
char: \uf835
internal:pos_7:
height: 6
ascent: -5000
font: minecraft:offset_chars
file: minecraft:font/offset/space_split.png
char: '\uf836'
char: \uf836
internal:pos_8:
height: 7
ascent: -5000
font: minecraft:offset_chars
file: minecraft:font/offset/space_split.png
char: '\uf837'
char: \uf837
internal:pos_9:
height: 8
ascent: -5000
font: minecraft:offset_chars
file: minecraft:font/offset/space_split.png
char: '\uf838'
char: \uf838
internal:pos_10:
height: 9
ascent: -5000
font: minecraft:offset_chars
file: minecraft:font/offset/space_split.png
char: '\uf839'
char: \uf839
internal:pos_11:
height: 10
ascent: -5000
font: minecraft:offset_chars
file: minecraft:font/offset/space_split.png
char: '\uf83a'
char: \uf83a
internal:pos_12:
height: 11
ascent: -5000
font: minecraft:offset_chars
file: minecraft:font/offset/space_split.png
char: '\uf83b'
char: \uf83b
internal:pos_13:
height: 12
ascent: -5000
font: minecraft:offset_chars
file: minecraft:font/offset/space_split.png
char: '\uf83c'
char: \uf83c
internal:pos_14:
height: 13
ascent: -5000
font: minecraft:offset_chars
file: minecraft:font/offset/space_split.png
char: '\uf83d'
char: \uf83d
internal:pos_15:
height: 14
ascent: -5000
font: minecraft:offset_chars
file: minecraft:font/offset/space_split.png
char: '\uf83e'
char: \uf83e
internal:pos_16:
height: 15
ascent: -5000
font: minecraft:offset_chars
file: minecraft:font/offset/space_split.png
char: '\uf83f'
char: \uf83f
internal:pos_24:
height: 23
ascent: -5000
font: minecraft:offset_chars
file: minecraft:font/offset/space_split.png
char: '\uf840'
char: \uf840
internal:pos_32:
height: 31
ascent: -5000
font: minecraft:offset_chars
file: minecraft:font/offset/space_split.png
char: '\uf841'
char: \uf841
internal:pos_48:
height: 47
ascent: -5000
font: minecraft:offset_chars
file: minecraft:font/offset/space_split.png
char: '\uf842'
char: \uf842
internal:pos_64:
height: 63
ascent: -5000
font: minecraft:offset_chars
file: minecraft:font/offset/space_split.png
char: '\uf843'
char: \uf843
internal:pos_128:
height: 127
ascent: -5000
font: minecraft:offset_chars
file: minecraft:font/offset/space_split.png
char: '\uf844'
char: \uf844
internal:pos_256:
height: 255
ascent: -5000
font: minecraft:offset_chars
file: minecraft:font/offset/space_split.png
char: '\uf845'
char: \uf845

View File

@@ -4,11 +4,11 @@ import it.unimi.dsi.fastutil.objects.Object2IntMap;
import it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap;
import net.momirealms.craftengine.core.plugin.CraftEngine;
public class ClassTreeIdRegistry {
public final class ClassTreeIdRegistry {
private final Object2IntMap<Class<?>> classToLastIdCache = new Object2IntOpenHashMap<>();
public ClassTreeIdRegistry() {
classToLastIdCache.defaultReturnValue(-1);
this.classToLastIdCache.defaultReturnValue(-1);
}
public int getLastIdFor(Class<?> clazz) {
@@ -31,7 +31,6 @@ public class ClassTreeIdRegistry {
int lastId = this.getLastIdFor(clazz);
int nextId = lastId == -1 ? 0 : lastId + 1;
this.classToLastIdCache.put(clazz, nextId);
CraftEngine.instance().debug(() -> "Defined " + clazz.getSimpleName() + " with id " + nextId);
return nextId;
}
}