mirror of
https://github.com/Creators-of-Create/Create.git
synced 2024-12-27 07:27:15 +01:00
Merge branch 'mc1.18/dev' of https://github.com/Creators-of-Create/Create into mc1.18/dev
This commit is contained in:
commit
8a4190fcf5
2 changed files with 35 additions and 3 deletions
|
@ -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));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -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();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue