Rasterized 3D Minecraft V1.0 [#game #all]

复制链接 & 嵌入
链接
复制链接
嵌入网页
复制嵌入代码
进入全屏模式
载入作品
正在创建积木……
载入角色……
载入声音……
加载扩展……
正在创建积木……
呼唤小猫……
传送Nano……
给Gobo充气 …
准备表情……
还没有人打赏!
最后修改于2023年11月05日

指导教师

操作说明

⚠️PLAY ON TURBOWARP!⚠️
HTTPS://TURBOWARP.ORG/805994032?TURBO&HQPEN

CONTROLS:
WASD TO MOVE
RF TO GO UP AND DOWN
SPACE TO JUMP
) TO DELETE ALL THE ENTITIES
Y TO CHANGE DIMENSION (FROM NETHER TO OVERWORLD)

GO HERE TO SHARE YOUR TEXTURE PACKS: HTTPS://SCRATCH.MIT.EDU/DISCUSS/TOPIC/614266/?PAGE=1#POST-6414414

AFTER MORE THAN A YEAR OF DEVELOPMENT (FOR MY MINECRAFT PROJECT, NOT JUST FOR THIS RASTERIZED VERSION) AND +24K BLOCKS, RASTERIZED 3D MINECRAFT IS OUT!

IT'S ONE OF THE MOST ADVANCED 3D MINECRAFT GAME ON SCRATCH!
THINGS THAT MAKE IT UNIQUE:
-ACCESSIBILITY SETTINGS*
-TEXTURED MOBS!*
-ENTITIES WITH SHADOWS*
-AMBIENT OCCLUSION
-EDITABLE KEYBINDS*
-TEXTURE PACKS*
-TNTS!*
-FALLING SAND*
-WORKING CREATIVE INVENTORY
-BLOCK IN HAND DISPLAY!*
-COMMANDS!*
-SOME VANILLATWEAKS FEATURES*
-NETHER
-NETHER PORTALS*

*FIRST SCRATCH 3D MINECRAFT GAME TO HAVE IT

PLANNED:
-MORE COMMANDS
-MORE BLOCKS
-MAKE A BETTER SURVIVAL MODE
-CRAFTS
-WORLD SAVING
-CHESTS
-WORKING FURNACES
-RGBA/HEX INPUT IN THE TEXTURE EDITOR
-BETTER MOBILE CONTROLS
-HITTABLE MOBS
-OPTIMIZATION!

备注与谢志

https://scratch.mit.edu/projects/805994032/

开发日志

扩展

翻译

画笔

文字朗读

 

变量

🧍 | PZ

🎥 | RotX

🎥 | RotY

🧍 | PX

Center block

⚙️ | res

🗺️ | LevelY

🧍 | PY

🗺️ | LevelX

selected block [texture editor]

color [texture editor]

green [texture editor]

red [texture editor]

Hexadecimal [texture editor]

selected pixel [texture editor]

x [texture editor]

transparency [texture editor]

scroll [texture editor]

counter [texture editor]

⚙️ | shadows

🧍 | Player Chunk X

🧍 | Player Chunk Z

🗺️ | LevelZ

interface open

🎒 | inventory scroll

selectionned [Inventory]

moved?

⚙️ | narrator

Selected

🗣️ | Narrator

⚙️ | gamemode

say [sound manager]

🕹️ | x_joystick 1

🕹️ | y_joystick 1

⚙️ | ambient occlusion

Time

⚙️ | nearPlaneDistance

🧍 | z coordinate

🧍 | x coordinate

⚙️ | chunks loaded

☀️ | Sun x

☀️ | Sun y

💡 | DirX

💡 | DirY

💡 | DirZ

.SinX

.CosY

.CosX

☀️ | Sun visible

j

📊 | FPS

color a [texture editor]

color b [texture editor]

color g [texture editor]

💻 | Screen height

💻 | Screen width

📊 | Tris

📊 | World loading progress

👣 | footsteps sound

i [texture editor]

blue [texture editor]

🎒 | Inventory tab n°

inventory tab open [Inventory]

Menu

⛏️ | Breaking tool

⛏️ | Breaking speed

⛏️ | Breaking power

costume name [Inventory]

.SinY

counter [Inventory]

temp count [Inventory]

