custom throwable projectile
@@ -1,8 +1,9 @@
|
|||||||
// 1.20.1 2023-10-27T15:30:02.3167041 Item Models: tutorialmod
|
// 1.20.1 2023-11-03T14:02:05.8529024 Item Models: tutorialmod
|
||||||
f746b64540daf2ab6302b3ec01a78490c48fc10b assets/tutorialmod/models/item/bar_brawl_music_disc.json
|
f746b64540daf2ab6302b3ec01a78490c48fc10b assets/tutorialmod/models/item/bar_brawl_music_disc.json
|
||||||
d3e9cad00ae44c9319dfbb411667eb4a09a63e57 assets/tutorialmod/models/item/catmint.json
|
d3e9cad00ae44c9319dfbb411667eb4a09a63e57 assets/tutorialmod/models/item/catmint.json
|
||||||
6126e26da373f9113d9e9be875b14a0d13857444 assets/tutorialmod/models/item/corn.json
|
6126e26da373f9113d9e9be875b14a0d13857444 assets/tutorialmod/models/item/corn.json
|
||||||
4c5c277fa6360b149d6c3ab20584fcc4450cda27 assets/tutorialmod/models/item/corn_seeds.json
|
4c5c277fa6360b149d6c3ab20584fcc4450cda27 assets/tutorialmod/models/item/corn_seeds.json
|
||||||
|
798aa8856a8439e5ead445b62c2c79a11612c545 assets/tutorialmod/models/item/dice.json
|
||||||
93719e53df04c62d91023fe733206eb93b7aac86 assets/tutorialmod/models/item/metal_detector.json
|
93719e53df04c62d91023fe733206eb93b7aac86 assets/tutorialmod/models/item/metal_detector.json
|
||||||
d07710d2ac53c1f602f0c1f40f9a7d42bdb1092b assets/tutorialmod/models/item/pine_boat.json
|
d07710d2ac53c1f602f0c1f40f9a7d42bdb1092b assets/tutorialmod/models/item/pine_boat.json
|
||||||
0e6c1cfbeb70a4ffd5b097ec1a6562763b8aa577 assets/tutorialmod/models/item/pine_chest_boat.json
|
0e6c1cfbeb70a4ffd5b097ec1a6562763b8aa577 assets/tutorialmod/models/item/pine_chest_boat.json
|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:item/generated",
|
||||||
|
"textures": {
|
||||||
|
"layer0": "tutorialmod:item/dice"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -19,6 +19,7 @@ import net.minecraft.client.gui.screens.MenuScreens;
|
|||||||
import net.minecraft.client.renderer.Sheets;
|
import net.minecraft.client.renderer.Sheets;
|
||||||
import net.minecraft.client.renderer.entity.EntityRenderer;
|
import net.minecraft.client.renderer.entity.EntityRenderer;
|
||||||
import net.minecraft.client.renderer.entity.EntityRenderers;
|
import net.minecraft.client.renderer.entity.EntityRenderers;
|
||||||
|
import net.minecraft.client.renderer.entity.ThrownItemRenderer;
|
||||||
import net.minecraft.world.entity.EntityType;
|
import net.minecraft.world.entity.EntityType;
|
||||||
import net.minecraft.world.item.CreativeModeTabs;
|
import net.minecraft.world.item.CreativeModeTabs;
|
||||||
import net.minecraft.world.level.block.Blocks;
|
import net.minecraft.world.level.block.Blocks;
|
||||||
@@ -96,6 +97,8 @@ public class TutorialMod {
|
|||||||
EntityRenderers.register(ModEntities.MOD_BOAT.get(), pContext -> new ModBoatRenderer(pContext, false));
|
EntityRenderers.register(ModEntities.MOD_BOAT.get(), pContext -> new ModBoatRenderer(pContext, false));
|
||||||
EntityRenderers.register(ModEntities.MOD_CHEST_BOAT.get(), pContext -> new ModBoatRenderer(pContext, true));
|
EntityRenderers.register(ModEntities.MOD_CHEST_BOAT.get(), pContext -> new ModBoatRenderer(pContext, true));
|
||||||
|
|
||||||
|
EntityRenderers.register(ModEntities.DICE_PROJECTILE.get(), ThrownItemRenderer::new);
|
||||||
|
|
||||||
MenuScreens.register(ModMenuTypes.GEM_POLISHING_MENU.get(), GemPolishingStationScreen::new);
|
MenuScreens.register(ModMenuTypes.GEM_POLISHING_MENU.get(), GemPolishingStationScreen::new);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -149,6 +149,9 @@ public class ModBlocks {
|
|||||||
() -> new ModWallHangingSignBlock(BlockBehaviour.Properties.copy(Blocks.OAK_WALL_HANGING_SIGN), ModWoodTypes.PINE));
|
() -> new ModWallHangingSignBlock(BlockBehaviour.Properties.copy(Blocks.OAK_WALL_HANGING_SIGN), ModWoodTypes.PINE));
|
||||||
|
|
||||||
|
|
||||||
|
public static final RegistryObject<Block> DICE_BLOCK = BLOCKS.register("dice_block",
|
||||||
|
() -> new DiceBlock(BlockBehaviour.Properties.copy(Blocks.STONE).noLootTable()));
|
||||||
|
|
||||||
|
|
||||||
private static <T extends Block> RegistryObject<T> registerBlock(String name, Supplier<T> block) {
|
private static <T extends Block> RegistryObject<T> registerBlock(String name, Supplier<T> block) {
|
||||||
RegistryObject<T> toReturn = BLOCKS.register(name, block);
|
RegistryObject<T> toReturn = BLOCKS.register(name, block);
|
||||||
|
|||||||
@@ -0,0 +1,52 @@
|
|||||||
|
package net.kaupenjoe.tutorialmod.block.custom;
|
||||||
|
|
||||||
|
import net.minecraft.core.Direction;
|
||||||
|
import net.minecraft.util.RandomSource;
|
||||||
|
import net.minecraft.world.item.context.BlockPlaceContext;
|
||||||
|
import net.minecraft.world.level.block.Block;
|
||||||
|
import net.minecraft.world.level.block.state.BlockState;
|
||||||
|
import net.minecraft.world.level.block.state.StateDefinition;
|
||||||
|
import net.minecraft.world.level.block.state.properties.DirectionProperty;
|
||||||
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
|
public class DiceBlock extends Block {
|
||||||
|
public static DirectionProperty FACING = DirectionProperty.create("number",
|
||||||
|
Direction.UP,
|
||||||
|
Direction.NORTH,
|
||||||
|
Direction.EAST,
|
||||||
|
Direction.SOUTH,
|
||||||
|
Direction.WEST,
|
||||||
|
Direction.DOWN);
|
||||||
|
|
||||||
|
public DiceBlock(Properties properties) {
|
||||||
|
super(properties);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Nullable
|
||||||
|
@Override
|
||||||
|
public BlockState getStateForPlacement(BlockPlaceContext placeContext) {
|
||||||
|
return this.defaultBlockState().setValue(FACING, getRandomDirection());
|
||||||
|
}
|
||||||
|
|
||||||
|
public BlockState getRandomBlockState() {
|
||||||
|
return this.defaultBlockState().setValue(FACING, getRandomDirection());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void createBlockStateDefinition(StateDefinition.Builder<Block, BlockState> builder) {
|
||||||
|
builder.add(FACING);
|
||||||
|
}
|
||||||
|
|
||||||
|
private Direction getRandomDirection() {
|
||||||
|
Direction[] dirs = new Direction[] {
|
||||||
|
Direction.UP,
|
||||||
|
Direction.NORTH,
|
||||||
|
Direction.EAST,
|
||||||
|
Direction.SOUTH,
|
||||||
|
Direction.WEST,
|
||||||
|
Direction.DOWN
|
||||||
|
};
|
||||||
|
|
||||||
|
return dirs[RandomSource.create().nextIntBetweenInclusive(0, dirs.length-1)];
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -88,6 +88,8 @@ public class ModItemModelProvider extends ItemModelProvider {
|
|||||||
|
|
||||||
simpleItem(ModItems.PINE_BOAT);
|
simpleItem(ModItems.PINE_BOAT);
|
||||||
simpleItem(ModItems.PINE_CHEST_BOAT);
|
simpleItem(ModItems.PINE_CHEST_BOAT);
|
||||||
|
|
||||||
|
simpleItem(ModItems.DICE);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Shoutout to El_Redstoniano for making this
|
// Shoutout to El_Redstoniano for making this
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package net.kaupenjoe.tutorialmod.entity;
|
package net.kaupenjoe.tutorialmod.entity;
|
||||||
|
|
||||||
import net.kaupenjoe.tutorialmod.TutorialMod;
|
import net.kaupenjoe.tutorialmod.TutorialMod;
|
||||||
|
import net.kaupenjoe.tutorialmod.entity.custom.DiceProjectileEntity;
|
||||||
import net.kaupenjoe.tutorialmod.entity.custom.ModBoatEntity;
|
import net.kaupenjoe.tutorialmod.entity.custom.ModBoatEntity;
|
||||||
import net.kaupenjoe.tutorialmod.entity.custom.ModChestBoatEntity;
|
import net.kaupenjoe.tutorialmod.entity.custom.ModChestBoatEntity;
|
||||||
import net.kaupenjoe.tutorialmod.entity.custom.RhinoEntity;
|
import net.kaupenjoe.tutorialmod.entity.custom.RhinoEntity;
|
||||||
@@ -28,6 +29,12 @@ public class ModEntities {
|
|||||||
.sized(1.375f, 0.5625f).build("mod_chest_boat"));
|
.sized(1.375f, 0.5625f).build("mod_chest_boat"));
|
||||||
|
|
||||||
|
|
||||||
|
public static final RegistryObject<EntityType<DiceProjectileEntity>> DICE_PROJECTILE =
|
||||||
|
ENTITY_TYPES.register("dice_projectile", () -> EntityType.Builder.<DiceProjectileEntity>of(DiceProjectileEntity::new, MobCategory.MISC)
|
||||||
|
.sized(0.5f, 0.5f).build("dice_projectile"));
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public static void register(IEventBus eventBus) {
|
public static void register(IEventBus eventBus) {
|
||||||
ENTITY_TYPES.register(eventBus);
|
ENTITY_TYPES.register(eventBus);
|
||||||
|
|||||||
@@ -0,0 +1,42 @@
|
|||||||
|
package net.kaupenjoe.tutorialmod.entity.custom;
|
||||||
|
|
||||||
|
import net.kaupenjoe.tutorialmod.block.ModBlocks;
|
||||||
|
import net.kaupenjoe.tutorialmod.block.custom.DiceBlock;
|
||||||
|
import net.kaupenjoe.tutorialmod.entity.ModEntities;
|
||||||
|
import net.kaupenjoe.tutorialmod.item.ModItems;
|
||||||
|
import net.minecraft.world.entity.EntityType;
|
||||||
|
import net.minecraft.world.entity.LivingEntity;
|
||||||
|
import net.minecraft.world.entity.projectile.ThrowableItemProjectile;
|
||||||
|
import net.minecraft.world.item.Item;
|
||||||
|
import net.minecraft.world.level.Level;
|
||||||
|
import net.minecraft.world.phys.BlockHitResult;
|
||||||
|
|
||||||
|
public class DiceProjectileEntity extends ThrowableItemProjectile {
|
||||||
|
public DiceProjectileEntity(EntityType<? extends ThrowableItemProjectile> pEntityType, Level pLevel) {
|
||||||
|
super(pEntityType, pLevel);
|
||||||
|
}
|
||||||
|
|
||||||
|
public DiceProjectileEntity(Level pLevel) {
|
||||||
|
super(ModEntities.DICE_PROJECTILE.get(), pLevel);
|
||||||
|
}
|
||||||
|
|
||||||
|
public DiceProjectileEntity(Level pLevel, LivingEntity livingEntity) {
|
||||||
|
super(ModEntities.DICE_PROJECTILE.get(), livingEntity, pLevel);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected Item getDefaultItem() {
|
||||||
|
return ModItems.DICE.get();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onHitBlock(BlockHitResult pResult) {
|
||||||
|
if(!this.level().isClientSide()) {
|
||||||
|
this.level().broadcastEntityEvent(this, ((byte) 3));
|
||||||
|
this.level().setBlock(blockPosition(), ((DiceBlock) ModBlocks.DICE_BLOCK.get()).getRandomBlockState(), 3);
|
||||||
|
}
|
||||||
|
|
||||||
|
this.discard();
|
||||||
|
super.onHitBlock(pResult);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -55,6 +55,8 @@ public class ModCreativeModTabs {
|
|||||||
pOutput.accept(ModItems.PINE_BOAT.get());
|
pOutput.accept(ModItems.PINE_BOAT.get());
|
||||||
pOutput.accept(ModItems.PINE_CHEST_BOAT.get());
|
pOutput.accept(ModItems.PINE_CHEST_BOAT.get());
|
||||||
|
|
||||||
|
pOutput.accept(ModItems.DICE.get());
|
||||||
|
|
||||||
pOutput.accept(ModBlocks.SAPPHIRE_BLOCK.get());
|
pOutput.accept(ModBlocks.SAPPHIRE_BLOCK.get());
|
||||||
pOutput.accept(ModBlocks.RAW_SAPPHIRE_BLOCK.get());
|
pOutput.accept(ModBlocks.RAW_SAPPHIRE_BLOCK.get());
|
||||||
|
|
||||||
|
|||||||
@@ -4,10 +4,7 @@ import net.kaupenjoe.tutorialmod.TutorialMod;
|
|||||||
import net.kaupenjoe.tutorialmod.block.ModBlocks;
|
import net.kaupenjoe.tutorialmod.block.ModBlocks;
|
||||||
import net.kaupenjoe.tutorialmod.entity.ModEntities;
|
import net.kaupenjoe.tutorialmod.entity.ModEntities;
|
||||||
import net.kaupenjoe.tutorialmod.entity.custom.ModBoatEntity;
|
import net.kaupenjoe.tutorialmod.entity.custom.ModBoatEntity;
|
||||||
import net.kaupenjoe.tutorialmod.item.custom.FuelItem;
|
import net.kaupenjoe.tutorialmod.item.custom.*;
|
||||||
import net.kaupenjoe.tutorialmod.item.custom.MetalDetectorItem;
|
|
||||||
import net.kaupenjoe.tutorialmod.item.custom.ModArmorItem;
|
|
||||||
import net.kaupenjoe.tutorialmod.item.custom.ModBoatItem;
|
|
||||||
import net.kaupenjoe.tutorialmod.sound.ModSounds;
|
import net.kaupenjoe.tutorialmod.sound.ModSounds;
|
||||||
import net.minecraft.world.item.*;
|
import net.minecraft.world.item.*;
|
||||||
import net.minecraftforge.common.ForgeSpawnEggItem;
|
import net.minecraftforge.common.ForgeSpawnEggItem;
|
||||||
@@ -82,6 +79,9 @@ public class ModItems {
|
|||||||
public static final RegistryObject<Item> PINE_CHEST_BOAT = ITEMS.register("pine_chest_boat",
|
public static final RegistryObject<Item> PINE_CHEST_BOAT = ITEMS.register("pine_chest_boat",
|
||||||
() -> new ModBoatItem(true, ModBoatEntity.Type.PINE, new Item.Properties()));
|
() -> new ModBoatItem(true, ModBoatEntity.Type.PINE, new Item.Properties()));
|
||||||
|
|
||||||
|
public static final RegistryObject<Item> DICE = ITEMS.register("dice",
|
||||||
|
() -> new DiceItem(new Item.Properties()));
|
||||||
|
|
||||||
public static void register(IEventBus eventBus) {
|
public static void register(IEventBus eventBus) {
|
||||||
ITEMS.register(eventBus);
|
ITEMS.register(eventBus);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,38 @@
|
|||||||
|
package net.kaupenjoe.tutorialmod.item.custom;
|
||||||
|
|
||||||
|
import net.kaupenjoe.tutorialmod.entity.custom.DiceProjectileEntity;
|
||||||
|
import net.minecraft.sounds.SoundEvents;
|
||||||
|
import net.minecraft.sounds.SoundSource;
|
||||||
|
import net.minecraft.stats.Stats;
|
||||||
|
import net.minecraft.world.InteractionHand;
|
||||||
|
import net.minecraft.world.InteractionResultHolder;
|
||||||
|
import net.minecraft.world.entity.player.Player;
|
||||||
|
import net.minecraft.world.item.Item;
|
||||||
|
import net.minecraft.world.item.ItemStack;
|
||||||
|
import net.minecraft.world.level.Level;
|
||||||
|
|
||||||
|
public class DiceItem extends Item {
|
||||||
|
public DiceItem(Properties pProperties) {
|
||||||
|
super(pProperties);
|
||||||
|
}
|
||||||
|
|
||||||
|
public InteractionResultHolder<ItemStack> use(Level pLevel, Player pPlayer, InteractionHand pHand) {
|
||||||
|
ItemStack itemstack = pPlayer.getItemInHand(pHand);
|
||||||
|
pLevel.playSound((Player)null, pPlayer.getX(), pPlayer.getY(), pPlayer.getZ(),
|
||||||
|
SoundEvents.SNOWBALL_THROW, SoundSource.NEUTRAL, 0.5F, 0.4F / (pLevel.getRandom().nextFloat() * 0.4F + 0.8F));
|
||||||
|
|
||||||
|
if (!pLevel.isClientSide) {
|
||||||
|
DiceProjectileEntity dice = new DiceProjectileEntity(pLevel, pPlayer);
|
||||||
|
dice.setItem(itemstack);
|
||||||
|
dice.shootFromRotation(pPlayer, pPlayer.getXRot(), pPlayer.getYRot(), 0.0F, 1.5F, 1.0F);
|
||||||
|
pLevel.addFreshEntity(dice);
|
||||||
|
}
|
||||||
|
|
||||||
|
pPlayer.awardStat(Stats.ITEM_USED.get(this));
|
||||||
|
if (!pPlayer.getAbilities().instabuild) {
|
||||||
|
itemstack.shrink(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
return InteractionResultHolder.sidedSuccess(itemstack, pLevel.isClientSide());
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"variants": {
|
||||||
|
"number=up": {
|
||||||
|
"model": "tutorialmod:block/dice_1"
|
||||||
|
},
|
||||||
|
"number=north": {
|
||||||
|
"model": "tutorialmod:block/dice_2"
|
||||||
|
},
|
||||||
|
"number=east": {
|
||||||
|
"model": "tutorialmod:block/dice_3"
|
||||||
|
},
|
||||||
|
"number=south": {
|
||||||
|
"model": "tutorialmod:block/dice_5"
|
||||||
|
},
|
||||||
|
"number=west": {
|
||||||
|
"model": "tutorialmod:block/dice_4"
|
||||||
|
},
|
||||||
|
"number=down": {
|
||||||
|
"model": "tutorialmod:block/dice_6"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -29,6 +29,7 @@
|
|||||||
"item.tutorialmod.pine_boat": "Pine Boat",
|
"item.tutorialmod.pine_boat": "Pine Boat",
|
||||||
"item.tutorialmod.pine_chest_boat": "Pine Chest Boat",
|
"item.tutorialmod.pine_chest_boat": "Pine Chest Boat",
|
||||||
|
|
||||||
|
"item.tutorialmod.dice": "Dice",
|
||||||
|
|
||||||
"block.tutorialmod.sapphire_block": "Block of Sapphire",
|
"block.tutorialmod.sapphire_block": "Block of Sapphire",
|
||||||
"block.tutorialmod.raw_sapphire_block": "Block of Raw Sapphire",
|
"block.tutorialmod.raw_sapphire_block": "Block of Raw Sapphire",
|
||||||
|
|||||||
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:block/cube",
|
||||||
|
"textures": {
|
||||||
|
"up": "tutorialmod:block/dice_1",
|
||||||
|
"down": "tutorialmod:block/dice_6",
|
||||||
|
"north": "tutorialmod:block/dice_2",
|
||||||
|
"east": "tutorialmod:block/dice_3",
|
||||||
|
"south": "tutorialmod:block/dice_5",
|
||||||
|
"west": "tutorialmod:block/dice_4",
|
||||||
|
"particle": "tutorialmod:block/dice_1"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:block/cube",
|
||||||
|
"textures": {
|
||||||
|
"up": "tutorialmod:block/dice_2",
|
||||||
|
"down": "tutorialmod:block/dice_5",
|
||||||
|
"north": "tutorialmod:block/dice_6",
|
||||||
|
"east": "tutorialmod:block/dice_3",
|
||||||
|
"south": "tutorialmod:block/dice_1",
|
||||||
|
"west": "tutorialmod:block/dice_4",
|
||||||
|
"particle": "tutorialmod:block/dice_2"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:block/cube",
|
||||||
|
"textures": {
|
||||||
|
"up": "tutorialmod:block/dice_3",
|
||||||
|
"down": "tutorialmod:block/dice_4",
|
||||||
|
"north": "tutorialmod:block/dice_6",
|
||||||
|
"east": "tutorialmod:block/dice_2",
|
||||||
|
"south": "tutorialmod:block/dice_1",
|
||||||
|
"west": "tutorialmod:block/dice_5",
|
||||||
|
"particle": "tutorialmod:block/dice_3"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:block/cube",
|
||||||
|
"textures": {
|
||||||
|
"up": "tutorialmod:block/dice_4",
|
||||||
|
"down": "tutorialmod:block/dice_3",
|
||||||
|
"north": "tutorialmod:block/dice_1",
|
||||||
|
"east": "tutorialmod:block/dice_5",
|
||||||
|
"south": "tutorialmod:block/dice_6",
|
||||||
|
"west": "tutorialmod:block/dice_2",
|
||||||
|
"particle": "tutorialmod:block/dice_4"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:block/cube",
|
||||||
|
"textures": {
|
||||||
|
"up": "tutorialmod:block/dice_5",
|
||||||
|
"down": "tutorialmod:block/dice_2",
|
||||||
|
"north": "tutorialmod:block/dice_1",
|
||||||
|
"east": "tutorialmod:block/dice_4",
|
||||||
|
"south": "tutorialmod:block/dice_6",
|
||||||
|
"west": "tutorialmod:block/dice_3",
|
||||||
|
"particle": "tutorialmod:block/dice_5"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"parent": "minecraft:block/cube",
|
||||||
|
"textures": {
|
||||||
|
"up": "tutorialmod:block/dice_6",
|
||||||
|
"down": "tutorialmod:block/dice_1",
|
||||||
|
"north": "tutorialmod:block/dice_2",
|
||||||
|
"east": "tutorialmod:block/dice_4",
|
||||||
|
"south": "tutorialmod:block/dice_5",
|
||||||
|
"west": "tutorialmod:block/dice_3",
|
||||||
|
"particle": "tutorialmod:block/dice_6"
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
src/main/resources/assets/tutorialmod/textures/block/dice_1.png
Normal file
|
After Width: | Height: | Size: 294 B |
BIN
src/main/resources/assets/tutorialmod/textures/block/dice_2.png
Normal file
|
After Width: | Height: | Size: 335 B |
BIN
src/main/resources/assets/tutorialmod/textures/block/dice_3.png
Normal file
|
After Width: | Height: | Size: 348 B |
BIN
src/main/resources/assets/tutorialmod/textures/block/dice_4.png
Normal file
|
After Width: | Height: | Size: 358 B |
BIN
src/main/resources/assets/tutorialmod/textures/block/dice_5.png
Normal file
|
After Width: | Height: | Size: 396 B |
BIN
src/main/resources/assets/tutorialmod/textures/block/dice_6.png
Normal file
|
After Width: | Height: | Size: 379 B |
BIN
src/main/resources/assets/tutorialmod/textures/item/dice.png
Normal file
|
After Width: | Height: | Size: 372 B |