├── .github ├── FUNDING.yml ├── ISSUE_TEMPLATE │ ├── compatibility-conflict.md │ ├── feature_request.md │ └── bug_report.md └── workflows │ ├── gradle.yml │ └── publish.yml ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── src └── main │ ├── resources │ ├── assets │ │ ├── netherite_plus │ │ │ ├── models │ │ │ │ ├── item │ │ │ │ │ ├── fake_netherite_block.json │ │ │ │ │ ├── netherite_anvil.json │ │ │ │ │ ├── netherite_beacon.json │ │ │ │ │ ├── netherite_shulker_box.json │ │ │ │ │ ├── netherite_black_shulker_box.json │ │ │ │ │ ├── netherite_blue_shulker_box.json │ │ │ │ │ ├── netherite_brown_shulker_box.json │ │ │ │ │ ├── netherite_cyan_shulker_box.json │ │ │ │ │ ├── netherite_gray_shulker_box.json │ │ │ │ │ ├── netherite_green_shulker_box.json │ │ │ │ │ ├── netherite_lime_shulker_box.json │ │ │ │ │ ├── netherite_magenta_shulker_box.json │ │ │ │ │ ├── netherite_orange_shulker_box.json │ │ │ │ │ ├── netherite_pink_shulker_box.json │ │ │ │ │ ├── netherite_purple_shulker_box.json │ │ │ │ │ ├── netherite_red_shulker_box.json │ │ │ │ │ ├── netherite_white_shulker_box.json │ │ │ │ │ ├── netherite_yellow_shulker_box.json │ │ │ │ │ ├── netherite_light_blue_shulker_box.json │ │ │ │ │ ├── netherite_light_gray_shulker_box.json │ │ │ │ │ ├── netherite_shears.json │ │ │ │ │ ├── netherite_trident.json │ │ │ │ │ ├── broken_netherite_elytra.json │ │ │ │ │ ├── netherite_horse_armor.json │ │ │ │ │ ├── netherite_bow_pulling_0.json │ │ │ │ │ ├── netherite_bow_pulling_1.json │ │ │ │ │ ├── netherite_bow_pulling_2.json │ │ │ │ │ ├── netherite_crossbow_arrow.json │ │ │ │ │ ├── netherite_crossbow_firework.json │ │ │ │ │ ├── netherite_crossbow_pulling_0.json │ │ │ │ │ ├── netherite_crossbow_pulling_1.json │ │ │ │ │ ├── netherite_crossbow_pulling_2.json │ │ │ │ │ ├── netherite_fishing_rod_cast.json │ │ │ │ │ ├── netherite_elytra.json │ │ │ │ │ ├── netherite_fishing_rod.json │ │ │ │ │ ├── netherite_trident_throwing.json │ │ │ │ │ ├── netherite_trident_in_hand.json │ │ │ │ │ ├── netherite_shield_blocking.json │ │ │ │ │ ├── netherite_bow.json │ │ │ │ │ ├── netherite_crossbow.json │ │ │ │ │ └── netherite_shield.json │ │ │ │ └── block │ │ │ │ │ ├── netherite_shulker_box.json │ │ │ │ │ ├── netherite_red_shulker_box.json │ │ │ │ │ ├── netherite_black_shulker_box.json │ │ │ │ │ ├── netherite_blue_shulker_box.json │ │ │ │ │ ├── netherite_brown_shulker_box.json │ │ │ │ │ ├── netherite_cyan_shulker_box.json │ │ │ │ │ ├── netherite_gray_shulker_box.json │ │ │ │ │ ├── netherite_green_shulker_box.json │ │ │ │ │ ├── netherite_lime_shulker_box.json │ │ │ │ │ ├── netherite_pink_shulker_box.json │ │ │ │ │ ├── netherite_white_shulker_box.json │ │ │ │ │ ├── netherite_magenta_shulker_box.json │ │ │ │ │ ├── netherite_orange_shulker_box.json │ │ │ │ │ ├── netherite_purple_shulker_box.json │ │ │ │ │ ├── netherite_yellow_shulker_box.json │ │ │ │ │ ├── fake_netherite_block.json │ │ │ │ │ ├── netherite_light_blue_shulker_box.json │ │ │ │ │ ├── netherite_light_gray_shulker_box.json │ │ │ │ │ └── netherite_anvil.json │ │ │ ├── icon.png │ │ │ ├── blockstates │ │ │ │ ├── netherite_block.json │ │ │ │ ├── fake_netherite_block.json │ │ │ │ ├── netherite_shulker_box.json │ │ │ │ ├── netherite_blue_shulker_box.json │ │ │ │ ├── netherite_cyan_shulker_box.json │ │ │ │ ├── netherite_gray_shulker_box.json │ │ │ │ ├── netherite_lime_shulker_box.json │ │ │ │ ├── netherite_pink_shulker_box.json │ │ │ │ ├── netherite_red_shulker_box.json │ │ │ │ ├── netherite_black_shulker_box.json │ │ │ │ ├── netherite_brown_shulker_box.json │ │ │ │ ├── netherite_green_shulker_box.json │ │ │ │ ├── netherite_magenta_shulker_box.json │ │ │ │ ├── netherite_orange_shulker_box.json │ │ │ │ ├── netherite_purple_shulker_box.json │ │ │ │ ├── netherite_white_shulker_box.json │ │ │ │ ├── netherite_yellow_shulker_box.json │ │ │ │ ├── netherite_light_blue_shulker_box.json │ │ │ │ ├── netherite_light_gray_shulker_box.json │ │ │ │ ├── netherite_beacon.json │ │ │ │ └── netherite_anvil.json │ │ │ ├── textures │ │ │ │ ├── item │ │ │ │ │ ├── netherite_bow.png │ │ │ │ │ ├── netherite_elytra.png │ │ │ │ │ ├── netherite_shears.png │ │ │ │ │ ├── netherite_trident.png │ │ │ │ │ ├── netherite_fishing_rod.png │ │ │ │ │ ├── netherite_horse_armor.png │ │ │ │ │ ├── broken_netherite_elytra.png │ │ │ │ │ ├── netherite_bow_pulling_0.png │ │ │ │ │ ├── netherite_bow_pulling_1.png │ │ │ │ │ ├── netherite_bow_pulling_2.png │ │ │ │ │ ├── netherite_crossbow_arrow.png │ │ │ │ │ ├── netherite_crossbow_firework.png │ │ │ │ │ ├── netherite_crossbow_standby.png │ │ │ │ │ ├── netherite_fishing_rod_cast.png │ │ │ │ │ ├── netherite_crossbow_pulling_0.png │ │ │ │ │ ├── netherite_crossbow_pulling_1.png │ │ │ │ │ └── netherite_crossbow_pulling_2.png │ │ │ │ ├── block │ │ │ │ │ ├── netherite_anvil.png │ │ │ │ │ ├── netherite_beacon.png │ │ │ │ │ ├── netherite_anvil_top.png │ │ │ │ │ ├── netherite_shulker_box.png │ │ │ │ │ ├── netherite_beacon_active.png │ │ │ │ │ ├── netherite_blue_shulker_box.png │ │ │ │ │ ├── netherite_cyan_shulker_box.png │ │ │ │ │ ├── netherite_gray_shulker_box.png │ │ │ │ │ ├── netherite_lime_shulker_box.png │ │ │ │ │ ├── netherite_pink_shulker_box.png │ │ │ │ │ ├── netherite_red_shulker_box.png │ │ │ │ │ ├── chipped_netherite_anvil_top.png │ │ │ │ │ ├── damaged_netherite_anvil_top.png │ │ │ │ │ ├── netherite_black_shulker_box.png │ │ │ │ │ ├── netherite_brown_shulker_box.png │ │ │ │ │ ├── netherite_green_shulker_box.png │ │ │ │ │ ├── netherite_magenta_shulker_box.png │ │ │ │ │ ├── netherite_orange_shulker_box.png │ │ │ │ │ ├── netherite_purple_shulker_box.png │ │ │ │ │ ├── netherite_white_shulker_box.png │ │ │ │ │ ├── netherite_yellow_shulker_box.png │ │ │ │ │ ├── netherite_light_blue_shulker_box.png │ │ │ │ │ └── netherite_light_gray_shulker_box.png │ │ │ │ ├── mob_effect │ │ │ │ │ └── lava_vision.png │ │ │ │ ├── entity │ │ │ │ │ ├── netherite_elytra.png │ │ │ │ │ ├── netherite_trident.png │ │ │ │ │ ├── horse_armor_netherite.png │ │ │ │ │ ├── netherite_horse_armor.png │ │ │ │ │ ├── netherite_shield_base.png │ │ │ │ │ ├── netherite_trident_riptide.png │ │ │ │ │ ├── netherite_shield_base_nopattern.png │ │ │ │ │ └── netherite_shulker │ │ │ │ │ │ ├── netherite_shulker.png │ │ │ │ │ │ ├── netherite_shulker_blue.png │ │ │ │ │ │ ├── netherite_shulker_cyan.png │ │ │ │ │ │ ├── netherite_shulker_gray.png │ │ │ │ │ │ ├── netherite_shulker_lime.png │ │ │ │ │ │ ├── netherite_shulker_pink.png │ │ │ │ │ │ ├── netherite_shulker_red.png │ │ │ │ │ │ ├── netherite_shulker_black.png │ │ │ │ │ │ ├── netherite_shulker_brown.png │ │ │ │ │ │ ├── netherite_shulker_green.png │ │ │ │ │ │ ├── netherite_shulker_magenta.png │ │ │ │ │ │ ├── netherite_shulker_orange.png │ │ │ │ │ │ ├── netherite_shulker_purple.png │ │ │ │ │ │ ├── netherite_shulker_white.png │ │ │ │ │ │ ├── netherite_shulker_yellow.png │ │ │ │ │ │ ├── netherite_shulker_light_blue.png │ │ │ │ │ │ ├── netherite_shulker_light_gray.png │ │ │ │ │ │ └── netherite_shulker_lime_green.png │ │ │ │ └── gui │ │ │ │ │ ├── container │ │ │ │ │ └── netherite_beacon.png │ │ │ │ │ └── advancements │ │ │ │ │ └── backgrounds │ │ │ │ │ └── netherite.png │ │ │ ├── atlases │ │ │ │ ├── netherite_shulker_boxes.json │ │ │ │ └── netherite_shield_patterns.json │ │ │ └── lang │ │ │ │ └── zh_cn.json │ │ └── minecraft │ │ │ └── textures │ │ │ └── models │ │ │ └── armor │ │ │ ├── netherite_elytra_layer_1.png │ │ │ └── netherite_elytra_layer_2.png │ ├── data │ │ ├── netherite_plus │ │ │ ├── recipes │ │ │ │ ├── netherite_shield_decoration.json │ │ │ │ ├── netherite_shulker_box_coloring.json │ │ │ │ ├── netherite_bow.json │ │ │ │ ├── netherite_eytra.json │ │ │ │ ├── netherite_shears.json │ │ │ │ ├── netherite_shield.json │ │ │ │ ├── netherite_trident.json │ │ │ │ ├── netherite_crossbow.json │ │ │ │ ├── netherite_anvil.json │ │ │ │ ├── netherite_fishing_rod.json │ │ │ │ ├── netherite_shulker_box.json │ │ │ │ ├── netherite_horse_armor.json │ │ │ │ ├── netherite_blue_shulker_box.json │ │ │ │ ├── netherite_cyan_shulker_box.json │ │ │ │ ├── netherite_gray_shulker_box.json │ │ │ │ ├── netherite_lime_shulker_box.json │ │ │ │ ├── netherite_pink_shulker_box.json │ │ │ │ ├── netherite_red_shulker_box.json │ │ │ │ ├── netherite_black_shulker_box.json │ │ │ │ ├── netherite_brown_shulker_box.json │ │ │ │ ├── netherite_green_shulker_box.json │ │ │ │ ├── netherite_white_shulker_box.json │ │ │ │ ├── fake_netherite_block.json │ │ │ │ ├── netherite_magenta_shulker_box.json │ │ │ │ ├── netherite_orange_shulker_box.json │ │ │ │ ├── netherite_purple_shulker_box.json │ │ │ │ ├── netherite_yellow_shulker_box.json │ │ │ │ ├── netherite_light_blue_shulker_box.json │ │ │ │ ├── netherite_light_gray_shulker_box.json │ │ │ │ └── netherite_beacon.json │ │ │ ├── loot_tables │ │ │ │ ├── blocks │ │ │ │ │ ├── netherite_anvil.json │ │ │ │ │ ├── fake_netherite_block.json │ │ │ │ │ ├── netherite_beacon.json │ │ │ │ │ ├── netherite_shulker_box.json │ │ │ │ │ ├── netherite_black_shulker_box.json │ │ │ │ │ ├── netherite_blue_shulker_box.json │ │ │ │ │ ├── netherite_brown_shulker_box.json │ │ │ │ │ ├── netherite_cyan_shulker_box.json │ │ │ │ │ ├── netherite_gray_shulker_box.json │ │ │ │ │ ├── netherite_green_shulker_box.json │ │ │ │ │ ├── netherite_lime_shulker_box.json │ │ │ │ │ ├── netherite_pink_shulker_box.json │ │ │ │ │ ├── netherite_red_shulker_box.json │ │ │ │ │ ├── netherite_white_shulker_box.json │ │ │ │ │ ├── netherite_magenta_shulker_box.json │ │ │ │ │ ├── netherite_orange_shulker_box.json │ │ │ │ │ ├── netherite_purple_shulker_box.json │ │ │ │ │ ├── netherite_yellow_shulker_box.json │ │ │ │ │ ├── netherite_light_blue_shulker_box.json │ │ │ │ │ └── netherite_light_gray_shulker_box.json │ │ │ │ └── gameplay │ │ │ │ │ ├── fishing.json │ │ │ │ │ └── fishing │ │ │ │ │ └── junk.json │ │ │ ├── advancements │ │ │ │ └── netherite_plus │ │ │ │ │ ├── netherite_trident_special.json │ │ │ │ │ ├── netherite_beacon_special.json │ │ │ │ │ ├── netherite_beacon_ultra.json │ │ │ │ │ ├── root.json │ │ │ │ │ ├── netherite_anvil.json │ │ │ │ │ ├── netherite_beacon.json │ │ │ │ │ ├── netherite_elytra.json │ │ │ │ │ ├── netherite_shears.json │ │ │ │ │ ├── netherite_shield.json │ │ │ │ │ ├── netherite_trident.json │ │ │ │ │ ├── fake_netherite_block.json │ │ │ │ │ ├── netherite_fishing_rod.json │ │ │ │ │ ├── netherite_fishing_rod_special.json │ │ │ │ │ ├── netherite_horse_armor.json │ │ │ │ │ ├── netherite_horse_armor_special.json │ │ │ │ │ ├── netherite_bow.json │ │ │ │ │ ├── netherite_elytra_special.json │ │ │ │ │ └── netherite_shield_special.json │ │ │ └── tags │ │ │ │ └── blocks │ │ │ │ └── netherite_shulker_boxes.json │ │ └── minecraft │ │ │ └── tags │ │ │ └── blocks │ │ │ └── beacon_base_blocks.json │ ├── netherite_plus.mixins.json │ ├── quilt.mod.json │ └── netherite_plus.accesswidener │ └── java │ └── com │ └── oroarmor │ └── netherite_plus │ ├── block │ ├── FakeNetheriteBlock.java │ └── NetheriteAnvilBlock.java │ ├── network │ ├── LavaVisionUpdatePacket.java │ └── UpdateNetheriteBeaconC2SPacket.java │ ├── loot │ └── NetheritePlusLootManager.java │ ├── mixin │ ├── ClientPlayNetworkHandlerAccessor.java │ ├── render │ │ ├── ItemRendererAccessor.java │ │ ├── MinecraftClientMixin.java │ │ ├── TridentEntityRendererMixin.java │ │ ├── TexturedRenderLayersMixin.java │ │ ├── ModelLoaderMixin.java │ │ └── BackgroundRendererMixin.java │ ├── BlockItemMixin.java │ ├── ShulkerBoxBlockEntityMixin.java │ ├── ItemPredicateMixin.java │ ├── ClientPlayNetworkHandlerMixin.java │ ├── TridentEntityMixin.java │ └── PlayerEntityMixin.java │ ├── item │ ├── NetheriteHorseArmorItem.java │ ├── NetheriteElytraItem.java │ ├── NetheriteShieldItem.java │ ├── NetheriteBowItem.java │ └── NetheriteCrossbowItem.java │ ├── advancement │ └── criterion │ │ ├── NetheritePlusCriteria.java │ │ └── RiptideNetheriteTridentCriterion.java │ ├── stat │ └── NetheritePlusStats.java │ ├── client │ └── NetheritePlusTextures.java │ ├── entity │ └── effect │ │ └── NetheritePlusStatusEffects.java │ ├── recipe │ └── NetheritePlusRecipeSerializer.java │ └── screen │ └── NetheritePlusScreenHandlers.java ├── CHANGELOG.md ├── .gitignore ├── settings.gradle ├── gradle.properties └── LICENSE /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | patreon: OroArmor 4 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/models/item/fake_netherite_block.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/netherite_block" 3 | } -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/models/item/netherite_anvil.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "netherite_plus:block/netherite_anvil" 3 | } -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/models/item/netherite_beacon.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "netherite_plus:block/netherite_beacon" 3 | } -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/models/item/netherite_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/template_shulker_box" 3 | } 4 | -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/models/item/netherite_black_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/template_shulker_box" 3 | } 4 | -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/models/item/netherite_blue_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/template_shulker_box" 3 | } 4 | -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/models/item/netherite_brown_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/template_shulker_box" 3 | } 4 | -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/models/item/netherite_cyan_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/template_shulker_box" 3 | } 4 | -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/models/item/netherite_gray_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/template_shulker_box" 3 | } 4 | -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/models/item/netherite_green_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/template_shulker_box" 3 | } 4 | -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/models/item/netherite_lime_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/template_shulker_box" 3 | } 4 | -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/models/item/netherite_magenta_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/template_shulker_box" 3 | } 4 | -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/models/item/netherite_orange_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/template_shulker_box" 3 | } 4 | -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/models/item/netherite_pink_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/template_shulker_box" 3 | } 4 | -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/models/item/netherite_purple_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/template_shulker_box" 3 | } 4 | -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/models/item/netherite_red_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/template_shulker_box" 3 | } 4 | -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/models/item/netherite_white_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/template_shulker_box" 3 | } 4 | -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/models/item/netherite_yellow_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/template_shulker_box" 3 | } 4 | -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/models/item/netherite_light_blue_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/template_shulker_box" 3 | } 4 | -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/models/item/netherite_light_gray_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/template_shulker_box" 3 | } 4 | -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/recipes/netherite_shield_decoration.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "netherite_plus:crafting_special_netheriteshielddecoration" 3 | } -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/icon.png -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/recipes/netherite_shulker_box_coloring.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "netherite_plus:crafting_special_netheriteshulkerboxcoloring" 3 | } -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/blockstates/netherite_block.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "minecraft:block/netherite_block" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/models/block/netherite_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "textures": { 3 | "particle": "netherite_plus:block/netherite_shulker_box" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/blockstates/fake_netherite_block.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "minecraft:block/netherite_block" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/models/block/netherite_red_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "textures": { 3 | "particle": "netherite_plus:block/netherite_red_shulker_box" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/models/block/netherite_black_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "textures": { 3 | "particle": "netherite_plus:block/netherite_black_shulker_box" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/models/block/netherite_blue_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "textures": { 3 | "particle": "netherite_plus:block/netherite_blue_shulker_box" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/models/block/netherite_brown_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "textures": { 3 | "particle": "netherite_plus:block/netherite_brown_shulker_box" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/models/block/netherite_cyan_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "textures": { 3 | "particle": "netherite_plus:block/netherite_cyan_shulker_box" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/models/block/netherite_gray_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "textures": { 3 | "particle": "netherite_plus:block/netherite_gray_shulker_box" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/models/block/netherite_green_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "textures": { 3 | "particle": "netherite_plus:block/netherite_green_shulker_box" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/models/block/netherite_lime_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "textures": { 3 | "particle": "netherite_plus:block/netherite_lime_shulker_box" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/models/block/netherite_pink_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "textures": { 3 | "particle": "netherite_plus:block/netherite_pink_shulker_box" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/models/block/netherite_white_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "textures": { 3 | "particle": "netherite_plus:block/netherite_white_shulker_box" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/models/block/netherite_magenta_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "textures": { 3 | "particle": "netherite_plus:block/netherite_magenta_shulker_box" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/models/block/netherite_orange_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "textures": { 3 | "particle": "netherite_plus:block/netherite_orange_shulker_box" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/models/block/netherite_purple_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "textures": { 3 | "particle": "netherite_plus:block/netherite_purple_shulker_box" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/models/block/netherite_yellow_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "textures": { 3 | "particle": "netherite_plus:block/netherite_yellow_shulker_box" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/models/item/netherite_shears.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "netherite_plus:item/netherite_shears" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/blockstates/netherite_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "netherite_plus:block/netherite_shulker_box" 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/models/block/fake_netherite_block.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/cube_all", 3 | "textures": { 4 | "all": "minecraft:block/netherite_block" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/models/block/netherite_light_blue_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "textures": { 3 | "particle": "netherite_plus:block/netherite_light_blue_shulker_box" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/models/block/netherite_light_gray_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "textures": { 3 | "particle": "netherite_plus:block/netherite_light_gray_shulker_box" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/models/item/netherite_trident.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "textures": { 4 | "layer0": "netherite_plus:item/netherite_trident" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/blockstates/netherite_blue_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "netherite_plus:block/netherite_blue_shulker_box" 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/blockstates/netherite_cyan_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "netherite_plus:block/netherite_cyan_shulker_box" 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/blockstates/netherite_gray_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "netherite_plus:block/netherite_gray_shulker_box" 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/blockstates/netherite_lime_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "netherite_plus:block/netherite_lime_shulker_box" 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/blockstates/netherite_pink_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "netherite_plus:block/netherite_pink_shulker_box" 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/blockstates/netherite_red_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "netherite_plus:block/netherite_red_shulker_box" 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/item/netherite_bow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/item/netherite_bow.png -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/blockstates/netherite_black_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "netherite_plus:block/netherite_black_shulker_box" 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/blockstates/netherite_brown_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "netherite_plus:block/netherite_brown_shulker_box" 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/blockstates/netherite_green_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "netherite_plus:block/netherite_green_shulker_box" 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/blockstates/netherite_magenta_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "netherite_plus:block/netherite_magenta_shulker_box" 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/blockstates/netherite_orange_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "netherite_plus:block/netherite_orange_shulker_box" 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/blockstates/netherite_purple_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "netherite_plus:block/netherite_purple_shulker_box" 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/blockstates/netherite_white_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "netherite_plus:block/netherite_white_shulker_box" 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/blockstates/netherite_yellow_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "netherite_plus:block/netherite_yellow_shulker_box" 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/models/item/broken_netherite_elytra.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "netherite_plus:item/broken_netherite_elytra" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/models/item/netherite_horse_armor.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:item/generated", 3 | "textures": { 4 | "layer0": "netherite_plus:item/netherite_horse_armor" 5 | } 6 | } -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/block/netherite_anvil.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/block/netherite_anvil.png -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/block/netherite_beacon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/block/netherite_beacon.png -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/item/netherite_elytra.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/item/netherite_elytra.png -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/item/netherite_shears.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/item/netherite_shears.png -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/item/netherite_trident.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/item/netherite_trident.png -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/mob_effect/lava_vision.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/mob_effect/lava_vision.png -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/block/netherite_anvil_top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/block/netherite_anvil_top.png -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/entity/netherite_elytra.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/entity/netherite_elytra.png -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/entity/netherite_trident.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/entity/netherite_trident.png -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/blockstates/netherite_light_blue_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "netherite_plus:block/netherite_light_blue_shulker_box" 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/blockstates/netherite_light_gray_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "": { 4 | "model": "netherite_plus:block/netherite_light_gray_shulker_box" 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/block/netherite_shulker_box.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/block/netherite_shulker_box.png -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/item/netherite_fishing_rod.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/item/netherite_fishing_rod.png -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/item/netherite_horse_armor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/item/netherite_horse_armor.png -------------------------------------------------------------------------------- /src/main/resources/data/minecraft/tags/blocks/beacon_base_blocks.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | { 5 | "id": "netherite_plus:fake_netherite_block", 6 | "required": false 7 | } 8 | ] 9 | } -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/models/item/netherite_bow_pulling_0.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "netherite_plus:item/netherite_bow", 3 | "textures": { 4 | "layer0": "netherite_plus:item/netherite_bow_pulling_0" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/models/item/netherite_bow_pulling_1.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "netherite_plus:item/netherite_bow", 3 | "textures": { 4 | "layer0": "netherite_plus:item/netherite_bow_pulling_1" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/models/item/netherite_bow_pulling_2.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "netherite_plus:item/netherite_bow", 3 | "textures": { 4 | "layer0": "netherite_plus:item/netherite_bow_pulling_2" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/block/netherite_beacon_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/block/netherite_beacon_active.png -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/entity/horse_armor_netherite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/entity/horse_armor_netherite.png -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/entity/netherite_horse_armor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/entity/netherite_horse_armor.png -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/entity/netherite_shield_base.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/entity/netherite_shield_base.png -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/gui/container/netherite_beacon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/gui/container/netherite_beacon.png -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/item/broken_netherite_elytra.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/item/broken_netherite_elytra.png -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/item/netherite_bow_pulling_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/item/netherite_bow_pulling_0.png -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/item/netherite_bow_pulling_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/item/netherite_bow_pulling_1.png -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/item/netherite_bow_pulling_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/item/netherite_bow_pulling_2.png -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/item/netherite_crossbow_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/item/netherite_crossbow_arrow.png -------------------------------------------------------------------------------- /src/main/resources/assets/minecraft/textures/models/armor/netherite_elytra_layer_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/minecraft/textures/models/armor/netherite_elytra_layer_1.png -------------------------------------------------------------------------------- /src/main/resources/assets/minecraft/textures/models/armor/netherite_elytra_layer_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/minecraft/textures/models/armor/netherite_elytra_layer_2.png -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/block/netherite_blue_shulker_box.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/block/netherite_blue_shulker_box.png -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/block/netherite_cyan_shulker_box.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/block/netherite_cyan_shulker_box.png -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/block/netherite_gray_shulker_box.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/block/netherite_gray_shulker_box.png -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/block/netherite_lime_shulker_box.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/block/netherite_lime_shulker_box.png -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/block/netherite_pink_shulker_box.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/block/netherite_pink_shulker_box.png -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/block/netherite_red_shulker_box.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/block/netherite_red_shulker_box.png -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/entity/netherite_trident_riptide.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/entity/netherite_trident_riptide.png -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/item/netherite_crossbow_firework.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/item/netherite_crossbow_firework.png -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/item/netherite_crossbow_standby.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/item/netherite_crossbow_standby.png -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/item/netherite_fishing_rod_cast.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/item/netherite_fishing_rod_cast.png -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/models/item/netherite_crossbow_arrow.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "netherite_plus:item/netherite_crossbow", 3 | "textures": { 4 | "layer0": "netherite_plus:item/netherite_crossbow_arrow" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/block/chipped_netherite_anvil_top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/block/chipped_netherite_anvil_top.png -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/block/damaged_netherite_anvil_top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/block/damaged_netherite_anvil_top.png -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/block/netherite_black_shulker_box.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/block/netherite_black_shulker_box.png -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/block/netherite_brown_shulker_box.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/block/netherite_brown_shulker_box.png -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/block/netherite_green_shulker_box.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/block/netherite_green_shulker_box.png -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/block/netherite_magenta_shulker_box.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/block/netherite_magenta_shulker_box.png -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/block/netherite_orange_shulker_box.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/block/netherite_orange_shulker_box.png -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/block/netherite_purple_shulker_box.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/block/netherite_purple_shulker_box.png -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/block/netherite_white_shulker_box.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/block/netherite_white_shulker_box.png -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/block/netherite_yellow_shulker_box.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/block/netherite_yellow_shulker_box.png -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/item/netherite_crossbow_pulling_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/item/netherite_crossbow_pulling_0.png -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/item/netherite_crossbow_pulling_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/item/netherite_crossbow_pulling_1.png -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/item/netherite_crossbow_pulling_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/item/netherite_crossbow_pulling_2.png -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/models/item/netherite_crossbow_firework.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "netherite_plus:item/netherite_crossbow", 3 | "textures": { 4 | "layer0": "netherite_plus:item/netherite_crossbow_firework" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/models/item/netherite_crossbow_pulling_0.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "netherite_plus:item/netherite_crossbow", 3 | "textures": { 4 | "layer0": "netherite_plus:item/netherite_crossbow_pulling_0" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/models/item/netherite_crossbow_pulling_1.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "netherite_plus:item/netherite_crossbow", 3 | "textures": { 4 | "layer0": "netherite_plus:item/netherite_crossbow_pulling_1" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/models/item/netherite_crossbow_pulling_2.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "netherite_plus:item/netherite_crossbow", 3 | "textures": { 4 | "layer0": "netherite_plus:item/netherite_crossbow_pulling_2" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/models/item/netherite_fishing_rod_cast.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "netherite_plus:item/netherite_fishing_rod", 3 | "textures": { 4 | "layer0": "netherite_plus:item/netherite_fishing_rod_cast" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/atlases/netherite_shulker_boxes.json: -------------------------------------------------------------------------------- 1 | { 2 | "sources": [ 3 | { 4 | "type": "directory", 5 | "source": "entity/netherite_shulker", 6 | "prefix": "entity/netherite_shulker/" 7 | } 8 | ] 9 | } -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/block/netherite_light_blue_shulker_box.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/block/netherite_light_blue_shulker_box.png -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/block/netherite_light_gray_shulker_box.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/block/netherite_light_gray_shulker_box.png -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/entity/netherite_shield_base_nopattern.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/entity/netherite_shield_base_nopattern.png -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/gui/advancements/backgrounds/netherite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/gui/advancements/backgrounds/netherite.png -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/entity/netherite_shulker/netherite_shulker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/entity/netherite_shulker/netherite_shulker.png -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | Version 2.2.0 2 | 3 | - Update to Minecraft 1.20.1 4 | - Disabled Shields while waiting for Fabric-Shield-Lib 5 | ---- 6 | Version 2.1.0 7 | 8 | - Update Netherite Plus to 1.19.4 9 | - Use oro-gradle-plugin 10 | - Update multi-item-lib to 1.6.2 -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/models/block/netherite_anvil.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:block/template_anvil", 3 | "textures": { 4 | "top": "netherite_plus:block/netherite_anvil_top", 5 | "body": "netherite_plus:block/netherite_anvil" 6 | } 7 | } -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/entity/netherite_shulker/netherite_shulker_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/entity/netherite_shulker/netherite_shulker_blue.png -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/entity/netherite_shulker/netherite_shulker_cyan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/entity/netherite_shulker/netherite_shulker_cyan.png -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/entity/netherite_shulker/netherite_shulker_gray.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/entity/netherite_shulker/netherite_shulker_gray.png -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/entity/netherite_shulker/netherite_shulker_lime.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/entity/netherite_shulker/netherite_shulker_lime.png -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/entity/netherite_shulker/netherite_shulker_pink.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/entity/netherite_shulker/netherite_shulker_pink.png -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/entity/netherite_shulker/netherite_shulker_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/entity/netherite_shulker/netherite_shulker_red.png -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/entity/netherite_shulker/netherite_shulker_black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/entity/netherite_shulker/netherite_shulker_black.png -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/entity/netherite_shulker/netherite_shulker_brown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/entity/netherite_shulker/netherite_shulker_brown.png -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/entity/netherite_shulker/netherite_shulker_green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/entity/netherite_shulker/netherite_shulker_green.png -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/entity/netherite_shulker/netherite_shulker_magenta.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/entity/netherite_shulker/netherite_shulker_magenta.png -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/entity/netherite_shulker/netherite_shulker_orange.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/entity/netherite_shulker/netherite_shulker_orange.png -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/entity/netherite_shulker/netherite_shulker_purple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/entity/netherite_shulker/netherite_shulker_purple.png -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/entity/netherite_shulker/netherite_shulker_white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/entity/netherite_shulker/netherite_shulker_white.png -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/entity/netherite_shulker/netherite_shulker_yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/entity/netherite_shulker/netherite_shulker_yellow.png -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/entity/netherite_shulker/netherite_shulker_light_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/entity/netherite_shulker/netherite_shulker_light_blue.png -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/entity/netherite_shulker/netherite_shulker_light_gray.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/entity/netherite_shulker/netherite_shulker_light_gray.png -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/textures/entity/netherite_shulker/netherite_shulker_lime_green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/HEAD/src/main/resources/assets/netherite_plus/textures/entity/netherite_shulker/netherite_shulker_lime_green.png -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Thu Jul 23 21:34:18 PDT 2020 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-all.zip 7 | -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/blockstates/netherite_beacon.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "powered=true": { 4 | "model": "netherite_plus:block/netherite_beacon_powered" 5 | }, 6 | "powered=false": { 7 | "model": "netherite_plus:block/netherite_beacon" 8 | } 9 | } 10 | } -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/compatibility-conflict.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Compatibility conflict 3 | about: Add compatibility to with another mod 4 | title: Add compatibility for [Mod] 5 | labels: Compatibility 6 | assignees: '' 7 | 8 | --- 9 | 10 | **What is the mod and for which platform is it for** 11 | 12 | **What feature(s) is in conflict** 13 | -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/loot_tables/blocks/netherite_anvil.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:block", 3 | "pools": [ 4 | { 5 | "rolls": 1, 6 | "entries": [ 7 | { 8 | "type": "minecraft:item", 9 | "name": "netherite_plus:netherite_anvil" 10 | } 11 | ] 12 | } 13 | ] 14 | } -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # gradle 2 | 3 | .gradle/ 4 | build/ 5 | out/ 6 | classes/ 7 | 8 | # eclipse 9 | 10 | *.launch 11 | 12 | # idea 13 | 14 | .idea/ 15 | *.iml 16 | *.ipr 17 | *.iws 18 | 19 | # vscode 20 | 21 | .settings/ 22 | .vscode/ 23 | bin/ 24 | .classpath 25 | .project 26 | 27 | # fabric 28 | 29 | run/ 30 | /logs/debug.log 31 | /logs/latest.log 32 | -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/loot_tables/blocks/fake_netherite_block.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:block", 3 | "pools": [ 4 | { 5 | "rolls": 1, 6 | "entries": [ 7 | { 8 | "type": "minecraft:item", 9 | "name": "netherite_plus:fake_netherite_block" 10 | } 11 | ] 12 | } 13 | ] 14 | } -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/models/item/netherite_elytra.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "netherite_plus:item/netherite_elytra" 5 | }, 6 | "overrides": [ 7 | { 8 | "predicate": { 9 | "broken": 1 10 | }, 11 | "model": "netherite_plus:item/broken_netherite_elytra" 12 | } 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/models/item/netherite_fishing_rod.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/handheld_rod", 3 | "textures": { 4 | "layer0": "netherite_plus:item/netherite_fishing_rod" 5 | }, 6 | "overrides": [ 7 | { 8 | "predicate": { 9 | "cast": 1 10 | }, 11 | "model": "netherite_plus:item/netherite_fishing_rod_cast" 12 | } 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/recipes/netherite_bow.json: -------------------------------------------------------------------------------- 1 | { 2 | "base": { 3 | "item": "minecraft:bow" 4 | }, 5 | "addition": { 6 | "item": "minecraft:netherite_ingot" 7 | }, 8 | "result": { 9 | "item": "netherite_plus:netherite_bow" 10 | }, 11 | "type": "minecraft:smithing_transform", 12 | "template": { 13 | "item": "minecraft:netherite_upgrade_smithing_template" 14 | } 15 | } -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/recipes/netherite_eytra.json: -------------------------------------------------------------------------------- 1 | { 2 | "base": { 3 | "item": "minecraft:elytra" 4 | }, 5 | "addition": { 6 | "item": "minecraft:netherite_ingot" 7 | }, 8 | "result": { 9 | "item": "netherite_plus:netherite_elytra" 10 | }, 11 | "type": "minecraft:smithing_transform", 12 | "template": { 13 | "item": "minecraft:netherite_upgrade_smithing_template" 14 | } 15 | } -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/recipes/netherite_shears.json: -------------------------------------------------------------------------------- 1 | { 2 | "base": { 3 | "item": "minecraft:shears" 4 | }, 5 | "addition": { 6 | "item": "minecraft:netherite_ingot" 7 | }, 8 | "result": { 9 | "item": "netherite_plus:netherite_shears" 10 | }, 11 | "type": "minecraft:smithing_transform", 12 | "template": { 13 | "item": "minecraft:netherite_upgrade_smithing_template" 14 | } 15 | } -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/recipes/netherite_shield.json: -------------------------------------------------------------------------------- 1 | { 2 | "base": { 3 | "item": "minecraft:shield" 4 | }, 5 | "addition": { 6 | "item": "minecraft:netherite_ingot" 7 | }, 8 | "result": { 9 | "item": "netherite_plus:netherite_shield" 10 | }, 11 | "type": "minecraft:smithing_transform", 12 | "template": { 13 | "item": "minecraft:netherite_upgrade_smithing_template" 14 | } 15 | } -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/recipes/netherite_trident.json: -------------------------------------------------------------------------------- 1 | { 2 | "base": { 3 | "item": "minecraft:trident" 4 | }, 5 | "addition": { 6 | "item": "minecraft:netherite_ingot" 7 | }, 8 | "result": { 9 | "item": "netherite_plus:netherite_trident" 10 | }, 11 | "type": "minecraft:smithing_transform", 12 | "template": { 13 | "item": "minecraft:netherite_upgrade_smithing_template" 14 | } 15 | } -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/recipes/netherite_crossbow.json: -------------------------------------------------------------------------------- 1 | { 2 | "base": { 3 | "item": "minecraft:crossbow" 4 | }, 5 | "addition": { 6 | "item": "minecraft:netherite_ingot" 7 | }, 8 | "result": { 9 | "item": "netherite_plus:netherite_crossbow" 10 | }, 11 | "type": "minecraft:smithing_transform", 12 | "template": { 13 | "item": "minecraft:netherite_upgrade_smithing_template" 14 | } 15 | } -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/recipes/netherite_anvil.json: -------------------------------------------------------------------------------- 1 | { 2 | "pattern": [ 3 | "###", 4 | " I ", 5 | "III" 6 | ], 7 | "key": { 8 | "#": { 9 | "item": "minecraft:netherite_block" 10 | }, 11 | "I": { 12 | "item": "minecraft:netherite_ingot" 13 | } 14 | }, 15 | "result": { 16 | "item": "netherite_plus:netherite_anvil" 17 | }, 18 | "type": "minecraft:crafting_shaped" 19 | } -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/recipes/netherite_fishing_rod.json: -------------------------------------------------------------------------------- 1 | { 2 | "base": { 3 | "item": "minecraft:fishing_rod" 4 | }, 5 | "addition": { 6 | "item": "minecraft:netherite_ingot" 7 | }, 8 | "result": { 9 | "item": "netherite_plus:netherite_fishing_rod" 10 | }, 11 | "type": "minecraft:smithing_transform", 12 | "template": { 13 | "item": "minecraft:netherite_upgrade_smithing_template" 14 | } 15 | } -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/recipes/netherite_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "base": { 3 | "item": "minecraft:shulker_box" 4 | }, 5 | "addition": { 6 | "item": "minecraft:netherite_ingot" 7 | }, 8 | "result": { 9 | "item": "netherite_plus:netherite_shulker_box" 10 | }, 11 | "type": "minecraft:smithing_transform", 12 | "template": { 13 | "item": "minecraft:netherite_upgrade_smithing_template" 14 | } 15 | } -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/recipes/netherite_horse_armor.json: -------------------------------------------------------------------------------- 1 | { 2 | "base": { 3 | "item": "minecraft:diamond_horse_armor" 4 | }, 5 | "addition": { 6 | "item": "minecraft:netherite_ingot" 7 | }, 8 | "result": { 9 | "item": "netherite_plus:netherite_horse_armor" 10 | }, 11 | "type": "minecraft:smithing_transform", 12 | "template": { 13 | "item": "minecraft:netherite_upgrade_smithing_template" 14 | } 15 | } -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/recipes/netherite_blue_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "base": { 3 | "item": "minecraft:blue_shulker_box" 4 | }, 5 | "addition": { 6 | "item": "minecraft:netherite_ingot" 7 | }, 8 | "result": { 9 | "item": "netherite_plus:netherite_blue_shulker_box" 10 | }, 11 | "type": "minecraft:smithing_transform", 12 | "template": { 13 | "item": "minecraft:netherite_upgrade_smithing_template" 14 | } 15 | } -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/recipes/netherite_cyan_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "base": { 3 | "item": "minecraft:cyan_shulker_box" 4 | }, 5 | "addition": { 6 | "item": "minecraft:netherite_ingot" 7 | }, 8 | "result": { 9 | "item": "netherite_plus:netherite_cyan_shulker_box" 10 | }, 11 | "type": "minecraft:smithing_transform", 12 | "template": { 13 | "item": "minecraft:netherite_upgrade_smithing_template" 14 | } 15 | } -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/recipes/netherite_gray_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "base": { 3 | "item": "minecraft:gray_shulker_box" 4 | }, 5 | "addition": { 6 | "item": "minecraft:netherite_ingot" 7 | }, 8 | "result": { 9 | "item": "netherite_plus:netherite_gray_shulker_box" 10 | }, 11 | "type": "minecraft:smithing_transform", 12 | "template": { 13 | "item": "minecraft:netherite_upgrade_smithing_template" 14 | } 15 | } -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/recipes/netherite_lime_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "base": { 3 | "item": "minecraft:lime_shulker_box" 4 | }, 5 | "addition": { 6 | "item": "minecraft:netherite_ingot" 7 | }, 8 | "result": { 9 | "item": "netherite_plus:netherite_lime_shulker_box" 10 | }, 11 | "type": "minecraft:smithing_transform", 12 | "template": { 13 | "item": "minecraft:netherite_upgrade_smithing_template" 14 | } 15 | } -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/recipes/netherite_pink_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "base": { 3 | "item": "minecraft:pink_shulker_box" 4 | }, 5 | "addition": { 6 | "item": "minecraft:netherite_ingot" 7 | }, 8 | "result": { 9 | "item": "netherite_plus:netherite_pink_shulker_box" 10 | }, 11 | "type": "minecraft:smithing_transform", 12 | "template": { 13 | "item": "minecraft:netherite_upgrade_smithing_template" 14 | } 15 | } -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/recipes/netherite_red_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "base": { 3 | "item": "minecraft:red_shulker_box" 4 | }, 5 | "addition": { 6 | "item": "minecraft:netherite_ingot" 7 | }, 8 | "result": { 9 | "item": "netherite_plus:netherite_red_shulker_box" 10 | }, 11 | "type": "minecraft:smithing_transform", 12 | "template": { 13 | "item": "minecraft:netherite_upgrade_smithing_template" 14 | } 15 | } -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/recipes/netherite_black_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "base": { 3 | "item": "minecraft:black_shulker_box" 4 | }, 5 | "addition": { 6 | "item": "minecraft:netherite_ingot" 7 | }, 8 | "result": { 9 | "item": "netherite_plus:netherite_black_shulker_box" 10 | }, 11 | "type": "minecraft:smithing_transform", 12 | "template": { 13 | "item": "minecraft:netherite_upgrade_smithing_template" 14 | } 15 | } -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/recipes/netherite_brown_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "base": { 3 | "item": "minecraft:brown_shulker_box" 4 | }, 5 | "addition": { 6 | "item": "minecraft:netherite_ingot" 7 | }, 8 | "result": { 9 | "item": "netherite_plus:netherite_brown_shulker_box" 10 | }, 11 | "type": "minecraft:smithing_transform", 12 | "template": { 13 | "item": "minecraft:netherite_upgrade_smithing_template" 14 | } 15 | } -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/recipes/netherite_green_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "base": { 3 | "item": "minecraft:green_shulker_box" 4 | }, 5 | "addition": { 6 | "item": "minecraft:netherite_ingot" 7 | }, 8 | "result": { 9 | "item": "netherite_plus:netherite_green_shulker_box" 10 | }, 11 | "type": "minecraft:smithing_transform", 12 | "template": { 13 | "item": "minecraft:netherite_upgrade_smithing_template" 14 | } 15 | } -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/recipes/netherite_white_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "base": { 3 | "item": "minecraft:white_shulker_box" 4 | }, 5 | "addition": { 6 | "item": "minecraft:netherite_ingot" 7 | }, 8 | "result": { 9 | "item": "netherite_plus:netherite_white_shulker_box" 10 | }, 11 | "type": "minecraft:smithing_transform", 12 | "template": { 13 | "item": "minecraft:netherite_upgrade_smithing_template" 14 | } 15 | } -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | maven { url "https://maven.fabricmc.net/" } 4 | maven { url "https://files.minecraftforge.net/maven/" } 5 | maven { url "https://maven.shedaniel.me/" } 6 | maven { url "https://maven.quiltmc.org/repository/release/" } 7 | maven { url "https://maven.oroarmor.com/" } 8 | gradlePluginPortal() 9 | } 10 | } 11 | 12 | rootProject.name = "netherite-plus-mod" -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/recipes/fake_netherite_block.json: -------------------------------------------------------------------------------- 1 | { 2 | "pattern": [ 3 | "###", 4 | "#I#", 5 | "###" 6 | ], 7 | "key": { 8 | "#": { 9 | "item": "minecraft:iron_block" 10 | }, 11 | "I": { 12 | "item": "minecraft:netherite_ingot" 13 | } 14 | }, 15 | "result": { 16 | "item": "netherite_plus:fake_netherite_block", 17 | "count" : 8 18 | }, 19 | "type": "minecraft:crafting_shaped" 20 | } -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/recipes/netherite_magenta_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "base": { 3 | "item": "minecraft:magenta_shulker_box" 4 | }, 5 | "addition": { 6 | "item": "minecraft:netherite_ingot" 7 | }, 8 | "result": { 9 | "item": "netherite_plus:netherite_magenta_shulker_box" 10 | }, 11 | "type": "minecraft:smithing_transform", 12 | "template": { 13 | "item": "minecraft:netherite_upgrade_smithing_template" 14 | } 15 | } -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/recipes/netherite_orange_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "base": { 3 | "item": "minecraft:orange_shulker_box" 4 | }, 5 | "addition": { 6 | "item": "minecraft:netherite_ingot" 7 | }, 8 | "result": { 9 | "item": "netherite_plus:netherite_orange_shulker_box" 10 | }, 11 | "type": "minecraft:smithing_transform", 12 | "template": { 13 | "item": "minecraft:netherite_upgrade_smithing_template" 14 | } 15 | } -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/recipes/netherite_purple_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "base": { 3 | "item": "minecraft:purple_shulker_box" 4 | }, 5 | "addition": { 6 | "item": "minecraft:netherite_ingot" 7 | }, 8 | "result": { 9 | "item": "netherite_plus:netherite_purple_shulker_box" 10 | }, 11 | "type": "minecraft:smithing_transform", 12 | "template": { 13 | "item": "minecraft:netherite_upgrade_smithing_template" 14 | } 15 | } -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/recipes/netherite_yellow_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "base": { 3 | "item": "minecraft:yellow_shulker_box" 4 | }, 5 | "addition": { 6 | "item": "minecraft:netherite_ingot" 7 | }, 8 | "result": { 9 | "item": "netherite_plus:netherite_yellow_shulker_box" 10 | }, 11 | "type": "minecraft:smithing_transform", 12 | "template": { 13 | "item": "minecraft:netherite_upgrade_smithing_template" 14 | } 15 | } -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for Netherite Plus 4 | title: '' 5 | labels: enhancement 6 | assignees: '' 7 | 8 | --- 9 | 10 | *Describe the feature you'd like** 11 | A clear and concise description of what you want to happen. 12 | 13 | **Describe how this feature adheres to the vanilla feel** 14 | 15 | **Additional context** 16 | Examples of other mods having similar features (Not required). 17 | -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/recipes/netherite_light_blue_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "base": { 3 | "item": "minecraft:light_blue_shulker_box" 4 | }, 5 | "addition": { 6 | "item": "minecraft:netherite_ingot" 7 | }, 8 | "result": { 9 | "item": "netherite_plus:netherite_light_blue_shulker_box" 10 | }, 11 | "type": "minecraft:smithing_transform", 12 | "template": { 13 | "item": "minecraft:netherite_upgrade_smithing_template" 14 | } 15 | } -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/recipes/netherite_light_gray_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "base": { 3 | "item": "minecraft:light_gray_shulker_box" 4 | }, 5 | "addition": { 6 | "item": "minecraft:netherite_ingot" 7 | }, 8 | "result": { 9 | "item": "netherite_plus:netherite_light_gray_shulker_box" 10 | }, 11 | "type": "minecraft:smithing_transform", 12 | "template": { 13 | "item": "minecraft:netherite_upgrade_smithing_template" 14 | } 15 | } -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/atlases/netherite_shield_patterns.json: -------------------------------------------------------------------------------- 1 | { 2 | "sources": [ 3 | { 4 | "type": "single", 5 | "resource": "netherite_plus:entity/netherite_shield_base" 6 | }, 7 | { 8 | "type": "single", 9 | "resource": "netherite_plus:entity/netherite_shield_base_nopattern" 10 | }, 11 | { 12 | "type": "directory", 13 | "source": "entity/shield", 14 | "prefix": "entity/shield/" 15 | } 16 | ] 17 | } -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/recipes/netherite_beacon.json: -------------------------------------------------------------------------------- 1 | { 2 | "pattern": [ 3 | "III", 4 | "IBI", 5 | "NNN" 6 | ], 7 | "key": { 8 | "B": { 9 | "item": "minecraft:beacon" 10 | }, 11 | "I": { 12 | "item": "minecraft:netherite_ingot" 13 | }, 14 | "N": { 15 | "item": "minecraft:netherite_block" 16 | } 17 | }, 18 | "result": { 19 | "item": "netherite_plus:netherite_beacon" 20 | }, 21 | "type": "minecraft:crafting_shaped" 22 | } -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/loot_tables/blocks/netherite_beacon.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:block", 3 | "pools": [ 4 | { 5 | "rolls": 1, 6 | "entries": [ 7 | { 8 | "type": "minecraft:item", 9 | "functions": [ 10 | { 11 | "function": "minecraft:copy_name", 12 | "source": "block_entity" 13 | } 14 | ], 15 | "name": "netherite_plus:netherite_beacon" 16 | } 17 | ] 18 | } 19 | ] 20 | } -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/blockstates/netherite_anvil.json: -------------------------------------------------------------------------------- 1 | { 2 | "variants": { 3 | "facing=east": { 4 | "model": "netherite_plus:block/netherite_anvil", 5 | "y": 270 6 | }, 7 | "facing=north": { 8 | "model": "netherite_plus:block/netherite_anvil", 9 | "y": 180 10 | }, 11 | "facing=south": { 12 | "model": "netherite_plus:block/netherite_anvil" 13 | }, 14 | "facing=west": { 15 | "model": "netherite_plus:block/netherite_anvil", 16 | "y": 90 17 | } 18 | } 19 | } -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Report a crash or bug with Netherite Plus 4 | title: "[Fabric | Forge] - Bug/Issue" 5 | labels: bug 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Describe the bug** 11 | A clear and concise description of what the bug is. Please indicate which mod platform you are using. 12 | 13 | **To Reproduce** 14 | Steps to reproduce the crash/bug 15 | 16 | **Expected behavior** 17 | A clear and concise description of what you expected to happen. 18 | 19 | **Screenshots** 20 | If applicable, add screenshots to help explain your problem. 21 | -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | # Done to increase the memory available to gradle. 2 | org.gradle.jvmargs=-Xmx2G 3 | 4 | # Quilt Properties 5 | minecraft_version=1.20.1 6 | quilt_loader_version=0.20.2 7 | 8 | # Mod Properties 9 | mod_version=2.2.0 10 | maven_group=com.oroarmor 11 | archives_base_name=netherite-plus-mod 12 | project_name=Netherite Plus Mod 13 | discord_hook_image_url=https://raw.githubusercontent.com/OroArmorModding/Netherite-Plus-Mod/742eaf744ad79946d47ddc7b070ddbc90b05bb03/src/main/resources/assets/netherite_plus/icon.png 14 | 15 | # Dependencies 16 | qsl_version=6.1.1+1.20.1 17 | qfapi_version=7.2.1+0.88.0-1.20.1 18 | mappings=1.20.1+build.23 19 | -------------------------------------------------------------------------------- /.github/workflows/gradle.yml: -------------------------------------------------------------------------------- 1 | # This workflow will build a Java project with Gradle 2 | # For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-gradle 3 | 4 | name: Build confirmation 5 | 6 | on: 7 | push: 8 | branches: [ master ] 9 | pull_request: 10 | branches: [ master ] 11 | 12 | jobs: 13 | build: 14 | 15 | runs-on: ubuntu-latest 16 | 17 | steps: 18 | - uses: actions/checkout@v2 19 | - name: Set up JDK 17 20 | uses: actions/setup-java@v1 21 | with: 22 | java-version: 17 23 | - name: Grant execute permission for gradlew 24 | run: chmod +x gradlew 25 | - name: Build with Gradle 26 | run: ./gradlew build --parallel --stacktrace 27 | -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/advancements/netherite_plus/netherite_trident_special.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "netherite_plus:netherite_plus/netherite_trident", 3 | "display": { 4 | "icon": { 5 | "item": "netherite_plus:netherite_trident" 6 | }, 7 | "title": { 8 | "translate": "advancements.netherite_plus.netherite_trident_special.title" 9 | }, 10 | "description": { 11 | "translate": "advancements.netherite_plus.netherite_trident_special.description" 12 | }, 13 | "frame": "goal", 14 | "show_toast": true, 15 | "announce_to_chat": true, 16 | "hidden": false 17 | }, 18 | "criteria": { 19 | "netherite_trident": { 20 | "trigger": "netherite_plus:riptide_netherite_trident" 21 | } 22 | }, 23 | "requirements": [ 24 | [ 25 | "netherite_trident" 26 | ] 27 | ] 28 | } -------------------------------------------------------------------------------- /src/main/resources/netherite_plus.mixins.json: -------------------------------------------------------------------------------- 1 | { 2 | "required": true, 3 | "minVersion": "0.8", 4 | "package": "com.oroarmor.netherite_plus.mixin", 5 | "compatibilityLevel": "JAVA_17", 6 | "mixins": [ 7 | "BlockItemMixin", 8 | "ItemPredicateMixin", 9 | "PlayerEntityMixin", 10 | "ServerPlayNetworkHandlerMixin", 11 | "ShulkerBoxBlockEntityMixin", 12 | "TridentEntityMixin" 13 | ], 14 | "client": [ 15 | "ClientPlayNetworkHandlerAccessor", 16 | "ClientPlayNetworkHandlerMixin", 17 | "render.BackgroundRendererMixin", 18 | "render.ItemRendererAccessor", 19 | "render.ItemRendererMixin", 20 | "render.MinecraftClientMixin", 21 | "render.ModelLoaderMixin", 22 | "render.TexturedRenderLayersMixin", 23 | "render.TridentEntityRendererMixin" 24 | ], 25 | "injectors": { 26 | "defaultRequire": 1 27 | } 28 | } -------------------------------------------------------------------------------- /.github/workflows/publish.yml: -------------------------------------------------------------------------------- 1 | name: Publish to External Sites 2 | 3 | on: [workflow_dispatch] 4 | 5 | jobs: 6 | publish: 7 | 8 | runs-on: ubuntu-latest 9 | 10 | steps: 11 | - uses: actions/checkout@v2 12 | - name: Set up JDK 17 13 | uses: actions/setup-java@v1 14 | with: 15 | java-version: 17 16 | - name: Grant execute permission for gradlew 17 | run: chmod +x gradlew 18 | - name: Build with Gradle 19 | run: ./gradlew build publishProject --stacktrace 20 | env: 21 | CURSE_API_KEY: ${{ secrets.CURSE_API_KEY }} 22 | MODRINTH_TOKEN: ${{ secrets.MODRINTH_TOKEN }} 23 | DISCORD_WEBHOOK_URL: ${{ secrets.DISCORD_WEBHOOK_URL }} 24 | GITHUB_TOKEN: ${{ secrets.GH_API_KEY }} 25 | MAVEN_PASSWORD: ${{ secrets.MAVEN_PASSWORD }} 26 | MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }} -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/advancements/netherite_plus/netherite_beacon_special.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "netherite_plus:netherite_plus/netherite_beacon", 3 | "display": { 4 | "icon": { 5 | "item": "netherite_plus:netherite_beacon" 6 | }, 7 | "title": { 8 | "translate": "advancements.netherite_plus.netherite_beacon_special.title" 9 | }, 10 | "description": { 11 | "translate": "advancements.netherite_plus.netherite_beacon_special.description" 12 | }, 13 | "frame": "goal", 14 | "show_toast": true, 15 | "announce_to_chat": true, 16 | "hidden": false 17 | }, 18 | "criteria": { 19 | "beacon": { 20 | "trigger": "netherite_plus:construct_netherite_beacon", 21 | "conditions": { 22 | "level": 4 23 | } 24 | } 25 | }, 26 | "requirements": [ 27 | [ 28 | "beacon" 29 | ] 30 | ] 31 | } -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/advancements/netherite_plus/netherite_beacon_ultra.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "netherite_plus:netherite_plus/netherite_beacon_special", 3 | "display": { 4 | "icon": { 5 | "item": "netherite_plus:netherite_beacon" 6 | }, 7 | "title": { 8 | "translate": "advancements.netherite_plus.netherite_beacon_ultra.title" 9 | }, 10 | "description": { 11 | "translate": "advancements.netherite_plus.netherite_beacon_ultra.description" 12 | }, 13 | "frame": "challenge", 14 | "show_toast": true, 15 | "announce_to_chat": true, 16 | "hidden": true 17 | }, 18 | "criteria": { 19 | "beacon": { 20 | "trigger": "netherite_plus:full_netherite_netherite_beacon", 21 | "conditions": { 22 | "netherite_level": 164 23 | } 24 | } 25 | }, 26 | "requirements": [ 27 | [ 28 | "beacon" 29 | ] 30 | ] 31 | } -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/loot_tables/gameplay/fishing.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:fishing", 3 | "pools": [ 4 | { 5 | "rolls": 1, 6 | "entries": [ 7 | { 8 | "type": "minecraft:loot_table", 9 | "weight": 60, 10 | "quality": -2, 11 | "name": "netherite_plus:gameplay/fishing/junk" 12 | }, 13 | { 14 | "type": "minecraft:loot_table", 15 | "conditions": [ 16 | { 17 | "condition": "minecraft:entity_properties", 18 | "predicate": { 19 | "fishing_hook": { 20 | "in_open_water": true 21 | } 22 | }, 23 | "entity": "this" 24 | } 25 | ], 26 | "weight": 40, 27 | "quality": 2, 28 | "name": "netherite_plus:gameplay/fishing/treasure" 29 | } 30 | ] 31 | } 32 | ] 33 | } -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/advancements/netherite_plus/root.json: -------------------------------------------------------------------------------- 1 | { 2 | "display": { 3 | "icon": { 4 | "item": "minecraft:netherite_ingot" 5 | }, 6 | "title": { 7 | "translate": "advancements.netherite_plus.root.title" 8 | }, 9 | "description": { 10 | "translate": "advancements.netherite_plus.root.description" 11 | }, 12 | "frame": "task", 13 | "show_toast": false, 14 | "announce_to_chat": false, 15 | "hidden": false, 16 | "background": "netherite_plus:textures/gui/advancements/backgrounds/netherite.png" 17 | }, 18 | "criteria": { 19 | "netherite_ingot": { 20 | "trigger": "minecraft:inventory_changed", 21 | "conditions": { 22 | "items": [ 23 | { 24 | "items": ["minecraft:netherite_ingot"] 25 | } 26 | ] 27 | } 28 | } 29 | }, 30 | "requirements": [ 31 | [ 32 | "netherite_ingot" 33 | ] 34 | ] 35 | } -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/advancements/netherite_plus/netherite_anvil.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "netherite_plus:netherite_plus/root", 3 | "display": { 4 | "icon": { 5 | "item": "netherite_plus:netherite_anvil" 6 | }, 7 | "title": { 8 | "translate": "advancements.netherite_plus.netherite_anvil.title" 9 | }, 10 | "description": { 11 | "translate": "advancements.netherite_plus.netherite_anvil.description" 12 | }, 13 | "frame": "task", 14 | "show_toast": true, 15 | "announce_to_chat": true, 16 | "hidden": false 17 | }, 18 | "criteria": { 19 | "netherite_anvil": { 20 | "trigger": "minecraft:inventory_changed", 21 | "conditions": { 22 | "items": [ 23 | { 24 | "items": ["netherite_plus:netherite_anvil"] 25 | } 26 | ] 27 | } 28 | } 29 | }, 30 | "requirements": [ 31 | [ 32 | "netherite_anvil" 33 | ] 34 | ] 35 | } -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/advancements/netherite_plus/netherite_beacon.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "netherite_plus:netherite_plus/root", 3 | "display": { 4 | "icon": { 5 | "item": "netherite_plus:netherite_beacon" 6 | }, 7 | "title": { 8 | "translate": "advancements.netherite_plus.netherite_beacon.title" 9 | }, 10 | "description": { 11 | "translate": "advancements.netherite_plus.netherite_beacon.description" 12 | }, 13 | "frame": "task", 14 | "show_toast": true, 15 | "announce_to_chat": true, 16 | "hidden": false 17 | }, 18 | "criteria": { 19 | "netherite_beacon": { 20 | "trigger": "minecraft:inventory_changed", 21 | "conditions": { 22 | "items": [ 23 | { 24 | "items": ["netherite_plus:netherite_beacon"] 25 | } 26 | ] 27 | } 28 | } 29 | }, 30 | "requirements": [ 31 | [ 32 | "netherite_beacon" 33 | ] 34 | ] 35 | } -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/advancements/netherite_plus/netherite_elytra.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "netherite_plus:netherite_plus/root", 3 | "display": { 4 | "icon": { 5 | "item": "netherite_plus:netherite_elytra" 6 | }, 7 | "title": { 8 | "translate": "advancements.netherite_plus.netherite_elytra.title" 9 | }, 10 | "description": { 11 | "translate": "advancements.netherite_plus.netherite_elytra.description" 12 | }, 13 | "frame": "task", 14 | "show_toast": true, 15 | "announce_to_chat": true, 16 | "hidden": false 17 | }, 18 | "criteria": { 19 | "netherite_elytra": { 20 | "trigger": "minecraft:inventory_changed", 21 | "conditions": { 22 | "items": [ 23 | { 24 | "items": ["netherite_plus:netherite_elytra"] 25 | } 26 | ] 27 | } 28 | } 29 | }, 30 | "requirements": [ 31 | [ 32 | "netherite_elytra" 33 | ] 34 | ] 35 | } -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/advancements/netherite_plus/netherite_shears.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "netherite_plus:netherite_plus/root", 3 | "display": { 4 | "icon": { 5 | "item": "netherite_plus:netherite_shears" 6 | }, 7 | "title": { 8 | "translate": "advancements.netherite_plus.netherite_shears.title" 9 | }, 10 | "description": { 11 | "translate": "advancements.netherite_plus.netherite_shears.description" 12 | }, 13 | "frame": "task", 14 | "show_toast": true, 15 | "announce_to_chat": true, 16 | "hidden": false 17 | }, 18 | "criteria": { 19 | "netherite_shears": { 20 | "trigger": "minecraft:inventory_changed", 21 | "conditions": { 22 | "items": [ 23 | { 24 | "items": ["netherite_plus:netherite_shears"] 25 | } 26 | ] 27 | } 28 | } 29 | }, 30 | "requirements": [ 31 | [ 32 | "netherite_shears" 33 | ] 34 | ] 35 | } -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/advancements/netherite_plus/netherite_shield.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "netherite_plus:netherite_plus/root", 3 | "display": { 4 | "icon": { 5 | "item": "netherite_plus:netherite_shield" 6 | }, 7 | "title": { 8 | "translate": "advancements.netherite_plus.netherite_shield.title" 9 | }, 10 | "description": { 11 | "translate": "advancements.netherite_plus.netherite_shield.description" 12 | }, 13 | "frame": "task", 14 | "show_toast": true, 15 | "announce_to_chat": true, 16 | "hidden": false 17 | }, 18 | "criteria": { 19 | "netherite_shield": { 20 | "trigger": "minecraft:inventory_changed", 21 | "conditions": { 22 | "items": [ 23 | { 24 | "items": ["netherite_plus:netherite_shield"] 25 | } 26 | ] 27 | } 28 | } 29 | }, 30 | "requirements": [ 31 | [ 32 | "netherite_shield" 33 | ] 34 | ] 35 | } -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/advancements/netherite_plus/netherite_trident.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "netherite_plus:netherite_plus/root", 3 | "display": { 4 | "icon": { 5 | "item": "netherite_plus:netherite_trident" 6 | }, 7 | "title": { 8 | "translate": "advancements.netherite_plus.netherite_trident.title" 9 | }, 10 | "description": { 11 | "translate": "advancements.netherite_plus.netherite_trident.description" 12 | }, 13 | "frame": "task", 14 | "show_toast": true, 15 | "announce_to_chat": true, 16 | "hidden": false 17 | }, 18 | "criteria": { 19 | "netherite_trident": { 20 | "trigger": "minecraft:inventory_changed", 21 | "conditions": { 22 | "items": [ 23 | { 24 | "items": ["netherite_plus:netherite_trident"] 25 | } 26 | ] 27 | } 28 | } 29 | }, 30 | "requirements": [ 31 | [ 32 | "netherite_trident" 33 | ] 34 | ] 35 | } -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/advancements/netherite_plus/fake_netherite_block.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "netherite_plus:netherite_plus/root", 3 | "display": { 4 | "icon": { 5 | "item": "netherite_plus:fake_netherite_block" 6 | }, 7 | "title": { 8 | "translate": "advancements.netherite_plus.fake_netherite_block.title" 9 | }, 10 | "description": { 11 | "translate": "advancements.netherite_plus.fake_netherite_block.description" 12 | }, 13 | "frame": "task", 14 | "show_toast": true, 15 | "announce_to_chat": true, 16 | "hidden": false 17 | }, 18 | "criteria": { 19 | "fake_netherite_block": { 20 | "trigger": "minecraft:inventory_changed", 21 | "conditions": { 22 | "items": [ 23 | { 24 | "items": ["netherite_plus:fake_netherite_block"] 25 | } 26 | ] 27 | } 28 | } 29 | }, 30 | "requirements": [ 31 | [ 32 | "fake_netherite_block" 33 | ] 34 | ] 35 | } -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/advancements/netherite_plus/netherite_fishing_rod.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "netherite_plus:netherite_plus/root", 3 | "display": { 4 | "icon": { 5 | "item": "netherite_plus:netherite_fishing_rod" 6 | }, 7 | "title": { 8 | "translate": "advancements.netherite_plus.netherite_fishing_rod.title" 9 | }, 10 | "description": { 11 | "translate": "advancements.netherite_plus.netherite_fishing_rod.description" 12 | }, 13 | "frame": "task", 14 | "show_toast": true, 15 | "announce_to_chat": true, 16 | "hidden": false 17 | }, 18 | "criteria": { 19 | "netherite_fishing_rod": { 20 | "trigger": "minecraft:inventory_changed", 21 | "conditions": { 22 | "items": [ 23 | { 24 | "items": ["netherite_plus:netherite_fishing_rod"] 25 | } 26 | ] 27 | } 28 | } 29 | }, 30 | "requirements": [ 31 | [ 32 | "netherite_fishing_rod" 33 | ] 34 | ] 35 | } -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/advancements/netherite_plus/netherite_fishing_rod_special.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "netherite_plus:netherite_plus/netherite_fishing_rod", 3 | "display": { 4 | "icon": { 5 | "item": "netherite_plus:netherite_fishing_rod" 6 | }, 7 | "title": { 8 | "translate": "advancements.netherite_plus.netherite_fishing_rod_special.title" 9 | }, 10 | "description": { 11 | "translate": "advancements.netherite_plus.netherite_fishing_rod_special.description" 12 | }, 13 | "frame": "challenge", 14 | "show_toast": true, 15 | "announce_to_chat": true, 16 | "hidden": true 17 | }, 18 | "criteria": { 19 | "netherite_fishing_rod": { 20 | "trigger": "minecraft:fishing_rod_hooked", 21 | "conditions": { 22 | "item": { 23 | "items": ["minecraft:ancient_debris"] 24 | } 25 | } 26 | } 27 | }, 28 | "requirements": [ 29 | [ 30 | "netherite_fishing_rod" 31 | ] 32 | ] 33 | } -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/advancements/netherite_plus/netherite_horse_armor.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "netherite_plus:netherite_plus/root", 3 | "display": { 4 | "icon": { 5 | "item": "netherite_plus:netherite_horse_armor" 6 | }, 7 | "title": { 8 | "translate": "advancements.netherite_plus.netherite_horse_armor.title" 9 | }, 10 | "description": { 11 | "translate": "advancements.netherite_plus.netherite_horse_armor.description" 12 | }, 13 | "frame": "task", 14 | "show_toast": true, 15 | "announce_to_chat": true, 16 | "hidden": false 17 | }, 18 | "criteria": { 19 | "netherite_horse_armor": { 20 | "trigger": "minecraft:inventory_changed", 21 | "conditions": { 22 | "items": [ 23 | { 24 | "items": ["netherite_plus:netherite_horse_armor"] 25 | } 26 | ] 27 | } 28 | } 29 | }, 30 | "requirements": [ 31 | [ 32 | "netherite_horse_armor" 33 | ] 34 | ] 35 | } -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/tags/blocks/netherite_shulker_boxes.json: -------------------------------------------------------------------------------- 1 | { 2 | "replace": false, 3 | "values": [ 4 | "netherite_plus:netherite_shulker_box", 5 | "netherite_plus:netherite_black_shulker_box", 6 | "netherite_plus:netherite_blue_shulker_box", 7 | "netherite_plus:netherite_brown_shulker_box", 8 | "netherite_plus:netherite_cyan_shulker_box", 9 | "netherite_plus:netherite_gray_shulker_box", 10 | "netherite_plus:netherite_green_shulker_box", 11 | "netherite_plus:netherite_light_blue_shulker_box", 12 | "netherite_plus:netherite_light_gray_shulker_box", 13 | "netherite_plus:netherite_lime_shulker_box", 14 | "netherite_plus:netherite_magenta_shulker_box", 15 | "netherite_plus:netherite_orange_shulker_box", 16 | "netherite_plus:netherite_pink_shulker_box", 17 | "netherite_plus:netherite_purple_shulker_box", 18 | "netherite_plus:netherite_red_shulker_box", 19 | "netherite_plus:netherite_white_shulker_box", 20 | "netherite_plus:netherite_yellow_shulker_box" 21 | ] 22 | } -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/loot_tables/gameplay/fishing/junk.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:fishing", 3 | "pools": [ 4 | { 5 | "rolls": 1, 6 | "entries": [ 7 | { 8 | "type": "minecraft:item", 9 | "name": "minecraft:string", 10 | "weight": 5 11 | }, 12 | { 13 | "type": "minecraft:item", 14 | "name": "minecraft:gold_nugget", 15 | "count": { 16 | "min": 1, 17 | "max": 5 18 | }, 19 | "weight": 3 20 | }, 21 | { 22 | "type": "minecraft:item", 23 | "name": "minecraft:magma_cream", 24 | "count": { 25 | "min": 1, 26 | "max": 5 27 | }, 28 | "weight": 3 29 | }, 30 | { 31 | "type": "minecraft:item", 32 | "name": "minecraft:bone", 33 | "weight": 5 34 | }, 35 | { 36 | "type": "minecraft:item", 37 | "name": "minecraft:rotten_flesh", 38 | "weight": 5 39 | } 40 | ] 41 | } 42 | ] 43 | } -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021-2023 OroArmor (Eli Orona) 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/advancements/netherite_plus/netherite_horse_armor_special.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "netherite_plus:netherite_plus/netherite_horse_armor", 3 | "display": { 4 | "icon": { 5 | "item": "netherite_plus:netherite_horse_armor" 6 | }, 7 | "title": { 8 | "translate": "advancements.netherite_plus.netherite_horse_armor_special.title" 9 | }, 10 | "description": { 11 | "translate": "advancements.netherite_plus.netherite_horse_armor_special.description" 12 | }, 13 | "frame": "goal", 14 | "show_toast": true, 15 | "announce_to_chat": true, 16 | "hidden": true 17 | }, 18 | "criteria": { 19 | "netherite_horse_armor": { 20 | "trigger": "minecraft:tick", 21 | "conditions": { 22 | "player": { 23 | "vehicle": { 24 | "type": "minecraft:horse", 25 | "equipment": { 26 | "chest": { 27 | "items": ["netherite_plus:netherite_horse_armor"] 28 | } 29 | } 30 | } 31 | } 32 | } 33 | } 34 | }, 35 | "requirements": [ 36 | [ 37 | "netherite_horse_armor" 38 | ] 39 | ] 40 | } -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/advancements/netherite_plus/netherite_bow.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "netherite_plus:netherite_plus/root", 3 | "display": { 4 | "icon": { 5 | "item": "netherite_plus:netherite_bow" 6 | }, 7 | "title": { 8 | "translate": "advancements.netherite_plus.netherite_bow.title" 9 | }, 10 | "description": { 11 | "translate": "advancements.netherite_plus.netherite_bow.description" 12 | }, 13 | "frame": "task", 14 | "show_toast": true, 15 | "announce_to_chat": true, 16 | "hidden": false 17 | }, 18 | "criteria": { 19 | "netherite_bow": { 20 | "trigger": "minecraft:inventory_changed", 21 | "conditions": { 22 | "items": [ 23 | { 24 | "items": ["netherite_plus:netherite_bow"] 25 | } 26 | ] 27 | } 28 | }, 29 | "netherite_crossbow": { 30 | "trigger": "minecraft:inventory_changed", 31 | "conditions": { 32 | "items": [ 33 | { 34 | "items": ["netherite_plus:netherite_crossbow"] 35 | } 36 | ] 37 | } 38 | } 39 | }, 40 | "requirements": [ 41 | [ 42 | "netherite_bow", 43 | "netherite_crossbow" 44 | ] 45 | ] 46 | } -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/models/item/netherite_trident_throwing.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:builtin/entity", 3 | "gui_light": "front", 4 | "textures": { 5 | "particle": "netherite_plus:item/netherite_trident" 6 | }, 7 | "display": { 8 | "thirdperson_righthand": { 9 | "rotation": [0, 90, 180], 10 | "translation": [8, -17, 9], 11 | "scale": [1, 1, 1] 12 | }, 13 | "thirdperson_lefthand": { 14 | "rotation": [0, 90, 180], 15 | "translation": [8, -17, -7], 16 | "scale": [1, 1, 1] 17 | }, 18 | "firstperson_righthand": { 19 | "rotation": [0, -90, 25], 20 | "translation": [-3, 17, 1], 21 | "scale": [1, 1, 1] 22 | }, 23 | "firstperson_lefthand": { 24 | "rotation": [0, 90, -25], 25 | "translation": [13, 17, 1], 26 | "scale": [1, 1, 1] 27 | }, 28 | "gui": { 29 | "rotation": [15, -25, -5], 30 | "translation": [2, 3, 0], 31 | "scale": [0.65, 0.65, 0.65] 32 | }, 33 | "fixed": { 34 | "rotation": [0, 180, 0], 35 | "translation": [-2, 4, -5], 36 | "scale": [0.5, 0.5, 0.5] 37 | }, 38 | "ground": { 39 | "rotation": [0, 0, 0], 40 | "translation": [4, 4, 2], 41 | "scale": [0.25, 0.25, 0.25] 42 | } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/advancements/netherite_plus/netherite_elytra_special.json: -------------------------------------------------------------------------------- 1 | { 2 | "display": { 3 | "icon": { 4 | "item": "netherite_plus:netherite_elytra" 5 | }, 6 | "title": { 7 | "translate": "advancements.netherite_plus.netherite_elytra_special.title" 8 | }, 9 | "description": { 10 | "translate": "advancements.netherite_plus.netherite_elytra_special.description" 11 | }, 12 | "frame": "challenge", 13 | "show_toast": true, 14 | "announce_to_chat": true, 15 | "hidden": true 16 | }, 17 | "parent": "netherite_plus:netherite_plus/netherite_elytra", 18 | "criteria": { 19 | "netherite_elytra": { 20 | "trigger": "minecraft:tick", 21 | "conditions": { 22 | "player": { 23 | "type": "minecraft:player", 24 | "type_specific": { 25 | "type": "player", 26 | "stats": [ 27 | { 28 | "type": "minecraft:custom", 29 | "stat": "netherite_plus:netherite_elytra_flight_cm", 30 | "value": { 31 | "min": 1000000, 32 | "max": 1100000 33 | } 34 | } 35 | ] 36 | } 37 | } 38 | } 39 | } 40 | }, 41 | "requirements": [ 42 | [ 43 | "netherite_elytra" 44 | ] 45 | ] 46 | } 47 | -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/models/item/netherite_trident_in_hand.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "minecraft:builtin/entity", 3 | "gui_light": "front", 4 | "textures": { 5 | "particle": "netherite_plus:item/netherite_trident" 6 | }, 7 | "display": { 8 | "thirdperson_righthand": { 9 | "rotation": [0, 60, 0], 10 | "translation": [11, 17, -2], 11 | "scale": [1, 1, 1] 12 | }, 13 | "thirdperson_lefthand": { 14 | "rotation": [0, 60, 0], 15 | "translation": [3, 17, 12], 16 | "scale": [1, 1, 1] 17 | }, 18 | "firstperson_righthand": { 19 | "rotation": [0, -90, 25], 20 | "translation": [-3, 17, 1], 21 | "scale": [1, 1, 1] 22 | }, 23 | "firstperson_lefthand": { 24 | "rotation": [0, 90, -25], 25 | "translation": [13, 17, 1], 26 | "scale": [1, 1, 1] 27 | }, 28 | "gui": { 29 | "rotation": [15, -25, -5], 30 | "translation": [2, 3, 0], 31 | "scale": [0.65, 0.65, 0.65] 32 | }, 33 | "fixed": { 34 | "rotation": [0, 180, 0], 35 | "translation": [-2, 4, -5], 36 | "scale": [0.5, 0.5, 0.5] 37 | }, 38 | "ground": { 39 | "rotation": [0, 0, 0], 40 | "translation": [4, 4, 2], 41 | "scale": [0.25, 0.25, 0.25] 42 | } 43 | }, 44 | "overrides": [ 45 | { 46 | "predicate": { 47 | "throwing": 1 48 | }, 49 | "model": "netherite_plus:item/netherite_trident_throwing" 50 | } 51 | ] 52 | } 53 | -------------------------------------------------------------------------------- /src/main/java/com/oroarmor/netherite_plus/block/FakeNetheriteBlock.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2023 OroArmor (Eli Orona) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | package com.oroarmor.netherite_plus.block; 26 | 27 | import net.minecraft.block.Block; 28 | 29 | public class FakeNetheriteBlock extends Block { 30 | 31 | public FakeNetheriteBlock(Settings settings) { 32 | super(settings); 33 | } 34 | 35 | } 36 | -------------------------------------------------------------------------------- /src/main/java/com/oroarmor/netherite_plus/network/LavaVisionUpdatePacket.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2023 OroArmor (Eli Orona) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | package com.oroarmor.netherite_plus.network; 26 | 27 | import net.minecraft.util.Identifier; 28 | 29 | import static com.oroarmor.netherite_plus.NetheritePlusMod.id; 30 | 31 | public class LavaVisionUpdatePacket { 32 | public static Identifier ID = id("lava_vision_update"); 33 | } 34 | -------------------------------------------------------------------------------- /src/main/java/com/oroarmor/netherite_plus/loot/NetheritePlusLootManager.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2023 OroArmor (Eli Orona) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | package com.oroarmor.netherite_plus.loot; 26 | 27 | import net.minecraft.util.Identifier; 28 | 29 | import static com.oroarmor.netherite_plus.NetheritePlusMod.id; 30 | 31 | public class NetheritePlusLootManager { 32 | public static final Identifier LAVA_FISHING_LOOT_TABLE = id("gameplay/fishing"); 33 | } 34 | -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/loot_tables/blocks/netherite_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:block", 3 | "pools": [ 4 | { 5 | "rolls": 1, 6 | "entries": [ 7 | { 8 | "type": "minecraft:item", 9 | "name": "netherite_plus:netherite_shulker_box", 10 | "functions": [ 11 | { 12 | "function": "minecraft:copy_name", 13 | "source": "block_entity" 14 | }, 15 | { 16 | "function": "minecraft:copy_nbt", 17 | "source": "block_entity", 18 | "ops": [ 19 | { 20 | "source": "Lock", 21 | "target": "BlockEntityTag.Lock", 22 | "op": "replace" 23 | }, 24 | { 25 | "source": "LootTable", 26 | "target": "BlockEntityTag.LootTable", 27 | "op": "replace" 28 | }, 29 | { 30 | "source": "LootTableSeed", 31 | "target": "BlockEntityTag.LootTableSeed", 32 | "op": "replace" 33 | } 34 | ] 35 | }, 36 | { 37 | "function": "minecraft:set_contents", 38 | "type": "minecraft:shulker_box", 39 | "entries": [ 40 | { 41 | "type": "minecraft:dynamic", 42 | "name": "minecraft:contents" 43 | } 44 | ] 45 | } 46 | ] 47 | } 48 | ] 49 | } 50 | ] 51 | } -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/loot_tables/blocks/netherite_black_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:block", 3 | "pools": [ 4 | { 5 | "rolls": 1, 6 | "entries": [ 7 | { 8 | "type": "minecraft:item", 9 | "name": "netherite_plus:netherite_black_shulker_box", 10 | "functions": [ 11 | { 12 | "function": "minecraft:copy_name", 13 | "source": "block_entity" 14 | }, 15 | { 16 | "function": "minecraft:copy_nbt", 17 | "source": "block_entity", 18 | "ops": [ 19 | { 20 | "source": "Lock", 21 | "target": "BlockEntityTag.Lock", 22 | "op": "replace" 23 | }, 24 | { 25 | "source": "LootTable", 26 | "target": "BlockEntityTag.LootTable", 27 | "op": "replace" 28 | }, 29 | { 30 | "source": "LootTableSeed", 31 | "target": "BlockEntityTag.LootTableSeed", 32 | "op": "replace" 33 | } 34 | ] 35 | }, 36 | { 37 | "function": "minecraft:set_contents", 38 | "type": "minecraft:shulker_box", 39 | "entries": [ 40 | { 41 | "type": "minecraft:dynamic", 42 | "name": "minecraft:contents" 43 | } 44 | ] 45 | } 46 | ] 47 | } 48 | ] 49 | } 50 | ] 51 | } -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/loot_tables/blocks/netherite_blue_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:block", 3 | "pools": [ 4 | { 5 | "rolls": 1, 6 | "entries": [ 7 | { 8 | "type": "minecraft:item", 9 | "name": "netherite_plus:netherite_blue_shulker_box", 10 | "functions": [ 11 | { 12 | "function": "minecraft:copy_name", 13 | "source": "block_entity" 14 | }, 15 | { 16 | "function": "minecraft:copy_nbt", 17 | "source": "block_entity", 18 | "ops": [ 19 | { 20 | "source": "Lock", 21 | "target": "BlockEntityTag.Lock", 22 | "op": "replace" 23 | }, 24 | { 25 | "source": "LootTable", 26 | "target": "BlockEntityTag.LootTable", 27 | "op": "replace" 28 | }, 29 | { 30 | "source": "LootTableSeed", 31 | "target": "BlockEntityTag.LootTableSeed", 32 | "op": "replace" 33 | } 34 | ] 35 | }, 36 | { 37 | "function": "minecraft:set_contents", 38 | "type": "minecraft:shulker_box", 39 | "entries": [ 40 | { 41 | "type": "minecraft:dynamic", 42 | "name": "minecraft:contents" 43 | } 44 | ] 45 | } 46 | ] 47 | } 48 | ] 49 | } 50 | ] 51 | } -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/loot_tables/blocks/netherite_brown_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:block", 3 | "pools": [ 4 | { 5 | "rolls": 1, 6 | "entries": [ 7 | { 8 | "type": "minecraft:item", 9 | "name": "netherite_plus:netherite_brown_shulker_box", 10 | "functions": [ 11 | { 12 | "function": "minecraft:copy_name", 13 | "source": "block_entity" 14 | }, 15 | { 16 | "function": "minecraft:copy_nbt", 17 | "source": "block_entity", 18 | "ops": [ 19 | { 20 | "source": "Lock", 21 | "target": "BlockEntityTag.Lock", 22 | "op": "replace" 23 | }, 24 | { 25 | "source": "LootTable", 26 | "target": "BlockEntityTag.LootTable", 27 | "op": "replace" 28 | }, 29 | { 30 | "source": "LootTableSeed", 31 | "target": "BlockEntityTag.LootTableSeed", 32 | "op": "replace" 33 | } 34 | ] 35 | }, 36 | { 37 | "function": "minecraft:set_contents", 38 | "type": "minecraft:shulker_box", 39 | "entries": [ 40 | { 41 | "type": "minecraft:dynamic", 42 | "name": "minecraft:contents" 43 | } 44 | ] 45 | } 46 | ] 47 | } 48 | ] 49 | } 50 | ] 51 | } -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/loot_tables/blocks/netherite_cyan_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:block", 3 | "pools": [ 4 | { 5 | "rolls": 1, 6 | "entries": [ 7 | { 8 | "type": "minecraft:item", 9 | "name": "netherite_plus:netherite_cyan_shulker_box", 10 | "functions": [ 11 | { 12 | "function": "minecraft:copy_name", 13 | "source": "block_entity" 14 | }, 15 | { 16 | "function": "minecraft:copy_nbt", 17 | "source": "block_entity", 18 | "ops": [ 19 | { 20 | "source": "Lock", 21 | "target": "BlockEntityTag.Lock", 22 | "op": "replace" 23 | }, 24 | { 25 | "source": "LootTable", 26 | "target": "BlockEntityTag.LootTable", 27 | "op": "replace" 28 | }, 29 | { 30 | "source": "LootTableSeed", 31 | "target": "BlockEntityTag.LootTableSeed", 32 | "op": "replace" 33 | } 34 | ] 35 | }, 36 | { 37 | "function": "minecraft:set_contents", 38 | "type": "minecraft:shulker_box", 39 | "entries": [ 40 | { 41 | "type": "minecraft:dynamic", 42 | "name": "minecraft:contents" 43 | } 44 | ] 45 | } 46 | ] 47 | } 48 | ] 49 | } 50 | ] 51 | } -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/loot_tables/blocks/netherite_gray_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:block", 3 | "pools": [ 4 | { 5 | "rolls": 1, 6 | "entries": [ 7 | { 8 | "type": "minecraft:item", 9 | "name": "netherite_plus:netherite_gray_shulker_box", 10 | "functions": [ 11 | { 12 | "function": "minecraft:copy_name", 13 | "source": "block_entity" 14 | }, 15 | { 16 | "function": "minecraft:copy_nbt", 17 | "source": "block_entity", 18 | "ops": [ 19 | { 20 | "source": "Lock", 21 | "target": "BlockEntityTag.Lock", 22 | "op": "replace" 23 | }, 24 | { 25 | "source": "LootTable", 26 | "target": "BlockEntityTag.LootTable", 27 | "op": "replace" 28 | }, 29 | { 30 | "source": "LootTableSeed", 31 | "target": "BlockEntityTag.LootTableSeed", 32 | "op": "replace" 33 | } 34 | ] 35 | }, 36 | { 37 | "function": "minecraft:set_contents", 38 | "type": "minecraft:shulker_box", 39 | "entries": [ 40 | { 41 | "type": "minecraft:dynamic", 42 | "name": "minecraft:contents" 43 | } 44 | ] 45 | } 46 | ] 47 | } 48 | ] 49 | } 50 | ] 51 | } -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/loot_tables/blocks/netherite_green_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:block", 3 | "pools": [ 4 | { 5 | "rolls": 1, 6 | "entries": [ 7 | { 8 | "type": "minecraft:item", 9 | "name": "netherite_plus:netherite_green_shulker_box", 10 | "functions": [ 11 | { 12 | "function": "minecraft:copy_name", 13 | "source": "block_entity" 14 | }, 15 | { 16 | "function": "minecraft:copy_nbt", 17 | "source": "block_entity", 18 | "ops": [ 19 | { 20 | "source": "Lock", 21 | "target": "BlockEntityTag.Lock", 22 | "op": "replace" 23 | }, 24 | { 25 | "source": "LootTable", 26 | "target": "BlockEntityTag.LootTable", 27 | "op": "replace" 28 | }, 29 | { 30 | "source": "LootTableSeed", 31 | "target": "BlockEntityTag.LootTableSeed", 32 | "op": "replace" 33 | } 34 | ] 35 | }, 36 | { 37 | "function": "minecraft:set_contents", 38 | "type": "minecraft:shulker_box", 39 | "entries": [ 40 | { 41 | "type": "minecraft:dynamic", 42 | "name": "minecraft:contents" 43 | } 44 | ] 45 | } 46 | ] 47 | } 48 | ] 49 | } 50 | ] 51 | } -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/loot_tables/blocks/netherite_lime_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:block", 3 | "pools": [ 4 | { 5 | "rolls": 1, 6 | "entries": [ 7 | { 8 | "type": "minecraft:item", 9 | "name": "netherite_plus:netherite_lime_shulker_box", 10 | "functions": [ 11 | { 12 | "function": "minecraft:copy_name", 13 | "source": "block_entity" 14 | }, 15 | { 16 | "function": "minecraft:copy_nbt", 17 | "source": "block_entity", 18 | "ops": [ 19 | { 20 | "source": "Lock", 21 | "target": "BlockEntityTag.Lock", 22 | "op": "replace" 23 | }, 24 | { 25 | "source": "LootTable", 26 | "target": "BlockEntityTag.LootTable", 27 | "op": "replace" 28 | }, 29 | { 30 | "source": "LootTableSeed", 31 | "target": "BlockEntityTag.LootTableSeed", 32 | "op": "replace" 33 | } 34 | ] 35 | }, 36 | { 37 | "function": "minecraft:set_contents", 38 | "type": "minecraft:shulker_box", 39 | "entries": [ 40 | { 41 | "type": "minecraft:dynamic", 42 | "name": "minecraft:contents" 43 | } 44 | ] 45 | } 46 | ] 47 | } 48 | ] 49 | } 50 | ] 51 | } -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/loot_tables/blocks/netherite_pink_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:block", 3 | "pools": [ 4 | { 5 | "rolls": 1, 6 | "entries": [ 7 | { 8 | "type": "minecraft:item", 9 | "name": "netherite_plus:netherite_pink_shulker_box", 10 | "functions": [ 11 | { 12 | "function": "minecraft:copy_name", 13 | "source": "block_entity" 14 | }, 15 | { 16 | "function": "minecraft:copy_nbt", 17 | "source": "block_entity", 18 | "ops": [ 19 | { 20 | "source": "Lock", 21 | "target": "BlockEntityTag.Lock", 22 | "op": "replace" 23 | }, 24 | { 25 | "source": "LootTable", 26 | "target": "BlockEntityTag.LootTable", 27 | "op": "replace" 28 | }, 29 | { 30 | "source": "LootTableSeed", 31 | "target": "BlockEntityTag.LootTableSeed", 32 | "op": "replace" 33 | } 34 | ] 35 | }, 36 | { 37 | "function": "minecraft:set_contents", 38 | "type": "minecraft:shulker_box", 39 | "entries": [ 40 | { 41 | "type": "minecraft:dynamic", 42 | "name": "minecraft:contents" 43 | } 44 | ] 45 | } 46 | ] 47 | } 48 | ] 49 | } 50 | ] 51 | } -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/loot_tables/blocks/netherite_red_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:block", 3 | "pools": [ 4 | { 5 | "rolls": 1, 6 | "entries": [ 7 | { 8 | "type": "minecraft:item", 9 | "name": "netherite_plus:netherite_red_shulker_box", 10 | "functions": [ 11 | { 12 | "function": "minecraft:copy_name", 13 | "source": "block_entity" 14 | }, 15 | { 16 | "function": "minecraft:copy_nbt", 17 | "source": "block_entity", 18 | "ops": [ 19 | { 20 | "source": "Lock", 21 | "target": "BlockEntityTag.Lock", 22 | "op": "replace" 23 | }, 24 | { 25 | "source": "LootTable", 26 | "target": "BlockEntityTag.LootTable", 27 | "op": "replace" 28 | }, 29 | { 30 | "source": "LootTableSeed", 31 | "target": "BlockEntityTag.LootTableSeed", 32 | "op": "replace" 33 | } 34 | ] 35 | }, 36 | { 37 | "function": "minecraft:set_contents", 38 | "type": "minecraft:shulker_box", 39 | "entries": [ 40 | { 41 | "type": "minecraft:dynamic", 42 | "name": "minecraft:contents" 43 | } 44 | ] 45 | } 46 | ] 47 | } 48 | ] 49 | } 50 | ] 51 | } -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/loot_tables/blocks/netherite_white_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:block", 3 | "pools": [ 4 | { 5 | "rolls": 1, 6 | "entries": [ 7 | { 8 | "type": "minecraft:item", 9 | "name": "netherite_plus:netherite_white_shulker_box", 10 | "functions": [ 11 | { 12 | "function": "minecraft:copy_name", 13 | "source": "block_entity" 14 | }, 15 | { 16 | "function": "minecraft:copy_nbt", 17 | "source": "block_entity", 18 | "ops": [ 19 | { 20 | "source": "Lock", 21 | "target": "BlockEntityTag.Lock", 22 | "op": "replace" 23 | }, 24 | { 25 | "source": "LootTable", 26 | "target": "BlockEntityTag.LootTable", 27 | "op": "replace" 28 | }, 29 | { 30 | "source": "LootTableSeed", 31 | "target": "BlockEntityTag.LootTableSeed", 32 | "op": "replace" 33 | } 34 | ] 35 | }, 36 | { 37 | "function": "minecraft:set_contents", 38 | "type": "minecraft:shulker_box", 39 | "entries": [ 40 | { 41 | "type": "minecraft:dynamic", 42 | "name": "minecraft:contents" 43 | } 44 | ] 45 | } 46 | ] 47 | } 48 | ] 49 | } 50 | ] 51 | } -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/loot_tables/blocks/netherite_magenta_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:block", 3 | "pools": [ 4 | { 5 | "rolls": 1, 6 | "entries": [ 7 | { 8 | "type": "minecraft:item", 9 | "name": "netherite_plus:netherite_magenta_shulker_box", 10 | "functions": [ 11 | { 12 | "function": "minecraft:copy_name", 13 | "source": "block_entity" 14 | }, 15 | { 16 | "function": "minecraft:copy_nbt", 17 | "source": "block_entity", 18 | "ops": [ 19 | { 20 | "source": "Lock", 21 | "target": "BlockEntityTag.Lock", 22 | "op": "replace" 23 | }, 24 | { 25 | "source": "LootTable", 26 | "target": "BlockEntityTag.LootTable", 27 | "op": "replace" 28 | }, 29 | { 30 | "source": "LootTableSeed", 31 | "target": "BlockEntityTag.LootTableSeed", 32 | "op": "replace" 33 | } 34 | ] 35 | }, 36 | { 37 | "function": "minecraft:set_contents", 38 | "type": "minecraft:shulker_box", 39 | "entries": [ 40 | { 41 | "type": "minecraft:dynamic", 42 | "name": "minecraft:contents" 43 | } 44 | ] 45 | } 46 | ] 47 | } 48 | ] 49 | } 50 | ] 51 | } -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/loot_tables/blocks/netherite_orange_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:block", 3 | "pools": [ 4 | { 5 | "rolls": 1, 6 | "entries": [ 7 | { 8 | "type": "minecraft:item", 9 | "name": "netherite_plus:netherite_orange_shulker_box", 10 | "functions": [ 11 | { 12 | "function": "minecraft:copy_name", 13 | "source": "block_entity" 14 | }, 15 | { 16 | "function": "minecraft:copy_nbt", 17 | "source": "block_entity", 18 | "ops": [ 19 | { 20 | "source": "Lock", 21 | "target": "BlockEntityTag.Lock", 22 | "op": "replace" 23 | }, 24 | { 25 | "source": "LootTable", 26 | "target": "BlockEntityTag.LootTable", 27 | "op": "replace" 28 | }, 29 | { 30 | "source": "LootTableSeed", 31 | "target": "BlockEntityTag.LootTableSeed", 32 | "op": "replace" 33 | } 34 | ] 35 | }, 36 | { 37 | "function": "minecraft:set_contents", 38 | "type": "minecraft:shulker_box", 39 | "entries": [ 40 | { 41 | "type": "minecraft:dynamic", 42 | "name": "minecraft:contents" 43 | } 44 | ] 45 | } 46 | ] 47 | } 48 | ] 49 | } 50 | ] 51 | } -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/loot_tables/blocks/netherite_purple_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:block", 3 | "pools": [ 4 | { 5 | "rolls": 1, 6 | "entries": [ 7 | { 8 | "type": "minecraft:item", 9 | "name": "netherite_plus:netherite_purple_shulker_box", 10 | "functions": [ 11 | { 12 | "function": "minecraft:copy_name", 13 | "source": "block_entity" 14 | }, 15 | { 16 | "function": "minecraft:copy_nbt", 17 | "source": "block_entity", 18 | "ops": [ 19 | { 20 | "source": "Lock", 21 | "target": "BlockEntityTag.Lock", 22 | "op": "replace" 23 | }, 24 | { 25 | "source": "LootTable", 26 | "target": "BlockEntityTag.LootTable", 27 | "op": "replace" 28 | }, 29 | { 30 | "source": "LootTableSeed", 31 | "target": "BlockEntityTag.LootTableSeed", 32 | "op": "replace" 33 | } 34 | ] 35 | }, 36 | { 37 | "function": "minecraft:set_contents", 38 | "type": "minecraft:shulker_box", 39 | "entries": [ 40 | { 41 | "type": "minecraft:dynamic", 42 | "name": "minecraft:contents" 43 | } 44 | ] 45 | } 46 | ] 47 | } 48 | ] 49 | } 50 | ] 51 | } -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/loot_tables/blocks/netherite_yellow_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:block", 3 | "pools": [ 4 | { 5 | "rolls": 1, 6 | "entries": [ 7 | { 8 | "type": "minecraft:item", 9 | "name": "netherite_plus:netherite_yellow_shulker_box", 10 | "functions": [ 11 | { 12 | "function": "minecraft:copy_name", 13 | "source": "block_entity" 14 | }, 15 | { 16 | "function": "minecraft:copy_nbt", 17 | "source": "block_entity", 18 | "ops": [ 19 | { 20 | "source": "Lock", 21 | "target": "BlockEntityTag.Lock", 22 | "op": "replace" 23 | }, 24 | { 25 | "source": "LootTable", 26 | "target": "BlockEntityTag.LootTable", 27 | "op": "replace" 28 | }, 29 | { 30 | "source": "LootTableSeed", 31 | "target": "BlockEntityTag.LootTableSeed", 32 | "op": "replace" 33 | } 34 | ] 35 | }, 36 | { 37 | "function": "minecraft:set_contents", 38 | "type": "minecraft:shulker_box", 39 | "entries": [ 40 | { 41 | "type": "minecraft:dynamic", 42 | "name": "minecraft:contents" 43 | } 44 | ] 45 | } 46 | ] 47 | } 48 | ] 49 | } 50 | ] 51 | } -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/loot_tables/blocks/netherite_light_blue_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:block", 3 | "pools": [ 4 | { 5 | "rolls": 1, 6 | "entries": [ 7 | { 8 | "type": "minecraft:item", 9 | "name": "netherite_plus:netherite_light_blue_shulker_box", 10 | "functions": [ 11 | { 12 | "function": "minecraft:copy_name", 13 | "source": "block_entity" 14 | }, 15 | { 16 | "function": "minecraft:copy_nbt", 17 | "source": "block_entity", 18 | "ops": [ 19 | { 20 | "source": "Lock", 21 | "target": "BlockEntityTag.Lock", 22 | "op": "replace" 23 | }, 24 | { 25 | "source": "LootTable", 26 | "target": "BlockEntityTag.LootTable", 27 | "op": "replace" 28 | }, 29 | { 30 | "source": "LootTableSeed", 31 | "target": "BlockEntityTag.LootTableSeed", 32 | "op": "replace" 33 | } 34 | ] 35 | }, 36 | { 37 | "function": "minecraft:set_contents", 38 | "type": "minecraft:shulker_box", 39 | "entries": [ 40 | { 41 | "type": "minecraft:dynamic", 42 | "name": "minecraft:contents" 43 | } 44 | ] 45 | } 46 | ] 47 | } 48 | ] 49 | } 50 | ] 51 | } -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/loot_tables/blocks/netherite_light_gray_shulker_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "minecraft:block", 3 | "pools": [ 4 | { 5 | "rolls": 1, 6 | "entries": [ 7 | { 8 | "type": "minecraft:item", 9 | "name": "netherite_plus:netherite_light_gray_shulker_box", 10 | "functions": [ 11 | { 12 | "function": "minecraft:copy_name", 13 | "source": "block_entity" 14 | }, 15 | { 16 | "function": "minecraft:copy_nbt", 17 | "source": "block_entity", 18 | "ops": [ 19 | { 20 | "source": "Lock", 21 | "target": "BlockEntityTag.Lock", 22 | "op": "replace" 23 | }, 24 | { 25 | "source": "LootTable", 26 | "target": "BlockEntityTag.LootTable", 27 | "op": "replace" 28 | }, 29 | { 30 | "source": "LootTableSeed", 31 | "target": "BlockEntityTag.LootTableSeed", 32 | "op": "replace" 33 | } 34 | ] 35 | }, 36 | { 37 | "function": "minecraft:set_contents", 38 | "type": "minecraft:shulker_box", 39 | "entries": [ 40 | { 41 | "type": "minecraft:dynamic", 42 | "name": "minecraft:contents" 43 | } 44 | ] 45 | } 46 | ] 47 | } 48 | ] 49 | } 50 | ] 51 | } -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/models/item/netherite_shield_blocking.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "builtin/entity", 3 | "gui_light": "front", 4 | "textures": { 5 | "particle": "block/dark_oak_planks" 6 | }, 7 | "display": { 8 | "thirdperson_righthand": { 9 | "rotation": [ 10 | 45, 11 | 135, 12 | 0 13 | ], 14 | "translation": [ 15 | 3.51, 16 | 11, 17 | -2 18 | ], 19 | "scale": [ 20 | 1, 21 | 1, 22 | 1 23 | ] 24 | }, 25 | "thirdperson_lefthand": { 26 | "rotation": [ 27 | 45, 28 | 135, 29 | 0 30 | ], 31 | "translation": [ 32 | 13.51, 33 | 3, 34 | 5 35 | ], 36 | "scale": [ 37 | 1, 38 | 1, 39 | 1 40 | ] 41 | }, 42 | "firstperson_righthand": { 43 | "rotation": [ 44 | 0, 45 | 180, 46 | -5 47 | ], 48 | "translation": [ 49 | -15, 50 | 5, 51 | -11 52 | ], 53 | "scale": [ 54 | 1.25, 55 | 1.25, 56 | 1.25 57 | ] 58 | }, 59 | "firstperson_lefthand": { 60 | "rotation": [ 61 | 0, 62 | 180, 63 | -5 64 | ], 65 | "translation": [ 66 | 5, 67 | 5, 68 | -11 69 | ], 70 | "scale": [ 71 | 1.25, 72 | 1.25, 73 | 1.25 74 | ] 75 | }, 76 | "gui": { 77 | "rotation": [ 78 | 15, 79 | -25, 80 | -5 81 | ], 82 | "translation": [ 83 | 2, 84 | 3, 85 | 0 86 | ], 87 | "scale": [ 88 | 0.65, 89 | 0.65, 90 | 0.65 91 | ] 92 | } 93 | } 94 | } 95 | -------------------------------------------------------------------------------- /src/main/resources/quilt.mod.json: -------------------------------------------------------------------------------- 1 | { 2 | "quilt_loader": { 3 | "entrypoints": { 4 | "init": [ 5 | "com.oroarmor.netherite_plus.NetheritePlusMod" 6 | ], 7 | "client_init": [ 8 | "com.oroarmor.netherite_plus.client.NetheritePlusClientMod" 9 | ] 10 | }, 11 | "id": "netherite_plus", 12 | "group": "com.oroarmor", 13 | "version": "${version}", 14 | "metadata": { 15 | "name": "Netherite Plus Mod", 16 | "description": "This mod adds extra netherite features that aren't vanilla.\n\nNOTE: Editing the config requires a game restart.", 17 | "contributors": { 18 | "OroArmor": "Owner", 19 | "1198159": "Contributor", 20 | "Ron": "Texture Artist" 21 | }, 22 | "contact": { 23 | "sources": "https://github.com/OroArmor/Netherite-Plus-Mod/", 24 | "homepage": "https://www.curseforge.com/minecraft/mc-mods/netherite-plus-mod", 25 | "issues": "https://github.com/OroArmor/Netherite-Plus-Mod/issues" 26 | }, 27 | "license": "MIT", 28 | "icon": "assets/netherite_plus/icon.png" 29 | }, 30 | "intermediate_mappings": "net.fabricmc:intermediary", 31 | "depends": [ 32 | { 33 | "id": "quilt_loader", 34 | "versions": ">=0.20.2" 35 | }, 36 | { 37 | "id": "quilted_fabric_api", 38 | "versions": ">=7.2.1+0.88.0-1.20.1" 39 | }, 40 | { 41 | "id": "minecraft", 42 | "versions": "1.20.1" 43 | }, 44 | { 45 | "id": "multi_item_lib", 46 | "versions": ">=1.6.2" 47 | } 48 | ] 49 | }, 50 | "mixin": [ 51 | "netherite_plus.mixins.json" 52 | ], 53 | "access_widener": "netherite_plus.accesswidener", 54 | "minecraft": { 55 | "environment": "*" 56 | }, 57 | "schema_version": 1 58 | } 59 | -------------------------------------------------------------------------------- /src/main/java/com/oroarmor/netherite_plus/mixin/ClientPlayNetworkHandlerAccessor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2023 OroArmor (Eli Orona) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | package com.oroarmor.netherite_plus.mixin; 26 | 27 | import org.spongepowered.asm.mixin.Mixin; 28 | import org.spongepowered.asm.mixin.gen.Accessor; 29 | 30 | import net.minecraft.client.MinecraftClient; 31 | import net.minecraft.client.network.ClientPlayNetworkHandler; 32 | import net.minecraft.client.world.ClientWorld; 33 | 34 | @Mixin(ClientPlayNetworkHandler.class) 35 | public interface ClientPlayNetworkHandlerAccessor { 36 | @Accessor 37 | MinecraftClient getClient(); 38 | 39 | @Accessor 40 | ClientWorld getWorld(); 41 | } 42 | -------------------------------------------------------------------------------- /src/main/java/com/oroarmor/netherite_plus/item/NetheriteHorseArmorItem.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2023 OroArmor (Eli Orona) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | package com.oroarmor.netherite_plus.item; 26 | 27 | import net.minecraft.item.HorseArmorItem; 28 | import net.minecraft.util.Identifier; 29 | 30 | import net.fabricmc.api.EnvType; 31 | import net.fabricmc.api.Environment; 32 | import static com.oroarmor.netherite_plus.NetheritePlusMod.id; 33 | 34 | public class NetheriteHorseArmorItem extends HorseArmorItem { 35 | 36 | public NetheriteHorseArmorItem(int bonus, Settings settings) { 37 | super(bonus, "diamond", settings); 38 | } 39 | 40 | @Override 41 | public Identifier getEntityTexture() { 42 | return id("textures/entity/netherite_horse_armor.png"); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /src/main/java/com/oroarmor/netherite_plus/item/NetheriteElytraItem.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2023 OroArmor (Eli Orona) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | package com.oroarmor.netherite_plus.item; 26 | 27 | import net.minecraft.item.ArmorItem; 28 | import net.minecraft.item.ItemStack; 29 | import net.minecraft.item.Items; 30 | 31 | import net.fabricmc.fabric.api.entity.event.v1.FabricElytraItem; 32 | 33 | public class NetheriteElytraItem extends ArmorItem implements FabricElytraItem { 34 | 35 | public NetheriteElytraItem(Settings settings) { 36 | super(NetheriteElytraArmorMaterials.NETHERITE_ELYTRA_MATERIAL, ArmorSlot.CHESTPLATE, settings); 37 | } 38 | 39 | @Override 40 | public boolean canRepair(ItemStack stack, ItemStack ingredient) { 41 | return ingredient.getItem() == Items.PHANTOM_MEMBRANE; 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/models/item/netherite_bow.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "netherite_plus:item/netherite_bow" 5 | }, 6 | "display": { 7 | "thirdperson_righthand": { 8 | "rotation": [ 9 | -80, 10 | 260, 11 | -40 12 | ], 13 | "translation": [ 14 | -1, 15 | -2, 16 | 2.5 17 | ], 18 | "scale": [ 19 | 0.9, 20 | 0.9, 21 | 0.9 22 | ] 23 | }, 24 | "thirdperson_lefthand": { 25 | "rotation": [ 26 | -80, 27 | -280, 28 | 40 29 | ], 30 | "translation": [ 31 | -1, 32 | -2, 33 | 2.5 34 | ], 35 | "scale": [ 36 | 0.9, 37 | 0.9, 38 | 0.9 39 | ] 40 | }, 41 | "firstperson_righthand": { 42 | "rotation": [ 43 | 0, 44 | -90, 45 | 25 46 | ], 47 | "translation": [ 48 | 1.13, 49 | 3.2, 50 | 1.13 51 | ], 52 | "scale": [ 53 | 0.68, 54 | 0.68, 55 | 0.68 56 | ] 57 | }, 58 | "firstperson_lefthand": { 59 | "rotation": [ 60 | 0, 61 | 90, 62 | -25 63 | ], 64 | "translation": [ 65 | 1.13, 66 | 3.2, 67 | 1.13 68 | ], 69 | "scale": [ 70 | 0.68, 71 | 0.68, 72 | 0.68 73 | ] 74 | } 75 | }, 76 | "overrides": [ 77 | { 78 | "predicate": { 79 | "pulling": 1 80 | }, 81 | "model": "netherite_plus:item/netherite_bow_pulling_0" 82 | }, 83 | { 84 | "predicate": { 85 | "pulling": 1, 86 | "pull": 0.65 87 | }, 88 | "model": "netherite_plus:item/netherite_bow_pulling_1" 89 | }, 90 | { 91 | "predicate": { 92 | "pulling": 1, 93 | "pull": 0.9 94 | }, 95 | "model": "netherite_plus:item/netherite_bow_pulling_2" 96 | } 97 | ] 98 | } 99 | -------------------------------------------------------------------------------- /src/main/resources/data/netherite_plus/advancements/netherite_plus/netherite_shield_special.json: -------------------------------------------------------------------------------- 1 | { 2 | "display": { 3 | "icon": { 4 | "item": "netherite_plus:netherite_shield", 5 | "nbt": "{Damage:0}" 6 | }, 7 | "title": { 8 | "translate": "advancements.netherite_plus.netherite_shield_special.title" 9 | }, 10 | "description": { 11 | "translate": "advancements.netherite_plus.netherite_shield_special.description" 12 | }, 13 | "frame": "challenge", 14 | "show_toast": true, 15 | "announce_to_chat": true, 16 | "hidden": true 17 | }, 18 | "parent": "netherite_plus:netherite_plus/netherite_shield", 19 | "criteria": { 20 | "deflected_projectile_mainhand": { 21 | "trigger": "minecraft:entity_hurt_player", 22 | "conditions": { 23 | "player": { 24 | "equipment": { 25 | "mainhand": { 26 | "items": [ 27 | "netherite_plus:netherite_shield" 28 | ] 29 | } 30 | } 31 | }, 32 | "damage": { 33 | "blocked": true, 34 | "source_entity": { 35 | "type": "minecraft:blaze" 36 | }, 37 | "type": { 38 | "is_projectile": true 39 | } 40 | } 41 | } 42 | }, 43 | "deflected_projectile_offhand": { 44 | "trigger": "minecraft:entity_hurt_player", 45 | "conditions": { 46 | "player": { 47 | "equipment": { 48 | "offhand": { 49 | "items": [ 50 | "netherite_plus:netherite_shield" 51 | ] 52 | } 53 | } 54 | }, 55 | "damage": { 56 | "blocked": true, 57 | "source_entity": { 58 | "type": "minecraft:blaze" 59 | }, 60 | "type": { 61 | "is_projectile": true 62 | } 63 | } 64 | } 65 | } 66 | }, 67 | "requirements": [ 68 | [ 69 | "deflected_projectile_mainhand", 70 | "deflected_projectile_offhand" 71 | ] 72 | ] 73 | } 74 | -------------------------------------------------------------------------------- /src/main/java/com/oroarmor/netherite_plus/item/NetheriteShieldItem.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2023 OroArmor (Eli Orona) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | package com.oroarmor.netherite_plus.item; 26 | 27 | import com.github.crimsondawn45.fabricshieldlib.lib.object.FabricShield; 28 | 29 | import net.minecraft.item.ItemStack; 30 | import net.minecraft.item.Items; 31 | import net.minecraft.item.ShieldItem; 32 | 33 | public class NetheriteShieldItem extends ShieldItem implements FabricShield { 34 | public NetheriteShieldItem(Settings settings) { 35 | super(settings); 36 | } 37 | 38 | @Override 39 | public boolean canRepair(ItemStack stack, ItemStack ingredient) { 40 | return stack.isOf(Items.NETHERITE_INGOT); 41 | } 42 | 43 | @Override 44 | public int getCoolDownTicks() { 45 | return 50; 46 | } 47 | 48 | @Override 49 | public boolean supportsBanner() { 50 | // Already have banner code handled 51 | return false; 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /src/main/java/com/oroarmor/netherite_plus/advancement/criterion/NetheritePlusCriteria.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2023 OroArmor (Eli Orona) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | package com.oroarmor.netherite_plus.advancement.criterion; 26 | 27 | import net.minecraft.advancement.criterion.Criteria; 28 | import net.minecraft.advancement.criterion.Criterion; 29 | 30 | public class NetheritePlusCriteria { 31 | public static final FullNetheriteNetheriteBeaconCriterion FULL_NETHERITE_NETHERITE_BEACON = register(new FullNetheriteNetheriteBeaconCriterion()); 32 | public static final ConstructNetheriteBeaconCriterion CONSTRUCT_NETHERITE_BEACON = register(new ConstructNetheriteBeaconCriterion()); 33 | public static final RiptideNetheriteTridentCriterion RIPTIDE_NETHERITE_TRIDENT = register(new RiptideNetheriteTridentCriterion()); 34 | 35 | private static > T register(T object) { 36 | return Criteria.register(object); 37 | } 38 | 39 | public static void init() { 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /src/main/java/com/oroarmor/netherite_plus/stat/NetheritePlusStats.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2023 OroArmor (Eli Orona) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | package com.oroarmor.netherite_plus.stat; 26 | 27 | import net.minecraft.registry.Registries; 28 | import net.minecraft.registry.Registry; 29 | import net.minecraft.stat.StatFormatter; 30 | import net.minecraft.stat.Stats; 31 | import net.minecraft.util.Identifier; 32 | 33 | import static com.oroarmor.netherite_plus.NetheritePlusMod.id; 34 | 35 | public class NetheritePlusStats { 36 | public static final Identifier FLY_NETHERITE_ELYTRA_ONE_CM = register("netherite_elytra_flight_cm", StatFormatter.DISTANCE); 37 | 38 | private static Identifier register(String name, StatFormatter formatter) { 39 | Identifier identifier = id(name); 40 | Registry.register(Registries.CUSTOM_STAT, identifier, identifier); 41 | Stats.CUSTOM.getOrCreateStat(identifier, formatter); 42 | return identifier; 43 | } 44 | 45 | public static void init() { 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /src/main/java/com/oroarmor/netherite_plus/mixin/render/ItemRendererAccessor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2023 OroArmor (Eli Orona) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | package com.oroarmor.netherite_plus.mixin.render; 26 | 27 | import com.mojang.blaze3d.vertex.VertexConsumer; 28 | import org.spongepowered.asm.mixin.Mixin; 29 | import org.spongepowered.asm.mixin.gen.Accessor; 30 | import org.spongepowered.asm.mixin.gen.Invoker; 31 | 32 | import net.minecraft.client.render.item.ItemModels; 33 | import net.minecraft.client.render.item.ItemRenderer; 34 | import net.minecraft.client.render.model.BakedModel; 35 | import net.minecraft.client.util.math.MatrixStack; 36 | import net.minecraft.item.ItemStack; 37 | 38 | @Mixin(ItemRenderer.class) 39 | public interface ItemRendererAccessor { 40 | @Accessor("models") 41 | ItemModels netherite_plus$getModels(); 42 | 43 | @Invoker("renderBakedItemModel") 44 | void netherite_plus$renderBakedItemModel(BakedModel model, ItemStack stack, int light, int overlay, MatrixStack matrices, VertexConsumer vertexConsumer4); 45 | } 46 | -------------------------------------------------------------------------------- /src/main/java/com/oroarmor/netherite_plus/client/NetheritePlusTextures.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2023 OroArmor (Eli Orona) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | package com.oroarmor.netherite_plus.client; 26 | 27 | 28 | import net.minecraft.client.resource.Material; 29 | import net.minecraft.util.Identifier; 30 | 31 | import static com.oroarmor.netherite_plus.NetheritePlusMod.id; 32 | 33 | public class NetheritePlusTextures { 34 | public static final Identifier NETHERITE_SHULKER_BOXES_ATLAS_TEXTURE = id("textures/atlas/netherite_shulker_boxes.png"); 35 | public static final Identifier NETHERITE_SHIELD_PATTERNS_ATLAS_TEXTURE = id("textures/atlas/netherite_shield_patterns.png"); 36 | 37 | public static final Material NETHERITE_SHIELD_BASE = new Material( 38 | NETHERITE_SHIELD_PATTERNS_ATLAS_TEXTURE, id("entity/netherite_shield_base") 39 | ); 40 | public static final Material NETHERITE_SHIELD_BASE_NO_PATTERN = new Material( 41 | NETHERITE_SHIELD_PATTERNS_ATLAS_TEXTURE, id("entity/netherite_shield_base_nopattern") 42 | ); 43 | } 44 | -------------------------------------------------------------------------------- /src/main/java/com/oroarmor/netherite_plus/mixin/BlockItemMixin.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2023 OroArmor (Eli Orona) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | package com.oroarmor.netherite_plus.mixin; 26 | 27 | import com.oroarmor.netherite_plus.block.NetheriteShulkerBoxBlock; 28 | import org.spongepowered.asm.mixin.Mixin; 29 | import org.spongepowered.asm.mixin.Shadow; 30 | import org.spongepowered.asm.mixin.injection.At; 31 | import org.spongepowered.asm.mixin.injection.Inject; 32 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; 33 | 34 | import net.minecraft.block.Block; 35 | import net.minecraft.item.BlockItem; 36 | 37 | @Mixin(BlockItem.class) 38 | public abstract class BlockItemMixin { 39 | @Shadow public abstract Block getBlock(); 40 | 41 | @Inject(method = "canBeNested", at = @At("HEAD"), cancellable = true) 42 | public void cannotNestNetheriteBoxes(CallbackInfoReturnable cir) { 43 | if (this.getBlock() instanceof NetheriteShulkerBoxBlock) { 44 | cir.setReturnValue(false); 45 | } 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /src/main/java/com/oroarmor/netherite_plus/entity/effect/NetheritePlusStatusEffects.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2023 OroArmor (Eli Orona) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | package com.oroarmor.netherite_plus.entity.effect; 26 | 27 | import com.oroarmor.netherite_plus.NetheritePlusMod; 28 | 29 | import net.minecraft.entity.effect.StatusEffect; 30 | import net.minecraft.entity.effect.StatusEffectType; 31 | import net.minecraft.registry.Registries; 32 | import net.minecraft.registry.Registry; 33 | 34 | import static com.oroarmor.netherite_plus.NetheritePlusMod.id; 35 | 36 | public class NetheritePlusStatusEffects { 37 | public static final StatusEffect LAVA_VISION; 38 | 39 | static { 40 | LAVA_VISION = NetheritePlusMod.CONFIG.enabled.beacon.value() ? register("lava_vision", new StatusEffect(StatusEffectType.BENEFICIAL, 16744207)) : null; 41 | } 42 | 43 | private static StatusEffect register(String name, StatusEffect entry) { 44 | return Registry.register(Registries.STATUS_EFFECT, id(name), entry); 45 | } 46 | 47 | public static void init() { 48 | } 49 | 50 | } 51 | -------------------------------------------------------------------------------- /src/main/java/com/oroarmor/netherite_plus/mixin/ShulkerBoxBlockEntityMixin.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2023 OroArmor (Eli Orona) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | package com.oroarmor.netherite_plus.mixin; 26 | 27 | import com.oroarmor.netherite_plus.block.NetheriteShulkerBoxBlock; 28 | import org.spongepowered.asm.mixin.Mixin; 29 | import org.spongepowered.asm.mixin.injection.At; 30 | import org.spongepowered.asm.mixin.injection.Inject; 31 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; 32 | import net.minecraft.block.Block; 33 | import net.minecraft.block.entity.ShulkerBoxBlockEntity; 34 | import net.minecraft.item.ItemStack; 35 | import net.minecraft.util.math.Direction; 36 | 37 | @Mixin(ShulkerBoxBlockEntity.class) 38 | public class ShulkerBoxBlockEntityMixin { 39 | @Inject(method = "canInsert", at = @At("HEAD"), cancellable = true) 40 | public void canInsert(int slot, ItemStack stack, Direction dir, CallbackInfoReturnable cir) { 41 | if (Block.getBlockFromItem(stack.getItem()) instanceof NetheriteShulkerBoxBlock) { 42 | cir.setReturnValue(false); 43 | } 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /src/main/java/com/oroarmor/netherite_plus/mixin/render/MinecraftClientMixin.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2023 OroArmor (Eli Orona) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | package com.oroarmor.netherite_plus.mixin.render; 26 | 27 | import com.oroarmor.netherite_plus.client.NetheritePlusClientMod; 28 | import org.spongepowered.asm.mixin.Mixin; 29 | import org.spongepowered.asm.mixin.injection.At; 30 | import org.spongepowered.asm.mixin.injection.Inject; 31 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 32 | 33 | import net.minecraft.client.MinecraftClient; 34 | import net.minecraft.client.RunArgs; 35 | 36 | @Mixin(MinecraftClient.class) 37 | public class MinecraftClientMixin { 38 | @Inject(method = "", at = @At(value = "INVOKE", target = "Lnet/minecraft/resource/ReloadableResourceManager;reload(Ljava/util/concurrent/Executor;Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletableFuture;Ljava/util/List;)Lnet/minecraft/resource/ResourceReload;", shift = At.Shift.BEFORE)) 39 | public void init(RunArgs runArgs, CallbackInfo ci) { 40 | NetheritePlusClientMod.registerBuiltinItemRenderers((MinecraftClient) (Object) this); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /src/main/java/com/oroarmor/netherite_plus/item/NetheriteBowItem.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2023 OroArmor (Eli Orona) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | package com.oroarmor.netherite_plus.item; 26 | 27 | import com.oroarmor.netherite_plus.NetheritePlusMod; 28 | import org.quiltmc.qsl.item.extensions.api.bow.BowShotProjectileEvents; 29 | import org.quiltmc.qsl.item.extensions.api.bow.ProjectileModifyingBowItem; 30 | 31 | import net.minecraft.entity.LivingEntity; 32 | import net.minecraft.entity.projectile.PersistentProjectileEntity; 33 | import net.minecraft.item.ItemStack; 34 | 35 | public class NetheriteBowItem extends ProjectileModifyingBowItem { 36 | public NetheriteBowItem(Settings settings) { 37 | super(settings); 38 | BowShotProjectileEvents.BOW_MODIFY_SHOT_PROJECTILE.register(this); 39 | } 40 | 41 | @Override 42 | public void onProjectileShot(ItemStack bowStack, ItemStack arrowStack, LivingEntity user, float pullProgress, PersistentProjectileEntity projectile) { 43 | projectile.setDamage(projectile.getDamage() * NetheritePlusMod.CONFIG.damage.bow_damage_multiplier.value() + NetheritePlusMod.CONFIG.damage.bow_damage_addition.value()); 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /src/main/java/com/oroarmor/netherite_plus/item/NetheriteCrossbowItem.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2023 OroArmor (Eli Orona) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | package com.oroarmor.netherite_plus.item; 26 | 27 | import com.oroarmor.netherite_plus.NetheritePlusMod; 28 | import org.quiltmc.qsl.item.extensions.api.crossbow.CrossbowShotProjectileEvents; 29 | import org.quiltmc.qsl.item.extensions.api.crossbow.ProjectileModifyingCrossbowItem; 30 | 31 | import net.minecraft.entity.LivingEntity; 32 | import net.minecraft.entity.projectile.PersistentProjectileEntity; 33 | import net.minecraft.item.ItemStack; 34 | 35 | public class NetheriteCrossbowItem extends ProjectileModifyingCrossbowItem { 36 | public NetheriteCrossbowItem(Settings settings) { 37 | super(settings); 38 | CrossbowShotProjectileEvents.CROSSBOW_MODIFY_SHOT_PROJECTILE.register(this); 39 | } 40 | 41 | @Override 42 | public void onProjectileShot(ItemStack crossbowStack, ItemStack arrowStack, LivingEntity user, PersistentProjectileEntity projectile) { 43 | projectile.setDamage(projectile.getDamage() * NetheritePlusMod.CONFIG.damage.crossbow_damage_multiplier.value() + NetheritePlusMod.CONFIG.damage.crossbow_damage_addition.value()); 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /src/main/java/com/oroarmor/netherite_plus/block/NetheriteAnvilBlock.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2023 OroArmor (Eli Orona) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | package com.oroarmor.netherite_plus.block; 26 | 27 | import com.oroarmor.netherite_plus.screen.NetheriteAnvilScreenHandler; 28 | 29 | import net.minecraft.block.AnvilBlock; 30 | import net.minecraft.block.BlockState; 31 | import net.minecraft.screen.NamedScreenHandlerFactory; 32 | import net.minecraft.screen.ScreenHandlerContext; 33 | import net.minecraft.screen.SimpleNamedScreenHandlerFactory; 34 | import net.minecraft.text.Text; 35 | import net.minecraft.util.math.BlockPos; 36 | import net.minecraft.world.World; 37 | 38 | public class NetheriteAnvilBlock extends AnvilBlock { 39 | private static final Text TITLE = Text.translatable("container.repair"); 40 | 41 | public NetheriteAnvilBlock(Settings settings) { 42 | super(settings); 43 | } 44 | 45 | @Override 46 | public NamedScreenHandlerFactory createScreenHandlerFactory(BlockState state, World world, BlockPos pos) { 47 | return new SimpleNamedScreenHandlerFactory((i, playerInventory, playerEntity) -> new NetheriteAnvilScreenHandler(i, playerInventory, ScreenHandlerContext.create(world, pos)), TITLE); 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /src/main/java/com/oroarmor/netherite_plus/mixin/render/TridentEntityRendererMixin.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2023 OroArmor (Eli Orona) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | package com.oroarmor.netherite_plus.mixin.render; 26 | 27 | import com.oroarmor.netherite_plus.item.NetheritePlusItems; 28 | import org.spongepowered.asm.mixin.Mixin; 29 | import org.spongepowered.asm.mixin.injection.At; 30 | import org.spongepowered.asm.mixin.injection.Inject; 31 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; 32 | 33 | import net.minecraft.client.render.entity.TridentEntityRenderer; 34 | import net.minecraft.entity.projectile.TridentEntity; 35 | import net.minecraft.util.Identifier; 36 | 37 | import static com.oroarmor.netherite_plus.NetheritePlusMod.id; 38 | 39 | @Mixin(TridentEntityRenderer.class) 40 | public class TridentEntityRendererMixin { 41 | @Inject(method = "getTexture(Lnet/minecraft/entity/projectile/TridentEntity;)Lnet/minecraft/util/Identifier;", at = @At(value = "HEAD"), cancellable = true) 42 | public void getTextureMixin(TridentEntity entity, CallbackInfoReturnable cir) { 43 | if(entity.tridentStack.isOf(NetheritePlusItems.NETHERITE_TRIDENT)) { 44 | cir.setReturnValue(id("textures/entity/netherite_trident.png")); 45 | } 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /src/main/java/com/oroarmor/netherite_plus/mixin/render/TexturedRenderLayersMixin.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2023 OroArmor (Eli Orona) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | package com.oroarmor.netherite_plus.mixin.render; 26 | 27 | import java.util.HashMap; 28 | import java.util.Map; 29 | 30 | import com.oroarmor.netherite_plus.NetheritePlusMod; 31 | import com.oroarmor.netherite_plus.client.NetheritePlusTextures; 32 | import org.spongepowered.asm.mixin.Mixin; 33 | import org.spongepowered.asm.mixin.injection.At; 34 | import org.spongepowered.asm.mixin.injection.ModifyVariable; 35 | 36 | import net.minecraft.client.texture.SpriteAtlasManager; 37 | import net.minecraft.util.Identifier; 38 | 39 | @Mixin(SpriteAtlasManager.class) 40 | public class TexturedRenderLayersMixin { 41 | @ModifyVariable(at = @At("HEAD"), method = "", argsOnly = true) 42 | private static Map onAddDefaultTextures(Map atlasIds) { 43 | atlasIds = new HashMap<>(atlasIds); 44 | atlasIds.put(NetheritePlusTextures.NETHERITE_SHULKER_BOXES_ATLAS_TEXTURE, NetheritePlusMod.id("netherite_shulker_boxes")); 45 | atlasIds.put(NetheritePlusTextures.NETHERITE_SHIELD_PATTERNS_ATLAS_TEXTURE, NetheritePlusMod.id("netherite_shield_patterns")); 46 | return atlasIds; 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/models/item/netherite_crossbow.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "item/generated", 3 | "textures": { 4 | "layer0": "netherite_plus:item/netherite_crossbow_standby" 5 | }, 6 | "display": { 7 | "thirdperson_righthand": { 8 | "rotation": [ 9 | -90, 10 | 0, 11 | -60 12 | ], 13 | "translation": [ 14 | 2, 15 | 0.1, 16 | -3 17 | ], 18 | "scale": [ 19 | 0.9, 20 | 0.9, 21 | 0.9 22 | ] 23 | }, 24 | "thirdperson_lefthand": { 25 | "rotation": [ 26 | -90, 27 | 0, 28 | 30 29 | ], 30 | "translation": [ 31 | 2, 32 | 0.1, 33 | -3 34 | ], 35 | "scale": [ 36 | 0.9, 37 | 0.9, 38 | 0.9 39 | ] 40 | }, 41 | "firstperson_righthand": { 42 | "rotation": [ 43 | -90, 44 | 0, 45 | -55 46 | ], 47 | "translation": [ 48 | 1.13, 49 | 3.2, 50 | 1.13 51 | ], 52 | "scale": [ 53 | 0.68, 54 | 0.68, 55 | 0.68 56 | ] 57 | }, 58 | "firstperson_lefthand": { 59 | "rotation": [ 60 | -90, 61 | 0, 62 | 35 63 | ], 64 | "translation": [ 65 | 1.13, 66 | 3.2, 67 | 1.13 68 | ], 69 | "scale": [ 70 | 0.68, 71 | 0.68, 72 | 0.68 73 | ] 74 | } 75 | }, 76 | "overrides": [ 77 | { 78 | "predicate": { 79 | "pulling": 1 80 | }, 81 | "model": "netherite_plus:item/netherite_crossbow_pulling_0" 82 | }, 83 | { 84 | "predicate": { 85 | "pulling": 1, 86 | "pull": 0.58 87 | }, 88 | "model": "netherite_plus:item/netherite_crossbow_pulling_1" 89 | }, 90 | { 91 | "predicate": { 92 | "pulling": 1, 93 | "pull": 1.0 94 | }, 95 | "model": "netherite_plus:item/netherite_crossbow_pulling_2" 96 | }, 97 | { 98 | "predicate": { 99 | "charged": 1 100 | }, 101 | "model": "netherite_plus:item/netherite_crossbow_arrow" 102 | }, 103 | { 104 | "predicate": { 105 | "charged": 1, 106 | "firework": 1 107 | }, 108 | "model": "netherite_plus:item/netherite_crossbow_firework" 109 | } 110 | ] 111 | } 112 | -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/models/item/netherite_shield.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": "builtin/entity", 3 | "gui_light": "front", 4 | "textures": { 5 | "particle": "block/dark_oak_planks" 6 | }, 7 | "display": { 8 | "thirdperson_righthand": { 9 | "rotation": [ 10 | 0, 11 | 90, 12 | 0 13 | ], 14 | "translation": [ 15 | 10, 16 | 6, 17 | -4 18 | ], 19 | "scale": [ 20 | 1, 21 | 1, 22 | 1 23 | ] 24 | }, 25 | "thirdperson_lefthand": { 26 | "rotation": [ 27 | 0, 28 | 90, 29 | 0 30 | ], 31 | "translation": [ 32 | 10, 33 | 6, 34 | 12 35 | ], 36 | "scale": [ 37 | 1, 38 | 1, 39 | 1 40 | ] 41 | }, 42 | "firstperson_righthand": { 43 | "rotation": [ 44 | 0, 45 | 180, 46 | 5 47 | ], 48 | "translation": [ 49 | -10, 50 | 2, 51 | -10 52 | ], 53 | "scale": [ 54 | 1.25, 55 | 1.25, 56 | 1.25 57 | ] 58 | }, 59 | "firstperson_lefthand": { 60 | "rotation": [ 61 | 0, 62 | 180, 63 | 5 64 | ], 65 | "translation": [ 66 | 10, 67 | 0, 68 | -10 69 | ], 70 | "scale": [ 71 | 1.25, 72 | 1.25, 73 | 1.25 74 | ] 75 | }, 76 | "gui": { 77 | "rotation": [ 78 | 15, 79 | -25, 80 | -5 81 | ], 82 | "translation": [ 83 | 2, 84 | 3, 85 | 0 86 | ], 87 | "scale": [ 88 | 0.65, 89 | 0.65, 90 | 0.65 91 | ] 92 | }, 93 | "fixed": { 94 | "rotation": [ 95 | 0, 96 | 180, 97 | 0 98 | ], 99 | "translation": [ 100 | -2, 101 | 4, 102 | -5 103 | ], 104 | "scale": [ 105 | 0.5, 106 | 0.5, 107 | 0.5 108 | ] 109 | }, 110 | "ground": { 111 | "rotation": [ 112 | 0, 113 | 0, 114 | 0 115 | ], 116 | "translation": [ 117 | 4, 118 | 4, 119 | 2 120 | ], 121 | "scale": [ 122 | 0.25, 123 | 0.25, 124 | 0.25 125 | ] 126 | } 127 | }, 128 | "overrides": [ 129 | { 130 | "predicate": { 131 | "blocking": 1 132 | }, 133 | "model": "netherite_plus:item/netherite_shield_blocking" 134 | } 135 | ] 136 | } 137 | -------------------------------------------------------------------------------- /src/main/java/com/oroarmor/netherite_plus/mixin/ItemPredicateMixin.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2023 OroArmor (Eli Orona) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | package com.oroarmor.netherite_plus.mixin; 26 | 27 | import java.util.Set; 28 | 29 | import com.oroarmor.netherite_plus.config.NetheritePlusConfig; 30 | import com.oroarmor.netherite_plus.item.NetheritePlusItems; 31 | import org.jetbrains.annotations.Nullable; 32 | import org.spongepowered.asm.mixin.Final; 33 | import org.spongepowered.asm.mixin.Mixin; 34 | import org.spongepowered.asm.mixin.Shadow; 35 | import org.spongepowered.asm.mixin.injection.At; 36 | import org.spongepowered.asm.mixin.injection.ModifyVariable; 37 | 38 | import net.minecraft.item.Item; 39 | import net.minecraft.item.ItemStack; 40 | import net.minecraft.item.Items; 41 | import net.minecraft.predicate.item.ItemPredicate; 42 | 43 | @Mixin(ItemPredicate.class) 44 | public class ItemPredicateMixin { 45 | @Shadow 46 | @Final 47 | @Nullable 48 | private Set items; 49 | 50 | @ModifyVariable(method = "test", at = @At("HEAD"), argsOnly = true) 51 | public ItemStack letNetheriteShearsCountAsShears(ItemStack stack) { 52 | if(items != null && items.contains(Items.SHEARS) && stack.isOf(NetheritePlusItems.NETHERITE_SHEARS)) { 53 | ItemStack itemStack = new ItemStack(Items.SHEARS); 54 | itemStack.setCount(stack.getCount()); 55 | itemStack.setNbt(stack.getOrCreateNbt()); 56 | return itemStack; 57 | } 58 | return stack; 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /src/main/java/com/oroarmor/netherite_plus/recipe/NetheritePlusRecipeSerializer.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2023 OroArmor (Eli Orona) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | package com.oroarmor.netherite_plus.recipe; 26 | 27 | import com.oroarmor.netherite_plus.NetheritePlusMod; 28 | 29 | import net.minecraft.recipe.Recipe; 30 | import net.minecraft.recipe.RecipeSerializer; 31 | import net.minecraft.recipe.SpecialRecipeSerializer; 32 | import net.minecraft.registry.Registries; 33 | import net.minecraft.registry.Registry; 34 | 35 | import static com.oroarmor.netherite_plus.NetheritePlusMod.id; 36 | 37 | public final class NetheritePlusRecipeSerializer { 38 | public static SpecialRecipeSerializer NETHERITE_SHULKER_BOX; 39 | public static SpecialRecipeSerializer NETHERITE_SHIELD; 40 | 41 | static { 42 | NETHERITE_SHULKER_BOX = NetheritePlusMod.CONFIG.enabled.shulker_boxes.value() ? register("crafting_special_netheriteshulkerboxcoloring", new SpecialRecipeSerializer<>(NetheriteShulkerBoxColoringRecipe::new)) : null; 43 | NETHERITE_SHIELD = NetheritePlusMod.CONFIG.enabled.shields.value() ? register("crafting_special_netheriteshielddecoration", new SpecialRecipeSerializer<>(NetheriteShieldDecorationRecipe::new)) : null; 44 | } 45 | 46 | public static void init() { 47 | } 48 | 49 | public static , T extends Recipe> S register(String id, S serializer) { 50 | return Registry.register(Registries.RECIPE_SERIALIZER, id(id), serializer); 51 | } 52 | 53 | } 54 | -------------------------------------------------------------------------------- /src/main/java/com/oroarmor/netherite_plus/mixin/ClientPlayNetworkHandlerMixin.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2023 OroArmor (Eli Orona) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | package com.oroarmor.netherite_plus.mixin; 26 | 27 | import com.oroarmor.netherite_plus.client.NetheritePlusClientMod; 28 | import org.spongepowered.asm.mixin.Mixin; 29 | import org.spongepowered.asm.mixin.injection.At; 30 | import org.spongepowered.asm.mixin.injection.Inject; 31 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 32 | import org.spongepowered.asm.mixin.injection.callback.LocalCapture; 33 | 34 | import net.minecraft.client.network.ClientPlayNetworkHandler; 35 | import net.minecraft.entity.Entity; 36 | import net.minecraft.entity.EntityType; 37 | import net.minecraft.entity.projectile.TridentEntity; 38 | import net.minecraft.item.ItemStack; 39 | import net.minecraft.network.packet.s2c.play.EntitySpawnS2CPacket; 40 | import net.minecraft.registry.Registries; 41 | 42 | @Mixin(ClientPlayNetworkHandler.class) 43 | public abstract class ClientPlayNetworkHandlerMixin { 44 | @Inject(method = "onEntitySpawned", at = @At(value = "INVOKE", target = "Lnet/minecraft/entity/Entity;onSpawnPacket(Lnet/minecraft/network/packet/s2c/play/EntitySpawnS2CPacket;)V"), locals = LocalCapture.CAPTURE_FAILHARD) 45 | public void onEntitySpawnMixin(EntitySpawnS2CPacket packet, CallbackInfo ci, EntityType entityType, Entity entity) { 46 | if (entityType == EntityType.TRIDENT) { 47 | ((TridentEntity) entity).tridentStack = new ItemStack(Registries.ITEM.get(NetheritePlusClientMod.TRIDENT_QUEUE.remove())); 48 | } 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /src/main/java/com/oroarmor/netherite_plus/mixin/render/ModelLoaderMixin.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2023 OroArmor (Eli Orona) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | package com.oroarmor.netherite_plus.mixin.render; 26 | 27 | import java.util.List; 28 | import java.util.Map; 29 | 30 | import com.oroarmor.netherite_plus.NetheritePlusMod; 31 | import org.spongepowered.asm.mixin.Mixin; 32 | import org.spongepowered.asm.mixin.Shadow; 33 | import org.spongepowered.asm.mixin.injection.At; 34 | import org.spongepowered.asm.mixin.injection.Inject; 35 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 36 | 37 | import net.minecraft.client.color.block.BlockColors; 38 | import net.minecraft.client.render.model.ModelLoader; 39 | import net.minecraft.client.render.model.json.JsonUnbakedModel; 40 | import net.minecraft.client.util.ModelIdentifier; 41 | import net.minecraft.util.Identifier; 42 | import net.minecraft.util.profiler.Profiler; 43 | 44 | @Mixin(ModelLoader.class) 45 | public abstract class ModelLoaderMixin { 46 | @Shadow 47 | protected abstract void addModel(ModelIdentifier modelId); 48 | 49 | @Inject(method = "", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/render/model/ModelLoader;addModel(Lnet/minecraft/client/util/ModelIdentifier;)V", ordinal = 3, shift = At.Shift.AFTER)) 50 | public void addNetheriteTrident(BlockColors blockColors, Profiler profiler, Map modelResources, Map> blockStateResources, CallbackInfo ci) { 51 | this.addModel(new ModelIdentifier(NetheritePlusMod.MOD_ID, "netherite_trident_in_hand", "inventory")); 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /src/main/resources/netherite_plus.accesswidener: -------------------------------------------------------------------------------- 1 | accessWidener v1 named 2 | 3 | extendable class net/minecraft/entity/projectile/FishingBobberEntity$State 4 | extendable class net/minecraft/entity/projectile/FishingBobberEntity$PositionType 5 | extendable method net/minecraft/entity/projectile/ProjectileEntity (Lnet/minecraft/entity/EntityType;Lnet/minecraft/world/World;)V 6 | 7 | accessible field net/minecraft/entity/projectile/FishingBobberEntity velocityRandom Lnet/minecraft/util/random/RandomGenerator; 8 | accessible field net/minecraft/entity/projectile/FishingBobberEntity caughtFish Z 9 | accessible field net/minecraft/entity/projectile/FishingBobberEntity outOfOpenWaterTicks I 10 | accessible field net/minecraft/entity/projectile/FishingBobberEntity removalTimer I 11 | accessible field net/minecraft/entity/projectile/FishingBobberEntity hookCountdown I 12 | accessible field net/minecraft/entity/projectile/FishingBobberEntity waitCountdown I 13 | accessible field net/minecraft/entity/projectile/FishingBobberEntity fishTravelCountdown I 14 | accessible field net/minecraft/entity/projectile/FishingBobberEntity fishAngle F 15 | accessible field net/minecraft/entity/projectile/FishingBobberEntity inOpenWater Z 16 | accessible field net/minecraft/entity/projectile/FishingBobberEntity hookedEntity Lnet/minecraft/entity/Entity; 17 | accessible field net/minecraft/entity/projectile/FishingBobberEntity state Lnet/minecraft/entity/projectile/FishingBobberEntity$State; 18 | accessible field net/minecraft/entity/projectile/FishingBobberEntity luckOfTheSeaLevel I 19 | accessible field net/minecraft/entity/projectile/FishingBobberEntity lureLevel I 20 | 21 | accessible field net/minecraft/entity/projectile/FishingBobberEntity HOOK_ENTITY_ID Lnet/minecraft/entity/data/TrackedData; 22 | accessible field net/minecraft/entity/projectile/FishingBobberEntity CAUGHT_FISH Lnet/minecraft/entity/data/TrackedData; 23 | 24 | accessible field net/minecraft/entity/projectile/ProjectileEntity leftOwner Z 25 | 26 | accessible field net/minecraft/entity/projectile/TridentEntity tridentStack Lnet/minecraft/item/ItemStack; 27 | accessible field net/minecraft/entity/projectile/TridentEntity dealtDamage Z 28 | 29 | accessible method net/minecraft/nbt/NbtCompound (Ljava/util/Map;)V 30 | accessible method net/minecraft/entity/effect/StatusEffect (Lnet/minecraft/entity/effect/StatusEffectType;I)V 31 | 32 | accessible field net/minecraft/item/TridentItem attributeModifiers Lcom/google/common/collect/Multimap; 33 | mutable field net/minecraft/entity/attribute/EntityAttributeModifier value D 34 | accessible field net/minecraft/entity/attribute/EntityAttributeModifier value D 35 | 36 | accessible class net/minecraft/client/render/BackgroundRenderer$FogParameters -------------------------------------------------------------------------------- /src/main/java/com/oroarmor/netherite_plus/network/UpdateNetheriteBeaconC2SPacket.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2023 OroArmor (Eli Orona) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | package com.oroarmor.netherite_plus.network; 26 | 27 | import java.util.Optional; 28 | 29 | import net.minecraft.entity.effect.StatusEffect; 30 | import net.minecraft.network.PacketByteBuf; 31 | import net.minecraft.network.packet.c2s.play.BeaconUpdateC2SPacket; 32 | import net.minecraft.registry.Registries; 33 | import net.minecraft.util.Identifier; 34 | 35 | import static com.oroarmor.netherite_plus.NetheritePlusMod.id; 36 | 37 | public class UpdateNetheriteBeaconC2SPacket extends BeaconUpdateC2SPacket { 38 | 39 | public static final Identifier ID = id("netherite_beacon_update_packet"); 40 | 41 | private final Optional tertiaryEffect; 42 | 43 | public UpdateNetheriteBeaconC2SPacket(Optional primaryEffect, Optional secondaryEffect, Optional tertiaryEffect) { 44 | super(primaryEffect, secondaryEffect); 45 | this.tertiaryEffect = tertiaryEffect; 46 | } 47 | 48 | public UpdateNetheriteBeaconC2SPacket(PacketByteBuf packetByteBuf) { 49 | super(packetByteBuf); 50 | this.tertiaryEffect = packetByteBuf.readOptional(byteBuf -> byteBuf.readFromIterable(Registries.STATUS_EFFECT)); 51 | } 52 | 53 | @Override 54 | public void write(PacketByteBuf buf) { 55 | super.write(buf); 56 | buf.writeOptional(this.tertiaryEffect, (packetByteBuf, statusEffect) -> packetByteBuf.writeFromIterable(Registries.STATUS_EFFECT, statusEffect)); 57 | } 58 | 59 | public Optional getTertiaryEffect() { 60 | return tertiaryEffect; 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /src/main/java/com/oroarmor/netherite_plus/mixin/TridentEntityMixin.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2023 OroArmor (Eli Orona) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | package com.oroarmor.netherite_plus.mixin; 26 | 27 | import com.oroarmor.netherite_plus.NetheritePlusMod; 28 | import org.quiltmc.qsl.networking.api.PacketByteBufs; 29 | import org.quiltmc.qsl.networking.api.ServerPlayNetworking; 30 | import org.spongepowered.asm.mixin.Mixin; 31 | import org.spongepowered.asm.mixin.injection.At; 32 | import org.spongepowered.asm.mixin.injection.Inject; 33 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; 34 | 35 | import net.minecraft.entity.Entity; 36 | import net.minecraft.entity.EntityType; 37 | import net.minecraft.entity.projectile.ProjectileEntity; 38 | import net.minecraft.entity.projectile.TridentEntity; 39 | import net.minecraft.network.PacketByteBuf; 40 | import net.minecraft.network.packet.Packet; 41 | import net.minecraft.registry.Registries; 42 | import net.minecraft.world.World; 43 | 44 | @Mixin(ProjectileEntity.class) 45 | public abstract class TridentEntityMixin extends Entity { 46 | public TridentEntityMixin(EntityType entityType, World world) { 47 | super(entityType, world); 48 | } 49 | 50 | @Inject(method = "createSpawnPacket", at = @At("HEAD")) 51 | public void sendTridentStackOnSpawn(CallbackInfoReturnable> info) { 52 | if ((Object) this instanceof TridentEntity tridentEntity) { 53 | PacketByteBuf passedData = PacketByteBufs.create(); 54 | passedData.writeInt(Registries.ITEM.getRawId(tridentEntity.tridentStack.getItem())); 55 | ServerPlayNetworking.send(this.getWorld().getServer().getPlayerManager().getPlayerList(), NetheritePlusMod.id("netherite_trident"), passedData); 56 | } 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /src/main/java/com/oroarmor/netherite_plus/screen/NetheritePlusScreenHandlers.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2023 OroArmor (Eli Orona) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | package com.oroarmor.netherite_plus.screen; 26 | 27 | import com.oroarmor.netherite_plus.client.gui.screen.NetheriteAnvilScreen; 28 | import com.oroarmor.netherite_plus.client.gui.screen.NetheriteBeaconScreen; 29 | 30 | import net.minecraft.client.gui.screen.ingame.HandledScreens; 31 | import net.minecraft.feature_flags.FeatureFlagBitSet; 32 | import net.minecraft.registry.Registries; 33 | import net.minecraft.registry.Registry; 34 | import net.minecraft.screen.ScreenHandler; 35 | import net.minecraft.screen.ScreenHandlerType; 36 | import net.minecraft.util.Identifier; 37 | 38 | import static com.oroarmor.netherite_plus.NetheritePlusMod.id; 39 | 40 | public class NetheritePlusScreenHandlers { 41 | 42 | public static ScreenHandlerType NETHERITE_ANVIL; 43 | public static ScreenHandlerType NETHERITE_BEACON; 44 | 45 | static { 46 | NETHERITE_ANVIL = register(id("netherite_anvil"), NetheriteAnvilScreenHandler::new); 47 | NETHERITE_BEACON = register(id("netherite_beacon"), NetheriteBeaconScreenHandler::new); 48 | } 49 | 50 | public static ScreenHandlerType register(Identifier id, ScreenHandlerType.Factory factory) { 51 | return Registry.register(Registries.SCREEN_HANDLER_TYPE, id, new ScreenHandlerType<>(factory, FeatureFlagBitSet.empty())); 52 | } 53 | 54 | public static void init() { 55 | } 56 | 57 | public static void initializeClient() { 58 | HandledScreens.register(NetheritePlusScreenHandlers.NETHERITE_ANVIL, NetheriteAnvilScreen::new); 59 | HandledScreens.register(NetheritePlusScreenHandlers.NETHERITE_BEACON, NetheriteBeaconScreen::new); 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /src/main/java/com/oroarmor/netherite_plus/mixin/PlayerEntityMixin.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2023 OroArmor (Eli Orona) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | package com.oroarmor.netherite_plus.mixin; 26 | 27 | import com.oroarmor.netherite_plus.item.NetheritePlusItems; 28 | import com.oroarmor.netherite_plus.stat.NetheritePlusStats; 29 | import org.spongepowered.asm.mixin.Mixin; 30 | import org.spongepowered.asm.mixin.Shadow; 31 | import org.spongepowered.asm.mixin.injection.At; 32 | import org.spongepowered.asm.mixin.injection.Inject; 33 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 34 | import org.spongepowered.asm.mixin.injection.callback.LocalCapture; 35 | 36 | import net.minecraft.entity.EntityType; 37 | import net.minecraft.entity.LivingEntity; 38 | import net.minecraft.entity.player.PlayerEntity; 39 | import net.minecraft.item.ItemStack; 40 | import net.minecraft.util.Identifier; 41 | import net.minecraft.world.World; 42 | 43 | @Mixin(PlayerEntity.class) 44 | public abstract class PlayerEntityMixin extends LivingEntity { 45 | @Shadow public abstract void increaseStat(Identifier stat, int amount); 46 | 47 | protected PlayerEntityMixin(EntityType entityType, World world) { 48 | super(entityType, world); 49 | } 50 | 51 | @Inject(method = "increaseTravelMotionStats", at = @At(value = "INVOKE", target = "Lnet/minecraft/entity/player/PlayerEntity;increaseStat(Lnet/minecraft/util/Identifier;I)V", ordinal = 7)) 52 | private void increaseTravelMotionStats(double dx, double dy, double dz, CallbackInfo ci) { 53 | boolean hasNetheriteElytra = false; 54 | for (ItemStack item : this.getArmorItems()) { 55 | hasNetheriteElytra |= item.isOf(NetheritePlusItems.NETHERITE_ELYTRA); 56 | } 57 | if (!hasNetheriteElytra) { 58 | return; 59 | } 60 | 61 | this.increaseStat(NetheritePlusStats.FLY_NETHERITE_ELYTRA_ONE_CM, Math.round((float)Math.sqrt(dx * dx + dy * dy + dz * dz) * 100.0F)); 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /src/main/java/com/oroarmor/netherite_plus/mixin/render/BackgroundRendererMixin.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2023 OroArmor (Eli Orona) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | package com.oroarmor.netherite_plus.mixin.render; 26 | 27 | import com.oroarmor.netherite_plus.client.NetheritePlusClientMod; 28 | import com.oroarmor.netherite_plus.entity.effect.NetheritePlusStatusEffects; 29 | import org.spongepowered.asm.mixin.Mixin; 30 | import org.spongepowered.asm.mixin.injection.At; 31 | import org.spongepowered.asm.mixin.injection.Inject; 32 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 33 | import org.spongepowered.asm.mixin.injection.callback.LocalCapture; 34 | 35 | import net.minecraft.client.render.BackgroundRenderer; 36 | import net.minecraft.client.render.Camera; 37 | import net.minecraft.client.render.CameraSubmersionType; 38 | import net.minecraft.entity.Entity; 39 | import net.minecraft.entity.LivingEntity; 40 | 41 | import net.fabricmc.api.EnvType; 42 | import net.fabricmc.api.Environment; 43 | 44 | @Environment(EnvType.CLIENT) 45 | @Mixin(BackgroundRenderer.class) 46 | public class BackgroundRendererMixin { 47 | @Inject(at = @At(value = "INVOKE", target = "Lcom/mojang/blaze3d/systems/RenderSystem;setShaderFogStart(F)V", shift = At.Shift.BEFORE), method = "applyFog", locals = LocalCapture.CAPTURE_FAILHARD) 48 | private static void applyFog(Camera camera, BackgroundRenderer.FogType fogType, float viewDistance, boolean thickFog, float tickDelta, CallbackInfo ci, CameraSubmersionType cameraSubmersionType, Entity entity, BackgroundRenderer.FogParameters fogParameters) { 49 | if (cameraSubmersionType == CameraSubmersionType.LAVA) { 50 | if (entity instanceof LivingEntity livingEntity && livingEntity.hasStatusEffect(NetheritePlusStatusEffects.LAVA_VISION)) { 51 | fogParameters.fogEnd = (float) (3.0F + NetheritePlusClientMod.LAVA_VISION_DISTANCE * livingEntity.getStatusEffect(NetheritePlusStatusEffects.LAVA_VISION).getAmplifier()); 52 | } 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /src/main/resources/assets/netherite_plus/lang/zh_cn.json: -------------------------------------------------------------------------------- 1 | { 2 | "item.netherite_plus.netherite_elytra": "下界合金鞘翅", 3 | "item.netherite_plus.netherite_fishing_rod": "下界合金钓竿", 4 | "container.netheriteShulkerBox": "下界合金潜影盒", 5 | "block.netherite_plus.netherite_shulker_box": "下界合金潜影盒", 6 | "block.netherite_plus.netherite_white_shulker_box": "白色下界合金潜影盒", 7 | "block.netherite_plus.netherite_orange_shulker_box": "橙色下界合金潜影盒", 8 | "block.netherite_plus.netherite_magenta_shulker_box": "品红色下界合金潜影盒", 9 | "block.netherite_plus.netherite_light_blue_shulker_box": "淡蓝色下界合金潜影盒", 10 | "block.netherite_plus.netherite_yellow_shulker_box": "黄色下界合金潜影盒", 11 | "block.netherite_plus.netherite_lime_shulker_box": "黄绿色下界合金潜影盒", 12 | "block.netherite_plus.netherite_pink_shulker_box": "粉色下界合金潜影盒", 13 | "block.netherite_plus.netherite_gray_shulker_box": "灰色下界合金潜影盒", 14 | "block.netherite_plus.netherite_light_gray_shulker_box": "淡灰色下界合金潜影盒", 15 | "block.netherite_plus.netherite_cyan_shulker_box": "青色下界合金潜影盒", 16 | "block.netherite_plus.netherite_purple_shulker_box": "紫色下界合金潜影盒", 17 | "block.netherite_plus.netherite_blue_shulker_box": "蓝色下界合金潜影盒", 18 | "block.netherite_plus.netherite_brown_shulker_box": "棕色下界合金潜影盒", 19 | "block.netherite_plus.netherite_green_shulker_box": "绿色下界合金潜影盒", 20 | "block.netherite_plus.netherite_red_shulker_box": "红色下界合金潜影盒", 21 | "block.netherite_plus.netherite_black_shulker_box": "黑色下界合金潜影盒", 22 | "block.netherite_plus.fake_netherite_block": "仿下界合金块", 23 | "item.netherite_plus.netherite_shield": "下界合金盾牌", 24 | "item.netherite_plus.netherite_shield.black": "黑色下界合金盾牌", 25 | "item.netherite_plus.netherite_shield.red": "红色下界合金盾牌", 26 | "item.netherite_plus.netherite_shield.green": "绿色下界合金盾牌", 27 | "item.netherite_plus.netherite_shield.brown": "棕色下界合金盾牌", 28 | "item.netherite_plus.netherite_shield.blue": "蓝色下界合金盾牌", 29 | "item.netherite_plus.netherite_shield.purple": "紫色下界合金盾牌", 30 | "item.netherite_plus.netherite_shield.cyan": "青色下界合金盾牌", 31 | "item.netherite_plus.netherite_shield.light_gray": "淡灰色下界合金盾牌", 32 | "item.netherite_plus.netherite_shield.gray": "灰色下界合金盾牌", 33 | "item.netherite_plus.netherite_shield.pink": "粉色下界合金盾牌", 34 | "item.netherite_plus.netherite_shield.lime": "黄绿色下界合金盾牌", 35 | "item.netherite_plus.netherite_shield.yellow": "黄色下界合金盾牌", 36 | "item.netherite_plus.netherite_shield.light_blue": "淡蓝色下界合金盾牌", 37 | "item.netherite_plus.netherite_shield.magenta": "品红色下界合金盾牌", 38 | "item.netherite_plus.netherite_shield.orange": "橙色下界合金盾牌", 39 | "item.netherite_plus.netherite_shield.white": "白色下界合金盾牌", 40 | "item.netherite_plus.netherite_bow": "下界合金弓", 41 | "item.netherite_plus.netherite_crossbow": "下界合金弩", 42 | "item.netherite_plus.netherite_horse_armor": "下界合金马铠", 43 | "warning.netherite_elytra.trinkets": "无法装备在胸甲栏", 44 | "stat.netherite_plus.netherite_elytra_flight_distance": "使用下界合金鞘翅飞行时间", 45 | "block.netherite_plus.netherite_beacon": "下界合金信标", 46 | "item.netherite_plus.netherite_trident": "下界合金三叉戟", 47 | "block.netherite_plus.netherite_anvil": "下界合金铁砧", 48 | "item.netherite_plus.netherite_shears": "下界合金剪刀", 49 | "block.netherite_plus.netherite_beacon.tertiary": "副效果", 50 | "effect.netherite_plus.lava_vision": "岩浆夜视" 51 | } 52 | -------------------------------------------------------------------------------- /src/main/java/com/oroarmor/netherite_plus/advancement/criterion/RiptideNetheriteTridentCriterion.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2021-2023 OroArmor (Eli Orona) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | */ 24 | 25 | package com.oroarmor.netherite_plus.advancement.criterion; 26 | 27 | import com.google.gson.JsonObject; 28 | 29 | import net.minecraft.advancement.criterion.AbstractCriterion; 30 | import net.minecraft.advancement.criterion.AbstractCriterionConditions; 31 | import net.minecraft.predicate.entity.AdvancementEntityPredicateDeserializer; 32 | import net.minecraft.predicate.entity.AdvancementEntityPredicateSerializer; 33 | import net.minecraft.predicate.entity.EntityPredicate; 34 | import net.minecraft.server.network.ServerPlayerEntity; 35 | import net.minecraft.unmapped.C_ctsfmifk; 36 | import net.minecraft.util.Identifier; 37 | 38 | import static com.oroarmor.netherite_plus.NetheritePlusMod.id; 39 | 40 | public class RiptideNetheriteTridentCriterion extends AbstractCriterion { 41 | public static final Identifier id = id("riptide_netherite_trident"); 42 | 43 | @Override 44 | public Identifier getId() { 45 | return id; 46 | } 47 | 48 | @Override 49 | public Conditions conditionsFromJson(JsonObject jsonObject, C_ctsfmifk extended, AdvancementEntityPredicateDeserializer advancementEntityPredicateDeserializer) { 50 | return new Conditions(extended); 51 | } 52 | 53 | public void trigger(ServerPlayerEntity player) { 54 | this.trigger(player, (conditions) -> conditions.matches(player)); 55 | } 56 | 57 | public static class Conditions extends AbstractCriterionConditions { 58 | 59 | public Conditions(C_ctsfmifk player) { 60 | super(id, player); 61 | } 62 | 63 | public boolean matches(ServerPlayerEntity player) { 64 | return true; 65 | } 66 | 67 | @Override 68 | public JsonObject toJson(AdvancementEntityPredicateSerializer predicateSerializer) { 69 | return super.toJson(predicateSerializer); 70 | } 71 | 72 | } 73 | } 74 | --------------------------------------------------------------------------------