Annotate?
This commit is contained in:
parent
27b721b22e
commit
e74ce49694
@ -1,5 +1,6 @@
|
||||
package ru.dbotthepony.mc.otm.block;
|
||||
|
||||
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.world.InteractionHand;
|
||||
import net.minecraft.world.InteractionResult;
|
||||
@ -22,7 +23,10 @@ import ru.dbotthepony.mc.otm.capability.MatteryCapability;
|
||||
import ru.dbotthepony.mc.otm.shapes.BlockShapes;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
|
||||
@MethodsReturnNonnullByDefault
|
||||
@ParametersAreNonnullByDefault
|
||||
public class BlockAndroidStation extends BlockMattery implements EntityBlock {
|
||||
private final VoxelShape SHAPE = BlockShapes.ANDROID_STATION.computeShape();
|
||||
|
||||
@ -41,6 +45,7 @@ public class BlockAndroidStation extends BlockMattery implements EntityBlock {
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
public VoxelShape getShape(BlockState p_151964_, BlockGetter p_151965_, BlockPos p_151966_, CollisionContext p_151967_) {
|
||||
return SHAPE;
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
package ru.dbotthepony.mc.otm.block;
|
||||
|
||||
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.world.item.context.BlockPlaceContext;
|
||||
@ -22,8 +23,11 @@ import ru.dbotthepony.mc.otm.block.entity.BlockEntityBatteryBank;
|
||||
import ru.dbotthepony.mc.otm.shapes.BlockShapes;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
import java.util.List;
|
||||
|
||||
@MethodsReturnNonnullByDefault
|
||||
@ParametersAreNonnullByDefault
|
||||
public class BlockBatteryBank extends BlockMatteryRotatable implements EntityBlock {
|
||||
public static final BooleanProperty[] BATTERY_SLOTS_PROPS = new BooleanProperty[] {
|
||||
BooleanProperty.create("battery_0"),
|
||||
@ -85,6 +89,7 @@ public class BlockBatteryBank extends BlockMatteryRotatable implements EntityBlo
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
public VoxelShape getShape(BlockState p_60555_, BlockGetter p_60556_, BlockPos p_60557_, CollisionContext p_60558_) {
|
||||
return SHAPES.get(p_60555_.getValue(FACING).ordinal());
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
package ru.dbotthepony.mc.otm.block;
|
||||
|
||||
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.world.level.BlockGetter;
|
||||
import net.minecraft.world.level.Level;
|
||||
@ -18,7 +19,10 @@ import ru.dbotthepony.mc.otm.block.entity.BlockEntityBlackHole;
|
||||
import ru.dbotthepony.mc.otm.shapes.BlockShapes;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
|
||||
@MethodsReturnNonnullByDefault
|
||||
@ParametersAreNonnullByDefault
|
||||
public class BlockBlackHole extends Block implements EntityBlock {
|
||||
public BlockBlackHole() {
|
||||
super(Properties.of(
|
||||
@ -29,6 +33,7 @@ public class BlockBlackHole extends Block implements EntityBlock {
|
||||
public static final VoxelShape SHAPE = BlockShapes.BLACK_HOLE.computeShape();
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
public VoxelShape getShape(BlockState p_60555_, BlockGetter p_60556_, BlockPos p_60557_, CollisionContext p_60558_) {
|
||||
return SHAPE;
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
package ru.dbotthepony.mc.otm.block;
|
||||
|
||||
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.world.Container;
|
||||
import net.minecraft.world.Containers;
|
||||
@ -14,7 +15,10 @@ import net.minecraft.world.level.block.state.properties.BooleanProperty;
|
||||
import ru.dbotthepony.mc.otm.block.entity.BlockEntityCargoCrate;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
|
||||
@MethodsReturnNonnullByDefault
|
||||
@ParametersAreNonnullByDefault
|
||||
public class BlockCargoCrate extends BlockMatteryRotatable implements EntityBlock {
|
||||
public static final BooleanProperty IS_OPEN = BooleanProperty.create("open");
|
||||
|
||||
@ -37,6 +41,7 @@ public class BlockCargoCrate extends BlockMatteryRotatable implements EntityBloc
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
public void onRemove(BlockState old_block_state, Level level, BlockPos block_pos, BlockState new_block_state, boolean p_51542_) {
|
||||
if (!old_block_state.is(new_block_state.getBlock())) {
|
||||
BlockEntity blockentity = level.getBlockEntity(block_pos);
|
||||
|
@ -1,5 +1,6 @@
|
||||
package ru.dbotthepony.mc.otm.block;
|
||||
|
||||
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.world.level.block.EntityBlock;
|
||||
import net.minecraft.world.level.block.entity.BlockEntity;
|
||||
@ -7,7 +8,10 @@ import net.minecraft.world.level.block.state.BlockState;
|
||||
import ru.dbotthepony.mc.otm.block.entity.BlockEntityDriveRack;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
|
||||
@MethodsReturnNonnullByDefault
|
||||
@ParametersAreNonnullByDefault
|
||||
public class BlockDriveRack extends BlockMatteryRotatable implements EntityBlock {
|
||||
@Nullable
|
||||
@Override
|
||||
|
@ -1,5 +1,6 @@
|
||||
package ru.dbotthepony.mc.otm.block;
|
||||
|
||||
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.world.level.Level;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
@ -14,9 +15,12 @@ import ru.dbotthepony.mc.otm.Registry;
|
||||
import ru.dbotthepony.mc.otm.block.entity.BlockEntityDriveViewer;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
|
||||
import static ru.dbotthepony.mc.otm.block.entity.worker.WorkerState.SEMI_WORKER_STATE;
|
||||
|
||||
@MethodsReturnNonnullByDefault
|
||||
@ParametersAreNonnullByDefault
|
||||
public class BlockDriveViewer extends BlockMatteryRotatable implements EntityBlock {
|
||||
@Nullable
|
||||
@Override
|
||||
|
@ -1,5 +1,6 @@
|
||||
package ru.dbotthepony.mc.otm.block;
|
||||
|
||||
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.world.level.block.EntityBlock;
|
||||
import net.minecraft.world.level.block.entity.BlockEntity;
|
||||
@ -7,7 +8,10 @@ import net.minecraft.world.level.block.state.BlockState;
|
||||
import ru.dbotthepony.mc.otm.block.entity.BlockEntityItemMonitor;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
|
||||
@MethodsReturnNonnullByDefault
|
||||
@ParametersAreNonnullByDefault
|
||||
public class BlockItemMonitor extends BlockMatteryRotatable implements EntityBlock {
|
||||
@Nullable
|
||||
@Override
|
||||
|
@ -1,5 +1,6 @@
|
||||
package ru.dbotthepony.mc.otm.block;
|
||||
|
||||
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.world.level.Level;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
@ -14,7 +15,10 @@ import ru.dbotthepony.mc.otm.block.entity.BlockEntityMatterBottler;
|
||||
import ru.dbotthepony.mc.otm.block.entity.worker.WorkerState;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
|
||||
@MethodsReturnNonnullByDefault
|
||||
@ParametersAreNonnullByDefault
|
||||
public class BlockMatterBottler extends BlockMatteryRotatable implements EntityBlock {
|
||||
@Nullable
|
||||
@Override
|
||||
|
@ -1,6 +1,7 @@
|
||||
package ru.dbotthepony.mc.otm.block;
|
||||
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.world.level.BlockGetter;
|
||||
@ -22,8 +23,11 @@ import ru.dbotthepony.mc.otm.capability.matter.IMatterGridCell;
|
||||
import ru.dbotthepony.mc.otm.block.entity.BlockEntityMatterCable;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
import java.util.ArrayList;
|
||||
|
||||
@MethodsReturnNonnullByDefault
|
||||
@ParametersAreNonnullByDefault
|
||||
public class BlockMatterCable extends Block implements EntityBlock {
|
||||
@Nullable
|
||||
@Override
|
||||
@ -157,6 +161,7 @@ public class BlockMatterCable extends Block implements EntityBlock {
|
||||
);
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
public VoxelShape getShape(BlockState p_60555_, BlockGetter p_60556_, BlockPos p_60557_, CollisionContext p_60558_) {
|
||||
VoxelShape get = SHAPES.get(p_60555_);
|
||||
return get != null ? get : CORE_SHAPE;
|
||||
|
@ -1,5 +1,6 @@
|
||||
package ru.dbotthepony.mc.otm.block;
|
||||
|
||||
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.world.item.context.BlockPlaceContext;
|
||||
@ -16,8 +17,11 @@ import ru.dbotthepony.mc.otm.block.entity.BlockEntityMatterCapacitorBank;
|
||||
import ru.dbotthepony.mc.otm.shapes.BlockShapes;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
import java.util.List;
|
||||
|
||||
@MethodsReturnNonnullByDefault
|
||||
@ParametersAreNonnullByDefault
|
||||
public class BlockMatterCapacitorBank extends BlockMatteryRotatable implements EntityBlock {
|
||||
@Nullable
|
||||
@Override
|
||||
@ -58,6 +62,7 @@ public class BlockMatterCapacitorBank extends BlockMatteryRotatable implements E
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
public VoxelShape getShape(BlockState p_60555_, BlockGetter p_60556_, BlockPos p_60557_, CollisionContext p_60558_) {
|
||||
return SHAPES.get(p_60555_.getValue(FACING).ordinal());
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
package ru.dbotthepony.mc.otm.block;
|
||||
|
||||
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.world.level.BlockGetter;
|
||||
@ -19,8 +20,11 @@ import ru.dbotthepony.mc.otm.block.entity.worker.WorkerState;
|
||||
import ru.dbotthepony.mc.otm.shapes.BlockShapes;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
import java.util.List;
|
||||
|
||||
@MethodsReturnNonnullByDefault
|
||||
@ParametersAreNonnullByDefault
|
||||
public class BlockMatterDecomposer extends BlockMatteryRotatable implements EntityBlock {
|
||||
@Nullable
|
||||
@Override
|
||||
@ -56,6 +60,7 @@ public class BlockMatterDecomposer extends BlockMatteryRotatable implements Enti
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
public VoxelShape getShape(BlockState p_60555_, BlockGetter p_60556_, BlockPos p_60557_, CollisionContext p_60558_) {
|
||||
return SHAPES.get(p_60555_.getValue(FACING).ordinal());
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
package ru.dbotthepony.mc.otm.block;
|
||||
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.world.item.context.BlockPlaceContext;
|
||||
@ -17,7 +18,10 @@ import net.minecraft.world.phys.shapes.VoxelShape;
|
||||
import ru.dbotthepony.mc.otm.block.entity.BlockEntityMatterPanel;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
|
||||
@MethodsReturnNonnullByDefault
|
||||
@ParametersAreNonnullByDefault
|
||||
public class BlockMatterPanel extends BlockMattery implements EntityBlock {
|
||||
@Nullable
|
||||
@Override
|
||||
@ -97,6 +101,7 @@ public class BlockMatterPanel extends BlockMattery implements EntityBlock {
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
public VoxelShape getShape(BlockState p_60555_, BlockGetter p_60556_, BlockPos p_60557_, CollisionContext p_60558_) {
|
||||
return SHAPES.get(p_60555_);
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
package ru.dbotthepony.mc.otm.block;
|
||||
|
||||
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.world.level.BlockGetter;
|
||||
@ -20,8 +21,11 @@ import ru.dbotthepony.mc.otm.block.entity.worker.WorkerState;
|
||||
import ru.dbotthepony.mc.otm.shapes.BlockShapes;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
import java.util.List;
|
||||
|
||||
@MethodsReturnNonnullByDefault
|
||||
@ParametersAreNonnullByDefault
|
||||
public class BlockMatterReplicator extends BlockMatteryRotatable implements EntityBlock {
|
||||
@Nullable
|
||||
@Override
|
||||
@ -57,6 +61,7 @@ public class BlockMatterReplicator extends BlockMatteryRotatable implements Enti
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
public VoxelShape getShape(BlockState p_60555_, BlockGetter p_60556_, BlockPos p_60557_, CollisionContext p_60558_) {
|
||||
return SHAPES.get(p_60555_.getValue(FACING).ordinal());
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
package ru.dbotthepony.mc.otm.block;
|
||||
|
||||
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.world.level.BlockGetter;
|
||||
@ -20,8 +21,11 @@ import ru.dbotthepony.mc.otm.block.entity.worker.WorkerState;
|
||||
import ru.dbotthepony.mc.otm.shapes.BlockShapes;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
import java.util.List;
|
||||
|
||||
@MethodsReturnNonnullByDefault
|
||||
@ParametersAreNonnullByDefault
|
||||
public class BlockMatterScanner extends BlockMatteryRotatable implements EntityBlock {
|
||||
@Nullable
|
||||
@Override
|
||||
@ -57,6 +61,7 @@ public class BlockMatterScanner extends BlockMatteryRotatable implements EntityB
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
public VoxelShape getShape(BlockState p_60555_, BlockGetter p_60556_, BlockPos p_60557_, CollisionContext p_60558_) {
|
||||
return SHAPES.get(p_60555_.getValue(FACING).ordinal());
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
package ru.dbotthepony.mc.otm.block;
|
||||
|
||||
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.world.InteractionHand;
|
||||
import net.minecraft.world.InteractionResult;
|
||||
@ -18,7 +19,10 @@ import net.minecraft.world.phys.BlockHitResult;
|
||||
import ru.dbotthepony.mc.otm.block.entity.BlockEntityMattery;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
|
||||
@MethodsReturnNonnullByDefault
|
||||
@ParametersAreNonnullByDefault
|
||||
public abstract class BlockMattery extends Block {
|
||||
public BlockMattery(Properties p_49795_) {
|
||||
super(p_49795_);
|
||||
@ -38,6 +42,7 @@ public abstract class BlockMattery extends Block {
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
public InteractionResult use(BlockState p_60503_, Level level, BlockPos pos, Player ply, InteractionHand p_60507_, BlockHitResult p_60508_) {
|
||||
if (this instanceof EntityBlock && !level.isClientSide && level.getBlockEntity(pos) instanceof MenuProvider tile) {
|
||||
ply.openMenu(tile);
|
||||
|
@ -1,5 +1,6 @@
|
||||
package ru.dbotthepony.mc.otm.block;
|
||||
|
||||
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.world.item.context.BlockPlaceContext;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
@ -10,8 +11,11 @@ import org.apache.commons.lang3.ArrayUtils;
|
||||
import ru.dbotthepony.mc.otm.OverdriveThatMatters;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
import java.util.Arrays;
|
||||
|
||||
@MethodsReturnNonnullByDefault
|
||||
@ParametersAreNonnullByDefault
|
||||
public abstract class BlockMatteryRotatable extends BlockMattery {
|
||||
public static final EnumProperty<Direction> FACING = EnumProperty.create(
|
||||
"facing",
|
||||
|
@ -1,5 +1,6 @@
|
||||
package ru.dbotthepony.mc.otm.block;
|
||||
|
||||
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.world.item.context.BlockPlaceContext;
|
||||
@ -16,8 +17,11 @@ import ru.dbotthepony.mc.otm.block.entity.BlockEntityPatternStorage;
|
||||
import ru.dbotthepony.mc.otm.shapes.BlockShapes;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
import java.util.List;
|
||||
|
||||
@MethodsReturnNonnullByDefault
|
||||
@ParametersAreNonnullByDefault
|
||||
public class BlockPatternStorage extends BlockMatteryRotatable implements EntityBlock {
|
||||
public static final BooleanProperty[] PATTERN_STORAGE_DISKS_PROPS = new BooleanProperty[] {
|
||||
BooleanProperty.create("disk_0"),
|
||||
@ -69,6 +73,7 @@ public class BlockPatternStorage extends BlockMatteryRotatable implements Entity
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
public VoxelShape getShape(BlockState p_60555_, BlockGetter p_60556_, BlockPos p_60557_, CollisionContext p_60558_) {
|
||||
return SHAPES.get(p_60555_.getValue(FACING).ordinal());
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
package ru.dbotthepony.mc.otm.block.entity;
|
||||
|
||||
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.network.chat.Component;
|
||||
import net.minecraft.network.chat.TranslatableComponent;
|
||||
@ -19,10 +20,13 @@ import ru.dbotthepony.mc.otm.capability.MatteryMachineEnergyStorage;
|
||||
import ru.dbotthepony.mc.otm.menu.AndroidStationMenu;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
@MethodsReturnNonnullByDefault
|
||||
@ParametersAreNonnullByDefault
|
||||
public class BlockEntityAndroidStation extends BlockEntityMatteryPowered implements MenuProvider {
|
||||
@Nullable
|
||||
@Override
|
||||
|
@ -1,5 +1,6 @@
|
||||
package ru.dbotthepony.mc.otm.block.entity;
|
||||
|
||||
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
@ -29,9 +30,12 @@ import ru.dbotthepony.mc.otm.menu.BatteryBankMenu;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Optional;
|
||||
|
||||
@MethodsReturnNonnullByDefault
|
||||
@ParametersAreNonnullByDefault
|
||||
public class BlockEntityBatteryBank extends BlockEntityMattery {
|
||||
// 6 на 2
|
||||
public final MatteryContainer battery_container = new MatteryContainer(this::setChanged, 6 * 2) {
|
||||
|
@ -1,5 +1,6 @@
|
||||
package ru.dbotthepony.mc.otm.block.entity;
|
||||
|
||||
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
@ -35,10 +36,13 @@ import ru.dbotthepony.mc.otm.capability.MatteryCapability;
|
||||
import ru.dbotthepony.mc.otm.matter.MatterRegistry;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Optional;
|
||||
|
||||
@MethodsReturnNonnullByDefault
|
||||
@ParametersAreNonnullByDefault
|
||||
public class BlockEntityBlackHole extends BlockEntity {
|
||||
public BlockEntityBlackHole(BlockPos p_155229_, BlockState p_155230_) {
|
||||
super(Registry.BlockEntities.BLACK_HOLE, p_155229_, p_155230_);
|
||||
|
@ -1,5 +1,6 @@
|
||||
package ru.dbotthepony.mc.otm.block.entity;
|
||||
|
||||
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
import net.minecraft.network.chat.Component;
|
||||
@ -16,7 +17,10 @@ import ru.dbotthepony.mc.otm.container.MatteryContainer;
|
||||
import ru.dbotthepony.mc.otm.menu.CargoCrateMenu;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
|
||||
@MethodsReturnNonnullByDefault
|
||||
@ParametersAreNonnullByDefault
|
||||
public class BlockEntityCargoCrate extends BlockEntityMattery {
|
||||
private static final TranslatableComponent NAME = new TranslatableComponent("block.overdrive_that_matters.cargo_crate");
|
||||
public int open_amount = 0;
|
||||
|
@ -1,5 +1,6 @@
|
||||
package ru.dbotthepony.mc.otm.block.entity;
|
||||
|
||||
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
import net.minecraft.network.chat.Component;
|
||||
@ -23,8 +24,11 @@ import ru.dbotthepony.mc.otm.container.MatteryContainer;
|
||||
import ru.dbotthepony.mc.otm.menu.DriveViewerMenu;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
@MethodsReturnNonnullByDefault
|
||||
@ParametersAreNonnullByDefault
|
||||
public class BlockEntityDriveViewer extends BlockEntityMatteryPowered {
|
||||
public static final BigDecimal MTE_PER_OPERATION = new BigDecimal("3.125");
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
package ru.dbotthepony.mc.otm.block.entity;
|
||||
|
||||
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.network.chat.Component;
|
||||
@ -20,8 +21,11 @@ import ru.dbotthepony.mc.otm.menu.ItemMonitorMenu;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
@MethodsReturnNonnullByDefault
|
||||
@ParametersAreNonnullByDefault
|
||||
public class BlockEntityItemMonitor extends BlockEntityMatteryPowered {
|
||||
public BlockEntityItemMonitor(BlockPos p_155229_, BlockState p_155230_) {
|
||||
super(Registry.BlockEntities.ITEM_MONITOR, p_155229_, p_155230_);
|
||||
|
@ -1,5 +1,6 @@
|
||||
package ru.dbotthepony.mc.otm.block.entity;
|
||||
|
||||
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
@ -29,8 +30,11 @@ import ru.dbotthepony.mc.otm.menu.MatterBottlerMenu;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
@MethodsReturnNonnullByDefault
|
||||
@ParametersAreNonnullByDefault
|
||||
public class BlockEntityMatterBottler extends BlockEntityMatteryPowered implements IMatterGridCell {
|
||||
public BlockEntityMatterBottler(BlockPos p_155229_, BlockState p_155230_) {
|
||||
super(Registry.BlockEntities.MATTER_BOTTLER, p_155229_, p_155230_);
|
||||
|
@ -1,5 +1,6 @@
|
||||
package ru.dbotthepony.mc.otm.block.entity;
|
||||
|
||||
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.world.level.Level;
|
||||
@ -18,7 +19,10 @@ import ru.dbotthepony.mc.otm.capability.matter.IPatternStorage;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
|
||||
@MethodsReturnNonnullByDefault
|
||||
@ParametersAreNonnullByDefault
|
||||
public class BlockEntityMatterCable extends BlockEntity implements IMatterGridCell {
|
||||
public BlockEntityMatterCable(BlockPos p_155229_, BlockState p_155230_) {
|
||||
super(Registry.BlockEntities.MATTER_CABLE, p_155229_, p_155230_);
|
||||
|
@ -1,5 +1,6 @@
|
||||
package ru.dbotthepony.mc.otm.block.entity;
|
||||
|
||||
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
@ -26,9 +27,12 @@ import ru.dbotthepony.mc.otm.menu.MatterCapacitorBankMenu;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Optional;
|
||||
|
||||
@MethodsReturnNonnullByDefault
|
||||
@ParametersAreNonnullByDefault
|
||||
public class BlockEntityMatterCapacitorBank extends BlockEntityMattery implements IMatterGridCell {
|
||||
public final IMatterHandler matter = new IMatterHandler() {
|
||||
@Nonnull
|
||||
|
@ -1,5 +1,6 @@
|
||||
package ru.dbotthepony.mc.otm.block.entity;
|
||||
|
||||
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
@ -32,8 +33,11 @@ import ru.dbotthepony.mc.otm.menu.MatterDecomposerMenu;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
@MethodsReturnNonnullByDefault
|
||||
@ParametersAreNonnullByDefault
|
||||
public class BlockEntityMatterDecomposer extends BlockEntityMatteryWorker implements IMatterGridCell {
|
||||
private static final TranslatableComponent MACHINE_NAME = new TranslatableComponent("block.overdrive_that_matters.matter_decomposer");
|
||||
private boolean valid = true;
|
||||
|
@ -1,5 +1,6 @@
|
||||
package ru.dbotthepony.mc.otm.block.entity;
|
||||
|
||||
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
@ -22,9 +23,12 @@ import ru.dbotthepony.mc.otm.menu.MatterPanelMenu;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@MethodsReturnNonnullByDefault
|
||||
@ParametersAreNonnullByDefault
|
||||
public class BlockEntityMatterPanel extends BlockEntityMattery implements IMatterGridCell, IMatterTaskProvider {
|
||||
public BlockEntityMatterPanel(BlockPos p_155229_, BlockState p_155230_) {
|
||||
super(Registry.BlockEntities.MATTER_PANEL, p_155229_, p_155230_);
|
||||
|
@ -1,5 +1,6 @@
|
||||
package ru.dbotthepony.mc.otm.block.entity;
|
||||
|
||||
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
@ -29,8 +30,11 @@ import ru.dbotthepony.mc.otm.menu.MatterReplicatorMenu;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
@MethodsReturnNonnullByDefault
|
||||
@ParametersAreNonnullByDefault
|
||||
public class BlockEntityMatterReplicator extends BlockEntityMatteryWorker implements IMatterGridCell {
|
||||
public BlockEntityMatterReplicator(BlockPos p_155229_, BlockState p_155230_) {
|
||||
super(Registry.BlockEntities.MATTER_REPLICATOR, p_155229_, p_155230_);
|
||||
|
@ -1,5 +1,6 @@
|
||||
package ru.dbotthepony.mc.otm.block.entity;
|
||||
|
||||
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
@ -28,10 +29,13 @@ import ru.dbotthepony.mc.otm.menu.MatterScannerMenu;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Collection;
|
||||
import java.util.UUID;
|
||||
|
||||
@MethodsReturnNonnullByDefault
|
||||
@ParametersAreNonnullByDefault
|
||||
public class BlockEntityMatterScanner extends BlockEntityMatteryWorker implements IMatterGridCell {
|
||||
private static final TranslatableComponent NAME = new TranslatableComponent("block.overdrive_that_matters.matter_scanner");
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
package ru.dbotthepony.mc.otm.block.entity;
|
||||
|
||||
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
import net.minecraft.nbt.StringTag;
|
||||
@ -16,8 +17,11 @@ import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraft.world.level.chunk.LevelChunk;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
import java.util.UUID;
|
||||
|
||||
@MethodsReturnNonnullByDefault
|
||||
@ParametersAreNonnullByDefault
|
||||
public abstract class BlockEntityMattery extends BlockEntity implements MenuProvider {
|
||||
protected Component display_name;
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
package ru.dbotthepony.mc.otm.block.entity;
|
||||
|
||||
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
@ -17,9 +18,12 @@ import ru.dbotthepony.mc.otm.container.MatteryContainer;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Optional;
|
||||
|
||||
@MethodsReturnNonnullByDefault
|
||||
@ParametersAreNonnullByDefault
|
||||
abstract public class BlockEntityMatteryPowered extends BlockEntityMattery {
|
||||
protected MatteryMachineEnergyStorage energy = null;
|
||||
protected final LazyOptional<MatteryMachineEnergyStorage> energy_resolver = LazyOptional.of(() -> energy);;
|
||||
|
@ -1,6 +1,7 @@
|
||||
package ru.dbotthepony.mc.otm.block.entity;
|
||||
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
@ -27,9 +28,12 @@ import ru.dbotthepony.mc.otm.menu.PatternStorageMenu;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
|
||||
@MethodsReturnNonnullByDefault
|
||||
@ParametersAreNonnullByDefault
|
||||
public class BlockEntityPatternStorage extends BlockEntityMattery implements IMatterGridCell, IPatternStorage {
|
||||
public BlockEntityPatternStorage(BlockPos p_155229_, BlockState p_155230_) {
|
||||
super(Registry.BlockEntities.PATTERN_STORAGE, p_155229_, p_155230_);
|
||||
|
@ -1,5 +1,6 @@
|
||||
package ru.dbotthepony.mc.otm.block.entity.worker;
|
||||
|
||||
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
import net.minecraft.nbt.DoubleTag;
|
||||
@ -13,17 +14,18 @@ import ru.dbotthepony.mc.otm.capability.MatteryCapability;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
@MethodsReturnNonnullByDefault
|
||||
@ParametersAreNonnullByDefault
|
||||
abstract public class BlockEntityMatteryWorker extends BlockEntityMatteryPowered {
|
||||
public BlockEntityMatteryWorker(BlockEntityType<?> p_155228_, BlockPos p_155229_, BlockState p_155230_) {
|
||||
super(p_155228_, p_155229_, p_155230_);
|
||||
}
|
||||
|
||||
@Nonnull
|
||||
protected abstract BigDecimal getBaseConsumption();
|
||||
|
||||
@Nonnull
|
||||
protected BigDecimal consumptionPerWork() {
|
||||
return getBaseConsumption();
|
||||
}
|
||||
@ -79,7 +81,6 @@ abstract public class BlockEntityMatteryWorker extends BlockEntityMatteryPowered
|
||||
* @return whenever machine can finish it's job. return false if machine for whatever reason can't finish it's job,
|
||||
* waiting on conditions to be met
|
||||
*/
|
||||
@Nonnull
|
||||
abstract protected MachineJobStatus onJobFinish(MachineJob job);
|
||||
|
||||
/**
|
||||
|
@ -1,5 +1,6 @@
|
||||
package ru.dbotthepony.mc.otm.block.entity.worker;
|
||||
|
||||
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
import net.minecraft.nbt.DoubleTag;
|
||||
import net.minecraft.nbt.StringTag;
|
||||
@ -7,8 +8,11 @@ import net.minecraft.nbt.Tag;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
@MethodsReturnNonnullByDefault
|
||||
@ParametersAreNonnullByDefault
|
||||
public record MachineJob(ItemStack stack, double ticks_processing_time, BigDecimal power_consumption_multiplier,
|
||||
CompoundTag data) {
|
||||
public MachineJob(ItemStack stack, double ticks_processing_time, BigDecimal power_consumption_multiplier, CompoundTag data) {
|
||||
|
@ -1,5 +1,11 @@
|
||||
package ru.dbotthepony.mc.otm.block.entity.worker;
|
||||
|
||||
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
|
||||
@MethodsReturnNonnullByDefault
|
||||
@ParametersAreNonnullByDefault
|
||||
public record MachineJobStatus(boolean valid, int throttle) {
|
||||
public MachineJobStatus() {
|
||||
this(true, 0);
|
||||
|
@ -1,7 +1,12 @@
|
||||
package ru.dbotthepony.mc.otm.block.entity.worker;
|
||||
|
||||
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
@MethodsReturnNonnullByDefault
|
||||
@ParametersAreNonnullByDefault
|
||||
public record WorkTickContext(MachineJob job, BigDecimal required_power, BigDecimal extracted_power,
|
||||
BigDecimal work_speed) {
|
||||
|
||||
|
@ -1,10 +1,14 @@
|
||||
package ru.dbotthepony.mc.otm.block.entity.worker;
|
||||
|
||||
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||
import net.minecraft.util.StringRepresentable;
|
||||
import net.minecraft.world.level.block.state.properties.EnumProperty;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
|
||||
@MethodsReturnNonnullByDefault
|
||||
@ParametersAreNonnullByDefault
|
||||
public enum WorkerState implements StringRepresentable {
|
||||
IDLE,
|
||||
WORKING,
|
||||
|
@ -1,74 +1,64 @@
|
||||
package ru.dbotthepony.mc.otm.capability;
|
||||
|
||||
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||
import net.minecraftforge.energy.IEnergyStorage;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
// IEnergyStorage for direct compat with Forge Energy
|
||||
@MethodsReturnNonnullByDefault
|
||||
@ParametersAreNonnullByDefault
|
||||
public interface IMatteryEnergyStorage extends IEnergyStorage {
|
||||
// such as cables. This is something that would work only with energy storage
|
||||
@Nonnull
|
||||
BigDecimal extractEnergyOuter(BigDecimal howMuch, boolean simulate);
|
||||
|
||||
// for internal needs, e.g. for work
|
||||
// CAN also be used by something that does evil
|
||||
// e.g. sucking out energy anomaly should use this
|
||||
@Nonnull
|
||||
BigDecimal extractEnergyInner(BigDecimal howMuch, boolean simulate);
|
||||
|
||||
// energy is received from outside, e.g. cables
|
||||
@Nonnull
|
||||
BigDecimal receiveEnergyOuter(BigDecimal howMuch, boolean simulate);
|
||||
|
||||
// energy is received from inside, e.g. generator generates power
|
||||
@Nonnull
|
||||
BigDecimal receiveEnergyInner(BigDecimal howMuch, boolean simulate);
|
||||
|
||||
@Nonnull
|
||||
default BigDecimal extractEnergyOuter(long howMuch, boolean simulate) {
|
||||
return extractEnergyOuter(new BigDecimal(howMuch, MatteryCapability.ROUND_RULES), simulate);
|
||||
}
|
||||
|
||||
@Nonnull
|
||||
default BigDecimal extractEnergyOuter(int howMuch, boolean simulate) {
|
||||
return extractEnergyOuter(new BigDecimal(howMuch, MatteryCapability.ROUND_RULES), simulate);
|
||||
}
|
||||
|
||||
@Nonnull
|
||||
default BigDecimal receiveEnergyOuter(long howMuch, boolean simulate) {
|
||||
return receiveEnergyOuter(new BigDecimal(howMuch, MatteryCapability.ROUND_RULES), simulate);
|
||||
}
|
||||
|
||||
@Nonnull
|
||||
default BigDecimal receiveEnergyOuter(int howMuch, boolean simulate) {
|
||||
return receiveEnergyOuter(new BigDecimal(howMuch, MatteryCapability.ROUND_RULES), simulate);
|
||||
}
|
||||
|
||||
@Nonnull
|
||||
default BigDecimal extractEnergyInner(long howMuch, boolean simulate) {
|
||||
return receiveEnergyOuter(new BigDecimal(howMuch, MatteryCapability.ROUND_RULES), simulate);
|
||||
}
|
||||
|
||||
@Nonnull
|
||||
default BigDecimal extractEnergyInner(int howMuch, boolean simulate) {
|
||||
return receiveEnergyOuter(new BigDecimal(howMuch, MatteryCapability.ROUND_RULES), simulate);
|
||||
}
|
||||
|
||||
@Nonnull
|
||||
default BigDecimal receiveEnergyInner(long howMuch, boolean simulate) {
|
||||
return receiveEnergyOuter(new BigDecimal(howMuch, MatteryCapability.ROUND_RULES), simulate);
|
||||
}
|
||||
|
||||
@Nonnull
|
||||
default BigDecimal receiveEnergyInner(int howMuch, boolean simulate) {
|
||||
return receiveEnergyOuter(new BigDecimal(howMuch, MatteryCapability.ROUND_RULES), simulate);
|
||||
}
|
||||
|
||||
@Nonnull
|
||||
BigDecimal getBatteryLevel();
|
||||
|
||||
@Nonnull
|
||||
BigDecimal getMaxBatteryLevel();
|
||||
|
||||
default BigDecimal getMissingPower() {
|
||||
|
@ -1,12 +1,16 @@
|
||||
package ru.dbotthepony.mc.otm.capability;
|
||||
|
||||
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
import net.minecraft.world.level.block.entity.BlockEntity;
|
||||
import net.minecraftforge.common.util.INBTSerializable;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
@MethodsReturnNonnullByDefault
|
||||
@ParametersAreNonnullByDefault
|
||||
public class MatteryMachineEnergyStorage implements IMatteryEnergyStorage, INBTSerializable<CompoundTag> {
|
||||
public enum MachineType {
|
||||
WORKER,
|
||||
|
@ -1,5 +1,6 @@
|
||||
package ru.dbotthepony.mc.otm.capability.android;
|
||||
|
||||
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
import net.minecraft.nbt.ListTag;
|
||||
@ -34,9 +35,12 @@ import ru.dbotthepony.mc.otm.network.android.AndroidFeaturePacket;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.*;
|
||||
|
||||
@MethodsReturnNonnullByDefault
|
||||
@ParametersAreNonnullByDefault
|
||||
public class AndroidCapability implements ICapabilityProvider, IAndroidCapability, INBTSerializable<CompoundTag> {
|
||||
protected final LivingEntity ent;
|
||||
protected BigDecimal energy_stored = new BigDecimal(0);
|
||||
@ -54,7 +58,7 @@ public class AndroidCapability implements ICapabilityProvider, IAndroidCapabilit
|
||||
|
||||
protected boolean network_first = false;
|
||||
|
||||
protected boolean addFeature(@Nonnull AndroidFeature feature) {
|
||||
protected boolean addFeature(AndroidFeature feature) {
|
||||
if (features.containsKey(feature.type))
|
||||
return false;
|
||||
|
||||
@ -72,6 +76,7 @@ public class AndroidCapability implements ICapabilityProvider, IAndroidCapabilit
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("unchecked")
|
||||
public <T extends AndroidFeature> T addFeature(@Nonnull AndroidFeatureType<T> feature) {
|
||||
var get = features.get(feature);
|
||||
|
||||
@ -128,6 +133,7 @@ public class AndroidCapability implements ICapabilityProvider, IAndroidCapabilit
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@SuppressWarnings("unchecked")
|
||||
public <T extends AndroidFeature> T getFeature(AndroidFeatureType<T> feature) {
|
||||
return (T) features.get(feature);
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
package ru.dbotthepony.mc.otm.capability.android;
|
||||
|
||||
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
import net.minecraft.nbt.ListTag;
|
||||
import net.minecraft.nbt.Tag;
|
||||
@ -18,10 +19,13 @@ import ru.dbotthepony.mc.otm.network.android.AndroidResearchPacket;
|
||||
import ru.dbotthepony.mc.otm.network.android.AndroidStatusPacket;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Objects;
|
||||
|
||||
@MethodsReturnNonnullByDefault
|
||||
@ParametersAreNonnullByDefault
|
||||
public class AndroidCapabilityPlayer extends AndroidCapability {
|
||||
public boolean is_android = false;
|
||||
private boolean network_is_android = false;
|
||||
@ -112,6 +116,7 @@ public class AndroidCapabilityPlayer extends AndroidCapability {
|
||||
return tag;
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public <T extends AndroidResearch> T getResearch(AndroidResearchType<T> type) {
|
||||
for (var instance : research_list) {
|
||||
if (instance.type == type) {
|
||||
|
@ -1,5 +1,6 @@
|
||||
package ru.dbotthepony.mc.otm.capability.android;
|
||||
|
||||
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
import net.minecraft.world.entity.LivingEntity;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
@ -11,21 +12,24 @@ import ru.dbotthepony.mc.otm.capability.IMatteryEnergyStorage;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Optional;
|
||||
|
||||
@MethodsReturnNonnullByDefault
|
||||
@ParametersAreNonnullByDefault
|
||||
public interface IAndroidCapability extends IMatteryEnergyStorage, INBTSerializable<CompoundTag> {
|
||||
void tick();
|
||||
void tickClient();
|
||||
LivingEntity getEntity();
|
||||
|
||||
<T extends AndroidFeature> T addFeature(@Nonnull AndroidFeatureType<T> feature);
|
||||
boolean removeFeature(@Nonnull AndroidFeatureType<?> feature);
|
||||
<T extends AndroidFeature> T addFeature(AndroidFeatureType<T> feature);
|
||||
boolean removeFeature(AndroidFeatureType<?> feature);
|
||||
boolean hasFeature(@Nullable AndroidFeatureType<?> feature);
|
||||
boolean hasFeatureLevel(@Nullable AndroidFeatureType<?> feature, int level);
|
||||
@Nullable
|
||||
<T extends AndroidFeature> T getFeature(AndroidFeatureType<T> feature);
|
||||
|
||||
@Nonnull
|
||||
default <T extends AndroidFeature> Optional<T> getFeatureO(AndroidFeatureType<T> feature) {
|
||||
var get = getFeature(feature);
|
||||
return get != null ? Optional.of(get) : Optional.empty();
|
||||
@ -36,9 +40,8 @@ public interface IAndroidCapability extends IMatteryEnergyStorage, INBTSerializa
|
||||
}
|
||||
default void onHurt(LivingHurtEvent event) {}
|
||||
|
||||
@Nonnull
|
||||
ItemStack getBatteryItemStack();
|
||||
void setBatteryItemStack(@Nonnull ItemStack stack);
|
||||
void setBatteryItemStack(ItemStack stack);
|
||||
|
||||
void invalidateNetworkState(); // tell capability that player forgot everything, and everything needs to be re-networked
|
||||
|
||||
|
@ -1,6 +1,7 @@
|
||||
package ru.dbotthepony.mc.otm.capability.drive;
|
||||
|
||||
import net.minecraft.CrashReport;
|
||||
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||
import net.minecraft.ReportedException;
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
import net.minecraft.nbt.NbtIo;
|
||||
@ -14,6 +15,7 @@ import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
@ -38,15 +40,17 @@ import java.util.function.Supplier;
|
||||
* 3. net.minecraft.world.level.saveddata.SaveData is for storing everything inside one dat file, which
|
||||
* is performance tanking, because we have to write *entire* NBT on each save, not the data of Drive which got changed
|
||||
*/
|
||||
@MethodsReturnNonnullByDefault
|
||||
@ParametersAreNonnullByDefault
|
||||
public class DrivePool {
|
||||
private static final Logger LOGGER = LogManager.getLogger();
|
||||
|
||||
public static class Entry {
|
||||
public final UUID id;
|
||||
public final IMatteryDrive drive;
|
||||
public final IMatteryDrive<?> drive;
|
||||
public long last_access = System.currentTimeMillis();
|
||||
|
||||
Entry(UUID id, IMatteryDrive drive) {
|
||||
Entry(UUID id, IMatteryDrive<?> drive) {
|
||||
this.id = id;
|
||||
this.drive = drive;
|
||||
}
|
||||
@ -63,7 +67,7 @@ public class DrivePool {
|
||||
return tag;
|
||||
}
|
||||
|
||||
public IMatteryDrive access() {
|
||||
public IMatteryDrive<?> access() {
|
||||
last_access = System.currentTimeMillis();
|
||||
return drive;
|
||||
}
|
||||
@ -75,7 +79,7 @@ public class DrivePool {
|
||||
private static ReportedException exception;
|
||||
public static final String DATA_PATH = "data/otm_drives";
|
||||
|
||||
public static <T extends IMatteryDrive> T get(UUID id, Function<CompoundTag, T> factory_stored, Supplier<T> factory_empty) {
|
||||
public static <T extends IMatteryDrive<?>> T get(UUID id, Function<CompoundTag, T> factory_stored, Supplier<T> factory_empty) {
|
||||
var get = pool.get(id);
|
||||
|
||||
if (get != null) {
|
||||
@ -103,14 +107,14 @@ public class DrivePool {
|
||||
return factorize;
|
||||
}
|
||||
|
||||
public static void put(UUID id, IMatteryDrive drive) {
|
||||
public static void put(UUID id, IMatteryDrive<?> drive) {
|
||||
pool.put(id, new Entry(id, drive));
|
||||
}
|
||||
|
||||
private record BacklogLine(UUID file, CompoundTag tag, IMatteryDrive drive) {
|
||||
private record BacklogLine(UUID file, CompoundTag tag, IMatteryDrive<?> drive) {
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
return obj instanceof BacklogLine line && line.file.equals(file);
|
||||
return obj instanceof BacklogLine line && line.file.equals(file) || obj instanceof UUID uuid && uuid.equals(file);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,12 +1,16 @@
|
||||
package ru.dbotthepony.mc.otm.capability.drive;
|
||||
|
||||
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||
import net.minecraft.world.item.Item;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import ru.dbotthepony.mc.otm.storage.IStorageTuple;
|
||||
import ru.dbotthepony.mc.otm.storage.ItemStackWrapper;
|
||||
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
import java.util.List;
|
||||
|
||||
@MethodsReturnNonnullByDefault
|
||||
@ParametersAreNonnullByDefault
|
||||
public interface IItemMatteryDrive extends IMatteryDrive<ItemStackWrapper> {
|
||||
/**
|
||||
* @param item
|
||||
|
@ -1,9 +1,13 @@
|
||||
package ru.dbotthepony.mc.otm.capability.drive;
|
||||
|
||||
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
import java.util.UUID;
|
||||
|
||||
@MethodsReturnNonnullByDefault
|
||||
@ParametersAreNonnullByDefault
|
||||
public interface IItemViewListener {
|
||||
void addViewItem(ItemStack stack, UUID id_upstream);
|
||||
void changeViewItem(UUID id_upstream, int new_count);
|
||||
|
@ -1,5 +1,6 @@
|
||||
package ru.dbotthepony.mc.otm.capability.matter;
|
||||
|
||||
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.core.SectionPos;
|
||||
@ -9,7 +10,10 @@ import net.minecraft.world.level.chunk.LevelChunk;
|
||||
import ru.dbotthepony.mc.otm.matter.MatterGrid;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
|
||||
@MethodsReturnNonnullByDefault
|
||||
@ParametersAreNonnullByDefault
|
||||
public interface IMatterGridCell extends IMatterGridListener {
|
||||
@Nullable
|
||||
MatterGrid getMatterGrid();
|
||||
|
@ -1,5 +1,11 @@
|
||||
package ru.dbotthepony.mc.otm.capability.matter;
|
||||
|
||||
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
|
||||
@MethodsReturnNonnullByDefault
|
||||
@ParametersAreNonnullByDefault
|
||||
public interface IMatterGridListener {
|
||||
default void onPatternAdded(PatternState state) { }
|
||||
default void onPatternRemoved(PatternState state) { }
|
||||
|
@ -1,8 +1,13 @@
|
||||
package ru.dbotthepony.mc.otm.capability.matter;
|
||||
|
||||
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
@MethodsReturnNonnullByDefault
|
||||
@ParametersAreNonnullByDefault
|
||||
public interface IMatterHandler {
|
||||
enum MatterDirection {
|
||||
RECEIVE, // consumer
|
||||
@ -10,25 +15,17 @@ public interface IMatterHandler {
|
||||
BIDIRECTIONAL // storage
|
||||
}
|
||||
|
||||
@Nonnull
|
||||
BigDecimal getStoredMatter();
|
||||
@Nonnull
|
||||
BigDecimal getMaxStoredMatter();
|
||||
|
||||
@Nonnull
|
||||
BigDecimal receiveMatterOuter(BigDecimal howMuch, boolean simulate);
|
||||
@Nonnull
|
||||
BigDecimal receiveMatterInner(BigDecimal howMuch, boolean simulate);
|
||||
|
||||
@Nonnull
|
||||
BigDecimal extractMatterOuter(BigDecimal howMuch, boolean simulate);
|
||||
@Nonnull
|
||||
BigDecimal extractMatterInner(BigDecimal howMuch, boolean simulate);
|
||||
|
||||
@Nonnull
|
||||
MatterDirection getDirection();
|
||||
|
||||
@Nonnull
|
||||
default BigDecimal getMissingMatter() {
|
||||
return getMaxStoredMatter().subtract(getStoredMatter());
|
||||
}
|
||||
|
@ -1,21 +1,24 @@
|
||||
package ru.dbotthepony.mc.otm.capability.matter;
|
||||
|
||||
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
import java.util.Collection;
|
||||
import java.util.UUID;
|
||||
|
||||
@MethodsReturnNonnullByDefault
|
||||
@ParametersAreNonnullByDefault
|
||||
public interface IMatterTaskProvider {
|
||||
/**
|
||||
* @return immutable collection of tasks that can be allocated by a worker
|
||||
*/
|
||||
@Nonnull
|
||||
Collection<MatterTask> getTasks();
|
||||
|
||||
/**
|
||||
* @return immutable collection of all stored tasks, even fully allocated by workers
|
||||
*/
|
||||
@Nonnull
|
||||
Collection<MatterTask> getAllTasks();
|
||||
|
||||
/**
|
||||
|
@ -1,30 +1,30 @@
|
||||
package ru.dbotthepony.mc.otm.capability.matter;
|
||||
|
||||
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||
import net.minecraft.world.item.Item;
|
||||
import ru.dbotthepony.mc.otm.capability.matter.PatternInsertStatus;
|
||||
import ru.dbotthepony.mc.otm.capability.matter.PatternState;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
import java.util.Collection;
|
||||
import java.util.UUID;
|
||||
import java.util.function.Predicate;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@MethodsReturnNonnullByDefault
|
||||
@ParametersAreNonnullByDefault
|
||||
public interface IPatternStorage {
|
||||
|
||||
/**
|
||||
* @return unmodifiable collection of stored patterns
|
||||
*/
|
||||
@Nonnull
|
||||
Collection<PatternState> getStoredPatterns();
|
||||
|
||||
@Nonnull
|
||||
default Collection<PatternState> findPatterns(Item item) {
|
||||
return findPatterns((item2) -> item.equals(item2.item()));
|
||||
}
|
||||
|
||||
@Nonnull
|
||||
default Collection<PatternState> findPatterns(Predicate<PatternState> predicate) {
|
||||
return getStoredPatterns().stream().filter(predicate).collect(Collectors.toList());
|
||||
}
|
||||
@ -59,7 +59,7 @@ public interface IPatternStorage {
|
||||
return null;
|
||||
}
|
||||
|
||||
default boolean hasPattern(@Nonnull PatternState state) {
|
||||
default boolean hasPattern(PatternState state) {
|
||||
return getPattern(state.id()) != null;
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
package ru.dbotthepony.mc.otm.capability.matter;
|
||||
|
||||
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
import net.minecraftforge.common.util.INBTSerializable;
|
||||
import ru.dbotthepony.mc.otm.capability.matter.IMatterHandler;
|
||||
@ -7,8 +8,11 @@ import ru.dbotthepony.mc.otm.matter.MatterRegistry;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
@MethodsReturnNonnullByDefault
|
||||
@ParametersAreNonnullByDefault
|
||||
public class MatterHandlerCapability implements IMatterHandler, INBTSerializable<CompoundTag> {
|
||||
protected final Runnable listener;
|
||||
protected BigDecimal stored = BigDecimal.ZERO;
|
||||
|
@ -1,5 +1,6 @@
|
||||
package ru.dbotthepony.mc.otm.capability.matter;
|
||||
|
||||
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
import net.minecraft.nbt.Tag;
|
||||
import net.minecraft.network.FriendlyByteBuf;
|
||||
@ -12,11 +13,14 @@ import net.minecraftforge.registries.RegistryManager;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
import java.util.Objects;
|
||||
import java.util.UUID;
|
||||
|
||||
public record MatterTask(@Nonnull UUID id, @Nullable UUID pattern, @Nonnull Item item, int in_progress, int finished, int required) {
|
||||
public MatterTask(@Nonnull UUID id, @Nullable UUID pattern, @Nonnull Item item, int in_progress, int finished, int required) {
|
||||
@MethodsReturnNonnullByDefault
|
||||
@ParametersAreNonnullByDefault
|
||||
public record MatterTask(UUID id, @Nullable UUID pattern, Item item, int in_progress, int finished, int required) {
|
||||
public MatterTask(UUID id, @Nullable UUID pattern, Item item, int in_progress, int finished, int required) {
|
||||
this.id = id;
|
||||
this.pattern = pattern;
|
||||
this.item = item;
|
||||
|
@ -1,7 +1,10 @@
|
||||
package ru.dbotthepony.mc.otm.capability.matter;
|
||||
|
||||
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
|
||||
/**
|
||||
* status: FAIL, UPDATED or INSERTED
|
||||
|
@ -10,7 +10,7 @@ import java.util.Optional;
|
||||
* Interface implements all methods required for storage system functioning and interaction
|
||||
* with your kind of items/objects/whatever.
|
||||
*
|
||||
* You can either implement this interface directly (hard dependency, discouraged, unless you do direct addon to this storage system)
|
||||
* You can either implement this interface directly (hard dependency, discouraged, unless you do an addon to this storage system)
|
||||
* or create a record class (preferred), which encapsulate your storage object.
|
||||
*/
|
||||
@MethodsReturnNonnullByDefault
|
||||
|
Loading…
Reference in New Issue
Block a user