Merge branch 'mc1.18/dev' of https://github.com/Creators-of-Create/Create into mc1.18/dev

This commit is contained in:
simibubi 2023-05-10 14:41:57 +02:00
commit 8a4190fcf5
2 changed files with 35 additions and 3 deletions

View file

@ -25,6 +25,7 @@ import net.minecraft.tags.BlockTags;
import net.minecraft.tags.FluidTags; import net.minecraft.tags.FluidTags;
import net.minecraft.world.effect.MobEffect; import net.minecraft.world.effect.MobEffect;
import net.minecraft.world.effect.MobEffectInstance; import net.minecraft.world.effect.MobEffectInstance;
import net.minecraft.world.effect.MobEffects;
import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.Entity;
import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
@ -39,6 +40,7 @@ import net.minecraft.world.level.block.state.properties.BlockStateProperties;
import net.minecraft.world.level.material.FluidState; import net.minecraft.world.level.material.FluidState;
import net.minecraft.world.level.material.Fluids; import net.minecraft.world.level.material.Fluids;
import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.AABB;
import net.minecraftforge.common.ForgeConfig;
import net.minecraftforge.common.Tags; import net.minecraftforge.common.Tags;
import net.minecraftforge.common.util.LazyOptional; import net.minecraftforge.common.util.LazyOptional;
import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.FluidStack;
@ -54,6 +56,7 @@ public class OpenEndedPipe extends FlowSource {
registerEffectHandler(new MilkEffectHandler()); registerEffectHandler(new MilkEffectHandler());
registerEffectHandler(new WaterEffectHandler()); registerEffectHandler(new WaterEffectHandler());
registerEffectHandler(new LavaEffectHandler()); registerEffectHandler(new LavaEffectHandler());
registerEffectHandler(new TeaEffectHandler());
} }
private Level world; private Level world;
@ -443,4 +446,23 @@ public class OpenEndedPipe extends FlowSource {
} }
} }
public static class TeaEffectHandler implements IEffectHandler {
@Override
public boolean canApplyEffects(OpenEndedPipe pipe, FluidStack fluid) {
return fluid.getFluid().isSame(AllFluids.TEA.get());
}
@Override
public void applyEffects(OpenEndedPipe pipe, FluidStack fluid) {
Level world = pipe.getWorld();
if (world.getGameTime() % 5 != 0)
return;
List<LivingEntity> entities = world
.getEntitiesOfClass(LivingEntity.class, pipe.getAOE(), LivingEntity::isAffectedByPotions);
for (LivingEntity entity : entities) {
entity.addEffect(new MobEffectInstance(MobEffects.DIG_SPEED, 21, 0, false, false, false));
}
}
}
} }

View file

@ -38,14 +38,24 @@ public class SpoutRenderer extends SafeTileEntityRenderer<SpoutTileEntity> {
.getValue(partialTicks); .getValue(partialTicks);
if (!fluidStack.isEmpty() && level != 0) { if (!fluidStack.isEmpty() && level != 0) {
boolean top = fluidStack.getFluid()
.getAttributes()
.isLighterThanAir();
level = Math.max(level, 0.175f); level = Math.max(level, 0.175f);
float min = 2.5f / 16f; float min = 2.5f / 16f;
float max = min + (11 / 16f); float max = min + (11 / 16f);
float yOffset = (11 / 16f) * level; float yOffset = (11 / 16f) * level;
ms.pushPose(); ms.pushPose();
ms.translate(0, yOffset, 0); if (!top) ms.translate(0, yOffset, 0);
FluidRenderer.renderFluidBox(fluidStack, min, min - yOffset, min, max, min, max, buffer, ms, light, else ms.translate(0, max - min, 0);
false);
FluidRenderer.renderFluidBox(fluidStack,
min, min - yOffset, min,
max, min, max,
buffer, ms, light, false);
ms.popPose(); ms.popPose();
} }