Added different sea shells, and a recipe to craft the necklace

This commit is contained in:
Sollace 2023-11-18 14:18:58 +00:00
parent 7ffa77f12f
commit 98ad16e52d
No known key found for this signature in database
GPG key ID: E52FACE7B5C773DB
49 changed files with 860 additions and 1 deletions

View file

@ -0,0 +1 @@
{"meta":{"format_version":"4.5","model_format":"java_block","box_uv":false},"name":"block_shell","parent":"","ambientocclusion":true,"front_gui_light":false,"visible_box":[1,1,0],"variable_placeholders":"","variable_placeholder_buttons":[],"unhandled_root_fields":{},"resolution":{"width":16,"height":16},"elements":[{"name":"cube","box_uv":false,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[2.4000000000000004,0,0],"to":[10.399999999999999,0,8],"autouv":0,"color":9,"rotation":[0,45,0],"origin":[12,0,4],"faces":{"north":{"uv":[0,0,8,0],"texture":null},"east":{"uv":[0,0,8,0],"texture":null},"south":{"uv":[0,0,8,0],"texture":null},"west":{"uv":[0,0,8,0],"texture":null},"up":{"uv":[0,0,16,16],"texture":0},"down":{"uv":[0,0,0,0],"texture":null}},"type":"cube","uuid":"1c53fe40-1877-60c2-80b2-135dff0afe56"}],"outliner":["1c53fe40-1877-60c2-80b2-135dff0afe56"],"textures":[{"path":"/home/sollace/Documents/GitRepos/minecraft_mods/Unicopia/src/main/resources/assets/unicopia/textures/item/clam_shell.png","name":"clam_shell.png","folder":"item","namespace":"unicopia","id":"shell","particle":true,"render_mode":"default","render_sides":"auto","frame_time":1,"frame_order_type":"loop","frame_order":"","frame_interpolate":false,"visible":true,"mode":"bitmap","saved":true,"uuid":"1a1accdc-ffd7-c20a-9047-a5db72ecf496","relative_path":"../../../src/main/resources/assets/unicopia/textures/item/clam_shell.png","source":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAihJREFUOE+l09tL02Ecx/H3+C3XDr9y+21Yk9lhbWyyxYg8BFoXkXRYQlQEi6CCLosg6H+IoIu6CIoIDaKgjPJGwhBUQqVINHYo+0XqXB6mzsPSxm9PYLIQMwifywc+L57vh+erY51Ht848/wQaW9+LzFSaYrsDq8OBGo9y5VTdisxfgdtPW4Sy1UltbZBFQAJsQErT+BJXCQe8hdwq4O6LNrGnJkCp3U5/NFqYsAxILCwwPZ7j4uHqtYGXvb3CqGlYDAasPh8+SUJdZjpa33H+UMXaIzxq+yC8pp/YKyuxAKP9/ej1ejKZDB0D37l+7sSqF6+4eNYTFaEKPzpVJZ/P8zlnIZfLUb/bxafhEVre9uELedA0E0fLnUvZAvCks084t5WhzCRxuVykZBnt8iv8d+oLPWRuqLDRTKOzj9Id2zlZ4dUtATcfNgnbJoHX70dSdrHvwSBjCAzGzeApQj4ik23KoqkTsDiHGs4RzxYRqQksAw3PhVJiR7bacClGJIsFz60EmlFGMphB2gCzEwydMeJ2u3kTizEzJ3H2QOg30PC6RyhbrKRGktgUJwf3eoh3dzNtMuExm5mfnycYDNLV1cXO6mraexKcrvL96eBec7tIqgNYHSVcjRzTPe78KIptNjxuBf3kJD9kmfFEgrJQCPXbLIMDCS7UVa0s8X5zu7h0fH+h1O60EF9jUdyBckaHU4yNDIHIM5VOcy0SXvsj/e9yrXsbfwHRlcQRuWinHQAAAABJRU5ErkJggg=="}]}

View file

@ -0,0 +1 @@
{"meta":{"format_version":"4.5","model_format":"java_block","box_uv":false},"name":"clam_shell_2","parent":"","ambientocclusion":true,"front_gui_light":false,"visible_box":[1,1,0],"variable_placeholders":"","variable_placeholder_buttons":[],"unhandled_root_fields":{},"resolution":{"width":16,"height":16},"elements":[{"name":"cube","box_uv":false,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[6.4,0,0],"to":[14.399999999999999,0,8],"autouv":0,"color":9,"rotation":[0,45,0],"origin":[12,0,4],"faces":{"north":{"uv":[0,0,8,0],"texture":null},"east":{"uv":[0,0,8,0],"texture":null},"south":{"uv":[0,0,8,0],"texture":null},"west":{"uv":[0,0,8,0],"texture":null},"up":{"uv":[0,0,16,16],"texture":0},"down":{"uv":[0,0,0,0],"texture":null}},"type":"cube","uuid":"1c53fe40-1877-60c2-80b2-135dff0afe56"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[1.2117749006091447,0,6.788225099390861],"to":[9.211774900609145,0,14.78822509939086],"autouv":0,"color":9,"rotation":[0,-22.5,0],"origin":[5.211774900609143,0,10.788225099390859],"faces":{"north":{"uv":[0,0,8,0],"texture":null},"east":{"uv":[0,0,8,0],"texture":null},"south":{"uv":[0,0,8,0],"texture":null},"west":{"uv":[0,0,8,0],"texture":null},"up":{"uv":[0,0,16,16],"rotation":90,"texture":0},"down":{"uv":[0,0,0,0],"rotation":270,"texture":null}},"type":"cube","uuid":"f8ee1a59-5c1f-ddd7-783f-bb14a40c36a2"}],"outliner":["1c53fe40-1877-60c2-80b2-135dff0afe56","f8ee1a59-5c1f-ddd7-783f-bb14a40c36a2"],"textures":[{"path":"/home/sollace/Documents/GitRepos/minecraft_mods/Unicopia/src/main/resources/assets/unicopia/textures/item/clam_shell.png","name":"clam_shell.png","folder":"item","namespace":"unicopia","id":"shell","particle":true,"render_mode":"default","render_sides":"auto","frame_time":1,"frame_order_type":"loop","frame_order":"","frame_interpolate":false,"visible":true,"mode":"bitmap","saved":true,"uuid":"1a1accdc-ffd7-c20a-9047-a5db72ecf496","relative_path":"../../../src/main/resources/assets/unicopia/textures/item/clam_shell.png","source":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAihJREFUOE+l09tL02Ecx/H3+C3XDr9y+21Yk9lhbWyyxYg8BFoXkXRYQlQEi6CCLosg6H+IoIu6CIoIDaKgjPJGwhBUQqVINHYo+0XqXB6mzsPSxm9PYLIQMwifywc+L57vh+erY51Ht848/wQaW9+LzFSaYrsDq8OBGo9y5VTdisxfgdtPW4Sy1UltbZBFQAJsQErT+BJXCQe8hdwq4O6LNrGnJkCp3U5/NFqYsAxILCwwPZ7j4uHqtYGXvb3CqGlYDAasPh8+SUJdZjpa33H+UMXaIzxq+yC8pp/YKyuxAKP9/ej1ejKZDB0D37l+7sSqF6+4eNYTFaEKPzpVJZ/P8zlnIZfLUb/bxafhEVre9uELedA0E0fLnUvZAvCks084t5WhzCRxuVykZBnt8iv8d+oLPWRuqLDRTKOzj9Id2zlZ4dUtATcfNgnbJoHX70dSdrHvwSBjCAzGzeApQj4ik23KoqkTsDiHGs4RzxYRqQksAw3PhVJiR7bacClGJIsFz60EmlFGMphB2gCzEwydMeJ2u3kTizEzJ3H2QOg30PC6RyhbrKRGktgUJwf3eoh3dzNtMuExm5mfnycYDNLV1cXO6mraexKcrvL96eBec7tIqgNYHSVcjRzTPe78KIptNjxuBf3kJD9kmfFEgrJQCPXbLIMDCS7UVa0s8X5zu7h0fH+h1O60EF9jUdyBckaHU4yNDIHIM5VOcy0SXvsj/e9yrXsbfwHRlcQRuWinHQAAAABJRU5ErkJggg=="}]}

View file

@ -0,0 +1 @@
{"meta":{"format_version":"4.5","model_format":"java_block","box_uv":false},"name":"clam_shell_3","parent":"","ambientocclusion":true,"front_gui_light":false,"visible_box":[1,1,0],"variable_placeholders":"","variable_placeholder_buttons":[],"unhandled_root_fields":{},"resolution":{"width":16,"height":16},"elements":[{"name":"cube","box_uv":false,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[6.4,0,-1],"to":[14.399999999999999,0,7],"autouv":0,"color":9,"rotation":[0,45,0],"origin":[12,0,3],"faces":{"north":{"uv":[0,0,8,0],"texture":null},"east":{"uv":[0,0,8,0],"texture":null},"south":{"uv":[0,0,8,0],"texture":null},"west":{"uv":[0,0,8,0],"texture":null},"up":{"uv":[0,0,16,16],"texture":0},"down":{"uv":[0,0,0,0],"texture":null}},"type":"cube","uuid":"1c53fe40-1877-60c2-80b2-135dff0afe56"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[0.3640158355865708,0,4.022858234660681],"to":[8.36401583558657,0,12.022858234660681],"autouv":0,"color":9,"rotation":[0,22.5,0],"origin":[4.364015835586571,0,8.022858234660681],"faces":{"north":{"uv":[0,0,8,0],"texture":null},"east":{"uv":[0,0,8,0],"texture":null},"south":{"uv":[0,0,8,0],"texture":null},"west":{"uv":[0,0,8,0],"texture":null},"up":{"uv":[0,0,16,16],"rotation":180,"texture":0},"down":{"uv":[0,0,0,0],"rotation":180,"texture":null}},"type":"cube","uuid":"f8ee1a59-5c1f-ddd7-783f-bb14a40c36a2"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[7.755052095676865,0,8.084325693581398],"to":[15.755052095676865,0,16.0843256935814],"autouv":0,"color":9,"rotation":[0,22.5,0],"origin":[11.755052095676865,0,12.0843256935814],"faces":{"north":{"uv":[0,0,8,0],"texture":null},"east":{"uv":[0,0,8,0],"texture":null},"south":{"uv":[0,0,8,0],"texture":null},"west":{"uv":[0,0,8,0],"texture":null},"up":{"uv":[0,0,16,16],"rotation":90,"texture":0},"down":{"uv":[0,0,0,0],"rotation":270,"texture":null}},"type":"cube","uuid":"a13cf19e-6339-91b6-4d9b-0d3500abf734"}],"outliner":["1c53fe40-1877-60c2-80b2-135dff0afe56","f8ee1a59-5c1f-ddd7-783f-bb14a40c36a2","a13cf19e-6339-91b6-4d9b-0d3500abf734"],"textures":[{"path":"/home/sollace/Documents/GitRepos/minecraft_mods/Unicopia/src/main/resources/assets/unicopia/textures/item/clam_shell.png","name":"clam_shell.png","folder":"item","namespace":"unicopia","id":"shell","particle":true,"render_mode":"default","render_sides":"auto","frame_time":1,"frame_order_type":"loop","frame_order":"","frame_interpolate":false,"visible":true,"mode":"bitmap","saved":true,"uuid":"1a1accdc-ffd7-c20a-9047-a5db72ecf496","relative_path":"../../../src/main/resources/assets/unicopia/textures/item/clam_shell.png","source":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAihJREFUOE+l09tL02Ecx/H3+C3XDr9y+21Yk9lhbWyyxYg8BFoXkXRYQlQEi6CCLosg6H+IoIu6CIoIDaKgjPJGwhBUQqVINHYo+0XqXB6mzsPSxm9PYLIQMwifywc+L57vh+erY51Ht848/wQaW9+LzFSaYrsDq8OBGo9y5VTdisxfgdtPW4Sy1UltbZBFQAJsQErT+BJXCQe8hdwq4O6LNrGnJkCp3U5/NFqYsAxILCwwPZ7j4uHqtYGXvb3CqGlYDAasPh8+SUJdZjpa33H+UMXaIzxq+yC8pp/YKyuxAKP9/ej1ejKZDB0D37l+7sSqF6+4eNYTFaEKPzpVJZ/P8zlnIZfLUb/bxafhEVre9uELedA0E0fLnUvZAvCks084t5WhzCRxuVykZBnt8iv8d+oLPWRuqLDRTKOzj9Id2zlZ4dUtATcfNgnbJoHX70dSdrHvwSBjCAzGzeApQj4ik23KoqkTsDiHGs4RzxYRqQksAw3PhVJiR7bacClGJIsFz60EmlFGMphB2gCzEwydMeJ2u3kTizEzJ3H2QOg30PC6RyhbrKRGktgUJwf3eoh3dzNtMuExm5mfnycYDNLV1cXO6mraexKcrvL96eBec7tIqgNYHSVcjRzTPe78KIptNjxuBf3kJD9kmfFEgrJQCPXbLIMDCS7UVa0s8X5zu7h0fH+h1O60EF9jUdyBckaHU4yNDIHIM5VOcy0SXvsj/e9yrXsbfwHRlcQRuWinHQAAAABJRU5ErkJggg=="}]}

View file

@ -0,0 +1 @@
{"meta":{"format_version":"4.5","model_format":"java_block","box_uv":false},"name":"clam_shell_4","parent":"","ambientocclusion":true,"front_gui_light":false,"visible_box":[1,1,0],"variable_placeholders":"","variable_placeholder_buttons":[],"unhandled_root_fields":{},"resolution":{"width":16,"height":16},"elements":[{"name":"cube","box_uv":false,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[7.4,0,-1],"to":[15.399999999999999,0,7],"autouv":0,"color":9,"rotation":[0,45,0],"origin":[13,0,3],"faces":{"north":{"uv":[0,0,8,0],"texture":null},"east":{"uv":[0,0,8,0],"texture":null},"south":{"uv":[0,0,8,0],"texture":null},"west":{"uv":[0,0,8,0],"texture":null},"up":{"uv":[0,0,16,16],"texture":0},"down":{"uv":[0,0,0,0],"texture":null}},"type":"cube","uuid":"1c53fe40-1877-60c2-80b2-135dff0afe56"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[0.3640158355865708,0,7.022858234660681],"to":[8.36401583558657,0,15.022858234660681],"autouv":0,"color":9,"rotation":[0,22.5,0],"origin":[4.364015835586571,0,11.022858234660681],"faces":{"north":{"uv":[0,0,8,0],"texture":null},"east":{"uv":[0,0,8,0],"texture":null},"south":{"uv":[0,0,8,0],"texture":null},"west":{"uv":[0,0,8,0],"texture":null},"up":{"uv":[0,0,16,16],"rotation":180,"texture":0},"down":{"uv":[0,0,0,0],"rotation":180,"texture":null}},"type":"cube","uuid":"f8ee1a59-5c1f-ddd7-783f-bb14a40c36a2"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[7.755052095676865,0,8.084325693581398],"to":[15.755052095676865,0,16.0843256935814],"autouv":0,"color":9,"rotation":[0,22.5,0],"origin":[11.755052095676865,0,12.0843256935814],"faces":{"north":{"uv":[0,0,8,0],"texture":null},"east":{"uv":[0,0,8,0],"texture":null},"south":{"uv":[0,0,8,0],"texture":null},"west":{"uv":[0,0,8,0],"texture":null},"up":{"uv":[0,0,16,16],"rotation":90,"texture":0},"down":{"uv":[0,0,0,0],"rotation":270,"texture":null}},"type":"cube","uuid":"a13cf19e-6339-91b6-4d9b-0d3500abf734"},{"name":"cube","box_uv":false,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[1.3640158355865708,0,0.022858234660681376],"to":[9.36401583558657,0,8.022858234660681],"autouv":0,"color":9,"rotation":[0,22.5,0],"origin":[5.364015835586571,0,4.022858234660681],"faces":{"north":{"uv":[0,0,8,0],"texture":null},"east":{"uv":[0,0,8,0],"texture":null},"south":{"uv":[0,0,8,0],"texture":null},"west":{"uv":[0,0,8,0],"texture":null},"up":{"uv":[0,0,16,16],"rotation":270,"texture":0},"down":{"uv":[0,0,0,0],"rotation":90,"texture":null}},"type":"cube","uuid":"60843fa4-6abd-3b89-20f7-67fc05e29ba3"}],"outliner":["1c53fe40-1877-60c2-80b2-135dff0afe56","f8ee1a59-5c1f-ddd7-783f-bb14a40c36a2","60843fa4-6abd-3b89-20f7-67fc05e29ba3","a13cf19e-6339-91b6-4d9b-0d3500abf734"],"textures":[{"path":"/home/sollace/Documents/GitRepos/minecraft_mods/Unicopia/src/main/resources/assets/unicopia/textures/item/clam_shell.png","name":"clam_shell.png","folder":"item","namespace":"unicopia","id":"shell","particle":true,"render_mode":"default","render_sides":"auto","frame_time":1,"frame_order_type":"loop","frame_order":"","frame_interpolate":false,"visible":true,"mode":"bitmap","saved":true,"uuid":"1a1accdc-ffd7-c20a-9047-a5db72ecf496","relative_path":"../../../src/main/resources/assets/unicopia/textures/item/clam_shell.png","source":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAihJREFUOE+l09tL02Ecx/H3+C3XDr9y+21Yk9lhbWyyxYg8BFoXkXRYQlQEi6CCLosg6H+IoIu6CIoIDaKgjPJGwhBUQqVINHYo+0XqXB6mzsPSxm9PYLIQMwifywc+L57vh+erY51Ht848/wQaW9+LzFSaYrsDq8OBGo9y5VTdisxfgdtPW4Sy1UltbZBFQAJsQErT+BJXCQe8hdwq4O6LNrGnJkCp3U5/NFqYsAxILCwwPZ7j4uHqtYGXvb3CqGlYDAasPh8+SUJdZjpa33H+UMXaIzxq+yC8pp/YKyuxAKP9/ej1ejKZDB0D37l+7sSqF6+4eNYTFaEKPzpVJZ/P8zlnIZfLUb/bxafhEVre9uELedA0E0fLnUvZAvCks084t5WhzCRxuVykZBnt8iv8d+oLPWRuqLDRTKOzj9Id2zlZ4dUtATcfNgnbJoHX70dSdrHvwSBjCAzGzeApQj4ik23KoqkTsDiHGs4RzxYRqQksAw3PhVJiR7bacClGJIsFz60EmlFGMphB2gCzEwydMeJ2u3kTizEzJ3H2QOg30PC6RyhbrKRGktgUJwf3eoh3dzNtMuExm5mfnycYDNLV1cXO6mraexKcrvL96eBec7tIqgNYHSVcjRzTPe78KIptNjxuBf3kJD9kmfFEgrJQCPXbLIMDCS7UVa0s8X5zu7h0fH+h1O60EF9jUdyBckaHU4yNDIHIM5VOcy0SXvsj/e9yrXsbfwHRlcQRuWinHQAAAABJRU5ErkJggg=="}]}

View file

@ -0,0 +1,74 @@
package com.minelittlepony.unicopia.block;
import org.jetbrains.annotations.Nullable;
import net.minecraft.block.Block;
import net.minecraft.block.BlockState;
import net.minecraft.block.ShapeContext;
import net.minecraft.block.Waterloggable;
import net.minecraft.entity.ai.pathing.NavigationType;
import net.minecraft.fluid.FluidState;
import net.minecraft.fluid.Fluids;
import net.minecraft.item.ItemPlacementContext;
import net.minecraft.registry.tag.FluidTags;
import net.minecraft.state.StateManager;
import net.minecraft.state.property.BooleanProperty;
import net.minecraft.state.property.IntProperty;
import net.minecraft.state.property.Properties;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Direction;
import net.minecraft.util.shape.VoxelShape;
import net.minecraft.world.BlockView;
import net.minecraft.world.WorldAccess;
public class ShellsBlock extends Block implements Waterloggable {
public static final BooleanProperty WATERLOGGED = Properties.WATERLOGGED;
public static final IntProperty COUNT = IntProperty.of("count", 1, 4);
private static final VoxelShape SHAPE = Block.createCuboidShape(0, 0, 0, 16, 1, 16);
public ShellsBlock(Settings settings) {
super(settings);
}
@Override
@Deprecated
public VoxelShape getOutlineShape(BlockState state, BlockView world, BlockPos pos, ShapeContext context) {
return SHAPE;
}
@Override
protected void appendProperties(StateManager.Builder<Block, BlockState> builder) {
super.appendProperties(builder);
builder.add(COUNT, WATERLOGGED);
}
@Override
@Nullable
public BlockState getPlacementState(ItemPlacementContext ctx) {
return getDefaultState().with(WATERLOGGED, ctx.getWorld().getFluidState(ctx.getBlockPos()).getFluid() == Fluids.WATER);
}
@Deprecated
@Override
public FluidState getFluidState(BlockState state) {
if (state.get(WATERLOGGED).booleanValue()) {
return Fluids.WATER.getStill(false);
}
return super.getFluidState(state);
}
@Deprecated
@Override
public BlockState getStateForNeighborUpdate(BlockState state, Direction direction, BlockState neighborState, WorldAccess world, BlockPos pos, BlockPos neighborPos) {
if (state.get(WATERLOGGED).booleanValue()) {
world.scheduleFluidTick(pos, Fluids.WATER, Fluids.WATER.getTickRate(world));
}
return super.getStateForNeighborUpdate(state, direction, neighborState, world, pos, neighborPos);
}
@Override
public boolean canPathfindThrough(BlockState state, BlockView world, BlockPos pos, NavigationType type) {
return (type == NavigationType.WATER) == world.getFluidState(pos).isIn(FluidTags.WATER);
}
}

View file

@ -185,6 +185,10 @@ public interface UBlocks {
Block CLOTH_BED = register("cloth_bed", new FancyBedBlock("cloth", Settings.copy(Blocks.WHITE_BED).sounds(BlockSoundGroup.WOOD))); Block CLOTH_BED = register("cloth_bed", new FancyBedBlock("cloth", Settings.copy(Blocks.WHITE_BED).sounds(BlockSoundGroup.WOOD)));
Block CLOUD_BED = register("cloud_bed", new CloudBedBlock("cloud", CLOUD.getDefaultState(), Settings.copy(Blocks.WHITE_BED).sounds(BlockSoundGroup.WOOL))); Block CLOUD_BED = register("cloud_bed", new CloudBedBlock("cloud", CLOUD.getDefaultState(), Settings.copy(Blocks.WHITE_BED).sounds(BlockSoundGroup.WOOL)));
Block CLAM_SHELL = register("clam_shell", new ShellsBlock(Settings.create().mapColor(MapColor.DULL_PINK).breakInstantly().nonOpaque()));
Block SCALLOP_SHELL = register("scallop_shell", new ShellsBlock(Settings.create().mapColor(MapColor.DULL_PINK).breakInstantly().nonOpaque()));
Block TURRET_SHELL = register("turret_shell", new ShellsBlock(Settings.create().mapColor(MapColor.DULL_PINK).breakInstantly().nonOpaque()));
private static <T extends Block> T register(String name, T item) { private static <T extends Block> T register(String name, T item) {
return register(Unicopia.id(name), item); return register(Unicopia.id(name), item);
} }
@ -221,7 +225,7 @@ public interface UBlocks {
StrippableBlockRegistry.register(PALM_LOG, STRIPPED_PALM_LOG); StrippableBlockRegistry.register(PALM_LOG, STRIPPED_PALM_LOG);
StrippableBlockRegistry.register(ZAP_WOOD, STRIPPED_ZAP_WOOD); StrippableBlockRegistry.register(ZAP_WOOD, STRIPPED_ZAP_WOOD);
StrippableBlockRegistry.register(PALM_WOOD, STRIPPED_PALM_WOOD); StrippableBlockRegistry.register(PALM_WOOD, STRIPPED_PALM_WOOD);
Collections.addAll(TRANSLUCENT_BLOCKS, WEATHER_VANE, CHITIN_SPIKES, PLUNDER_VINE, PLUNDER_VINE_BUD); Collections.addAll(TRANSLUCENT_BLOCKS, WEATHER_VANE, CHITIN_SPIKES, PLUNDER_VINE, PLUNDER_VINE_BUD, CLAM_SHELL, SCALLOP_SHELL, TURRET_SHELL);
TintedBlock.REGISTRY.add(PALM_LEAVES); TintedBlock.REGISTRY.add(PALM_LEAVES);
FlammableBlockRegistry.getDefaultInstance().add(GREEN_APPLE_LEAVES, 30, 60); FlammableBlockRegistry.getDefaultInstance().add(GREEN_APPLE_LEAVES, 30, 60);

View file

@ -209,6 +209,11 @@ public interface UItems {
GlassesItem SUNGLASSES = register("sunglasses", new GlassesItem(new FabricItemSettings().maxCount(1)), ItemGroups.COMBAT); GlassesItem SUNGLASSES = register("sunglasses", new GlassesItem(new FabricItemSettings().maxCount(1)), ItemGroups.COMBAT);
GlassesItem BROKEN_SUNGLASSES = register("broken_sunglasses", new GlassesItem(new FabricItemSettings().maxCount(1)), ItemGroups.COMBAT); GlassesItem BROKEN_SUNGLASSES = register("broken_sunglasses", new GlassesItem(new FabricItemSettings().maxCount(1)), ItemGroups.COMBAT);
Item CLAM_SHELL = register("clam_shell", new Item(new Item.Settings()), ItemGroups.INGREDIENTS);
Item SCALLOP_SHELL = register("scallop_shell", new Item(new Item.Settings()), ItemGroups.INGREDIENTS);
Item TURRET_SHELL = register("turret_shell", new Item(new Item.Settings()), ItemGroups.INGREDIENTS);
Item SHELLY = register("shelly", new Item(new Item.Settings()), ItemGroups.INGREDIENTS);
Item CARAPACE = register("carapace", new Item(new Item.Settings()), ItemGroups.INGREDIENTS); Item CARAPACE = register("carapace", new Item(new Item.Settings()), ItemGroups.INGREDIENTS);
Item CLOTH_BED = register("cloth_bed", new FancyBedItem(UBlocks.CLOTH_BED, new Item.Settings().maxCount(1)), ItemGroups.FUNCTIONAL); Item CLOTH_BED = register("cloth_bed", new FancyBedItem(UBlocks.CLOTH_BED, new Item.Settings().maxCount(1)), ItemGroups.FUNCTIONAL);
Item CLOUD_BED = register("cloud_bed", new CloudBedItem(UBlocks.CLOUD_BED, new Item.Settings().maxCount(1)), ItemGroups.FUNCTIONAL); Item CLOUD_BED = register("cloud_bed", new CloudBedItem(UBlocks.CLOUD_BED, new Item.Settings().maxCount(1)), ItemGroups.FUNCTIONAL);

View file

@ -153,6 +153,14 @@ public interface Toxics {
.food(Race.SEAPONY, UFoodComponents.RANDOM_FOLIAGE_FILLING) .food(Race.SEAPONY, UFoodComponents.RANDOM_FOLIAGE_FILLING)
); );
Toxic SHELLS = register("shells", new Toxic.Builder(Ailment.INNERT)
.food(Race.SEAPONY, UFoodComponents.SHELL)
);
Toxic SHELLY = register("shelly", new Toxic.Builder(Ailment.INNERT)
.food(Race.SEAPONY, UFoodComponents.SHELLY)
);
static void bootstrap() {} static void bootstrap() {}
static Toxic register(String name, Toxic.Builder builder) { static Toxic register(String name, Toxic.Builder builder) {

View file

@ -51,6 +51,9 @@ public interface UFoodComponents {
FoodComponent CANDY = builder(7, 0.9F).alwaysEdible().build(); FoodComponent CANDY = builder(7, 0.9F).alwaysEdible().build();
FoodComponent SALT_CUBE = builder(0, 2.9F).alwaysEdible().build(); FoodComponent SALT_CUBE = builder(0, 2.9F).alwaysEdible().build();
FoodComponent SHELL = builder(3, 5).build();
FoodComponent SHELLY = builder(6, 7).build();
static FoodComponent.Builder builder(int hunger, float saturation) { static FoodComponent.Builder builder(int hunger, float saturation) {
return new FoodComponent.Builder() return new FoodComponent.Builder()
.hunger(hunger) .hunger(hunger)

View file

@ -3,19 +3,36 @@ package com.minelittlepony.unicopia.server.world;
import java.util.List; import java.util.List;
import com.minelittlepony.unicopia.Unicopia; import com.minelittlepony.unicopia.Unicopia;
import com.minelittlepony.unicopia.block.ShellsBlock;
import com.minelittlepony.unicopia.block.UBlocks;
import net.fabricmc.fabric.api.biome.v1.BiomeModifications; import net.fabricmc.fabric.api.biome.v1.BiomeModifications;
import net.fabricmc.fabric.api.biome.v1.BiomeSelectors; import net.fabricmc.fabric.api.biome.v1.BiomeSelectors;
import net.minecraft.block.BlockState;
import net.minecraft.block.Blocks;
import net.minecraft.registry.Registries; import net.minecraft.registry.Registries;
import net.minecraft.registry.Registry; import net.minecraft.registry.Registry;
import net.minecraft.registry.RegistryKey; import net.minecraft.registry.RegistryKey;
import net.minecraft.registry.tag.BiomeTags; import net.minecraft.registry.tag.BiomeTags;
import net.minecraft.util.collection.DataPool;
import net.minecraft.util.math.Direction;
import net.minecraft.util.math.Vec3i;
import net.minecraft.util.math.intprovider.UniformIntProvider;
import net.minecraft.world.biome.BiomeKeys;
import net.minecraft.world.gen.GenerationStep; import net.minecraft.world.gen.GenerationStep;
import net.minecraft.world.gen.blockpredicate.BlockPredicate;
import net.minecraft.world.gen.feature.ConfiguredFeatures;
import net.minecraft.world.gen.feature.Feature;
import net.minecraft.world.gen.feature.PlacedFeature; import net.minecraft.world.gen.feature.PlacedFeature;
import net.minecraft.world.gen.feature.PlacedFeatures; import net.minecraft.world.gen.feature.PlacedFeatures;
import net.minecraft.world.gen.feature.RandomPatchFeature;
import net.minecraft.world.gen.feature.RandomPatchFeatureConfig;
import net.minecraft.world.gen.feature.SimpleBlockFeatureConfig;
import net.minecraft.world.gen.placementmodifier.BiomePlacementModifier; import net.minecraft.world.gen.placementmodifier.BiomePlacementModifier;
import net.minecraft.world.gen.placementmodifier.RarityFilterPlacementModifier; import net.minecraft.world.gen.placementmodifier.RarityFilterPlacementModifier;
import net.minecraft.world.gen.placementmodifier.SquarePlacementModifier; import net.minecraft.world.gen.placementmodifier.SquarePlacementModifier;
import net.minecraft.world.gen.stateprovider.RandomizedIntBlockStateProvider;
import net.minecraft.world.gen.stateprovider.WeightedBlockStateProvider;
public interface UWorldGen { public interface UWorldGen {
PineapplePlantFeature PINEAPPLE_PLANT_FEATURE = Registry.register(Registries.FEATURE, Unicopia.id("pineapple_plant"), new PineapplePlantFeature()); PineapplePlantFeature PINEAPPLE_PLANT_FEATURE = Registry.register(Registries.FEATURE, Unicopia.id("pineapple_plant"), new PineapplePlantFeature());
@ -26,8 +43,37 @@ public interface UWorldGen {
BiomePlacementModifier.of() BiomePlacementModifier.of()
)); ));
RandomPatchFeature SHELLS_FEATURE = Registry.register(Registries.FEATURE, Unicopia.id("shells"), new RandomPatchFeature(RandomPatchFeatureConfig.CODEC));
RegistryKey<PlacedFeature> SHELLS_PLACED_FEATURE = FeatureRegistry.registerPlaceableFeature(Unicopia.id("shells"), SHELLS_FEATURE, ConfiguredFeatures.createRandomPatchFeatureConfig(
25,
PlacedFeatures.createEntry(Feature.SIMPLE_BLOCK, new SimpleBlockFeatureConfig(
new RandomizedIntBlockStateProvider(
new WeightedBlockStateProvider(DataPool.<BlockState>builder()
.add(UBlocks.CLAM_SHELL.getDefaultState(), 1)
.add(UBlocks.SCALLOP_SHELL.getDefaultState(), 2)
.add(UBlocks.TURRET_SHELL.getDefaultState(), 2)
),
ShellsBlock.COUNT,
UniformIntProvider.create(1, 4)
)
), BlockPredicate.allOf(
BlockPredicate.matchingBlocks(Blocks.WATER),
BlockPredicate.hasSturdyFace(new Vec3i(0, -1, 0), Direction.UP)
))), List.of(
RarityFilterPlacementModifier.of(1),
SquarePlacementModifier.of(),
PlacedFeatures.OCEAN_FLOOR_WG_HEIGHTMAP,
BiomePlacementModifier.of()
));
static void bootstrap() { static void bootstrap() {
BiomeModifications.addFeature(BiomeSelectors.tag(BiomeTags.IS_JUNGLE), GenerationStep.Feature.VEGETAL_DECORATION, PINEAPPLE_PLANT_PLACED_FEATURE); BiomeModifications.addFeature(BiomeSelectors.tag(BiomeTags.IS_JUNGLE), GenerationStep.Feature.VEGETAL_DECORATION, PINEAPPLE_PLANT_PLACED_FEATURE);
BiomeModifications.addFeature(
BiomeSelectors.tag(BiomeTags.IS_OCEAN)
.or(BiomeSelectors.tag(BiomeTags.IS_DEEP_OCEAN)
.or(BiomeSelectors.tag(BiomeTags.IS_RIVER))
.or(BiomeSelectors.includeByKey(BiomeKeys.STONY_SHORE))
), GenerationStep.Feature.VEGETAL_DECORATION, SHELLS_PLACED_FEATURE);
UTreeGen.bootstrap(); UTreeGen.bootstrap();
} }
} }

View file

@ -0,0 +1,8 @@
{
"variants": {
"count=1": { "model": "unicopia:block/clam_shell_1" },
"count=2": { "model": "unicopia:block/clam_shell_2" },
"count=3": { "model": "unicopia:block/clam_shell_3" },
"count=4": { "model": "unicopia:block/clam_shell_4" }
}
}

View file

@ -0,0 +1,8 @@
{
"variants": {
"count=1": { "model": "unicopia:block/scallop_shell_1" },
"count=2": { "model": "unicopia:block/scallop_shell_2" },
"count=3": { "model": "unicopia:block/scallop_shell_3" },
"count=4": { "model": "unicopia:block/scallop_shell_4" }
}
}

View file

@ -0,0 +1,8 @@
{
"variants": {
"count=1": { "model": "unicopia:block/turret_shell_1" },
"count=2": { "model": "unicopia:block/turret_shell_2" },
"count=3": { "model": "unicopia:block/turret_shell_3" },
"count=4": { "model": "unicopia:block/turret_shell_4" }
}
}

View file

@ -145,6 +145,10 @@
"item.unicopia.pearl_necklace": "Pearl Necklace", "item.unicopia.pearl_necklace": "Pearl Necklace",
"item.unicopia.pearl_necklace.lore": "Gives underwater abilities to the wearer", "item.unicopia.pearl_necklace.lore": "Gives underwater abilities to the wearer",
"item.unicopia.clam_shell": "Clam Shell",
"item.unicopia.scallop_shell": "Scallop Shell",
"item.unicopia.turret_shell": "Turret Shell",
"item.unicopia.shelly": "Shelly",
"item.unicopia.horse_shoe.accuracy": "Accuracy: %d%%", "item.unicopia.horse_shoe.accuracy": "Accuracy: %d%%",
"item.unicopia.horse_shoe.speed": "Speed: %d", "item.unicopia.horse_shoe.speed": "Speed: %d",

View file

@ -0,0 +1,16 @@
{
"textures": {
"shell": "unicopia:item/clam_shell",
"particle": "#shell"
},
"elements": [
{
"from": [2.4, 0.1, 0],
"to": [10.4, 0.1, 8],
"rotation": {"angle": 45, "axis": "y", "origin": [12, 0, 4]},
"faces": {
"up": {"uv": [0, 0, 16, 16], "texture": "#shell"}
}
}
]
}

View file

@ -0,0 +1,24 @@
{
"textures": {
"shell": "unicopia:item/clam_shell",
"particle": "#shell"
},
"elements": [
{
"from": [6.4, 0.1, 0],
"to": [14.4, 0.1, 8],
"rotation": {"angle": 45, "axis": "y", "origin": [12, 0, 4]},
"faces": {
"up": {"uv": [0, 0, 16, 16], "texture": "#shell"}
}
},
{
"from": [1.21177, 0.1, 6.78823],
"to": [9.21177, 0.1, 14.78823],
"rotation": {"angle": -22.5, "axis": "y", "origin": [5.21177, 0, 10.78823]},
"faces": {
"up": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#shell"}
}
}
]
}

View file

@ -0,0 +1,32 @@
{
"textures": {
"shell": "unicopia:item/clam_shell",
"particle": "#shell"
},
"elements": [
{
"from": [6.4, 0.1, -1],
"to": [14.4, 0.1, 7],
"rotation": {"angle": 45, "axis": "y", "origin": [12, 0, 3]},
"faces": {
"up": {"uv": [0, 0, 16, 16], "texture": "#shell"}
}
},
{
"from": [0.36402, 0.1, 4.02286],
"to": [8.36402, 0.1, 12.02286],
"rotation": {"angle": 22.5, "axis": "y", "origin": [4.36402, 0, 8.02286]},
"faces": {
"up": {"uv": [0, 0, 16, 16], "rotation": 180, "texture": "#shell"}
}
},
{
"from": [7.75505, 0.1, 8.08433],
"to": [15.75505, 0.1, 16.08433],
"rotation": {"angle": 22.5, "axis": "y", "origin": [11.75505, 0, 12.08433]},
"faces": {
"up": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#shell"}
}
}
]
}

View file

@ -0,0 +1,40 @@
{
"textures": {
"shell": "unicopia:item/clam_shell",
"particle": "#shell"
},
"elements": [
{
"from": [7.4, 0.1, -1],
"to": [15.4, 0.1, 7],
"rotation": {"angle": 45, "axis": "y", "origin": [13, 0, 3]},
"faces": {
"up": {"uv": [0, 0, 16, 16], "texture": "#shell"}
}
},
{
"from": [0.36402, 0.1, 7.02286],
"to": [8.36402, 0.1, 15.02286],
"rotation": {"angle": 22.5, "axis": "y", "origin": [4.36402, 0, 11.02286]},
"faces": {
"up": {"uv": [0, 0, 16, 16], "rotation": 180, "texture": "#shell"}
}
},
{
"from": [1.36402, 0.1, 0.02286],
"to": [9.36402, 0.1, 8.02286],
"rotation": {"angle": 22.5, "axis": "y", "origin": [5.36402, 0, 4.02286]},
"faces": {
"up": {"uv": [0, 0, 16, 16], "rotation": 270, "texture": "#shell"}
}
},
{
"from": [7.75505, 0.1, 8.08433],
"to": [15.75505, 0.1, 16.08433],
"rotation": {"angle": 22.5, "axis": "y", "origin": [11.75505, 0, 12.08433]},
"faces": {
"up": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#shell"}
}
}
]
}

View file

@ -0,0 +1,6 @@
{
"parent": "unicopia:block/clam_shell_1",
"textures": {
"shell": "unicopia:item/scallop_shell"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "unicopia:block/clam_shell_2",
"textures": {
"shell": "unicopia:item/scallop_shell"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "unicopia:block/clam_shell_3",
"textures": {
"shell": "unicopia:item/scallop_shell"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "unicopia:block/clam_shell_4",
"textures": {
"shell": "unicopia:item/scallop_shell"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "unicopia:block/clam_shell_1",
"textures": {
"shell": "unicopia:item/turret_shell"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "unicopia:block/clam_shell_2",
"textures": {
"shell": "unicopia:item/turret_shell"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "unicopia:block/clam_shell_3",
"textures": {
"shell": "unicopia:item/turret_shell"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "unicopia:block/clam_shell_4",
"textures": {
"shell": "unicopia:item/turret_shell"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "unicopia:item/clam_shell"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "unicopia:item/scallop_shell"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "unicopia:item/shelly"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "unicopia:item/turret_shell"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

View file

@ -0,0 +1,30 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [
"unicopia:shelly"
]
},
"criteria": {
"has_ingredients": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{ "items": [ "unicopia:clam_shell", "unicopia:rock_candy" ] }
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "unicopia:shelly"
}
}
},
"requirements": [
[
"has_ingredients",
"has_the_recipe"
]
]
}

View file

@ -0,0 +1,96 @@
{
"type": "minecraft:block",
"pools": [
{
"rolls": 1.0,
"bonus_rolls": 0.0,
"entries": [
{
"type": "minecraft:item",
"name": "unicopia:clam_shell",
"conditions": [
{
"block": "unicopia:clam_shell",
"condition": "minecraft:block_state_property",
"properties": {
"count": "1"
}
}
],
"functions": [
{
"add": false,
"count": 1,
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "unicopia:clam_shell",
"conditions": [
{
"block": "unicopia:clam_shell",
"condition": "minecraft:block_state_property",
"properties": {
"count": "2"
}
}
],
"functions": [
{
"add": false,
"count": 2,
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "unicopia:clam_shell",
"conditions": [
{
"block": "unicopia:clam_shell",
"condition": "minecraft:block_state_property",
"properties": {
"count": "3"
}
}
],
"functions": [
{
"add": false,
"count": 3,
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "unicopia:clam_shell",
"conditions": [
{
"block": "unicopia:clam_shell",
"condition": "minecraft:block_state_property",
"properties": {
"count": "4"
}
}
],
"functions": [
{
"add": false,
"count": 4,
"function": "minecraft:set_count"
}
]
}
],
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
]
}
]
}

View file

@ -0,0 +1,96 @@
{
"type": "minecraft:block",
"pools": [
{
"rolls": 1.0,
"bonus_rolls": 0.0,
"entries": [
{
"type": "minecraft:item",
"name": "unicopia:scallop_shell",
"conditions": [
{
"block": "unicopia:scallop_shell",
"condition": "minecraft:block_state_property",
"properties": {
"count": "1"
}
}
],
"functions": [
{
"add": false,
"count": 1,
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "unicopia:scallop_shell",
"conditions": [
{
"block": "unicopia:scallop_shell",
"condition": "minecraft:block_state_property",
"properties": {
"count": "2"
}
}
],
"functions": [
{
"add": false,
"count": 2,
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "unicopia:scallop_shell",
"conditions": [
{
"block": "unicopia:scallop_shell",
"condition": "minecraft:block_state_property",
"properties": {
"count": "3"
}
}
],
"functions": [
{
"add": false,
"count": 3,
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "unicopia:scallop_shell",
"conditions": [
{
"block": "unicopia:scallop_shell",
"condition": "minecraft:block_state_property",
"properties": {
"count": "4"
}
}
],
"functions": [
{
"add": false,
"count": 4,
"function": "minecraft:set_count"
}
]
}
],
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
]
}
]
}

View file

@ -0,0 +1,96 @@
{
"type": "minecraft:block",
"pools": [
{
"rolls": 1.0,
"bonus_rolls": 0.0,
"entries": [
{
"type": "minecraft:item",
"name": "unicopia:turret_shell",
"conditions": [
{
"block": "unicopia:turret_shell",
"condition": "minecraft:block_state_property",
"properties": {
"count": "1"
}
}
],
"functions": [
{
"add": false,
"count": 1,
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "unicopia:turret_shell",
"conditions": [
{
"block": "unicopia:turret_shell",
"condition": "minecraft:block_state_property",
"properties": {
"count": "2"
}
}
],
"functions": [
{
"add": false,
"count": 2,
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "unicopia:turret_shell",
"conditions": [
{
"block": "unicopia:turret_shell",
"condition": "minecraft:block_state_property",
"properties": {
"count": "3"
}
}
],
"functions": [
{
"add": false,
"count": 3,
"function": "minecraft:set_count"
}
]
},
{
"type": "minecraft:item",
"name": "unicopia:turret_shell",
"conditions": [
{
"block": "unicopia:turret_shell",
"condition": "minecraft:block_state_property",
"properties": {
"count": "4"
}
}
],
"functions": [
{
"add": false,
"count": 4,
"function": "minecraft:set_count"
}
]
}
],
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
]
}
]
}

View file

@ -0,0 +1,15 @@
{
"type": "minecraft:crafting_shaped",
"pattern": [
"# #",
"# #",
"~#~"
],
"key": {
"#": { "tag": "unicopia:food_types/shells" },
"~": { "item": "minecraft:string" }
},
"result": {
"item": "unicopia:pearl_necklace"
}
}

View file

@ -0,0 +1,14 @@
{
"type": "minecraft:crafting_shaped",
"pattern": [
"o o",
" C "
],
"key": {
"C": { "item": "unicopia:clam_shell" },
"o": { "item": "unicopia:rock_candy" }
},
"result": {
"item": "unicopia:shelly"
}
}

View file

@ -0,0 +1,11 @@
{
"replace": false,
"values": [
"minecraft:nautilus_shell",
"unicopia:clam_shell",
"unicopia:scallop_shell",
"unicopia:turret_shell",
"minecraft:seagrass",
"minecraft:sea_pickle"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"unicopia:shelly"
]
}

View file

@ -3,6 +3,8 @@
"values": [ "values": [
"unicopia:pearl_necklace", "unicopia:pearl_necklace",
"minecraft:nautilus_shell", "minecraft:nautilus_shell",
"#unicopia:food_types/shells",
"#unicopia:food_types/shelly",
"#unicopia:food_types/raw_sea_vegitable", "#unicopia:food_types/raw_sea_vegitable",
"#unicopia:food_types/cooked_sea_vegitable" "#unicopia:food_types/cooked_sea_vegitable"
] ]

View file

@ -28,6 +28,23 @@
"type": "minecraft:item", "type": "minecraft:item",
"name": "unicopia:pebbles", "name": "unicopia:pebbles",
"weight": 1 "weight": 1
},
{
"type": "minecraft:item",
"name": "unicopia:shelly",
"weight": 1
},
{
"type": "minecraft:tag",
"name": "unicopia:food_types/shells",
"expand": true,
"weight": 2
},
{
"type": "minecraft:tag",
"name": "unicopia:food_types/pearl_necklace",
"expand": true,
"weight": 1
} }
], ],
"rolls": 1.0 "rolls": 1.0

View file

@ -0,0 +1,25 @@
{
"type": "minecraft:chest",
"pools": [
{
"rolls": {
"min": 1.0,
"max": 4.0,
"type": "minecraft:uniform"
},
"entries": [
{
"type": "minecraft:item",
"weight": 1,
"name": "unicopia:pearl_necklace"
},
{
"type": "minecraft:tag",
"weight": 3,
"expand": true,
"name": "unicopia:food_types/shells"
}
]
}
]
}

View file

@ -0,0 +1,20 @@
{
"type": "minecraft:chest",
"pools": [
{
"rolls": {
"min": 1.0,
"max": 6.0,
"type": "minecraft:uniform"
},
"entries": [
{
"type": "minecraft:tag",
"weight": 3,
"expand": true,
"name": "unicopia:food_types/shells"
}
]
}
]
}

View file

@ -0,0 +1,25 @@
{
"type": "minecraft:chest",
"pools": [
{
"rolls": {
"min": 1.0,
"max": 4.0,
"type": "minecraft:uniform"
},
"entries": [
{
"type": "minecraft:item",
"weight": 1,
"name": "unicopia:pearl_necklace"
},
{
"type": "minecraft:tag",
"weight": 3,
"expand": true,
"name": "unicopia:food_types/shells"
}
]
}
]
}

View file

@ -0,0 +1,30 @@
{
"type": "minecraft:chest",
"pools": [
{
"rolls": {
"min": 1.0,
"max": 2.0,
"type": "minecraft:uniform"
},
"entries": [
{
"type": "minecraft:item",
"weight": 1,
"name": "unicopia:pearl_necklace"
},
{
"type": "minecraft:item",
"weight": 4,
"name": "unicopia:shelly"
},
{
"type": "minecraft:tag",
"weight": 8,
"expand": true,
"name": "unicopia:food_types/shells"
}
]
}
]
}

View file

@ -0,0 +1,20 @@
{
"type": "minecraft:chest",
"pools": [
{
"rolls": {
"min": 1.0,
"max": 4.0,
"type": "minecraft:uniform"
},
"entries": [
{
"type": "minecraft:tag",
"weight": 1,
"expand": true,
"name": "unicopia:food_types/shells"
}
]
}
]
}