diff --git a/src/main/java/com/starfish_studios/seasons_greetings/block/IcingBlock.java b/src/main/java/com/starfish_studios/seasons_greetings/block/IcingBlock.java new file mode 100644 index 0000000..5a4127e --- /dev/null +++ b/src/main/java/com/starfish_studios/seasons_greetings/block/IcingBlock.java @@ -0,0 +1,81 @@ +package com.starfish_studios.seasons_greetings.block; + +import com.mojang.serialization.MapCodec; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.util.RandomSource; +import net.minecraft.world.item.Items; +import net.minecraft.world.item.context.BlockPlaceContext; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.LevelAccessor; +import net.minecraft.world.level.LevelReader; +import net.minecraft.world.level.block.*; +import net.minecraft.world.level.block.state.BlockBehaviour; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.StateDefinition; +import net.minecraft.world.level.block.state.properties.BlockStateProperties; +import net.minecraft.world.level.block.state.properties.BooleanProperty; +import net.minecraft.world.level.material.FluidState; +import net.minecraft.world.level.material.Fluids; +import org.jetbrains.annotations.NotNull; + +import java.util.function.ToIntFunction; + +public class IcingBlock extends MultifaceBlock implements SimpleWaterloggedBlock { + public static final MapCodec CODEC = simpleCodec(IcingBlock::new); + private static final BooleanProperty WATERLOGGED = BlockStateProperties.WATERLOGGED; + private final MultifaceSpreader spreader = new MultifaceSpreader(this); + + @Override + public @NotNull MapCodec codec() { + return CODEC; + } + + public IcingBlock(BlockBehaviour.Properties properties) { + super(properties); + this.registerDefaultState(this.defaultBlockState().setValue(WATERLOGGED, Boolean.FALSE)); + } + + public static ToIntFunction emission(int i) { + return blockState -> MultifaceBlock.hasAnyFace(blockState) ? i : 0; + } + + @Override + protected void createBlockStateDefinition(StateDefinition.Builder builder) { + super.createBlockStateDefinition(builder); + builder.add(WATERLOGGED); + } + + @Override + protected @NotNull BlockState updateShape( + BlockState blockState, Direction direction, BlockState blockState2, LevelAccessor levelAccessor, BlockPos blockPos, BlockPos blockPos2 + ) { + if (blockState.getValue(WATERLOGGED)) { + levelAccessor.scheduleTick(blockPos, Fluids.WATER, Fluids.WATER.getTickDelay(levelAccessor)); + } + + return super.updateShape(blockState, direction, blockState2, levelAccessor, blockPos, blockPos2); + } + + @Override + protected boolean canBeReplaced(BlockState blockState, BlockPlaceContext blockPlaceContext) { + return !blockPlaceContext.getItemInHand().is(this.asItem()) || super.canBeReplaced(blockState, blockPlaceContext); + } + + @Override + protected @NotNull FluidState getFluidState(BlockState blockState) { + return blockState.getValue(WATERLOGGED) ? Fluids.WATER.getSource(false) : super.getFluidState(blockState); + } + + @Override + protected boolean propagatesSkylightDown(BlockState blockState, BlockGetter blockGetter, BlockPos blockPos) { + return blockState.getFluidState().isEmpty(); + } + + @Override + public @NotNull MultifaceSpreader getSpreader() { + return this.spreader; + } +} diff --git a/src/main/java/com/starfish_studios/seasons_greetings/client/SeasonsGreetingsClient.java b/src/main/java/com/starfish_studios/seasons_greetings/client/SeasonsGreetingsClient.java index d4da3fd..ba53962 100644 --- a/src/main/java/com/starfish_studios/seasons_greetings/client/SeasonsGreetingsClient.java +++ b/src/main/java/com/starfish_studios/seasons_greetings/client/SeasonsGreetingsClient.java @@ -78,6 +78,7 @@ public static void registerRenderers() { SGBlocks.STRING_LIGHTS, SGBlocks.WREATH, + SGBlocks.GINGERBREAD_DOOR, SGBlocks.WHITE_GIFT_BOX, SGBlocks.LIGHT_GRAY_GIFT_BOX, diff --git a/src/main/java/com/starfish_studios/seasons_greetings/entity/GingerbreadMan.java b/src/main/java/com/starfish_studios/seasons_greetings/entity/GingerbreadMan.java index b4e106d..d542a2b 100644 --- a/src/main/java/com/starfish_studios/seasons_greetings/entity/GingerbreadMan.java +++ b/src/main/java/com/starfish_studios/seasons_greetings/entity/GingerbreadMan.java @@ -20,6 +20,7 @@ import net.minecraft.world.entity.ai.goal.*; import net.minecraft.world.entity.ai.goal.target.OwnerHurtByTargetGoal; import net.minecraft.world.entity.ai.goal.target.OwnerHurtTargetGoal; +import net.minecraft.world.entity.ai.goal.target.ResetUniversalAngerTargetGoal; import net.minecraft.world.entity.animal.horse.AbstractHorse; import net.minecraft.world.entity.decoration.ArmorStand; import net.minecraft.world.entity.item.ItemEntity; @@ -43,6 +44,7 @@ import java.util.EnumSet; import java.util.Iterator; +import java.util.Objects; public class GingerbreadMan extends TamableAnimal implements GeoEntity { protected static final RawAnimation IDLE = RawAnimation.begin().thenLoop("animation.gingerbread_man.idle"); @@ -51,6 +53,7 @@ public class GingerbreadMan extends TamableAnimal implements GeoEntity { protected static final RawAnimation ATTACK = RawAnimation.begin().then("animation.gingerbread_man.attack", Animation.LoopType.PLAY_ONCE); protected static final RawAnimation ATTACK2 = RawAnimation.begin().thenPlay("animation.gingerbread_man.attack2"); protected static final RawAnimation DIE = RawAnimation.begin().thenPlayAndHold("animation.gingerbread_man.die"); + protected static final RawAnimation SIT = RawAnimation.begin().thenLoop("animation.gingerbread_man.sit"); private final AnimatableInstanceCache geoCache = GeckoLibUtil.createInstanceCache(this); @@ -86,6 +89,15 @@ private void removeInteractionItem(Player player, ItemStack itemStack) { public @NotNull InteractionResult mobInteract(Player player, InteractionHand hand) { ItemStack itemStack = player.getItemInHand(hand); ItemStack itemStack2 = this.getMainHandItem(); + InteractionResult interactionResult = super.mobInteract(player, hand); + + if (!interactionResult.consumesAction() && this.isOwnedBy(player)) { + this.setOrderedToSit(!this.isOrderedToSit()); + this.jumping = false; + this.navigation.stop(); + this.setTarget(null); + return InteractionResult.SUCCESS_NO_ITEM_USED; + } if (itemStack2.isEmpty() && !itemStack.isEmpty()) { ItemStack itemStack3 = itemStack.copyWithCount(1); @@ -116,8 +128,8 @@ public boolean cantCatchMe(boolean b) { @Override public SpawnGroupData finalizeSpawn(ServerLevelAccessor serverLevelAccessor, DifficultyInstance difficultyInstance, MobSpawnType mobSpawnType, @Nullable SpawnGroupData spawnGroupData) { this.populateDefaultEquipmentSlots(random, difficultyInstance); - if (mobSpawnType == MobSpawnType.SPAWN_EGG || mobSpawnType == MobSpawnType.COMMAND || mobSpawnType == MobSpawnType.MOB_SUMMONED) { - cantCatchMe(false); + if (mobSpawnType == MobSpawnType.SPAWN_EGG) { + this.setOwnerUUID(Objects.requireNonNull(serverLevelAccessor.getNearestPlayer(this, 8.0D)).getUUID()); } return super.finalizeSpawn(serverLevelAccessor, difficultyInstance, mobSpawnType, spawnGroupData); } @@ -139,22 +151,35 @@ public static AttributeSupplier.Builder createAttributes() { protected void registerGoals() { this.goalSelector.addGoal(0, new FloatGoal(this)); - this.goalSelector.addGoal(1, new MeleeAttackGoal(this, 1.0, true)); + this.goalSelector.addGoal(1, new PanicGoal(this, 1.25)); + this.goalSelector.addGoal(2, new SitWhenOrderedToGoal(this)); + this.goalSelector.addGoal(3, new MeleeAttackGoal(this, 1.0, true)); - this.goalSelector.addGoal(2, new PanicGoal(this, 1.25)); - this.goalSelector.addGoal(3, new FollowOwnerGoal(this, 1.25, 10.0F, 2.0F)); - this.goalSelector.addGoal(4, new AvoidEatingPlayerGoal(this, 8.0, 1.0, 1.2)); + this.goalSelector.addGoal(4, new FollowOwnerGoal(this, 1.25, 10.0F, 2.0F)); + this.goalSelector.addGoal(5, new AvoidEatingPlayerGoal(this, 8.0, 1.0, 1.2)); - this.goalSelector.addGoal(5, new TemptGoal(this, 1.2, (itemStack) -> itemStack.is(Items.COOKIE), false)); - this.goalSelector.addGoal(6, new CopyOwnerBreakGoal(this, 1.0)); - this.goalSelector.addGoal(7, new WaterAvoidingRandomStrollGoal(this, 1.0)); - this.goalSelector.addGoal(8, new LookAtPlayerGoal(this, Player.class, 6.0F)); - this.goalSelector.addGoal(9, new RandomLookAroundGoal(this)); + this.goalSelector.addGoal(6, new TemptGoal(this, 1.2, (itemStack) -> itemStack.is(Items.COOKIE), false)); + this.goalSelector.addGoal(7, new CopyOwnerBreakGoal(this, 1.0)); + this.goalSelector.addGoal(8, new WaterAvoidingRandomStrollGoal(this, 1.0)); + this.goalSelector.addGoal(9, new LookAtPlayerGoal(this, Player.class, 6.0F)); + this.goalSelector.addGoal(10, new RandomLookAroundGoal(this)); this.targetSelector.addGoal(1, new OwnerHurtByTargetGoal(this)); this.targetSelector.addGoal(2, new OwnerHurtTargetGoal(this)); } + public boolean hurt(DamageSource damageSource, float f) { + if (this.isInvulnerableTo(damageSource)) { + return false; + } else { + if (!this.level().isClientSide) { + this.setOrderedToSit(false); + } + + return super.hurt(damageSource, f); + } + } + // region GeckoLib @Override @@ -177,7 +202,9 @@ private PlayState attackPredicate(AnimationState event) { } private PlayState predicate(final AnimationState event) { - if (event.isMoving()) { + if (this.isOrderedToSit()) { + event.setAnimation(SIT); + } else if (event.isMoving()) { if (this.getAttributeValue(Attributes.MOVEMENT_SPEED) == 0.25 * 1.25) { event.setControllerSpeed(1.25F); } else { diff --git a/src/main/java/com/starfish_studios/seasons_greetings/registry/SGBlocks.java b/src/main/java/com/starfish_studios/seasons_greetings/registry/SGBlocks.java index 4a83c44..3828f4e 100644 --- a/src/main/java/com/starfish_studios/seasons_greetings/registry/SGBlocks.java +++ b/src/main/java/com/starfish_studios/seasons_greetings/registry/SGBlocks.java @@ -35,7 +35,7 @@ public class SGBlocks { public static final Block GINGERBREAD_SHINGLES = registerBlock("gingerbread_shingles", new Block(gingerbreadProperties)); public static final Block GINGERBREAD_SHINGLE_STAIRS = registerBlock("gingerbread_shingle_stairs", new StairBlock(GINGERBREAD_SHINGLES.defaultBlockState(), gingerbreadProperties)); public static final Block GINGERBREAD_SHINGLE_SLAB = registerBlock("gingerbread_shingle_slab", new SlabBlock(gingerbreadProperties)); -// public static final Block GINGERBREAD_DOOR = registerBlock("gingerbread_door", new DoorBlock(null, gingerbreadProperties.noOcclusion().pushReaction(PushReaction.DESTROY))); + public static final Block GINGERBREAD_DOOR = registerBlock("gingerbread_door", new DoorBlock(BlockSetType.OAK, gingerbreadProperties.noOcclusion().pushReaction(PushReaction.DESTROY))); public static final BlockBehaviour.Properties chocolateProperties = Block.Properties.of().strength(0.3F).sound(SoundType.WOOL); public static final Block CHOCOLATE_BLOCK = registerBlock("chocolate_block", new Block(chocolateProperties)); diff --git a/src/main/java/com/starfish_studios/seasons_greetings/registry/SGCreativeTabs.java b/src/main/java/com/starfish_studios/seasons_greetings/registry/SGCreativeTabs.java index 25fb500..c6b4a2f 100644 --- a/src/main/java/com/starfish_studios/seasons_greetings/registry/SGCreativeTabs.java +++ b/src/main/java/com/starfish_studios/seasons_greetings/registry/SGCreativeTabs.java @@ -48,6 +48,7 @@ public class SGCreativeTabs { output.accept(CHOCOLATE_STAIRS); output.accept(CHOCOLATE_SLAB); + output.accept(GINGERBREAD_DOOR); output.accept(GINGERBREAD_BLOCK); output.accept(GINGERBREAD_STAIRS); output.accept(GINGERBREAD_SLAB); @@ -58,6 +59,7 @@ public class SGCreativeTabs { output.accept(GINGERBREAD_SHINGLE_STAIRS); output.accept(GINGERBREAD_SHINGLE_SLAB); + output.accept(WHITE_GIFT_BOX); output.accept(LIGHT_GRAY_GIFT_BOX); output.accept(GRAY_GIFT_BOX); diff --git a/src/main/java/com/starfish_studios/seasons_greetings/registry/SGItems.java b/src/main/java/com/starfish_studios/seasons_greetings/registry/SGItems.java index d6e9cc1..b785d74 100644 --- a/src/main/java/com/starfish_studios/seasons_greetings/registry/SGItems.java +++ b/src/main/java/com/starfish_studios/seasons_greetings/registry/SGItems.java @@ -105,6 +105,9 @@ public class SGItems { public static final Item GINGERBREAD_SHINGLE_STAIRS = registerItem("gingerbread_shingle_stairs", new BlockItem(SGBlocks.GINGERBREAD_SHINGLE_STAIRS, new Item.Properties())); public static final Item GINGERBREAD_SHINGLE_SLAB = registerItem("gingerbread_shingle_slab", new BlockItem(SGBlocks.GINGERBREAD_SHINGLE_SLAB, new Item.Properties())); + // Gingerbread door + public static final Item GINGERBREAD_DOOR = registerItem("gingerbread_door", new DoubleHighBlockItem(SGBlocks.GINGERBREAD_DOOR, new Item.Properties())); + // endregion public static final Item PEPPERMINT_BLOCK = registerItem("peppermint_block", new BlockItem(SGBlocks.PEPPERMINT_BLOCK, new Item.Properties())); diff --git a/src/main/resources/assets/seasonsgreetings/animations/gingerbread_man.animation.json b/src/main/resources/assets/seasonsgreetings/animations/gingerbread_man.animation.json index b47c0e3..4f44fc9 100644 --- a/src/main/resources/assets/seasonsgreetings/animations/gingerbread_man.animation.json +++ b/src/main/resources/assets/seasonsgreetings/animations/gingerbread_man.animation.json @@ -356,6 +356,28 @@ "rotation": ["Math.cos((query.anim_time - 0.0) * 720) * -45", 0, 0] } } + }, + "animation.gingerbread_man.sit": { + "loop": true, + "bones": { + "root": { + "position": [0, -3.5, 0] + }, + "left_arm": { + "rotation": [0, "((math.cos(query.life_time * 90) * 2.865) + 2.865) *-1.0", 45], + "position": [0.25, 1, 0.25] + }, + "right_arm": { + "rotation": [0, "((math.cos(query.life_time * 90) * 2.865) + 2.865) *-1.0", -45], + "position": [-0.25, 1, 0.25] + }, + "left_leg": { + "rotation": [-90, -22.5, 0] + }, + "right_leg": { + "rotation": [-90, 22.5, 0] + } + } } } } \ No newline at end of file diff --git a/src/main/resources/assets/seasonsgreetings/blockstates/gingerbread_door.json b/src/main/resources/assets/seasonsgreetings/blockstates/gingerbread_door.json new file mode 100644 index 0000000..eda23ce --- /dev/null +++ b/src/main/resources/assets/seasonsgreetings/blockstates/gingerbread_door.json @@ -0,0 +1,124 @@ +{ + "variants": { + "facing=east,half=lower,hinge=left,open=false": { + "model": "seasonsgreetings:block/gingerbread_door_bottom_left" + }, + "facing=east,half=lower,hinge=left,open=true": { + "model": "seasonsgreetings:block/gingerbread_door_bottom_left_open", + "y": 90 + }, + "facing=east,half=lower,hinge=right,open=false": { + "model": "seasonsgreetings:block/gingerbread_door_bottom_right" + }, + "facing=east,half=lower,hinge=right,open=true": { + "model": "seasonsgreetings:block/gingerbread_door_bottom_right_open", + "y": 270 + }, + "facing=east,half=upper,hinge=left,open=false": { + "model": "seasonsgreetings:block/gingerbread_door_top_left" + }, + "facing=east,half=upper,hinge=left,open=true": { + "model": "seasonsgreetings:block/gingerbread_door_top_left_open", + "y": 90 + }, + "facing=east,half=upper,hinge=right,open=false": { + "model": "seasonsgreetings:block/gingerbread_door_top_right" + }, + "facing=east,half=upper,hinge=right,open=true": { + "model": "seasonsgreetings:block/gingerbread_door_top_right_open", + "y": 270 + }, + "facing=north,half=lower,hinge=left,open=false": { + "model": "seasonsgreetings:block/gingerbread_door_bottom_left", + "y": 270 + }, + "facing=north,half=lower,hinge=left,open=true": { + "model": "seasonsgreetings:block/gingerbread_door_bottom_left_open" + }, + "facing=north,half=lower,hinge=right,open=false": { + "model": "seasonsgreetings:block/gingerbread_door_bottom_right", + "y": 270 + }, + "facing=north,half=lower,hinge=right,open=true": { + "model": "seasonsgreetings:block/gingerbread_door_bottom_right_open", + "y": 180 + }, + "facing=north,half=upper,hinge=left,open=false": { + "model": "seasonsgreetings:block/gingerbread_door_top_left", + "y": 270 + }, + "facing=north,half=upper,hinge=left,open=true": { + "model": "seasonsgreetings:block/gingerbread_door_top_left_open" + }, + "facing=north,half=upper,hinge=right,open=false": { + "model": "seasonsgreetings:block/gingerbread_door_top_right", + "y": 270 + }, + "facing=north,half=upper,hinge=right,open=true": { + "model": "seasonsgreetings:block/gingerbread_door_top_right_open", + "y": 180 + }, + "facing=south,half=lower,hinge=left,open=false": { + "model": "seasonsgreetings:block/gingerbread_door_bottom_left", + "y": 90 + }, + "facing=south,half=lower,hinge=left,open=true": { + "model": "seasonsgreetings:block/gingerbread_door_bottom_left_open", + "y": 180 + }, + "facing=south,half=lower,hinge=right,open=false": { + "model": "seasonsgreetings:block/gingerbread_door_bottom_right", + "y": 90 + }, + "facing=south,half=lower,hinge=right,open=true": { + "model": "seasonsgreetings:block/gingerbread_door_bottom_right_open" + }, + "facing=south,half=upper,hinge=left,open=false": { + "model": "seasonsgreetings:block/gingerbread_door_top_left", + "y": 90 + }, + "facing=south,half=upper,hinge=left,open=true": { + "model": "seasonsgreetings:block/gingerbread_door_top_left_open", + "y": 180 + }, + "facing=south,half=upper,hinge=right,open=false": { + "model": "seasonsgreetings:block/gingerbread_door_top_right", + "y": 90 + }, + "facing=south,half=upper,hinge=right,open=true": { + "model": "seasonsgreetings:block/gingerbread_door_top_right_open" + }, + "facing=west,half=lower,hinge=left,open=false": { + "model": "seasonsgreetings:block/gingerbread_door_bottom_left", + "y": 180 + }, + "facing=west,half=lower,hinge=left,open=true": { + "model": "seasonsgreetings:block/gingerbread_door_bottom_left_open", + "y": 270 + }, + "facing=west,half=lower,hinge=right,open=false": { + "model": "seasonsgreetings:block/gingerbread_door_bottom_right", + "y": 180 + }, + "facing=west,half=lower,hinge=right,open=true": { + "model": "seasonsgreetings:block/gingerbread_door_bottom_right_open", + "y": 90 + }, + "facing=west,half=upper,hinge=left,open=false": { + "model": "seasonsgreetings:block/gingerbread_door_top_left", + "y": 180 + }, + "facing=west,half=upper,hinge=left,open=true": { + "model": "seasonsgreetings:block/gingerbread_door_top_left_open", + "y": 270 + }, + "facing=west,half=upper,hinge=right,open=false": { + "model": "seasonsgreetings:block/gingerbread_door_top_right", + "y": 180 + }, + "facing=west,half=upper,hinge=right,open=true": { + "model": "seasonsgreetings:block/gingerbread_door_top_right_open", + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/seasonsgreetings/models/block/gingerbread_door_bottom_left.json b/src/main/resources/assets/seasonsgreetings/models/block/gingerbread_door_bottom_left.json new file mode 100644 index 0000000..5278c13 --- /dev/null +++ b/src/main/resources/assets/seasonsgreetings/models/block/gingerbread_door_bottom_left.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_bottom_left", + "textures": { + "bottom": "seasonsgreetings:block/gingerbread_door_bottom", + "top": "seasonsgreetings:block/gingerbread_door_top" + } +} diff --git a/src/main/resources/assets/seasonsgreetings/models/block/gingerbread_door_bottom_left_open.json b/src/main/resources/assets/seasonsgreetings/models/block/gingerbread_door_bottom_left_open.json new file mode 100644 index 0000000..7d6580f --- /dev/null +++ b/src/main/resources/assets/seasonsgreetings/models/block/gingerbread_door_bottom_left_open.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_bottom_left_open", + "textures": { + "bottom": "seasonsgreetings:block/gingerbread_door_bottom", + "top": "seasonsgreetings:block/gingerbread_door_top" + } +} diff --git a/src/main/resources/assets/seasonsgreetings/models/block/gingerbread_door_bottom_right.json b/src/main/resources/assets/seasonsgreetings/models/block/gingerbread_door_bottom_right.json new file mode 100644 index 0000000..8af30f7 --- /dev/null +++ b/src/main/resources/assets/seasonsgreetings/models/block/gingerbread_door_bottom_right.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_bottom_right", + "textures": { + "bottom": "seasonsgreetings:block/gingerbread_door_bottom", + "top": "seasonsgreetings:block/gingerbread_door_top" + } +} diff --git a/src/main/resources/assets/seasonsgreetings/models/block/gingerbread_door_bottom_right_open.json b/src/main/resources/assets/seasonsgreetings/models/block/gingerbread_door_bottom_right_open.json new file mode 100644 index 0000000..68e9233 --- /dev/null +++ b/src/main/resources/assets/seasonsgreetings/models/block/gingerbread_door_bottom_right_open.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_bottom_right_open", + "textures": { + "bottom": "seasonsgreetings:block/gingerbread_door_bottom", + "top": "seasonsgreetings:block/gingerbread_door_top" + } +} diff --git a/src/main/resources/assets/seasonsgreetings/models/block/gingerbread_door_top_left.json b/src/main/resources/assets/seasonsgreetings/models/block/gingerbread_door_top_left.json new file mode 100644 index 0000000..62e5bad --- /dev/null +++ b/src/main/resources/assets/seasonsgreetings/models/block/gingerbread_door_top_left.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_top_left", + "textures": { + "bottom": "seasonsgreetings:block/gingerbread_door_bottom", + "top": "seasonsgreetings:block/gingerbread_door_top" + } +} diff --git a/src/main/resources/assets/seasonsgreetings/models/block/gingerbread_door_top_left_open.json b/src/main/resources/assets/seasonsgreetings/models/block/gingerbread_door_top_left_open.json new file mode 100644 index 0000000..80d14fb --- /dev/null +++ b/src/main/resources/assets/seasonsgreetings/models/block/gingerbread_door_top_left_open.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_top_left_open", + "textures": { + "bottom": "seasonsgreetings:block/gingerbread_door_bottom", + "top": "seasonsgreetings:block/gingerbread_door_top" + } +} diff --git a/src/main/resources/assets/seasonsgreetings/models/block/gingerbread_door_top_right.json b/src/main/resources/assets/seasonsgreetings/models/block/gingerbread_door_top_right.json new file mode 100644 index 0000000..a96a31d --- /dev/null +++ b/src/main/resources/assets/seasonsgreetings/models/block/gingerbread_door_top_right.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_top_right", + "textures": { + "bottom": "seasonsgreetings:block/gingerbread_door_bottom", + "top": "seasonsgreetings:block/gingerbread_door_top" + } +} diff --git a/src/main/resources/assets/seasonsgreetings/models/block/gingerbread_door_top_right_open.json b/src/main/resources/assets/seasonsgreetings/models/block/gingerbread_door_top_right_open.json new file mode 100644 index 0000000..014823e --- /dev/null +++ b/src/main/resources/assets/seasonsgreetings/models/block/gingerbread_door_top_right_open.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_top_right_open", + "textures": { + "bottom": "seasonsgreetings:block/gingerbread_door_bottom", + "top": "seasonsgreetings:block/gingerbread_door_top" + } +} diff --git a/src/main/resources/assets/seasonsgreetings/textures/block/gingerbread_door_bottom.png b/src/main/resources/assets/seasonsgreetings/textures/block/gingerbread_door_bottom.png index 68d8bd7..b632b67 100644 Binary files a/src/main/resources/assets/seasonsgreetings/textures/block/gingerbread_door_bottom.png and b/src/main/resources/assets/seasonsgreetings/textures/block/gingerbread_door_bottom.png differ diff --git a/src/main/resources/assets/seasonsgreetings/textures/block/gingerbread_door_top.png b/src/main/resources/assets/seasonsgreetings/textures/block/gingerbread_door_top.png index d377d74..237f491 100644 Binary files a/src/main/resources/assets/seasonsgreetings/textures/block/gingerbread_door_top.png and b/src/main/resources/assets/seasonsgreetings/textures/block/gingerbread_door_top.png differ diff --git a/src/main/resources/assets/seasonsgreetings/textures/block/gingerbread_shingles.png b/src/main/resources/assets/seasonsgreetings/textures/block/gingerbread_shingles.png index bb28f04..06b9412 100644 Binary files a/src/main/resources/assets/seasonsgreetings/textures/block/gingerbread_shingles.png and b/src/main/resources/assets/seasonsgreetings/textures/block/gingerbread_shingles.png differ diff --git a/src/main/resources/assets/seasonsgreetings/textures/block/icing_drip.png b/src/main/resources/assets/seasonsgreetings/textures/block/icing_drip.png new file mode 100644 index 0000000..4821586 Binary files /dev/null and b/src/main/resources/assets/seasonsgreetings/textures/block/icing_drip.png differ diff --git a/src/main/resources/assets/seasonsgreetings/textures/block/icing_swirl.png b/src/main/resources/assets/seasonsgreetings/textures/block/icing_swirl.png index 9e2d032..8ff360e 100644 Binary files a/src/main/resources/assets/seasonsgreetings/textures/block/icing_swirl.png and b/src/main/resources/assets/seasonsgreetings/textures/block/icing_swirl.png differ diff --git a/src/main/resources/assets/seasonsgreetings/textures/item/icing.png b/src/main/resources/assets/seasonsgreetings/textures/item/icing.png new file mode 100644 index 0000000..040704a Binary files /dev/null and b/src/main/resources/assets/seasonsgreetings/textures/item/icing.png differ