diff --git a/common-files/src/main/resources/config.yml b/common-files/src/main/resources/config.yml index a3e6d2400..e2e3d2e7b 100644 --- a/common-files/src/main/resources/config.yml +++ b/common-files/src/main/resources/config.yml @@ -85,13 +85,12 @@ resource-pack: # If your resource pack is compliant with the standard, you can disable validation to improve the resource pack generation speed. validation: enable: true - # [Premium Exclusive] # Fix images that are not within the texture atlas. It is unreasonable to always rely on plugins to fix your mistakes. # You should strive to make your resource pack more standardized after gaining some experience with resource packs. fix-atlas: true # Optimize your resource pack by reducing its size without any quality loss. optimization: - enable: false + enable: true # .png texture: enable: true @@ -105,41 +104,57 @@ resource-pack: json: enable: true exclude: [] + # [Premium Exclusive] # Protect your resource pack from being cracked by others protection: # Prevent thieves from extracting your resource pack. These options will crash their software. + # Some of these options may impact your resource pack size. crash-tools: method-1: false - method-2: false - method-3: false # Enable this would increase the resource pack size by 0.67MB - # [Premium Exclusive] + method-2: false # This would increase the resource pack size by 64KB + method-3: false # This would increase the resource pack size by 0.67MB + method-4: false + method-5: true # This can reduce the resource pack size, also it prevents some software from extracting it + # Create incorrect crc data + incorrect-crc: false + # Spoof huge files + fake-file-size: false + # Escape the JSON to make it human-unreadable + escape-json: false + # Create fake folders to hide original files + fake-directory: false + # Corrupt the texture file to prevent thieves from opening it + break-texture: false # Obfuscate your resource pack to prevent thieves from restoring its original structure obfuscation: enable: false seed: 0 # 0 = random seed - fake-directory: false # Create fake folders to deceive thieves - escape-unicode: false # Escape the JSON to make it human-unreadable - resource-location: - enable: true - random-namespace: - amount: 8 # 0 = disable - length: 9 - random-path: - source: obf - depth: 8 - anti-unzip: false - random-atlas: - images-per-canvas: 256 # 0 = disable - # Sometimes, some vanilla files that have been overwritten might be mistakenly obfuscated - # Please add the ignored textures/models/sounds here if that happens - bypass-textures: - # - minecraft:block/farmland - - "@legacy_unicode" - - "@vanilla_textures" - bypass-models: - - "@vanilla_models" - bypass-sounds: [] - bypass-equipments: [] + # Determines the number and length of obfuscated namespaces. + namespace: + amount: 32 # 0 = disable + length: 2 + # Determines the depth of the obfuscated path. + path: + source: obf + depth: 4 + length: 2 + # Prevent straightforward unzip + anti-unzip: false + # A larger atlas will result in slower generation speed, but it will also lead to a smaller resource pack size. + atlas: + prefix: atlas # The prefix of the folder where the generated atlas will be located + images-per-canvas: 256 + # Sometimes, some vanilla files that have been overwritten might be mistakenly obfuscated + # Please add the ignored textures/models/sounds here if that happens + bypass-textures: + - minecraft:block/farmland # bypass a specified resource location + - "@vanilla_textures" # bypass vanilla textures + bypass-models: + - custom:item/do_not_obfuscate + - "@vanilla_models" # bypass vanilla models + bypass-sounds: + - "@vanilla_sounds" # bypass vanilla sounds + bypass-equipments: [] # This section controls how to send the resource pack to players delivery: # Send the resource pack on joining the server diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/amethyst_torch.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/amethyst_torch.png index e05d6ff44..4e903b534 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/amethyst_torch.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/amethyst_torch.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/chessboard_block.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/chessboard_block.png index a9b102833..9ae83007f 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/chessboard_block.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/chessboard_block.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/chinese_lantern.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/chinese_lantern.png index 1ba194bc1..4d3f7f823 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/chinese_lantern.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/chinese_lantern.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/chinese_lantern_top.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/chinese_lantern_top.png index a42418fbf..dd4403fc0 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/chinese_lantern_top.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/chinese_lantern_top.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/copper_coil.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/copper_coil.png index 5c47ad666..583c8ac2c 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/copper_coil.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/copper_coil.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/copper_coil_on.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/copper_coil_on.png index ff3bf2e17..8adf3d27a 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/copper_coil_on.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/copper_coil_on.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/copper_coil_on_side.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/copper_coil_on_side.png index fb93cfe8d..38cb6b783 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/copper_coil_on_side.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/copper_coil_on_side.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/copper_coil_side.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/copper_coil_side.png index c08995b5f..8cb16328f 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/copper_coil_side.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/copper_coil_side.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/deepslate_topaz_ore.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/deepslate_topaz_ore.png index 1f6bb03a1..c054d4288 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/deepslate_topaz_ore.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/deepslate_topaz_ore.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/ender_pearl_flower_stage_0.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/ender_pearl_flower_stage_0.png index 34cc1a98c..dc94c4c83 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/ender_pearl_flower_stage_0.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/ender_pearl_flower_stage_0.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/ender_pearl_flower_stage_1.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/ender_pearl_flower_stage_1.png index 84a0836e0..73695f379 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/ender_pearl_flower_stage_1.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/ender_pearl_flower_stage_1.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/ender_pearl_flower_stage_2.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/ender_pearl_flower_stage_2.png index 4342fd0aa..dba763520 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/ender_pearl_flower_stage_2.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/ender_pearl_flower_stage_2.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/fairy_flower_1.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/fairy_flower_1.png index 1956ad357..74b311a13 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/fairy_flower_1.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/fairy_flower_1.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/fairy_flower_2.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/fairy_flower_2.png index 86bfee600..3de58be0b 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/fairy_flower_2.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/fairy_flower_2.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/fairy_flower_3.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/fairy_flower_3.png index 34894e3bf..cbe9cbbda 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/fairy_flower_3.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/fairy_flower_3.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/fairy_flower_4.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/fairy_flower_4.png index 13aeab68a..c5df8c110 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/fairy_flower_4.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/fairy_flower_4.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/flame_cane_1.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/flame_cane_1.png index 950288d9e..034aae1fa 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/flame_cane_1.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/flame_cane_1.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/flame_cane_2.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/flame_cane_2.png index dcea21a6a..8988333d7 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/flame_cane_2.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/flame_cane_2.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/gunpowder_block.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/gunpowder_block.png index fba17699b..7effd7539 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/gunpowder_block.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/gunpowder_block.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/hami_melon.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/hami_melon.png index 096242e78..862393833 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/hami_melon.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/hami_melon.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/hami_melon_bottom.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/hami_melon_bottom.png index c44a61d0b..1fd314ae9 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/hami_melon_bottom.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/hami_melon_bottom.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/hami_melon_top.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/hami_melon_top.png index a69e95ab6..fc55fb86d 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/hami_melon_top.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/hami_melon_top.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/magma_plant.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/magma_plant.png index 48590241d..9a3dc1344 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/magma_plant.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/magma_plant.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/netherite_anvil.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/netherite_anvil.png index 2172d0a1c..2c3ff189f 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/netherite_anvil.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/netherite_anvil.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/netherite_anvil_top.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/netherite_anvil_top.png index 8ccf04bd5..185437b1c 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/netherite_anvil_top.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/netherite_anvil_top.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/palm_door_bottom.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/palm_door_bottom.png index 2b72a0acf..4734bea36 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/palm_door_bottom.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/palm_door_bottom.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/palm_door_top.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/palm_door_top.png index 4d79ec917..3fa6afd2b 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/palm_door_top.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/palm_door_top.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/palm_leaves.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/palm_leaves.png index 9a03a8724..72b9532ff 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/palm_leaves.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/palm_leaves.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/palm_log.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/palm_log.png index 1fdcd93b0..e976b8ed3 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/palm_log.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/palm_log.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/palm_log_top.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/palm_log_top.png index 4d4aadd22..f06fb497d 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/palm_log_top.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/palm_log_top.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/palm_planks.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/palm_planks.png index 2e269c8bc..e6ad1e5e8 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/palm_planks.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/palm_planks.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/palm_sapling.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/palm_sapling.png index 413b72a9a..277d1f08f 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/palm_sapling.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/palm_sapling.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/palm_trapdoor.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/palm_trapdoor.png index 4f32c0d13..b2da75c94 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/palm_trapdoor.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/palm_trapdoor.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/pebble.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/pebble.png index dedb7d8ad..2341c62cf 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/pebble.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/pebble.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/reed.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/reed.png index 01f6572a5..9152768a8 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/reed.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/reed.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/safe_block_bottom.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/safe_block_bottom.png index cf90c540a..6721e8d17 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/safe_block_bottom.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/safe_block_bottom.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/safe_block_front.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/safe_block_front.png index bd2a3fd51..a8bb018a8 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/safe_block_front.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/safe_block_front.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/safe_block_front_open.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/safe_block_front_open.png index 87da8cb35..7904dc8bd 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/safe_block_front_open.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/safe_block_front_open.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/safe_block_top.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/safe_block_top.png index d42e83638..c467cd071 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/safe_block_top.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/safe_block_top.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/solid_gunpowder_block.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/solid_gunpowder_block.png index 1d07b68a0..8c0138262 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/solid_gunpowder_block.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/solid_gunpowder_block.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/stripped_palm_log.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/stripped_palm_log.png index e79289bc4..67d008f46 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/stripped_palm_log.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/stripped_palm_log.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/stripped_palm_log_top.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/stripped_palm_log_top.png index 4d4aadd22..f06fb497d 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/stripped_palm_log_top.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/stripped_palm_log_top.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/topaz_ore.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/topaz_ore.png index 08bc19db0..b243fba78 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/topaz_ore.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/block/custom/topaz_ore.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/entity/equipment/humanoid/topaz.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/entity/equipment/humanoid/topaz.png index 26b6dc014..be2e7e551 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/entity/equipment/humanoid/topaz.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/entity/equipment/humanoid/topaz.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/entity/equipment/humanoid_leggings/topaz.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/entity/equipment/humanoid_leggings/topaz.png index 9892b4444..f75443981 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/entity/equipment/humanoid_leggings/topaz.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/entity/equipment/humanoid_leggings/topaz.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/entity/equipment/wings/flame_elytra.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/entity/equipment/wings/flame_elytra.png index 65eb8d4da..0275ae73f 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/entity/equipment/wings/flame_elytra.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/entity/equipment/wings/flame_elytra.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/font/image/emojis.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/font/image/emojis.png index 5ea4c8014..c3bf1fc55 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/font/image/emojis.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/font/image/emojis.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/gui/sprites/tooltip/topaz_background.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/gui/sprites/tooltip/topaz_background.png index 538073d03..370e9dc1e 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/gui/sprites/tooltip/topaz_background.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/gui/sprites/tooltip/topaz_background.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/gui/sprites/tooltip/topaz_frame.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/gui/sprites/tooltip/topaz_frame.png index 9213f5a9e..944d34ffb 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/gui/sprites/tooltip/topaz_frame.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/gui/sprites/tooltip/topaz_frame.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/bench.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/bench.png index 0523cb76b..038cb3a80 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/bench.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/bench.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/broken_flame_elytra.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/broken_flame_elytra.png index 58fb04d63..bcfdd36d7 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/broken_flame_elytra.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/broken_flame_elytra.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/ender_pearl_flower_seeds.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/ender_pearl_flower_seeds.png index 9ec393721..68d3a3ed9 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/ender_pearl_flower_seeds.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/ender_pearl_flower_seeds.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/fairy_flower.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/fairy_flower.png index 37d83a26b..0e2f43dd3 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/fairy_flower.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/fairy_flower.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/flame_cane.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/flame_cane.png index ad544e58f..259d5ca32 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/flame_cane.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/flame_cane.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/flame_elytra.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/flame_elytra.png index 7e477f143..28f398422 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/flame_elytra.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/flame_elytra.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/flower_basket.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/flower_basket.png index 371cb6d9d..963a6e268 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/flower_basket.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/flower_basket.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/flower_basket_2d.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/flower_basket_2d.png index ed6d11d72..f99a4b8b8 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/flower_basket_2d.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/flower_basket_2d.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/hami_melon_seeds.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/hami_melon_seeds.png index 07575cc67..0d081cd8f 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/hami_melon_seeds.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/hami_melon_seeds.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/hami_melon_slice.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/hami_melon_slice.png index 6d43555fa..1b8792700 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/hami_melon_slice.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/hami_melon_slice.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/magma_fruit.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/magma_fruit.png index a9f53966a..63690030f 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/magma_fruit.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/magma_fruit.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/palm_door.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/palm_door.png index a89a4fe54..f0633fe6f 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/palm_door.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/palm_door.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/pebble.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/pebble.png index 073928630..3bb38c03b 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/pebble.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/pebble.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/reed.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/reed.png index 89cbc2cb7..a2d9cd5ed 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/reed.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/reed.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/sofa.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/sofa.png index 3293e52a4..25d8294ff 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/sofa.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/sofa.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/table_lamp.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/table_lamp.png index 2b0c61a80..c5c0bb397 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/table_lamp.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/table_lamp.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/table_lamp_on.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/table_lamp_on.png index a5ca826ec..f62a213a5 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/table_lamp_on.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/table_lamp_on.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz.png index a5084e614..d1184338f 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_axe.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_axe.png index 4a5abd2f9..b72b5047d 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_axe.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_axe.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_boots.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_boots.png index 8c7ea9f9b..c3a4cc348 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_boots.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_boots.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_bow.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_bow.png index ce1cb9239..05ac2f30d 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_bow.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_bow.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_bow_pulling_0.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_bow_pulling_0.png index ac41f3610..1b2440e7d 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_bow_pulling_0.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_bow_pulling_0.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_bow_pulling_1.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_bow_pulling_1.png index a8bda2cf8..991f1eec7 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_bow_pulling_1.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_bow_pulling_1.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_bow_pulling_2.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_bow_pulling_2.png index 6cc552e4f..3d318e41e 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_bow_pulling_2.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_bow_pulling_2.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_crossbow.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_crossbow.png index a98048473..94e963012 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_crossbow.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_crossbow.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_crossbow_arrow.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_crossbow_arrow.png index f0bd76ae4..4b720c5ec 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_crossbow_arrow.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_crossbow_arrow.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_crossbow_firework.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_crossbow_firework.png index 941377c61..a2ba2e8e7 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_crossbow_firework.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_crossbow_firework.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_crossbow_pulling_0.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_crossbow_pulling_0.png index ea292605c..181bd86de 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_crossbow_pulling_0.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_crossbow_pulling_0.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_crossbow_pulling_1.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_crossbow_pulling_1.png index 87f084d71..faf99519b 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_crossbow_pulling_1.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_crossbow_pulling_1.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_crossbow_pulling_2.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_crossbow_pulling_2.png index bf4e2fe11..ccde7e672 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_crossbow_pulling_2.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_crossbow_pulling_2.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_helmet.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_helmet.png index 4bddf3ee2..1ae323bc1 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_helmet.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_helmet.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_hoe.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_hoe.png index d1ce1c137..c4030ea90 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_hoe.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_hoe.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_leggings.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_leggings.png index a0fcd9127..c3fbd4246 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_leggings.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_leggings.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_pickaxe.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_pickaxe.png index a34335eb5..3c18ca0b0 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_pickaxe.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_pickaxe.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_rod.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_rod.png index 35e9b6a3d..f9d2ab82f 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_rod.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_rod.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_rod_cast.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_rod_cast.png index 95e5d8d9b..5672d13ea 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_rod_cast.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_rod_cast.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_shovel.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_shovel.png index af3eaf3cc..2b157b651 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_shovel.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_shovel.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_sword.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_sword.png index fcaa03151..72dff60ab 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_sword.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_sword.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_trident.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_trident.png index 9ef654325..69ebc1785 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_trident.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_trident.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_trident_3d.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_trident_3d.png index 62df4ac5c..1575e4110 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_trident_3d.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/topaz_trident_3d.png differ diff --git a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/wooden_chair.png b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/wooden_chair.png index 0268099c3..16a328048 100644 Binary files a/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/wooden_chair.png and b/common-files/src/main/resources/resources/default/resourcepack/assets/minecraft/textures/item/custom/wooden_chair.png differ diff --git a/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/font/gui/custom/blasting.png b/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/font/gui/custom/blasting.png index f2f523070..df8692eb1 100644 Binary files a/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/font/gui/custom/blasting.png and b/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/font/gui/custom/blasting.png differ diff --git a/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/font/gui/custom/brewing_recipe.png b/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/font/gui/custom/brewing_recipe.png index 5521a3c82..080841bb4 100644 Binary files a/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/font/gui/custom/brewing_recipe.png and b/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/font/gui/custom/brewing_recipe.png differ diff --git a/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/font/gui/custom/campfire.png b/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/font/gui/custom/campfire.png index d64a7dad6..2d00b20c0 100644 Binary files a/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/font/gui/custom/campfire.png and b/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/font/gui/custom/campfire.png differ diff --git a/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/font/gui/custom/category.png b/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/font/gui/custom/category.png index 9058ffc9a..9cc4bb3ee 100644 Binary files a/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/font/gui/custom/category.png and b/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/font/gui/custom/category.png differ diff --git a/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/font/gui/custom/cooking_recipe.png b/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/font/gui/custom/cooking_recipe.png index cdddc48c0..faca7a278 100644 Binary files a/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/font/gui/custom/cooking_recipe.png and b/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/font/gui/custom/cooking_recipe.png differ diff --git a/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/font/gui/custom/crafting_recipe.png b/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/font/gui/custom/crafting_recipe.png index fde831bae..892ba6059 100644 Binary files a/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/font/gui/custom/crafting_recipe.png and b/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/font/gui/custom/crafting_recipe.png differ diff --git a/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/font/gui/custom/item_browser.png b/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/font/gui/custom/item_browser.png index 26f78b9bd..27c53ba5c 100644 Binary files a/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/font/gui/custom/item_browser.png and b/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/font/gui/custom/item_browser.png differ diff --git a/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/font/gui/custom/no_recipe.png b/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/font/gui/custom/no_recipe.png index 3244e195c..4284695e4 100644 Binary files a/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/font/gui/custom/no_recipe.png and b/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/font/gui/custom/no_recipe.png differ diff --git a/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/font/gui/custom/smelting.png b/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/font/gui/custom/smelting.png index 3d7331224..6ae611953 100644 Binary files a/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/font/gui/custom/smelting.png and b/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/font/gui/custom/smelting.png differ diff --git a/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/font/gui/custom/smithing_transform_recipe.png b/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/font/gui/custom/smithing_transform_recipe.png index 97906b38c..ff35a158f 100644 Binary files a/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/font/gui/custom/smithing_transform_recipe.png and b/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/font/gui/custom/smithing_transform_recipe.png differ diff --git a/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/font/gui/custom/smoking.png b/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/font/gui/custom/smoking.png index 4fbfdcaec..924d28d14 100644 Binary files a/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/font/gui/custom/smoking.png and b/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/font/gui/custom/smoking.png differ diff --git a/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/font/offset/space_split.png b/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/font/offset/space_split.png index 3ca3f1d84..6dbab57dd 100644 Binary files a/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/font/offset/space_split.png and b/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/font/offset/space_split.png differ diff --git a/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/item/custom/gui/cooking_info.png b/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/item/custom/gui/cooking_info.png index cdc93a478..ce6a7872e 100644 Binary files a/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/item/custom/gui/cooking_info.png and b/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/item/custom/gui/cooking_info.png differ diff --git a/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/item/custom/gui/exit.png b/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/item/custom/gui/exit.png index e32d35a4a..951eb4ca9 100644 Binary files a/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/item/custom/gui/exit.png and b/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/item/custom/gui/exit.png differ diff --git a/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/item/custom/gui/get_item.png b/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/item/custom/gui/get_item.png index 74ac508f7..0843cf32b 100644 Binary files a/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/item/custom/gui/get_item.png and b/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/item/custom/gui/get_item.png differ diff --git a/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/item/custom/gui/next_page_0.png b/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/item/custom/gui/next_page_0.png index d9afce06e..a6d45a377 100644 Binary files a/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/item/custom/gui/next_page_0.png and b/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/item/custom/gui/next_page_0.png differ diff --git a/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/item/custom/gui/next_page_1.png b/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/item/custom/gui/next_page_1.png index 5976299af..817f8d569 100644 Binary files a/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/item/custom/gui/next_page_1.png and b/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/item/custom/gui/next_page_1.png differ diff --git a/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/item/custom/gui/previous_page_0.png b/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/item/custom/gui/previous_page_0.png index 567b9a174..8629c2563 100644 Binary files a/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/item/custom/gui/previous_page_0.png and b/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/item/custom/gui/previous_page_0.png differ diff --git a/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/item/custom/gui/previous_page_1.png b/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/item/custom/gui/previous_page_1.png index bd23ac78b..e02d945e2 100644 Binary files a/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/item/custom/gui/previous_page_1.png and b/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/item/custom/gui/previous_page_1.png differ diff --git a/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/item/custom/gui/return.png b/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/item/custom/gui/return.png index 9d08f5f95..b29810b5c 100644 Binary files a/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/item/custom/gui/return.png and b/common-files/src/main/resources/resources/internal/resourcepack/assets/minecraft/textures/item/custom/gui/return.png differ diff --git a/core/src/main/java/net/momirealms/craftengine/core/pack/AbstractPackManager.java b/core/src/main/java/net/momirealms/craftengine/core/pack/AbstractPackManager.java index 2938b920f..cc0be3102 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/pack/AbstractPackManager.java +++ b/core/src/main/java/net/momirealms/craftengine/core/pack/AbstractPackManager.java @@ -59,6 +59,8 @@ import java.util.concurrent.atomic.AtomicLong; import java.util.function.BiConsumer; import java.util.function.Consumer; import java.util.function.Predicate; +import java.util.zip.ZipEntry; +import java.util.zip.ZipOutputStream; import static net.momirealms.craftengine.core.util.MiscUtils.castToMap; @@ -109,7 +111,35 @@ public abstract class AbstractPackManager implements PackManager { this.plugin = plugin; this.cacheEventDispatcher = cacheEventDispatcher; this.generationEventDispatcher = generationEventDispatcher; - this.zipGenerator = (p1, p2) -> {}; + this.zipGenerator = (p1, p2) -> { + try (FileOutputStream fos = new FileOutputStream(p2.toFile()); + ZipOutputStream zos = new ZipOutputStream(fos)) { + Files.walkFileTree(p1, new SimpleFileVisitor<>() { + @Override + public @NotNull FileVisitResult preVisitDirectory(@NotNull Path dir, @NotNull BasicFileAttributes attrs) throws IOException { + if (!dir.equals(p1)) { + String relativePath = p1.relativize(dir).toString().replace("\\", "/") + "/"; + ZipEntry entry = new ZipEntry(relativePath); + zos.putNextEntry(entry); + zos.closeEntry(); + } + return FileVisitResult.CONTINUE; + } + + @Override + public @NotNull FileVisitResult visitFile(@NotNull Path file, @NotNull BasicFileAttributes attrs) throws IOException { + String relativePath = p1.relativize(file).toString().replace("\\", "/"); + ZipEntry entry = new ZipEntry(relativePath); + zos.putNextEntry(entry); + Files.copy(file, zos); + zos.closeEntry(); + return FileVisitResult.CONTINUE; + } + }); + } catch (IOException e) { + throw new RuntimeException("Failed to generate resource pack", e); + } + }; Path resourcesFolder = this.plugin.dataFolderPath().resolve("resources"); try { if (Files.notExists(resourcesFolder)) { @@ -909,7 +939,7 @@ public abstract class AbstractPackManager implements PackManager { Files.walkFileTree(targetFolder, EnumSet.of(FileVisitOption.FOLLOW_LINKS), Integer.MAX_VALUE, new SimpleFileVisitor<>() { @Override public @NotNull FileVisitResult visitFile(@NotNull Path file, @NotNull BasicFileAttributes attrs) { - if (!isJsonFile(file)) return FileVisitResult.CONTINUE; + if (!FileUtils.isJsonFile(file)) return FileVisitResult.CONTINUE; if (!jsonPathPredicate.test(file)) return FileVisitResult.CONTINUE; commonJsonToOptimize.add(file); return FileVisitResult.CONTINUE; @@ -928,7 +958,7 @@ public abstract class AbstractPackManager implements PackManager { Files.walkFileTree(modelsFolder, EnumSet.of(FileVisitOption.FOLLOW_LINKS), Integer.MAX_VALUE, new SimpleFileVisitor<>() { @Override public @NotNull FileVisitResult visitFile(@NotNull Path file, @NotNull BasicFileAttributes attrs) { - if (!isJsonFile(file)) return FileVisitResult.CONTINUE; + if (!FileUtils.isJsonFile(file)) return FileVisitResult.CONTINUE; if (!jsonPathPredicate.test(file)) return FileVisitResult.CONTINUE; modelJsonToOptimize.add(file); return FileVisitResult.CONTINUE; @@ -948,11 +978,11 @@ public abstract class AbstractPackManager implements PackManager { Files.walkFileTree(texturesFolder, EnumSet.of(FileVisitOption.FOLLOW_LINKS), Integer.MAX_VALUE, new SimpleFileVisitor<>() { @Override public @NotNull FileVisitResult visitFile(@NotNull Path file, @NotNull BasicFileAttributes attrs) { - if (isPngFile(file)) { + if (FileUtils.isPngFile(file)) { if (Config.optimizeTexture() && texturePathPredicate.test(file)) { imagesToOptimize.add(file); } - } else if (isMCMetaFile(file) && Config.optimizeJson()) { + } else if (FileUtils.isMcMetaFile(file) && Config.optimizeJson()) { if (!jsonPathPredicate.test(file)) return FileVisitResult.CONTINUE; commonJsonToOptimize.add(file); } @@ -1194,7 +1224,7 @@ public abstract class AbstractPackManager implements PackManager { Files.walkFileTree(fontPath, EnumSet.of(FileVisitOption.FOLLOW_LINKS), Integer.MAX_VALUE, new SimpleFileVisitor<>() { @Override public @NotNull FileVisitResult visitFile(@NotNull Path file, @NotNull BasicFileAttributes attrs) { - if (!isJsonFile(file)) return FileVisitResult.CONTINUE; + if (!FileUtils.isJsonFile(file)) return FileVisitResult.CONTINUE; JsonObject fontJson; try { fontJson = GsonHelper.readJsonFile(file).getAsJsonObject(); @@ -1231,7 +1261,7 @@ public abstract class AbstractPackManager implements PackManager { Files.walkFileTree(itemsPath, EnumSet.of(FileVisitOption.FOLLOW_LINKS), Integer.MAX_VALUE, new SimpleFileVisitor<>() { @Override public @NotNull FileVisitResult visitFile(@NotNull Path file, @NotNull BasicFileAttributes attrs) { - if (!isJsonFile(file)) return FileVisitResult.CONTINUE; + if (!FileUtils.isJsonFile(file)) return FileVisitResult.CONTINUE; JsonObject itemJson; try { itemJson = GsonHelper.readJsonFile(file).getAsJsonObject(); @@ -1256,7 +1286,7 @@ public abstract class AbstractPackManager implements PackManager { Files.walkFileTree(blockStatesPath, EnumSet.of(FileVisitOption.FOLLOW_LINKS), Integer.MAX_VALUE, new SimpleFileVisitor<>() { @Override public @NotNull FileVisitResult visitFile(@NotNull Path file, @NotNull BasicFileAttributes attrs) { - if (!isJsonFile(file)) return FileVisitResult.CONTINUE; + if (!FileUtils.isJsonFile(file)) return FileVisitResult.CONTINUE; JsonObject blockStateJson; try { blockStateJson = GsonHelper.readJsonFile(file).getAsJsonObject(); @@ -1285,7 +1315,7 @@ public abstract class AbstractPackManager implements PackManager { Files.walkFileTree(equipmentPath, EnumSet.of(FileVisitOption.FOLLOW_LINKS), Integer.MAX_VALUE, new SimpleFileVisitor<>() { @Override public @NotNull FileVisitResult visitFile(@NotNull Path file, @NotNull BasicFileAttributes attrs) { - if (!isJsonFile(file)) return FileVisitResult.CONTINUE; + if (!FileUtils.isJsonFile(file)) return FileVisitResult.CONTINUE; JsonObject equipmentJson; try { equipmentJson = GsonHelper.readJsonFile(file).getAsJsonObject(); @@ -1434,7 +1464,7 @@ public abstract class AbstractPackManager implements PackManager { Set texturesToFix = new HashSet<>(); // 验证贴图是否存在 - boolean enableObf = Config.enableObfuscation() && Config.enableRandomResourceLocation(); + boolean enableObf = Config.enableObfuscation(); label: for (Map.Entry> entry : imageToModels.asMap().entrySet()) { Key key = entry.getKey(); // 已经存在的贴图,直接过滤 @@ -1583,21 +1613,6 @@ public abstract class AbstractPackManager implements PackManager { } } - private static boolean isJsonFile(Path filePath) { - String fileName = filePath.getFileName().toString(); - return fileName.endsWith(".json"); - } - - private static boolean isMCMetaFile(Path filePath) { - String fileName = filePath.getFileName().toString(); - return fileName.endsWith(".mcmeta"); - } - - private static boolean isPngFile(Path filePath) { - String fileName = filePath.getFileName().toString(); - return fileName.endsWith(".png"); - } - private static void collectItemModelsDeeply(JsonObject jo, Consumer callback) { JsonElement modelJE = jo.get("model"); if (modelJE instanceof JsonPrimitive jsonPrimitive) { diff --git a/core/src/main/java/net/momirealms/craftengine/core/plugin/config/Config.java b/core/src/main/java/net/momirealms/craftengine/core/plugin/config/Config.java index 863cd34dc..62106e9c2 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/plugin/config/Config.java +++ b/core/src/main/java/net/momirealms/craftengine/core/plugin/config/Config.java @@ -17,6 +17,8 @@ import net.momirealms.craftengine.core.pack.AbstractPackManager; import net.momirealms.craftengine.core.pack.conflict.resolution.ResolutionConditional; import net.momirealms.craftengine.core.plugin.CraftEngine; import net.momirealms.craftengine.core.plugin.PluginProperties; +import net.momirealms.craftengine.core.plugin.context.number.NumberProvider; +import net.momirealms.craftengine.core.plugin.context.number.NumberProviders; import net.momirealms.craftengine.core.plugin.locale.LocalizedResourceConfigException; import net.momirealms.craftengine.core.plugin.locale.TranslationManager; import net.momirealms.craftengine.core.plugin.logger.filter.DisconnectLogFilter; @@ -64,6 +66,8 @@ public class Config { protected boolean resource_pack$protection$crash_tools$method_1; protected boolean resource_pack$protection$crash_tools$method_2; protected boolean resource_pack$protection$crash_tools$method_3; + protected boolean resource_pack$protection$crash_tools$method_4; + protected boolean resource_pack$protection$crash_tools$method_5; protected boolean resource_pack$validation$enable; protected boolean resource_pack$validation$fix_atlas; @@ -71,21 +75,23 @@ public class Config { protected boolean resource_pack$protection$obfuscation$enable; protected long resource_pack$protection$obfuscation$seed; - protected boolean resource_pack$protection$obfuscation$fake_directory; - protected boolean resource_pack$protection$obfuscation$escape_unicode; - protected boolean resource_pack$protection$obfuscation$break_json; - protected boolean resource_pack$protection$obfuscation$resource_location$enable; - protected int resource_pack$protection$obfuscation$resource_location$random_namespace$length; - protected int resource_pack$protection$obfuscation$resource_location$random_namespace$amount; - protected String resource_pack$protection$obfuscation$resource_location$random_path$source; - protected int resource_pack$protection$obfuscation$resource_location$random_path$depth; - protected boolean resource_pack$protection$obfuscation$resource_location$random_path$anti_unzip; - protected int resource_pack$protection$obfuscation$resource_location$random_atlas$images_per_canvas; - protected boolean resource_pack$protection$obfuscation$resource_location$random_atlas$use_double; - protected List resource_pack$protection$obfuscation$resource_location$bypass_textures; - protected List resource_pack$protection$obfuscation$resource_location$bypass_models; - protected List resource_pack$protection$obfuscation$resource_location$bypass_sounds; - protected List resource_pack$protection$obfuscation$resource_location$bypass_equipments; + protected boolean resource_pack$protection$fake_directory; + protected boolean resource_pack$protection$escape_json; + protected boolean resource_pack$protection$break_texture; + protected boolean resource_pack$protection$obfuscation$path$anti_unzip; + protected boolean resource_pack$protection$incorrect_crc; + protected boolean resource_pack$protection$fake_file_size; + protected NumberProvider resource_pack$protection$obfuscation$namespace$length; + protected int resource_pack$protection$obfuscation$namespace$amount; + protected String resource_pack$protection$obfuscation$path$source; + protected NumberProvider resource_pack$protection$obfuscation$path$depth; + protected NumberProvider resource_pack$protection$obfuscation$path$length; + protected int resource_pack$protection$obfuscation$atlas$images_per_canvas; + protected String resource_pack$protection$obfuscation$atlas$prefix; + protected List resource_pack$protection$obfuscation$bypass_textures; + protected List resource_pack$protection$obfuscation$bypass_models; + protected List resource_pack$protection$obfuscation$bypass_sounds; + protected List resource_pack$protection$obfuscation$bypass_equipments; protected boolean resource_pack$optimization$enable; protected boolean resource_pack$optimization$texture$enable; @@ -315,23 +321,27 @@ public class Config { resource_pack$protection$crash_tools$method_1 = config.getBoolean("resource-pack.protection.crash-tools.method-1", false); resource_pack$protection$crash_tools$method_2 = config.getBoolean("resource-pack.protection.crash-tools.method-2", false); resource_pack$protection$crash_tools$method_3 = config.getBoolean("resource-pack.protection.crash-tools.method-3", false); + resource_pack$protection$crash_tools$method_4 = config.getBoolean("resource-pack.protection.crash-tools.method-4", false); + resource_pack$protection$crash_tools$method_5 = config.getBoolean("resource-pack.protection.crash-tools.method-5", false); resource_pack$protection$obfuscation$enable = VersionHelper.PREMIUM && config.getBoolean("resource-pack.protection.obfuscation.enable", false); resource_pack$protection$obfuscation$seed = config.getLong("resource-pack.protection.obfuscation.seed", 0L); - resource_pack$protection$obfuscation$fake_directory = config.getBoolean("resource-pack.protection.obfuscation.fake-directory", false); - resource_pack$protection$obfuscation$escape_unicode = config.getBoolean("resource-pack.protection.obfuscation.escape-unicode", false); - resource_pack$protection$obfuscation$break_json = config.getBoolean("resource-pack.protection.obfuscation.break-json", false); - resource_pack$protection$obfuscation$resource_location$enable = config.getBoolean("resource-pack.protection.obfuscation.resource-location.enable", false); - resource_pack$protection$obfuscation$resource_location$random_namespace$amount = config.getInt("resource-pack.protection.obfuscation.resource-location.random-namespace.amount", 32); - resource_pack$protection$obfuscation$resource_location$random_namespace$length = config.getInt("resource-pack.protection.obfuscation.resource-location.random-namespace.length", 8); - resource_pack$protection$obfuscation$resource_location$random_path$depth = config.getInt("resource-pack.protection.obfuscation.resource-location.random-path.depth", 16); - resource_pack$protection$obfuscation$resource_location$random_path$source = config.getString("resource-pack.protection.obfuscation.resource-location.random-path.source", "obf"); - resource_pack$protection$obfuscation$resource_location$random_path$anti_unzip = config.getBoolean("resource-pack.protection.obfuscation.resource-location.random-path.anti-unzip", false); - resource_pack$protection$obfuscation$resource_location$random_atlas$images_per_canvas = config.getInt("resource-pack.protection.obfuscation.resource-location.random-atlas.images-per-canvas", 16); - resource_pack$protection$obfuscation$resource_location$random_atlas$use_double = config.getBoolean("resource-pack.protection.obfuscation.resource-location.random-atlas.use-double", false); - resource_pack$protection$obfuscation$resource_location$bypass_textures = config.getStringList("resource-pack.protection.obfuscation.resource-location.bypass-textures"); - resource_pack$protection$obfuscation$resource_location$bypass_models = config.getStringList("resource-pack.protection.obfuscation.resource-location.bypass-models"); - resource_pack$protection$obfuscation$resource_location$bypass_sounds = config.getStringList("resource-pack.protection.obfuscation.resource-location.bypass-sounds"); - resource_pack$protection$obfuscation$resource_location$bypass_equipments = config.getStringList("resource-pack.protection.obfuscation.resource-location.bypass-equipments"); + resource_pack$protection$fake_directory = config.getBoolean("resource-pack.protection.fake-directory", false); + resource_pack$protection$escape_json = config.getBoolean("resource-pack.protection.escape-json", false); + resource_pack$protection$break_texture = config.getBoolean("resource-pack.protection.break-texture", false); + resource_pack$protection$incorrect_crc = config.getBoolean("resource-pack.protection.incorrect-crc", false); + resource_pack$protection$fake_file_size = config.getBoolean("resource-pack.protection.fake-file-size", false); + resource_pack$protection$obfuscation$namespace$amount = config.getInt("resource-pack.protection.obfuscation.namespace.amount", 32); + resource_pack$protection$obfuscation$namespace$length = NumberProviders.fromObject(config.get("resource-pack.protection.obfuscation.namespace.length", 2)); + resource_pack$protection$obfuscation$path$depth = NumberProviders.fromObject(config.get("resource-pack.protection.obfuscation.path.depth", 4)); + resource_pack$protection$obfuscation$path$length = NumberProviders.fromObject(config.get("resource-pack.protection.obfuscation.path.length", 2)); + resource_pack$protection$obfuscation$path$source = config.getString("resource-pack.protection.obfuscation.path.source", "obf"); + resource_pack$protection$obfuscation$path$anti_unzip = config.getBoolean("resource-pack.protection.obfuscation.path.anti-unzip", false); + resource_pack$protection$obfuscation$atlas$images_per_canvas = config.getInt("resource-pack.protection.obfuscation.atlas.images-per-canvas", 256); + resource_pack$protection$obfuscation$atlas$prefix = config.getString("resource-pack.protection.obfuscation.atlas.prefix", "atlas"); + resource_pack$protection$obfuscation$bypass_textures = config.getStringList("resource-pack.protection.obfuscation.bypass-textures"); + resource_pack$protection$obfuscation$bypass_models = config.getStringList("resource-pack.protection.obfuscation.bypass-models"); + resource_pack$protection$obfuscation$bypass_sounds = config.getStringList("resource-pack.protection.obfuscation.bypass-sounds"); + resource_pack$protection$obfuscation$bypass_equipments = config.getStringList("resource-pack.protection.obfuscation.bypass-equipments"); resource_pack$optimization$enable = config.getBoolean("resource-pack.optimization.enable", false); resource_pack$optimization$texture$enable = config.getBoolean("resource-pack.optimization.texture.enable", true); resource_pack$optimization$texture$zopfli_iterations = config.getInt("resource-pack.optimization.texture.zopfli-iterations", 0); @@ -345,7 +355,7 @@ public class Config { return p; }).collect(Collectors.toSet()); resource_pack$validation$enable = config.getBoolean("resource-pack.validation.enable", true); - resource_pack$validation$fix_atlas = VersionHelper.PREMIUM && config.getBoolean("resource-pack.validation.fix-atlas", true); + resource_pack$validation$fix_atlas = config.getBoolean("resource-pack.validation.fix-atlas", true); resource_pack$exclude_core_shaders = config.getBoolean("resource-pack.exclude-core-shaders", false); resource_pack$overlay_format = config.getString("resource-pack.overlay-format", "overlay_{version}"); if (!resource_pack$overlay_format.contains("{version}")) { @@ -741,7 +751,11 @@ public class Config { } public static boolean crashTool4() { - return false; + return instance.resource_pack$protection$crash_tools$method_4; + } + + public static boolean crashTool5() { + return instance.resource_pack$protection$crash_tools$method_5; } public static boolean enableObfuscation() { @@ -753,63 +767,71 @@ public class Config { } public static boolean createFakeDirectory() { - return instance.resource_pack$protection$obfuscation$fake_directory; + return instance.resource_pack$protection$fake_directory; } - public static boolean escapeUnicode() { - return instance.resource_pack$protection$obfuscation$escape_unicode; + public static boolean escapeJson() { + return instance.resource_pack$protection$escape_json; } - public static boolean breakJson() { - return instance.resource_pack$protection$obfuscation$break_json; + public static boolean breakTexture() { + return instance.resource_pack$protection$break_texture; } - public static boolean enableRandomResourceLocation() { - return instance.resource_pack$protection$obfuscation$resource_location$enable; - } - - public static int namespaceLength() { - return instance.resource_pack$protection$obfuscation$resource_location$random_namespace$length; + public static NumberProvider namespaceLength() { + return instance.resource_pack$protection$obfuscation$namespace$length; } public static int namespaceAmount() { - return instance.resource_pack$protection$obfuscation$resource_location$random_namespace$amount; + return instance.resource_pack$protection$obfuscation$namespace$amount; } public static String atlasSource() { - return instance.resource_pack$protection$obfuscation$resource_location$random_path$source; + return instance.resource_pack$protection$obfuscation$path$source; } - public static int pathDepth() { - return instance.resource_pack$protection$obfuscation$resource_location$random_path$depth; + public static NumberProvider pathDepth() { + return instance.resource_pack$protection$obfuscation$path$depth; + } + + public static NumberProvider pathLength() { + return instance.resource_pack$protection$obfuscation$path$length; } public static boolean antiUnzip() { - return instance.resource_pack$protection$obfuscation$resource_location$random_path$anti_unzip; + return instance.resource_pack$protection$obfuscation$path$anti_unzip; + } + + public static boolean incorrectCrc() { + return instance.resource_pack$protection$incorrect_crc; + } + + public static boolean fakeFileSize() { + return instance.resource_pack$protection$fake_file_size; } public static int imagesPerCanvas() { - return instance.resource_pack$protection$obfuscation$resource_location$random_atlas$images_per_canvas; + return instance.resource_pack$protection$obfuscation$atlas$images_per_canvas; } - public static boolean useDouble() { - return instance.resource_pack$protection$obfuscation$resource_location$random_atlas$use_double; + public static String imageCanvasPrefix() { + return instance.resource_pack$protection$obfuscation$atlas$prefix; } public static List bypassTextures() { - return instance.resource_pack$protection$obfuscation$resource_location$bypass_textures; + return instance.resource_pack$protection$obfuscation$bypass_textures; } public static List bypassModels() { - return instance.resource_pack$protection$obfuscation$resource_location$bypass_models; + return instance.resource_pack$protection$obfuscation$bypass_models; } public static List bypassSounds() { - return instance.resource_pack$protection$obfuscation$resource_location$bypass_sounds; + return instance.resource_pack$protection$obfuscation$bypass_sounds; } public static List bypassEquipments() { - return instance.resource_pack$protection$obfuscation$resource_location$bypass_equipments; + return instance.resource_pack$protection$obfuscation$bypass_equipments; } public static Key deceiveBukkitMaterial(int id) { diff --git a/core/src/main/java/net/momirealms/craftengine/core/util/CRC.java b/core/src/main/java/net/momirealms/craftengine/core/util/CRC.java new file mode 100644 index 000000000..9233fe105 --- /dev/null +++ b/core/src/main/java/net/momirealms/craftengine/core/util/CRC.java @@ -0,0 +1,43 @@ +package net.momirealms.craftengine.core.util; + +class CRC { + private static final int[] crcTable = new int[256]; + private int crc = 0xffffffff; + + static { + for (int n = 0; n < 256; n++) { + int c = n; + for (int k = 0; k < 8; k++) { + if ((c & 1) == 1) { + c = 0xedb88320 ^ (c >>> 1); + } else { + c >>>= 1; + } + + crcTable[n] = c; + } + } + } + + CRC() {} + + void reset() { + crc = 0xffffffff; + } + + void update(byte[] data, int off, int len) { + int c = crc; + for (int n = 0; n < len; n++) { + c = crcTable[(c ^ data[off + n]) & 0xff] ^ (c >>> 8); + } + crc = c; + } + + void update(int data) { + crc = crcTable[(crc ^ data) & 0xff] ^ (crc >>> 8); + } + + int getValue() { + return ~crc; + } +} \ No newline at end of file diff --git a/core/src/main/java/net/momirealms/craftengine/core/util/CharacterUtils.java b/core/src/main/java/net/momirealms/craftengine/core/util/CharacterUtils.java index 08a9155e2..a58123f1d 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/util/CharacterUtils.java +++ b/core/src/main/java/net/momirealms/craftengine/core/util/CharacterUtils.java @@ -68,6 +68,10 @@ public class CharacterUtils { return builder.toString(); } + public static String escape(String string) { + return encodeCharsToUnicode(string.toCharArray()); + } + public static String replaceBackslashWithSlash(String input) { if (input == null || input.isEmpty()) { return input; diff --git a/core/src/main/java/net/momirealms/craftengine/core/util/FileUtils.java b/core/src/main/java/net/momirealms/craftengine/core/util/FileUtils.java index d576f0acc..e98fb261c 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/util/FileUtils.java +++ b/core/src/main/java/net/momirealms/craftengine/core/util/FileUtils.java @@ -2,15 +2,14 @@ package net.momirealms.craftengine.core.util; import it.unimi.dsi.fastutil.objects.ObjectArrayList; import net.momirealms.craftengine.core.pack.ResourceLocation; +import org.jetbrains.annotations.NotNull; import java.io.IOException; -import java.nio.file.FileVisitOption; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.StandardCopyOption; +import java.nio.file.*; +import java.nio.file.attribute.BasicFileAttributes; import java.util.Comparator; +import java.util.EnumSet; import java.util.List; -import java.util.Locale; import java.util.stream.Stream; public class FileUtils { @@ -92,39 +91,33 @@ public class FileUtils { return folders; } - public static void copyFilesByExtension(Path sourceDir, Path targetDir, String fileExtension, boolean preserveStructure) throws IOException { - if (!Files.exists(sourceDir)) { - return; - } + public static List getFilesDeeply(Path path) throws IOException { + List files = new ObjectArrayList<>(); + Files.walkFileTree(path, EnumSet.of(FileVisitOption.FOLLOW_LINKS), Integer.MAX_VALUE, new SimpleFileVisitor<>() { + @Override + public @NotNull FileVisitResult visitFile(@NotNull Path file, @NotNull BasicFileAttributes attrs) { + if (attrs.isRegularFile()) { + files.add(file); + } + return FileVisitResult.CONTINUE; + } + }); + return files; + } - if (!Files.isDirectory(sourceDir)) { - return; - } + public static boolean isJsonFile(Path filePath) { + return filePath.getFileName().toString().endsWith(".json"); + } - // 确保目标目录存在 - Files.createDirectories(targetDir); - String extensionPattern = fileExtension.startsWith(".") ? fileExtension : "." + fileExtension; - try (Stream paths = Files.walk(sourceDir)) { - paths.filter(Files::isRegularFile) - .filter(path -> path.toString().toLowerCase(Locale.ROOT).endsWith(extensionPattern.toLowerCase())) - .forEach(sourceFile -> { - try { - Path targetFile; - if (preserveStructure) { - // 保持目录结构 - targetFile = targetDir.resolve(sourceDir.relativize(sourceFile)); - } else { - // 不保持目录结构,所有文件都放在目标目录根下 - targetFile = targetDir.resolve(sourceFile.getFileName()); - } - // 确保目标文件的父目录存在 - Files.createDirectories(targetFile.getParent()); - // 复制文件,如果已存在则替换 - Files.copy(sourceFile, targetFile, StandardCopyOption.REPLACE_EXISTING); - } catch (IOException e) { - throw new RuntimeException("Failed to copy file: " + sourceFile, e); - } - }); - } + public static boolean isMcMetaFile(Path filePath) { + return filePath.getFileName().toString().endsWith(".mcmeta"); + } + + public static boolean isPngFile(Path filePath) { + return filePath.getFileName().toString().endsWith(".png"); + } + + public static boolean isOggFile(Path filePath) { + return filePath.getFileName().toString().endsWith(".ogg"); } } diff --git a/core/src/main/java/net/momirealms/craftengine/core/util/PngOptimizer.java b/core/src/main/java/net/momirealms/craftengine/core/util/PngOptimizer.java index 2d74fbbb0..6c60e1a50 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/util/PngOptimizer.java +++ b/core/src/main/java/net/momirealms/craftengine/core/util/PngOptimizer.java @@ -389,7 +389,16 @@ public class PngOptimizer { if (data != null) { os.write(data); } - writeInt(os, 0); // crc + writeInt(os, calculateCRC(chunkType, data)); // crc + } + + public static int calculateCRC(byte[] chunkType, byte[] data) { + CRC crc = new CRC(); + crc.update(chunkType, 0, chunkType.length); + if (data != null && data.length > 0) { + crc.update(data, 0, data.length); + } + return crc.getValue(); } enum PngColorType { diff --git a/gradle.properties b/gradle.properties index 86514135e..be983604a 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,8 +2,8 @@ org.gradle.jvmargs=-Xmx1G # Project settings # Rule: [major update].[feature update].[bug fix] -project_version=0.0.64.22 -config_version=51 +project_version=0.0.64.23 +config_version=52 lang_version=36 project_group=net.momirealms latest_supported_version=1.21.10 @@ -39,7 +39,7 @@ zstd_version=1.5.7-4 commons_io_version=2.20.0 commons_lang3_version=3.19.0 sparrow_nbt_version=0.10.6 -sparrow_util_version=0.54 +sparrow_util_version=0.55.2 fastutil_version=8.5.18 netty_version=4.1.127.Final joml_version=1.10.8