SimpleMultipart/src/test/java/net/shadowfacts/simplemultipart/test/EntityTestPart.java

49 lines
1.7 KiB
Java

package net.shadowfacts.simplemultipart.test;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.text.StringTextComponent;
import net.minecraft.util.Hand;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Direction;
import net.minecraft.util.shape.VoxelShape;
import net.minecraft.util.shape.VoxelShapes;
import net.shadowfacts.simplemultipart.container.MultipartContainer;
import net.shadowfacts.simplemultipart.container.AbstractContainerBlockEntity;
import net.shadowfacts.simplemultipart.multipart.Multipart;
import net.shadowfacts.simplemultipart.multipart.MultipartState;
import net.shadowfacts.simplemultipart.multipart.entity.MultipartEntity;
import net.shadowfacts.simplemultipart.multipart.entity.MultipartEntityProvider;
import net.shadowfacts.simplemultipart.multipart.MultipartView;
/**
* @author shadowfacts
*/
public class EntityTestPart extends Multipart implements MultipartEntityProvider {
@Override
@Deprecated
public VoxelShape getBoundingShape(MultipartState state, MultipartView view) {
return VoxelShapes.cube(6/16f, 6/16f, 6/16f, 10/16f, 10/16f, 10/16f);
}
@Override
@Deprecated
public boolean activate(MultipartView view, Direction side, PlayerEntity player, Hand hand) {
BlockPos pos = ((Entity)view.getEntity()).getPos();
player.addChatMessage(new StringTextComponent("Clicked: " + pos), false);
return true;
}
@Override
public MultipartEntity createMultipartEntity(MultipartState state, MultipartContainer container) {
return new Entity();
}
public static class Entity extends MultipartEntity {
public BlockPos getPos() {
return ((AbstractContainerBlockEntity)view.getContainer()).getPos();
}
}
}