精华内容
下载资源
问答
  • 衍射计算的MATLAB源代码,直接用MATLAB打开即可运行
  • 我的世界1.12mod开发资源:minecraft coder pack 940.zip
  • MC-ResporcePack-助手 我的世界资源包的助手。
  • 资源

    千次阅读 2021-08-11 05:36:55
    资源包允许玩家自定义材质、模型、音乐、声音、语言文件、终末之诗、菜单界面UI、闪烁标语的显示文本和字体,而不用修改任何代码。[1]中文名资源包外文名Resource Pack登场作品资源包Java版编辑语音资源包行为自Java...

    资源包(Resource Pack)系统为材质包系统的API替代品,允许玩家更深度地自定义自己的Minecraft体验。资源包允许玩家自定义材质、模型、音乐、声音、语言文件、终末之诗、菜单界面UI、闪烁标语的显示文本和字体,而不用修改任何代码。[1]

    中文名

    资源包外文名

    Resource Pack

    登场作品

    资源包Java版

    编辑

    语音

    资源包行为

    自Java版1.14起默认的资源包配置。

    资源包的选择菜单,展示了两个已选的资源包(不包括默认资源包),一个不支持的资源包和其他各种可用的资源包。

    资源包可以放置在.minecraft里面的resourcepacks文件夹。每个资源包都是一个子文件夹或一个.zip文件,这个文件里面有resourcepacks文件夹。它被放置在文件夹里面后,就可以从选项菜单中添加资源包,这个资源包可以从“可用的资源包”移动到“已选的资源包”。“已选的资源包”下面的默认资源会始终存在,并且不能被移除。

    资源包会按照列表上的顺序加载它们的资源。最下面的资源包(总是“默认”的那个)将会首先加载,然后每个资源包会代替上一个相同名称的资源。默认资源包[编辑 | 编辑源代码]

    首先将资源包打包为resources.zip,然后将这个zip文件放入地图文件夹里就可以与地图捆绑在一起了。当游玩这个地图时,资源包会自动出现于默认资源包的右上方。

    通过向服务器属性文件里面resource-pack=一行更改为一个.zip文件的下载链接就能在服务器上设置默认资源包了。用户仍然可以选择使用或者选择不下载这个资源包。

    旧材质(材质更新前的)在名为“Programmer Art”的资源包中可用。

    资源包文件结构

    (资源包名称)pack.mcmeta

    pack.png

    assetsiconsicon_16x16.png

    icon_32x32.png

    minecraft.icns

    (命名空间)sounds.json

    blockstates(blockstate).json

    font(字体)

    iconsicon_16x16.png

    icon_32x32.png

    minecraft.icns

    lang(语言).json

    modelsblock(模型).json

    item(模型).json

    particles(粒子).json

    sounds(声音).ogg

    shaderspost(post).json

    program(fragment shader).fsh

    (program).json

    (vertex shader).vsh

    texts(文本).txt

    texturesblock(材质).png

    colormap(材质).png

    effect(材质).png

    entity(材质).png

    (实体种类)(材质).png

    environment(材质).png

    font(材质).png

    gui(材质).png

    advancements(材质).png

    backgrounds(材质).png

    container(材质).png

    creative_inventory(材质).png

    presets(材质).png

    title(材质).png

    background(材质).png

    item(材质).png

    map(材质).png

    misc(材质).png

    mob_effect(材质).png

    modelsarmor(材质).png

    painting(材质).png

    particle(材质).png

    资源包内容

    Minecraft是通过根目录里的pack.mcmeta来识别一个资源包的,这个文件的格式为JSON格式。根标签pack:保存资源包的信息pack_format:资源包版本。如果这个数值与当前需要的数值不匹配,则资源包就会显示一个错误,进行附加确认后才能加载资源包。在1.6.1(13w24a)至1.8.9中需要的数值为1,在1.9(15w31a)至1.10.2中为2,在1.11(16w32a)至1.12.2(1.13:17w47b)中为3,在1.13(17w48a)至1.14.4(1.15:19w46b)中为4,在1.15(1.15-pre1)至1.16.1(1.16.2:1.16.2-pre3)中为5,在1.16.2(1.16.2-rc1)至1.16.5为6,在1.17(20w45a以上)则为7。

    description:在资源包菜单里要显示的资源包名称。该文字将会显示为2行。如果文字太长,那么超长的部分就会被砍掉。

    description: 包含一个原始JSON文本对象,它将在资源包菜单中显示为包描述。与string标签description具有相同的行为,但是它们不能一起存在。

    language:包含了要向语言菜单里添加的附加语言。A language 一个语言的语言代码,其与文件夹里.lang的名字相同assets/minecraft/lang。name:语言的完整名称。

    region:国家或地区名称。

    bidirectional:若为true,语言将会从右到左显示。

    根目录也包含一个叫作pack.png的可选图像,这个图像将会在资源包选择菜单中作为资源包的缩略图显示。

    资源包语言

    可以在资源包的assets//lang文件夹内创建.json类型的语言文件。每个文件可以取代优先级低的或默认的同名文件,或者创建由pack.mcmeta定义的新语言。

    .json文件里的每一行都是标准的JSON格式"标识符":"名称",其后紧接一个逗号。

    标识符是游戏寻找的某个特性的名称,它不应该被更改。

    名称是显示的名称内容。例如,默认语言文件里的石头是"block.minecraft.stone":"Stone",其中block.minecraft.stone

    Stone是标识符,

    是显示的名称。空行会被忽略。文件必须是正确的JSON语法,这意味着它以一个{开始,在每个键值对(最后一个除外)后有一个逗号,并以一个}结束。

    语言文件只需要添加资源包确实要修改的内容。任何不在资源包内的名称都会从下面的包中加载,或者如果没有包修改了名称,则从默认资源中加载。

    资源包模型

    模型是一些以JSON格式储存的,扩展名为.json的文件,这些文件决定了方块和物品的形状和材质。

    方块使用assets/minecraft/blockstates的一个方块状态文件,来决定每个变种要从中加载的模型。同时,每个物品都有一个物品模型来决定它的模型,这个模型会从一个方块模型里加载,包含了它自己自定义的模型,或者使用默认的“平面”或“实体”模型。

    如果没有被覆盖,那么在下面的资源包所使用的模型和方块状态仍然会被加载,这可能会导致一些材质和模型被上方的资源包使用,而没有被再次加载。

    资源包音效

    资源包加载文件格式为.ogg或.fsb的附加音效。每个在资源包里面的音效都会覆盖下面的资源包。资源包包含一个sounds.json文件,其位置在assets/minecraft里。与资源包其他的文件不同,sounds.json会合并其上一个资源包的音效,而不是完全覆盖每个sounds.json文件。

    资源包材质

    要让方块或物品材质正常显示,那么它们的宽度和高度必须相等(如果是动态材质,那么高度要是宽度的倍数);否则,只会显示黑紫方格交错的材质。对于其他多数材质,文件会被简单的拉伸,以符合所需的尺寸。

    多数固体方块会把任何透明的地方变成完全不透明的。一些拥有类似于拼贴的透明区域方块(类似于草),会把所有不透明度低于10%的像素变成全透明像素,其他像素变成完全不透明像素。其他方块渲染材质会保留半透明区域。所有的半透明的物品和任何方块/实体,都会默认支持半透明。

    如果一个材质文件不存在于任何的资源包(包括默认资源包)中,那么这个材质将会显示为一个黑紫方格交错的材质。

    资源包动态材质

    方块和物品材质支持动态材质,在图片的每一帧的下面放置另外一帧就能做成动态材质了。动态材质是被一个在相同目录,相同名称,以JSON格式存储的.mcmeta文件进行控制。例如,stone.png的.mcmeta文件的文件名是stone.png.mcmeta。根标签animation:包含了动态材质的数据的标签interpolate:若为 true,Minecraft 将会在帧与帧之间生成一张间隔时间大于1的帧。默认为false。

    width:方块的宽度,以直接比例而不是像素为单位。这在原版中没有使用,但是可以被mod使用以具有不是完整正方形的帧。

    height:方块的高度,以直接比例而不是像素为单位。这在原版中没有使用,但是可以被mod使用以具有不是完整正方形的帧。

    frametime:设置在每个游戏刻内每一帧的时间增量。默认为1。

    frames:一个帧列表。帧的显示顺序默认为从上至下。指定开始播放的帧的位置,最上面的一帧为 0

    A frame 为每一帧指定附加数据index:指定开始播放的帧的位置,最上面的一帧为 0

    time:这一帧的显示时间(单位:刻),覆盖上面的“frametime”。

    如果资源包里没有.mcmeta文件,并且材质是动态的,那么游戏将会认为这个材质不是动态材质,不会从下一个包继续加载.mcmeta文件。如果一个维度不相同的材质没有其对应的.mcmeta文件,那么这个材质将会显示为黑紫方格交错的材质。

    资源包村民

    其材质assets/minecraft/textures/entity/villager

    和assets/minecraft/textures/entity/zombie_villager里。支持后缀名为.mcmeta的JSON格式文件用于指明可应用于帽子层的附加效果,位于相同目录,与对应材质文件有相同名称。例如,文件profession/farmer.png可以附带具有一个名为profession/farmer.png.mcmeta的文件。

    如果文件夹中不存在对应的.mcmeta文件,而材质文件中存在材质,则游戏将加载默认设置,而不是从下方的资源包里加载.mcmeta文件。

    资源包颜色图

    颜色图是一个 256×256 像素的图片,用于告诉游戏在每个生物群系要使用的颜色。它们的位置在assets/minecraft/textures/colormap里。游戏包含2张颜色图,一张是foliage.png,指定植物如树叶(除了桦木和云杉木)和藤蔓的颜色;还有一张是grass.png,指定草和草方块的颜色。颜色图可以通过移除个别方块上的tintindex标签而被禁用。

    资源包杂项

    assets/minecraft/textures/misc里的材质支持用一个以JSON格式储存的.mcmeta文件来向材质应用附加效果。文件的位置与材质的位置处于同一目录,与材质的文件名也一样,除了.mcmeta后缀。例如,文件pumpkinblur.png对应的属性文件的文件名为pumpkinblur.png.mcmeta。根标签texture:包含了材质的数据blur:指定从近距离观察时是否导致材质模糊。默认为false。

    clamp:指定是否在原来的情况下以伸展材质代替平铺材质。默认为false。

    mipmaps:材质的自定义mipmap值。

    如果资源包里材质文件对应的.mcmeta文件缺失,那么游戏将会加载默认设置,而不是从下一个资源包中继续加载.mcmeta文件。[1]

    资源包文本

    在assets/minecraft/texts里的3个 UTF-8 格式的.txt文件储存了游戏要用来显示的文本。

    文件end.txt含有终末之诗的文本,使用了样式代码的颜色代码来区分2个讲话人,文本PLAYERNAME将会被玩家名称代替。在展示完了这个文件的内容后,接着就会显示credits.txt的内容。

    资源包字体

    字体文件指位于资源包中assets//font目录下的JSON文件。该文件内含提供每个字符对应的资源位置和额外信息的列表。

    minecraft:default给出了默认字体,而minecraft:alt给出了附魔台所用的默认字体。 提供字体时的资源位置应当包含文件扩展名。根标签providers: 提供加入该字体的信息的列表。提供字体的信息。内容取决于“type”标签的值。type: 该字体提供者的信息,可为以下选项之一。bitmap: 位图字体file: 欲使用文件的资源位置,以assets//textures开始。

    height: 可选。该字符的高度,以像素为单位。可以为负。该标签与源材质中使用的区域不相关,仅用于重新调整显示结果。

    ascent: 该字体的上伸高度(基线至最高点的距离),以像素为单位。 这个值会使得字体的显示结果出现垂直偏移。

    chars: 一个字符串列表,包含该字体替换的字符及其在材质中的位置。列表所有元素的字符数必须相同。该列表中的一项元素对应材质等距分割的一行,每一个元素中的字符对应等距的一列。

    legacy_unicode: 旧版Unicode字体。该字体格式已废弃且仅在“强制Unicode字体”选项打开时才会优先使用。sizes: assets//font目录下的资源位置,给出一个描述每个字符的水平起讫位置(从0至15)的二进制文件。目标文件的拓展名必须为.bin。

    template: assets//textures目录下的资源位置,给出该字体应当使用的材质文件。游戏会将该标签中的%s 替换为被替换字符的十六进制代码的前两个字符,因此单个此种类的字体提供者可以指向多个贴图文件。

    ttf: TrueType字体.[需要更多信息]file: assets//font目录下的TrueType字体文件的资源位置。

    shift: 该字体提供者的字体偏移。左侧偏移

    下方偏移

    size: 欲渲染的字体大小。

    oversample: 欲渲染的分辨率。

    skip: 欲排除的字符串或字符串数组。

    字体材质表会基于每行中的字符个数自动缩放。为了与Unicode块保持一致,部分材质表可能为16个字符宽。

    资源包基岩版

    编辑

    语音

    与皮肤类似,可以在基岩版中购买或制作资源包。iOS用户截至Alpha 0.15.0可以使用.mcpack和.mcworld文件在系统上下载资源包。打开这些文件后,游戏会自动导入它们,而无需使用文件管理应用。[1]

    资源包你知道吗

    编辑

    语音

    Java版Alpha v1.2.2到1.14使用的默认资源包的pack.png是Java版Alpha v1.2.2中种子3257840388504953787在坐标约x=49,z=0的截图,它在2020年9月5日 4:04(UTC)[5]被“Minecraft@Home”社区的玩家发现。此时,距离它的发布已经过去了近10年的时间。[6]

    词条图册

    更多图册

    参考资料

    1.

    资源包 - Minecraft Wiki,最详细的官方我的世界百科

    .Minecraft Wiki[引用日期2021-05-29]

    展开全文
  • 下载了微软的MC2,对于其1G的容量深恶痛绝,本身只想看看源码而已吗,怎么连那么多资源文件都下下来了,浪费了我近2个小时的时间,于是就决心要做个只含源码的精简版,才2M多,着实瘦身不少!
  • MC9S08DZ 学习板是基于MC9S08DZ 系列芯片开发的一款学习板。该学习板硬件资源丰富,布局清晰明了,利用该学习板的资源可熟悉和掌握MC9S08DZ 系列芯片的功能。
  • 使用Visual Studio自带的MC.exe工具来创建一个消息资源并将其添加到自己的DLL(或.exe)中,从而达到为自己的模块添加错误代码的目的。 相应的文章链接http://blog.csdn.net/s634772208/article/details/46402677
  • 本程序可以提取并重命名Minecraft的资源文件(语言翻译,声音等),并重命名,可以直观的看到原文件名。 本程序位命令行程序,加-h参数查看帮助。 最后说一句:我代码就是乱,来打我啊?
  • CDD_MC33771.rar

    2020-05-18 14:47:42
    复杂驱动Cdd Mc33771C的驱动代码 根据.h的参考配置设置MCU底层接口和 应用层调度时序 自己开发的资源代码---请认真评价
  • 本文主要介绍怎么使用Visual Studio自带的MC.exe工具来创建一个消息资源并将其添加到自己的DLL(或.exe)中,从而达到为自己的模块添加错误代码的目的。

    本文主要介绍怎么使用Visual Studio自带的MC.exe工具来创建一个消息资源并将其添加到自己的DLL(.exe)中,从而达到为自己的模块添加错误代码的目的。

     

    一、MC工具介绍

    Message Compiler(MC) 是用来创建消息资源的工具,这些消息资源被DLL(EXE)模块引用。MC的输入是一个特定格式的文本文件,即*.mc文件,这种特定格式使得在一个文件中定义多种语言支持变得非常容易。

    当编写完成一个*.mc文件之后,为了在程序中使用这个文件,你需要一些操作。首先,使用MC工具将这种文件编译成一个*.rc文件(还会生成*.h*.bin文件);然后将*.rc*.h添加进相应的DLLEXE)模块中编译;最后通过相应的事件日志函数或者FomatMessage函数对其中的消息文本进行使用。(具体的操作过程请看后面的例子)

     

    二、消息文本文件定义(*.mc文件)

    1、概述

    Messages定义在一个*.mc文件中,MC工具会自动为每条消息赋一个编号,然后会生成一个*.h文件,以供程序引用其中的消息ID

    *.mc文件里定义消息最常见的语法为KEYWORD=VALUE,等号两边的空格会被忽略。下一条类似的定义以空格或者换行来分隔。其中VALUE可以是一个整型常量,或者一个类似宏标识的符号,或者是一个8个字符(或更少)的名字。

     

    2、注释

    单行注释:以一个分号开头,然后后面接注释文字,为了在生成的*.h文件中也以注释状态出现,勿必在分号后面撞上一个//。如下:

    ;//这是一个单行注释


    多行注释:每行都以分号开头,但是为了同样的目的,勿必如以下写多行注释:

    ;/*这是多行注释

    ;这是多行注释

    ;这是多行注释*/

     

    3、头部定义块

    *.mc文件以头部定义开始,头部定义一些名字标识以及语言标识供后面消息定义使用。头部通常包含以下0个或多个声明(可以是多个相同的声明,比如语言部分)。

    MessageIdTypedef=type----用于消息标识定义的类型,如#define name ((type)0xnnnnnnnn)  注:在*.h文件中可看到此类定义。这个类型必须能够容下消息码的范围(32位),比如DWORD。这个类型也可以是程序部分中自定义的。默认状态下是无类型的,也就没有相应的转换。你可以在需要使用这个声明时,才开始定义它。如:MessageIdTypedef=DWORD

    SeverityNames=(name=number[:name])----设置消息码中第3130位,即Severity部分。

    默认的设置如下:

    SeverityNames=(

    Success=0x0

    Informational=0x1

    Warning=0x2

    Error=0x3

    )

    FacilityNames=(name=number[:name])----设置消息码中27--16位,即Facility部分,默认的设置如下:

    FacilityName=(

    System=0x0FF

    Application=0xFFF

    )

     

    LanguageNames=(name=number:filename)----设置消息所用语言标识,可设置多个语言版本。默认的设置如下:

    LanguageNames=(English=1:MSG0001),其中1可由宏MAKELANGID生成,比如生成简体中文的,MAKELANGID( LAN_CHINES, SUBLANG_CHINESE_SIMPLIFIED),生成的值 为0x804,则我们可以定义LanguageNames=(Chinese=0x804:MSG0804),其中MSG0804是我们自定义的名字,生成的*.bin文件会以其命令,如MSG0804.bin

    OutputBase=number----生成消息常量数值格式,比如指定16,生成16进制的数,指定10,生成10进制的数等。

     

    4、消息主体定义 

    消息文本文件包含以下0个或多个声明,其中MessageId标识了一个消息定义的开始,必须存在,SeverityFacility声明是可选的。

    MessageId=[number|+number]----消息序号标识,这项必须要有,但是值是可选的。如果没有指定值,此值等于上一个Facility加上1,如果在指定的值前面带上了一个+号,则用上一个Facility加上此值来生成MessageId

    Severity=name----在头部声明FacilityNames指定的一个名字,这个声明是可选的。如果没有指定值,则使用在消息定义块中最后指定的那个值。默认的第一个消息定义是

    Facility=Application

    SymbolicName=name----一个标识符,在*.h文件中可看到,如#define name ((type)0xnnnnnnnn)

    OutpubBase={number}----生成消息常量数值格式,比如指定16,生成16进制的数,指定10,生成10进制的数等。

    Language=name----在头部声明LanguageNames指定的一个名字,此项是可选项,如果没有指定值,则使用在消息定义块中最后指定的那个值。默认的第一个消息定义是

    Language=English

    Message Text----消息文本。

    .(点号) ----消息定义终止符,注:此终止符为英文输入模式下输入,否则使用mc工具进行编译时会提示无终止符的。消息定义例子如下:

    MessageId=0x1

    Severity=Error

    Facility=Runtime

    SymbolicName=MSG_BAD_COMMAND

    Language=English

    You have chosen an incorrect command.

    .

    Language=Chinese

    你选择了一个不正常的命令。

    .

     

    你还可以在消息文本定义中使用一些控制符,具体的可查看MSDN

     

    三、*.mc文件定义的例子

     

    1、文件内容,文件名字McFile.mc

     

    ;//***** Sample.mc *****
    
    ;//This is the header section.
    
    MessageIdTypedef=DWORD
    
    SeverityNames=(Success=0x0:STATUS_SEVERITY_SUCCESS
        Informational=0x1:STATUS_SEVERITY_INFORMATIONAL
        Warning=0x2:STATUS_SEVERITY_WARNING
        Error=0x3:STATUS_SEVERITY_ERROR
        )
    
    
    FacilityNames=(System=0x0:FACILITY_SYSTEM
        Runtime=0x2:FACILITY_RUNTIME
        Stubs=0x3:FACILITY_STUBS
        Io=0x4:FACILITY_IO_ERROR_CODE
    )
    
    LanguageNames=(English=0x409:MSG00409)
    LanguageNames=(Chinese=0x804:MSG00804)
    
    ; // The following are message definitions.
    
    
    MessageId=0x1
    Severity=Error
    Facility=Runtime
    SymbolicName=MSG_BAD_COMMAND
    Language=English
    You have chosen an incorrect command.
    .
    Language=Chinese
    你选择了一个不正常的命令。
    .
    
    MessageId=0x2
    Severity=Warning
    Facility=Io
    SymbolicName=MSG_BAD_PARM1
    Language=English
    Cannot reconnect to the server. 
    .
    Language=Chinese
    无法连接服务器。
    .
    
    MessageId=0x3
    Severity=Success
    Facility=System
    SymbolicName=MSG_STRIKE_ANY_KEY
    Language=English
    Press any key to continue . . . %0 
    .
    Language=Chinese
    按任意键继续...
    .
    
    
    
    MessageId=0x4
    Severity=Error
    Facility=System
    SymbolicName=MSG_CMD_DELETE
    Language=English
    File %1 contains %2 which is in error 
    .
    Language=Chinese
    文件 %1 包含 %2 r损坏。
    .
    
    
    MessageId=0x5
    Severity=Informational
    Facility=System
    SymbolicName=MSG_RETRYS
    Language=English
    There have been %1!d! attempts with %2!d!%% success%! Disconnect from the server and try again later. 
    .
    Language=Chinese
    未知错误!无法连接服务器,请稍后重试!
    .
    

     

    2、使用MC工具编译

    打开visual studio的命令行界面,进入McFile.mc文件目录,使用命令mc -a -A McFile.mc进行编译,如下:

     

     

    编译成功后,会在当前目录下生成McFile.hMcFile.rcMSG00409.binMSG00804.bin四个文件,因为文本文件中支持中英文,所以生成了两个*.bin文件。

     

    McFile.h文件部分预览如下:

    //***** Sample.mc *****
    //This is the header section.
    // The following are message definitions.
    //
    //  Values are 32 bit values layed out as follows:
    //
    //   3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
    //   1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
    //  +---+-+-+-----------------------+-------------------------------+
    //  |Sev|C|R|     Facility          |               Code            |
    //  +---+-+-+-----------------------+-------------------------------+
    //
    //  where
    //
    //      Sev - is the severity code
    //
    //          00 - Success
    //          01 - Informational
    //          10 - Warning
    //          11 - Error
    //
    //      C - is the Customer code flag
    //
    //      R - is a reserved bit
    //
    //      Facility - is the facility code
    //
    //      Code - is the facility's status code
    //
    //
    // Define the facility codes
    //
    #define FACILITY_SYSTEM                  0x0
    #define FACILITY_STUBS                   0x3
    #define FACILITY_RUNTIME                 0x2
    #define FACILITY_IO_ERROR_CODE           0x4
    
    
    //
    // Define the severity codes
    //
    #define STATUS_SEVERITY_WARNING          0x2
    #define STATUS_SEVERITY_SUCCESS          0x0
    #define STATUS_SEVERITY_INFORMATIONAL    0x1
    #define STATUS_SEVERITY_ERROR            0x3
    
    
    //
    // MessageId: MSG_BAD_COMMAND
    //
    // MessageText:
    //
    //  You have chosen an incorrect command.
    //
    #define MSG_BAD_COMMAND                  ((DWORD)0xC0020001L)


     

    3、将生成的资源文件编译进dll(exe)模块中。

    创建一个WIN32DLL工程,将McFile.hMcFile.rc文件添加进去,进行编译,生成相应的dll即可提供给我们的程序使用。

     

    四、使用自己定义的错误代码,即第三步生成的消息资源模块

     

    #include <iostream>
    #include <windows.h>
    
    using namespace std;
    
    
    //
    #ifdef _UNICODE
    #define COUT wcout
    #else
    #define COUT cout
    #endif
    
    
    int main()
    {
    	DWORD dwError = 0;
    
    	DWORD dwLanguageId = MAKELANGID( LANG_NEUTRAL, SUBLANG_NEUTRAL );
    
    	//解决问题:wcout输出时显示不了中文
    	COUT.imbue( std::locale( "chs" ) );
    
    	HLOCAL lpMsgTextBuf = NULL;
    	COUT << TEXT("输入一个自定义的错误代码(如:3221356545(0xC0020001) ):");
    	while( cin >> dwError )
    	{
    		lpMsgTextBuf = NULL;
    
    		HMODULE ghResDll = LoadLibrary( TEXT("WinMsgDll.dll") );
    		if ( NULL == ghResDll )
    		{
    			COUT << TEXT("加载消息模块失败!") << endl;
    			return -1;
    		}
    
    
    		BOOL bOk = FormatMessage( FORMAT_MESSAGE_FROM_HMODULE | 
    			FORMAT_MESSAGE_IGNORE_INSERTS | 
    			FORMAT_MESSAGE_ALLOCATE_BUFFER,
    			ghResDll, dwError, dwLanguageId, (LPTSTR)&lpMsgTextBuf, 0, NULL );
    
    
    		if ( !bOk )
    		{
    			COUT << TEXT("error ") << GetLastError() << endl;
    		}
    
    		if ( NULL != lpMsgTextBuf )
    		{
    			COUT << (LPTSTR)lpMsgTextBuf << endl;
    			LocalFree( lpMsgTextBuf );
    		}
    
    		COUT << TEXT("输入一个自定义的错误代码(如:3221356545(0xC0020001) ):");
    	}
    	return 0;
    }


    五、相应例子visual studio 2005工程文件代码下载

    工程文件下载:使用MC工具创建自定义错误代码DLL

     

    作者:山丘儿
    转载请标明出处,谢谢。原文地址:http://blog.csdn.net/s634772208/article/details/46402677

    展开全文
  • 要制作资源包,首先前往 minecraft 文件夹。在 Windows 平台上,这个文件夹被叫作 .minecraft,它的位置在 AppData 文件夹,你可以前往开始菜单并键入%appdata%(根据你的安装情况,它也有可能在其他位置)。在 Mac ...

    此条目的部分内容由于太久没更新而已过期。

    你可以帮助我们来 更新此条目。

    要制作资源包,首先前往 minecraft 文件夹。在 Windows 平台上,这个文件夹被叫作 .minecraft,它的位置在 AppData 文件夹,你可以前往开始菜单并键入 %appdata%(根据你的安装情况,它也有可能在其他位置)。在 Mac 平台上,它被叫作 minecraft,你可以在 Finder 打开这个文件夹,按下 Shift-Command-G 并输入“~/Library/Application Support/minecraft”并输入回车。在 Linux 上,它被叫作 .minecraft 并在您的根目录(默认隐藏)中。你也可以通过打开选项进入那个文件夹,然后点击 Resource Packs... 然后就打开了资源包文件夹。

    你进入到 minecraft 之后,就打开 resourcepacks 文件夹。为你的新资源包新建一个文件夹,把这个文件夹命名为新资源包的名称。

    如果你对资源包的结构不够了解,你可以参照一下现成的资源包,并看看游戏主文件如1.14.4.jar中的内容,因为这些内容和资源包的结构比较相似。

    资源包的大致结构:

    resourcepack.zip

    pack.mcmeta

    pack.png

    assets

    minecraft

    textures

    blocks

    (name).png

    ...

    ...

    pack.mcmeta

    你需要的第一个文件是 pack.mcmeta。这个文件让 Minecraft 知道这个文件夹是一个资源包,并允许你自定义游戏里选择资源包时显示的说明。要创建你的 pack.mcmeta 文件,打开一个文字编辑器并粘贴下列行:

    {

    "pack":{

    "pack_format":4,

    "description":"My Resource Pack"

    }

    }

    "pack_format"在1.9以前的版本需要输入1,1.9至1.10.2版本需要输入2,1.11至1.12.2版本需要输入3,1.13至1.14.4版本则需要输入4。

    你可以保留说明文字“My Resource Pack”不变,或者把它改成一些更令人兴奋的文字。如果你确定你需要使用一些特殊字符,你可以在这里查看该字符对应的编码。也就是说,如果你想要使用Þ字符,那么你就要在说明文字里输入\u00DE。确保你输入的符号是反斜杠,而不是斜杠。

    注意

    请将文件存储为pack.mcmeta格式,也就是修改版的JSON格式。我们现在不会把重点放在文件格式上,但请确保文件内容正确。注意不要忘记引号、冒号、大括号或中括号。缺少任何一个都可能导致资源包无法正常运行。

    pack.png

    如果你想在资源包选择界面中显示自定义图像,你可以制作一张128×128分辨率的 .png 文件,并重命名为 pack.png。它的位置与 pack.mcmeta 的一样。

    assets

    下一步,你需要新建一个叫作 assets 的文件夹,并在这个文件夹内新建一个叫作 minecraft 的文件夹。里面的 minecraft 文件夹是放置所有的自定义文件,制作你独一无二的材质包的地方。

    现在你已经准备好自定义你想要的文件了。你不需要往里面放任何东西,也不需要改变任何默认的东西,因为 Minecraft 会自动过滤资源包以便可以选择它们。通常,下一个资源包就是默认的资源包。所以说,你希望所有东西都是相同的,除非你要把你的砖材质制作成紫色而不是红色。你将会需要新建一张带有紫色的砖的新图像文件,但它需要与原始路径的名称和文件名相同。因此对于砖来说,你将要转到 assets里面的minecraft 文件夹,并新建一个叫作 textures 的文件夹。之后,你需要新建一个 blocks 文件夹,在里面你就可以放置你的紫色砖图像文件。确保这个文件的文件名为 brick.png。

    你可能想知道如何找到它们的名字,文件结构分布如何。如果你只是想作出一个细微的变化,而不是如何开始,如何寻找原始的材质文件。要做到这点,你不得不查看两处地方,这取决于你要改变的文件的类型。

    如果你想自定义图标、音乐、唱片或音效,前往第一个 minecraft 含有 resourcepacks 的文件夹。现在打开 assets 文件夹(这与你做的不同)。你应该看见被命名为 icons、music、records 和 sounds 的文件夹。在这些文件夹的里面,你就会找到原始材质文件。如果你想要更新一个图标,只需要复制那个图标,然后前往你最近创建的 minecraft 文件,在里面新建 icon 文件夹,并粘贴你的图标文件进去。现在你可以打开这个文件并进行编辑了。这个文件仍然拥有正确的文件名和文件路径。

    对于1.8及以上版本,你将会需要使用下面的音效目录结构。sounds 文件夹必须要在 minecraft 文件夹中首先创建,并且 music 和 records 文件夹必须在 sounds 文件夹里创建。在 music 文件夹中,你将要创建 game 和 menu 文件夹。这些附加的文件夹可以让你创建适当的附加音效类型,但这些文件应该要以你的方式放置好。要创建你的 ogg 文件,把它们的名字改为存在的音效的文件的文件名,然后放置它们到适当的文件夹,你可以把你的文件代替默认的文件。

    要寻找字体、语言、文字和材质文件,就需要做多一点的工作。回到第一个包含 resourcepacks 的 minecraft 文件夹,打开 versions 文件夹。你应该能看见文件夹里面有当前的版本(例如 1.14.4)。使用压缩软件打开 1.14.4 jar,你将会看见许多的 class 文件, 但在那里你会找到另外一个含 assets 的 minecraft 文件夹。打开文件夹,你将会看见 font、lang、texts 和 textures 文件夹。你会再次找到里面的默认文件,你可以复制你想要进行更改的文件都隐藏在 resourcepack 的 minecraft 文件夹。

    如果感觉这太混乱了,那么看一个或两个教学视频可能会有帮助。你也可以下载一个你可以复制和修改的默认资源包,删除所有你不需要的文件夹分支。那可能更简单,取决于你要做什么。资源包文件夹可以在这里看见。

    添加语言

    你可以通过资源包向 Minecraft 添加新语言。假定你的语言代码是“LANG”(可能是 ISO 639 里面的),国家/地区代码为 “COUNTRY”(可能是 ISO 3166-1)。pack.mcmeta 看起来将会是这样的:

    {

    "pack":{

    "pack_format":4,

    "description":"Resource pack sample"

    },

    "language":{

    "LANG_COUNTRY":{

    "name":"Language name",

    "region":"Country/region name",

    "bidirectional":false

    }

    }

    }

    然后,放置 LANG_COUNTRY.json 到 assets/minecraft/lang里。在游戏里,选择你的资源包,然后打开语言选择屏幕,你的新语言将会出现在哪里。请注意,pack.mcmeta 在 assets/minecraft,而不是在 assets/minecraft/lang里。另外也要注意上面的 pack.mcmeta 与之前储存资源包元数据的 pack.mcmeta 是相同的。如果你已有 pack.mcmeta 文件,你必须更新它的信息以作为新语言。

    注意:在1.7,你可以一次同时选择多个资源包。如果你想使用1.6.4-1.6的资源包,你需要手动合并它们。因为在1.7之前,它们不能被同时选择。

    动态图像属性

    {

    "animation":{

    "width":1,

    "height":7,

    "interpolate": true,

    "frametime":1,

    "frames":[{

    "index":0,

    "time": 0

    },

    1,2,3,4,5,6,4,2]

    }

    }

    width 和 height 是每一帧的尺寸(单位:像素) interpolate(true/false)决定了 Minecraft 是否在2帧内是否生成更多帧。frametime 是两帧之间的默认延迟,为50毫秒。 frames 是帧列表,按照要播放的顺序进行排列。index 和 time 都可被用来指定一个帧,这一帧比默认帧的时间间隔都不同。

    注:如果你真的需要制作一个动态材质,使用下列代码,这将会一帧一帧地播放。

    {

    "animation": {}

    }

    保存文件,把文件名改成你想动画化的材质文件的名称(比如你想动画化 stone.png,你应该保存它为 stone.png.mcmeta)。然后把这个文件放置到与材质相同的文件夹(或许是 stone.png)。

    材质属性

    {

    "texture":{

    "blur":false,

    "clamp":true

    }

    }

    这个可选的部分可以通过对应的.png.mcmeta文件添加特殊的属性到您的材质中。blur将允许材质启用双线性过滤,而clamp将防止材质出现可能的重复情况(通过设置shadow.png.mcmeta中的clamp属性为false,这可以很容易地看出 - 一些生物下面会出现多个阴影。)

    字体

    字体的字符尺寸由最后一行含非零的 alpha 像素决定。这允许通过1级 alpha 等级添加一个颜色来添加额外的填充字符,Minecraft 会认为它是文字的一部分。

    把地图和资源包一起打包

    要在单人游戏世界里使用这个,你可以把你的资源包打包为一个名为“resources.zip”的 ZIP 文件,存放在你的世界目录里。这会在游玩单人游戏世界时自动加载这个资源包。

    服务器资源包

    当完成资源包的制作时,如果你是服务器的管理,你可以设置它为多人游戏服务器的默认资源包。

    参考

    ↑ https://twitter.com/Dinnerbone/status/552242337846665216

    ↑ http://lemoesh.com/best-practices/packaging-resource-packs-with-your-map/

    展开全文
  • 单击资源包时nodus崩溃---- Minecraft崩溃报告---- //为何中断:(时间:14/11/8 2:33 PM说明:更新屏幕事件java.lang.IllegalArgumentException:input == net!minecraft.client.resources.DefaultResourcePack....
  • mc服务器指令

    2021-08-11 11:35:46
    mc服务器指令 内容精选换一换设备实时状态查询是检测设备在运行过程中的状态信息。用户可任选以下指令之一查看设备实时状态查询命令的可用参数。ascend-dmi -i -hascend-dmi -i --help各参数解释如表1所示。以查看...

    mc服务器指令 内容精选

    换一换

    c8a5a5028d2cabfeeee0907ef5119e7e.png

    设备实时状态查询是检测设备在运行过程中的状态信息。用户可任选以下指令之一查看设备实时状态查询命令的可用参数。ascend-dmi -i -hascend-dmi -i --help各参数解释如表1所示。以查看芯片的详细信息为例。ascend-dmi -i -dt若推理服务器返回如图1所示信息或训练服务器返回如图2所示信息,表示工具运行正常

    ExaGear是一款二进制指令动态翻译软件,运行在ARM64服务器上,通过将x86的指令在运行时翻译为ARM64指令并执行,使得绝大部分Linux on x86应用无需重新编译就可运行在ARM64服务器上,实现低成本、快速迁移Linux on x86应用到ARM64服务器。ExaGear安装完成后,主要有两个组件:指令翻译引擎和x86运行

    mc服务器指令 相关内容

    安装代码迁移工具,点击“检测连接”提示算法不匹配。客户端算法与服务器端不匹配。KexAlgorithms: diffie-hellman-group-exchange-sha256MACs: hmac-sha2-256,hmac-sha1Ciphers: aes128-ctr,aes192-ctr,aes256-ctrHostKey: /

    云硬盘(Elastic Volume Service,EVS)可以为裸金属服务器提供高可靠、高性能、规格丰富并且可弹性扩展的块存储服务,满足不同场景的业务需求,适用于分布式文件系统、开发测试、数据仓库以及高性能计算等场景。裸金属服务器支持挂载云硬盘,解决了传统物理服务器受限于本地硬盘容量的问题。支持共享云硬盘,由多台服务器并发读写访问,满

    mc服务器指令 更多内容

    f2c4fc7c94b8a6968e9bfbe258188211.png

    手把手教你用netperf工具、iperf3工具,测试弹性云服务器间网络性能。主要包括“测试准备”、“TCP带宽测试”、“UDP PPS测试”和“时延测试”。被测机:被压力测试网络性能的弹性云服务器,可作为netperf测试中的client端(发送端)或server端(接收端)。辅助云服务器:弹性云服务器,用于netperf测试中的cli

    628a76026f26a9b0192a8fa75416b71f.png

    简要介绍psutil是一个Python模块用来获取正在运行的进程信息和系统的CPU和内存的利用率。类似Linux的ps 、top和Windows的任务管理器等程序。语言:Python一句话描述:Python进程处理工具开源协议:BSD建议的版本建议使用版本为使用系统默认的pip安装的版本。云服务器要求本文以云服务器KC1实例测试,云服务器

    0a0ca88b94963916c79cc35f28e2f501.png

    云终端类型主要应用场景包括:移动办公,终端伴侣等。移动办公:通过云手机支持移动办公,实现数据不落地,保障信息安全。终端伴侣:个人手机设备的拓展,多(物理机)对多(云手机)、多机无损切换、个人隐私保护。主要特点云侧以Android系统界面的形式呈现,在云侧的Android系统上实现安全移动办公,个人业务应用预置,打破个人终端设备的束缚,充分

    ea3d514774dda107c847f333927c833f.png

    安装代码迁移工具,点击“检测连接”提示算法不匹配。客户端算法与服务器端不匹配。KexAlgorithms: diffie-hellman-group-exchange-sha256MACs: hmac-sha2-512,hmac-sha2-256,hmac-sha1Ciphers: aes256-gcm,aes256-gcm@openss

    8c18d15b4c8a3bef37b3cc91cd8c38da.png

    安装代码迁移工具,点击“检测连接”提示算法不匹配。客户端算法与服务器端不匹配。KexAlgorithms: diffie-hellman-group-exchange-sha256MACs: hmac-sha2-512,hmac-sha2-256,hmac-sha1Ciphers: aes256-gcm,aes256-gcm@openss

    b5693ff7a1d6bd5360d83fe2bfafdfb3.png

    共享云硬盘是一种支持多个云服务器并发读写访问的数据块级存储设备,具备多挂载点、高并发性、高性能、高可靠性等特点。主要应用于需要支持集群、HA(High Available,指高可用集群)能力的关键企业应用场景,多个云服务器可同时访问一个共享云硬盘。一块共享云硬盘最多可同时挂载至16台云服务器,云服务器包括弹性云服务器和裸金属服务器。实现文

    55a2638139d68369d49b3058cd5d88e8.png

    安装代码迁移工具,点击“检测连接”提示算法不匹配。客户端算法与服务器端不匹配。KexAlgorithms: diffie-hellman-group-exchange-sha256MACs: hmac-sha2-256,hmac-sha1Ciphers: aes128-ctr,aes192-ctr,aes256-ctrHostKey: /

    ef7fa0a88cabe2097a016125d8d62832.png

    Nginx Web Server场景是以Nginx作为Web Server的场景。Nginx作为Web Server,可以被配置部署为静态资源Web Server,在该配置下可以高效的进行静态资源的请求处理,从而实现动静的分离,其中非服务器动态运行生成的文件都属于静态资源,包括并不限于以下种类:配置时,可以通过server块定义虚拟服务器

    be6c0fefabcd88eafba576089843e93b.png

    根据是否支持挂载至多台云服务器可以将磁盘分为非共享磁盘和共享磁盘。一个非共享磁盘只能挂载至一台云服务器,而一个共享磁盘可以同时挂载至多台云服务器。共享磁盘是一种支持多个云服务器并发读写访问的数据块级存储设备,具备多挂载点、高并发性、高性能、高可靠性等特点。单个共享磁盘最多可同时挂载给16个云服务器,使用场景如图1所示。目前,共享磁盘只适用

    5a6f55482f6b3f19420161bd3dfbba6a.png

    软件部署完成后,需要通过SAP GUI登录SAP S/4HANA服务器来检查运行状态。描述:自定义连接的名称。应用服务器:SAP S/4HANA所在云服务器的IP地址。实例编号:SAP S/4HANA的PAS实例编号。系统标识:SAP S/4HANA系统的SID。输入结果如图1所示。输入完成后单击完成。新建项目

    e08a3c1d383ce0289aa478984d9adca2.png

    简要介绍Minimap2是一种多功能序列比对程序,可将DNA或mRNA序列与大型参考数据库对齐。语言:C/C++一句话描述:多功能序列比对程序开源协议:MIT建议的版本建议通过git下载最新版本。云服务器要求本文以云服务器KC1实例测试,云服务器配置如表1所示。操作系统要求操作系统要求如表2所示。yum install wget -yyu

    展开全文
  • 最简化的超声波测距程序,通俗易懂,是初学者学习的最佳资源
  • 资源中是飞思卡尔XEP100单片机的GPIO实验的例程代码,包括一个蜂鸣器的例程和一个流水灯的例程,分别对蜂鸣器和发光二极管进行控制。
  • 资源中是飞思卡尔XEP100单片机SPI测试代码,采用SPI接口与FM25040芯片进行通信,向其内部写入一个字节的数据,并将数据读出,并验证。
  • mc服务器如何开启权限 内容精选换一换CCE对其他云服务有诸多依赖关系,因此在您开启IAM系统策略授权后,在CCE Console控制台中的各项功能需要配置相应的服务权限后才能正常查看或使用,详细说明如下:依赖服务的权限...
  • 我的世界-源码

    2021-02-15 08:15:03
    docker run -d -p 25565:25565 --name mc -e EULA=TRUE itzg/minecraft-server 标准服务器端口25565将在主机上公开。 如果要提供多个Minecraft服务器或仅使用备用端口,请更改主机端端口映射,例如 docker run -p ...
  • 零样本学习(Zero-Shot...本文整理了零样本(zero-shot learning)或少样本(few-shot learning)学习相关最新的一些经典论文,重要的开源代码,数据集,以及其他一些预训练模型资源资源整理自网络,源地址: ...
  • 1.资源分布  如上图所示,单片机型号最后的数字也就代表了单片机中Flash的大小,S12G128 表示Flash有128K Byte,S12G192 表示Flash有192K Byte。但是S12(X)所使用的内核CPU12(X)的地址总线为16位,寻址范围最大为2...
  • MC9S12XEP100 本地RAM不够用了怎么办

    千次阅读 2019-08-25 17:35:18
    MC9S12XEP100的RAM实在是太小了,稍微大点的项目可能就会发现RAM不够用,本文介绍了遇到这种情况时的几种解决办法。
  • MCP 我的世界源码1.12

    2018-07-27 20:19:15
    这个是网盘链接。下载之后解压,用Eclipse选择工作区域(Workspace):根目录/eclipse。打开之后,找到Client下的default package中的Start.java,运行即可...第一次发资源,如有差错,请在评论区留言, O(∩_∩)O谢谢
  • MC指令汇总

    千次阅读 2020-04-03 11:32:22
    tp 520 64.4 43 末地要塞: tp 1687 32.2 120 黑曜石资源地: tp 432 10 41 地狱之门(地狱内): tp 65 79.4 5 (地面) tp 509 85.5 -3 地狱堡垒: tp 424 60.3 168 地狱堡垒烈焰人生成地: tp 403 60.3 158 地矿: ...
  • MC server.properties文件详解

    千次阅读 2021-08-01 07:39:36
    MOTD 支持样式代码。MOTD 支持特殊符号,比如 "@"。 然而, 这些符号需要被转换为Unicode转义字符。你可以在网上找到一个转换器 游戏显示登入失败(无效会话)?请到此文件里面更改在线验证为online-mode:false ,...
  • java环境一样,直接在 ssh执行,回车就行了,代码如下: yum install screen 然后创建screen会话 screen -S mc #mc 执行screen -r mc进入mc会话 最后执行sh脚本就行了,比如我创建的目录是/home/mc,那么代码就为: ...
  • MC9S12XEP100引脚的复用方式

    千次阅读 2019-04-27 22:02:45
    简要讲了下MC9S12XEP100的复用引脚的功能选择方法
  • MC9S12XE 内存分配

    千次阅读 2019-05-19 20:47:19
    PLACEMENT…END内主要功能是将对应类型的代码放到SEGMENT…END中定义的内存资源内,其中DISTRIBUTE_INTO和INTO功能相似,都是将对应类型的代码放置到指定资源,但使用优化器时,需要使用DISTRIBUTE_INTO,否则会导致...
  • mc-1.12.2-source_files Minecraft 1.12.2的源文件,因为很难找到。 关于 这些源文件是通过MCP生成的,供您使用。 我已经将此旧版MCP940设置为1.12,以与1.12.2一起使用。 如果要查看反编译的源文件,我将它们压缩...
  • 资源中是飞思卡尔XEP100单片机CAN总线测试代码,使用单片机的两个CAN模块,一个发送,另一个接收,并将接收到的数据显示到液晶上。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 16,394
精华内容 6,557
关键字:

mc资源代码