2018-12-20 00:39:10 +00:00
|
|
|
package net.shadowfacts.simplemultipart.multipart;
|
|
|
|
|
|
|
|
import com.google.common.collect.ImmutableMap;
|
2018-12-20 01:44:53 +00:00
|
|
|
import net.minecraft.entity.player.PlayerEntity;
|
2018-12-20 00:39:10 +00:00
|
|
|
import net.minecraft.item.ItemStack;
|
|
|
|
import net.minecraft.state.AbstractPropertyContainer;
|
|
|
|
import net.minecraft.state.property.Property;
|
2018-12-20 01:44:53 +00:00
|
|
|
import net.minecraft.util.Hand;
|
2018-12-20 00:39:10 +00:00
|
|
|
import net.minecraft.util.shape.VoxelShape;
|
|
|
|
import net.minecraft.world.loot.context.LootContext;
|
2018-12-25 15:20:44 +00:00
|
|
|
import net.shadowfacts.simplemultipart.api.MultipartView;
|
2018-12-20 00:39:10 +00:00
|
|
|
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @author shadowfacts
|
|
|
|
*/
|
|
|
|
public class MultipartState extends AbstractPropertyContainer<Multipart, MultipartState> {
|
|
|
|
|
|
|
|
public MultipartState(Multipart part, ImmutableMap<Property<?>, Comparable<?>> properties) {
|
|
|
|
super(part, properties);
|
|
|
|
}
|
|
|
|
|
|
|
|
public Multipart getMultipart() {
|
|
|
|
return owner;
|
|
|
|
}
|
|
|
|
|
2018-12-25 15:20:44 +00:00
|
|
|
public MultipartState getStateForRendering(MultipartView view) {
|
2018-12-20 00:39:10 +00:00
|
|
|
//noinspection deprecation
|
2018-12-25 15:20:44 +00:00
|
|
|
return owner.getStateForRendering(this, view);
|
2018-12-20 00:39:10 +00:00
|
|
|
}
|
|
|
|
|
2018-12-25 15:20:44 +00:00
|
|
|
public VoxelShape getBoundingShape(/*@Nullable*/ MultipartView view) {
|
2018-12-20 00:39:10 +00:00
|
|
|
//noinspection deprecation
|
2018-12-25 15:20:44 +00:00
|
|
|
return owner.getBoundingShape(this, view);
|
2018-12-20 00:39:10 +00:00
|
|
|
}
|
|
|
|
|
2018-12-25 15:20:44 +00:00
|
|
|
public List<ItemStack> getDroppedStacks(MultipartView view, LootContext.Builder builder) {
|
2018-12-20 00:39:10 +00:00
|
|
|
//noinspection deprecated
|
2018-12-25 15:20:44 +00:00
|
|
|
return owner.getDroppedStacks(this, view, builder);
|
2018-12-20 00:39:10 +00:00
|
|
|
}
|
|
|
|
|
2018-12-25 15:20:44 +00:00
|
|
|
public boolean activate(MultipartView view, PlayerEntity player, Hand hand) {
|
2018-12-20 01:44:53 +00:00
|
|
|
//noinspection deprecated
|
2018-12-25 15:20:44 +00:00
|
|
|
return owner.activate(this, view, player, hand);
|
2018-12-20 01:44:53 +00:00
|
|
|
}
|
|
|
|
|
2018-12-20 00:39:10 +00:00
|
|
|
}
|