Render method

middle block dist [Alternative renderer]

middle block [Alternative renderer]

middle block face [Alternative renderer]

yv [Alternative renderer]

jump [Alternative renderer]

jumping [Alternative renderer]

i

pixelsize [texture editor]

_i6 [TextEngine]

🗺️ | World created

color r [Textures]

targeted entity

seed

Semi-chunks size

Object x [Alternative renderer]

Object y [Alternative renderer]

Object z [Alternative renderer]

⚙️ | outline

⚙️ | device

c [Alternative renderer]

hitbox head [Renderer]

old in portal frame [Renderer]

🗺️ | Dimension

n.x [Generation]

n.y [Generation]

Transformation frame [Renderer]

🗺️ | World type

⚙️ | entities shadows

global temp var

 

列表

Level

textures

temp textures [Textures]

seed

Level data

Triple click + Ctrl C to copy

modified blocks

modified blocks data

chunks loaded

Keybinds

tab for block [Inventory]

Number in each tab [Inventory]

Name of the textures

🎒 | Inventory

Textures for block

Block textures

y/n [General settings]

perlinVectors

/command interpreter

Play on Turbowarp!

list [texture editor]

⛏️ | Time to break

Sounds for block

💡 | Affect sunlight

💡 | Light pass through

💡 | Lightning data

⛏️ | Tool needed to get loot

🎒 | Item count

🎒 | Stackable

⛏️ | Drops

⛏️ | Tool to break

💡 | AmbientOcclusion

🎲 | Number of randomized textures

points [Renderer]

buffer: frame

Level facing data

Block hitbox

💡 | Sunlight

.obj

Model v

Model f

Model vn

Model vt

Model i

entities

_chData0 [TextEngine]

_chData1 [TextEngine]

_chData2 [TextEngine]

_chData3 [TextEngine]

_chIndex [TextEngine]

_chWidth [TextEngine]

tmp2

keybinds value [TextEngine]

all keys [TextEngine]

buffer: dist

nametags

visible: # [Alternative renderer]

temp [Alternative renderer]

visible: h [Alternative renderer]

visible: h# [Alternative renderer]

texture index

temp update frame

portal temp [Renderer]

temp purple list [Renderer]

Custom model

Collisions for blocks

skyblock data [Menu - extra]

 

角色

Stage

造型

背景1

bckdp

hd_minecraft_background_by_banetm_d7m6vw5-pre

color picker

backdrop1

 

声音

pop

Minecraft - Calm 1 - Old

 

代码

当 绿旗 被点击

执行 Create keybinds

执行 Create settings

执行 Setup lists

 

当 绿旗 被点击

将 {interface open} 设为 menu

将 {⚙️ | debug} 设为 0

重复执行

等待 (按下 3 键? 与 按下 n 键?) 不成立

等待 (按下 3 键? 与 按下 n 键?)

将 {⚙️ | debug} 设为 (1 - {⚙️ | debug})

 

当 绿旗 被点击

重复执行

播放声音 Minecraft - Calm 1 - Old 等待播完

 

当 绿旗 被点击

重复执行

将音量设为 {⚙️ | music volume}%

 

定义 Create settings

将 {⚙️ | device} 设为 mobile

如果 (用户名 = maDU59_) 不成立 那么

将 {⚙️ | music volume} 设为 50

如果 {is compiled?} 那么

将 {⚙️ | res} 设为 6

将 {⚙️ | outline} 设为 0.5

将 {⚙️ | shadows} 设为 1

将 {⚙️ | chunks loaded} 设为 3

将 {⚙️ | ambient occlusion} 设为 0.5

将 {⚙️ | lightning} 设为 1

否则

将 {⚙️ | ambient occlusion} 设为 0

将 {⚙️ | res} 设为 8

将 {⚙️ | outline} 设为 0.75

将 {⚙️ | shadows} 设为 0

将 {⚙️ | chunks loaded} 设为 3

将 {⚙️ | lightning} 设为 0

将 {⚙️ | entities shadows} 设为 0

 

定义 Convert .obj to model with name: {name}

将 {name} 加入 {Model i}

将 {Model f} 的项目数 加入 {Model i}

在 ({Model vn} 的项目数 / 3) 的第 1 项前插入 {Model f}

