Fixes 2.0.3 + tags + Diamonds

This commit is contained in:
Vos
2026-03-18 00:02:17 -05:00
parent 3b43a7175e
commit 1832026cd8
64 changed files with 536 additions and 174 deletions
+1 -1
View File
@@ -13,6 +13,6 @@ loom_version=1.15-SNAPSHOT
fabric_version=0.134.1+1.21.9 fabric_version=0.134.1+1.21.9
# Mod Properties # Mod Properties
mod_version=2.0.2 mod_version=2.0.3
maven_group=com.acethewildfire.acesbs maven_group=com.acethewildfire.acesbs
archives_base_name=acesbs archives_base_name=acesbs
@@ -0,0 +1,6 @@
{
"model": {
"type": "minecraft:model",
"model": "acesbs:item/fractal_diamond"
}
}
@@ -0,0 +1,6 @@
{
"model": {
"type": "minecraft:model",
"model": "acesbs:item/hellfire_diamond"
}
}
@@ -0,0 +1,6 @@
{
"parent": "minecraft:item/generated",
"textures": {
"layer0": "acesbs:item/fractal_diamond"
}
}
@@ -1,3 +1,6 @@
{ {
"parent": "minecraft:item/template_spawn_egg" "parent": "minecraft:item/generated",
"textures": {
"layer0": "acesbs:item/fren_spawn_egg"
}
} }
@@ -0,0 +1,6 @@
{
"parent": "minecraft:item/generated",
"textures": {
"layer0": "acesbs:item/hellfire_diamond"
}
}
@@ -1,3 +1,6 @@
{ {
"parent": "minecraft:item/template_spawn_egg" "parent": "minecraft:item/generated",
"textures": {
"layer0": "acesbs:item/vulgar_bones_spawn_egg"
}
} }
@@ -0,0 +1,20 @@
{
"type": "minecraft:block",
"pools": [
{
"bonus_rolls": 0.0,
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
],
"entries": [
{
"type": "minecraft:item",
"name": "acesbs:lizard_button"
}
],
"rolls": 1.0
}
]
}
@@ -0,0 +1,20 @@
{
"type": "minecraft:block",
"pools": [
{
"bonus_rolls": 0.0,
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
],
"entries": [
{
"type": "minecraft:item",
"name": "acesbs:lizard_planks"
}
],
"rolls": 1.0
}
]
}
@@ -3,5 +3,7 @@
"description": { "description": {
"color": "#B16491", "color": "#B16491",
"translate": "trim_material.acesbs.prisma_steel" "translate": "trim_material.acesbs.prisma_steel"
} },
"ingredient": "acesbs:prisma_steel",
"item_model_index": 0.7
} }
@@ -0,0 +1,8 @@
{
"values": [
"acesbs:entropy_ore",
"acesbs:deepslate_entropy_ore",
"acesbs:infernal_ashes_ore",
"acesbs:endtropy_ore"
]
}
@@ -0,0 +1,5 @@
{
"values": [
"acesbs:tobacco_seeds"
]
}
@@ -0,0 +1,5 @@
{
"values": [
"acesbs:infernal_beef"
]
}
@@ -0,0 +1,5 @@
{
"values": [
"acesbs:infernal_beef"
]
}
@@ -0,0 +1,6 @@
{
"values": [
"acesbs:fractal_diamond",
"acesbs:hellfire_diamond"
]
}
@@ -0,0 +1,6 @@
{
"values": [
"acesbs:fractal_diamond",
"acesbs:hellfire_diamond"
]
}
@@ -0,0 +1,6 @@
{
"values": [
"acesbs:prisma_steel",
"acesbs:ashen_steel"
]
}
@@ -0,0 +1,6 @@
{
"values": [
"acesbs:prisma_steel",
"acesbs:ashen_steel"
]
}
@@ -0,0 +1,6 @@
{
"values": [
"acesbs:prisma_steel",
"acesbs:ashen_steel"
]
}
@@ -0,0 +1,5 @@
{
"values": [
"acesbs:crab_rave_music_disc"
]
}
@@ -0,0 +1,8 @@
{
"values": [
"acesbs:entropy_ore",
"acesbs:deepslate_entropy_ore",
"acesbs:infernal_ashes_ore",
"acesbs:endtropy_ore"
]
}
@@ -0,0 +1,5 @@
{
"values": [
"acesbs:tobacco_seeds"
]
}
@@ -0,0 +1,9 @@
{
"values": [
"acesbs:prisma_steel_block",
"acesbs:ashen_steel_block",
"acesbs:raw_entropy_block",
"acesbs:infernal_ashes_block",
"acesbs:raw_endtropy_block"
]
}
@@ -10,7 +10,7 @@
"description": "Advancements for Ace's BS", "description": "Advancements for Ace's BS",
"icon": { "icon": {
"count": 1, "count": 1,
"id": "minecraft:diamond" "id": "acesbs:stable_entropy"
}, },
"show_toast": false, "show_toast": false,
"title": "Ace's BS" "title": "Ace's BS"
@@ -0,0 +1,5 @@
{
"values": [
"acesbs:lemonwood_leaves"
]
}
@@ -3,6 +3,8 @@
"acesbs:lemonwood_planks", "acesbs:lemonwood_planks",
"acesbs:lemonwood_wall", "acesbs:lemonwood_wall",
"acesbs:lemonwood_fence", "acesbs:lemonwood_fence",
"acesbs:lemonwood_fence_gate" "acesbs:lemonwood_fence_gate",
"acesbs:lizard_planks",
"acesbs:lizard_button"
] ]
} }
@@ -8,9 +8,6 @@
"acesbs:raw_endtropy_block", "acesbs:raw_endtropy_block",
"acesbs:stable_endtropy_block", "acesbs:stable_endtropy_block",
"acesbs:prisma_steel_block", "acesbs:prisma_steel_block",
"acesbs:ashen_steel_block", "acesbs:ashen_steel_block"
"acesbs:entropic_stabilizer",
"acesbs:entropic_eviscerator",
"acesbs:entropic_entangler"
] ]
} }
@@ -1,5 +1,8 @@
{ {
"values": [ "values": [
"acesbs:infernal_ashes_ore" "acesbs:infernal_ashes_ore",
"acesbs:entropic_stabilizer",
"acesbs:entropic_eviscerator",
"acesbs:entropic_entangler"
] ]
} }
@@ -0,0 +1,8 @@
{
"values": [
"acesbs:entropy_ore",
"acesbs:deepslate_entropy_ore",
"acesbs:infernal_ashes_ore",
"acesbs:endtropy_ore"
]
}
@@ -0,0 +1,5 @@
{
"values": [
"acesbs:infernal_beef"
]
}
@@ -1,5 +1,6 @@
{ {
"values": [ "values": [
"acesbs:lemonwood_planks" "acesbs:lemonwood_planks",
"acesbs:lizard_planks"
] ]
} }
@@ -1,4 +1,5 @@
{ {
"replace": false,
"values": [ "values": [
"acesbs:prisma_steel", "acesbs:prisma_steel",
"acesbs:ashen_steel" "acesbs:ashen_steel"
@@ -7,8 +7,7 @@ import com.acethewildfire.acesbs.effect.ModEffects;
import com.acethewildfire.acesbs.enchantment.ModEnchantmentEffects; import com.acethewildfire.acesbs.enchantment.ModEnchantmentEffects;
import com.acethewildfire.acesbs.entity.ModEntities; import com.acethewildfire.acesbs.entity.ModEntities;
import com.acethewildfire.acesbs.entity.custom.FrenEntity; import com.acethewildfire.acesbs.entity.custom.FrenEntity;
import com.acethewildfire.acesbs.item.ModItemGroups; import com.acethewildfire.acesbs.item.*;
import com.acethewildfire.acesbs.item.ModItems;
import com.acethewildfire.acesbs.particle.ModParticles; import com.acethewildfire.acesbs.particle.ModParticles;
import com.acethewildfire.acesbs.potion.ModPotions; import com.acethewildfire.acesbs.potion.ModPotions;
import com.acethewildfire.acesbs.recipe.ModRecipies; import com.acethewildfire.acesbs.recipe.ModRecipies;
@@ -5,4 +5,12 @@ Particles not on server???
Combustible LEmon will not render Combustible LEmon will not render
Crafting for the Plate Cariier, Beserkers Pauldron, Wildfire boots Crafting for the Plate Cariier, Beserkers Pauldron, Wildfire boots
Enchanting for Armor
Thot-begone - Double it and give it to the next guy
Rebalence Ashen and Prisma tools
Mining Values
@@ -1,47 +1,26 @@
Resources Resources
X Infernal Ashes
X Raw End-tropy
X Stable End-tropy
- Mote of Order
- Dust of Order
- Ingot of Order
- Ordered Core
- Command Core
X Prisma Steel (Stable Entropy + Iron) (Needs recipe)
- Chaos Silver (Stable Entropy + Gold) - Chaos Silver (Stable Entropy + Gold)
- Fractal Diamond (Stable Entropy + Diamond) - Fractal Diamond (Stable Entropy + Diamond)
- Ashen Steel (Ashes + Iron)
- Everburn Gold (Ashes + Gold) - Everburn Gold (Ashes + Gold)
- Infernal Diamond (Ashes + Diamond) - Infernal Diamond (Ashes + Diamond)
- Endtropium (Stable End-tropy + Netherite) - Endtropium (Stable End-tropy + Netherite)
- Faerie Shard (Amethyst + Stable Entropy) - Faerie Shard (Amethyst + Stable Entropy)
- Hyper Sugar (Stable Entropy + Sugar)
Food Food
- Aquarium Gravel (CT:Prismarine shards + crystals)
X Bricked Up (Brick + End-tropy)
X Holy SFX + slow levitate up
X Stomach grumble
X Fart reverb and shoot into sky
X Infernal Beef (Mob/Ashes + Cooked Beef)
O Tobacco (Makes you sick) O Tobacco (Makes you sick)
- Cigarette (Speed for 5, slow for 5, 30 of jittery) (Acheivements) (Stats) - Cigarette (Speed for 5, slow for 5, 30 of jittery) (Acheivements) (Stats)
- Cigarette (Funny) (Blows inordinate amounts of smoke) - Cigarette (Funny) (Blows inordinate amounts of smoke)
- Cigarette (Lemon) (Explodes) - Cigarette (Lemon) (Explodes)
Crop
X Tobacco
Items Items
- Bag of Holding
- Levels Iron->Netherite->Entopic
- Curios support?
- Bubble pipe (Aquarium gravel, tobacco) - Bubble pipe (Aquarium gravel, tobacco)
- Pale wood + Others - Pale wood + Others
Armor Armor
X Beserker Pauldron (Special: Skeleton hurt sound)
X Wildfire Boots (Special: Rainbow ember)
- Fireskip Boots (Infernal Fire effect on water) - Fireskip Boots (Infernal Fire effect on water)
- Sov's Plate Carrier
- (Headlamp Armors using Everburn Gold)
- Honse armour (maybe). - Honse armour (maybe).
Potions Potions
@@ -50,7 +29,6 @@ X Lemon (Yellow Blindness)
- Bottle o' Drunken Sailor - Bottle o' Drunken Sailor
Tools Tools
X Prisma Steel (May get a different Ore when mining)
- Prisma Bucket (Stanlys bucket) - Prisma Bucket (Stanlys bucket)
- Chaos Silver (May get a different Ore when mining) - Chaos Silver (May get a different Ore when mining)
- Fractal Diamond (May get a different Ore when mining) - Fractal Diamond (May get a different Ore when mining)
@@ -100,29 +78,14 @@ Order
Weapons Weapons
- Big Iron (Bow?) - Big Iron (Bow?)
- Thot Begon
- Ahab's Harpoon - Ahab's Harpoon
X Combustable Lemon
Blocks Blocks
X Deep Slate Entropy Ore
X Block of Infernal Ashes
X End-tropy Ore
X (Rename) Block of Raw Entropy
- Block of Raw End-tropy
- Block of Stable End-tropy
- Blocks of (Insert Metal/Gem) - Blocks of (Insert Metal/Gem)
- Decorative (Bricks) - Decorative (Bricks)
- Crystalized Entropy (Stained Glass version of Stable Entropy) - Crystalized Entropy Retexture (Stained Glass version of Stable Entropy)
- 2 Player Bed - 2 Player Bed
- Incense Burner
Workstations
X Entropic Eviscerator (Extracts ores from stones)
X 2 stone cutters, 6 iron
X Entropic Stabilizer (For making Stable Entropy)
X 7 iron, 1 raw entropy, 1 blue ice
X Entropic Entangler (For Metals and Stones)
X 2 stable entropy, 4 iron, 2 bucket, gold block
Mobs Mobs
O Fren (Stable Entropy on a Creeper) (Move to Conversion manager?) O Fren (Stable Entropy on a Creeper) (Move to Conversion manager?)
@@ -130,19 +93,20 @@ O Fren (Stable Entropy on a Creeper) (Move to Conversion manager?)
- Rat Bastard (Stable Entropy on a cat) - Rat Bastard (Stable Entropy on a cat)
- Alice - Alice
- Pet rock (Stable Entropy on a stone block) - Pet rock (Stable Entropy on a stone block)
X Swearing skeleton (Stable Entropy on skeleton).
- Infernal Bull (nether) - Infernal Bull (nether)
- Prisma Slime (Prisma Steel and slime) - Prisma Slime (Prisma Steel and slime)
- Tarr Slime (Prisma and Magmacube) - Tarr Slime (Prisma and Magmacube)
Music Disk
X Crab Rave
X Lizard
Advancements Advancements
Statistics - Get Raw Entropy
- Get Infernal Ashes
- Get Raw Endtropy
- Stabilize First Entropy
- Eviscerate Seeds
- Make Prisma Steel
- Make Ashen Steel
- Make Fractal Diamond
- Make Hellfire Diamond
Next Mod Statistics
Aces Mysteries
Puzzle textures.
@@ -32,7 +32,7 @@ public class ModAdvancementProvider extends FabricAdvancementProvider {
public void generateAdvancement(RegistryWrapper.WrapperLookup wrapperLookup, Consumer<AdvancementEntry> consumer) { public void generateAdvancement(RegistryWrapper.WrapperLookup wrapperLookup, Consumer<AdvancementEntry> consumer) {
AdvancementEntry root = Advancement.Builder.create() AdvancementEntry root = Advancement.Builder.create()
.display( .display(
Items.DIAMOND, ModItems.STABLE_ENTROPY,
Text.literal("Ace's BS"), Text.literal("Ace's BS"),
Text.literal("Advancements for Ace's BS"), Text.literal("Advancements for Ace's BS"),
Identifier.ofVanilla("textures/block/stone.png"), Identifier.ofVanilla("textures/block/stone.png"),
@@ -4,6 +4,7 @@ import com.acethewildfire.acesbs.block.ModBlocks;
import com.acethewildfire.acesbs.util.ModTags; import com.acethewildfire.acesbs.util.ModTags;
import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput;
import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider; import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider;
import net.fabricmc.fabric.api.tag.convention.v2.ConventionalBlockTags;
import net.minecraft.registry.RegistryWrapper; import net.minecraft.registry.RegistryWrapper;
import net.minecraft.registry.tag.BlockTags; import net.minecraft.registry.tag.BlockTags;
@@ -30,8 +31,13 @@ public class ModBlockTagProvider extends FabricTagProvider.BlockTagProvider {
.add(ModBlocks.ENTROPIC_STABILIZER) .add(ModBlocks.ENTROPIC_STABILIZER)
.add(ModBlocks.ENTROPIC_EVISCERATOR) .add(ModBlocks.ENTROPIC_EVISCERATOR)
.add(ModBlocks.ENTROPIC_ENTANGLER); .add(ModBlocks.ENTROPIC_ENTANGLER);
valueLookupBuilder(BlockTags.NEEDS_IRON_TOOL) valueLookupBuilder(BlockTags.NEEDS_IRON_TOOL)
.add(ModBlocks.INFERNAL_ASHES_ORE); .add(ModBlocks.INFERNAL_ASHES_ORE)
.add(ModBlocks.ENTROPIC_STABILIZER)
.add(ModBlocks.ENTROPIC_EVISCERATOR)
.add(ModBlocks.ENTROPIC_ENTANGLER);
valueLookupBuilder(BlockTags.NEEDS_DIAMOND_TOOL) valueLookupBuilder(BlockTags.NEEDS_DIAMOND_TOOL)
.add(ModBlocks.ENTROPY_ORE) .add(ModBlocks.ENTROPY_ORE)
.add(ModBlocks.DEEPSLATE_ENTROPY_ORE) .add(ModBlocks.DEEPSLATE_ENTROPY_ORE)
@@ -41,33 +47,56 @@ public class ModBlockTagProvider extends FabricTagProvider.BlockTagProvider {
.add(ModBlocks.RAW_ENDTROPY_BLOCK) .add(ModBlocks.RAW_ENDTROPY_BLOCK)
.add(ModBlocks.STABLE_ENDTROPY_BLOCK) .add(ModBlocks.STABLE_ENDTROPY_BLOCK)
.add(ModBlocks.PRISMA_STEEL_BLOCK) .add(ModBlocks.PRISMA_STEEL_BLOCK)
.add(ModBlocks.ASHEN_STEEL_BLOCK) .add(ModBlocks.ASHEN_STEEL_BLOCK);
.add(ModBlocks.ENTROPIC_STABILIZER)
.add(ModBlocks.ENTROPIC_EVISCERATOR)
.add(ModBlocks.ENTROPIC_ENTANGLER);
valueLookupBuilder(BlockTags.AXE_MINEABLE) valueLookupBuilder(BlockTags.AXE_MINEABLE)
.add(ModBlocks.LEMONWOOD_PLANKS) .add(ModBlocks.LEMONWOOD_PLANKS)
.add(ModBlocks.LEMONWOOD_WALL) .add(ModBlocks.LEMONWOOD_WALL)
.add(ModBlocks.LEMONWOOD_FENCE) .add(ModBlocks.LEMONWOOD_FENCE)
.add(ModBlocks.LEMONWOOD_FENCE_GATE); .add(ModBlocks.LEMONWOOD_FENCE_GATE)
.add(ModBlocks.LIZARD_PLANKS)
.add(ModBlocks.LIZARD_BUTTON);
valueLookupBuilder(BlockTags.SHOVEL_MINEABLE) valueLookupBuilder(BlockTags.SHOVEL_MINEABLE)
.add(ModBlocks.INFERNAL_ASHES_BLOCK); .add(ModBlocks.INFERNAL_ASHES_BLOCK);
valueLookupBuilder(BlockTags.WOODEN_FENCES) valueLookupBuilder(BlockTags.WOODEN_FENCES)
.add(ModBlocks.LEMONWOOD_FENCE); .add(ModBlocks.LEMONWOOD_FENCE);
valueLookupBuilder(BlockTags.FENCE_GATES) valueLookupBuilder(BlockTags.FENCE_GATES)
.add(ModBlocks.LEMONWOOD_FENCE_GATE); .add(ModBlocks.LEMONWOOD_FENCE_GATE);
valueLookupBuilder(BlockTags.WALLS) valueLookupBuilder(BlockTags.WALLS)
.add(ModBlocks.LEMONWOOD_WALL); .add(ModBlocks.LEMONWOOD_WALL);
valueLookupBuilder(BlockTags.IMPERMEABLE) valueLookupBuilder(BlockTags.IMPERMEABLE)
.add(ModBlocks.CRYSTAL_ENTROPY) .add(ModBlocks.CRYSTAL_ENTROPY)
.add(ModBlocks.CRYSTAL_ENTROPY_PANE); .add(ModBlocks.CRYSTAL_ENTROPY_PANE);
valueLookupBuilder(BlockTags.LEAVES)
.add(ModBlocks.LEMONWOOD_LEAVES);
valueLookupBuilder(ModTags.Blocks.NEEDS_PRISMA_STEEL_TOOL); valueLookupBuilder(ModTags.Blocks.NEEDS_PRISMA_STEEL_TOOL);
// Currently Broken // Currently Broken
// .addTag(BlockTags.NEEDS_IRON_TOOL); // .addTag(BlockTags.NEEDS_IRON_TOOL);
valueLookupBuilder(BlockTags.LOGS_THAT_BURN) valueLookupBuilder(BlockTags.LOGS_THAT_BURN)
.add(ModBlocks.LEMONWOOD_LOG) .add(ModBlocks.LEMONWOOD_LOG)
.add(ModBlocks.LEMONWOOD_WOOD) .add(ModBlocks.LEMONWOOD_WOOD)
.add(ModBlocks.STRIPPED_LEMONWOOD_LOG) .add(ModBlocks.STRIPPED_LEMONWOOD_LOG)
.add(ModBlocks.STRIPPED_LEMONWOOD_WOOD); .add(ModBlocks.STRIPPED_LEMONWOOD_WOOD);
// Common Block Tags
valueLookupBuilder(ConventionalBlockTags.ORES)
.add(ModBlocks.ENTROPY_ORE)
.add(ModBlocks.DEEPSLATE_ENTROPY_ORE)
.add(ModBlocks.INFERNAL_ASHES_ORE)
.add(ModBlocks.ENDTROPY_ORE);
valueLookupBuilder(ModTags.Blocks.MC_ORES)
.add(ModBlocks.ENTROPY_ORE)
.add(ModBlocks.DEEPSLATE_ENTROPY_ORE)
.add(ModBlocks.INFERNAL_ASHES_ORE)
.add(ModBlocks.ENDTROPY_ORE);
} }
} }
@@ -1,12 +1,11 @@
package com.acethewildfire.acesbs.datagen; package com.acethewildfire.acesbs.datagen;
import com.acethewildfire.acesbs.block.ModBlocks; import com.acethewildfire.acesbs.block.ModBlocks;
import com.acethewildfire.acesbs.item.AshenSteelItems; import com.acethewildfire.acesbs.item.*;
import com.acethewildfire.acesbs.item.ModItems;
import com.acethewildfire.acesbs.item.PrismaSteelItems;
import com.acethewildfire.acesbs.util.ModTags; import com.acethewildfire.acesbs.util.ModTags;
import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput;
import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider; import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider;
import net.fabricmc.fabric.api.tag.convention.v2.ConventionalItemTags;
import net.minecraft.item.Items; import net.minecraft.item.Items;
import net.minecraft.registry.RegistryWrapper; import net.minecraft.registry.RegistryWrapper;
import net.minecraft.registry.tag.ItemTags; import net.minecraft.registry.tag.ItemTags;
@@ -23,16 +22,22 @@ public class ModItemTagProvider extends FabricTagProvider.ItemTagProvider {
protected void configure(RegistryWrapper.WrapperLookup wrapperLookup) { protected void configure(RegistryWrapper.WrapperLookup wrapperLookup) {
valueLookupBuilder(ModTags.Items.ENTROPY_CONVERTABLE) valueLookupBuilder(ModTags.Items.ENTROPY_CONVERTABLE)
.add(Items.APPLE); .add(Items.APPLE);
valueLookupBuilder(ModTags.Items.PRISMA_REPAIR) valueLookupBuilder(ModTags.Items.PRISMA_REPAIR)
.add(PrismaSteelItems.PRISMA_STEEL); .add(PrismaSteelItems.PRISMA_STEEL);
valueLookupBuilder(ModTags.Items.ASHEN_REPAIR) valueLookupBuilder(ModTags.Items.ASHEN_REPAIR)
.add(AshenSteelItems.ASHEN_STEEL); .add(AshenSteelItems.ASHEN_STEEL);
valueLookupBuilder(ModTags.Items.WILDFIRE_REPAIR) valueLookupBuilder(ModTags.Items.WILDFIRE_REPAIR)
.add(ModItems.INFERNAL_ASHES); .add(ModItems.INFERNAL_ASHES);
valueLookupBuilder(ModTags.Items.PLATES_REPAIR) valueLookupBuilder(ModTags.Items.PLATES_REPAIR)
.add(AshenSteelItems.ASHEN_STEEL); .add(AshenSteelItems.ASHEN_STEEL);
valueLookupBuilder(ModTags.Items.BERSERKERS_REPAIR) valueLookupBuilder(ModTags.Items.BERSERKERS_REPAIR)
.add(Items.LEATHER); .add(Items.LEATHER);
valueLookupBuilder(ModTags.Items.PRISMA_CONVERTABLE) valueLookupBuilder(ModTags.Items.PRISMA_CONVERTABLE)
.add(Items.COAL) .add(Items.COAL)
.add(Items.RAW_COPPER) .add(Items.RAW_COPPER)
@@ -42,23 +47,30 @@ public class ModItemTagProvider extends FabricTagProvider.ItemTagProvider {
.add(Items.LAPIS_LAZULI) .add(Items.LAPIS_LAZULI)
.add(Items.EMERALD) .add(Items.EMERALD)
.add(Items.DIAMOND); .add(Items.DIAMOND);
valueLookupBuilder(ItemTags.BOW_ENCHANTABLE) valueLookupBuilder(ItemTags.BOW_ENCHANTABLE)
.add(ModItems.KAUPEN_BOW); .add(ModItems.KAUPEN_BOW);
valueLookupBuilder(ItemTags.SWORDS) valueLookupBuilder(ItemTags.SWORDS)
.add(PrismaSteelItems.PRISMA_STEEL_SWORD) .add(PrismaSteelItems.PRISMA_STEEL_SWORD)
.add(ModItems.THOT_BEGONE); .add(ModItems.THOT_BEGONE);
valueLookupBuilder(ItemTags.AXES) valueLookupBuilder(ItemTags.AXES)
.add(PrismaSteelItems.PRISMA_STEEL_AXE) .add(PrismaSteelItems.PRISMA_STEEL_AXE)
.add(AshenSteelItems.ASHEN_STEEL_AXE); .add(AshenSteelItems.ASHEN_STEEL_AXE);
valueLookupBuilder(ItemTags.PICKAXES) valueLookupBuilder(ItemTags.PICKAXES)
.add(PrismaSteelItems.PRISMA_STEEL_PICKAXE) .add(PrismaSteelItems.PRISMA_STEEL_PICKAXE)
.add(AshenSteelItems.ASHEN_STEEL_PICKAXE); .add(AshenSteelItems.ASHEN_STEEL_PICKAXE);
valueLookupBuilder(ItemTags.SHOVELS) valueLookupBuilder(ItemTags.SHOVELS)
.add(PrismaSteelItems.PRISMA_STEEL_SHOVEL) .add(PrismaSteelItems.PRISMA_STEEL_SHOVEL)
.add(AshenSteelItems.ASHEN_STEEL_PICKAXE); .add(AshenSteelItems.ASHEN_STEEL_PICKAXE);
valueLookupBuilder(ItemTags.HOES) valueLookupBuilder(ItemTags.HOES)
.add(PrismaSteelItems.PRISMA_STEEL_HOE) .add(PrismaSteelItems.PRISMA_STEEL_HOE)
.add(AshenSteelItems.ASHEN_STEEL_HOE); .add(AshenSteelItems.ASHEN_STEEL_HOE);
valueLookupBuilder(ItemTags.TRIMMABLE_ARMOR) valueLookupBuilder(ItemTags.TRIMMABLE_ARMOR)
.add(PrismaSteelItems.PRISMA_STEEL_HELMET) .add(PrismaSteelItems.PRISMA_STEEL_HELMET)
.add(PrismaSteelItems.PRISMA_STEEL_CHESTPLATE) .add(PrismaSteelItems.PRISMA_STEEL_CHESTPLATE)
@@ -71,17 +83,75 @@ public class ModItemTagProvider extends FabricTagProvider.ItemTagProvider {
.add(ModItems.BERSERKERS_PAULDRON) .add(ModItems.BERSERKERS_PAULDRON)
.add(ModItems.WILDFIRE_BOOTS) .add(ModItems.WILDFIRE_BOOTS)
.add(ModItems.SOVS_PLATE_CARRIER); .add(ModItems.SOVS_PLATE_CARRIER);
valueLookupBuilder(ItemTags.TRIM_MATERIALS) valueLookupBuilder(ItemTags.TRIM_MATERIALS)
.add(PrismaSteelItems.PRISMA_STEEL) .add(PrismaSteelItems.PRISMA_STEEL)
.add(AshenSteelItems.ASHEN_STEEL); .add(AshenSteelItems.ASHEN_STEEL);
valueLookupBuilder(ItemTags.CREEPER_DROP_MUSIC_DISCS) valueLookupBuilder(ItemTags.CREEPER_DROP_MUSIC_DISCS)
.add(ModItems.CRAB_RAVE_MUSIC_DISC); .add(ModItems.CRAB_RAVE_MUSIC_DISC);
valueLookupBuilder(ItemTags.LOGS_THAT_BURN) valueLookupBuilder(ItemTags.LOGS_THAT_BURN)
.add(ModBlocks.LEMONWOOD_LOG.asItem()) .add(ModBlocks.LEMONWOOD_LOG.asItem())
.add(ModBlocks.LEMONWOOD_WOOD.asItem()) .add(ModBlocks.LEMONWOOD_WOOD.asItem())
.add(ModBlocks.STRIPPED_LEMONWOOD_LOG.asItem()) .add(ModBlocks.STRIPPED_LEMONWOOD_LOG.asItem())
.add(ModBlocks.STRIPPED_LEMONWOOD_WOOD.asItem()); .add(ModBlocks.STRIPPED_LEMONWOOD_WOOD.asItem());
valueLookupBuilder(ItemTags.PLANKS) valueLookupBuilder(ItemTags.PLANKS)
.add(ModBlocks.LEMONWOOD_PLANKS.asItem()); .add(ModBlocks.LEMONWOOD_PLANKS.asItem())
.add(ModBlocks.LIZARD_PLANKS.asItem());
valueLookupBuilder(ItemTags.MEAT)
.add(ModItems.INFERNAL_BEEF);
// Common Item Tags
valueLookupBuilder(ConventionalItemTags.FOODS)
.add(ModItems.INFERNAL_BEEF);
valueLookupBuilder(ConventionalItemTags.COOKED_MEAT_FOODS)
.add(ModItems.INFERNAL_BEEF);
valueLookupBuilder(ConventionalItemTags.ORES)
.add(ModBlocks.ENTROPY_ORE.asItem())
.add(ModBlocks.DEEPSLATE_ENTROPY_ORE.asItem())
.add(ModBlocks.INFERNAL_ASHES_ORE.asItem())
.add(ModBlocks.ENDTROPY_ORE.asItem());
valueLookupBuilder(ConventionalItemTags.INGOTS)
.add(PrismaSteelItems.PRISMA_STEEL)
.add(AshenSteelItems.ASHEN_STEEL);
valueLookupBuilder(ConventionalItemTags.GEMS)
.add(FractalDiamondItems.FRACTAL_DIAMOND)
.add(HellfireDiamondItems.HELLFIRE_DIAMOND);
valueLookupBuilder(ConventionalItemTags.DIAMOND_GEMS)
.add(FractalDiamondItems.FRACTAL_DIAMOND)
.add(HellfireDiamondItems.HELLFIRE_DIAMOND);
valueLookupBuilder(ConventionalItemTags.IRON_INGOTS)
.add(PrismaSteelItems.PRISMA_STEEL)
.add(AshenSteelItems.ASHEN_STEEL);
valueLookupBuilder(ModTags.Items.C_INGOTS_STEEL)
.add(PrismaSteelItems.PRISMA_STEEL)
.add(AshenSteelItems.ASHEN_STEEL);
valueLookupBuilder(ConventionalItemTags.STORAGE_BLOCKS)
.add(ModBlocks.PRISMA_STEEL_BLOCK.asItem())
.add(ModBlocks.ASHEN_STEEL_BLOCK.asItem())
.add(ModBlocks.RAW_ENTROPY_BLOCK.asItem())
.add(ModBlocks.INFERNAL_ASHES_BLOCK.asItem())
.add(ModBlocks.RAW_ENDTROPY_BLOCK.asItem());
valueLookupBuilder(ConventionalItemTags.CROPS)
.add(ModBlocks.TOBACCO_CROP.asItem());
valueLookupBuilder(ConventionalItemTags.SEEDS)
.add(ModItems.TOBACCO_SEEDS);
valueLookupBuilder(ConventionalItemTags.MUSIC_DISCS)
.add(ModItems.CRAB_RAVE_MUSIC_DISC);
} }
} }
@@ -68,6 +68,8 @@ public class ModLootTableProvider extends FabricBlockLootTableProvider {
addDropWithSilkTouch(ModBlocks.CRYSTAL_ENTROPY); addDropWithSilkTouch(ModBlocks.CRYSTAL_ENTROPY);
addDropWithSilkTouch(ModBlocks.CRYSTAL_ENTROPY_PANE); addDropWithSilkTouch(ModBlocks.CRYSTAL_ENTROPY_PANE);
addDrop(ModBlocks.LIZARD_PLANKS);
addDrop(ModBlocks.LIZARD_BUTTON);
addDrop(ModBlocks.LEMONWOOD_LOG); addDrop(ModBlocks.LEMONWOOD_LOG);
addDrop(ModBlocks.STRIPPED_LEMONWOOD_LOG); addDrop(ModBlocks.STRIPPED_LEMONWOOD_LOG);
@@ -4,10 +4,7 @@ import com.acethewildfire.acesbs.block.ModBlocks;
import com.acethewildfire.acesbs.block.custom.EvilBlock; import com.acethewildfire.acesbs.block.custom.EvilBlock;
import com.acethewildfire.acesbs.block.custom.TobaccoCrop; import com.acethewildfire.acesbs.block.custom.TobaccoCrop;
import com.acethewildfire.acesbs.component.ModDataComponentTypes; import com.acethewildfire.acesbs.component.ModDataComponentTypes;
import com.acethewildfire.acesbs.item.AshenSteelItems; import com.acethewildfire.acesbs.item.*;
import com.acethewildfire.acesbs.item.ModArmorMaterials;
import com.acethewildfire.acesbs.item.ModItems;
import com.acethewildfire.acesbs.item.PrismaSteelItems;
import net.fabricmc.fabric.api.client.datagen.v1.provider.FabricModelProvider; import net.fabricmc.fabric.api.client.datagen.v1.provider.FabricModelProvider;
import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput;
import net.minecraft.client.data.*; import net.minecraft.client.data.*;
@@ -105,6 +102,8 @@ public class ModModelProvider extends FabricModelProvider {
itemModelGenerator.register(PrismaSteelItems.PRISMA_SMITHING_TEMPLATE, Models.GENERATED); itemModelGenerator.register(PrismaSteelItems.PRISMA_SMITHING_TEMPLATE, Models.GENERATED);
itemModelGenerator.register(AshenSteelItems.ASHEN_STEEL, Models.GENERATED); itemModelGenerator.register(AshenSteelItems.ASHEN_STEEL, Models.GENERATED);
itemModelGenerator.register(AshenSteelItems.ASHEN_SMITHING_TEMPLATE, Models.GENERATED); itemModelGenerator.register(AshenSteelItems.ASHEN_SMITHING_TEMPLATE, Models.GENERATED);
itemModelGenerator.register(FractalDiamondItems.FRACTAL_DIAMOND, Models.GENERATED);
itemModelGenerator.register(HellfireDiamondItems.HELLFIRE_DIAMOND, Models.GENERATED);
itemModelGenerator.register(ModItems.CRAB_RAVE_MUSIC_DISC, Models.GENERATED); itemModelGenerator.register(ModItems.CRAB_RAVE_MUSIC_DISC, Models.GENERATED);
itemModelGenerator.register(ModItems.THOT_BEGONE, Models.HANDHELD); itemModelGenerator.register(ModItems.THOT_BEGONE, Models.HANDHELD);
@@ -139,11 +138,9 @@ public class ModModelProvider extends FabricModelProvider {
itemModelGenerator.registerArmor(( ModItems.WILDFIRE_BOOTS), ModArmorMaterials.WILDFIRE_KEY, ItemModelGenerator.BOOTS_TRIM_ID_PREFIX, false); itemModelGenerator.registerArmor(( ModItems.WILDFIRE_BOOTS), ModArmorMaterials.WILDFIRE_KEY, ItemModelGenerator.BOOTS_TRIM_ID_PREFIX, false);
itemModelGenerator.registerArmor(( ModItems.SOVS_PLATE_CARRIER), ModArmorMaterials.PLATES_KEY, ItemModelGenerator.CHESTPLATE_TRIM_ID_PREFIX, false); itemModelGenerator.registerArmor(( ModItems.SOVS_PLATE_CARRIER), ModArmorMaterials.PLATES_KEY, ItemModelGenerator.CHESTPLATE_TRIM_ID_PREFIX, false);
itemModelGenerator.register(ModItems.FREN_SPAWN_EGG, itemModelGenerator.register(ModItems.FREN_SPAWN_EGG, Models.GENERATED);
new Model(Optional.of(Identifier.of("item/template_spawn_egg")), Optional.empty()));
itemModelGenerator.register(ModItems.VULGAR_BONES_SPAWN_EGG, itemModelGenerator.register(ModItems.VULGAR_BONES_SPAWN_EGG, Models.GENERATED);
new Model(Optional.of(Identifier.of("item/template_spawn_egg")), Optional.empty()));
ItemModel.Unbaked unbakedWand = ItemModels.basic(itemModelGenerator.upload(ModItems.WAND, Models.GENERATED)); ItemModel.Unbaked unbakedWand = ItemModels.basic(itemModelGenerator.upload(ModItems.WAND, Models.GENERATED));
ItemModel.Unbaked unbakedUsedWand = ItemModels.basic(itemModelGenerator.registerSubModel(ModItems.WAND, "_used", Models.GENERATED)); ItemModel.Unbaked unbakedUsedWand = ItemModels.basic(itemModelGenerator.registerSubModel(ModItems.WAND, "_used", Models.GENERATED));
@@ -3,6 +3,7 @@ package com.acethewildfire.acesbs.item;
import com.acethewildfire.acesbs.AcesBS; import com.acethewildfire.acesbs.AcesBS;
import com.acethewildfire.acesbs.item.custom.HammerItem; import com.acethewildfire.acesbs.item.custom.HammerItem;
import com.acethewildfire.acesbs.item.custom.ModArmorItem; import com.acethewildfire.acesbs.item.custom.ModArmorItem;
import com.acethewildfire.acesbs.trim.ModTrimMaterials;
import net.minecraft.item.*; import net.minecraft.item.*;
import net.minecraft.item.equipment.EquipmentType; import net.minecraft.item.equipment.EquipmentType;
import net.minecraft.resource.featuretoggle.FeatureFlags; import net.minecraft.resource.featuretoggle.FeatureFlags;
@@ -10,7 +11,7 @@ import net.minecraft.util.Identifier;
public class AshenSteelItems { public class AshenSteelItems {
public static final Item ASHEN_STEEL = ModItems.registerItem("ashen_steel", Item::new); public static final Item ASHEN_STEEL = ModItems.registerItem("ashen_steel", setting -> new Item(setting.trimMaterial(ModTrimMaterials.ASHEN_STEEL)));
public static final Item ASHEN_STEEL_SWORD = ModItems.registerItem("ashen_steel_sword", public static final Item ASHEN_STEEL_SWORD = ModItems.registerItem("ashen_steel_sword",
setting -> new Item(setting.sword(ModToolMaterials.ASHEN_STEEL, 3, -2.4f))); setting -> new Item(setting.sword(ModToolMaterials.ASHEN_STEEL, 3, -2.4f)));
public static final Item ASHEN_STEEL_SHOVEL = ModItems.registerItem("ashen_steel_shovel", public static final Item ASHEN_STEEL_SHOVEL = ModItems.registerItem("ashen_steel_shovel",
@@ -0,0 +1,45 @@
package com.acethewildfire.acesbs.item;
import com.acethewildfire.acesbs.item.custom.HammerItem;
import com.acethewildfire.acesbs.item.custom.ModArmorItem;
import net.minecraft.item.*;
import net.minecraft.item.equipment.EquipmentType;
public class FractalDiamondItems {
public static final Item FRACTAL_DIAMOND = ModItems.registerItem("fractal_diamond", Item::new);
// public static final Item FRACTAL_DIAMOND_SWORD = ModItems.registerItem("fractal_diamond_sword",
// setting -> new Item(setting.sword(ModToolMaterials.FRACTAL_DIAMOND, 3, -2.4f)));
// public static final Item FRACTAL_DIAMOND_SHOVEL = ModItems.registerItem("fractal_diamond_shovel",
// setting -> new ShovelItem(ModToolMaterials.FRACTAL_DIAMOND, 1.5F, -3.0F, setting));
// public static final Item FRACTAL_DIAMOND_PICKAXE = ModItems.registerItem("fractal_diamond_pickaxe",
// setting -> new Item(setting.pickaxe(ModToolMaterials.FRACTAL_DIAMOND, 1.0F, -2.8F)));
// public static final Item FRACTAL_DIAMOND_HAMMER = ModItems.registerItem("fractal_diamond_hammer",
// setting -> new HammerItem(ModToolMaterials.FRACTAL_DIAMOND, 7.0F, -3.4F, setting));
// public static final Item FRACTAL_DIAMOND_AXE = ModItems.registerItem("fractal_diamond_axe",
// setting -> new AxeItem(ModToolMaterials.FRACTAL_DIAMOND, 6.0F, -3.1F, setting));
// public static final Item FRACTAL_DIAMOND_HOE = ModItems.registerItem("fractal_diamond_hoe",
// setting -> new HoeItem(ModToolMaterials.FRACTAL_DIAMOND, -2.0F, -1.0F, setting));
// public static final Item FRACTAL_DIAMOND_HELMET = ModItems.registerItem("fractal_diamond_helmet",
// setting -> new ModArmorItem(setting
// .armor(ModArmorMaterials.FRACTAL_DIAMOND_ARMOR_MATERIAL, EquipmentType.HELMET)
// .maxDamage(EquipmentType.HELMET.getMaxDamage(15))));
// public static final Item FRACTAL_DIAMOND_CHESTPLATE = ModItems.registerItem("fractal_diamond_chestplate",
// setting -> new ModArmorItem(setting
// .armor(ModArmorMaterials.FRACTAL_DIAMOND_ARMOR_MATERIAL, EquipmentType.CHESTPLATE)
// .maxDamage(EquipmentType.CHESTPLATE.getMaxDamage(15))));
// public static final Item FRACTAL_DIAMOND_LEGGINGS = ModItems.registerItem("fractal_diamond_leggings",
// setting -> new ModArmorItem(setting
// .armor(ModArmorMaterials.FRACTAL_DIAMOND_ARMOR_MATERIAL, EquipmentType.LEGGINGS)
// .maxDamage(EquipmentType.LEGGINGS.getMaxDamage(15))));
// public static final Item FRACTAL_DIAMOND_BOOTS = ModItems.registerItem("fractal_diamond_boots",
// setting -> new ModArmorItem(setting
// .armor(ModArmorMaterials.FRACTAL_DIAMOND_ARMOR_MATERIAL, EquipmentType.BOOTS)
// .maxDamage(EquipmentType.BOOTS.getMaxDamage(15))));
// public static final Item FRACTAL_SMITHING_TEMPLATE = ModItems.registerItem("fractal_armor_trim_smithing_template",
// SmithingTemplateItem::of);
public static void registerFractalItems() {
// Do nothing, this just makes sure the items get registered
}
}
@@ -0,0 +1,45 @@
package com.acethewildfire.acesbs.item;
import com.acethewildfire.acesbs.item.custom.HammerItem;
import com.acethewildfire.acesbs.item.custom.ModArmorItem;
import net.minecraft.item.*;
import net.minecraft.item.equipment.EquipmentType;
public class HellfireDiamondItems {
public static final Item HELLFIRE_DIAMOND = ModItems.registerItem("hellfire_diamond", Item::new);
// public static final Item HELLFIRE_DIAMOND_SWORD = ModItems.registerItem("hellfire_diamond_sword",
// setting -> new Item(setting.sword(ModToolMaterials.HELLFIRE_DIAMOND, 3, -2.4f)));
// public static final Item HELLFIRE_DIAMOND_SHOVEL = ModItems.registerItem("hellfire_diamond_shovel",
// setting -> new ShovelItem(ModToolMaterials.HELLFIRE_DIAMOND, 1.5F, -3.0F, setting));
// public static final Item HELLFIRE_DIAMOND_PICKAXE = ModItems.registerItem("hellfire_diamond_pickaxe",
// setting -> new Item(setting.pickaxe(ModToolMaterials.HELLFIRE_DIAMOND, 1.0F, -2.8F)));
// public static final Item HELLFIRE_DIAMOND_HAMMER = ModItems.registerItem("hellfire_diamond_hammer",
// setting -> new HammerItem(ModToolMaterials.HELLFIRE_DIAMOND, 7.0F, -3.4F, setting));
// public static final Item HELLFIRE_DIAMOND_AXE = ModItems.registerItem("hellfire_diamond_axe",
// setting -> new AxeItem(ModToolMaterials.HELLFIRE_DIAMOND, 6.0F, -3.1F, setting));
// public static final Item HELLFIRE_DIAMOND_HOE = ModItems.registerItem("hellfire_diamond_hoe",
// setting -> new HoeItem(ModToolMaterials.HELLFIRE_DIAMOND, -2.0F, -1.0F, setting));
// public static final Item HELLFIRE_DIAMOND_HELMET = ModItems.registerItem("hellfire_diamond_helmet",
// setting -> new ModArmorItem(setting
// .armor(ModArmorMaterials.HELLFIRE_DIAMOND_ARMOR_MATERIAL, EquipmentType.HELMET)
// .maxDamage(EquipmentType.HELMET.getMaxDamage(15))));
// public static final Item HELLFIRE_DIAMOND_CHESTPLATE = ModItems.registerItem("hellfire_diamond_chestplate",
// setting -> new ModArmorItem(setting
// .armor(ModArmorMaterials.HELLFIRE_DIAMOND_ARMOR_MATERIAL, EquipmentType.CHESTPLATE)
// .maxDamage(EquipmentType.CHESTPLATE.getMaxDamage(15))));
// public static final Item HELLFIRE_DIAMOND_LEGGINGS = ModItems.registerItem("hellfire_diamond_leggings",
// setting -> new ModArmorItem(setting
// .armor(ModArmorMaterials.HELLFIRE_DIAMOND_ARMOR_MATERIAL, EquipmentType.LEGGINGS)
// .maxDamage(EquipmentType.LEGGINGS.getMaxDamage(15))));
// public static final Item HELLFIRE_DIAMOND_BOOTS = ModItems.registerItem("hellfire_diamond_boots",
// setting -> new ModArmorItem(setting
// .armor(ModArmorMaterials.HELLFIRE_DIAMOND_ARMOR_MATERIAL, EquipmentType.BOOTS)
// .maxDamage(EquipmentType.BOOTS.getMaxDamage(15))));
// public static final Item HELLFIRE_SMITHING_TEMPLATE = ModItems.registerItem("hellfire_armor_trim_smithing_template",
// SmithingTemplateItem::of);
public static void registerHellfireItems() {
// Do nothing, this just makes sure the items get registered
}
}
@@ -22,7 +22,10 @@ public class ModItemGroups {
entries.add(ModItems.RAW_ENDTROPY); entries.add(ModItems.RAW_ENDTROPY);
entries.add(ModItems.STABLE_ENDTROPY); entries.add(ModItems.STABLE_ENDTROPY);
entries.add(PrismaSteelItems.PRISMA_STEEL); entries.add(PrismaSteelItems.PRISMA_STEEL);
entries.add(FractalDiamondItems.FRACTAL_DIAMOND);
entries.add(AshenSteelItems.ASHEN_STEEL); entries.add(AshenSteelItems.ASHEN_STEEL);
entries.add(HellfireDiamondItems.HELLFIRE_DIAMOND);
entries.add(ModItems.MOTE_OF_ORDER); entries.add(ModItems.MOTE_OF_ORDER);
entries.add(ModItems.DUST_OF_ORDER); entries.add(ModItems.DUST_OF_ORDER);
entries.add(ModItems.INGOT_OF_ORDER); entries.add(ModItems.INGOT_OF_ORDER);
@@ -32,6 +35,7 @@ public class ModItemGroups {
entries.add(ModItems.INFERNAL_BEEF); entries.add(ModItems.INFERNAL_BEEF);
entries.add(ModItems.BRICKED_UP); entries.add(ModItems.BRICKED_UP);
entries.add(ModItems.ORACLE_LEMON); entries.add(ModItems.ORACLE_LEMON);
entries.add(ModItems.GREEN_BRICKS); entries.add(ModItems.GREEN_BRICKS);
entries.add(ModItems.CRAB_RAVE_MUSIC_DISC); entries.add(ModItems.CRAB_RAVE_MUSIC_DISC);
entries.add(ModItems.TOBACCO_SEEDS); entries.add(ModItems.TOBACCO_SEEDS);
@@ -41,6 +45,7 @@ public class ModItemGroups {
entries.add(ModItems.CIGARETTE_FUNNY); entries.add(ModItems.CIGARETTE_FUNNY);
entries.add(ModItems.BUBBLE_PIPE); entries.add(ModItems.BUBBLE_PIPE);
entries.add(ModItems.FREN_SPAWN_EGG); entries.add(ModItems.FREN_SPAWN_EGG);
entries.add(ModItems.VULGAR_BONES_SPAWN_EGG); entries.add(ModItems.VULGAR_BONES_SPAWN_EGG);
}) })
.build(); .build();
@@ -231,6 +231,9 @@ public class ModItems {
public static void registerModItems() { public static void registerModItems() {
PrismaSteelItems.registerPrismaItems(); PrismaSteelItems.registerPrismaItems();
AshenSteelItems.registerAshenItems(); AshenSteelItems.registerAshenItems();
FractalDiamondItems.registerFractalItems();
HellfireDiamondItems.registerHellfireItems();
AcesBS.LOGGER.info("Registering Mod Items for " + AcesBS.MOD_ID); AcesBS.LOGGER.info("Registering Mod Items for " + AcesBS.MOD_ID);
AttackEntityCallback.EVENT.register((player, world, hand, entity, hitResult) -> { AttackEntityCallback.EVENT.register((player, world, hand, entity, hitResult) -> {
@@ -2,13 +2,14 @@ package com.acethewildfire.acesbs.item;
import com.acethewildfire.acesbs.item.custom.HammerItem; import com.acethewildfire.acesbs.item.custom.HammerItem;
import com.acethewildfire.acesbs.item.custom.ModArmorItem; import com.acethewildfire.acesbs.item.custom.ModArmorItem;
import com.acethewildfire.acesbs.trim.ModTrimMaterials;
import net.minecraft.item.*; import net.minecraft.item.*;
import net.minecraft.item.equipment.EquipmentType; import net.minecraft.item.equipment.EquipmentType;
public class PrismaSteelItems { public class PrismaSteelItems {
public static final Item PRISMA_STEEL = ModItems.registerItem("prisma_steel", Item::new); public static final Item PRISMA_STEEL = ModItems.registerItem("prisma_steel", setting -> new Item(setting.trimMaterial(ModTrimMaterials.PRISMA_STEEL)));
public static final Item PRISMA_STEEL_SWORD = ModItems.registerItem("prisma_steel_sword", public static final Item PRISMA_STEEL_SWORD = ModItems.registerItem("prisma_steel_sword",
setting -> new Item(setting.sword(ModToolMaterials.PRISMA_STEEL, 3, -2.4f))); setting -> new Item(setting.sword(ModToolMaterials.PRISMA_STEEL, 3, -2.4f)));
public static final Item PRISMA_STEEL_SHOVEL = ModItems.registerItem("prisma_steel_shovel", public static final Item PRISMA_STEEL_SHOVEL = ModItems.registerItem("prisma_steel_shovel",
@@ -134,11 +134,13 @@ public class CigaretteLemon extends Item {
World.ExplosionSourceType.NONE World.ExplosionSourceType.NONE
); );
user.damage( if (world instanceof ServerWorld serverWorld) {
(ServerWorld) world, user.damage(
user.getDamageSources().explosion(user, user), serverWorld,
20F user.getDamageSources().explosion(user, user),
); 20F
);
}
@@ -39,6 +39,8 @@ public class ModTrimMaterials {
ArmorTrimMaterial trimMaterial = new ArmorTrimMaterial(ArmorTrimAssets.of(armorTrimKey.getValue().getPath()), ArmorTrimMaterial trimMaterial = new ArmorTrimMaterial(ArmorTrimAssets.of(armorTrimKey.getValue().getPath()),
Text.translatable(Util.createTranslationKey("trim_material", armorTrimKey.getValue())).fillStyle(style)); Text.translatable(Util.createTranslationKey("trim_material", armorTrimKey.getValue())).fillStyle(style));
AcesBS.LOGGER.info(Util.createTranslationKey("trim_material", armorTrimKey.getValue()));
registerable.register(armorTrimKey, trimMaterial); registerable.register(armorTrimKey, trimMaterial);
} }
@@ -7,6 +7,8 @@ import net.minecraft.registry.RegistryKeys;
import net.minecraft.registry.tag.TagKey; import net.minecraft.registry.tag.TagKey;
import net.minecraft.util.Identifier; import net.minecraft.util.Identifier;
import static net.fabricmc.fabric.api.tag.convention.v2.TagUtil.C_TAG_NAMESPACE;
public class ModTags { public class ModTags {
public static class Blocks { public static class Blocks {
@@ -14,9 +16,17 @@ public class ModTags {
public static final TagKey<Block> INCORRECT_FOR_PRISMA_STEEL_TOOL = createTag("incorrect_for_prisma_steel_tool"); public static final TagKey<Block> INCORRECT_FOR_PRISMA_STEEL_TOOL = createTag("incorrect_for_prisma_steel_tool");
public static final TagKey<Block> INCORRECT_FOR_ASHEN_STEEL_TOOL = createTag("incorrect_for_ashen_steel_tool"); public static final TagKey<Block> INCORRECT_FOR_ASHEN_STEEL_TOOL = createTag("incorrect_for_ashen_steel_tool");
//Common Tags
public static final TagKey<Block> MC_ORES =
TagKey.of(RegistryKeys.BLOCK, Identifier.of("minecraft", "ores"));
private static TagKey<Block> createTag(String name){ private static TagKey<Block> createTag(String name){
return TagKey.of(RegistryKeys.BLOCK, Identifier.of(AcesBS.MOD_ID, name)); return TagKey.of(RegistryKeys.BLOCK, Identifier.of(AcesBS.MOD_ID, name));
} }
private static TagKey<Block> createCommonTag(String name){
return TagKey.of(RegistryKeys.BLOCK, Identifier.of(C_TAG_NAMESPACE, name));
}
} }
public static class Items { public static class Items {
@@ -28,8 +38,15 @@ public class ModTags {
public static final TagKey<Item> PLATES_REPAIR = createTag("plates_repair"); public static final TagKey<Item> PLATES_REPAIR = createTag("plates_repair");
public static final TagKey<Item> BERSERKERS_REPAIR = createTag("berserkers_repair"); public static final TagKey<Item> BERSERKERS_REPAIR = createTag("berserkers_repair");
//Common Tags
public static final TagKey<Item> C_INGOTS_STEEL = createCommonTag("ingots/steel");
private static TagKey<Item> createTag(String name){ private static TagKey<Item> createTag(String name){
return TagKey.of(RegistryKeys.ITEM, Identifier.of(AcesBS.MOD_ID, name)); return TagKey.of(RegistryKeys.ITEM, Identifier.of(AcesBS.MOD_ID, name));
} }
private static TagKey<Item> createCommonTag(String name){
return TagKey.of(RegistryKeys.ITEM, Identifier.of(C_TAG_NAMESPACE, name));
}
} }
} }
@@ -1,9 +1,13 @@
package com.acethewildfire.acesbs.util; package com.acethewildfire.acesbs.util;
import com.acethewildfire.acesbs.AcesBS; import com.acethewildfire.acesbs.AcesBS;
import com.acethewildfire.acesbs.AcesBSClient;
import com.acethewildfire.acesbs.item.ModItems; import com.acethewildfire.acesbs.item.ModItems;
import com.acethewildfire.acesbs.item.PrismaSteelItems; import com.acethewildfire.acesbs.item.PrismaSteelItems;
import net.fabricmc.fabric.api.loot.v3.LootTableEvents; import net.fabricmc.fabric.api.loot.v3.LootTableEvents;
import net.fabricmc.fabric.api.tag.convention.v2.ConventionalBlockTags;
import net.minecraft.block.Block;
import net.minecraft.block.BlockState;
import net.minecraft.block.Blocks; import net.minecraft.block.Blocks;
import net.minecraft.enchantment.Enchantment; import net.minecraft.enchantment.Enchantment;
import net.minecraft.enchantment.Enchantments; import net.minecraft.enchantment.Enchantments;
@@ -13,30 +17,34 @@ import net.minecraft.item.Items;
import net.minecraft.loot.LootPool; import net.minecraft.loot.LootPool;
import net.minecraft.loot.LootTable; import net.minecraft.loot.LootTable;
import net.minecraft.loot.condition.InvertedLootCondition; import net.minecraft.loot.condition.InvertedLootCondition;
import net.minecraft.loot.condition.LocationCheckLootCondition;
import net.minecraft.loot.condition.LootCondition; import net.minecraft.loot.condition.LootCondition;
import net.minecraft.loot.condition.MatchToolLootCondition; import net.minecraft.loot.condition.MatchToolLootCondition;
import net.minecraft.loot.entry.ItemEntry; import net.minecraft.loot.entry.ItemEntry;
import net.minecraft.loot.function.ApplyBonusLootFunction; import net.minecraft.loot.function.ApplyBonusLootFunction;
import net.minecraft.loot.function.ExplosionDecayLootFunction; import net.minecraft.loot.function.ExplosionDecayLootFunction;
import net.minecraft.loot.provider.number.UniformLootNumberProvider; import net.minecraft.loot.provider.number.UniformLootNumberProvider;
import net.minecraft.predicate.BlockPredicate;
import net.minecraft.predicate.NumberRange; import net.minecraft.predicate.NumberRange;
import net.minecraft.predicate.component.ComponentPredicateTypes; import net.minecraft.predicate.component.ComponentPredicateTypes;
import net.minecraft.predicate.component.ComponentsPredicate; import net.minecraft.predicate.component.ComponentsPredicate;
import net.minecraft.predicate.entity.LocationPredicate;
import net.minecraft.predicate.item.EnchantmentPredicate; import net.minecraft.predicate.item.EnchantmentPredicate;
import net.minecraft.predicate.item.EnchantmentsPredicate; import net.minecraft.predicate.item.EnchantmentsPredicate;
import net.minecraft.predicate.item.ItemPredicate; import net.minecraft.predicate.item.ItemPredicate;
import net.minecraft.registry.RegistryEntryLookup; import net.minecraft.registry.*;
import net.minecraft.registry.RegistryKey;
import net.minecraft.registry.RegistryKeys;
import net.minecraft.registry.RegistryWrapper;
import net.minecraft.registry.entry.RegistryEntry; import net.minecraft.registry.entry.RegistryEntry;
import net.minecraft.registry.entry.RegistryEntryList; import net.minecraft.registry.entry.RegistryEntryList;
import net.minecraft.registry.tag.TagKey; import net.minecraft.registry.tag.TagKey;
import net.minecraft.util.Identifier;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Optional; import java.util.Optional;
import static com.acethewildfire.acesbs.util.ModTags.Blocks.MC_ORES;
import static net.fabricmc.fabric.api.tag.convention.v2.ConventionalBlockTags.ORES;
public class UpdateRecipies { public class UpdateRecipies {
public static LootCondition.Builder specialToolCondition(RegistryEntryLookup<Item> lookup, ItemConvertible... tools) { public static LootCondition.Builder specialToolCondition(RegistryEntryLookup<Item> lookup, ItemConvertible... tools) {
return MatchToolLootCondition.builder( return MatchToolLootCondition.builder(
@@ -46,53 +54,24 @@ public class UpdateRecipies {
} }
public static void updateVanilla(){ public static void updateVanilla(){
AcesBS.LOGGER.info("Updating vanilla Ore Drops for Prisma Steel"); AcesBS.LOGGER.info("Updating vanilla and modded Ore Drops for Prisma Steel Tools");
RegistryKey<LootTable> coalOreLootId = Blocks.COAL_ORE.getLootTableKey().get();
RegistryKey<LootTable> copperOreLootId = Blocks.COPPER_ORE.getLootTableKey().get();
RegistryKey<LootTable> ironOreLootId = Blocks.IRON_ORE.getLootTableKey().get();
RegistryKey<LootTable> goldOreLootId = Blocks.GOLD_ORE.getLootTableKey().get();
RegistryKey<LootTable> lapisOreLootId = Blocks.LAPIS_ORE.getLootTableKey().get();
RegistryKey<LootTable> redstoneOreLootId = Blocks.REDSTONE_ORE.getLootTableKey().get();
RegistryKey<LootTable> diamondOreLootId = Blocks.DIAMOND_ORE.getLootTableKey().get();
RegistryKey<LootTable> emeraldOreLootId = Blocks.EMERALD_ORE.getLootTableKey().get();
RegistryKey<LootTable> coalDeepslateOreLootId = Blocks.DEEPSLATE_COAL_ORE.getLootTableKey().get();
RegistryKey<LootTable> copperDeepslateOreLootId = Blocks.DEEPSLATE_COPPER_ORE.getLootTableKey().get();
RegistryKey<LootTable> ironDeepslateOreLootId = Blocks.DEEPSLATE_IRON_ORE.getLootTableKey().get();
RegistryKey<LootTable> goldDeepslateOreLootId = Blocks.DEEPSLATE_GOLD_ORE.getLootTableKey().get();
RegistryKey<LootTable> lapisDeepslateOreLootId = Blocks.DEEPSLATE_LAPIS_ORE.getLootTableKey().get();
RegistryKey<LootTable> redstoneDeepslateOreLootId = Blocks.DEEPSLATE_REDSTONE_ORE.getLootTableKey().get();
RegistryKey<LootTable> diamondDeepslateOreLootId = Blocks.DEEPSLATE_DIAMOND_ORE.getLootTableKey().get();
RegistryKey<LootTable> emeraldDeepslateOreLootId = Blocks.DEEPSLATE_EMERALD_ORE.getLootTableKey().get();
List<RegistryKey<LootTable>> ores = new ArrayList<>();
ores.add(coalOreLootId);
ores.add(copperOreLootId);
ores.add(ironOreLootId);
ores.add(goldOreLootId);
ores.add(lapisOreLootId);
ores.add(redstoneOreLootId);
ores.add(diamondOreLootId);
ores.add(emeraldOreLootId);
ores.add(coalDeepslateOreLootId);
ores.add(copperDeepslateOreLootId);
ores.add(ironDeepslateOreLootId);
ores.add(goldDeepslateOreLootId);
ores.add(lapisDeepslateOreLootId);
ores.add(redstoneDeepslateOreLootId);
ores.add(diamondDeepslateOreLootId);
ores.add(emeraldDeepslateOreLootId);
LootTableEvents.MODIFY.register((key, tableBuilder, source, wrapperLookup) -> { LootTableEvents.MODIFY.register((key, tableBuilder, source, wrapperLookup) -> {
RegistryWrapper.Impl<Enchantment> impl = wrapperLookup.getOrThrow(RegistryKeys.ENCHANTMENT); RegistryWrapper.Impl<Enchantment> impl = wrapperLookup.getOrThrow(RegistryKeys.ENCHANTMENT);
RegistryEntryLookup<Item> itemLookup = wrapperLookup.getOrThrow(RegistryKeys.ITEM); RegistryEntryLookup<Item> itemLookup = wrapperLookup.getOrThrow(RegistryKeys.ITEM);
Identifier id = key.getValue();
// Only block loot tables
if (!id.getPath().startsWith("blocks/")) return;
String blockName = id.getPath().substring("blocks/".length());
// Reliable ore detection
if (!(blockName.endsWith("_ore") || blockName.contains("_ore_"))) return;
AcesBS.LOGGER.info("Adding Prisma Pool to {}", blockName);
LootCondition.Builder silkTouchCondition = MatchToolLootCondition.builder( LootCondition.Builder silkTouchCondition = MatchToolLootCondition.builder(
ItemPredicate.Builder.create().components( ItemPredicate.Builder.create().components(
ComponentsPredicate.Builder.create() ComponentsPredicate.Builder.create()
@@ -104,27 +83,25 @@ public class UpdateRecipies {
) )
); );
if (source.isBuiltin() && ores.contains(key)) { LootPool.Builder extraPool = LootPool.builder()
LootPool.Builder extraPool = LootPool.builder() .rolls(UniformLootNumberProvider.create(1, 2))
.rolls(UniformLootNumberProvider.create(1, 2)) .conditionally(InvertedLootCondition.builder(silkTouchCondition))
.conditionally(InvertedLootCondition.builder(silkTouchCondition)) .conditionally(specialToolCondition(itemLookup, PrismaSteelItems.PRISMA_STEEL_PICKAXE, PrismaSteelItems.PRISMA_STEEL_HAMMER))
.conditionally(specialToolCondition(itemLookup, PrismaSteelItems.PRISMA_STEEL_PICKAXE, PrismaSteelItems.PRISMA_STEEL_HAMMER)) .with(ItemEntry.builder(Items.AIR).weight(460))
.with(ItemEntry.builder(Items.AIR).weight(460)) .with(ItemEntry.builder(Items.COAL).weight(12))
.with(ItemEntry.builder(Items.COAL).weight(12)) .with(ItemEntry.builder(Items.RAW_COPPER).weight(10))
.with(ItemEntry.builder(Items.RAW_COPPER).weight(10)) .with(ItemEntry.builder(Items.RAW_IRON).weight(6))
.with(ItemEntry.builder(Items.RAW_IRON).weight(6)) .with(ItemEntry.builder(Items.RAW_GOLD).weight(4))
.with(ItemEntry.builder(Items.RAW_GOLD).weight(4)) .with(ItemEntry.builder(Items.LAPIS_LAZULI).weight(3))
.with(ItemEntry.builder(Items.LAPIS_LAZULI).weight(3)) .with(ItemEntry.builder(Items.REDSTONE).weight(2))
.with(ItemEntry.builder(Items.REDSTONE).weight(2)) .with(ItemEntry.builder(ModItems.RAW_ENTROPY).weight(1))
.with(ItemEntry.builder(ModItems.RAW_ENTROPY).weight(1)) .with(ItemEntry.builder(Items.DIAMOND).weight(1))
.with(ItemEntry.builder(Items.DIAMOND).weight(1)) .with(ItemEntry.builder(Items.EMERALD).weight(1))
.with(ItemEntry.builder(Items.EMERALD).weight(1)) .apply(ApplyBonusLootFunction.oreDrops(impl.getOrThrow(Enchantments.FORTUNE)))
.apply(ApplyBonusLootFunction.oreDrops(impl.getOrThrow(Enchantments.FORTUNE))) .apply(ExplosionDecayLootFunction.builder());
.apply(ExplosionDecayLootFunction.builder());
// Add our extra drop pool to loot table // Add our extra drop pool to loot table
tableBuilder.pool(extraPool); tableBuilder.pool(extraPool);
}
}); });
} }
} }
@@ -0,0 +1,2 @@
[LocalizedFileNames]
vulgar_bones_spawn_egg.png=@vulgar_bones_spawn_egg.png,0
Binary file not shown.

After

Width:  |  Height:  |  Size: 308 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 633 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 406 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 480 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 115 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 B

@@ -5,37 +5,37 @@
"type": "paletted_permutations", "type": "paletted_permutations",
"textures": [ "textures": [
"trims/entity/humanoid/coast", "trims/entity/humanoid/coast",
"trims/entity/humanoid_leggings/coast_leggings", "trims/entity/humanoid_leggings/coast",
"trims/entity/humanoid/sentry", "trims/entity/humanoid/sentry",
"trims/entity/humanoid_leggings/sentry_leggings", "trims/entity/humanoid_leggings/sentry",
"trims/entity/humanoid/dune", "trims/entity/humanoid/dune",
"trims/entity/humanoid_leggings/dune_leggings", "trims/entity/humanoid_leggings/dune",
"trims/entity/humanoid/wild", "trims/entity/humanoid/wild",
"trims/entity/humanoid_leggings/wild_leggings", "trims/entity/humanoid_leggings/wild",
"trims/entity/humanoid/ward", "trims/entity/humanoid/ward",
"trims/entity/humanoid_leggings/ward_leggings", "trims/entity/humanoid_leggings/ward",
"trims/entity/humanoid/eye", "trims/entity/humanoid/eye",
"trims/entity/humanoid_leggings/eye_leggings", "trims/entity/humanoid_leggings/eye",
"trims/entity/humanoid/vex", "trims/entity/humanoid/vex",
"trims/entity/humanoid_leggings/vex_leggings", "trims/entity/humanoid_leggings/vex",
"trims/entity/humanoid/tide", "trims/entity/humanoid/tide",
"trims/entity/humanoid_leggings/tide_leggings", "trims/entity/humanoid_leggings/tide",
"trims/entity/humanoid/snout", "trims/entity/humanoid/snout",
"trims/entity/humanoid_leggings/snout_leggings", "trims/entity/humanoid_leggings/snout",
"trims/entity/humanoid/rib", "trims/entity/humanoid/rib",
"trims/entity/humanoid_leggings/rib_leggings", "trims/entity/humanoid_leggings/rib",
"trims/entity/humanoid/spire", "trims/entity/humanoid/spire",
"trims/entity/humanoid_leggings/spire_leggings", "trims/entity/humanoid_leggings/spire",
"trims/entity/humanoid/wayfinder", "trims/entity/humanoid/wayfinder",
"trims/entity/humanoid_leggings/wayfinder_leggings", "trims/entity/humanoid_leggings/wayfinder",
"trims/entity/humanoid/shaper", "trims/entity/humanoid/shaper",
"trims/entity/humanoid_leggings/shaper_leggings", "trims/entity/humanoid_leggings/shaper",
"trims/entity/humanoid/silence", "trims/entity/humanoid/silence",
"trims/entity/humanoid_leggings/silence_leggings", "trims/entity/humanoid_leggings/silence",
"trims/entity/humanoid/raiser", "trims/entity/humanoid/raiser",
"trims/entity/humanoid_leggings/raiser_leggings", "trims/entity/humanoid_leggings/raiser",
"trims/entity/humanoid/host", "trims/entity/humanoid/host",
"trims/entity/humanoid_leggings/host_leggings", "trims/entity/humanoid_leggings/host",
"acesbs:trims/entity/humanoid/prisma", "acesbs:trims/entity/humanoid/prisma",
"acesbs:trims/entity/humanoid_leggings/prisma", "acesbs:trims/entity/humanoid_leggings/prisma",
"acesbs:trims/entity/humanoid/ashen", "acesbs:trims/entity/humanoid/ashen",
@@ -0,0 +1 @@
suffix.emissive=_e
@@ -0,0 +1,9 @@
{
"type": "acesbs:entropic_entangler",
"ingredient": "minecraft:diamond",
"ingredient2": "acesbs:stable_entropy",
"result": {
"count": 1,
"id": "acesbs:fractal_diamond"
}
}
@@ -0,0 +1,9 @@
{
"type": "acesbs:entropic_entangler",
"ingredient": "minecraft:diamond",
"ingredient2": "acesbs:stable_entropy",
"result": {
"count": 1,
"id": "acesbs:hellfire_diamond"
}
}