From 19fa27c54bf4196d25bf921d1b2bc07aa09921b2 Mon Sep 17 00:00:00 2001 From: grimmauld Date: Tue, 20 Apr 2021 23:55:17 +0200 Subject: [PATCH] Do some packaging for easier maintenance --- .../simibubi/create/content/optics/Beam.java | 12 +++++------ .../LightHandlingBehaviour.java | 21 ++++++++++++------- .../RotatedLightHandlingBehaviour.java | 4 ++-- .../{mirror => behaviour}/RotationMode.java | 2 +- .../optics/mirror/MirrorBehaviour.java | 10 ++++----- .../content/optics/mirror/MirrorRenderer.java | 9 +++++--- .../optics/mirror/MirrorTileEntity.java | 1 + 7 files changed, 35 insertions(+), 24 deletions(-) rename src/main/java/com/simibubi/create/content/optics/{ => behaviour}/LightHandlingBehaviour.java (89%) rename src/main/java/com/simibubi/create/content/optics/{ => behaviour}/RotatedLightHandlingBehaviour.java (94%) rename src/main/java/com/simibubi/create/content/optics/{mirror => behaviour}/RotationMode.java (93%) diff --git a/src/main/java/com/simibubi/create/content/optics/Beam.java b/src/main/java/com/simibubi/create/content/optics/Beam.java index b9c9ae6fe..d84ad3842 100644 --- a/src/main/java/com/simibubi/create/content/optics/Beam.java +++ b/src/main/java/com/simibubi/create/content/optics/Beam.java @@ -1,5 +1,11 @@ package com.simibubi.create.content.optics; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.Set; + +import javax.annotation.Nullable; + import com.mojang.blaze3d.matrix.MatrixStack; import com.simibubi.create.foundation.utility.VecHelper; @@ -8,12 +14,6 @@ import net.minecraft.item.DyeColor; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.vector.Vector3d; -import javax.annotation.Nullable; - -import java.util.ArrayList; -import java.util.HashSet; -import java.util.Set; - public class Beam extends ArrayList { private final Set lightEventListeners; @Nullable diff --git a/src/main/java/com/simibubi/create/content/optics/LightHandlingBehaviour.java b/src/main/java/com/simibubi/create/content/optics/behaviour/LightHandlingBehaviour.java similarity index 89% rename from src/main/java/com/simibubi/create/content/optics/LightHandlingBehaviour.java rename to src/main/java/com/simibubi/create/content/optics/behaviour/LightHandlingBehaviour.java index ae95161fe..2e0005699 100644 --- a/src/main/java/com/simibubi/create/content/optics/LightHandlingBehaviour.java +++ b/src/main/java/com/simibubi/create/content/optics/behaviour/LightHandlingBehaviour.java @@ -1,6 +1,19 @@ -package com.simibubi.create.content.optics; +package com.simibubi.create.content.optics.behaviour; + +import java.util.Collections; +import java.util.HashSet; +import java.util.Iterator; +import java.util.Objects; +import java.util.Set; +import java.util.function.Predicate; +import java.util.stream.Stream; + +import javax.annotation.Nullable; import com.google.common.collect.Iterators; +import com.simibubi.create.content.optics.Beam; +import com.simibubi.create.content.optics.ILightHandler; +import com.simibubi.create.content.optics.ILightHandlerProvider; import com.simibubi.create.foundation.tileEntity.SmartTileEntity; import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; import com.simibubi.create.foundation.utility.BeaconHelper; @@ -9,12 +22,6 @@ import com.simibubi.create.foundation.utility.VecHelper; import net.minecraft.tileentity.BeaconTileEntity; import net.minecraft.tileentity.TileEntity; -import javax.annotation.Nullable; - -import java.util.*; -import java.util.function.Predicate; -import java.util.stream.Stream; - public abstract class LightHandlingBehaviour extends TileEntityBehaviour implements ILightHandler { protected final T handler; public Set beams; diff --git a/src/main/java/com/simibubi/create/content/optics/RotatedLightHandlingBehaviour.java b/src/main/java/com/simibubi/create/content/optics/behaviour/RotatedLightHandlingBehaviour.java similarity index 94% rename from src/main/java/com/simibubi/create/content/optics/RotatedLightHandlingBehaviour.java rename to src/main/java/com/simibubi/create/content/optics/behaviour/RotatedLightHandlingBehaviour.java index b827169ca..8af8966d9 100644 --- a/src/main/java/com/simibubi/create/content/optics/RotatedLightHandlingBehaviour.java +++ b/src/main/java/com/simibubi/create/content/optics/behaviour/RotatedLightHandlingBehaviour.java @@ -1,7 +1,7 @@ -package com.simibubi.create.content.optics; +package com.simibubi.create.content.optics.behaviour; import com.simibubi.create.content.contraptions.base.KineticTileEntity; -import com.simibubi.create.content.optics.mirror.RotationMode; +import com.simibubi.create.content.optics.ILightHandlerProvider; import com.simibubi.create.foundation.utility.ServerSpeedProvider; import net.minecraft.nbt.CompoundNBT; diff --git a/src/main/java/com/simibubi/create/content/optics/mirror/RotationMode.java b/src/main/java/com/simibubi/create/content/optics/behaviour/RotationMode.java similarity index 93% rename from src/main/java/com/simibubi/create/content/optics/mirror/RotationMode.java rename to src/main/java/com/simibubi/create/content/optics/behaviour/RotationMode.java index 3de71f7b9..467b6fe4c 100644 --- a/src/main/java/com/simibubi/create/content/optics/mirror/RotationMode.java +++ b/src/main/java/com/simibubi/create/content/optics/behaviour/RotationMode.java @@ -1,4 +1,4 @@ -package com.simibubi.create.content.optics.mirror; +package com.simibubi.create.content.optics.behaviour; import com.simibubi.create.foundation.gui.AllIcons; import com.simibubi.create.foundation.tileEntity.behaviour.scrollvalue.INamedIconOptions; diff --git a/src/main/java/com/simibubi/create/content/optics/mirror/MirrorBehaviour.java b/src/main/java/com/simibubi/create/content/optics/mirror/MirrorBehaviour.java index fe7aee0f0..e134722e9 100644 --- a/src/main/java/com/simibubi/create/content/optics/mirror/MirrorBehaviour.java +++ b/src/main/java/com/simibubi/create/content/optics/mirror/MirrorBehaviour.java @@ -1,7 +1,11 @@ package com.simibubi.create.content.optics.mirror; +import java.util.stream.Stream; + +import javax.annotation.Nonnull; + import com.simibubi.create.content.optics.Beam; -import com.simibubi.create.content.optics.RotatedLightHandlingBehaviour; +import com.simibubi.create.content.optics.behaviour.RotatedLightHandlingBehaviour; import com.simibubi.create.foundation.collision.Matrix3d; import com.simibubi.create.foundation.tileEntity.behaviour.BehaviourType; import com.simibubi.create.foundation.utility.AngleHelper; @@ -10,10 +14,6 @@ import com.simibubi.create.foundation.utility.VecHelper; import net.minecraft.util.Direction; import net.minecraft.util.math.vector.Vector3d; -import javax.annotation.Nonnull; - -import java.util.stream.Stream; - public class MirrorBehaviour extends RotatedLightHandlingBehaviour { public static final BehaviourType TYPE = new BehaviourType<>(); diff --git a/src/main/java/com/simibubi/create/content/optics/mirror/MirrorRenderer.java b/src/main/java/com/simibubi/create/content/optics/mirror/MirrorRenderer.java index 903b97ffe..9259ada05 100644 --- a/src/main/java/com/simibubi/create/content/optics/mirror/MirrorRenderer.java +++ b/src/main/java/com/simibubi/create/content/optics/mirror/MirrorRenderer.java @@ -28,7 +28,8 @@ public class MirrorRenderer extends KineticTileEntityRenderer { MirrorTileEntity mirrorTe = (MirrorTileEntity) te; renderMirror(mirrorTe, partialTicks, ms, buffer, light); - ((MirrorTileEntity) te).getHandler().getRenderBeams() + ((MirrorTileEntity) te).getHandler() + .getRenderBeams() .forEachRemaining(beam -> beam.render(ms, buffer, partialTicks)); } @@ -36,9 +37,11 @@ public class MirrorRenderer extends KineticTileEntityRenderer { final Direction.Axis facing = te.getBlockState() .get(BlockStateProperties.AXIS); - SuperByteBuffer superBuffer = AllBlockPartials.MIRROR_PLANE.renderOnDirectionalSouth(te.getBlockState(), te.getHandler().getBeamRotationAround()); + SuperByteBuffer superBuffer = AllBlockPartials.MIRROR_PLANE.renderOnDirectionalSouth(te.getBlockState(), te.getHandler() + .getBeamRotationAround()); - float interpolatedAngle = te.getHandler().getInterpolatedAngle(partialTicks - 1); + float interpolatedAngle = te.getHandler() + .getInterpolatedAngle(partialTicks - 1); kineticRotationTransform(superBuffer, te, facing, (float) (interpolatedAngle / 180 * Math.PI), light); superBuffer.renderInto(ms, buffer.getBuffer(RenderType.getTranslucent())); } diff --git a/src/main/java/com/simibubi/create/content/optics/mirror/MirrorTileEntity.java b/src/main/java/com/simibubi/create/content/optics/mirror/MirrorTileEntity.java index f2a8cd054..00ae8fa32 100644 --- a/src/main/java/com/simibubi/create/content/optics/mirror/MirrorTileEntity.java +++ b/src/main/java/com/simibubi/create/content/optics/mirror/MirrorTileEntity.java @@ -5,6 +5,7 @@ import java.util.List; import com.simibubi.create.content.contraptions.base.KineticTileEntity; import com.simibubi.create.content.optics.ILightHandler; import com.simibubi.create.content.optics.ILightHandlerProvider; +import com.simibubi.create.content.optics.behaviour.RotationMode; import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; import com.simibubi.create.foundation.tileEntity.behaviour.CenteredSideValueBoxTransform; import com.simibubi.create.foundation.tileEntity.behaviour.scrollvalue.ScrollOptionBehaviour;