在 ({Model vt} 的项目数 / 2) 的第 1 项前插入 {Model f}

在 ({Model v} 的项目数 / 3) 的第 1 项前插入 {Model f}

重复执行 {.obj} 的项目数 次

如果 (({.obj} 的第 1 项 的第 1 个字符 = v) 与 ({.obj} 的第 1 项 的第 2 个字符 = )) 那么

将 {i} 设为 2

重复执行 3 次

将 {i} 增加 1

将 {j} 设为

重复执行直到 (({.obj} 的第 1 项 的第 {i} 个字符 = ) 或 ({.obj} 的第 1 项 的第 {i} 个字符 = ))

将 {j} 设为 连接 {j} 和 {.obj} 的第 1 项 的第 {i} 个字符

将 {i} 增加 1

将 {j} 加入 {Model v}

否则

如果 (({.obj} 的第 1 项 的第 1 个字符 = f) 与 ({.obj} 的第 1 项 的第 2 个字符 = )) 那么

将 {i} 设为 2

将 {i} 增加 1

重复执行直到 (({.obj} 的第 1 项 的第 {i} 个字符 = ) 或 ({.obj} 的第 1 项 的第 {i} 个字符 = ))

将 {i} 增加 1

重复执行 3 次

将 {i} 增加 1

将 {j} 设为

重复执行直到 (({.obj} 的第 1 项 的第 {i} 个字符 = ) 或 ({.obj} 的第 1 项 的第 {i} 个字符 = ))

如果 ({.obj} 的第 1 项 的第 {i} 个字符 = /) 那么

如果 ({Model f} 的项目数 除以 3 的余数 = 0) 那么

将 {j} 增加 {Model f} 的第 1 项

否则

如果 (({Model f} 的项目数 + 2) 除以 3 的余数 = 0) 那么

将 {j} 增加 {Model f} 的第 2 项

否则

如果 (({Model f} 的项目数 + 1) 除以 3 的余数 = 0) 那么

将 {j} 增加 {Model f} 的第 3 项

将 {j} 加入 {Model f}

将 {j} 设为

否则

将 {j} 设为 连接 {j} 和 {.obj} 的第 1 项 的第 {i} 个字符

将 {i} 增加 1

如果 ({Model f} 的项目数 除以 3 的余数 = 0) 那么

将 {j} 增加 {Model f} 的第 1 项

否则

如果 (({Model f} 的项目数 + 2) 除以 3 的余数 = 0) 那么

将 {j} 增加 {Model f} 的第 2 项

否则

如果 (({Model f} 的项目数 + 1) 除以 3 的余数 = 0) 那么

将 {j} 增加 {Model f} 的第 3 项

将 {j} 加入 {Model f}

将 {i} 设为 2

将 {i} 增加 1

将 {j} 设为

重复执行直到 (({.obj} 的第 1 项 的第 {i} 个字符 = ) 或 ({.obj} 的第 1 项 的第 {i} 个字符 = ))

如果 ({.obj} 的第 1 项 的第 {i} 个字符 = /) 那么

如果 ({Model f} 的项目数 除以 3 的余数 = 0) 那么

将 {j} 增加 {Model f} 的第 1 项

否则

如果 (({Model f} 的项目数 + 2) 除以 3 的余数 = 0) 那么

将 {j} 增加 {Model f} 的第 2 项

否则

如果 (({Model f} 的项目数 + 1) 除以 3 的余数 = 0) 那么

将 {j} 增加 {Model f} 的第 3 项

将 {j} 加入 {Model f}

将 {j} 设为

否则

将 {j} 设为 连接 {j} 和 {.obj} 的第 1 项 的第 {i} 个字符

将 {i} 增加 1

如果 ({Model f} 的项目数 除以 3 的余数 = 0) 那么

将 {j} 增加 {Model f} 的第 1 项

否则

如果 (({Model f} 的项目数 + 2) 除以 3 的余数 = 0) 那么

将 {j} 增加 {Model f} 的第 2 项

否则

如果 (({Model f} 的项目数 + 1) 除以 3 的余数 = 0) 那么

将 {j} 增加 {Model f} 的第 3 项

将 {j} 加入 {Model f}

将 {i} 增加 1

将 {j} 设为

