Skip to content

Commit

Permalink
POC: ConsoleTheme sounds for controls. (#79)
Browse files Browse the repository at this point in the history
  • Loading branch information
CommandrMoose committed Jan 29, 2023
1 parent 0a28316 commit 09bd908
Show file tree
Hide file tree
Showing 52 changed files with 544 additions and 243 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
import net.minecraft.world.level.Level;
import net.minecraft.world.level.LevelAccessor;
import whocraft.tardis_refined.common.capability.TardisLevelOperator;
import whocraft.tardis_refined.common.tardis.IExteriorShell;
import whocraft.tardis_refined.common.tardis.ExteriorShell;
import whocraft.tardis_refined.common.tardis.TardisNavLocation;

public class TardisEvents {
Expand Down Expand Up @@ -76,7 +76,7 @@ public interface TardisEntry {
* @param level The level where the TARDIS is located.
* @param direction The direction the player is facing when entering the TARDIS.
*/
void onEnterTardis(TardisLevelOperator tardisLevelOperator, IExteriorShell shell, Player player, BlockPos externalPos, Level level, Direction direction);
void onEnterTardis(TardisLevelOperator tardisLevelOperator, ExteriorShell shell, Player player, BlockPos externalPos, Level level, Direction direction);
}

/**
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package whocraft.tardis_refined.client.model.blockentity.console;

import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider;
import whocraft.tardis_refined.client.ModelRegistry;
import whocraft.tardis_refined.common.tardis.themes.ConsoleTheme;

Expand All @@ -10,7 +9,7 @@
*/
public class ConsoleModelCollection {

IConsoleUnit toyotaConsoleModel, coralConsoleModel, copperConsoleModel, nukaConsoleModel, factoryConsoleModel, crystalConsoleModel, victorianConsoleModel, mystConsoleModel, initiativeConsoleModel;
ConsoleUnit toyotaConsoleModel, coralConsoleModel, copperConsoleModel, nukaConsoleModel, factoryConsoleModel, crystalConsoleModel, victorianConsoleModel, mystConsoleModel, initiativeConsoleModel;



Expand All @@ -32,7 +31,7 @@ public ConsoleModelCollection() {
* @param theme The Console theme.
* @return Console unit model tied with the console theme.
**/
public IConsoleUnit getConsoleModel(ConsoleTheme theme) {
public ConsoleUnit getConsoleModel(ConsoleTheme theme) {
switch (theme) {
case FACTORY:
return factoryConsoleModel;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
import whocraft.tardis_refined.common.blockentity.console.GlobalConsoleBlockEntity;
import whocraft.tardis_refined.common.tardis.themes.ConsoleTheme;

public interface IConsoleUnit {
public interface ConsoleUnit {
void renderConsole(GlobalConsoleBlockEntity globalConsoleBlock, Level level, PoseStack poseStack, MultiBufferSource multiBufferSource, int packedLight, int packedOverlay, float red, float green, float blue, float alpha);

default ResourceLocation getTexture(GlobalConsoleBlockEntity entity) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
import whocraft.tardis_refined.client.TardisClientData;
import whocraft.tardis_refined.common.blockentity.console.GlobalConsoleBlockEntity;

public class CopperConsoleModel extends HierarchicalModel implements IConsoleUnit {
public class CopperConsoleModel extends HierarchicalModel implements ConsoleUnit {

private static ResourceLocation COPPER_TEXTURE = new ResourceLocation(TardisRefined.MODID, "textures/blockentity/console/copper/copper_console.png");

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,14 +18,9 @@
import net.minecraft.world.level.Level;
import whocraft.tardis_refined.TardisRefined;
import whocraft.tardis_refined.client.TardisClientData;
import whocraft.tardis_refined.common.block.console.GlobalConsoleBlock;
import whocraft.tardis_refined.common.blockentity.console.GlobalConsoleBlockEntity;
import whocraft.tardis_refined.common.tardis.themes.ConsoleTheme;

import java.util.List;
import java.util.Set;

public class CoralConsoleModel extends HierarchicalModel implements IConsoleUnit{
public class CoralConsoleModel extends HierarchicalModel implements ConsoleUnit {


private static ResourceLocation CORAL_TEXTURE = new ResourceLocation(TardisRefined.MODID, "textures/blockentity/console/coral/coral_console.png");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
import whocraft.tardis_refined.client.TardisClientData;
import whocraft.tardis_refined.common.blockentity.console.GlobalConsoleBlockEntity;

public class CrystalConsoleModel extends HierarchicalModel implements IConsoleUnit {
public class CrystalConsoleModel extends HierarchicalModel implements ConsoleUnit {

private static final ResourceLocation CRYSTAL_TEXTURE = new ResourceLocation(TardisRefined.MODID, "textures/blockentity/console/crystal/crystal_console.png");

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,11 @@
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.Entity;
import whocraft.tardis_refined.TardisRefined;
import whocraft.tardis_refined.common.block.console.GlobalConsoleBlock;
import whocraft.tardis_refined.common.blockentity.console.GlobalConsoleBlockEntity;
import net.minecraft.world.level.Level;
import whocraft.tardis_refined.client.TardisClientData;
import whocraft.tardis_refined.common.tardis.themes.ConsoleTheme;

import java.util.List;

public class FactoryConsoleModel extends HierarchicalModel implements IConsoleUnit {
public class FactoryConsoleModel extends HierarchicalModel implements ConsoleUnit {

private final ModelPart bone168;
private final ModelPart doorLever;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
import net.minecraft.client.animation.Keyframe;
import net.minecraft.client.animation.KeyframeAnimations;
import net.minecraft.client.model.HierarchicalModel;
import net.minecraft.client.model.geom.ModelLayerLocation;
import net.minecraft.client.model.geom.ModelPart;
import net.minecraft.client.model.geom.PartPose;
import net.minecraft.client.model.geom.builders.*;
Expand All @@ -22,10 +21,9 @@
import net.minecraft.world.level.Level;
import whocraft.tardis_refined.TardisRefined;
import whocraft.tardis_refined.client.TardisClientData;
import whocraft.tardis_refined.client.model.blockentity.console.IConsoleUnit;
import whocraft.tardis_refined.common.blockentity.console.GlobalConsoleBlockEntity;

public class InitiativeConsoleModel extends HierarchicalModel implements IConsoleUnit {
public class InitiativeConsoleModel extends HierarchicalModel implements ConsoleUnit {

private static ResourceLocation INITIATIVE_TEXTURE = new ResourceLocation(TardisRefined.MODID, "textures/blockentity/console/initiative/initiative_console.png");

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
import whocraft.tardis_refined.client.TardisClientData;
import whocraft.tardis_refined.common.blockentity.console.GlobalConsoleBlockEntity;

public class MystConsoleModel extends HierarchicalModel implements IConsoleUnit {
public class MystConsoleModel extends HierarchicalModel implements ConsoleUnit {

private static ResourceLocation MYST_TEXTURE = new ResourceLocation(TardisRefined.MODID, "textures/blockentity/console/myst/myst_console.png");

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
import whocraft.tardis_refined.client.TardisClientData;
import whocraft.tardis_refined.common.blockentity.console.GlobalConsoleBlockEntity;

public class NukaConsoleModel extends HierarchicalModel implements IConsoleUnit{
public class NukaConsoleModel extends HierarchicalModel implements ConsoleUnit {

private static ResourceLocation NUKA_TEXTURE = new ResourceLocation(TardisRefined.MODID, "textures/blockentity/console/nuka/nuka_console.png");

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
import whocraft.tardis_refined.client.TardisClientData;
import whocraft.tardis_refined.common.blockentity.console.GlobalConsoleBlockEntity;

public class ToyotaConsoleModel extends HierarchicalModel implements IConsoleUnit {
public class ToyotaConsoleModel extends HierarchicalModel implements ConsoleUnit {

private static ResourceLocation TOYOTA_TEXTURE = new ResourceLocation(TardisRefined.MODID, "textures/blockentity/console/toyota/toyota_console.png");

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
import whocraft.tardis_refined.client.TardisClientData;
import whocraft.tardis_refined.common.blockentity.console.GlobalConsoleBlockEntity;

public class VictorianConsoleModel extends HierarchicalModel implements IConsoleUnit {
public class VictorianConsoleModel extends HierarchicalModel implements ConsoleUnit {


public static final AnimationDefinition MODEL_FLIGHT_LOOP = AnimationDefinition.Builder.withLength(4f).looping()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.StateDefinition;
import net.minecraft.world.phys.BlockHitResult;
import net.minecraft.world.phys.Vec3;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import whocraft.tardis_refined.client.TardisClientData;
Expand Down Expand Up @@ -118,20 +119,20 @@ public void animateTick(BlockState blockState, Level level, BlockPos blockPos, R

if (clientData.isFlying() && level.random.nextInt(4) == 0) {

ClientHelper.playParticle((ClientLevel) level, ParticleTypes.CLOUD, new BlockPos( xCord, yCord, zCord), 0.0D, 0.1D, 0.0D);
ClientHelper.playParticle((ClientLevel) level, ParticleTypes.CLOUD, new Vec3( xCord, yCord, zCord), 0.0D, 0.1D, 0.0D);
}

if (clientData.isOnCooldown() || clientData.isCrashing()) {

ClientHelper.playParticle((ClientLevel) level, ParticleTypes.CAMPFIRE_COSY_SMOKE, new BlockPos( xCord, yCord, zCord), 0.0D, 0.1D, 0.0D);
ClientHelper.playParticle((ClientLevel) level, ParticleTypes.CAMPFIRE_COSY_SMOKE, new Vec3( xCord, yCord, zCord), 0.0D, 0.1D, 0.0D);

for (int i = 0; i < 5; i++) {
ClientHelper.playParticle((ClientLevel) level, ParticleTypes.LARGE_SMOKE, new BlockPos( xCord, yCord, zCord), 0.0D, 0.1D, 0.0D);
ClientHelper.playParticle((ClientLevel) level, ParticleTypes.LARGE_SMOKE, new Vec3( xCord, yCord, zCord), 0.0D, 0.1D, 0.0D);
}

if (level.random.nextInt(10) == 0) {
for (int i = 0; i < 3; i++) {
ClientHelper.playParticle((ClientLevel) level, ParticleTypes.LAVA,new BlockPos( xCord, yCord, zCord), -0.5 + level.random.nextFloat(), 0.05D, -0.5 + level.random.nextFloat());
ClientHelper.playParticle((ClientLevel) level, ParticleTypes.LAVA,new Vec3( xCord, yCord, zCord), -0.5 + level.random.nextFloat(), 0.05D, -0.5 + level.random.nextFloat());
}

level.playLocalSound(blockPos.getX(), blockPos.getY(), blockPos.getZ(), SoundEvents.LAVA_EXTINGUISH, SoundSource.BLOCKS, 1, level.getRandom().nextFloat() + 1f, false);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@
import net.minecraft.world.InteractionHand;
import net.minecraft.world.InteractionResult;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.DebugStickItem;
import net.minecraft.world.item.Items;
import net.minecraft.world.item.context.BlockPlaceContext;
import net.minecraft.world.level.BlockGetter;
Expand All @@ -21,6 +20,7 @@
import net.minecraft.world.level.block.state.StateDefinition;
import net.minecraft.world.level.block.state.properties.DirectionProperty;
import net.minecraft.world.phys.BlockHitResult;
import net.minecraft.world.phys.Vec3;
import net.minecraft.world.phys.shapes.CollisionContext;
import net.minecraft.world.phys.shapes.Shapes;
import net.minecraft.world.phys.shapes.VoxelShape;
Expand All @@ -44,7 +44,6 @@

import static net.minecraft.world.phys.shapes.BooleanOp.OR;


public class ConsoleConfigurationBlock extends BaseEntityBlock {

public static final DirectionProperty FACING = HorizontalDirectionalBlock.FACING;
Expand Down Expand Up @@ -142,8 +141,8 @@ public InteractionResult use(BlockState blockState, Level level, BlockPos blockP
var posY = (double) blockPos.offset(offset).getY() + level.getRandom().nextDouble() * 0.5D + 0.5D;
var posZ = (double) blockPos.offset(offset).getZ() + level.getRandom().nextDouble();

ClientHelper.playParticle((ClientLevel) level, ParticleTypes.FLASH, new BlockPos(posX, posY, posZ), 0.0D, 0.0D, 0.0D);
ClientHelper.playParticle((ClientLevel) level, ParticleTypes.CLOUD, new BlockPos(posX, posY, posZ), 0.0D, 0.0D, 0.0D);
ClientHelper.playParticle((ClientLevel) level, ParticleTypes.FLASH, new Vec3(posX, posY, posZ), 0.0D, 0.0D, 0.0D);
ClientHelper.playParticle((ClientLevel) level, ParticleTypes.CLOUD, new Vec3(posX, posY, posZ), 0.0D, 0.0D, 0.0D);
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ public void spawnControlEntities() {
Arrays.stream(controls).toList().forEach(control -> {
// Spawn a control!
ControlEntity controlEntity = EntityRegistry.CONTROL_ENTITY.get().create(getLevel());
controlEntity.assignControlData(control, this.getBlockPos());
controlEntity.assignControlData(theme, control, this.getBlockPos());

Vector3f location = new Vector3f(((float) currentBlockPos.getX() + control.offsetPosition().x() + 0.5f), (float) getBlockPos().getY() + control.offsetPosition().y() + 0.5f, (float) getBlockPos().getZ() + control.offsetPosition().z() + 0.5f);
controlEntity.teleportTo(location.x(), location.y(), location.z());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
import java.util.Optional;
import java.util.UUID;

public class AbstractEntityBlockDoor extends BlockEntity implements ITardisInternalDoor {
public class AbstractEntityBlockDoor extends BlockEntity implements TardisInternalDoor {
private boolean isLocked = false;
private String uuid_id;
private boolean isOpen = false;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ public GlobalDoorBlockEntity(BlockPos blockPos, BlockState blockState) {
}


public void onRightClick(BlockState blockState, ITardisInternalDoor door, Player player) {
public void onRightClick(BlockState blockState, TardisInternalDoor door, Player player) {
if (getLevel() instanceof ServerLevel serverLevel) {

// we know that in this instance the serverlevel has a capability.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import net.minecraft.core.Direction;
import net.minecraft.server.level.ServerEntity;

public interface ITardisInternalDoor {
public interface TardisInternalDoor {

boolean isMainDoor();
void onSetMainDoor(boolean isMainDoor);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,14 @@
import whocraft.tardis_refined.common.block.shell.ShellBaseBlock;
import whocraft.tardis_refined.common.capability.TardisLevelOperator;
import whocraft.tardis_refined.common.dimension.DimensionHandler;
import whocraft.tardis_refined.common.tardis.IExteriorShell;
import whocraft.tardis_refined.common.tardis.ExteriorShell;
import whocraft.tardis_refined.common.tardis.TardisDesktops;
import whocraft.tardis_refined.common.tardis.themes.DesktopTheme;
import whocraft.tardis_refined.common.util.PlayerUtil;

import java.util.UUID;

public abstract class ShellBaseBlockEntity extends BlockEntity implements IExteriorShell {
public abstract class ShellBaseBlockEntity extends BlockEntity implements ExteriorShell {

public ShellBaseBlockEntity(BlockEntityType<?> blockEntityType, BlockPos blockPos, BlockState blockState) {
super(blockEntityType, blockPos, blockState);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,12 @@
import net.minecraft.world.level.chunk.ChunkAccess;
import net.minecraft.world.phys.Vec3;
import whocraft.tardis_refined.api.event.TardisEvents;
import whocraft.tardis_refined.common.blockentity.door.TardisInternalDoor;
import whocraft.tardis_refined.common.tardis.manager.TardisFlightEventManager;
import whocraft.tardis_refined.constants.NbtConstants;
import whocraft.tardis_refined.client.TardisClientData;
import whocraft.tardis_refined.common.blockentity.door.ITardisInternalDoor;
import whocraft.tardis_refined.common.dimension.DelayedTeleportData;
import whocraft.tardis_refined.common.tardis.IExteriorShell;
import whocraft.tardis_refined.common.tardis.ExteriorShell;
import whocraft.tardis_refined.common.tardis.TardisArchitectureHandler;
import whocraft.tardis_refined.common.tardis.TardisNavLocation;
import whocraft.tardis_refined.common.tardis.manager.TardisControlManager;
Expand All @@ -31,7 +31,7 @@ public class TardisLevelOperator {

private Level level;
private boolean setUp = false;
private ITardisInternalDoor internalDoor = null;
private TardisInternalDoor internalDoor = null;

// Managers
private TardisExteriorManager exteriorManager;
Expand Down Expand Up @@ -78,7 +78,7 @@ public void deserializeNBT(CompoundTag tag) {

CompoundTag doorPos = tag.getCompound(NbtConstants.TARDIS_INTERNAL_DOOR_POSITION);
if (doorPos != null) {
if (level.getBlockEntity(NbtUtils.readBlockPos(doorPos)) instanceof ITardisInternalDoor door) {
if (level.getBlockEntity(NbtUtils.readBlockPos(doorPos)) instanceof TardisInternalDoor door) {
this.internalDoor = door;
}
}
Expand Down Expand Up @@ -163,7 +163,7 @@ public void tick(ServerLevel level) {
*
* @param player Player Entity.
**/
public void enterTardis(IExteriorShell shell, Player player, BlockPos externalPos, Level level, Direction direction) {
public void enterTardis(ExteriorShell shell, Player player, BlockPos externalPos, Level level, Direction direction) {

if (!setUp) {

Expand Down Expand Up @@ -220,7 +220,7 @@ public void exitTardis(Player player) {
ChunkAccess preloadedArea = this.exteriorManager.getLastKnownLocation().level.getChunk(targetPosition);

if (player instanceof ServerPlayer serverPlayer) {
if (targetLevel.getBlockEntity(targetPosition) instanceof IExteriorShell shellBaseBlockEntity) {
if (targetLevel.getBlockEntity(targetPosition) instanceof ExteriorShell shellBaseBlockEntity) {
BlockPos landingArea = shellBaseBlockEntity.getExitPosition();
DelayedTeleportData.getOrCreate(serverPlayer.getLevel()).schedulePlayerTeleport(serverPlayer, targetLevel.dimension(), Vec3.atCenterOf(landingArea), this.exteriorManager.getLastKnownLocation().rotation.get2DDataValue() * (360 / 4));
}
Expand Down Expand Up @@ -251,7 +251,7 @@ public void setShellTheme(ShellTheme theme) {
*
* @param door Internal door object.
**/
public void setInternalDoor(ITardisInternalDoor door) {
public void setInternalDoor(TardisInternalDoor door) {
if (this.internalDoor != null) {
this.internalDoor.onSetMainDoor(false);
}
Expand All @@ -263,7 +263,7 @@ public TardisExteriorManager getExteriorManager() {
return this.exteriorManager;
}

public ITardisInternalDoor getInternalDoor() {
public TardisInternalDoor getInternalDoor() {
return this.internalDoor;
}

Expand Down
Loading

0 comments on commit 09bd908

Please sign in to comment.