SimpleMultipart/src/main/java/net/shadowfacts/simplemultipart/util/MultipartPlacementContext.java

49 lines
1.6 KiB
Java
Raw Normal View History

2018-12-24 22:16:38 +00:00
package net.shadowfacts.simplemultipart.util;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.ItemStack;
import net.minecraft.item.ItemUsageContext;
2019-01-19 16:59:58 +00:00
import net.minecraft.util.BlockHitResult;
2018-12-24 22:16:38 +00:00
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Direction;
2018-12-28 02:55:51 +00:00
import net.shadowfacts.simplemultipart.container.MultipartContainer;
2018-12-24 22:16:38 +00:00
/**
2018-12-28 18:10:59 +00:00
* Contains information about the context in which a multipart is being placed into the world.
*
* Analogous to {@link net.minecraft.item.ItemPlacementContext}.
*
2018-12-24 22:16:38 +00:00
* @author shadowfacts
2018-12-28 18:10:59 +00:00
* @since 0.1.0
2018-12-24 22:16:38 +00:00
*/
public class MultipartPlacementContext extends ItemUsageContext {
2018-12-25 15:30:46 +00:00
private final MultipartContainer container;
private final boolean isOffset;
2018-12-24 22:16:38 +00:00
2019-01-19 16:59:58 +00:00
public MultipartPlacementContext(MultipartContainer container, boolean isOffset, PlayerEntity player, ItemStack stack, BlockHitResult hitResult) {
super(player, stack, hitResult);
2018-12-24 22:16:38 +00:00
this.container = container;
this.isOffset = isOffset;
2018-12-24 22:16:38 +00:00
}
public MultipartPlacementContext(MultipartContainer container, boolean isOffset, ItemUsageContext context) {
2019-01-19 16:59:58 +00:00
this(container, isOffset, context.getPlayer(), context.getItemStack(), new BlockHitResult(context.method_17698(), context.getFacing(), context.getPos(), context.method_17699()));
2018-12-24 22:16:38 +00:00
}
2018-12-28 18:10:59 +00:00
/**
* @return The container that this multipart will be inserted into.
*/
2018-12-25 15:30:46 +00:00
public MultipartContainer getContainer() {
2018-12-24 22:16:38 +00:00
return container;
}
/**
* @return {@code false} if this container is the one clicked, {@code true} if this container is a newly created one offset from the block clicked.
* @since 0.1.2
*/
public boolean isOffset() {
return isOffset;
}
2018-12-24 22:16:38 +00:00
}