Skip to content

Commit

Permalink
Merge branch '1.20.4' of https://github.com/hybridlabs/hybrid-aquatic
Browse files Browse the repository at this point in the history
…into 1.20.4
  • Loading branch information
MysticKoko committed Apr 16, 2024
2 parents 3ccd72b + 03bf53a commit 2c8878e
Show file tree
Hide file tree
Showing 668 changed files with 8,515 additions and 4,525 deletions.
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ loader_version=0.15.9
fabric_kotlin_version=1.10.19+kotlin.1.9.23

# Mod Properties
mod_version=1.2.2
mod_version=1.3.0
maven_group=dev.hybridlabs
archives_base_name=hybrid-aquatic

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
package dev.hybridlabs.aquatic.fog;

import dev.hybridlabs.aquatic.effect.HybridAquaticStatusEffects;
import net.minecraft.client.render.BackgroundRenderer;
import net.minecraft.client.render.FogShape;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.effect.StatusEffect;
import net.minecraft.entity.effect.StatusEffectInstance;
import net.minecraft.entity.effect.StatusEffects;
import net.minecraft.util.math.MathHelper;

public class ConduitPowerFogModifier implements BackgroundRenderer.StatusEffectFogModifier {
@Override
public StatusEffect getStatusEffect() {
return StatusEffects.CONDUIT_POWER;
}

@Override
public void applyStartEndModifier(BackgroundRenderer.FogData fogData, LivingEntity entity, StatusEffectInstance effect, float viewDistance, float tickDelta) {

float fogDistanceMultiplier = 0.5f;

float f = effect.isInfinite() ? 5.0F : MathHelper.lerp(Math.min(1.0F, (float) effect.getDuration() / 20.0F), viewDistance, 5.0F);
fogData.fogStart = f * 16.0F * fogDistanceMultiplier;
fogData.fogEnd = f * 24.0F * fogDistanceMultiplier;
fogData.fogShape = FogShape.SPHERE;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import dev.hybridlabs.aquatic.effect.HybridAquaticStatusEffects;
import dev.hybridlabs.aquatic.fog.ClarityFogModifier;
import dev.hybridlabs.aquatic.fog.ConduitPowerFogModifier;
import dev.hybridlabs.aquatic.fog.ThalassophobiaFogModifier;
import net.minecraft.client.network.ClientPlayerEntity;
import net.minecraft.client.render.BackgroundRenderer;
Expand All @@ -10,6 +11,7 @@
import net.minecraft.client.render.FogShape;
import net.minecraft.entity.Entity;
import net.minecraft.entity.effect.StatusEffectInstance;
import net.minecraft.entity.effect.StatusEffects;
import net.minecraft.registry.entry.RegistryEntry;
import net.minecraft.registry.tag.BiomeTags;
import net.minecraft.util.math.MathHelper;
Expand Down Expand Up @@ -42,10 +44,13 @@ public class BackgroundRendererMixin {
if (entity instanceof ClientPlayerEntity clientPlayerEntity && cameraSubmersionType == CameraSubmersionType.WATER) {
World world = clientPlayerEntity.getWorld();
StatusEffectInstance clarityEffect = clientPlayerEntity.getStatusEffect(HybridAquaticStatusEffects.INSTANCE.getCLARITY());
StatusEffectInstance conduitEffect = clientPlayerEntity.getStatusEffect(StatusEffects.CONDUIT_POWER);
StatusEffectInstance thalassophobiaEffect = clientPlayerEntity.getStatusEffect(HybridAquaticStatusEffects.INSTANCE.getTHALASSOPHOBIA());

if (clarityEffect != null) {
new ClarityFogModifier().applyStartEndModifier(fogData, clientPlayerEntity, clarityEffect, viewDistance, tickDelta);
} else if (conduitEffect != null) {
new ConduitPowerFogModifier().applyStartEndModifier(fogData, clientPlayerEntity, conduitEffect, viewDistance, tickDelta);
} else if (thalassophobiaEffect != null) {
new ThalassophobiaFogModifier().applyStartEndModifier(fogData, clientPlayerEntity, thalassophobiaEffect, viewDistance, tickDelta);
} else {
Expand Down
45 changes: 24 additions & 21 deletions src/client/kotlin/dev/hybridlabs/aquatic/HybridAquaticClient.kt
Original file line number Diff line number Diff line change
Expand Up @@ -7,26 +7,14 @@ import dev.hybridlabs.aquatic.client.item.tooltip.FishingNetTooltip
import dev.hybridlabs.aquatic.client.model.HybridAquaticEntityModelLayers
import dev.hybridlabs.aquatic.client.network.HybridAquaticClientNetworking
import dev.hybridlabs.aquatic.client.render.armor.*
import dev.hybridlabs.aquatic.client.render.block.entity.AnemoneBlockEntityRenderer
import dev.hybridlabs.aquatic.client.render.block.entity.BuoyBlockEntityRenderer
import dev.hybridlabs.aquatic.client.render.block.entity.GiantClamBlockEntityRenderer
import dev.hybridlabs.aquatic.client.render.block.entity.HydrothermalVentBlockEntityRenderer
import dev.hybridlabs.aquatic.client.render.block.entity.MessageInABottleBlockEntityRenderer
import dev.hybridlabs.aquatic.client.render.block.entity.TubeSpongeBlockEntityRenderer
import dev.hybridlabs.aquatic.client.render.block.entity.*
import dev.hybridlabs.aquatic.client.render.entity.HybridAquaticEntityRenderers
import dev.hybridlabs.aquatic.client.render.hud.FishingNetHUDRenderer
import dev.hybridlabs.aquatic.client.render.item.AnemoneBlockItemRenderer
import dev.hybridlabs.aquatic.client.render.item.BuoyBlockItemRenderer
import dev.hybridlabs.aquatic.client.render.item.GiantClamBlockItemRenderer
import dev.hybridlabs.aquatic.client.render.item.HydrothermalVentBlockItemRenderer
import dev.hybridlabs.aquatic.client.render.item.MessageInABottleBlockItemRenderer
import dev.hybridlabs.aquatic.client.render.item.TubeSpongeBlockItemRenderer
import dev.hybridlabs.aquatic.client.render.item.*
import dev.hybridlabs.aquatic.item.HybridAquaticItems
import net.fabricmc.api.ClientModInitializer
import net.fabricmc.fabric.api.blockrenderlayer.v1.BlockRenderLayerMap
import net.fabricmc.fabric.api.client.item.v1.ItemTooltipCallback
import net.fabricmc.fabric.api.client.rendering.v1.BuiltinItemRendererRegistry
import net.fabricmc.fabric.api.client.rendering.v1.HudRenderCallback
import net.minecraft.client.MinecraftClient
import net.minecraft.client.render.RenderLayer
import net.minecraft.client.render.block.entity.BlockEntityRendererFactories
Expand All @@ -49,7 +37,6 @@ object HybridAquaticClient : ClientModInitializer {
registerEntityRenderers()
registerWeatherRenderers()
registerTooltips()
registerHudAddons()
registerGeoRenderers()
}

Expand Down Expand Up @@ -83,18 +70,34 @@ object HybridAquaticClient : ClientModInitializer {
// TODO: hook up renderer to make this thing easier
}

private fun registerHudAddons() {
HudRenderCallback.EVENT.register(FishingNetHUDRenderer())
}

private fun registerTooltips() {
ItemTooltipCallback.EVENT.register(FishingNetTooltip())
}

private fun registerBlockRenderLayers(registry: BlockRenderLayerMap = BlockRenderLayerMap.INSTANCE) {
registry.putBlocks(RenderLayer.getTranslucent(),
registry.putBlocks(
RenderLayer.getTranslucent(),
HybridAquaticBlocks.ANEMONE,
HybridAquaticBlocks.MESSAGE_IN_A_BOTTLE
HybridAquaticBlocks.MESSAGE_IN_A_BOTTLE,
)
registry.putBlocks(
RenderLayer.getCutout(),
HybridAquaticBlocks.LOPHELIA_CORAL,
HybridAquaticBlocks.LOPHELIA_CORAL_FAN,
HybridAquaticBlocks.LOPHELIA_CORAL_WALL_FAN,
HybridAquaticBlocks.DEAD_LOPHELIA_CORAL,
HybridAquaticBlocks.DEAD_LOPHELIA_CORAL_FAN,
HybridAquaticBlocks.DEAD_LOPHELIA_CORAL_WALL_FAN,
HybridAquaticBlocks.THORN_CORAL,
HybridAquaticBlocks.THORN_CORAL_FAN,
HybridAquaticBlocks.THORN_CORAL_WALL_FAN,
HybridAquaticBlocks.DEAD_THORN_CORAL,
HybridAquaticBlocks.DEAD_THORN_CORAL_FAN,
HybridAquaticBlocks.DEAD_THORN_CORAL_WALL_FAN,
HybridAquaticBlocks.DRIFTWOOD_DOOR,
HybridAquaticBlocks.DRIFTWOOD_TRAPDOOR,
HybridAquaticBlocks.GLOWSTICK,
HybridAquaticBlocks.WALL_GLOWSTICK,
)
}

Expand Down

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
package dev.hybridlabs.aquatic.client.model.entity.cephalopod

import dev.hybridlabs.aquatic.entity.cephalopod.HybridAquaticCephalopodEntity

class CuttlefishEntityModel : HybridAquaticCephalopodEntityModel<HybridAquaticCephalopodEntity>("cuttlefish")
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
package dev.hybridlabs.aquatic.client.model.entity.cephalopod

import dev.hybridlabs.aquatic.entity.cephalopod.HybridAquaticCephalopodEntity

class FireflySquidEntityModel : HybridAquaticCephalopodEntityModel<HybridAquaticCephalopodEntity>("firefly_squid")
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
package dev.hybridlabs.aquatic.client.model.entity.cephalopod

import dev.hybridlabs.aquatic.entity.cephalopod.HybridAquaticCephalopodEntity

class GlowingSuckerOctopusEntityModel : HybridAquaticCephalopodEntityModel<HybridAquaticCephalopodEntity>("glowing_sucker_octopus")
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
package dev.hybridlabs.aquatic.client.model.entity.cephalopod

import dev.hybridlabs.aquatic.HybridAquatic
import dev.hybridlabs.aquatic.entity.cephalopod.HybridAquaticCephalopodEntity
import net.minecraft.util.Identifier
import software.bernie.geckolib.model.GeoModel

abstract class HybridAquaticCephalopodEntityModel<T: HybridAquaticCephalopodEntity> (private val id: String) : GeoModel<T>() {
override fun getModelResource(animatable: T?): Identifier {
return Identifier(HybridAquatic.MOD_ID, "geo/$id.geo.json")
}

override fun getTextureResource(animatable: T?): Identifier {
return Identifier(HybridAquatic.MOD_ID, "textures/entity/$id.png")
}

fun getVariantTexture(variant: String): Identifier {
return Identifier(HybridAquatic.MOD_ID, "textures/entity/${id}_$variant.png")
}

override fun getAnimationResource(animatable: T?): Identifier {
return Identifier(HybridAquatic.MOD_ID, "animations/$id.animation.json")
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
package dev.hybridlabs.aquatic.client.model.entity.cephalopod

import dev.hybridlabs.aquatic.entity.cephalopod.HybridAquaticCephalopodEntity

class NautilusEntityModel : HybridAquaticCephalopodEntityModel<HybridAquaticCephalopodEntity>("nautilus")
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package dev.hybridlabs.aquatic.client.model.entity.cephalopod

import dev.hybridlabs.aquatic.entity.cephalopod.HybridAquaticCephalopodEntity
import net.minecraft.util.Identifier

class UmbrellaOctopusEntityModel : HybridAquaticCephalopodEntityModel<HybridAquaticCephalopodEntity>("umbrella_octopus") {
override fun getTextureResource(animatable: HybridAquaticCephalopodEntity?): Identifier {
if (animatable != null) return getVariantTexture(allVariants[animatable.variant])
return super.getTextureResource(animatable)
}

companion object {
val allVariants: Array<String> = arrayOf("white", "brown", "orange", "yellow", "pink", "purple")
}
}

Loading

0 comments on commit 2c8878e

Please sign in to comment.