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
# Mod Properties
mod_version=2.0.2
mod_version=2.0.3
maven_group=com.acethewildfire.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": {
"color": "#B16491",
"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",
"icon": {
"count": 1,
"id": "minecraft:diamond"
"id": "acesbs:stable_entropy"
},
"show_toast": false,
"title": "Ace's BS"
@@ -0,0 +1,5 @@
{
"values": [
"acesbs:lemonwood_leaves"
]
}
@@ -3,6 +3,8 @@
"acesbs:lemonwood_planks",
"acesbs:lemonwood_wall",
"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:stable_endtropy_block",
"acesbs:prisma_steel_block",
"acesbs:ashen_steel_block",
"acesbs:entropic_stabilizer",
"acesbs:entropic_eviscerator",
"acesbs:entropic_entangler"
"acesbs:ashen_steel_block"
]
}
@@ -1,5 +1,8 @@
{
"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": [
"acesbs:lemonwood_planks"
"acesbs:lemonwood_planks",
"acesbs:lizard_planks"
]
}
@@ -1,4 +1,5 @@
{
"replace": false,
"values": [
"acesbs:prisma_steel",
"acesbs:ashen_steel"
@@ -7,8 +7,7 @@ import com.acethewildfire.acesbs.effect.ModEffects;
import com.acethewildfire.acesbs.enchantment.ModEnchantmentEffects;
import com.acethewildfire.acesbs.entity.ModEntities;
import com.acethewildfire.acesbs.entity.custom.FrenEntity;
import com.acethewildfire.acesbs.item.ModItemGroups;
import com.acethewildfire.acesbs.item.ModItems;
import com.acethewildfire.acesbs.item.*;
import com.acethewildfire.acesbs.particle.ModParticles;
import com.acethewildfire.acesbs.potion.ModPotions;
import com.acethewildfire.acesbs.recipe.ModRecipies;
@@ -5,4 +5,12 @@ Particles not on server???
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
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)
- Fractal Diamond (Stable Entropy + Diamond)
- Ashen Steel (Ashes + Iron)
- Everburn Gold (Ashes + Gold)
- Infernal Diamond (Ashes + Diamond)
- Endtropium (Stable End-tropy + Netherite)
- Faerie Shard (Amethyst + Stable Entropy)
- Hyper Sugar (Stable Entropy + Sugar)
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)
- Cigarette (Speed for 5, slow for 5, 30 of jittery) (Acheivements) (Stats)
- Cigarette (Funny) (Blows inordinate amounts of smoke)
- Cigarette (Lemon) (Explodes)
Crop
X Tobacco
Items
- Bag of Holding
- Levels Iron->Netherite->Entopic
- Curios support?
- Bubble pipe (Aquarium gravel, tobacco)
- Pale wood + Others
Armor
X Beserker Pauldron (Special: Skeleton hurt sound)
X Wildfire Boots (Special: Rainbow ember)
- Fireskip Boots (Infernal Fire effect on water)
- Sov's Plate Carrier
- (Headlamp Armors using Everburn Gold)
- Honse armour (maybe).
Potions
@@ -50,7 +29,6 @@ X Lemon (Yellow Blindness)
- Bottle o' Drunken Sailor
Tools
X Prisma Steel (May get a different Ore when mining)
- Prisma Bucket (Stanlys bucket)
- Chaos Silver (May get a different Ore when mining)
- Fractal Diamond (May get a different Ore when mining)
@@ -100,29 +78,14 @@ Order
Weapons
- Big Iron (Bow?)
- Thot Begon
- Ahab's Harpoon
X Combustable Lemon
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)
- Decorative (Bricks)
- Crystalized Entropy (Stained Glass version of Stable Entropy)
- Crystalized Entropy Retexture (Stained Glass version of Stable Entropy)
- 2 Player Bed
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
- Incense Burner
Mobs
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)
- Alice
- Pet rock (Stable Entropy on a stone block)
X Swearing skeleton (Stable Entropy on skeleton).
- Infernal Bull (nether)
- Prisma Slime (Prisma Steel and slime)
- Tarr Slime (Prisma and Magmacube)
Music Disk
X Crab Rave
X Lizard
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
Aces Mysteries
Puzzle textures.
Statistics
@@ -32,7 +32,7 @@ public class ModAdvancementProvider extends FabricAdvancementProvider {
public void generateAdvancement(RegistryWrapper.WrapperLookup wrapperLookup, Consumer<AdvancementEntry> consumer) {
AdvancementEntry root = Advancement.Builder.create()
.display(
Items.DIAMOND,
ModItems.STABLE_ENTROPY,
Text.literal("Ace's BS"),
Text.literal("Advancements for Ace's BS"),
Identifier.ofVanilla("textures/block/stone.png"),
@@ -4,6 +4,7 @@ import com.acethewildfire.acesbs.block.ModBlocks;
import com.acethewildfire.acesbs.util.ModTags;
import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput;
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.tag.BlockTags;
@@ -30,8 +31,13 @@ public class ModBlockTagProvider extends FabricTagProvider.BlockTagProvider {
.add(ModBlocks.ENTROPIC_STABILIZER)
.add(ModBlocks.ENTROPIC_EVISCERATOR)
.add(ModBlocks.ENTROPIC_ENTANGLER);
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)
.add(ModBlocks.ENTROPY_ORE)
.add(ModBlocks.DEEPSLATE_ENTROPY_ORE)
@@ -41,33 +47,56 @@ public class ModBlockTagProvider extends FabricTagProvider.BlockTagProvider {
.add(ModBlocks.RAW_ENDTROPY_BLOCK)
.add(ModBlocks.STABLE_ENDTROPY_BLOCK)
.add(ModBlocks.PRISMA_STEEL_BLOCK)
.add(ModBlocks.ASHEN_STEEL_BLOCK)
.add(ModBlocks.ENTROPIC_STABILIZER)
.add(ModBlocks.ENTROPIC_EVISCERATOR)
.add(ModBlocks.ENTROPIC_ENTANGLER);
.add(ModBlocks.ASHEN_STEEL_BLOCK);
valueLookupBuilder(BlockTags.AXE_MINEABLE)
.add(ModBlocks.LEMONWOOD_PLANKS)
.add(ModBlocks.LEMONWOOD_WALL)
.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)
.add(ModBlocks.INFERNAL_ASHES_BLOCK);
valueLookupBuilder(BlockTags.WOODEN_FENCES)
.add(ModBlocks.LEMONWOOD_FENCE);
valueLookupBuilder(BlockTags.FENCE_GATES)
.add(ModBlocks.LEMONWOOD_FENCE_GATE);
valueLookupBuilder(BlockTags.WALLS)
.add(ModBlocks.LEMONWOOD_WALL);
valueLookupBuilder(BlockTags.IMPERMEABLE)
.add(ModBlocks.CRYSTAL_ENTROPY)
.add(ModBlocks.CRYSTAL_ENTROPY_PANE);
valueLookupBuilder(BlockTags.LEAVES)
.add(ModBlocks.LEMONWOOD_LEAVES);
valueLookupBuilder(ModTags.Blocks.NEEDS_PRISMA_STEEL_TOOL);
// Currently Broken
// .addTag(BlockTags.NEEDS_IRON_TOOL);
valueLookupBuilder(BlockTags.LOGS_THAT_BURN)
.add(ModBlocks.LEMONWOOD_LOG)
.add(ModBlocks.LEMONWOOD_WOOD)
.add(ModBlocks.STRIPPED_LEMONWOOD_LOG)
.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;
import com.acethewildfire.acesbs.block.ModBlocks;
import com.acethewildfire.acesbs.item.AshenSteelItems;
import com.acethewildfire.acesbs.item.ModItems;
import com.acethewildfire.acesbs.item.PrismaSteelItems;
import com.acethewildfire.acesbs.item.*;
import com.acethewildfire.acesbs.util.ModTags;
import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput;
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.registry.RegistryWrapper;
import net.minecraft.registry.tag.ItemTags;
@@ -23,16 +22,22 @@ public class ModItemTagProvider extends FabricTagProvider.ItemTagProvider {
protected void configure(RegistryWrapper.WrapperLookup wrapperLookup) {
valueLookupBuilder(ModTags.Items.ENTROPY_CONVERTABLE)
.add(Items.APPLE);
valueLookupBuilder(ModTags.Items.PRISMA_REPAIR)
.add(PrismaSteelItems.PRISMA_STEEL);
valueLookupBuilder(ModTags.Items.ASHEN_REPAIR)
.add(AshenSteelItems.ASHEN_STEEL);
valueLookupBuilder(ModTags.Items.WILDFIRE_REPAIR)
.add(ModItems.INFERNAL_ASHES);
valueLookupBuilder(ModTags.Items.PLATES_REPAIR)
.add(AshenSteelItems.ASHEN_STEEL);
valueLookupBuilder(ModTags.Items.BERSERKERS_REPAIR)
.add(Items.LEATHER);
valueLookupBuilder(ModTags.Items.PRISMA_CONVERTABLE)
.add(Items.COAL)
.add(Items.RAW_COPPER)
@@ -42,23 +47,30 @@ public class ModItemTagProvider extends FabricTagProvider.ItemTagProvider {
.add(Items.LAPIS_LAZULI)
.add(Items.EMERALD)
.add(Items.DIAMOND);
valueLookupBuilder(ItemTags.BOW_ENCHANTABLE)
.add(ModItems.KAUPEN_BOW);
valueLookupBuilder(ItemTags.SWORDS)
.add(PrismaSteelItems.PRISMA_STEEL_SWORD)
.add(ModItems.THOT_BEGONE);
valueLookupBuilder(ItemTags.AXES)
.add(PrismaSteelItems.PRISMA_STEEL_AXE)
.add(AshenSteelItems.ASHEN_STEEL_AXE);
valueLookupBuilder(ItemTags.PICKAXES)
.add(PrismaSteelItems.PRISMA_STEEL_PICKAXE)
.add(AshenSteelItems.ASHEN_STEEL_PICKAXE);
valueLookupBuilder(ItemTags.SHOVELS)
.add(PrismaSteelItems.PRISMA_STEEL_SHOVEL)
.add(AshenSteelItems.ASHEN_STEEL_PICKAXE);
valueLookupBuilder(ItemTags.HOES)
.add(PrismaSteelItems.PRISMA_STEEL_HOE)
.add(AshenSteelItems.ASHEN_STEEL_HOE);
valueLookupBuilder(ItemTags.TRIMMABLE_ARMOR)
.add(PrismaSteelItems.PRISMA_STEEL_HELMET)
.add(PrismaSteelItems.PRISMA_STEEL_CHESTPLATE)
@@ -71,17 +83,75 @@ public class ModItemTagProvider extends FabricTagProvider.ItemTagProvider {
.add(ModItems.BERSERKERS_PAULDRON)
.add(ModItems.WILDFIRE_BOOTS)
.add(ModItems.SOVS_PLATE_CARRIER);
valueLookupBuilder(ItemTags.TRIM_MATERIALS)
.add(PrismaSteelItems.PRISMA_STEEL)
.add(AshenSteelItems.ASHEN_STEEL);
valueLookupBuilder(ItemTags.CREEPER_DROP_MUSIC_DISCS)
.add(ModItems.CRAB_RAVE_MUSIC_DISC);
valueLookupBuilder(ItemTags.LOGS_THAT_BURN)
.add(ModBlocks.LEMONWOOD_LOG.asItem())
.add(ModBlocks.LEMONWOOD_WOOD.asItem())
.add(ModBlocks.STRIPPED_LEMONWOOD_LOG.asItem())
.add(ModBlocks.STRIPPED_LEMONWOOD_WOOD.asItem());
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_PANE);
addDrop(ModBlocks.LIZARD_PLANKS);
addDrop(ModBlocks.LIZARD_BUTTON);
addDrop(ModBlocks.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.TobaccoCrop;
import com.acethewildfire.acesbs.component.ModDataComponentTypes;
import com.acethewildfire.acesbs.item.AshenSteelItems;
import com.acethewildfire.acesbs.item.ModArmorMaterials;
import com.acethewildfire.acesbs.item.ModItems;
import com.acethewildfire.acesbs.item.PrismaSteelItems;
import com.acethewildfire.acesbs.item.*;
import net.fabricmc.fabric.api.client.datagen.v1.provider.FabricModelProvider;
import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput;
import net.minecraft.client.data.*;
@@ -105,6 +102,8 @@ public class ModModelProvider extends FabricModelProvider {
itemModelGenerator.register(PrismaSteelItems.PRISMA_SMITHING_TEMPLATE, Models.GENERATED);
itemModelGenerator.register(AshenSteelItems.ASHEN_STEEL, 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.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.SOVS_PLATE_CARRIER), ModArmorMaterials.PLATES_KEY, ItemModelGenerator.CHESTPLATE_TRIM_ID_PREFIX, false);
itemModelGenerator.register(ModItems.FREN_SPAWN_EGG,
new Model(Optional.of(Identifier.of("item/template_spawn_egg")), Optional.empty()));
itemModelGenerator.register(ModItems.FREN_SPAWN_EGG, Models.GENERATED);
itemModelGenerator.register(ModItems.VULGAR_BONES_SPAWN_EGG,
new Model(Optional.of(Identifier.of("item/template_spawn_egg")), Optional.empty()));
itemModelGenerator.register(ModItems.VULGAR_BONES_SPAWN_EGG, 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));
@@ -3,6 +3,7 @@ package com.acethewildfire.acesbs.item;
import com.acethewildfire.acesbs.AcesBS;
import com.acethewildfire.acesbs.item.custom.HammerItem;
import com.acethewildfire.acesbs.item.custom.ModArmorItem;
import com.acethewildfire.acesbs.trim.ModTrimMaterials;
import net.minecraft.item.*;
import net.minecraft.item.equipment.EquipmentType;
import net.minecraft.resource.featuretoggle.FeatureFlags;
@@ -10,7 +11,7 @@ import net.minecraft.util.Identifier;
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",
setting -> new Item(setting.sword(ModToolMaterials.ASHEN_STEEL, 3, -2.4f)));
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.STABLE_ENDTROPY);
entries.add(PrismaSteelItems.PRISMA_STEEL);
entries.add(FractalDiamondItems.FRACTAL_DIAMOND);
entries.add(AshenSteelItems.ASHEN_STEEL);
entries.add(HellfireDiamondItems.HELLFIRE_DIAMOND);
entries.add(ModItems.MOTE_OF_ORDER);
entries.add(ModItems.DUST_OF_ORDER);
entries.add(ModItems.INGOT_OF_ORDER);
@@ -32,6 +35,7 @@ public class ModItemGroups {
entries.add(ModItems.INFERNAL_BEEF);
entries.add(ModItems.BRICKED_UP);
entries.add(ModItems.ORACLE_LEMON);
entries.add(ModItems.GREEN_BRICKS);
entries.add(ModItems.CRAB_RAVE_MUSIC_DISC);
entries.add(ModItems.TOBACCO_SEEDS);
@@ -41,6 +45,7 @@ public class ModItemGroups {
entries.add(ModItems.CIGARETTE_FUNNY);
entries.add(ModItems.BUBBLE_PIPE);
entries.add(ModItems.FREN_SPAWN_EGG);
entries.add(ModItems.VULGAR_BONES_SPAWN_EGG);
})
.build();
@@ -231,6 +231,9 @@ public class ModItems {
public static void registerModItems() {
PrismaSteelItems.registerPrismaItems();
AshenSteelItems.registerAshenItems();
FractalDiamondItems.registerFractalItems();
HellfireDiamondItems.registerHellfireItems();
AcesBS.LOGGER.info("Registering Mod Items for " + AcesBS.MOD_ID);
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.ModArmorItem;
import com.acethewildfire.acesbs.trim.ModTrimMaterials;
import net.minecraft.item.*;
import net.minecraft.item.equipment.EquipmentType;
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",
setting -> new Item(setting.sword(ModToolMaterials.PRISMA_STEEL, 3, -2.4f)));
public static final Item PRISMA_STEEL_SHOVEL = ModItems.registerItem("prisma_steel_shovel",
@@ -134,11 +134,13 @@ public class CigaretteLemon extends Item {
World.ExplosionSourceType.NONE
);
user.damage(
(ServerWorld) world,
user.getDamageSources().explosion(user, user),
20F
);
if (world instanceof ServerWorld serverWorld) {
user.damage(
serverWorld,
user.getDamageSources().explosion(user, user),
20F
);
}
@@ -39,6 +39,8 @@ public class ModTrimMaterials {
ArmorTrimMaterial trimMaterial = new ArmorTrimMaterial(ArmorTrimAssets.of(armorTrimKey.getValue().getPath()),
Text.translatable(Util.createTranslationKey("trim_material", armorTrimKey.getValue())).fillStyle(style));
AcesBS.LOGGER.info(Util.createTranslationKey("trim_material", armorTrimKey.getValue()));
registerable.register(armorTrimKey, trimMaterial);
}
@@ -7,6 +7,8 @@ import net.minecraft.registry.RegistryKeys;
import net.minecraft.registry.tag.TagKey;
import net.minecraft.util.Identifier;
import static net.fabricmc.fabric.api.tag.convention.v2.TagUtil.C_TAG_NAMESPACE;
public class ModTags {
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_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){
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 {
@@ -28,8 +38,15 @@ public class ModTags {
public static final TagKey<Item> PLATES_REPAIR = createTag("plates_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){
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;
import com.acethewildfire.acesbs.AcesBS;
import com.acethewildfire.acesbs.AcesBSClient;
import com.acethewildfire.acesbs.item.ModItems;
import com.acethewildfire.acesbs.item.PrismaSteelItems;
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.enchantment.Enchantment;
import net.minecraft.enchantment.Enchantments;
@@ -13,30 +17,34 @@ import net.minecraft.item.Items;
import net.minecraft.loot.LootPool;
import net.minecraft.loot.LootTable;
import net.minecraft.loot.condition.InvertedLootCondition;
import net.minecraft.loot.condition.LocationCheckLootCondition;
import net.minecraft.loot.condition.LootCondition;
import net.minecraft.loot.condition.MatchToolLootCondition;
import net.minecraft.loot.entry.ItemEntry;
import net.minecraft.loot.function.ApplyBonusLootFunction;
import net.minecraft.loot.function.ExplosionDecayLootFunction;
import net.minecraft.loot.provider.number.UniformLootNumberProvider;
import net.minecraft.predicate.BlockPredicate;
import net.minecraft.predicate.NumberRange;
import net.minecraft.predicate.component.ComponentPredicateTypes;
import net.minecraft.predicate.component.ComponentsPredicate;
import net.minecraft.predicate.entity.LocationPredicate;
import net.minecraft.predicate.item.EnchantmentPredicate;
import net.minecraft.predicate.item.EnchantmentsPredicate;
import net.minecraft.predicate.item.ItemPredicate;
import net.minecraft.registry.RegistryEntryLookup;
import net.minecraft.registry.RegistryKey;
import net.minecraft.registry.RegistryKeys;
import net.minecraft.registry.RegistryWrapper;
import net.minecraft.registry.*;
import net.minecraft.registry.entry.RegistryEntry;
import net.minecraft.registry.entry.RegistryEntryList;
import net.minecraft.registry.tag.TagKey;
import net.minecraft.util.Identifier;
import java.util.ArrayList;
import java.util.List;
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 static LootCondition.Builder specialToolCondition(RegistryEntryLookup<Item> lookup, ItemConvertible... tools) {
return MatchToolLootCondition.builder(
@@ -46,53 +54,24 @@ public class UpdateRecipies {
}
public static void updateVanilla(){
AcesBS.LOGGER.info("Updating vanilla Ore Drops for Prisma Steel");
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);
AcesBS.LOGGER.info("Updating vanilla and modded Ore Drops for Prisma Steel Tools");
LootTableEvents.MODIFY.register((key, tableBuilder, source, wrapperLookup) -> {
RegistryWrapper.Impl<Enchantment> impl = wrapperLookup.getOrThrow(RegistryKeys.ENCHANTMENT);
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(
ItemPredicate.Builder.create().components(
ComponentsPredicate.Builder.create()
@@ -104,27 +83,25 @@ public class UpdateRecipies {
)
);
if (source.isBuiltin() && ores.contains(key)) {
LootPool.Builder extraPool = LootPool.builder()
.rolls(UniformLootNumberProvider.create(1, 2))
.conditionally(InvertedLootCondition.builder(silkTouchCondition))
.conditionally(specialToolCondition(itemLookup, PrismaSteelItems.PRISMA_STEEL_PICKAXE, PrismaSteelItems.PRISMA_STEEL_HAMMER))
.with(ItemEntry.builder(Items.AIR).weight(460))
.with(ItemEntry.builder(Items.COAL).weight(12))
.with(ItemEntry.builder(Items.RAW_COPPER).weight(10))
.with(ItemEntry.builder(Items.RAW_IRON).weight(6))
.with(ItemEntry.builder(Items.RAW_GOLD).weight(4))
.with(ItemEntry.builder(Items.LAPIS_LAZULI).weight(3))
.with(ItemEntry.builder(Items.REDSTONE).weight(2))
.with(ItemEntry.builder(ModItems.RAW_ENTROPY).weight(1))
.with(ItemEntry.builder(Items.DIAMOND).weight(1))
.with(ItemEntry.builder(Items.EMERALD).weight(1))
.apply(ApplyBonusLootFunction.oreDrops(impl.getOrThrow(Enchantments.FORTUNE)))
.apply(ExplosionDecayLootFunction.builder());
LootPool.Builder extraPool = LootPool.builder()
.rolls(UniformLootNumberProvider.create(1, 2))
.conditionally(InvertedLootCondition.builder(silkTouchCondition))
.conditionally(specialToolCondition(itemLookup, PrismaSteelItems.PRISMA_STEEL_PICKAXE, PrismaSteelItems.PRISMA_STEEL_HAMMER))
.with(ItemEntry.builder(Items.AIR).weight(460))
.with(ItemEntry.builder(Items.COAL).weight(12))
.with(ItemEntry.builder(Items.RAW_COPPER).weight(10))
.with(ItemEntry.builder(Items.RAW_IRON).weight(6))
.with(ItemEntry.builder(Items.RAW_GOLD).weight(4))
.with(ItemEntry.builder(Items.LAPIS_LAZULI).weight(3))
.with(ItemEntry.builder(Items.REDSTONE).weight(2))
.with(ItemEntry.builder(ModItems.RAW_ENTROPY).weight(1))
.with(ItemEntry.builder(Items.DIAMOND).weight(1))
.with(ItemEntry.builder(Items.EMERALD).weight(1))
.apply(ApplyBonusLootFunction.oreDrops(impl.getOrThrow(Enchantments.FORTUNE)))
.apply(ExplosionDecayLootFunction.builder());
// Add our extra drop pool to loot table
tableBuilder.pool(extraPool);
}
// Add our extra drop pool to loot table
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",
"textures": [
"trims/entity/humanoid/coast",
"trims/entity/humanoid_leggings/coast_leggings",
"trims/entity/humanoid_leggings/coast",
"trims/entity/humanoid/sentry",
"trims/entity/humanoid_leggings/sentry_leggings",
"trims/entity/humanoid_leggings/sentry",
"trims/entity/humanoid/dune",
"trims/entity/humanoid_leggings/dune_leggings",
"trims/entity/humanoid_leggings/dune",
"trims/entity/humanoid/wild",
"trims/entity/humanoid_leggings/wild_leggings",
"trims/entity/humanoid_leggings/wild",
"trims/entity/humanoid/ward",
"trims/entity/humanoid_leggings/ward_leggings",
"trims/entity/humanoid_leggings/ward",
"trims/entity/humanoid/eye",
"trims/entity/humanoid_leggings/eye_leggings",
"trims/entity/humanoid_leggings/eye",
"trims/entity/humanoid/vex",
"trims/entity/humanoid_leggings/vex_leggings",
"trims/entity/humanoid_leggings/vex",
"trims/entity/humanoid/tide",
"trims/entity/humanoid_leggings/tide_leggings",
"trims/entity/humanoid_leggings/tide",
"trims/entity/humanoid/snout",
"trims/entity/humanoid_leggings/snout_leggings",
"trims/entity/humanoid_leggings/snout",
"trims/entity/humanoid/rib",
"trims/entity/humanoid_leggings/rib_leggings",
"trims/entity/humanoid_leggings/rib",
"trims/entity/humanoid/spire",
"trims/entity/humanoid_leggings/spire_leggings",
"trims/entity/humanoid_leggings/spire",
"trims/entity/humanoid/wayfinder",
"trims/entity/humanoid_leggings/wayfinder_leggings",
"trims/entity/humanoid_leggings/wayfinder",
"trims/entity/humanoid/shaper",
"trims/entity/humanoid_leggings/shaper_leggings",
"trims/entity/humanoid_leggings/shaper",
"trims/entity/humanoid/silence",
"trims/entity/humanoid_leggings/silence_leggings",
"trims/entity/humanoid_leggings/silence",
"trims/entity/humanoid/raiser",
"trims/entity/humanoid_leggings/raiser_leggings",
"trims/entity/humanoid_leggings/raiser",
"trims/entity/humanoid/host",
"trims/entity/humanoid_leggings/host_leggings",
"trims/entity/humanoid_leggings/host",
"acesbs:trims/entity/humanoid/prisma",
"acesbs:trims/entity/humanoid_leggings/prisma",
"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"
}
}