重复执行直到 (({.obj} 的第 1 项 的第 {i} 个字符 = ) 或 ({.obj} 的第 1 项 的第 {i} 个字符 = ))

如果 ({.obj} 的第 1 项 的第 {i} 个字符 = /) 那么

如果 ({Model f} 的项目数 除以 3 的余数 = 0) 那么

将 {j} 增加 {Model f} 的第 1 项

否则

如果 (({Model f} 的项目数 + 2) 除以 3 的余数 = 0) 那么

将 {j} 增加 {Model f} 的第 2 项

否则

如果 (({Model f} 的项目数 + 1) 除以 3 的余数 = 0) 那么

将 {j} 增加 {Model f} 的第 3 项

将 {j} 加入 {Model f}

将 {j} 设为

否则

将 {j} 设为 连接 {j} 和 {.obj} 的第 1 项 的第 {i} 个字符

将 {i} 增加 1

如果 ({Model f} 的项目数 除以 3 的余数 = 0) 那么

将 {j} 增加 {Model f} 的第 1 项

否则

如果 (({Model f} 的项目数 + 2) 除以 3 的余数 = 0) 那么

将 {j} 增加 {Model f} 的第 2 项

否则

如果 (({Model f} 的项目数 + 1) 除以 3 的余数 = 0) 那么

将 {j} 增加 {Model f} 的第 3 项

将 {j} 加入 {Model f}

重复执行 1 次

将 {i} 增加 1

重复执行直到 (({.obj} 的第 1 项 的第 {i} 个字符 = ) 或 ({.obj} 的第 1 项 的第 {i} 个字符 = ))

将 {i} 增加 1

将 {i} 增加 1

将 {j} 设为

重复执行直到 (({.obj} 的第 1 项 的第 {i} 个字符 = ) 或 ({.obj} 的第 1 项 的第 {i} 个字符 = ))

如果 ({.obj} 的第 1 项 的第 {i} 个字符 = /) 那么

如果 ({Model f} 的项目数 除以 3 的余数 = 0) 那么

将 {j} 增加 {Model f} 的第 1 项

否则

如果 (({Model f} 的项目数 + 2) 除以 3 的余数 = 0) 那么

将 {j} 增加 {Model f} 的第 2 项

否则

如果 (({Model f} 的项目数 + 1) 除以 3 的余数 = 0) 那么

将 {j} 增加 {Model f} 的第 3 项

将 {j} 加入 {Model f}

将 {j} 设为

否则

将 {j} 设为 连接 {j} 和 {.obj} 的第 1 项 的第 {i} 个字符

将 {i} 增加 1

如果 ({Model f} 的项目数 除以 3 的余数 = 0) 那么

将 {j} 增加 {Model f} 的第 1 项

否则

如果 (({Model f} 的项目数 + 2) 除以 3 的余数 = 0) 那么

将 {j} 增加 {Model f} 的第 2 项

否则

如果 (({Model f} 的项目数 + 1) 除以 3 的余数 = 0) 那么

将 {j} 增加 {Model f} 的第 3 项

将 {j} 加入 {Model f}

否则

如果 (({.obj} 的第 1 项 的第 1 个字符 = v) 与 ({.obj} 的第 1 项 的第 2 个字符 = n)) 那么

将 {i} 设为 3

重复执行 3 次

将 {i} 增加 1

将 {j} 设为

重复执行直到 (({.obj} 的第 1 项 的第 {i} 个字符 = ) 或 ({.obj} 的第 1 项 的第 {i} 个字符 = ))

将 {j} 设为 连接 {j} 和 {.obj} 的第 1 项 的第 {i} 个字符

将 {i} 增加 1

将 {j} 加入 {Model vn}

否则

如果 (({.obj} 的第 1 项 的第 1 个字符 = v) 与 ({.obj} 的第 1 项 的第 2 个字符 = t)) 那么

将 {i} 设为 3

重复执行 2 次

将 {i} 增加 1

将 {j} 设为

重复执行直到 (({.obj} 的第 1 项 的第 {i} 个字符 = ) 或 ({.obj} 的第 1 项 的第 {i} 个字符 = ))

将 {j} 设为 连接 {j} 和 {.obj} 的第 1 项 的第 {i} 个字符

