diff --git a/src/main/java/ru/betterend/entity/EntityCubozoa.java b/src/main/java/ru/betterend/entity/EntityCubozoa.java index d460739e..e2cf0812 100644 --- a/src/main/java/ru/betterend/entity/EntityCubozoa.java +++ b/src/main/java/ru/betterend/entity/EntityCubozoa.java @@ -17,10 +17,15 @@ import net.minecraft.entity.damage.DamageSource; import net.minecraft.entity.data.DataTracker; import net.minecraft.entity.data.TrackedData; import net.minecraft.entity.data.TrackedDataHandlerRegistry; +import net.minecraft.entity.effect.StatusEffectInstance; +import net.minecraft.entity.effect.StatusEffects; import net.minecraft.entity.passive.SchoolingFishEntity; +import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.ItemStack; import net.minecraft.item.Items; import net.minecraft.nbt.CompoundTag; +import net.minecraft.network.packet.s2c.play.GameStateChangeS2CPacket; +import net.minecraft.server.network.ServerPlayerEntity; import net.minecraft.sound.SoundEvent; import net.minecraft.sound.SoundEvents; import net.minecraft.tag.FluidTags; @@ -124,6 +129,18 @@ public class EntityCubozoa extends SchoolingFishEntity { return SoundEvents.ENTITY_SALMON_FLOP; } + @Override + public void onPlayerCollision(PlayerEntity player) { + if (player instanceof ServerPlayerEntity && player.damage(DamageSource.mob(this), 0.5F)) { + if (!this.isSilent()) { + ((ServerPlayerEntity) player).networkHandler.sendPacket(new GameStateChangeS2CPacket(GameStateChangeS2CPacket.PUFFERFISH_STING, 0.0F)); + } + if (random.nextBoolean()) { + player.addStatusEffect(new StatusEffectInstance(StatusEffects.POISON, 20, 0)); + } + } + } + static class CubozoaMoveControl extends MoveControl { CubozoaMoveControl(EntityCubozoa owner) { super(owner); diff --git a/src/main/resources/assets/betterend/textures/block/helix_tree_door_bottom.png b/src/main/resources/assets/betterend/textures/block/helix_tree_door_bottom.png new file mode 100644 index 00000000..4bfa1666 Binary files /dev/null and b/src/main/resources/assets/betterend/textures/block/helix_tree_door_bottom.png differ diff --git a/src/main/resources/assets/betterend/textures/block/helix_tree_door_side.png b/src/main/resources/assets/betterend/textures/block/helix_tree_door_side.png new file mode 100644 index 00000000..666e6930 Binary files /dev/null and b/src/main/resources/assets/betterend/textures/block/helix_tree_door_side.png differ diff --git a/src/main/resources/assets/betterend/textures/block/helix_tree_door_top.png b/src/main/resources/assets/betterend/textures/block/helix_tree_door_top.png new file mode 100644 index 00000000..bb5c7b45 Binary files /dev/null and b/src/main/resources/assets/betterend/textures/block/helix_tree_door_top.png differ diff --git a/src/main/resources/assets/betterend/textures/block/helix_tree_ladder.png b/src/main/resources/assets/betterend/textures/block/helix_tree_ladder.png new file mode 100644 index 00000000..5a1fe99f Binary files /dev/null and b/src/main/resources/assets/betterend/textures/block/helix_tree_ladder.png differ diff --git a/src/main/resources/assets/betterend/textures/block/helix_tree_trapdoor.png b/src/main/resources/assets/betterend/textures/block/helix_tree_trapdoor.png new file mode 100644 index 00000000..c72b5da6 Binary files /dev/null and b/src/main/resources/assets/betterend/textures/block/helix_tree_trapdoor.png differ