1
0
mirror of https://github.com/SquidDev-CC/CC-Tweaked synced 2024-12-14 04:00:30 +00:00

Use vector helpers to convert BlockPos to Vector3d

A little shorter and more explicit than constructing the Vector3d
manually. Fixes an issue where sounds were centered on the bottom left
of speakers, not the middle (see cc-tweaked/cc-restitched#85).
This commit is contained in:
Jonathan Coates 2022-04-22 09:30:04 +01:00
parent e865d96f7b
commit daf81b897a
No known key found for this signature in database
GPG Key ID: B9E431FF07C98D06
6 changed files with 8 additions and 18 deletions

View File

@ -97,7 +97,7 @@ public class TileCommandComputer extends TileComputer
} }
return new CommandSource( receiver, return new CommandSource( receiver,
new Vector3d( worldPosition.getX() + 0.5, worldPosition.getY() + 0.5, worldPosition.getZ() + 0.5 ), Vector2f.ZERO, Vector3d.atCenterOf( worldPosition ), Vector2f.ZERO,
(ServerWorld) getLevel(), 2, (ServerWorld) getLevel(), 2,
name, new StringTextComponent( name ), name, new StringTextComponent( name ),
getLevel().getServer(), null getLevel().getServer(), null

View File

@ -60,8 +60,7 @@ public class TileCable extends TileGeneric
@Override @Override
public Vector3d getPosition() public Vector3d getPosition()
{ {
BlockPos pos = getBlockPos(); return Vector3d.atCenterOf( getBlockPos() );
return new Vector3d( pos.getX() + 0.5, pos.getY() + 0.5, pos.getZ() + 0.5 );
} }
@Override @Override
@ -106,8 +105,7 @@ public class TileCable extends TileGeneric
@Override @Override
public Vector3d getPosition() public Vector3d getPosition()
{ {
BlockPos pos = getBlockPos().relative( modemDirection ); return Vector3d.atCenterOf( getBlockPos().relative( modemDirection ) );
return new Vector3d( pos.getX() + 0.5, pos.getY() + 0.5, pos.getZ() + 0.5 );
} }
@Nonnull @Nonnull

View File

@ -87,8 +87,7 @@ public class TileWiredModemFull extends TileGeneric
@Override @Override
public Vector3d getPosition() public Vector3d getPosition()
{ {
BlockPos pos = entity.getBlockPos(); return Vector3d.atCenterOf( entity.getBlockPos() );
return new Vector3d( pos.getX() + 0.5, pos.getY() + 0.5, pos.getZ() + 0.5 );
} }
} }
@ -418,8 +417,7 @@ public class TileWiredModemFull extends TileGeneric
@Override @Override
public Vector3d getPosition() public Vector3d getPosition()
{ {
BlockPos pos = getBlockPos().relative( side ); return Vector3d.atCenterOf( getBlockPos().relative( side ) );
return new Vector3d( pos.getX() + 0.5, pos.getY() + 0.5, pos.getZ() + 0.5 );
} }
@Nonnull @Nonnull

View File

@ -14,7 +14,6 @@ import dan200.computercraft.shared.util.TickScheduler;
import net.minecraft.block.BlockState; import net.minecraft.block.BlockState;
import net.minecraft.tileentity.TileEntityType; import net.minecraft.tileentity.TileEntityType;
import net.minecraft.util.Direction; import net.minecraft.util.Direction;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.vector.Vector3d; import net.minecraft.util.math.vector.Vector3d;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.common.capabilities.Capability; import net.minecraftforge.common.capabilities.Capability;
@ -48,8 +47,7 @@ public class TileWirelessModem extends TileGeneric
@Override @Override
public Vector3d getPosition() public Vector3d getPosition()
{ {
BlockPos pos = entity.getBlockPos().relative( entity.modemDirection ); return Vector3d.atLowerCornerOf( entity.getBlockPos().relative( entity.modemDirection ) );
return new Vector3d( pos.getX(), pos.getY(), pos.getZ() );
} }
@Override @Override

View File

@ -13,7 +13,6 @@ import dan200.computercraft.shared.util.CapabilityUtil;
import net.minecraft.tileentity.ITickableTileEntity; import net.minecraft.tileentity.ITickableTileEntity;
import net.minecraft.tileentity.TileEntityType; import net.minecraft.tileentity.TileEntityType;
import net.minecraft.util.Direction; import net.minecraft.util.Direction;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.vector.Vector3d; import net.minecraft.util.math.vector.Vector3d;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.common.capabilities.Capability; import net.minecraftforge.common.capabilities.Capability;
@ -90,8 +89,7 @@ public class TileSpeaker extends TileGeneric implements ITickableTileEntity
@Override @Override
public Vector3d getPosition() public Vector3d getPosition()
{ {
BlockPos pos = speaker.getBlockPos(); return Vector3d.atCenterOf( speaker.getBlockPos() );
return new Vector3d( pos.getX(), pos.getY(), pos.getZ() );
} }
@Override @Override

View File

@ -15,7 +15,6 @@ import dan200.computercraft.shared.Registry;
import dan200.computercraft.shared.peripheral.speaker.UpgradeSpeakerPeripheral; import dan200.computercraft.shared.peripheral.speaker.UpgradeSpeakerPeripheral;
import net.minecraft.client.renderer.model.ModelResourceLocation; import net.minecraft.client.renderer.model.ModelResourceLocation;
import net.minecraft.util.ResourceLocation; import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.vector.Vector3d; import net.minecraft.util.math.vector.Vector3d;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.Dist;
@ -47,8 +46,7 @@ public class TurtleSpeaker extends AbstractTurtleUpgrade
@Override @Override
public Vector3d getPosition() public Vector3d getPosition()
{ {
BlockPos pos = turtle.getPosition(); return Vector3d.atCenterOf( turtle.getPosition() );
return new Vector3d( pos.getX() + 0.5, pos.getY() + 0.5, pos.getZ() + 0.5 );
} }
@Override @Override