added ores, blocks, recipes, archifments
@ -16,6 +16,14 @@ import net.minecraft.util.Identifier;
|
|||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.world.GameRules;
|
import net.minecraft.world.GameRules;
|
||||||
|
|
||||||
|
import net.fabricmc.fabric.api.biome.v1.BiomeModifications;
|
||||||
|
import net.fabricmc.fabric.api.biome.v1.BiomeSelectors;
|
||||||
|
import net.minecraft.registry.RegistryKey;
|
||||||
|
import net.minecraft.registry.RegistryKeys;
|
||||||
|
import net.minecraft.world.gen.GenerationStep;
|
||||||
|
|
||||||
|
import net.Chipperfluff.chipi.advancement.ModCriteria;
|
||||||
|
|
||||||
public class ChipiMod implements ModInitializer {
|
public class ChipiMod implements ModInitializer {
|
||||||
|
|
||||||
public static final String MOD_ID = "chipi";
|
public static final String MOD_ID = "chipi";
|
||||||
@ -31,6 +39,16 @@ public class ChipiMod implements ModInitializer {
|
|||||||
|
|
||||||
ModBlocks.register();
|
ModBlocks.register();
|
||||||
ModItems.register();
|
ModItems.register();
|
||||||
|
ModCriteria.register();
|
||||||
|
|
||||||
|
BiomeModifications.addFeature(
|
||||||
|
BiomeSelectors.foundInOverworld(),
|
||||||
|
GenerationStep.Feature.UNDERGROUND_ORES,
|
||||||
|
RegistryKey.of(
|
||||||
|
RegistryKeys.PLACED_FEATURE,
|
||||||
|
new Identifier("chipi", "chipper_ore")
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
CommandRegistrationCallback.EVENT.register(
|
CommandRegistrationCallback.EVENT.register(
|
||||||
(dispatcher, registryAccess, environment) ->
|
(dispatcher, registryAccess, environment) ->
|
||||||
|
|||||||
@ -0,0 +1,11 @@
|
|||||||
|
package net.Chipperfluff.chipi.advancement;
|
||||||
|
|
||||||
|
import net.minecraft.advancement.criterion.Criteria;
|
||||||
|
|
||||||
|
public class ModCriteria {
|
||||||
|
|
||||||
|
public static final PortalActivatedTrigger PORTAL_ACTIVATED =
|
||||||
|
Criteria.register(new PortalActivatedTrigger());
|
||||||
|
|
||||||
|
public static void register() {}
|
||||||
|
}
|
||||||
@ -0,0 +1,39 @@
|
|||||||
|
package net.Chipperfluff.chipi.advancement;
|
||||||
|
|
||||||
|
import com.google.gson.JsonObject;
|
||||||
|
import net.minecraft.advancement.AdvancementCriterion;
|
||||||
|
import net.minecraft.advancement.criterion.AbstractCriterion;
|
||||||
|
import net.minecraft.advancement.criterion.CriterionConditions;
|
||||||
|
import net.minecraft.server.network.ServerPlayerEntity;
|
||||||
|
import net.minecraft.util.Identifier;
|
||||||
|
import net.Chipperfluff.chipi.ChipiMod;
|
||||||
|
|
||||||
|
public class PortalActivatedTrigger extends AbstractCriterion<PortalActivatedTrigger.Conditions> {
|
||||||
|
|
||||||
|
public static final Identifier ID =
|
||||||
|
new Identifier(ChipiMod.MOD_ID, "portal_activated");
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Identifier getId() {
|
||||||
|
return ID;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected Conditions conditionsFromJson(
|
||||||
|
JsonObject obj,
|
||||||
|
net.minecraft.advancement.criterion.CriterionConditionsParser parser
|
||||||
|
) {
|
||||||
|
return new Conditions();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void trigger(ServerPlayerEntity player) {
|
||||||
|
this.trigger(player, conditions -> true);
|
||||||
|
}
|
||||||
|
|
||||||
|
// ================= CONDITIONS =================
|
||||||
|
public static class Conditions extends CriterionConditions {
|
||||||
|
public Conditions() {
|
||||||
|
super(ID, null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,39 @@
|
|||||||
|
package net.Chipperfluff.chipi.advancement;
|
||||||
|
|
||||||
|
import com.google.gson.JsonObject;
|
||||||
|
import net.minecraft.advancement.AdvancementCriterion;
|
||||||
|
import net.minecraft.advancement.criterion.AbstractCriterion;
|
||||||
|
import net.minecraft.advancement.criterion.CriterionConditions;
|
||||||
|
import net.minecraft.server.network.ServerPlayerEntity;
|
||||||
|
import net.minecraft.util.Identifier;
|
||||||
|
import net.Chipperfluff.chipi.ChipiMod;
|
||||||
|
|
||||||
|
public class PortalDestroyedTrigger extends AbstractCriterion<PortalDestroyedTrigger.Conditions> {
|
||||||
|
|
||||||
|
public static final Identifier ID =
|
||||||
|
new Identifier(ChipiMod.MOD_ID, "portal_destroyed");
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Identifier getId() {
|
||||||
|
return ID;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected Conditions conditionsFromJson(
|
||||||
|
JsonObject obj,
|
||||||
|
net.minecraft.advancement.criterion.CriterionConditionsParser parser
|
||||||
|
) {
|
||||||
|
return new Conditions();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void trigger(ServerPlayerEntity player) {
|
||||||
|
this.trigger(player, conditions -> true);
|
||||||
|
}
|
||||||
|
|
||||||
|
// ================= CONDITIONS =================
|
||||||
|
public static class Conditions extends CriterionConditions {
|
||||||
|
public Conditions() {
|
||||||
|
super(ID, null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -18,7 +18,7 @@ import net.minecraft.world.World;
|
|||||||
import net.minecraft.world.TeleportTarget;
|
import net.minecraft.world.TeleportTarget;
|
||||||
import net.minecraft.network.packet.s2c.play.PositionFlag;
|
import net.minecraft.network.packet.s2c.play.PositionFlag;
|
||||||
import java.util.EnumSet;
|
import java.util.EnumSet;
|
||||||
|
import net.Chipperfluff.chipi.advancement.ModCriteria;
|
||||||
|
|
||||||
public class ChipperPortalBlock extends Block {
|
public class ChipperPortalBlock extends Block {
|
||||||
|
|
||||||
@ -78,6 +78,7 @@ public class ChipperPortalBlock extends Block {
|
|||||||
if (!player.isCreative()) {
|
if (!player.isCreative()) {
|
||||||
return 0.0F; // impossible to break
|
return 0.0F; // impossible to break
|
||||||
}
|
}
|
||||||
|
ModCriteria.PORTAL_DESTROYED.trigger(player);
|
||||||
return super.calcBlockBreakingDelta(state, player, world, pos);
|
return super.calcBlockBreakingDelta(state, player, world, pos);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -5,6 +5,7 @@ import net.minecraft.server.world.ServerWorld;
|
|||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.util.math.Direction;
|
import net.minecraft.util.math.Direction;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
import net.Chipperfluff.chipi.advancement.ModCriteria;
|
||||||
|
|
||||||
public class ChipperPortalShape {
|
public class ChipperPortalShape {
|
||||||
|
|
||||||
@ -25,6 +26,7 @@ public class ChipperPortalShape {
|
|||||||
ChipperPortalShape shape = new ChipperPortalShape(world, placedPos, axis);
|
ChipperPortalShape shape = new ChipperPortalShape(world, placedPos, axis);
|
||||||
if (shape.isValid()) {
|
if (shape.isValid()) {
|
||||||
shape.placePortal();
|
shape.placePortal();
|
||||||
|
ModCriteria.PORTAL_ACTIVATED.trigger(player);
|
||||||
System.out.println("[CHIPI] portal created at " + placedPos + " axis=" + axis);
|
System.out.println("[CHIPI] portal created at " + placedPos + " axis=" + axis);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,57 +2,66 @@ package net.Chipperfluff.chipi.block;
|
|||||||
|
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
import net.minecraft.block.AbstractBlock;
|
import net.minecraft.block.AbstractBlock;
|
||||||
|
import net.minecraft.block.Blocks;
|
||||||
|
import net.minecraft.block.MapColor;
|
||||||
import net.minecraft.registry.Registries;
|
import net.minecraft.registry.Registries;
|
||||||
import net.minecraft.registry.Registry;
|
import net.minecraft.registry.Registry;
|
||||||
import net.minecraft.util.Identifier;
|
import net.minecraft.util.Identifier;
|
||||||
import net.Chipperfluff.chipi.ChipiMod;
|
|
||||||
import net.Chipperfluff.chipi.block.ChipperFrameBlock;
|
|
||||||
import net.Chipperfluff.chipi.block.ChipperPortalBlock;
|
|
||||||
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
|
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
|
||||||
import net.minecraft.block.MapColor;
|
import net.Chipperfluff.chipi.ChipiMod;
|
||||||
|
|
||||||
public class ModBlocks {
|
public class ModBlocks {
|
||||||
|
|
||||||
public static final Block VOID_BLOCK = register(
|
public static final Block VOID_BLOCK = Registry.register(
|
||||||
"void_block",
|
Registries.BLOCK,
|
||||||
new VoidBlock(
|
new Identifier(ChipiMod.MOD_ID, "void_block"),
|
||||||
AbstractBlock.Settings.create()
|
new VoidBlock(
|
||||||
.strength(-1.0F, 3600000.0F) // vanilla unbreakable values
|
AbstractBlock.Settings.create()
|
||||||
.mapColor(MapColor.BLACK)
|
.strength(-1.0F, 3600000.0F)
|
||||||
.noCollision()
|
.mapColor(MapColor.BLACK)
|
||||||
.dropsNothing()
|
.noCollision()
|
||||||
)
|
.dropsNothing()
|
||||||
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
public static final Block CHIPPER_FRAME =
|
public static final Block CHIPPER_FRAME = Registry.register(
|
||||||
register(
|
Registries.BLOCK,
|
||||||
"chipper_frame",
|
new Identifier(ChipiMod.MOD_ID, "chipper_frame"),
|
||||||
new ChipperFrameBlock(
|
new ChipperFrameBlock(
|
||||||
FabricBlockSettings
|
FabricBlockSettings.create()
|
||||||
.create()
|
.strength(3.0f)
|
||||||
.strength(3.0f)
|
.requiresTool()
|
||||||
.requiresTool()
|
)
|
||||||
)
|
|
||||||
);
|
);
|
||||||
|
|
||||||
public static final Block CHIPPER_PORTAL = register(
|
public static final Block CHIPPER_PORTAL = Registry.register(
|
||||||
"chipper_portal",
|
Registries.BLOCK,
|
||||||
new ChipperPortalBlock(
|
new Identifier(ChipiMod.MOD_ID, "chipper_portal"),
|
||||||
FabricBlockSettings
|
new ChipperPortalBlock(
|
||||||
.create()
|
FabricBlockSettings.create()
|
||||||
.noCollision()
|
.noCollision()
|
||||||
.luminance(3)
|
.luminance(3)
|
||||||
.strength(-1.0f)
|
.strength(-1.0f)
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
private static Block register(String name, Block block) {
|
public static final Block CHIPPER_ORE = Registry.register(
|
||||||
return Registry.register(
|
Registries.BLOCK,
|
||||||
Registries.BLOCK,
|
new Identifier(ChipiMod.MOD_ID, "chipper_ore"),
|
||||||
new Identifier(ChipiMod.MOD_ID, name),
|
new Block(AbstractBlock.Settings
|
||||||
block
|
.copy(Blocks.IRON_ORE)
|
||||||
);
|
.requiresTool()
|
||||||
}
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
public static final Block CHIPPER_ALLOY_BLOCK = Registry.register(
|
||||||
|
Registries.BLOCK,
|
||||||
|
new Identifier(ChipiMod.MOD_ID, "chipper_alloy_block"),
|
||||||
|
new Block(AbstractBlock.Settings
|
||||||
|
.copy(Blocks.IRON_BLOCK)
|
||||||
|
.requiresTool()
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
public static void register() {}
|
public static void register() {}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -5,33 +5,69 @@ import net.minecraft.item.Item;
|
|||||||
import net.minecraft.registry.Registries;
|
import net.minecraft.registry.Registries;
|
||||||
import net.minecraft.registry.Registry;
|
import net.minecraft.registry.Registry;
|
||||||
import net.minecraft.util.Identifier;
|
import net.minecraft.util.Identifier;
|
||||||
|
import net.fabricmc.fabric.api.item.v1.FabricItemSettings;
|
||||||
import net.Chipperfluff.chipi.ChipiMod;
|
import net.Chipperfluff.chipi.ChipiMod;
|
||||||
import net.Chipperfluff.chipi.block.ModBlocks;
|
import net.Chipperfluff.chipi.block.ModBlocks;
|
||||||
|
|
||||||
public class ModItems {
|
public class ModItems {
|
||||||
|
|
||||||
public static final Item VOID_BLOCK = register(
|
// ===== BLOCK ITEMS =====
|
||||||
"void_block",
|
|
||||||
new BlockItem(ModBlocks.VOID_BLOCK, new Item.Settings())
|
public static final Item VOID_BLOCK = Registry.register(
|
||||||
|
Registries.ITEM,
|
||||||
|
new Identifier(ChipiMod.MOD_ID, "void_block"),
|
||||||
|
new BlockItem(ModBlocks.VOID_BLOCK, new FabricItemSettings())
|
||||||
);
|
);
|
||||||
|
|
||||||
public static final Item CHIPPER_FRAME = register(
|
public static final Item CHIPPER_FRAME = Registry.register(
|
||||||
"chipper_frame",
|
Registries.ITEM,
|
||||||
new BlockItem(ModBlocks.CHIPPER_FRAME, new Item.Settings())
|
new Identifier(ChipiMod.MOD_ID, "chipper_frame"),
|
||||||
|
new BlockItem(ModBlocks.CHIPPER_FRAME, new FabricItemSettings())
|
||||||
);
|
);
|
||||||
|
|
||||||
public static final Item CHIPPER_PORTAL = register(
|
public static final Item CHIPPER_PORTAL = Registry.register(
|
||||||
"chipper_portal",
|
Registries.ITEM,
|
||||||
new BlockItem(ModBlocks.CHIPPER_PORTAL, new Item.Settings())
|
new Identifier(ChipiMod.MOD_ID, "chipper_portal"),
|
||||||
|
new BlockItem(ModBlocks.CHIPPER_PORTAL, new FabricItemSettings())
|
||||||
);
|
);
|
||||||
|
|
||||||
private static Item register(String name, Item item) {
|
public static final Item CHIPPER_ORE = Registry.register(
|
||||||
return Registry.register(
|
Registries.ITEM,
|
||||||
Registries.ITEM,
|
new Identifier(ChipiMod.MOD_ID, "chipper_ore"),
|
||||||
new Identifier(ChipiMod.MOD_ID, name),
|
new BlockItem(ModBlocks.CHIPPER_ORE, new FabricItemSettings())
|
||||||
item
|
);
|
||||||
);
|
|
||||||
}
|
public static final Item CHIPPER_ALLOY_BLOCK = Registry.register(
|
||||||
|
Registries.ITEM,
|
||||||
|
new Identifier(ChipiMod.MOD_ID, "chipper_alloy_block"),
|
||||||
|
new BlockItem(ModBlocks.CHIPPER_ALLOY_BLOCK, new FabricItemSettings())
|
||||||
|
);
|
||||||
|
|
||||||
|
// ===== NORMAL ITEMS =====
|
||||||
|
|
||||||
|
public static final Item NUT = Registry.register(
|
||||||
|
Registries.ITEM,
|
||||||
|
new Identifier(ChipiMod.MOD_ID, "nut"),
|
||||||
|
new Item(new FabricItemSettings())
|
||||||
|
);
|
||||||
|
|
||||||
|
public static final Item RAW_CHIPPER_ORE = Registry.register(
|
||||||
|
Registries.ITEM,
|
||||||
|
new Identifier(ChipiMod.MOD_ID, "raw_chipper_ore"),
|
||||||
|
new Item(new FabricItemSettings())
|
||||||
|
);
|
||||||
|
|
||||||
|
public static final Item CHIPPER_INGOT = Registry.register(
|
||||||
|
Registries.ITEM,
|
||||||
|
new Identifier(ChipiMod.MOD_ID, "chipper_ingot"),
|
||||||
|
new Item(new FabricItemSettings())
|
||||||
|
);
|
||||||
|
|
||||||
|
public static final Item CHIPPER_ALLOY = Registry.register(
|
||||||
|
Registries.ITEM,
|
||||||
|
new Identifier(ChipiMod.MOD_ID, "chipper_alloy"),
|
||||||
|
new Item(new FabricItemSettings())
|
||||||
|
);
|
||||||
|
|
||||||
public static void register() {}
|
public static void register() {}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"variants": {
|
||||||
|
"": { "model": "chipi:block/chipper_alloy_block" }
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"variants": {
|
||||||
|
"": { "model": "chipi:block/chipper_ore" }
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:block/cube_all",
|
||||||
|
"textures": {
|
||||||
|
"all": "chipi:block/chipper_alloy_block"
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:block/cube_all",
|
||||||
|
"textures": {
|
||||||
|
"all": "chipi:block/chipper_ore"
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:item/generated",
|
||||||
|
"textures": {
|
||||||
|
"layer0": "chipi:item/chipper_alloy"
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"parent": "chipi:block/chipper_alloy_block"
|
||||||
|
}
|
||||||
@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:item/generated",
|
||||||
|
"textures": {
|
||||||
|
"layer0": "chipi:item/chipper_ingot"
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"parent": "chipi:block/chipper_ore"
|
||||||
|
}
|
||||||
6
src/main/resources/assets/chipi/models/item/nut.json
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:item/generated",
|
||||||
|
"textures": {
|
||||||
|
"layer0": "chipi:item/nut"
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:item/generated",
|
||||||
|
"textures": {
|
||||||
|
"layer0": "chipi:item/raw_chipper_ore"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
After Width: | Height: | Size: 1.1 KiB |
BIN
src/main/resources/assets/chipi/textures/block/chipper_ore.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
src/main/resources/assets/chipi/textures/item/chipper_alloy.png
Normal file
|
After Width: | Height: | Size: 901 B |
|
After Width: | Height: | Size: 1.1 KiB |
BIN
src/main/resources/assets/chipi/textures/item/chipper_ingot.png
Normal file
|
After Width: | Height: | Size: 733 B |
BIN
src/main/resources/assets/chipi/textures/item/chipper_ore.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
src/main/resources/assets/chipi/textures/item/nut.png
Normal file
|
After Width: | Height: | Size: 809 B |
|
After Width: | Height: | Size: 790 B |
@ -0,0 +1,17 @@
|
|||||||
|
{
|
||||||
|
"parent": "chipi:progression/light_portal",
|
||||||
|
"display": {
|
||||||
|
"icon": { "item": "chipi:chipper_portal" },
|
||||||
|
"title": "What Have You Done",
|
||||||
|
"description": "Enter the Chipi Dimension",
|
||||||
|
"frame": "challenge"
|
||||||
|
},
|
||||||
|
"criteria": {
|
||||||
|
"enter": {
|
||||||
|
"trigger": "minecraft:changed_dimension",
|
||||||
|
"conditions": {
|
||||||
|
"to": "chipi:chipi_dimension"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,17 @@
|
|||||||
|
{
|
||||||
|
"parent": "chipi:root",
|
||||||
|
"display": {
|
||||||
|
"icon": { "item": "chipi:nut" },
|
||||||
|
"title": "Deez Nuts",
|
||||||
|
"description": "Obtain a Nut",
|
||||||
|
"frame": "task"
|
||||||
|
},
|
||||||
|
"criteria": {
|
||||||
|
"nut": {
|
||||||
|
"trigger": "minecraft:inventory_changed",
|
||||||
|
"conditions": {
|
||||||
|
"items": [{ "items": ["chipi:nut"] }]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,17 @@
|
|||||||
|
{
|
||||||
|
"parent": "chipi:root",
|
||||||
|
"display": {
|
||||||
|
"icon": { "item": "chipi:raw_chipper_ore" },
|
||||||
|
"title": "What's This?",
|
||||||
|
"description": "Obtain Raw Chipper Ore",
|
||||||
|
"frame": "task"
|
||||||
|
},
|
||||||
|
"criteria": {
|
||||||
|
"ore": {
|
||||||
|
"trigger": "minecraft:inventory_changed",
|
||||||
|
"conditions": {
|
||||||
|
"items": [{ "items": ["chipi:raw_chipper_ore"] }]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,17 @@
|
|||||||
|
{
|
||||||
|
"parent": "chipi:progression/smelt_chipper_ore",
|
||||||
|
"display": {
|
||||||
|
"icon": { "item": "chipi:chipper_alloy" },
|
||||||
|
"title": "Questionable Chemistry",
|
||||||
|
"description": "Create Chipper Alloy",
|
||||||
|
"frame": "task"
|
||||||
|
},
|
||||||
|
"criteria": {
|
||||||
|
"alloy": {
|
||||||
|
"trigger": "minecraft:inventory_changed",
|
||||||
|
"conditions": {
|
||||||
|
"items": [{ "items": ["chipi:chipper_alloy"] }]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,17 @@
|
|||||||
|
{
|
||||||
|
"parent": "chipi:progression/make_alloy",
|
||||||
|
"display": {
|
||||||
|
"icon": { "item": "chipi:chipper_alloy_block" },
|
||||||
|
"title": "Industrial Grade",
|
||||||
|
"description": "Craft a Chipper Alloy Block",
|
||||||
|
"frame": "task"
|
||||||
|
},
|
||||||
|
"criteria": {
|
||||||
|
"block": {
|
||||||
|
"trigger": "minecraft:inventory_changed",
|
||||||
|
"conditions": {
|
||||||
|
"items": [{ "items": ["chipi:chipper_alloy_block"] }]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"parent": "chipi:progression/activate_portal",
|
||||||
|
"display": {
|
||||||
|
"icon": { "item": "chipi:chipper_portal" },
|
||||||
|
"title": "You Were Warned",
|
||||||
|
"description": "Destroy the Portal",
|
||||||
|
"frame": "challenge",
|
||||||
|
"hidden": true
|
||||||
|
},
|
||||||
|
"criteria": {
|
||||||
|
"destroyed": {
|
||||||
|
"trigger": "chipi:portal_destroyed"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,17 @@
|
|||||||
|
{
|
||||||
|
"parent": "chipi:progression/get_raw_chipper_ore",
|
||||||
|
"display": {
|
||||||
|
"icon": { "item": "chipi:chipper_ingot" },
|
||||||
|
"title": "Refinement",
|
||||||
|
"description": "Smelt Chipper Ore",
|
||||||
|
"frame": "task"
|
||||||
|
},
|
||||||
|
"criteria": {
|
||||||
|
"smelt": {
|
||||||
|
"trigger": "minecraft:inventory_changed",
|
||||||
|
"conditions": {
|
||||||
|
"items": [{ "items": ["chipi:chipper_ingot"] }]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
14
src/main/resources/data/chipi/advancements/root.json
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"display": {
|
||||||
|
"icon": { "item": "chipi:chipper_ingot" },
|
||||||
|
"title": "Chipi",
|
||||||
|
"description": "Industrial stupidity begins",
|
||||||
|
"background": "minecraft:textures/block/stone.png",
|
||||||
|
"show_toast": false,
|
||||||
|
"announce_to_chat": false,
|
||||||
|
"hidden": false
|
||||||
|
},
|
||||||
|
"criteria": {
|
||||||
|
"tick": { "trigger": "minecraft:tick" }
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,19 @@
|
|||||||
|
{
|
||||||
|
"type": "minecraft:block",
|
||||||
|
"pools": [
|
||||||
|
{
|
||||||
|
"rolls": 1,
|
||||||
|
"entries": [
|
||||||
|
{
|
||||||
|
"type": "minecraft:item",
|
||||||
|
"name": "chipi:chipper_alloy_block"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"conditions": [
|
||||||
|
{
|
||||||
|
"condition": "minecraft:survives_explosion"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@ -0,0 +1,19 @@
|
|||||||
|
{
|
||||||
|
"type": "minecraft:block",
|
||||||
|
"pools": [
|
||||||
|
{
|
||||||
|
"rolls": 1,
|
||||||
|
"entries": [
|
||||||
|
{
|
||||||
|
"type": "minecraft:item",
|
||||||
|
"name": "chipi:raw_chipper_ore"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"conditions": [
|
||||||
|
{
|
||||||
|
"condition": "minecraft:survives_explosion"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
39
src/main/resources/data/chipi/loot_tables/blocks/dirt.json
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
{
|
||||||
|
"type": "minecraft:block",
|
||||||
|
"pools": [
|
||||||
|
{
|
||||||
|
"rolls": 1,
|
||||||
|
"entries": [
|
||||||
|
{
|
||||||
|
"type": "minecraft:item",
|
||||||
|
"name": "minecraft:dirt"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"conditions": [
|
||||||
|
{
|
||||||
|
"condition": "minecraft:survives_explosion"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"rolls": 1,
|
||||||
|
"entries": [
|
||||||
|
{
|
||||||
|
"type": "minecraft:item",
|
||||||
|
"name": "chipi:nut",
|
||||||
|
"conditions": [
|
||||||
|
{
|
||||||
|
"condition": "minecraft:random_chance",
|
||||||
|
"chance": 0.01
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"conditions": [
|
||||||
|
{
|
||||||
|
"condition": "minecraft:survives_explosion"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
19
src/main/resources/data/chipi/recipes/alloy.json
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
{
|
||||||
|
"type": "minecraft:crafting_shapeless",
|
||||||
|
"group": "chipi",
|
||||||
|
"category": "misc",
|
||||||
|
"ingredients": [
|
||||||
|
{
|
||||||
|
"item": "chipi:chipper_ingot"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"item": "minecraft:iron_ingot"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"item": "minecraft:copper_ingot"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"result": {
|
||||||
|
"item": "chipi:chipper_alloy"
|
||||||
|
}
|
||||||
|
}
|
||||||
37
src/main/resources/data/chipi/recipes/alloy_block.json
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
{
|
||||||
|
"type": "minecraft:crafting_shapeless",
|
||||||
|
"group": "chipi",
|
||||||
|
"category": "misc",
|
||||||
|
"ingredients": [
|
||||||
|
{
|
||||||
|
"item": "chipi:chipper_alloy"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"item": "chipi:chipper_alloy"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"item": "chipi:chipper_alloy"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"item": "chipi:chipper_alloy"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"item": "chipi:chipper_alloy"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"item": "chipi:chipper_alloy"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"item": "chipi:chipper_alloy"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"item": "chipi:chipper_alloy"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"item": "chipi:chipper_alloy"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"result": {
|
||||||
|
"item": "chipi:chipper_alloy_block"
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"type": "minecraft:blasting",
|
||||||
|
"group": "chipi",
|
||||||
|
"category": "misc",
|
||||||
|
"ingredient": {
|
||||||
|
"item": "chipi:raw_chipper_ore"
|
||||||
|
},
|
||||||
|
"result": "chipi:chipper_ingot",
|
||||||
|
"experience": 20,
|
||||||
|
"cookingtime": 40
|
||||||
|
}
|
||||||
@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"type": "minecraft:smelting",
|
||||||
|
"group": "chipi",
|
||||||
|
"category": "misc",
|
||||||
|
"ingredient": {
|
||||||
|
"item": "chipi:raw_chipper_ore"
|
||||||
|
},
|
||||||
|
"result": "chipi:chipper_ingot",
|
||||||
|
"experience": 20,
|
||||||
|
"cookingtime": 80
|
||||||
|
}
|
||||||
23
src/main/resources/data/chipi/recipes/porta_block.json
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
{
|
||||||
|
"type": "minecraft:crafting_shaped",
|
||||||
|
"group": "chipi",
|
||||||
|
"category": "misc",
|
||||||
|
"pattern": [
|
||||||
|
"XXX",
|
||||||
|
"XYX",
|
||||||
|
"XXX"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"X": {
|
||||||
|
"item": "chipi:chipper_alloy_block"
|
||||||
|
},
|
||||||
|
"Y": {
|
||||||
|
"item": "chipi:nut"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "chipi:chipper_frame",
|
||||||
|
"count": 1
|
||||||
|
},
|
||||||
|
"show_notification": true
|
||||||
|
}
|
||||||
@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"type": "fabric:add_features",
|
||||||
|
"biomes": "minecraft:overworld",
|
||||||
|
"features": [
|
||||||
|
"chipi:chipper_ore"
|
||||||
|
],
|
||||||
|
"step": "underground_ores"
|
||||||
|
}
|
||||||
@ -0,0 +1,18 @@
|
|||||||
|
{
|
||||||
|
"type": "minecraft:ore",
|
||||||
|
"config": {
|
||||||
|
"size": 5,
|
||||||
|
"discard_chance_on_air_exposure": 0.0,
|
||||||
|
"targets": [
|
||||||
|
{
|
||||||
|
"target": {
|
||||||
|
"predicate_type": "minecraft:tag_match",
|
||||||
|
"tag": "minecraft:stone_ore_replaceables"
|
||||||
|
},
|
||||||
|
"state": {
|
||||||
|
"Name": "chipi:chipper_ore"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,27 @@
|
|||||||
|
{
|
||||||
|
"feature": "chipi:chipper_ore",
|
||||||
|
"placement": [
|
||||||
|
{
|
||||||
|
"type": "minecraft:count",
|
||||||
|
"count": 30
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "minecraft:in_square"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "minecraft:height_range",
|
||||||
|
"height": {
|
||||||
|
"type": "minecraft:uniform",
|
||||||
|
"min_inclusive": {
|
||||||
|
"absolute": 40
|
||||||
|
},
|
||||||
|
"max_inclusive": {
|
||||||
|
"absolute": 64
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "minecraft:biome"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"replace": false,
|
||||||
|
"values": [
|
||||||
|
"chipi:chipper_ore",
|
||||||
|
"chipi:chipper_alloy_block"
|
||||||
|
]
|
||||||
|
}
|
||||||
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"replace": false,
|
||||||
|
"values": [
|
||||||
|
"chipi:chipper_ore",
|
||||||
|
"chipi:chipper_alloy_block"
|
||||||
|
]
|
||||||
|
}
|
||||||