Compare commits

...
10 Commits
819 changed files with 6211 additions and 1865 deletions

No files matched your search

@@ -78,7 +78,7 @@ class MainClient(BlueFoxClientSystem):
rec["time"] = now
@mcListener
def OnScriptTickClient(self, args):
def OnScriptTickClient(self):
"""客户端每帧事件(1秒约30次): 节流驱动火焰音效清理。
不用 AddTimer 递归 —— 退出存档时 AddTimer 会被卸载且无法恢复; 本事件只在
@@ -27,6 +27,7 @@ from xiangyemod.tangguo.service.TangguoTimerService import TangguoTimerService
from xiangyemod.chaoguo.service.ChaoguoService import ChaoguoService
from xiangyemod.chaoguo.service.ChaoguoTimerService import ChaoguoTimerService
from xiangyemod.shiyongfood.service.ShiyongfoodService import ShiyongfoodService
from xiangyemod.placeblock.service.PlaceBlockService import PlaceBlockService
if not serverApi.IsInServer():
# 客户端进程: 导入客户端拦截系统(继承 BlueFoxClientSystem, 框架自动注册),
@@ -619,7 +619,7 @@ SWITCH_RULES = [
# 盖饭转换清单(正向+反向共用): dish=成品菜, target=盖饭
GAI_FAN_ITEMS = [
{"dish": PLATE_47, "target": PLATE_48,
{"dish": PLATE_47, "target": PLATE_48, "giveItem": PLATE_48,
"name": "辣子鸡丁", "gaiName": "辣子鸡丁盖饭(全份)"},
{"dish": PLATE_54, "target": PLATE_55,
"name": "香菇滑鸡", "gaiName": "香菇滑鸡盖饭(全份)"},
@@ -635,16 +635,17 @@ for _g in GAI_FAN_ITEMS:
_target = _g["target"]
_name = _g["name"]
_gai = _g["gaiName"]
_give = _g.get("giveItem") # 给定则"被点方块消失 + 给玩家物品", 否则原位替换成 target 方块
# 正向: 手持成品菜 右键 米饭(三形态任一) -> 米饭变盖饭
for _rice in RICE_FORMS:
ITEM_USE_ON_RULES.append({
"item": _dish, "surface": _rice, "target": _target, "consume": 1,
"tip": None})
"giveItem": _give, "tip": None})
# 反向: 手持 米饭(三形态任一) 右键 成品菜 -> 菜品变盖饭
for _rice in RICE_FORMS:
ITEM_USE_ON_RULES.append({
"item": _rice, "surface": _dish, "target": _target, "consume": 1,
"tip": None})
"giveItem": _give, "tip": None})
# 蛋炒饭 加米饭(形态1/2/3都行) -> 炒锅_87(蛋炒饭_加米饭_熟)
for _rice in RICE_FORMS:
ITEM_USE_ON_RULES.append({
@@ -198,7 +198,13 @@ class ChaoguoService(BlueFoxServerSystem):
self.consumeItem(playerId, itemDict, consume)
# 替换被右键的表面方块(米饭变盖饭 / 菜品变盖饭 / 蛋炒饭变熟)
self.replaceBlock(pos, dim, recipe["target"], playerId)
# giveItem: 新成品菜体系 —— 被点方块消失, 改为给玩家"成品菜物品"(可再放置出对应方块)
giveItem = recipe.get("giveItem")
if giveItem:
self.replaceBlock(pos, dim, "minecraft:air", playerId)
self.giveItemToPlayer(playerId, giveItem, 1, pos, dim)
else:
self.replaceBlock(pos, dim, recipe["target"], playerId)
self._clearWokData(dim, pos)
return True
@@ -55,6 +55,9 @@ from ..ChujuData import (
# ---- 统一分发器 ----
from ...service.FeatureDispatcher import FeatureDispatcher
# ---- 炒锅上油音效(兹拉声 random.fizz, 与炒锅翻炒同款) ----
from ....ModUtil.ServerUtil import PlaySoundToAllClient
class ChujuService(BlueFoxServerSystem):
"""
@@ -232,6 +235,8 @@ class ChujuService(BlueFoxServerSystem):
return True
self._setCarriedItem(playerId, SPATULA, False) # 替换手持为锅铲
self.replaceBlock(pos, dim, OIL_PAN, playerId)
# 上油时播放一次"兹拉"声(random.fizz, 速率1.4, 与炒锅翻炒同款)
PlaySoundToAllClient((pos[0], pos[1], pos[2], dim), "random.fizz", 1.4)
return True
def _setCarriedItem(self, playerId, itemName, enchanted):
@@ -0,0 +1 @@
# -*- coding: utf-8 -*-
@@ -0,0 +1,165 @@
# -*- coding: utf-8 -*-
"""
================================================================================
【物品放置方块】(placeblock) 服务 —— 创造栏显示 2D 物品图标, 放置出指定方块模型
================================================================================
背景: 网易 1.10 自定义物品不支持 minecraft:block_placer(实测"放不下去");
原版 1.21.60 物品虽能 block_placer, 但其 menu_category 只能进原版分页,
进不了网易自定义分页(如 xy_finished)。两者无法兼得。
方案A(脚本补位): 方块本体 register_to_creative_menu:false 不出现在创造栏;
另建带 2D 图标、category 指向自定义分页的网易 1.10 物品(分页正确);
手持该物品右键任意方块 -> 在被点面的相邻格放置对应方块, 消耗 1 个
(创造模式不消耗)。
路由: 走 FeatureDispatcher 的 itemUseOn(itemName -> 服务), 与其它转换服务同机制。
================================================================================
"""
import time
import mod.server.extraServerApi as serverApi
ServerSystem = serverApi.GetServerSystemCls() # 服务端系统基类
comp = serverApi.GetEngineCompFactory() # 组件工厂
from ....BlueFoxTools.SpecialFunciton.BlueFoxSystem import BlueFoxServerSystem
from ....BlueFoxTools.ToolsConfig import LevelId
from ...service.FeatureDispatcher import FeatureDispatcher, FACE_OFFSET
# ---- 物品 -> 放置出的方块(要新增的成品菜在这里登记) ----
PLACE_ITEMS = {
"rtdd:plate_48": "rtdd:plate_48_block",
}
# ---- 视为"可放置"的目标方块(空气/水) ----
AIR_LIKE = ("minecraft:air", "minecraft:water", "minecraft:flowing_water")
# ---- 同一玩家两次放置的最小间隔(秒, 防连点重复放置) ----
PLACE_COOLDOWN = 0.2
# ---- 朝向微调: 0=方块正面朝玩家视线方向; 2=方块正面朝玩家(视线反方向, 与正常摆放一致) ----
FACING_FLIP = 0
class PlaceBlockService(BlueFoxServerSystem):
"""物品放置方块服务(创造栏 2D 图标 -> 放置 3D 方块)"""
def __init__(self, namespace, systemName):
BlueFoxServerSystem.__init__(self, namespace, systemName)
self.itemBlocks = dict(PLACE_ITEMS)
self.cooldown = {}
FeatureDispatcher.register(self)
# ------------------------------------------------------------------
# 分发器路由表(FeatureDispatcher 调用)
# ------------------------------------------------------------------
def getFeatureBlocks(self):
"""本服务不接管任何"右键方块", 只处理 itemUseOn"""
return []
def getItemUseOnRules(self):
"""手持放置物品右键方块表面 -> 由本服务处理"""
return {item: True for item in self.itemBlocks}
def ownsItemUseOn(self, itemName, clickedName):
"""声明本服务明确处理这些物品的 itemUseOn(不受被点方块归属影响)"""
return itemName in self.itemBlocks
# ------------------------------------------------------------------
# 入口: 手持放置物品右键方块 -> 在相邻格放置方块 + 消耗1
# ------------------------------------------------------------------
def handleItemUseOn(self, args):
itemName = args.get("itemName")
blockName = self.itemBlocks.get(itemName)
if not blockName:
return False
playerId = args.get("playerId") or args.get("entityId")
if not playerId:
return False
# 冷却: 防连点重复放置
now = time.time()
if now - self.cooldown.get(playerId, 0) < PLACE_COOLDOWN:
return True
self.cooldown[playerId] = now
x, y, z = args.get("x"), args.get("y"), args.get("z")
face = args.get("face", 1)
if x is None or y is None or z is None:
return False
dim = args.get("dimensionId")
if dim is None:
try:
dim = comp.CreateDimension(playerId).GetEntityDimensionId()
except Exception:
return False
# 落点 = 被点方块相邻的那一格(0下 1上 2北 3南 4西 5东)
off = FACE_OFFSET.get(face, (0, 1, 0))
target = (x + off[0], y + off[1], z + off[2])
# 目标位置必须是空气/水, 否则不放置(交还原版)
try:
b = comp.CreateBlockInfo(LevelId).GetBlockNew(target, dim)
name = b.get("name") if b else None
if name not in AIR_LIKE:
return False
except Exception:
return False
# 放置方块(朝向按玩家水平朝向, 与正常摆放一致)
try:
aux = self._facingAux(playerId)
ok = comp.CreateBlockInfo(LevelId).SetBlockNew(
target, blockDict={"name": blockName, "aux": aux},
oldBlockHandling=0, dimensionId=dim)
except Exception:
ok = False
if not ok:
return False
# 消耗 1 个(创造模式不消耗)
if not self._isCreative(playerId):
self._consumeOne(playerId, itemName)
return True
# ------------------------------------------------------------------
# 工具
# ------------------------------------------------------------------
def _facingAux(self, playerId):
"""
netease:face_directional(type=direction) 的朝向值:
0=南(+Z) 1=西(-X) 2=北(-Z) 3=东(+X)
按玩家水平朝向(视线方向)取值; 若方向相反/偏移, 调 FACING_FLIP。
"""
try:
rot = comp.CreateRot(playerId).GetRot()
dx, _dy, dz = serverApi.GetDirFromRot(rot)
if abs(dx) >= abs(dz):
face = 3 if dx > 0 else 1 # +X 东 / -X 西
else:
face = 0 if dz > 0 else 2 # +Z 南 / -Z 北
except Exception:
face = 0
# 与正常摆放一致的微调: 方块"正面"朝向玩家(视线反方向)时改为 face+2
return (face + FACING_FLIP) % 4
def _isCreative(self, playerId):
try:
return comp.CreateGame(LevelId).GetPlayerGameType(playerId) == 1
except Exception:
return False
def _consumeOne(self, playerId, itemName):
try:
itemComp = comp.CreateItem(playerId)
carried = itemComp.GetPlayerItem(
serverApi.GetMinecraftEnum().ItemPosType.CARRIED, 0, True)
if not carried or carried.get("newItemName") != itemName:
return
count = carried.get("count", 1)
itemComp.SetEntityItem(
serverApi.GetMinecraftEnum().ItemPosType.CARRIED,
{"itemName": itemName,
"count": max(count - 1, 0),
"auxValue": carried.get("newAuxValue", 0),
"userData": carried.get("userData", {})})
except Exception:
pass
@@ -0,0 +1 @@
# -*- coding: utf-8 -*-
@@ -232,6 +232,17 @@ try:
except Exception:
pass
# ---- 寿司(手持 饭团/鱼/卷寿司/手握 右键 寿司方块 走 handleBlockUse):
# ShousiData.SHOUSI_SWITCHES。
# 寿司规则内联在 ShousiService, 未随 *Data.SWITCH_RULES 派生; 若不在此汇入,
# 客户端会把"手持饭团/鱼右键寿司方块"当成吃/放置(饭团被吃、鱼放成死鱼),
# 转换不触发。加入后命中 BLOCKUSE_CANCEL -> 客户端显式发 BlockUseRequest。
try:
from ..shousi.ShousiData import SHOUSI_SWITCHES as SHOUSI_RS_BLOCKUSE
_BLOCK_USE_TABLES.append(SHOUSI_RS_BLOCKUSE)
except Exception:
pass
# ---- 原版放置/盘子转换 (itemUseOn, surface=相邻放置 / source=盘子) ----
try:
from ..yuanbanfangzhi.YuanbanData import (
@@ -451,7 +462,16 @@ EAT_ITEMS = {
"rtdd:beancurd", # 豆腐
}
ITEM_USE_ON_CANCEL_BY_ITEM = PLACE_ITEMS | EAT_ITEMS
# ---- 方案A: 物品放置方块 (placeblock) ----
# 手持该物品右键任意方块表面 -> 客户端 ret 掉默认行为并显式 ItemUseOnRequest,
# 服务端 PlaceBlockService.handleItemUseOn 负责在被点面相邻格放置对应方块。
# (原版 1.21 物品的 block_placer 可用但只能进原版分页; 网易 1.10 物品能进自定义
# 分页但不支持 block_placer, 故用脚本放置, 两者兼得。)
PLACE_BLOCK_ITEMS = {
"rtdd:plate_48",
}
ITEM_USE_ON_CANCEL_BY_ITEM = PLACE_ITEMS | EAT_ITEMS | PLACE_BLOCK_ITEMS
# ============================================================================
@@ -206,7 +206,7 @@ EAT_RULES = [
{"block": "rtdd:cookedpancake", "hunger": 9,
"effects": [("saturation", 30, 1), ("resistance", 30, 1)]},
# 盖饭
{"block": "rtdd:plate_48", "target": "rtdd:plate_48a", "hunger": 9,
{"block": "rtdd:plate_48_block", "target": "rtdd:plate_48a", "hunger": 9,
"effects": [("regeneration", 20, 2), ("health_boost", 60, 4)]},
{"block": "rtdd:plate_48a", "hunger": 8, "drop": PLATE_DIRTY},
{"block": "rtdd:plate_55", "target": "rtdd:plate_55a", "hunger": 9,
@@ -310,12 +310,12 @@ EAT_RULES = [
# 三、熟面条(碗装)
{"block": "rtdd:noodle_soup", "hunger": 8, "drop": BOWL,
"effects": [("saturation", 15, 1)]},
# 四、熟米饭(碗装, 三形态)
{"block": "rtdd:bowlofrice", "hunger": 8, "drop": BOWL,
# 四、熟米饭(碗装, 三形态: 右键逐级吃 bowlofrice -> bowlofrice_2 -> bowlofrice_3)
{"block": "rtdd:bowlofrice", "target": "rtdd:bowlofrice_2", "hunger": 3,
"effects": [("saturation", 30, 1)]},
{"block": "rtdd:bowlofrice_2", "hunger": 8, "drop": BOWL,
{"block": "rtdd:bowlofrice_2", "target": "rtdd:bowlofrice_3", "hunger": 3,
"effects": [("saturation", 30, 1)]},
{"block": "rtdd:bowlofrice_3", "hunger": 8, "drop": BOWL,
{"block": "rtdd:bowlofrice_3", "hunger": 2, "drop": BOWL,
"effects": [("saturation", 30, 1)]},
# 八、汤面(碗装, 单次吃完, 掉木碗)
{"block": "rtdd:noodlesoup_1", "hunger": 11, "drop": BOWL,
@@ -124,3 +124,34 @@ CUT_COUNT = 2
# 手握堆叠/寿司堆 每次消耗手持数
STACK_CONSUME = 1
# ============================================================================
# 手持物品右键"寿司方块本体"的转换对(block + item)
# 寿司的规则都内联在 ShousiService 里, 不像其它分类写在 *Data 的 SWITCH_RULES,
# 客户端拦截白名单无法自动派生 -> 手持饭团/鱼右键寿司方块时会被当成"吃/放置"
# (饭团被吃、鱼被放成死鱼), 转换不触发。
# 这里按 SUSHI_GROUPS 反向导出一份 (block, item) 表, 供 InterceptData 汇入
# BLOCKUSE_CANCEL, 使客户端命中后显式发 BlockUseRequest, 由服务端
# ShousiService.handleBlockUse 执行转换。
# ============================================================================
def _build_shousi_switches():
pairs = [{"block": NORI_0, "item": RICE_BALL}] # 基础组: 干海带 + 饭团
for g in SUSHI_GROUPS:
fish = g.get("fish")
roll = g.get("roll")
# 手握: 手握普通寿司 + 鱼
pairs.append({"block": NIGIRI_BASE, "item": fish})
# 手握堆叠: 手持 手握X(一个) 右键 手握X(一/两个)
pairs.append({"block": g["nigiri1"], "item": g["nigiri1"]})
pairs.append({"block": g["nigiri2"], "item": g["nigiri1"]})
if roll:
# 加鱼: 干海带(加饭团) + 鱼
pairs.append({"block": NORI_1, "item": fish})
# 寿司堆: 手持 卷寿司(链尾) 右键 卷寿司/寿司堆(两个)
pairs.append({"block": roll[-1], "item": roll[-1]})
if g.get("pile2"):
pairs.append({"block": g["pile2"], "item": roll[-1]})
return pairs
SHOUSI_SWITCHES = _build_shousi_switches()
@@ -188,6 +188,14 @@ class ShousiService(BlueFoxServerSystem):
recipe = self.findRecipe(blockName, itemDict)
if not recipe:
return False
# ---- 数量校验: 消耗型转换必须手持足量(如 铺饭团需4个), 不足则提示不转换 ----
need = recipe.get("consume", 0)
if need > 0:
have = itemDict.get("count", 0) if itemDict else 0
if have < need:
comp.CreateMsg(playerId).NotifyOneMessage(
playerId, "§c数量不足,需要 %d 个" % need)
return True
if not self.checkCooldown(key, 0.5):
return True
self.handleSwitch(recipe, playerId, pos, dim, itemDict)
@@ -4,7 +4,7 @@
"description": {
"identifier": "rtdd:apple_popsicleplace",
"register_to_creative_menu": true,
"category": "rtdd"
"category": "xy_finished"
},
"components": {
"netease:aabb": {
@@ -4,7 +4,7 @@
"description": {
"identifier": "rtdd:appleicecreamplace",
"register_to_creative_menu": true,
"category": "rtdd"
"category": "xy_finished"
},
"components": {
"netease:aabb": {
@@ -4,7 +4,7 @@
"description": {
"identifier": "rtdd:assortedramen",
"register_to_creative_menu": true,
"category": "rtdd"
"category": "xy_finished"
},
"components": {
"netease:aabb": {
@@ -3,7 +3,7 @@
"minecraft:block": {
"description": {
"identifier": "rtdd:b_121",
"register_to_creative_menu": true,
"register_to_creative_menu": false,
"category": "rtdd"
},
"components": {
@@ -3,7 +3,7 @@
"minecraft:block": {
"description": {
"identifier": "rtdd:b_124",
"register_to_creative_menu": true,
"register_to_creative_menu": false,
"category": "rtdd"
},
"components": {
@@ -3,7 +3,7 @@
"minecraft:block": {
"description": {
"identifier": "rtdd:b_125",
"register_to_creative_menu": true,
"register_to_creative_menu": false,
"category": "rtdd"
},
"components": {
@@ -3,7 +3,7 @@
"minecraft:block": {
"description": {
"identifier": "rtdd:b_127",
"register_to_creative_menu": true,
"register_to_creative_menu": false,
"category": "rtdd"
},
"components": {
@@ -3,7 +3,7 @@
"minecraft:block": {
"description": {
"identifier": "rtdd:b_15",
"register_to_creative_menu": true,
"register_to_creative_menu": false,
"category": "rtdd"
},
"components": {
@@ -3,7 +3,7 @@
"minecraft:block": {
"description": {
"identifier": "rtdd:b_34",
"register_to_creative_menu": true,
"register_to_creative_menu": false,
"category": "rtdd"
},
"components": {
@@ -3,7 +3,7 @@
"minecraft:block": {
"description": {
"identifier": "rtdd:b_35",
"register_to_creative_menu": true,
"register_to_creative_menu": false,
"category": "rtdd"
},
"components": {
@@ -4,7 +4,7 @@
"description": {
"identifier": "rtdd:bamboo_5",
"register_to_creative_menu": true,
"category": "rtdd"
"category": "xy_finished"
},
"components": {
"netease:aabb": {
@@ -3,7 +3,7 @@
"minecraft:block": {
"description": {
"identifier": "rtdd:bamboomeshfence",
"register_to_creative_menu": true,
"register_to_creative_menu": false,
"category": "rtdd"
},
"components": {
@@ -12,24 +12,24 @@
"min": [
0,
0,
0
0.125
],
"max": [
1,
0.7,
1
0.5,
0.875
]
},
"clip": {
"min": [
0,
0,
0
0.125
],
"max": [
1,
0.7,
1
0.5,
0.875
]
}
},
@@ -12,24 +12,24 @@
"min": [
0,
0,
0
0.125
],
"max": [
1,
0.7,
1
0.5,
0.875
]
},
"clip": {
"min": [
0,
0,
0
0.125
],
"max": [
1,
0.7,
1
0.5,
0.875
]
}
},
@@ -12,24 +12,24 @@
"min": [
0,
0,
0
0.125
],
"max": [
1,
0.7,
1
0.5,
0.875
]
},
"clip": {
"min": [
0,
0,
0
0.125
],
"max": [
1,
0.7,
1
0.5,
0.875
]
}
},
@@ -12,24 +12,24 @@
"min": [
0,
0,
0
0.125
],
"max": [
1,
0.7,
1
0.5,
0.875
]
},
"clip": {
"min": [
0,
0,
0
0.125
],
"max": [
1,
0.7,
1
0.5,
0.875
]
}
},
@@ -12,24 +12,24 @@
"min": [
0,
0,
0
0.125
],
"max": [
1,
0.7,
1
0.5,
0.875
]
},
"clip": {
"min": [
0,
0,
0
0.125
],
"max": [
1,
0.7,
1
0.5,
0.875
]
}
},
@@ -12,24 +12,24 @@
"min": [
0,
0,
0
0.125
],
"max": [
1,
0.7,
1
0.5,
0.875
]
},
"clip": {
"min": [
0,
0,
0
0.125
],
"max": [
1,
0.7,
1
0.5,
0.875
]
}
},
@@ -4,7 +4,7 @@
"description": {
"identifier": "rtdd:beefkebabs_3",
"register_to_creative_menu": true,
"category": "rtdd"
"category": "xy_finished"
},
"components": {
"netease:aabb": {
@@ -4,7 +4,7 @@
"description": {
"identifier": "rtdd:bowla_lambchopsoup",
"register_to_creative_menu": true,
"category": "rtdd"
"category": "xy_finished"
},
"components": {
"netease:aabb": {
@@ -4,7 +4,7 @@
"description": {
"identifier": "rtdd:bowla_roujiamo",
"register_to_creative_menu": true,
"category": "rtdd"
"category": "xy_finished"
},
"components": {
"netease:aabb": {
@@ -4,7 +4,7 @@
"description": {
"identifier": "rtdd:bowlabeefbonebroth",
"register_to_creative_menu": true,
"category": "rtdd"
"category": "xy_finished"
},
"components": {
"netease:aabb": {
@@ -4,7 +4,7 @@
"description": {
"identifier": "rtdd:bowlacarrotbeefsoup",
"register_to_creative_menu": true,
"category": "rtdd"
"category": "xy_finished"
},
"components": {
"netease:aabb": {
@@ -4,7 +4,7 @@
"description": {
"identifier": "rtdd:bowlacarrotcodsoup",
"register_to_creative_menu": true,
"category": "rtdd"
"category": "xy_finished"
},
"components": {
"netease:aabb": {
@@ -4,7 +4,7 @@
"description": {
"identifier": "rtdd:bowlacarrotribs",
"register_to_creative_menu": true,
"category": "rtdd"
"category": "xy_finished"
},
"components": {
"netease:aabb": {
@@ -4,7 +4,7 @@
"description": {
"identifier": "rtdd:bowlaeggcodsoup",
"register_to_creative_menu": true,
"category": "rtdd"
"category": "xy_finished"
},
"components": {
"netease:aabb": {
@@ -4,7 +4,7 @@
"description": {
"identifier": "rtdd:bowlalambstew",
"register_to_creative_menu": true,
"category": "rtdd"
"category": "xy_finished"
},
"components": {
"netease:aabb": {
@@ -4,7 +4,7 @@
"description": {
"identifier": "rtdd:bowlatufufish",
"register_to_creative_menu": true,
"category": "rtdd"
"category": "xy_finished"
},
"components": {
"netease:aabb": {
@@ -4,7 +4,7 @@
"description": {
"identifier": "rtdd:bowlavegetablebeefsoup",
"register_to_creative_menu": true,
"category": "rtdd"
"category": "xy_finished"
},
"components": {
"netease:aabb": {
@@ -4,7 +4,7 @@
"description": {
"identifier": "rtdd:bowlavegetablelambsoup",
"register_to_creative_menu": true,
"category": "rtdd"
"category": "xy_finished"
},
"components": {
"netease:aabb": {
@@ -4,7 +4,7 @@
"description": {
"identifier": "rtdd:bowlavegetableleanbroth",
"register_to_creative_menu": true,
"category": "rtdd"
"category": "xy_finished"
},
"components": {
"netease:aabb": {
@@ -4,7 +4,7 @@
"description": {
"identifier": "rtdd:bowlavegetablesstew",
"register_to_creative_menu": true,
"category": "rtdd"
"category": "xy_finished"
},
"components": {
"netease:aabb": {
@@ -4,7 +4,7 @@
"description": {
"identifier": "rtdd:bowlofmushroomsoup",
"register_to_creative_menu": true,
"category": "rtdd"
"category": "xy_finished"
},
"components": {
"netease:aabb": {
@@ -4,7 +4,7 @@
"description": {
"identifier": "rtdd:bowlofrice",
"register_to_creative_menu": true,
"category": "rtdd"
"category": "xy_finished"
},
"components": {
"netease:aabb": {
@@ -3,8 +3,8 @@
"minecraft:block": {
"description": {
"identifier": "rtdd:bowlofrice_2",
"register_to_creative_menu": true,
"category": "rtdd"
"register_to_creative_menu": false,
"category": "xy_finished"
},
"components": {
"netease:aabb": {
@@ -3,8 +3,8 @@
"minecraft:block": {
"description": {
"identifier": "rtdd:bowlofrice_3",
"register_to_creative_menu": true,
"category": "rtdd"
"register_to_creative_menu": false,
"category": "xy_finished"
},
"components": {
"netease:aabb": {
@@ -4,7 +4,7 @@
"description": {
"identifier": "rtdd:bowlofriceegg",
"register_to_creative_menu": true,
"category": "rtdd"
"category": "xy_finished"
},
"components": {
"netease:aabb": {
@@ -4,7 +4,7 @@
"description": {
"identifier": "rtdd:braisednoodles",
"register_to_creative_menu": true,
"category": "rtdd"
"category": "xy_finished"
},
"components": {
"netease:aabb": {
@@ -4,7 +4,7 @@
"description": {
"identifier": "rtdd:bread_1",
"register_to_creative_menu": true,
"category": "rtdd"
"category": "xy_finished"
},
"components": {
"netease:aabb": {
@@ -10,26 +10,26 @@
"netease:aabb": {
"collision": {
"min": [
0.0938,
0,
0,
0
0.125
],
"max": [
1,
0.3,
1
0.9063,
0.1875,
0.75
]
},
"clip": {
"min": [
0.0938,
0,
0,
0
0.125
],
"max": [
1,
0.3,
1
0.9063,
0.1875,
0.75
]
}
},
@@ -10,26 +10,26 @@
"netease:aabb": {
"collision": {
"min": [
0.0938,
0,
0,
0
0.0909
],
"max": [
1,
0.3,
1
0.9063,
0.375,
0.8422
]
},
"clip": {
"min": [
0.0938,
0,
0,
0
0.0909
],
"max": [
1,
0.3,
1
0.9063,
0.375,
0.8422
]
}
},
@@ -4,7 +4,7 @@
"description": {
"identifier": "rtdd:bread_2",
"register_to_creative_menu": true,
"category": "rtdd"
"category": "xy_finished"
},
"components": {
"netease:aabb": {
@@ -10,26 +10,26 @@
"netease:aabb": {
"collision": {
"min": [
0.25,
0,
0,
0
0.125
],
"max": [
1,
0.3,
1
0.75,
0.25,
0.875
]
},
"clip": {
"min": [
0.25,
0,
0,
0
0.125
],
"max": [
1,
0.3,
1
0.75,
0.25,
0.875
]
}
},
@@ -10,26 +10,26 @@
"netease:aabb": {
"collision": {
"min": [
0.25,
0,
0,
0
0.1875
],
"max": [
1,
0.3,
1
0.75,
0.5,
0.875
]
},
"clip": {
"min": [
0.25,
0,
0,
0
0.1875
],
"max": [
1,
0.3,
1
0.75,
0.5,
0.875
]
}
},
@@ -4,7 +4,7 @@
"description": {
"identifier": "rtdd:bread_3",
"register_to_creative_menu": true,
"category": "rtdd"
"category": "xy_finished"
},
"components": {
"netease:aabb": {
@@ -10,26 +10,26 @@
"netease:aabb": {
"collision": {
"min": [
0.1438,
0,
0,
0
0.125
],
"max": [
1,
0.3,
1
0.8696,
0.2875,
0.8365
]
},
"clip": {
"min": [
0.1438,
0,
0,
0
0.125
],
"max": [
1,
0.3,
1
0.8696,
0.2875,
0.8365
]
}
},
@@ -10,26 +10,26 @@
"netease:aabb": {
"collision": {
"min": [
0.1438,
0,
0,
0
0.125
],
"max": [
1,
0.3,
1
0.9321,
0.5375,
0.8365
]
},
"clip": {
"min": [
0.1438,
0,
0,
0
0.125
],
"max": [
1,
0.3,
1
0.9321,
0.5375,
0.8365
]
}
},
@@ -4,7 +4,7 @@
"description": {
"identifier": "rtdd:bread_4",
"register_to_creative_menu": true,
"category": "rtdd"
"category": "xy_finished"
},
"components": {
"netease:aabb": {
@@ -10,26 +10,26 @@
"netease:aabb": {
"collision": {
"min": [
0.0625,
0,
0,
0
0.25
],
"max": [
1,
0.3,
1
0.9375,
0.125,
0.625
]
},
"clip": {
"min": [
0.0625,
0,
0,
0
0.25
],
"max": [
1,
0.3,
1
0.9375,
0.125,
0.625
]
}
},
@@ -10,26 +10,26 @@
"netease:aabb": {
"collision": {
"min": [
0.0625,
0,
0,
0
0.25
],
"max": [
1,
0.3,
1
0.9375,
0.25,
0.625
]
},
"clip": {
"min": [
0.0625,
0,
0,
0
0.25
],
"max": [
1,
0.3,
1
0.9375,
0.25,
0.625
]
}
},
@@ -10,26 +10,26 @@
"netease:aabb": {
"collision": {
"min": [
0.3125,
0,
0,
0
0.375
],
"max": [
1,
0.3,
1
0.6875,
0.125,
0.75
]
},
"clip": {
"min": [
0.3125,
0,
0,
0
0.375
],
"max": [
1,
0.3,
1
0.6875,
0.125,
0.75
]
}
},
@@ -10,26 +10,26 @@
"netease:aabb": {
"collision": {
"min": [
0.125,
0,
0,
0
0.4375
],
"max": [
1,
0.3,
1
0.875,
0.1875,
0.75
]
},
"clip": {
"min": [
0.125,
0,
0,
0
0.4375
],
"max": [
1,
0.3,
1
0.875,
0.1875,
0.75
]
}
},
@@ -10,26 +10,26 @@
"netease:aabb": {
"collision": {
"min": [
0.125,
0,
0,
0
0.4375
],
"max": [
1,
0.3,
1
0.875,
0.25,
0.8125
]
},
"clip": {
"min": [
0.125,
0,
0,
0
0.4375
],
"max": [
1,
0.3,
1
0.875,
0.25,
0.8125
]
}
},
@@ -10,26 +10,26 @@
"netease:aabb": {
"collision": {
"min": [
0.25,
0,
0,
0
0.4375
],
"max": [
1,
0.3,
1
0.75,
0.1875,
0.75
]
},
"clip": {
"min": [
0.25,
0,
0,
0
0.4375
],
"max": [
1,
0.3,
1
0.75,
0.1875,
0.75
]
}
},
@@ -10,26 +10,26 @@
"netease:aabb": {
"collision": {
"min": [
0.3125,
0,
0,
0
0.375
],
"max": [
1,
0.3,
1
0.6875,
0.125,
0.75
]
},
"clip": {
"min": [
0.3125,
0,
0,
0
0.375
],
"max": [
1,
0.3,
1
0.6875,
0.125,
0.75
]
}
},
@@ -10,26 +10,26 @@
"netease:aabb": {
"collision": {
"min": [
0.3125,
0,
0,
0
0.3125
],
"max": [
1,
0.3,
1
0.6875,
0.125,
0.6875
]
},
"clip": {
"min": [
0.3125,
0,
0,
0
0.3125
],
"max": [
1,
0.3,
1
0.6875,
0.125,
0.6875
]
}
},
@@ -4,7 +4,7 @@
"description": {
"identifier": "rtdd:brown_norieggsoup",
"register_to_creative_menu": true,
"category": "rtdd"
"category": "xy_finished"
},
"components": {
"netease:aabb": {
@@ -4,7 +4,7 @@
"description": {
"identifier": "rtdd:browncarrotfishsoupsoup",
"register_to_creative_menu": true,
"category": "rtdd"
"category": "xy_finished"
},
"components": {
"netease:aabb": {
@@ -4,7 +4,7 @@
"description": {
"identifier": "rtdd:brownlambsoupwithturnipssoup",
"register_to_creative_menu": true,
"category": "rtdd"
"category": "xy_finished"
},
"components": {
"netease:aabb": {
@@ -12,24 +12,24 @@
"min": [
0,
0,
0
0.125
],
"max": [
1,
0.7,
1
0.5,
0.875
]
},
"clip": {
"min": [
0,
0,
0
0.125
],
"max": [
1,
0.7,
1
0.5,
0.875
]
}
},
@@ -4,7 +4,7 @@
"description": {
"identifier": "rtdd:brownpigfootsoup",
"register_to_creative_menu": true,
"category": "rtdd"
"category": "xy_finished"
},
"components": {
"netease:aabb": {
@@ -4,7 +4,7 @@
"description": {
"identifier": "rtdd:brownvegetablefishsoup",
"register_to_creative_menu": true,
"category": "rtdd"
"category": "xy_finished"
},
"components": {
"netease:aabb": {
@@ -3,8 +3,8 @@
"minecraft:block": {
"description": {
"identifier": "rtdd:cake_0",
"register_to_creative_menu": true,
"category": "rtdd"
"register_to_creative_menu": false,
"category": "xy_finished"
},
"components": {
"netease:aabb": {
@@ -10,26 +10,26 @@
"netease:aabb": {
"collision": {
"min": [
0.1563,
0,
0,
0
0.1563
],
"max": [
1,
0.3,
1
0.8438,
0.5049,
0.8438
]
},
"clip": {
"min": [
0.1563,
0,
0,
0
0.1563
],
"max": [
1,
0.3,
1
0.8438,
0.5049,
0.8438
]
}
},
@@ -10,26 +10,26 @@
"netease:aabb": {
"collision": {
"min": [
0.1563,
0,
0,
0
0.1563
],
"max": [
1,
0.3,
1
0.8438,
0.5049,
0.8438
]
},
"clip": {
"min": [
0.1563,
0,
0,
0
0.1563
],
"max": [
1,
0.3,
1
0.8438,
0.5049,
0.8438
]
}
},
@@ -10,26 +10,26 @@
"netease:aabb": {
"collision": {
"min": [
0.1563,
0,
0,
0
0.4375
],
"max": [
1,
0.3,
1
0.8438,
0.5049,
0.8438
]
},
"clip": {
"min": [
0.1563,
0,
0,
0
0.4375
],
"max": [
1,
0.3,
1
0.8438,
0.5049,
0.8438
]
}
},
@@ -3,31 +3,31 @@
"minecraft:block": {
"description": {
"identifier": "rtdd:cake_1d",
"register_to_creative_menu": true,
"category": "rtdd"
"register_to_creative_menu": false,
"category": "xy_finished"
},
"components": {
"netease:aabb": {
"collision": {
"min": [
0.2188,
0.3,
0,
0.3125
],
"max": [
0.625,
0.7,
0.481,
0.7188
]
},
"clip": {
"min": [
0.2188,
0.3,
0,
0.3125
],
"max": [
0.625,
0.7,
0.481,
0.7188
]
@@ -10,26 +10,26 @@
"netease:aabb": {
"collision": {
"min": [
0.1563,
0,
0,
0
0.1563
],
"max": [
1,
0.3,
1
0.9451,
0.5961,
0.8643
]
},
"clip": {
"min": [
0.1563,
0,
0,
0
0.1563
],
"max": [
1,
0.3,
1
0.9451,
0.5961,
0.8643
]
}
},
@@ -10,26 +10,26 @@
"netease:aabb": {
"collision": {
"min": [
0.1563,
0,
0,
0
0.1563
],
"max": [
1,
0.3,
1
0.9451,
0.5961,
0.8643
]
},
"clip": {
"min": [
0.1563,
0,
0,
0
0.1563
],
"max": [
1,
0.3,
1
0.9451,
0.5961,
0.8643
]
}
},
@@ -10,26 +10,26 @@
"netease:aabb": {
"collision": {
"min": [
0.1563,
0,
0,
0
0.5
],
"max": [
1,
0.3,
1
0.9451,
0.5961,
0.8643
]
},
"clip": {
"min": [
0.1563,
0,
0,
0
0.5
],
"max": [
1,
0.3,
1
0.9451,
0.5961,
0.8643
]
}
},
@@ -3,31 +3,31 @@
"minecraft:block": {
"description": {
"identifier": "rtdd:cake_2d",
"register_to_creative_menu": true,
"category": "rtdd"
"register_to_creative_menu": false,
"category": "xy_finished"
},
"components": {
"netease:aabb": {
"collision": {
"min": [
0.375,
0.25,
0,
0.3125
],
"max": [
0.7813,
0.6,
0.5961,
0.6563
]
},
"clip": {
"min": [
0.375,
0.25,
0,
0.3125
],
"max": [
0.7813,
0.6,
0.5961,
0.6563
]
@@ -10,26 +10,26 @@
"netease:aabb": {
"collision": {
"min": [
0.1563,
0,
0,
0
0.1563
],
"max": [
1,
0.3,
1
0.8438,
0.5674,
0.8643
]
},
"clip": {
"min": [
0.1563,
0,
0,
0
0.1563
],
"max": [
1,
0.3,
1
0.8438,
0.5674,
0.8643
]
}
},
@@ -10,26 +10,26 @@
"netease:aabb": {
"collision": {
"min": [
0.1563,
0,
0,
0
0.1563
],
"max": [
1,
0.3,
1
0.8438,
0.5674,
0.8643
]
},
"clip": {
"min": [
0.1563,
0,
0,
0
0.1563
],
"max": [
1,
0.3,
1
0.8438,
0.5674,
0.8643
]
}
},
@@ -10,26 +10,26 @@
"netease:aabb": {
"collision": {
"min": [
0.1563,
0,
0,
0
0.1563
],
"max": [
1,
0.3,
1
0.75,
0.5674,
0.8643
]
},
"clip": {
"min": [
0.1563,
0,
0,
0
0.1563
],
"max": [
1,
0.3,
1
0.75,
0.5674,
0.8643
]
}
},
@@ -3,8 +3,8 @@
"minecraft:block": {
"description": {
"identifier": "rtdd:cake_3d",
"register_to_creative_menu": true,
"category": "rtdd"
"register_to_creative_menu": false,
"category": "xy_finished"
},
"components": {
"netease:aabb": {
@@ -10,26 +10,26 @@
"netease:aabb": {
"collision": {
"min": [
0.1875,
0,
0,
0
0.1875
],
"max": [
1,
0.3,
1
0.8125,
0.3125,
0.8125
]
},
"clip": {
"min": [
0.1875,
0,
0,
0
0.1875
],
"max": [
1,
0.3,
1
0.8125,
0.3125,
0.8125
]
}
},
@@ -10,26 +10,26 @@
"netease:aabb": {
"collision": {
"min": [
0.125,
0,
0,
0
0.125
],
"max": [
1,
0.3,
1
0.875,
0.4375,
0.875
]
},
"clip": {
"min": [
0.125,
0,
0,
0
0.125
],
"max": [
1,
0.3,
1
0.875,
0.4375,
0.875
]
}
},
@@ -10,26 +10,26 @@
"netease:aabb": {
"collision": {
"min": [
0.125,
0,
0,
0
0.125
],
"max": [
1,
0.3,
1
0.875,
0.25,
0.875
]
},
"clip": {
"min": [
0.125,
0,
0,
0
0.125
],
"max": [
1,
0.3,
1
0.875,
0.25,
0.875
]
}
},
@@ -44,6 +44,11 @@
},
"netease:face_directional": {
"type": "direction"
},
"netease:block_entity": {
"client_tick": false,
"movable": false,
"tick": false
}
}
}
@@ -12,24 +12,24 @@
"min": [
0,
0,
0
0.125
],
"max": [
1,
0.7,
1
0.5,
0.875
]
},
"clip": {
"min": [
0,
0,
0
0.125
],
"max": [
1,
0.7,
1
0.5,
0.875
]
}
},
@@ -12,24 +12,24 @@
"min": [
0,
0,
0
0.125
],
"max": [
1,
0.7,
1
0.5,
0.875
]
},
"clip": {
"min": [
0,
0,
0
0.125
],
"max": [
1,
0.7,
1
0.5,
0.875
]
}
},
@@ -12,24 +12,24 @@
"min": [
0,
0,
0
0.125
],
"max": [
1,
0.7,
1
0.5,
0.875
]
},
"clip": {
"min": [
0,
0,
0
0.125
],
"max": [
1,
0.7,
1
0.5,
0.875
]
}
},
@@ -12,24 +12,24 @@
"min": [
0,
0,
0
0.125
],
"max": [
1,
0.7,
1
0.5,
0.875
]
},
"clip": {
"min": [
0,
0,
0
0.125
],
"max": [
1,
0.7,
1
0.5,
0.875
]
}
},
@@ -12,24 +12,24 @@
"min": [
0,
0,
0
0.125
],
"max": [
1,
0.7,
1
0.5,
0.875
]
},
"clip": {
"min": [
0,
0,
0
0.125
],
"max": [
1,
0.7,
1
0.5,
0.875
]
}
},
@@ -12,24 +12,24 @@
"min": [
0,
0,
0
0.125
],
"max": [
1,
0.7,
1
0.5,
0.875
]
},
"clip": {
"min": [
0,
0,
0
0.125
],
"max": [
1,
0.7,
1
0.5,
0.875
]
}
},
@@ -12,24 +12,24 @@
"min": [
0,
0,
0
0.125
],
"max": [
1,
0.7,
1
0.5,
0.875
]
},
"clip": {
"min": [
0,
0,
0
0.125
],
"max": [
1,
0.7,
1
0.5,
0.875
]
}
},
@@ -12,24 +12,24 @@
"min": [
0,
0,
0
0.125
],
"max": [
1,
0.7,
1
0.5,
0.875
]
},
"clip": {
"min": [
0,
0,
0
0.125
],
"max": [
1,
0.7,
1
0.5,
0.875
]
}
},
@@ -12,24 +12,24 @@
"min": [
0,
0,
0
0.125
],
"max": [
1,
0.7,
1
0.5,
0.875
]
},
"clip": {
"min": [
0,
0,
0
0.125
],
"max": [
1,
0.7,
1
0.5,
0.875
]
}
},
Loaded 100 of 819 files, more files were not shown because too many files have changed in this diff. Show more