Lizard
This commit is contained in:
@@ -0,0 +1,118 @@
|
||||
{
|
||||
"variants": {
|
||||
"face=ceiling,facing=east,powered=false": {
|
||||
"model": "acesbs:block/lizard_button",
|
||||
"x": 180,
|
||||
"y": 270
|
||||
},
|
||||
"face=ceiling,facing=east,powered=true": {
|
||||
"model": "acesbs:block/lizard_button_pressed",
|
||||
"x": 180,
|
||||
"y": 270
|
||||
},
|
||||
"face=ceiling,facing=north,powered=false": {
|
||||
"model": "acesbs:block/lizard_button",
|
||||
"x": 180,
|
||||
"y": 180
|
||||
},
|
||||
"face=ceiling,facing=north,powered=true": {
|
||||
"model": "acesbs:block/lizard_button_pressed",
|
||||
"x": 180,
|
||||
"y": 180
|
||||
},
|
||||
"face=ceiling,facing=south,powered=false": {
|
||||
"model": "acesbs:block/lizard_button",
|
||||
"x": 180
|
||||
},
|
||||
"face=ceiling,facing=south,powered=true": {
|
||||
"model": "acesbs:block/lizard_button_pressed",
|
||||
"x": 180
|
||||
},
|
||||
"face=ceiling,facing=west,powered=false": {
|
||||
"model": "acesbs:block/lizard_button",
|
||||
"x": 180,
|
||||
"y": 90
|
||||
},
|
||||
"face=ceiling,facing=west,powered=true": {
|
||||
"model": "acesbs:block/lizard_button_pressed",
|
||||
"x": 180,
|
||||
"y": 90
|
||||
},
|
||||
"face=floor,facing=east,powered=false": {
|
||||
"model": "acesbs:block/lizard_button",
|
||||
"y": 90
|
||||
},
|
||||
"face=floor,facing=east,powered=true": {
|
||||
"model": "acesbs:block/lizard_button_pressed",
|
||||
"y": 90
|
||||
},
|
||||
"face=floor,facing=north,powered=false": {
|
||||
"model": "acesbs:block/lizard_button"
|
||||
},
|
||||
"face=floor,facing=north,powered=true": {
|
||||
"model": "acesbs:block/lizard_button_pressed"
|
||||
},
|
||||
"face=floor,facing=south,powered=false": {
|
||||
"model": "acesbs:block/lizard_button",
|
||||
"y": 180
|
||||
},
|
||||
"face=floor,facing=south,powered=true": {
|
||||
"model": "acesbs:block/lizard_button_pressed",
|
||||
"y": 180
|
||||
},
|
||||
"face=floor,facing=west,powered=false": {
|
||||
"model": "acesbs:block/lizard_button",
|
||||
"y": 270
|
||||
},
|
||||
"face=floor,facing=west,powered=true": {
|
||||
"model": "acesbs:block/lizard_button_pressed",
|
||||
"y": 270
|
||||
},
|
||||
"face=wall,facing=east,powered=false": {
|
||||
"model": "acesbs:block/lizard_button",
|
||||
"uvlock": true,
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"face=wall,facing=east,powered=true": {
|
||||
"model": "acesbs:block/lizard_button_pressed",
|
||||
"uvlock": true,
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"face=wall,facing=north,powered=false": {
|
||||
"model": "acesbs:block/lizard_button",
|
||||
"uvlock": true,
|
||||
"x": 90
|
||||
},
|
||||
"face=wall,facing=north,powered=true": {
|
||||
"model": "acesbs:block/lizard_button_pressed",
|
||||
"uvlock": true,
|
||||
"x": 90
|
||||
},
|
||||
"face=wall,facing=south,powered=false": {
|
||||
"model": "acesbs:block/lizard_button",
|
||||
"uvlock": true,
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"face=wall,facing=south,powered=true": {
|
||||
"model": "acesbs:block/lizard_button_pressed",
|
||||
"uvlock": true,
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"face=wall,facing=west,powered=false": {
|
||||
"model": "acesbs:block/lizard_button",
|
||||
"uvlock": true,
|
||||
"x": 90,
|
||||
"y": 270
|
||||
},
|
||||
"face=wall,facing=west,powered=true": {
|
||||
"model": "acesbs:block/lizard_button_pressed",
|
||||
"uvlock": true,
|
||||
"x": 90,
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"variants": {
|
||||
"": {
|
||||
"model": "acesbs:block/lizard_planks"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"parent": "minecraft:block/button",
|
||||
"textures": {
|
||||
"texture": "acesbs:block/lizard_planks"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"parent": "minecraft:block/button_inventory",
|
||||
"textures": {
|
||||
"texture": "acesbs:block/lizard_planks"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"parent": "minecraft:block/button_pressed",
|
||||
"textures": {
|
||||
"texture": "acesbs:block/lizard_planks"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"parent": "minecraft:block/cube_all",
|
||||
"textures": {
|
||||
"all": "acesbs:block/lizard_planks"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"parent": "acesbs:block/lizard_button_inventory"
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"parent": "acesbs:block/lizard_planks"
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"criteria": {
|
||||
"has_green_dye": {
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"items": "minecraft:green_dye"
|
||||
}
|
||||
]
|
||||
},
|
||||
"trigger": "minecraft:inventory_changed"
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"conditions": {
|
||||
"recipe": "acesbs:lizard_planks"
|
||||
},
|
||||
"trigger": "minecraft:recipe_unlocked"
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_the_recipe",
|
||||
"has_green_dye"
|
||||
]
|
||||
],
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"acesbs:lizard_planks"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"criteria": {
|
||||
"has_lizard_planks": {
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"items": "acesbs:lizard_planks"
|
||||
}
|
||||
]
|
||||
},
|
||||
"trigger": "minecraft:inventory_changed"
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"conditions": {
|
||||
"recipe": "acesbs:lizard_button"
|
||||
},
|
||||
"trigger": "minecraft:recipe_unlocked"
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_the_recipe",
|
||||
"has_lizard_planks"
|
||||
]
|
||||
],
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"acesbs:lizard_button"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"type": "minecraft:crafting_shapeless",
|
||||
"category": "redstone",
|
||||
"ingredients": [
|
||||
{
|
||||
"item": "acesbs:lizard_planks"
|
||||
}
|
||||
],
|
||||
"result": {
|
||||
"count": 1,
|
||||
"id": "acesbs:lizard_button"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"type": "minecraft:crafting_shapeless",
|
||||
"category": "building",
|
||||
"ingredients": [
|
||||
{
|
||||
"item": "minecraft:birch_planks"
|
||||
},
|
||||
{
|
||||
"item": "minecraft:birch_planks"
|
||||
},
|
||||
{
|
||||
"item": "minecraft:birch_planks"
|
||||
},
|
||||
{
|
||||
"item": "minecraft:birch_planks"
|
||||
},
|
||||
{
|
||||
"item": "acesbs:raw_entropy"
|
||||
},
|
||||
{
|
||||
"item": "minecraft:green_dye"
|
||||
}
|
||||
],
|
||||
"result": {
|
||||
"count": 4,
|
||||
"id": "acesbs:lizard_planks"
|
||||
}
|
||||
}
|
||||
@@ -4,10 +4,13 @@ import com.acethewildfire.acesbs.block.ModBlocks;
|
||||
import com.acethewildfire.acesbs.component.ModDataComponentTypes;
|
||||
import com.acethewildfire.acesbs.item.ModItemGroups;
|
||||
import com.acethewildfire.acesbs.item.ModItems;
|
||||
import com.acethewildfire.acesbs.sounds.ModSounds;
|
||||
import com.acethewildfire.acesbs.util.HammerUsageEvent;
|
||||
import com.acethewildfire.acesbs.util.UpdateRecipies;
|
||||
import com.acethewildfire.acesbs.util.YouMonsterEvent;
|
||||
import net.fabricmc.api.ModInitializer;
|
||||
|
||||
import net.fabricmc.fabric.api.event.player.AttackEntityCallback;
|
||||
import net.fabricmc.fabric.api.event.player.PlayerBlockBreakEvents;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
@@ -30,11 +33,13 @@ public class AcesBS implements ModInitializer {
|
||||
ModItemGroups.registerItemGroups();
|
||||
ModItems.registerModItems();
|
||||
ModBlocks.registerModBlocks();
|
||||
ModSounds.registerSounds();
|
||||
|
||||
ModDataComponentTypes.registerDataComponentsTypes();
|
||||
|
||||
UpdateRecipies.updateVanilla();
|
||||
|
||||
PlayerBlockBreakEvents.BEFORE.register(new HammerUsageEvent());
|
||||
AttackEntityCallback.EVENT.register(new YouMonsterEvent());
|
||||
}
|
||||
}
|
||||
@@ -4,16 +4,27 @@ import com.acethewildfire.acesbs.AcesBS;
|
||||
import com.acethewildfire.acesbs.block.custom.EntropyBlock;
|
||||
import com.acethewildfire.acesbs.block.custom.EvilBlock;
|
||||
import com.acethewildfire.acesbs.block.custom.StableEntropyBlock;
|
||||
import com.acethewildfire.acesbs.sounds.ModSounds;
|
||||
import net.minecraft.block.*;
|
||||
import net.minecraft.block.enums.NoteBlockInstrument;
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
import net.minecraft.item.BlockItem;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.Items;
|
||||
import net.minecraft.registry.Registries;
|
||||
import net.minecraft.registry.Registry;
|
||||
import net.minecraft.registry.RegistryKey;
|
||||
import net.minecraft.sound.BlockSoundGroup;
|
||||
import net.minecraft.sound.SoundCategory;
|
||||
import net.minecraft.sound.SoundEvent;
|
||||
import net.minecraft.util.ActionResult;
|
||||
import net.minecraft.util.Identifier;
|
||||
import net.minecraft.util.hit.BlockHitResult;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.intprovider.UniformIntProvider;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.WorldAccess;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.function.ToIntFunction;
|
||||
|
||||
@@ -133,6 +144,37 @@ public class ModBlocks {
|
||||
.nonOpaque()
|
||||
));
|
||||
|
||||
public static final Block LIZARD_PLANKS = registerBlock("lizard_planks",
|
||||
new Block(
|
||||
AbstractBlock.Settings.create()
|
||||
.mapColor(MapColor.DARK_GREEN)
|
||||
.strength(2.0F, 3.0F)
|
||||
.sounds(BlockSoundGroup.WOOD)
|
||||
.burnable()
|
||||
.noCollision()
|
||||
));
|
||||
|
||||
public static final Block LIZARD_BUTTON = registerBlock("lizard_button",
|
||||
new ButtonBlock(BlockSetType.BIRCH, 1,
|
||||
AbstractBlock.Settings.create()
|
||||
.mapColor(MapColor.DARK_GREEN)
|
||||
.strength(2.0F, 3.0F)
|
||||
.sounds(BlockSoundGroup.WOOD)
|
||||
.burnable()
|
||||
.noCollision()
|
||||
){
|
||||
private final BlockSetType blockSetType = BlockSetType.BIRCH;
|
||||
|
||||
// @Override
|
||||
// protected void playClickSound(@Nullable PlayerEntity player, WorldAccess world, BlockPos pos, boolean powered) {
|
||||
// world.playSound(powered ? player : null, pos, ModSounds.LIZARD, SoundCategory.BLOCKS);
|
||||
// }
|
||||
@Override
|
||||
protected SoundEvent getClickSound(boolean powered) {
|
||||
return powered ? ModSounds.LIZARD : this.blockSetType.buttonClickOff();
|
||||
}
|
||||
});
|
||||
|
||||
public static final Block EVIL_BLOCK = registerBlock("evil_block",
|
||||
new EvilBlock(AbstractBlock.Settings.create()
|
||||
.strength(5f)
|
||||
|
||||
@@ -23,8 +23,12 @@ public class ModModelProvider extends FabricModelProvider {
|
||||
blockStateModelGenerator.registerSimpleCubeAll(ModBlocks.STABLE_ENTROPY_BLOCK);
|
||||
blockStateModelGenerator.registerSimpleCubeAll(ModBlocks.PRISMA_STEEL_BLOCK);
|
||||
|
||||
BlockStateModelGenerator.BlockTexturePool lizardPool = blockStateModelGenerator.registerCubeAllModelTexturePool(ModBlocks.LIZARD_PLANKS);
|
||||
lizardPool.button(ModBlocks.LIZARD_BUTTON);
|
||||
|
||||
BlockStateModelGenerator.BlockTexturePool lemonwoodPool = blockStateModelGenerator.registerCubeAllModelTexturePool(ModBlocks.LEMONWOOD_PLANKS);
|
||||
|
||||
|
||||
lemonwoodPool.stairs(ModBlocks.LEMONWOOD_STAIRS);
|
||||
lemonwoodPool.slab(ModBlocks.LEMONWOOD_SLAB);
|
||||
|
||||
|
||||
@@ -25,6 +25,91 @@ public class ModRecipeProvider extends FabricRecipeProvider {
|
||||
super(output, registriesFuture);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void generate(RecipeExporter recipeExporter) {
|
||||
|
||||
List<ItemConvertible> ENTROPY_SMELTABLES = List.of(ModItems.RAW_ENTROPY, ModBlocks.ENTROPY_ORE);
|
||||
|
||||
offerBlasting(recipeExporter, ENTROPY_SMELTABLES, RecipeCategory.MISC, ModItems.STABLE_ENTROPY, 0.5f, 2000, "stable_entropy");
|
||||
|
||||
offerReversibleCompactingRecipes(recipeExporter, RecipeCategory.BUILDING_BLOCKS, ModItems.RAW_ENTROPY, RecipeCategory.DECORATIONS, ModBlocks.ENTROPY_BLOCK);
|
||||
offerReversibleCompactingRecipes(recipeExporter, RecipeCategory.BUILDING_BLOCKS, ModItems.STABLE_ENTROPY, RecipeCategory.DECORATIONS, ModBlocks.STABLE_ENTROPY_BLOCK);
|
||||
offerReversibleCompactingRecipes(recipeExporter, RecipeCategory.BUILDING_BLOCKS, ModItems.PRISMA_STEEL, RecipeCategory.DECORATIONS, ModBlocks.PRISMA_STEEL_BLOCK);
|
||||
|
||||
offerAllFoodCookingRecipes(recipeExporter, 200, ModItems.LEMON, ModItems.COOKED_LEMON, 0.35F);
|
||||
|
||||
ShapedRecipeJsonBuilder.create(RecipeCategory.COMBAT, ModItems.ORACLE_LEMON)
|
||||
.pattern("###")
|
||||
.pattern("#L#")
|
||||
.pattern("###")
|
||||
.input('#', ModItems.STABLE_ENTROPY)
|
||||
.input('L', ModItems.LEMON)
|
||||
.criterion(hasItem(ModItems.LEMON), conditionsFromItem(ModItems.LEMON))
|
||||
.offerTo(recipeExporter);
|
||||
|
||||
|
||||
ShapelessRecipeJsonBuilder.create(RecipeCategory.BUILDING_BLOCKS, ModBlocks.LIZARD_PLANKS, 4)
|
||||
.input(Blocks.BIRCH_PLANKS, 4)
|
||||
.input(ModItems.RAW_ENTROPY, 1)
|
||||
.input(Items.GREEN_DYE, 1)
|
||||
.criterion(hasItem(Items.GREEN_DYE), conditionsFromItem(Items.GREEN_DYE))
|
||||
.offerTo(recipeExporter);
|
||||
|
||||
ShapelessRecipeJsonBuilder.create(RecipeCategory.REDSTONE, ModBlocks.LIZARD_BUTTON, 1)
|
||||
.input(ModBlocks.LIZARD_PLANKS, 1)
|
||||
.criterion(hasItem(ModBlocks.LIZARD_PLANKS), conditionsFromItem(ModBlocks.LIZARD_PLANKS))
|
||||
.offerTo(recipeExporter);
|
||||
|
||||
ShapelessRecipeJsonBuilder.create(RecipeCategory.BUILDING_BLOCKS, ModBlocks.LEMONWOOD_PLANKS, 4)
|
||||
.input(Blocks.BIRCH_PLANKS, 4)
|
||||
.input(ModItems.LEMON, 1)
|
||||
.criterion(hasItem(ModItems.LEMON), conditionsFromItem(ModItems.LEMON))
|
||||
.offerTo(recipeExporter);
|
||||
|
||||
createStairsRecipe(ModBlocks.LEMONWOOD_STAIRS, Ingredient.ofItems(ModBlocks.LEMONWOOD_PLANKS))
|
||||
.criterion(hasItem(ModBlocks.LEMONWOOD_PLANKS), conditionsFromItem(ModBlocks.LEMONWOOD_PLANKS))
|
||||
.offerTo(recipeExporter);
|
||||
createSlabRecipe(RecipeCategory.BUILDING_BLOCKS, ModBlocks.LEMONWOOD_SLAB, Ingredient.ofItems(ModBlocks.LEMONWOOD_PLANKS))
|
||||
.criterion(hasItem(ModBlocks.LEMONWOOD_PLANKS), conditionsFromItem(ModBlocks.LEMONWOOD_PLANKS))
|
||||
.offerTo(recipeExporter);
|
||||
|
||||
ShapelessRecipeJsonBuilder.create(RecipeCategory.REDSTONE, ModBlocks.LEMONWOOD_BUTTON, 1)
|
||||
.input(ModBlocks.LEMONWOOD_PLANKS, 1)
|
||||
.criterion(hasItem(ModBlocks.LEMONWOOD_PLANKS), conditionsFromItem(ModBlocks.LEMONWOOD_PLANKS))
|
||||
.offerTo(recipeExporter);
|
||||
createPressurePlateRecipe(RecipeCategory.REDSTONE, ModBlocks.LEMONWOOD_PRESSURE_PLATE, Ingredient.ofItems(ModBlocks.LEMONWOOD_PLANKS))
|
||||
.criterion(hasItem(ModBlocks.LEMONWOOD_PLANKS), conditionsFromItem(ModBlocks.LEMONWOOD_PLANKS))
|
||||
.offerTo(recipeExporter);
|
||||
|
||||
createFenceRecipe(ModBlocks.LEMONWOOD_FENCE, Ingredient.ofItems(ModBlocks.LEMONWOOD_PLANKS))
|
||||
.criterion(hasItem(ModBlocks.LEMONWOOD_PLANKS), conditionsFromItem(ModBlocks.LEMONWOOD_PLANKS))
|
||||
.offerTo(recipeExporter);
|
||||
createFenceGateRecipe(ModBlocks.LEMONWOOD_FENCE_GATE, Ingredient.ofItems(ModBlocks.LEMONWOOD_PLANKS))
|
||||
.criterion(hasItem(ModBlocks.LEMONWOOD_PLANKS), conditionsFromItem(ModBlocks.LEMONWOOD_PLANKS))
|
||||
.offerTo(recipeExporter);
|
||||
offerWallRecipe(recipeExporter, RecipeCategory.BUILDING_BLOCKS, ModBlocks.LEMONWOOD_WALL, ModBlocks.LEMONWOOD_PLANKS);
|
||||
|
||||
createDoorRecipe(ModBlocks.LEMONWOOD_DOOR, Ingredient.ofItems(ModBlocks.LEMONWOOD_PLANKS))
|
||||
.criterion(hasItem(ModBlocks.LEMONWOOD_PLANKS), conditionsFromItem(ModBlocks.LEMONWOOD_PLANKS))
|
||||
.offerTo(recipeExporter);
|
||||
createTrapdoorRecipe(ModBlocks.LEMONWOOD_TRAPDOOR, Ingredient.ofItems(ModBlocks.LEMONWOOD_PLANKS))
|
||||
.criterion(hasItem(ModBlocks.LEMONWOOD_PLANKS), conditionsFromItem(ModBlocks.LEMONWOOD_PLANKS))
|
||||
.offerTo(recipeExporter);
|
||||
|
||||
SwordRecipeJsonBuilder(recipeExporter, ModItems.PRISMA_STEEL_SWORD, ModItems.PRISMA_STEEL, Items.STICK, ModItems.PRISMA_STEEL);
|
||||
PickaxeRecipeJsonBuilder(recipeExporter, ModItems.PRISMA_STEEL_PICKAXE, ModItems.PRISMA_STEEL, Items.STICK, ModItems.PRISMA_STEEL);
|
||||
HammerRecipeJsonBuilder(recipeExporter, ModItems.PRISMA_STEEL_HAMMER, ModItems.PRISMA_STEEL, ModBlocks.PRISMA_STEEL_BLOCK, Items.STICK, ModItems.PRISMA_STEEL);
|
||||
AxeRecipeJsonBuilder(recipeExporter, ModItems.PRISMA_STEEL_AXE, ModItems.PRISMA_STEEL, Items.STICK, ModItems.PRISMA_STEEL);
|
||||
ShovelRecipeJsonBuilder(recipeExporter, ModItems.PRISMA_STEEL_SHOVEL, ModItems.PRISMA_STEEL, Items.STICK, ModItems.PRISMA_STEEL);
|
||||
HoeRecipeJsonBuilder(recipeExporter, ModItems.PRISMA_STEEL_HOE, ModItems.PRISMA_STEEL, Items.STICK, ModItems.PRISMA_STEEL);
|
||||
|
||||
offerSmithingTrimRecipe(recipeExporter, ModItems.PRISMA_SMITHING_TEMPLATE, Identifier.of(AcesBS.MOD_ID, "prisma"));
|
||||
|
||||
// For 2+ recipes with the same RESULT use
|
||||
// .offerTo(recipeExporter, Identifier.of(AcesBS.MOD_ID, "output_item_from_input_item"));
|
||||
}
|
||||
|
||||
|
||||
private void SwordRecipeJsonBuilder(RecipeExporter recipeExporter, ItemConvertible result, ItemConvertible headMaterial, ItemConvertible handleMaterial, ItemConvertible criterionItem){
|
||||
ShapedRecipeJsonBuilder.create(RecipeCategory.COMBAT, result)
|
||||
.pattern(" # ")
|
||||
@@ -103,76 +188,6 @@ public class ModRecipeProvider extends FabricRecipeProvider {
|
||||
.offerTo(recipeExporter, Identifier.of(AcesBS.MOD_ID, result.asItem().getName().getString() + ".right"));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void generate(RecipeExporter recipeExporter) {
|
||||
|
||||
List<ItemConvertible> ENTROPY_SMELTABLES = List.of(ModItems.RAW_ENTROPY, ModBlocks.ENTROPY_ORE);
|
||||
|
||||
offerBlasting(recipeExporter, ENTROPY_SMELTABLES, RecipeCategory.MISC, ModItems.STABLE_ENTROPY, 0.5f, 2000, "stable_entropy");
|
||||
|
||||
offerReversibleCompactingRecipes(recipeExporter, RecipeCategory.BUILDING_BLOCKS, ModItems.RAW_ENTROPY, RecipeCategory.DECORATIONS, ModBlocks.ENTROPY_BLOCK);
|
||||
offerReversibleCompactingRecipes(recipeExporter, RecipeCategory.BUILDING_BLOCKS, ModItems.STABLE_ENTROPY, RecipeCategory.DECORATIONS, ModBlocks.STABLE_ENTROPY_BLOCK);
|
||||
offerReversibleCompactingRecipes(recipeExporter, RecipeCategory.BUILDING_BLOCKS, ModItems.PRISMA_STEEL, RecipeCategory.DECORATIONS, ModBlocks.PRISMA_STEEL_BLOCK);
|
||||
|
||||
offerAllFoodCookingRecipes(recipeExporter, 200, ModItems.LEMON, ModItems.COOKED_LEMON, 0.35F);
|
||||
|
||||
ShapedRecipeJsonBuilder.create(RecipeCategory.COMBAT, ModItems.ORACLE_LEMON)
|
||||
.pattern("###")
|
||||
.pattern("#L#")
|
||||
.pattern("###")
|
||||
.input('#', ModItems.STABLE_ENTROPY)
|
||||
.input('L', ModItems.LEMON)
|
||||
.criterion(hasItem(ModItems.LEMON), conditionsFromItem(ModItems.LEMON))
|
||||
.offerTo(recipeExporter);
|
||||
|
||||
ShapelessRecipeJsonBuilder.create(RecipeCategory.BUILDING_BLOCKS, ModBlocks.LEMONWOOD_PLANKS, 4)
|
||||
.input(Blocks.BIRCH_PLANKS, 4)
|
||||
.input(ModItems.LEMON, 1)
|
||||
.criterion(hasItem(ModItems.LEMON), conditionsFromItem(ModItems.LEMON))
|
||||
.offerTo(recipeExporter);
|
||||
|
||||
createStairsRecipe(ModBlocks.LEMONWOOD_STAIRS, Ingredient.ofItems(ModBlocks.LEMONWOOD_PLANKS))
|
||||
.criterion(hasItem(ModBlocks.LEMONWOOD_PLANKS), conditionsFromItem(ModBlocks.LEMONWOOD_PLANKS))
|
||||
.offerTo(recipeExporter);
|
||||
createSlabRecipe(RecipeCategory.BUILDING_BLOCKS, ModBlocks.LEMONWOOD_SLAB, Ingredient.ofItems(ModBlocks.LEMONWOOD_PLANKS))
|
||||
.criterion(hasItem(ModBlocks.LEMONWOOD_PLANKS), conditionsFromItem(ModBlocks.LEMONWOOD_PLANKS))
|
||||
.offerTo(recipeExporter);
|
||||
|
||||
ShapelessRecipeJsonBuilder.create(RecipeCategory.REDSTONE, ModBlocks.LEMONWOOD_BUTTON, 1)
|
||||
.input(ModBlocks.LEMONWOOD_PLANKS, 1)
|
||||
.criterion(hasItem(ModBlocks.LEMONWOOD_PLANKS), conditionsFromItem(ModBlocks.LEMONWOOD_PLANKS))
|
||||
.offerTo(recipeExporter);
|
||||
createPressurePlateRecipe(RecipeCategory.REDSTONE, ModBlocks.LEMONWOOD_PRESSURE_PLATE, Ingredient.ofItems(ModBlocks.LEMONWOOD_PLANKS))
|
||||
.criterion(hasItem(ModBlocks.LEMONWOOD_PLANKS), conditionsFromItem(ModBlocks.LEMONWOOD_PLANKS))
|
||||
.offerTo(recipeExporter);
|
||||
|
||||
createFenceRecipe(ModBlocks.LEMONWOOD_FENCE, Ingredient.ofItems(ModBlocks.LEMONWOOD_PLANKS))
|
||||
.criterion(hasItem(ModBlocks.LEMONWOOD_PLANKS), conditionsFromItem(ModBlocks.LEMONWOOD_PLANKS))
|
||||
.offerTo(recipeExporter);
|
||||
createFenceGateRecipe(ModBlocks.LEMONWOOD_FENCE_GATE, Ingredient.ofItems(ModBlocks.LEMONWOOD_PLANKS))
|
||||
.criterion(hasItem(ModBlocks.LEMONWOOD_PLANKS), conditionsFromItem(ModBlocks.LEMONWOOD_PLANKS))
|
||||
.offerTo(recipeExporter);
|
||||
offerWallRecipe(recipeExporter, RecipeCategory.BUILDING_BLOCKS, ModBlocks.LEMONWOOD_WALL, ModBlocks.LEMONWOOD_PLANKS);
|
||||
|
||||
createDoorRecipe(ModBlocks.LEMONWOOD_DOOR, Ingredient.ofItems(ModBlocks.LEMONWOOD_PLANKS))
|
||||
.criterion(hasItem(ModBlocks.LEMONWOOD_PLANKS), conditionsFromItem(ModBlocks.LEMONWOOD_PLANKS))
|
||||
.offerTo(recipeExporter);
|
||||
createTrapdoorRecipe(ModBlocks.LEMONWOOD_TRAPDOOR, Ingredient.ofItems(ModBlocks.LEMONWOOD_PLANKS))
|
||||
.criterion(hasItem(ModBlocks.LEMONWOOD_PLANKS), conditionsFromItem(ModBlocks.LEMONWOOD_PLANKS))
|
||||
.offerTo(recipeExporter);
|
||||
|
||||
SwordRecipeJsonBuilder(recipeExporter, ModItems.PRISMA_STEEL_SWORD, ModItems.PRISMA_STEEL, Items.STICK, ModItems.PRISMA_STEEL);
|
||||
PickaxeRecipeJsonBuilder(recipeExporter, ModItems.PRISMA_STEEL_PICKAXE, ModItems.PRISMA_STEEL, Items.STICK, ModItems.PRISMA_STEEL);
|
||||
HammerRecipeJsonBuilder(recipeExporter, ModItems.PRISMA_STEEL_HAMMER, ModItems.PRISMA_STEEL, ModBlocks.PRISMA_STEEL_BLOCK, Items.STICK, ModItems.PRISMA_STEEL);
|
||||
AxeRecipeJsonBuilder(recipeExporter, ModItems.PRISMA_STEEL_AXE, ModItems.PRISMA_STEEL, Items.STICK, ModItems.PRISMA_STEEL);
|
||||
ShovelRecipeJsonBuilder(recipeExporter, ModItems.PRISMA_STEEL_SHOVEL, ModItems.PRISMA_STEEL, Items.STICK, ModItems.PRISMA_STEEL);
|
||||
HoeRecipeJsonBuilder(recipeExporter, ModItems.PRISMA_STEEL_HOE, ModItems.PRISMA_STEEL, Items.STICK, ModItems.PRISMA_STEEL);
|
||||
|
||||
offerSmithingTrimRecipe(recipeExporter, ModItems.PRISMA_SMITHING_TEMPLATE, Identifier.of(AcesBS.MOD_ID, "prisma"));
|
||||
|
||||
// For 2+ recipes with the same RESULT use
|
||||
// .offerTo(recipeExporter, Identifier.of(AcesBS.MOD_ID, "output_item_from_input_item"));
|
||||
}
|
||||
|
||||
public void offerAllFoodCookingRecipes (RecipeExporter recipeExporter, int baseCookingTime, ItemConvertible raw_item, ItemConvertible cooked_item, float experience ){
|
||||
offerFoodCookingRecipe(recipeExporter, "smoking", RecipeSerializer.SMOKING, SmokingRecipe::new,baseCookingTime/2, raw_item, cooked_item, experience);
|
||||
|
||||
@@ -40,6 +40,9 @@ public class ModItemGroups {
|
||||
entries.add(ModBlocks.STABLE_ENTROPY_BLOCK);
|
||||
entries.add(ModBlocks.PRISMA_STEEL_BLOCK);
|
||||
|
||||
entries.add(ModBlocks.LIZARD_PLANKS);
|
||||
entries.add(ModBlocks.LIZARD_BUTTON);
|
||||
|
||||
entries.add(ModBlocks.LEMONWOOD_PLANKS);
|
||||
entries.add(ModBlocks.LEMONWOOD_STAIRS);
|
||||
entries.add(ModBlocks.LEMONWOOD_SLAB);
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
package com.acethewildfire.acesbs.sounds;
|
||||
|
||||
import com.acethewildfire.acesbs.AcesBS;
|
||||
import net.minecraft.registry.Registries;
|
||||
import net.minecraft.registry.Registry;
|
||||
import net.minecraft.sound.BlockSoundGroup;
|
||||
import net.minecraft.sound.SoundEvent;
|
||||
import net.minecraft.sound.SoundEvents;
|
||||
import net.minecraft.util.Identifier;
|
||||
|
||||
public class ModSounds {
|
||||
public static final SoundEvent LIZARD = registerSoundEvent("lizard");
|
||||
|
||||
// public static final BlockSoundGroup LIZARD_SOUNDS = new BlockSoundGroup(1f, 1f, SoundEvents.BLOCK_WOOD_BREAK, SoundEvents.BLOCK_WOOD_STEP, SoundEvents.BLOCK_WOOD_PLACE, SoundEvents.BLOCK_WOOD_HIT, SoundEvents.BLOCK_WOOD_FALL)
|
||||
|
||||
private static SoundEvent registerSoundEvent(String name){
|
||||
Identifier id = Identifier.of(AcesBS.MOD_ID, name);
|
||||
return Registry.register(Registries.SOUND_EVENT, id, SoundEvent.of(id));
|
||||
}
|
||||
|
||||
|
||||
public static void registerSounds(){
|
||||
AcesBS.LOGGER.info("Registering Mod Sounds for " + AcesBS.MOD_ID);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -37,6 +37,9 @@
|
||||
"block.acesbs.entropy_ore": "Entropic Ore",
|
||||
"block.acesbs.stable_entropy_block": "Block of Stabilized Entropy",
|
||||
|
||||
"block.acesbs.lizard_planks": "Lizard Planks",
|
||||
"block.acesbs.lizard_button": "Lizard Button",
|
||||
|
||||
"block.acesbs.lemonwood_planks": "Lemonwood Planks",
|
||||
"block.acesbs.lemonwood_stairs": "Lemonwood Stairs",
|
||||
"block.acesbs.lemonwood_slab": "Lemonwood Slab",
|
||||
@@ -50,8 +53,6 @@
|
||||
|
||||
"block.acesbs.evil_block": "Evil Block",
|
||||
|
||||
|
||||
|
||||
"itemgroup.acesbs.items": "Ace's BS Items",
|
||||
"itemgroup.acesbs.blocks": "Ace's BS Blocks",
|
||||
"itemgroup.acesbs.combat": "Ace's BS Combat",
|
||||
@@ -66,5 +67,7 @@
|
||||
"tooltip.acesbs.wand": "Changes blocks using Entropy",
|
||||
|
||||
"tooltip.acesbs.kaupen_bow": "§7§oThanks to §1Modding by Kaupenjoe§r",
|
||||
"tooltip.acesbs.kaupen_bow_2": "§7§oYou made minecraft modding easy.§r"
|
||||
"tooltip.acesbs.kaupen_bow_2": "§7§oYou made minecraft modding easy.§r",
|
||||
|
||||
"sounds.acesbs.lizard": "Lizard button"
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"lizard": {
|
||||
"subtitle": "sounds.acesbs.lizard",
|
||||
"sounds": [
|
||||
"acesbs:lizard"
|
||||
]
|
||||
}
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
|
After Width: | Height: | Size: 4.4 KiB |
Reference in New Issue
Block a user