将 {i} 增加 1

将 {j} 加入 {Model vt}

否则

删除 {.obj} 的第 1 项

重复执行 3 次

删除 {Model f} 的第 1 项

将 {Model f} 的项目数 加入 {Model i}

将 加入 {Model i}

 

定义 Create keybinds

删除 {Keybinds} 的全部项目

如果 (访客语言 = Français) 那么

将 z 加入 {Keybinds}

将 s 加入 {Keybinds}

将 q 加入 {Keybinds}

否则

将 w 加入 {Keybinds}

将 s 加入 {Keybinds}

将 a 加入 {Keybinds}

将 d 加入 {Keybinds}

将 e 加入 {Keybinds}

将 f 加入 {Keybinds}

将 r 加入 {Keybinds}

将 space 加入 {Keybinds}

将 shift 加入 {Keybinds}

将 control 加入 {Keybinds}

将 t 加入 {Keybinds}

如果 (访客语言 = Français) 那么

将 & 加入 {Keybinds}

将 é 加入 {Keybinds}

将 " 加入 {Keybinds}

将 ' 加入 {Keybinds}

将 ( 加入 {Keybinds}

将 - 加入 {Keybinds}

将 è 加入 {Keybinds}

将 _ 加入 {Keybinds}

将 ç 加入 {Keybinds}

否则

将 1 加入 {Keybinds}

将 2 加入 {Keybinds}

将 3 加入 {Keybinds}

将 4 加入 {Keybinds}

将 5 加入 {Keybinds}

将 6 加入 {Keybinds}

将 7 加入 {Keybinds}

将 8 加入 {Keybinds}

将 9 加入 {Keybinds}

将 c 加入 {Keybinds}

将 n + 3 加入 {Keybinds}

 

定义 Setup lists

将 {j} 设为 0

删除 {🎲 | Number of randomized textures} 的全部项目

重复执行 {Textures for block} 的项目数 次

将 {j} 增加 1

如果 {Name of the textures} 的第 {j} 项 包含 _randomized? 那么

将 加入 {🎲 | Number of randomized textures}

否则

将 {List item} 设为 1

重复执行直到 {Name of the textures} 包含 连接 {Name of the textures} 的第 {j} 项 和 连接 _randomized 和 {List item} ? 不成立

将 {List item} 增加 1

将 ({List item} - 1) 加入 {🎲 | Number of randomized textures}

将 {j} 设为 0

删除 {texture index} 的全部项目

重复执行 {Block textures} 的项目数 次

将 {j} 增加 1

将 {Name of the textures} 中第一个 {Block textures} 的第 {j} 项 的编号 加入 {texture index}

将 {△height} 设为 0

将 {△max} 设为 0

重复执行 ({Model i} 的项目数 / 4) 次

将 {△height} 增加 1

将 {i} 设为 ({Model i} 的第 ((({△height} - 1) * 4) + 2) 项 + 1)

重复执行 (({Model i} 的第 ((({△height} - 1) * 4) + 3) 项 - ({i} - 1)) / 3) 次

将 {💡 | DirX} 设为 {Model v} 的第 (({Model f} 的第 {i} 项 * 3) - 2) 项

将 {💡 | DirY} 设为 {Model v} 的第 (({Model f} 的第 {i} 项 * 3) - 1) 项

将 {💡 | DirZ} 设为 {Model v} 的第 ({Model f} 的第 {i} 项 * 3) 项

如果 ((({💡 | DirX} * {💡 | DirX}) + (({💡 | DirY} * {💡 | DirY}) + ({💡 | DirZ} * {💡 | DirZ}))) > {△max}) 那么

将 {△max} 设为 (({💡 | DirX} * {💡 | DirX}) + (({💡 | DirY} * {💡 | DirY}) + ({💡 | DirZ} * {💡 | DirZ})))

将 {i} 增加 3

将 {Model i} 的第 ({△height} * 4) 项替换为 平方根({△max})

 

定义 {is Turbowarp?} {is compiled?}

 

角色1

 

Blank

 

Renderer

 

Generation

 

Textures

 

Menu

 

Menu - extra

 

texture editor

 

sound manager

 

Inventory

 

TextEngine

 

Settings

 

Joystick engine

 

Commmands documentation