Actually rename everything back to match minecraft style

because most of other stuff is named this way
anyway
This commit is contained in:
DBotThePony 2022-02-23 11:11:14 +07:00
parent dd6d30e011
commit cdb72a610b
Signed by: DBot
GPG Key ID: DCC23B5715498507
107 changed files with 519 additions and 549 deletions

View File

@ -17,10 +17,10 @@ import ru.dbotthepony.mc.otm.OverdriveThatMatters
import ru.dbotthepony.mc.otm.registry.Registry import ru.dbotthepony.mc.otm.registry.Registry
import ru.dbotthepony.mc.otm.registry.MBlocks import ru.dbotthepony.mc.otm.registry.MBlocks
import ru.dbotthepony.mc.otm.registry.MItems import ru.dbotthepony.mc.otm.registry.MItems
import ru.dbotthepony.mc.otm.block.BlockDriveViewer import ru.dbotthepony.mc.otm.block.DriveViewerBlock
import ru.dbotthepony.mc.otm.block.BlockEnergyCounter import ru.dbotthepony.mc.otm.block.EnergyCounterBlock
import ru.dbotthepony.mc.otm.block.BlockMatteryRotatable import ru.dbotthepony.mc.otm.block.BlockMatteryRotatable
import ru.dbotthepony.mc.otm.block.BlockPatternStorage import ru.dbotthepony.mc.otm.block.PatternStorageBlock
import ru.dbotthepony.mc.otm.block.entity.worker.WorkerState import ru.dbotthepony.mc.otm.block.entity.worker.WorkerState
import ru.dbotthepony.mc.otm.datagen.blocks.BatteryBankProvider import ru.dbotthepony.mc.otm.datagen.blocks.BatteryBankProvider
import ru.dbotthepony.mc.otm.datagen.blocks.MatterBankProvider import ru.dbotthepony.mc.otm.datagen.blocks.MatterBankProvider
@ -248,7 +248,7 @@ object DataGen {
.rotationY(facing.toYRotBlockstate()) .rotationY(facing.toYRotBlockstate())
.addModel() .addModel()
.condition(BlockMatteryRotatable.FACING, facing) .condition(BlockMatteryRotatable.FACING, facing)
.condition(BlockDriveViewer.DRIVE_PRESENT, true) .condition(DriveViewerBlock.DRIVE_PRESENT, true)
for (workState in WorkerState.SEMI_WORKER_STATE.possibleValues) { for (workState in WorkerState.SEMI_WORKER_STATE.possibleValues) {
part() part()
@ -269,7 +269,7 @@ object DataGen {
.rotationY(facing.toYRotBlockstate()) .rotationY(facing.toYRotBlockstate())
.addModel() .addModel()
.condition(BlockMatteryRotatable.FACING, facing) .condition(BlockMatteryRotatable.FACING, facing)
.condition(BlockPatternStorage.PATTERN_STORAGE_DISKS_PROPS[i], true) .condition(PatternStorageBlock.PATTERN_STORAGE_DISKS_PROPS[i], true)
} }
part() part()
@ -298,28 +298,28 @@ object DataGen {
val south_west = provider.models().getExistingFile(ResourceLocation(MOD_ID, "block/energy_counter_south_west")) val south_west = provider.models().getExistingFile(ResourceLocation(MOD_ID, "block/energy_counter_south_west"))
for (dir in arrayOf(Direction.EAST, Direction.WEST, Direction.SOUTH, Direction.NORTH)) { for (dir in arrayOf(Direction.EAST, Direction.WEST, Direction.SOUTH, Direction.NORTH)) {
part().modelFile(down).rotationY(dir.toYRotBlockstate()).addModel().condition(BlockEnergyCounter.INPUT_DIRECTION, Direction.UP).condition(BlockEnergyCounter.IF_DIRECTION, dir) part().modelFile(down).rotationY(dir.toYRotBlockstate()).addModel().condition(EnergyCounterBlock.INPUT_DIRECTION, Direction.UP).condition(EnergyCounterBlock.IF_DIRECTION, dir)
part().modelFile(up).rotationY(dir.toYRotBlockstate()).addModel().condition(BlockEnergyCounter.INPUT_DIRECTION, Direction.DOWN).condition(BlockEnergyCounter.IF_DIRECTION, dir) part().modelFile(up).rotationY(dir.toYRotBlockstate()).addModel().condition(EnergyCounterBlock.INPUT_DIRECTION, Direction.DOWN).condition(EnergyCounterBlock.IF_DIRECTION, dir)
} }
// низкий поклон за полностью рабочий поворот вокруг оси Z // низкий поклон за полностью рабочий поворот вокруг оси Z
part().modelFile(north).addModel().condition(BlockEnergyCounter.INPUT_DIRECTION, Direction.NORTH).condition(BlockEnergyCounter.IF_DIRECTION, Direction.UP) part().modelFile(north).addModel().condition(EnergyCounterBlock.INPUT_DIRECTION, Direction.NORTH).condition(EnergyCounterBlock.IF_DIRECTION, Direction.UP)
part().modelFile(north_down).addModel().condition(BlockEnergyCounter.INPUT_DIRECTION, Direction.NORTH).condition(BlockEnergyCounter.IF_DIRECTION, Direction.DOWN) part().modelFile(north_down).addModel().condition(EnergyCounterBlock.INPUT_DIRECTION, Direction.NORTH).condition(EnergyCounterBlock.IF_DIRECTION, Direction.DOWN)
part().modelFile(north_east).addModel().condition(BlockEnergyCounter.INPUT_DIRECTION, Direction.NORTH).condition(BlockEnergyCounter.IF_DIRECTION, Direction.EAST) part().modelFile(north_east).addModel().condition(EnergyCounterBlock.INPUT_DIRECTION, Direction.NORTH).condition(EnergyCounterBlock.IF_DIRECTION, Direction.EAST)
part().modelFile(north_west).addModel().condition(BlockEnergyCounter.INPUT_DIRECTION, Direction.NORTH).condition(BlockEnergyCounter.IF_DIRECTION, Direction.WEST) part().modelFile(north_west).addModel().condition(EnergyCounterBlock.INPUT_DIRECTION, Direction.NORTH).condition(EnergyCounterBlock.IF_DIRECTION, Direction.WEST)
part().modelFile(south).addModel().condition(BlockEnergyCounter.INPUT_DIRECTION, Direction.SOUTH).condition(BlockEnergyCounter.IF_DIRECTION, Direction.UP) part().modelFile(south).addModel().condition(EnergyCounterBlock.INPUT_DIRECTION, Direction.SOUTH).condition(EnergyCounterBlock.IF_DIRECTION, Direction.UP)
part().modelFile(south_down).addModel().condition(BlockEnergyCounter.INPUT_DIRECTION, Direction.SOUTH).condition(BlockEnergyCounter.IF_DIRECTION, Direction.DOWN) part().modelFile(south_down).addModel().condition(EnergyCounterBlock.INPUT_DIRECTION, Direction.SOUTH).condition(EnergyCounterBlock.IF_DIRECTION, Direction.DOWN)
part().modelFile(south_east).addModel().condition(BlockEnergyCounter.INPUT_DIRECTION, Direction.SOUTH).condition(BlockEnergyCounter.IF_DIRECTION, Direction.EAST) part().modelFile(south_east).addModel().condition(EnergyCounterBlock.INPUT_DIRECTION, Direction.SOUTH).condition(EnergyCounterBlock.IF_DIRECTION, Direction.EAST)
part().modelFile(south_west).addModel().condition(BlockEnergyCounter.INPUT_DIRECTION, Direction.SOUTH).condition(BlockEnergyCounter.IF_DIRECTION, Direction.WEST) part().modelFile(south_west).addModel().condition(EnergyCounterBlock.INPUT_DIRECTION, Direction.SOUTH).condition(EnergyCounterBlock.IF_DIRECTION, Direction.WEST)
for (dir in arrayOf(Direction.WEST, Direction.EAST)) { for (dir in arrayOf(Direction.WEST, Direction.EAST)) {
val mdl = if (dir === Direction.WEST) west else east val mdl = if (dir === Direction.WEST) west else east
part().modelFile(mdl).addModel().condition(BlockEnergyCounter.INPUT_DIRECTION, dir).condition(BlockEnergyCounter.IF_DIRECTION, Direction.NORTH) part().modelFile(mdl).addModel().condition(EnergyCounterBlock.INPUT_DIRECTION, dir).condition(EnergyCounterBlock.IF_DIRECTION, Direction.NORTH)
part().modelFile(mdl).rotationX(-90).addModel().condition(BlockEnergyCounter.INPUT_DIRECTION, dir).condition(BlockEnergyCounter.IF_DIRECTION, Direction.UP) part().modelFile(mdl).rotationX(-90).addModel().condition(EnergyCounterBlock.INPUT_DIRECTION, dir).condition(EnergyCounterBlock.IF_DIRECTION, Direction.UP)
part().modelFile(mdl).rotationX(180).addModel().condition(BlockEnergyCounter.INPUT_DIRECTION, dir).condition(BlockEnergyCounter.IF_DIRECTION, Direction.SOUTH) part().modelFile(mdl).rotationX(180).addModel().condition(EnergyCounterBlock.INPUT_DIRECTION, dir).condition(EnergyCounterBlock.IF_DIRECTION, Direction.SOUTH)
part().modelFile(mdl).rotationX(90).addModel().condition(BlockEnergyCounter.INPUT_DIRECTION, dir).condition(BlockEnergyCounter.IF_DIRECTION, Direction.DOWN) part().modelFile(mdl).rotationX(90).addModel().condition(EnergyCounterBlock.INPUT_DIRECTION, dir).condition(EnergyCounterBlock.IF_DIRECTION, Direction.DOWN)
} }
} }
} }

View File

@ -4,7 +4,7 @@ import net.minecraft.resources.ResourceLocation
import net.minecraft.world.level.block.Block import net.minecraft.world.level.block.Block
import net.minecraftforge.client.model.generators.BlockStateProvider import net.minecraftforge.client.model.generators.BlockStateProvider
import net.minecraftforge.forge.event.lifecycle.GatherDataEvent import net.minecraftforge.forge.event.lifecycle.GatherDataEvent
import ru.dbotthepony.mc.otm.block.BlockBatteryBank import ru.dbotthepony.mc.otm.block.BatteryBankBlock
import ru.dbotthepony.mc.otm.block.BlockMatteryRotatable import ru.dbotthepony.mc.otm.block.BlockMatteryRotatable
import ru.dbotthepony.mc.otm.datagen.DataGen import ru.dbotthepony.mc.otm.datagen.DataGen
import ru.dbotthepony.mc.otm.datagen.toYRotBlockstate import ru.dbotthepony.mc.otm.datagen.toYRotBlockstate
@ -35,7 +35,7 @@ open class BatteryBankProvider(event: GatherDataEvent) : BlockStateProvider(even
models().getExistingFile(ResourceLocation("overdrive_that_matters:$batteryPath$i")) models().getExistingFile(ResourceLocation("overdrive_that_matters:$batteryPath$i"))
).rotationY(it.toYRotBlockstate()).addModel() ).rotationY(it.toYRotBlockstate()).addModel()
.condition(BlockMatteryRotatable.FACING, it) .condition(BlockMatteryRotatable.FACING, it)
.condition(BlockBatteryBank.BATTERY_SLOTS_PROPS[i], true) .condition(BatteryBankBlock.BATTERY_SLOTS_PROPS[i], true)
} }
} }
} }

View File

@ -3,14 +3,7 @@ package ru.dbotthepony.mc.otm;
import net.minecraft.MethodsReturnNonnullByDefault; import net.minecraft.MethodsReturnNonnullByDefault;
import net.minecraft.world.item.CreativeModeTab; import net.minecraft.world.item.CreativeModeTab;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.Level;
import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.TickEvent;
import net.minecraftforge.event.server.ServerAboutToStartEvent;
import net.minecraftforge.event.server.ServerStoppingEvent;
import net.minecraftforge.eventbus.api.EventPriority;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.LogicalSide;
import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent; import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent; import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
@ -27,7 +20,7 @@ import ru.dbotthepony.mc.otm.client.EventHandler;
import ru.dbotthepony.mc.otm.client.model.GravitationStabilizerModel; import ru.dbotthepony.mc.otm.client.model.GravitationStabilizerModel;
import ru.dbotthepony.mc.otm.client.model.TritaniumArmorModel; import ru.dbotthepony.mc.otm.client.model.TritaniumArmorModel;
import ru.dbotthepony.mc.otm.core.ImpreciseFraction; import ru.dbotthepony.mc.otm.core.ImpreciseFraction;
import ru.dbotthepony.mc.otm.item.ItemPortableCondensationDrive; import ru.dbotthepony.mc.otm.item.PortableCondensationDriveItem;
import ru.dbotthepony.mc.otm.matter.MatterDataKt; import ru.dbotthepony.mc.otm.matter.MatterDataKt;
import ru.dbotthepony.mc.otm.matter.MatterRegistryKt; import ru.dbotthepony.mc.otm.matter.MatterRegistryKt;
import ru.dbotthepony.mc.otm.network.MatteryNetworking; import ru.dbotthepony.mc.otm.network.MatteryNetworking;
@ -37,10 +30,6 @@ import ru.dbotthepony.mc.otm.storage.StorageObjectRegistry;
import ru.dbotthepony.mc.otm.storage.StorageObjectTuple; import ru.dbotthepony.mc.otm.storage.StorageObjectTuple;
import javax.annotation.ParametersAreNonnullByDefault; import javax.annotation.ParametersAreNonnullByDefault;
import java.util.ArrayList;
import java.util.WeakHashMap;
import java.util.function.Consumer;
import java.util.function.Supplier;
// The value here should match an entry in the META-INF/mods.toml file // The value here should match an entry in the META-INF/mods.toml file
@Mod(OverdriveThatMatters.MOD_ID) @Mod(OverdriveThatMatters.MOD_ID)
@ -90,7 +79,7 @@ public final class OverdriveThatMatters {
FMLJavaModLoadingContext.get().getModEventBus().register(MRecipes.class); FMLJavaModLoadingContext.get().getModEventBus().register(MRecipes.class);
MinecraftForge.EVENT_BUS.register(DrivePool.INSTANCE); MinecraftForge.EVENT_BUS.register(DrivePool.INSTANCE);
MinecraftForge.EVENT_BUS.register(ItemPortableCondensationDrive.Companion); MinecraftForge.EVENT_BUS.register(PortableCondensationDriveItem.Companion);
FMLJavaModLoadingContext.get().getModEventBus().addListener(AndroidCapability::registerEffects); FMLJavaModLoadingContext.get().getModEventBus().addListener(AndroidCapability::registerEffects);

View File

@ -3,9 +3,7 @@ package ru.dbotthepony.mc.otm.block;
import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableMap;
import net.minecraft.MethodsReturnNonnullByDefault; import net.minecraft.MethodsReturnNonnullByDefault;
import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;
import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.BlockGetter;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.EntityBlock; import net.minecraft.world.level.block.EntityBlock;
import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.entity.BlockEntity;
@ -19,7 +17,7 @@ import net.minecraft.world.phys.shapes.BooleanOp;
import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.CollisionContext;
import net.minecraft.world.phys.shapes.Shapes; import net.minecraft.world.phys.shapes.Shapes;
import net.minecraft.world.phys.shapes.VoxelShape; import net.minecraft.world.phys.shapes.VoxelShape;
import ru.dbotthepony.mc.otm.block.entity.BlockEntityMatterCable; import ru.dbotthepony.mc.otm.block.entity.MatterCableBlockEntity;
import javax.annotation.Nullable; import javax.annotation.Nullable;
import javax.annotation.ParametersAreNonnullByDefault; import javax.annotation.ParametersAreNonnullByDefault;
@ -31,7 +29,7 @@ public class BlockMatterCable extends Block implements EntityBlock {
@Nullable @Nullable
@Override @Override
public BlockEntity newBlockEntity(BlockPos blockPos, BlockState blockState) { public BlockEntity newBlockEntity(BlockPos blockPos, BlockState blockState) {
return new BlockEntityMatterCable(blockPos, blockState); return new MatterCableBlockEntity(blockPos, blockState);
} }
public static final BooleanProperty CONNECTION_SOUTH = BooleanProperty.create("connect_south"); public static final BooleanProperty CONNECTION_SOUTH = BooleanProperty.create("connect_south");

View File

@ -9,7 +9,7 @@ import net.minecraft.world.entity.player.Inventory;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
import ru.dbotthepony.mc.otm.capability.matter.MatterTask; import ru.dbotthepony.mc.otm.capability.matter.MatterTask;
import ru.dbotthepony.mc.otm.capability.matter.PatternState; import ru.dbotthepony.mc.otm.capability.matter.PatternState;
import ru.dbotthepony.mc.otm.menu.MenuMatterPanel; import ru.dbotthepony.mc.otm.menu.MatterPanelMenu;
import ru.dbotthepony.mc.otm.network.MatteryNetworking; import ru.dbotthepony.mc.otm.network.MatteryNetworking;
import ru.dbotthepony.mc.otm.network.PatternReplicationRequestPacket; import ru.dbotthepony.mc.otm.network.PatternReplicationRequestPacket;
import ru.dbotthepony.mc.otm.client.screen.panels.*; import ru.dbotthepony.mc.otm.client.screen.panels.*;
@ -19,11 +19,11 @@ import javax.annotation.Nullable;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
public class MatterPanelScreen extends MatteryScreen<MenuMatterPanel> { public class MatterPanelScreen extends MatteryScreen<MatterPanelMenu> {
private static final int MODAL_WIDTH = 213; private static final int MODAL_WIDTH = 213;
private static final int MODAL_HEIGHT = 110; private static final int MODAL_HEIGHT = 110;
public MatterPanelScreen(MenuMatterPanel p_97741_, Inventory p_97742_, Component p_97743_) { public MatterPanelScreen(MatterPanelMenu p_97741_, Inventory p_97742_, Component p_97743_) {
super(p_97741_, p_97742_, p_97743_); super(p_97741_, p_97742_, p_97743_);
imageWidth = 176; imageWidth = 176;

View File

@ -3,7 +3,7 @@ package ru.dbotthepony.mc.otm.network;
import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.FriendlyByteBuf;
import net.minecraftforge.network.NetworkEvent; import net.minecraftforge.network.NetworkEvent;
import ru.dbotthepony.mc.otm.capability.matter.MatterTask; import ru.dbotthepony.mc.otm.capability.matter.MatterTask;
import ru.dbotthepony.mc.otm.menu.MenuMatterPanel; import ru.dbotthepony.mc.otm.menu.MatterPanelMenu;
import java.util.UUID; import java.util.UUID;
import java.util.function.Supplier; import java.util.function.Supplier;
@ -28,7 +28,7 @@ public record CancelMatterTaskPacket(UUID id) {
context.get().enqueueWork(() -> { context.get().enqueueWork(() -> {
var player = context.get().getSender(); var player = context.get().getSender();
if (player.containerMenu instanceof MenuMatterPanel menu) { if (player.containerMenu instanceof MatterPanelMenu menu) {
menu.receiveTaskCancel(player, id); menu.receiveTaskCancel(player, id);
} }
}); });

View File

@ -7,7 +7,7 @@ import net.minecraftforge.fml.DistExecutor;
import net.minecraftforge.network.NetworkEvent; import net.minecraftforge.network.NetworkEvent;
import ru.dbotthepony.mc.otm.OverdriveThatMatters; import ru.dbotthepony.mc.otm.OverdriveThatMatters;
import ru.dbotthepony.mc.otm.capability.matter.MatterTask; import ru.dbotthepony.mc.otm.capability.matter.MatterTask;
import ru.dbotthepony.mc.otm.menu.MenuMatterPanel; import ru.dbotthepony.mc.otm.menu.MatterPanelMenu;
import javax.annotation.ParametersAreNonnullByDefault; import javax.annotation.ParametersAreNonnullByDefault;
import java.util.ArrayList; import java.util.ArrayList;
@ -31,7 +31,7 @@ public record MatterTaskPacket(boolean action, Collection<MatterTask> state) {
} }
private void playClient() { private void playClient() {
if (Minecraft.getInstance().player.containerMenu instanceof MenuMatterPanel menu) { if (Minecraft.getInstance().player.containerMenu instanceof MatterPanelMenu menu) {
if (action) if (action)
menu.networkTasksUpdated(state); menu.networkTasksUpdated(state);
else else

View File

@ -12,7 +12,7 @@ import ru.dbotthepony.mc.otm.matter.RegistryPacketClear;
import ru.dbotthepony.mc.otm.matter.RegistryPacketFullUpdate; import ru.dbotthepony.mc.otm.matter.RegistryPacketFullUpdate;
import ru.dbotthepony.mc.otm.matter.RegistryPacketRemove; import ru.dbotthepony.mc.otm.matter.RegistryPacketRemove;
import ru.dbotthepony.mc.otm.matter.RegistryPacketUpdate; import ru.dbotthepony.mc.otm.matter.RegistryPacketUpdate;
import ru.dbotthepony.mc.otm.menu.MenuDriveViewer; import ru.dbotthepony.mc.otm.menu.DriveViewerMenu;
import ru.dbotthepony.mc.otm.menu.data.*; import ru.dbotthepony.mc.otm.menu.data.*;
import ru.dbotthepony.mc.otm.menu.widget.BooleanPlayerInputPacket; import ru.dbotthepony.mc.otm.menu.widget.BooleanPlayerInputPacket;
import ru.dbotthepony.mc.otm.menu.widget.NumberPlayerInputPacket; import ru.dbotthepony.mc.otm.menu.widget.NumberPlayerInputPacket;
@ -232,19 +232,19 @@ public class MatteryNetworking {
CHANNEL.registerMessage( CHANNEL.registerMessage(
next_network_id++, next_network_id++,
MenuDriveViewer.FilterSwitchPacket.class, DriveViewerMenu.FilterSwitchPacket.class,
MenuDriveViewer.FilterSwitchPacket::write, DriveViewerMenu.FilterSwitchPacket::write,
MenuDriveViewer.FilterSwitchPacket::read, DriveViewerMenu.FilterSwitchPacket::read,
MenuDriveViewer.FilterSwitchPacket::play, DriveViewerMenu.FilterSwitchPacket::play,
Optional.of(NetworkDirection.PLAY_TO_SERVER) Optional.of(NetworkDirection.PLAY_TO_SERVER)
); );
CHANNEL.registerMessage( CHANNEL.registerMessage(
next_network_id++, next_network_id++,
MenuDriveViewer.FilterSetPacket.class, DriveViewerMenu.FilterSetPacket.class,
MenuDriveViewer.FilterSetPacket::write, DriveViewerMenu.FilterSetPacket::write,
MenuDriveViewer.FilterSetPacket::read, DriveViewerMenu.FilterSetPacket::read,
MenuDriveViewer.FilterSetPacket::play, DriveViewerMenu.FilterSetPacket::play,
Optional.of(NetworkDirection.PLAY_TO_SERVER) Optional.of(NetworkDirection.PLAY_TO_SERVER)
); );

View File

@ -7,7 +7,7 @@ import net.minecraftforge.fml.DistExecutor;
import net.minecraftforge.network.NetworkEvent; import net.minecraftforge.network.NetworkEvent;
import ru.dbotthepony.mc.otm.OverdriveThatMatters; import ru.dbotthepony.mc.otm.OverdriveThatMatters;
import ru.dbotthepony.mc.otm.capability.matter.PatternState; import ru.dbotthepony.mc.otm.capability.matter.PatternState;
import ru.dbotthepony.mc.otm.menu.MenuMatterPanel; import ru.dbotthepony.mc.otm.menu.MatterPanelMenu;
import javax.annotation.ParametersAreNonnullByDefault; import javax.annotation.ParametersAreNonnullByDefault;
import java.util.ArrayList; import java.util.ArrayList;
@ -31,7 +31,7 @@ public record PatternGridPacket(boolean action, Collection<PatternState> state)
} }
private void playClient() { private void playClient() {
if (Minecraft.getInstance().player.containerMenu instanceof MenuMatterPanel menu) { if (Minecraft.getInstance().player.containerMenu instanceof MatterPanelMenu menu) {
if (action) if (action)
menu.networkPatternsUpdated(state); menu.networkPatternsUpdated(state);
else else

View File

@ -3,7 +3,7 @@ package ru.dbotthepony.mc.otm.network;
import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.FriendlyByteBuf;
import net.minecraftforge.network.NetworkEvent; import net.minecraftforge.network.NetworkEvent;
import ru.dbotthepony.mc.otm.capability.matter.PatternState; import ru.dbotthepony.mc.otm.capability.matter.PatternState;
import ru.dbotthepony.mc.otm.menu.MenuMatterPanel; import ru.dbotthepony.mc.otm.menu.MatterPanelMenu;
import java.util.function.Supplier; import java.util.function.Supplier;
@ -27,7 +27,7 @@ public record PatternReplicationRequestPacket(PatternState state, int how_much)
var ply = context.get().getSender(); var ply = context.get().getSender();
if (ply.containerMenu instanceof MenuMatterPanel menu) if (ply.containerMenu instanceof MatterPanelMenu menu)
menu.requestReplication(ply, state, how_much); menu.requestReplication(ply, state, how_much);
}); });
} }

View File

@ -6,7 +6,7 @@ import net.minecraftforge.event.RegistryEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent; import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
import ru.dbotthepony.mc.otm.block.entity.*; import ru.dbotthepony.mc.otm.block.entity.*;
import ru.dbotthepony.mc.otm.block.entity.blackhole.BlockEntityBlackHole; import ru.dbotthepony.mc.otm.block.entity.blackhole.BlackHoleBlockEntity;
import ru.dbotthepony.mc.otm.block.entity.blackhole.BlockEntityExplosionDebugger; import ru.dbotthepony.mc.otm.block.entity.blackhole.BlockEntityExplosionDebugger;
import ru.dbotthepony.mc.otm.block.entity.blackhole.BlockEntitySphereDebugger; import ru.dbotthepony.mc.otm.block.entity.blackhole.BlockEntitySphereDebugger;
import ru.dbotthepony.mc.otm.client.render.BlackHoleRenderer; import ru.dbotthepony.mc.otm.client.render.BlackHoleRenderer;
@ -14,26 +14,26 @@ import ru.dbotthepony.mc.otm.client.render.EnergyCounterRenderer;
import ru.dbotthepony.mc.otm.client.render.GravitationStabilizerRenderer; import ru.dbotthepony.mc.otm.client.render.GravitationStabilizerRenderer;
public class MBlockEntities { public class MBlockEntities {
public static final BlockEntityType<BlockEntityAndroidStation> ANDROID_STATION = BlockEntityType.Builder.of(BlockEntityAndroidStation::new, MBlocks.ANDROID_STATION).build(null); public static final BlockEntityType<AndroidStationBlockEntity> ANDROID_STATION = BlockEntityType.Builder.of(AndroidStationBlockEntity::new, MBlocks.ANDROID_STATION).build(null);
public static final BlockEntityType<BlockEntityBatteryBank> BATTERY_BANK = BlockEntityType.Builder.of(BlockEntityBatteryBank::new, MBlocks.BATTERY_BANK).build(null); public static final BlockEntityType<BatteryBankBlockEntity> BATTERY_BANK = BlockEntityType.Builder.of(BatteryBankBlockEntity::new, MBlocks.BATTERY_BANK).build(null);
public static final BlockEntityType<BlockEntityMatterDecomposer> MATTER_DECOMPOSER = BlockEntityType.Builder.of(BlockEntityMatterDecomposer::new, MBlocks.MATTER_DECOMPOSER).build(null); public static final BlockEntityType<MatterDecomposerBlockEntity> MATTER_DECOMPOSER = BlockEntityType.Builder.of(MatterDecomposerBlockEntity::new, MBlocks.MATTER_DECOMPOSER).build(null);
public static final BlockEntityType<BlockEntityMatterCapacitorBank> MATTER_CAPACITOR_BANK = BlockEntityType.Builder.of(BlockEntityMatterCapacitorBank::new, MBlocks.MATTER_CAPACITOR_BANK).build(null); public static final BlockEntityType<MatterCapacitorBankBlockEntity> MATTER_CAPACITOR_BANK = BlockEntityType.Builder.of(MatterCapacitorBankBlockEntity::new, MBlocks.MATTER_CAPACITOR_BANK).build(null);
public static final BlockEntityType<BlockEntityMatterCable> MATTER_CABLE = BlockEntityType.Builder.of(BlockEntityMatterCable::new, MBlocks.MATTER_CABLE).build(null); public static final BlockEntityType<MatterCableBlockEntity> MATTER_CABLE = BlockEntityType.Builder.of(MatterCableBlockEntity::new, MBlocks.MATTER_CABLE).build(null);
public static final BlockEntityType<BlockEntityPatternStorage> PATTERN_STORAGE = BlockEntityType.Builder.of(BlockEntityPatternStorage::new, MBlocks.PATTERN_STORAGE).build(null); public static final BlockEntityType<PatternStorageBlockEntity> PATTERN_STORAGE = BlockEntityType.Builder.of(PatternStorageBlockEntity::new, MBlocks.PATTERN_STORAGE).build(null);
public static final BlockEntityType<BlockEntityMatterScanner> MATTER_SCANNER = BlockEntityType.Builder.of(BlockEntityMatterScanner::new, MBlocks.MATTER_SCANNER).build(null); public static final BlockEntityType<MatterScannerBlockEntity> MATTER_SCANNER = BlockEntityType.Builder.of(MatterScannerBlockEntity::new, MBlocks.MATTER_SCANNER).build(null);
public static final BlockEntityType<BlockEntityMatterPanel> MATTER_PANEL = BlockEntityType.Builder.of(BlockEntityMatterPanel::new, MBlocks.MATTER_PANEL).build(null); public static final BlockEntityType<MatterPanelBlockEntity> MATTER_PANEL = BlockEntityType.Builder.of(MatterPanelBlockEntity::new, MBlocks.MATTER_PANEL).build(null);
public static final BlockEntityType<BlockEntityMatterReplicator> MATTER_REPLICATOR = BlockEntityType.Builder.of(BlockEntityMatterReplicator::new, MBlocks.MATTER_REPLICATOR).build(null); public static final BlockEntityType<MatterReplicatorBlockEntity> MATTER_REPLICATOR = BlockEntityType.Builder.of(MatterReplicatorBlockEntity::new, MBlocks.MATTER_REPLICATOR).build(null);
public static final BlockEntityType<BlockEntityMatterBottler> MATTER_BOTTLER = BlockEntityType.Builder.of(BlockEntityMatterBottler::new, MBlocks.MATTER_BOTTLER).build(null); public static final BlockEntityType<MatterBottlerBlockEntity> MATTER_BOTTLER = BlockEntityType.Builder.of(MatterBottlerBlockEntity::new, MBlocks.MATTER_BOTTLER).build(null);
public static final BlockEntityType<BlockEntityDriveViewer> DRIVE_VIEWER = BlockEntityType.Builder.of(BlockEntityDriveViewer::new, MBlocks.DRIVE_VIEWER).build(null); public static final BlockEntityType<DriveViewerBlockEntity> DRIVE_VIEWER = BlockEntityType.Builder.of(DriveViewerBlockEntity::new, MBlocks.DRIVE_VIEWER).build(null);
public static final BlockEntityType<BlockEntityBlackHole> BLACK_HOLE = BlockEntityType.Builder.of(BlockEntityBlackHole::new, MBlocks.BLACK_HOLE).build(null); public static final BlockEntityType<BlackHoleBlockEntity> BLACK_HOLE = BlockEntityType.Builder.of(BlackHoleBlockEntity::new, MBlocks.BLACK_HOLE).build(null);
public static final BlockEntityType<BlockEntityCargoCrate> CARGO_CRATE = BlockEntityType.Builder.of(BlockEntityCargoCrate::new, MBlocks.CARGO_CRATE).build(null); public static final BlockEntityType<CargoCrateBlockEntity> CARGO_CRATE = BlockEntityType.Builder.of(CargoCrateBlockEntity::new, MBlocks.CARGO_CRATE).build(null);
public static final BlockEntityType<BlockEntityDriveRack> DRIVE_RACK = BlockEntityType.Builder.of(BlockEntityDriveRack::new, MBlocks.DRIVE_RACK).build(null); public static final BlockEntityType<DriveRackBlockEntity> DRIVE_RACK = BlockEntityType.Builder.of(DriveRackBlockEntity::new, MBlocks.DRIVE_RACK).build(null);
public static final BlockEntityType<BlockEntityItemMonitor> ITEM_MONITOR = BlockEntityType.Builder.of(BlockEntityItemMonitor::new, MBlocks.ITEM_MONITOR).build(null); public static final BlockEntityType<ItemMonitorBlockEntity> ITEM_MONITOR = BlockEntityType.Builder.of(ItemMonitorBlockEntity::new, MBlocks.ITEM_MONITOR).build(null);
public static final BlockEntityType<BlockEntityEnergyCounter> ENERGY_COUNTER = BlockEntityType.Builder.of(BlockEntityEnergyCounter::new, MBlocks.ENERGY_COUNTER).build(null); public static final BlockEntityType<BlockEntityEnergyCounter> ENERGY_COUNTER = BlockEntityType.Builder.of(BlockEntityEnergyCounter::new, MBlocks.ENERGY_COUNTER).build(null);
public static final BlockEntityType<BlockEntityChemicalGenerator> CHEMICAL_GENERATOR = BlockEntityType.Builder.of(BlockEntityChemicalGenerator::new, MBlocks.CHEMICAL_GENERATOR).build(null); public static final BlockEntityType<ChemicalGeneratorBlockEntity> CHEMICAL_GENERATOR = BlockEntityType.Builder.of(ChemicalGeneratorBlockEntity::new, MBlocks.CHEMICAL_GENERATOR).build(null);
public static final BlockEntityType<BlockEntityPlatePress> PLATE_PRESS = BlockEntityType.Builder.of(BlockEntityPlatePress::new, MBlocks.PLATE_PRESS).build(null); public static final BlockEntityType<PlatePressBlockEntity> PLATE_PRESS = BlockEntityType.Builder.of(PlatePressBlockEntity::new, MBlocks.PLATE_PRESS).build(null);
public static final BlockEntityType<BlockEntityGravitationStabilizer> GRAVITATION_STABILIZER = BlockEntityType.Builder.of(BlockEntityGravitationStabilizer::new, MBlocks.GRAVITATION_STABILIZER).build(null); public static final BlockEntityType<GravitationStabilizerBlockEntity> GRAVITATION_STABILIZER = BlockEntityType.Builder.of(GravitationStabilizerBlockEntity::new, MBlocks.GRAVITATION_STABILIZER).build(null);
public static final BlockEntityType<BlockEntityMatterRecycler> MATTER_RECYCLER = BlockEntityType.Builder.of(BlockEntityMatterRecycler::new, MBlocks.MATTER_RECYCLER).build(null); public static final BlockEntityType<MatterRecyclerBlockEntity> MATTER_RECYCLER = BlockEntityType.Builder.of(MatterRecyclerBlockEntity::new, MBlocks.MATTER_RECYCLER).build(null);
public static final BlockEntityType<BlockEntityExplosionDebugger> DEBUG_EXPLOSION_SMALL = BlockEntityType.Builder.of(BlockEntityExplosionDebugger::new, MBlocks.DEBUG_EXPLOSION_SMALL).build(null); public static final BlockEntityType<BlockEntityExplosionDebugger> DEBUG_EXPLOSION_SMALL = BlockEntityType.Builder.of(BlockEntityExplosionDebugger::new, MBlocks.DEBUG_EXPLOSION_SMALL).build(null);
public static final BlockEntityType<BlockEntitySphereDebugger> DEBUG_SPHERE_POINTS = BlockEntityType.Builder.of(BlockEntitySphereDebugger::new, MBlocks.DEBUG_SPHERE_POINTS).build(null); public static final BlockEntityType<BlockEntitySphereDebugger> DEBUG_SPHERE_POINTS = BlockEntityType.Builder.of(BlockEntitySphereDebugger::new, MBlocks.DEBUG_SPHERE_POINTS).build(null);

View File

@ -15,29 +15,29 @@ import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
import ru.dbotthepony.mc.otm.block.*; import ru.dbotthepony.mc.otm.block.*;
public class MBlocks { public class MBlocks {
public static final BlockAndroidStation ANDROID_STATION = new BlockAndroidStation(); public static final AndroidStationBlock ANDROID_STATION = new AndroidStationBlock();
public static final BlockBatteryBank BATTERY_BANK = new BlockBatteryBank(); public static final BatteryBankBlock BATTERY_BANK = new BatteryBankBlock();
public static final BlockMatterDecomposer MATTER_DECOMPOSER = new BlockMatterDecomposer(); public static final MatterDecomposerBlock MATTER_DECOMPOSER = new MatterDecomposerBlock();
public static final BlockMatterCapacitorBank MATTER_CAPACITOR_BANK = new BlockMatterCapacitorBank(); public static final MatterCapacitorBankBlock MATTER_CAPACITOR_BANK = new MatterCapacitorBankBlock();
public static final BlockMatterCable MATTER_CABLE = new BlockMatterCable(); public static final BlockMatterCable MATTER_CABLE = new BlockMatterCable();
public static final BlockPatternStorage PATTERN_STORAGE = new BlockPatternStorage(); public static final PatternStorageBlock PATTERN_STORAGE = new PatternStorageBlock();
public static final BlockMatterScanner MATTER_SCANNER = new BlockMatterScanner(); public static final MatterScannerBlock MATTER_SCANNER = new MatterScannerBlock();
public static final BlockMatterPanel MATTER_PANEL = new BlockMatterPanel(); public static final MatterPanelBlock MATTER_PANEL = new MatterPanelBlock();
public static final BlockMatterReplicator MATTER_REPLICATOR = new BlockMatterReplicator(); public static final MatterReplicatorBlock MATTER_REPLICATOR = new MatterReplicatorBlock();
public static final BlockMatterBottler MATTER_BOTTLER = new BlockMatterBottler(); public static final MatterBottlerBlock MATTER_BOTTLER = new MatterBottlerBlock();
public static final BlockDriveViewer DRIVE_VIEWER = new BlockDriveViewer(); public static final DriveViewerBlock DRIVE_VIEWER = new DriveViewerBlock();
public static final BlockCargoCrate CARGO_CRATE = new BlockCargoCrate(); public static final CargoCrateBlock CARGO_CRATE = new CargoCrateBlock();
public static final BlockDriveRack DRIVE_RACK = new BlockDriveRack(); public static final DriveRackBlock DRIVE_RACK = new DriveRackBlock();
public static final BlockItemMonitor ITEM_MONITOR = new BlockItemMonitor(); public static final ItemMonitorBlock ITEM_MONITOR = new ItemMonitorBlock();
public static final BlockEnergyCounter ENERGY_COUNTER = new BlockEnergyCounter(); public static final EnergyCounterBlock ENERGY_COUNTER = new EnergyCounterBlock();
public static final BlockChemicalGenerator CHEMICAL_GENERATOR = new BlockChemicalGenerator(); public static final ChemicalGeneratorBlock CHEMICAL_GENERATOR = new ChemicalGeneratorBlock();
public static final BlockPlatePress PLATE_PRESS = new BlockPlatePress(); public static final PlatePressBlock PLATE_PRESS = new PlatePressBlock();
public static final BlockMatterRecycler MATTER_RECYCLER = new BlockMatterRecycler(); public static final MatterRecyclerBlock MATTER_RECYCLER = new MatterRecyclerBlock();
public static final BlockExplosionDebugger DEBUG_EXPLOSION_SMALL = new BlockExplosionDebugger(); public static final BlockExplosionDebugger DEBUG_EXPLOSION_SMALL = new BlockExplosionDebugger();
public static final BlockSphereDebugger DEBUG_SPHERE_POINTS = new BlockSphereDebugger(); public static final BlockSphereDebugger DEBUG_SPHERE_POINTS = new BlockSphereDebugger();
public static final BlockBlackHole BLACK_HOLE = new BlockBlackHole(); public static final BlackHoleBlock BLACK_HOLE = new BlackHoleBlock();
public static final BlockGravitationStabilizer GRAVITATION_STABILIZER = new BlockGravitationStabilizer(); public static final BlockGravitationStabilizer GRAVITATION_STABILIZER = new BlockGravitationStabilizer();
public static final BlockGravitationStabilizerLens GRAVITATION_STABILIZER_LENS = new BlockGravitationStabilizerLens(); public static final BlockGravitationStabilizerLens GRAVITATION_STABILIZER_LENS = new BlockGravitationStabilizerLens();

View File

@ -66,7 +66,7 @@ public class MItems {
public static final BlockItem DEBUG_EXPLOSION_SMALL = new BlockItem(MBlocks.DEBUG_EXPLOSION_SMALL, DEFAULT_PROPERTIES); public static final BlockItem DEBUG_EXPLOSION_SMALL = new BlockItem(MBlocks.DEBUG_EXPLOSION_SMALL, DEFAULT_PROPERTIES);
public static final BlockItem DEBUG_SPHERE_POINTS = new BlockItem(MBlocks.DEBUG_SPHERE_POINTS, DEFAULT_PROPERTIES); public static final BlockItem DEBUG_SPHERE_POINTS = new BlockItem(MBlocks.DEBUG_SPHERE_POINTS, DEFAULT_PROPERTIES);
public static final ItemMatterDust MATTER_DUST = new ItemMatterDust(); public static final MatterDustItem MATTER_DUST = new MatterDustItem();
public static final Item TRITANIUM_ORE_CLUMP = new Item(DEFAULT_PROPERTIES); public static final Item TRITANIUM_ORE_CLUMP = new Item(DEFAULT_PROPERTIES);
public static final Item TRITANIUM_INGOT = new Item(DEFAULT_PROPERTIES); public static final Item TRITANIUM_INGOT = new Item(DEFAULT_PROPERTIES);
@ -144,21 +144,21 @@ public class MItems {
public static final BlockItem BLACK_HOLE = new BlockItem(MBlocks.BLACK_HOLE, DEFAULT_PROPERTIES); public static final BlockItem BLACK_HOLE = new BlockItem(MBlocks.BLACK_HOLE, DEFAULT_PROPERTIES);
public static final ItemGravitationalDisruptor GRAVITATIONAL_DISRUPTOR = new ItemGravitationalDisruptor(); public static final GravitationalDisruptorItem GRAVITATIONAL_DISRUPTOR = new GravitationalDisruptorItem();
public static final ItemPill PILL_ANDROID = new ItemPill(PillType.BECOME_ANDROID); public static final PillItem PILL_ANDROID = new PillItem(PillType.BECOME_ANDROID);
public static final ItemPill PILL_HUMANE = new ItemPill(PillType.BECOME_HUMANE); public static final PillItem PILL_HUMANE = new PillItem(PillType.BECOME_HUMANE);
public static final ItemPill PILL_OBLIVION = new ItemPill(PillType.OBLIVION); public static final PillItem PILL_OBLIVION = new PillItem(PillType.OBLIVION);
public static final ItemPillHeal PILL_HEAL = new ItemPillHeal(); public static final HealPillItem PILL_HEAL = new HealPillItem();
public static final ItemBattery BATTERY_CRUDE = new ItemBattery(new ImpreciseFraction(30_000), new ImpreciseFraction(150), new ImpreciseFraction(150)); public static final BatteryItem BATTERY_CRUDE = new BatteryItem(new ImpreciseFraction(30_000), new ImpreciseFraction(150), new ImpreciseFraction(150));
public static final ItemBattery BATTERY_BASIC = new ItemBattery(new ImpreciseFraction(60_000), new ImpreciseFraction(300), new ImpreciseFraction(300)); public static final BatteryItem BATTERY_BASIC = new BatteryItem(new ImpreciseFraction(60_000), new ImpreciseFraction(300), new ImpreciseFraction(300));
public static final ItemBattery BATTERY_NORMAL = new ItemBattery(new ImpreciseFraction(250_000), new ImpreciseFraction(1000), new ImpreciseFraction(1000)); public static final BatteryItem BATTERY_NORMAL = new BatteryItem(new ImpreciseFraction(250_000), new ImpreciseFraction(1000), new ImpreciseFraction(1000));
public static final ItemBattery BATTERY_DENSE = new ItemBattery(new ImpreciseFraction(1_000_000), new ImpreciseFraction(2000), new ImpreciseFraction(2000)); public static final BatteryItem BATTERY_DENSE = new BatteryItem(new ImpreciseFraction(1_000_000), new ImpreciseFraction(2000), new ImpreciseFraction(2000));
public static final ItemBattery BATTERY_CAPACITOR = new ItemBattery(new ImpreciseFraction(150_000), new ImpreciseFraction(15000), new ImpreciseFraction(15000)); public static final BatteryItem BATTERY_CAPACITOR = new BatteryItem(new ImpreciseFraction(150_000), new ImpreciseFraction(15000), new ImpreciseFraction(15000));
public static final ItemBattery BATTERY_CREATIVE = new ItemBattery(); public static final BatteryItem BATTERY_CREATIVE = new BatteryItem();
public static final ItemBattery[] BATTERIES = { public static final BatteryItem[] BATTERIES = {
BATTERY_CRUDE, BATTERY_CRUDE,
BATTERY_BASIC, BATTERY_BASIC,
BATTERY_NORMAL, BATTERY_NORMAL,
@ -183,16 +183,16 @@ public class MItems {
MATTER_TRANSFORM_MATRIX, MATTER_TRANSFORM_MATRIX,
}; };
public static final ItemMatterCapacitor MATTER_CAPACITOR_BASIC = new ItemMatterCapacitor(new ImpreciseFraction("4")); public static final MatterCapacitorItem MATTER_CAPACITOR_BASIC = new MatterCapacitorItem(new ImpreciseFraction("4"));
public static final ItemMatterCapacitor MATTER_CAPACITOR_NORMAL = new ItemMatterCapacitor(new ImpreciseFraction("10")); public static final MatterCapacitorItem MATTER_CAPACITOR_NORMAL = new MatterCapacitorItem(new ImpreciseFraction("10"));
public static final ItemMatterCapacitor MATTER_CAPACITOR_DENSE = new ItemMatterCapacitor(new ImpreciseFraction("40")); public static final MatterCapacitorItem MATTER_CAPACITOR_DENSE = new MatterCapacitorItem(new ImpreciseFraction("40"));
public static final ItemMatterCapacitor MATTER_CAPACITOR_CREATIVE = new ItemMatterCapacitor(); public static final MatterCapacitorItem MATTER_CAPACITOR_CREATIVE = new MatterCapacitorItem();
public static final ItemPatternStorage PATTERN_DRIVE_NORMAL = new ItemPatternStorage(4); public static final PatternStorageItem PATTERN_DRIVE_NORMAL = new PatternStorageItem(4);
public static final ItemPatternStorage PATTERN_DRIVE_CREATIVE = new ItemPatternStorage(); public static final PatternStorageItem PATTERN_DRIVE_CREATIVE = new PatternStorageItem();
public static final ItemPortableCondensationDrive PORTABLE_CONDENSATION_DRIVE = new ItemPortableCondensationDrive(4000); public static final PortableCondensationDriveItem PORTABLE_CONDENSATION_DRIVE = new PortableCondensationDriveItem(4000);
public static final ItemPortableCondensationDrive PORTABLE_DENSE_CONDENSATION_DRIVE = new ItemPortableCondensationDrive(25000); public static final PortableCondensationDriveItem PORTABLE_DENSE_CONDENSATION_DRIVE = new PortableCondensationDriveItem(25000);
public static final Item NUTRIENT_PASTE = new Item(new Item.Properties().stacksTo(64).food(new FoodProperties.Builder().meat().nutrition(8).saturationMod(0.9F).build()).tab(OverdriveThatMatters.INSTANCE.CREATIVE_TAB)); public static final Item NUTRIENT_PASTE = new Item(new Item.Properties().stacksTo(64).food(new FoodProperties.Builder().meat().nutrition(8).saturationMod(0.9F).build()).tab(OverdriveThatMatters.INSTANCE.CREATIVE_TAB));

View File

@ -10,22 +10,22 @@ import ru.dbotthepony.mc.otm.menu.*;
public class MMenus { public class MMenus {
public static final MenuType<AndroidStationMenu> ANDROID_STATION = new MenuType<>(AndroidStationMenu::new); public static final MenuType<AndroidStationMenu> ANDROID_STATION = new MenuType<>(AndroidStationMenu::new);
public static final MenuType<MenuBatteryBank> BATTERY_BANK = new MenuType<>(MenuBatteryBank::new); public static final MenuType<BatteryBankMenu> BATTERY_BANK = new MenuType<>(BatteryBankMenu::new);
public static final MenuType<MenuMatterDecomposer> MATTER_DECOMPOSER = new MenuType<>(MenuMatterDecomposer::new); public static final MenuType<MatterDecomposerMenu> MATTER_DECOMPOSER = new MenuType<>(MatterDecomposerMenu::new);
public static final MenuType<MenuMatterCapacitor> MATTER_CAPACITOR_BANK = new MenuType<>(MenuMatterCapacitor::new); public static final MenuType<MatterCapacitorMenu> MATTER_CAPACITOR_BANK = new MenuType<>(MatterCapacitorMenu::new);
public static final MenuType<MenuPatternStorage> PATTERN_STORAGE = new MenuType<>(MenuPatternStorage::new); public static final MenuType<PatternStorageMenu> PATTERN_STORAGE = new MenuType<>(PatternStorageMenu::new);
public static final MenuType<MenuMatterScanner> MATTER_SCANNER = new MenuType<>(MenuMatterScanner::new); public static final MenuType<MatterScannerMenu> MATTER_SCANNER = new MenuType<>(MatterScannerMenu::new);
public static final MenuType<MenuMatterPanel> MATTER_PANEL = new MenuType<>(MenuMatterPanel::new); public static final MenuType<MatterPanelMenu> MATTER_PANEL = new MenuType<>(MatterPanelMenu::new);
public static final MenuType<MenuMatterReplicator> MATTER_REPLICATOR = new MenuType<>(MenuMatterReplicator::new); public static final MenuType<MatterReplicatorMenu> MATTER_REPLICATOR = new MenuType<>(MatterReplicatorMenu::new);
public static final MenuType<MenuMatterBottler> MATTER_BOTTLER = new MenuType<>(MenuMatterBottler::new); public static final MenuType<MatterBottlerMenu> MATTER_BOTTLER = new MenuType<>(MatterBottlerMenu::new);
public static final MenuType<MenuDriveViewer> DRIVE_VIEWER = new MenuType<>(MenuDriveViewer::new); public static final MenuType<DriveViewerMenu> DRIVE_VIEWER = new MenuType<>(DriveViewerMenu::new);
public static final MenuType<MenuCargoCrate> CARGO_CRATE = new MenuType<>(MenuCargoCrate::new); public static final MenuType<CargoCrateMenu> CARGO_CRATE = new MenuType<>(CargoCrateMenu::new);
public static final MenuType<MenuDriveRack> DRIVE_RACK = new MenuType<>(MenuDriveRack::new); public static final MenuType<DriveRackMenu> DRIVE_RACK = new MenuType<>(DriveRackMenu::new);
public static final MenuType<MenuItemMonitor> ITEM_MONITOR = new MenuType<>(MenuItemMonitor::new); public static final MenuType<ItemMonitorMenu> ITEM_MONITOR = new MenuType<>(ItemMonitorMenu::new);
public static final MenuType<MenuEnergyCounter> ENERGY_COUNTER = new MenuType<>(MenuEnergyCounter::new); public static final MenuType<EnergyCounterMenu> ENERGY_COUNTER = new MenuType<>(EnergyCounterMenu::new);
public static final MenuType<MenuChemicalGenerator> CHEMICAL_GENERATOR = new MenuType<>(MenuChemicalGenerator::new); public static final MenuType<ChemicalGeneratorMenu> CHEMICAL_GENERATOR = new MenuType<>(ChemicalGeneratorMenu::new);
public static final MenuType<MenuPlatePress> PLATE_PRESS = new MenuType<>(MenuPlatePress::new); public static final MenuType<MenuPlatePress> PLATE_PRESS = new MenuType<>(MenuPlatePress::new);
public static final MenuType<MenuMatterRecycler> MATTER_RECYCLER = new MenuType<>(MenuMatterRecycler::new); public static final MenuType<MatterRecyclerMenu> MATTER_RECYCLER = new MenuType<>(MatterRecyclerMenu::new);
static { static {
ANDROID_STATION.setRegistryName(MNames.ANDROID_STATION); ANDROID_STATION.setRegistryName(MNames.ANDROID_STATION);
@ -74,23 +74,23 @@ public class MMenus {
@SubscribeEvent @SubscribeEvent
@SuppressWarnings("unused") @SuppressWarnings("unused")
public static void registerScreens(final FMLClientSetupEvent event) { public static void registerScreens(final FMLClientSetupEvent event) {
MenuScreens.register(ANDROID_STATION, ScreenAndroidStation::new); MenuScreens.register(ANDROID_STATION, AndroidStationScreen::new);
MenuScreens.register(BATTERY_BANK, ScreenBatteryBank::new); MenuScreens.register(BATTERY_BANK, BatteryBankScreen::new);
MenuScreens.register(MATTER_DECOMPOSER, ScreenMatterDecomposer::new); MenuScreens.register(MATTER_DECOMPOSER, MatterDecomposerScreen::new);
MenuScreens.register(MATTER_CAPACITOR_BANK, ScreenMatterCapacitorBank::new); MenuScreens.register(MATTER_CAPACITOR_BANK, MatterCapacitorBankScreen::new);
MenuScreens.register(PATTERN_STORAGE, ScreenPatternStorage::new); MenuScreens.register(PATTERN_STORAGE, PatternStorageScreen::new);
MenuScreens.register(MATTER_SCANNER, ScreenMatterScanner::new); MenuScreens.register(MATTER_SCANNER, MatterScannerScreen::new);
MenuScreens.register(MATTER_PANEL, MatterPanelScreen::new); MenuScreens.register(MATTER_PANEL, MatterPanelScreen::new);
MenuScreens.register(MATTER_REPLICATOR, ScreenMatterReplicator::new); MenuScreens.register(MATTER_REPLICATOR, MatterReplicatorScreen::new);
MenuScreens.register(MATTER_BOTTLER, ScreenMatterBottler::new); MenuScreens.register(MATTER_BOTTLER, MatterBottlerScreen::new);
MenuScreens.register(DRIVE_VIEWER, ScreenDriveViewer::new); MenuScreens.register(DRIVE_VIEWER, DriveViewerScreen::new);
MenuScreens.register(CARGO_CRATE, ScreenCargoCrate::new); MenuScreens.register(CARGO_CRATE, CargoCrateScreen::new);
MenuScreens.register(DRIVE_RACK, ScreenDriveRack::new); MenuScreens.register(DRIVE_RACK, DriveRackScreen::new);
MenuScreens.register(ITEM_MONITOR, ScreenItemMonitor::new); MenuScreens.register(ITEM_MONITOR, ItemMonitorScreen::new);
MenuScreens.register(ENERGY_COUNTER, ScreenEnergyCounter::new); MenuScreens.register(ENERGY_COUNTER, EnergyCounterScreen::new);
MenuScreens.register(CHEMICAL_GENERATOR, ScreenChemicalGenerator::new); MenuScreens.register(CHEMICAL_GENERATOR, ChemicalGeneratorScreen::new);
MenuScreens.register(PLATE_PRESS, ScreenPlatePress::new); MenuScreens.register(PLATE_PRESS, PlatePressScreen::new);
MenuScreens.register(MATTER_RECYCLER, ScreenMatterRecycler::new); MenuScreens.register(MATTER_RECYCLER, MatterRecyclerScreen::new);
// OverdriveThatMatters.LOGGER.info("Registered screens"); // OverdriveThatMatters.LOGGER.info("Registered screens");
} }

View File

@ -14,13 +14,13 @@ import net.minecraft.world.level.block.state.BlockState
import net.minecraft.world.phys.BlockHitResult import net.minecraft.world.phys.BlockHitResult
import net.minecraft.world.phys.shapes.CollisionContext import net.minecraft.world.phys.shapes.CollisionContext
import net.minecraft.world.phys.shapes.VoxelShape import net.minecraft.world.phys.shapes.VoxelShape
import ru.dbotthepony.mc.otm.block.entity.BlockEntityAndroidStation import ru.dbotthepony.mc.otm.block.entity.AndroidStationBlockEntity
import ru.dbotthepony.mc.otm.capability.MatteryCapability import ru.dbotthepony.mc.otm.capability.MatteryCapability
import ru.dbotthepony.mc.otm.orNull import ru.dbotthepony.mc.otm.orNull
import ru.dbotthepony.mc.otm.registry.MBlockEntities import ru.dbotthepony.mc.otm.registry.MBlockEntities
import ru.dbotthepony.mc.otm.shapes.BlockShapes import ru.dbotthepony.mc.otm.shapes.BlockShapes
class BlockAndroidStation : BlockMattery(), EntityBlock { class AndroidStationBlock : BlockMattery(), EntityBlock {
override fun use( override fun use(
blockState: BlockState, blockState: BlockState,
level: Level, level: Level,
@ -47,7 +47,7 @@ class BlockAndroidStation : BlockMattery(), EntityBlock {
} }
override fun newBlockEntity(pos: BlockPos, state: BlockState): BlockEntity { override fun newBlockEntity(pos: BlockPos, state: BlockState): BlockEntity {
return BlockEntityAndroidStation(pos, state) return AndroidStationBlockEntity(pos, state)
} }
override fun <T : BlockEntity?> getTicker( override fun <T : BlockEntity?> getTicker(
@ -58,7 +58,7 @@ class BlockAndroidStation : BlockMattery(), EntityBlock {
if (level.isClientSide || type !== MBlockEntities.ANDROID_STATION) if (level.isClientSide || type !== MBlockEntities.ANDROID_STATION)
return null return null
return BlockEntityTicker { _, _, _, t -> if (t is BlockEntityAndroidStation) t.tick() } return BlockEntityTicker { _, _, _, t -> if (t is AndroidStationBlockEntity) t.tick() }
} }
companion object { companion object {

View File

@ -12,7 +12,7 @@ import net.minecraft.world.level.block.entity.BlockEntityTicker
import net.minecraft.world.level.block.state.StateDefinition import net.minecraft.world.level.block.state.StateDefinition
import net.minecraft.core.BlockPos import net.minecraft.core.BlockPos
import net.minecraft.core.Direction import net.minecraft.core.Direction
import ru.dbotthepony.mc.otm.block.entity.BlockEntityBatteryBank import ru.dbotthepony.mc.otm.block.entity.BatteryBankBlockEntity
import net.minecraft.world.level.BlockGetter import net.minecraft.world.level.BlockGetter
import net.minecraft.world.level.Level import net.minecraft.world.level.Level
import net.minecraft.world.level.block.Block import net.minecraft.world.level.block.Block
@ -23,7 +23,7 @@ import ru.dbotthepony.mc.otm.shapes.BlockShapes
@MethodsReturnNonnullByDefault @MethodsReturnNonnullByDefault
@ParametersAreNonnullByDefault @ParametersAreNonnullByDefault
class BlockBatteryBank : BlockMatteryRotatable(), EntityBlock { class BatteryBankBlock : BlockMatteryRotatable(), EntityBlock {
override fun getStateForPlacement(context: BlockPlaceContext): BlockState { override fun getStateForPlacement(context: BlockPlaceContext): BlockState {
var state = super.getStateForPlacement(context)!! var state = super.getStateForPlacement(context)!!
@ -41,7 +41,7 @@ class BlockBatteryBank : BlockMatteryRotatable(), EntityBlock {
if (level.isClientSide || type !== MBlockEntities.BATTERY_BANK) if (level.isClientSide || type !== MBlockEntities.BATTERY_BANK)
return null return null
return BlockEntityTicker { _, _, _, tile -> if (tile is BlockEntityBatteryBank) tile.tick() } return BlockEntityTicker { _, _, _, tile -> if (tile is BatteryBankBlockEntity) tile.tick() }
} }
override fun createBlockStateDefinition(builder: StateDefinition.Builder<Block, BlockState>) { override fun createBlockStateDefinition(builder: StateDefinition.Builder<Block, BlockState>) {
@ -50,7 +50,7 @@ class BlockBatteryBank : BlockMatteryRotatable(), EntityBlock {
} }
override fun newBlockEntity(blockPos: BlockPos, blockState: BlockState): BlockEntity? { override fun newBlockEntity(blockPos: BlockPos, blockState: BlockState): BlockEntity? {
return BlockEntityBatteryBank(blockPos, blockState) return BatteryBankBlockEntity(blockPos, blockState)
} }
override fun getShape( override fun getShape(

View File

@ -12,11 +12,11 @@ import net.minecraft.world.level.block.state.BlockState
import net.minecraft.world.level.material.Material import net.minecraft.world.level.material.Material
import net.minecraft.world.phys.shapes.CollisionContext import net.minecraft.world.phys.shapes.CollisionContext
import net.minecraft.world.phys.shapes.VoxelShape import net.minecraft.world.phys.shapes.VoxelShape
import ru.dbotthepony.mc.otm.block.entity.blackhole.BlockEntityBlackHole import ru.dbotthepony.mc.otm.block.entity.blackhole.BlackHoleBlockEntity
import ru.dbotthepony.mc.otm.registry.MBlockEntities import ru.dbotthepony.mc.otm.registry.MBlockEntities
import ru.dbotthepony.mc.otm.shapes.BlockShapes import ru.dbotthepony.mc.otm.shapes.BlockShapes
class BlockBlackHole : class BlackHoleBlock :
Block(Properties.of(Material.STONE).strength(-1f, 7200000.0f)), EntityBlock { Block(Properties.of(Material.STONE).strength(-1f, 7200000.0f)), EntityBlock {
override fun getShape( override fun getShape(
p_60555_: BlockState, p_60555_: BlockState,
@ -28,7 +28,7 @@ class BlockBlackHole :
} }
override fun newBlockEntity(blockPos: BlockPos, blockState: BlockState): BlockEntity { override fun newBlockEntity(blockPos: BlockPos, blockState: BlockState): BlockEntity {
return BlockEntityBlackHole(blockPos, blockState) return BlackHoleBlockEntity(blockPos, blockState)
} }
override fun <T : BlockEntity?> getTicker( override fun <T : BlockEntity?> getTicker(
@ -39,10 +39,10 @@ class BlockBlackHole :
if (p_153214_ !== MBlockEntities.BLACK_HOLE) return null if (p_153214_ !== MBlockEntities.BLACK_HOLE) return null
if (p_153212_.isClientSide) { if (p_153212_.isClientSide) {
return BlockEntityTicker { _, _, _, t -> if (t is BlockEntityBlackHole) t.clientTick() } return BlockEntityTicker { _, _, _, t -> if (t is BlackHoleBlockEntity) t.clientTick() }
} }
return BlockEntityTicker { _, _, _, t -> if (t is BlockEntityBlackHole) t.tick() } return BlockEntityTicker { _, _, _, t -> if (t is BlackHoleBlockEntity) t.tick() }
} }
companion object { companion object {

View File

@ -11,11 +11,11 @@ import net.minecraft.world.level.block.entity.BlockEntity
import net.minecraft.world.level.block.state.BlockState import net.minecraft.world.level.block.state.BlockState
import net.minecraft.world.level.block.state.StateDefinition import net.minecraft.world.level.block.state.StateDefinition
import net.minecraft.world.level.block.state.properties.BooleanProperty import net.minecraft.world.level.block.state.properties.BooleanProperty
import ru.dbotthepony.mc.otm.block.entity.BlockEntityCargoCrate import ru.dbotthepony.mc.otm.block.entity.CargoCrateBlockEntity
class BlockCargoCrate : BlockMatteryRotatable(), EntityBlock { class CargoCrateBlock : BlockMatteryRotatable(), EntityBlock {
override fun newBlockEntity(blockPos: BlockPos, blockState: BlockState): BlockEntity { override fun newBlockEntity(blockPos: BlockPos, blockState: BlockState): BlockEntity {
return BlockEntityCargoCrate(blockPos, blockState) return CargoCrateBlockEntity(blockPos, blockState)
} }
override fun createBlockStateDefinition(builder: StateDefinition.Builder<Block, BlockState>) { override fun createBlockStateDefinition(builder: StateDefinition.Builder<Block, BlockState>) {
@ -37,7 +37,7 @@ class BlockCargoCrate : BlockMatteryRotatable(), EntityBlock {
if (!old_block_state.`is`(new_block_state.block)) { if (!old_block_state.`is`(new_block_state.block)) {
val blockentity = level.getBlockEntity(block_pos) val blockentity = level.getBlockEntity(block_pos)
if (blockentity is BlockEntityCargoCrate) { if (blockentity is CargoCrateBlockEntity) {
Containers.dropContents(level, block_pos, blockentity.container); Containers.dropContents(level, block_pos, blockentity.container);
level.updateNeighbourForOutputSignal(block_pos, this); level.updateNeighbourForOutputSignal(block_pos, this);
} }
@ -51,7 +51,7 @@ class BlockCargoCrate : BlockMatteryRotatable(), EntityBlock {
} }
override fun getAnalogOutputSignal(p_60487_: BlockState, level: Level, p_60489_: BlockPos): Int { override fun getAnalogOutputSignal(p_60487_: BlockState, level: Level, p_60489_: BlockPos): Int {
val tile = level.getBlockEntity(p_60489_) as? BlockEntityCargoCrate ?: return 0 val tile = level.getBlockEntity(p_60489_) as? CargoCrateBlockEntity ?: return 0
return AbstractContainerMenu.getRedstoneSignalFromContainer(tile.container) return AbstractContainerMenu.getRedstoneSignalFromContainer(tile.container)
} }

View File

@ -14,17 +14,15 @@ import net.minecraft.world.level.block.state.BlockState
import net.minecraft.world.level.block.state.StateDefinition import net.minecraft.world.level.block.state.StateDefinition
import net.minecraft.world.phys.shapes.CollisionContext import net.minecraft.world.phys.shapes.CollisionContext
import net.minecraft.world.phys.shapes.VoxelShape import net.minecraft.world.phys.shapes.VoxelShape
import ru.dbotthepony.mc.otm.OverdriveThatMatters import ru.dbotthepony.mc.otm.block.entity.ChemicalGeneratorBlockEntity
import ru.dbotthepony.mc.otm.block.entity.BlockEntityChemicalGenerator
import ru.dbotthepony.mc.otm.block.entity.worker.WorkerState import ru.dbotthepony.mc.otm.block.entity.worker.WorkerState
import ru.dbotthepony.mc.otm.registry.MBlockEntities import ru.dbotthepony.mc.otm.registry.MBlockEntities
import ru.dbotthepony.mc.otm.shapes.BlockShapes import ru.dbotthepony.mc.otm.shapes.BlockShapes
import ru.dbotthepony.mc.otm.tickOnce
import ru.dbotthepony.mc.otm.tickOnceServer import ru.dbotthepony.mc.otm.tickOnceServer
class BlockChemicalGenerator : BlockMatteryRotatable(), EntityBlock { class ChemicalGeneratorBlock : BlockMatteryRotatable(), EntityBlock {
override fun newBlockEntity(p_153215_: BlockPos, p_153216_: BlockState): BlockEntity { override fun newBlockEntity(p_153215_: BlockPos, p_153216_: BlockState): BlockEntity {
return BlockEntityChemicalGenerator(p_153215_, p_153216_) return ChemicalGeneratorBlockEntity(p_153215_, p_153216_)
} }
override fun <T : BlockEntity?> getTicker( override fun <T : BlockEntity?> getTicker(
@ -35,7 +33,7 @@ class BlockChemicalGenerator : BlockMatteryRotatable(), EntityBlock {
if (level.isClientSide || type != MBlockEntities.CHEMICAL_GENERATOR) if (level.isClientSide || type != MBlockEntities.CHEMICAL_GENERATOR)
return null return null
return BlockEntityTicker<T> { _, _, _, tile -> if (tile is BlockEntityChemicalGenerator) tile.tick() } return BlockEntityTicker<T> { _, _, _, tile -> if (tile is ChemicalGeneratorBlockEntity) tile.tick() }
} }
override fun createBlockStateDefinition(builder: StateDefinition.Builder<Block, BlockState>) { override fun createBlockStateDefinition(builder: StateDefinition.Builder<Block, BlockState>) {
@ -56,7 +54,7 @@ class BlockChemicalGenerator : BlockMatteryRotatable(), EntityBlock {
if (!level.isClientSide && level is ServerLevel) { if (!level.isClientSide && level is ServerLevel) {
val tile = level.getBlockEntity(pos) val tile = level.getBlockEntity(pos)
if (tile is BlockEntityChemicalGenerator) { if (tile is ChemicalGeneratorBlockEntity) {
tickOnceServer(level) { tickOnceServer(level) {
tile.checkSurroundings() tile.checkSurroundings()
} }

View File

@ -11,13 +11,13 @@ import net.minecraft.world.level.block.entity.BlockEntityType
import net.minecraft.world.level.block.state.BlockState import net.minecraft.world.level.block.state.BlockState
import net.minecraft.world.phys.shapes.CollisionContext import net.minecraft.world.phys.shapes.CollisionContext
import net.minecraft.world.phys.shapes.VoxelShape import net.minecraft.world.phys.shapes.VoxelShape
import ru.dbotthepony.mc.otm.block.entity.BlockEntityDriveRack import ru.dbotthepony.mc.otm.block.entity.DriveRackBlockEntity
import ru.dbotthepony.mc.otm.registry.MBlockEntities import ru.dbotthepony.mc.otm.registry.MBlockEntities
import ru.dbotthepony.mc.otm.shapes.BlockShapes import ru.dbotthepony.mc.otm.shapes.BlockShapes
class BlockDriveRack : BlockMatteryRotatable(), EntityBlock { class DriveRackBlock : BlockMatteryRotatable(), EntityBlock {
override fun newBlockEntity(blockPos: BlockPos, blockState: BlockState): BlockEntity { override fun newBlockEntity(blockPos: BlockPos, blockState: BlockState): BlockEntity {
return BlockEntityDriveRack(blockPos, blockState) return DriveRackBlockEntity(blockPos, blockState)
} }
override fun <T : BlockEntity?> getTicker( override fun <T : BlockEntity?> getTicker(
@ -28,7 +28,7 @@ class BlockDriveRack : BlockMatteryRotatable(), EntityBlock {
if (p_153214_ != MBlockEntities.DRIVE_RACK || p_153212_.isClientSide) if (p_153214_ != MBlockEntities.DRIVE_RACK || p_153212_.isClientSide)
return null return null
return BlockEntityTicker { _, _, _, tile -> if (tile is BlockEntityDriveRack) tile.tick() } return BlockEntityTicker { _, _, _, tile -> if (tile is DriveRackBlockEntity) tile.tick() }
} }
override fun getShape( override fun getShape(

View File

@ -11,13 +11,13 @@ import net.minecraft.world.level.block.entity.BlockEntityType
import net.minecraft.world.level.block.state.BlockState import net.minecraft.world.level.block.state.BlockState
import net.minecraft.world.level.block.state.StateDefinition import net.minecraft.world.level.block.state.StateDefinition
import net.minecraft.world.level.block.state.properties.BooleanProperty import net.minecraft.world.level.block.state.properties.BooleanProperty
import ru.dbotthepony.mc.otm.block.entity.BlockEntityDriveViewer import ru.dbotthepony.mc.otm.block.entity.DriveViewerBlockEntity
import ru.dbotthepony.mc.otm.block.entity.worker.WorkerState import ru.dbotthepony.mc.otm.block.entity.worker.WorkerState
import ru.dbotthepony.mc.otm.registry.MBlockEntities import ru.dbotthepony.mc.otm.registry.MBlockEntities
class BlockDriveViewer : BlockMatteryRotatable(), EntityBlock { class DriveViewerBlock : BlockMatteryRotatable(), EntityBlock {
override fun newBlockEntity(blockPos: BlockPos, blockState: BlockState): BlockEntity { override fun newBlockEntity(blockPos: BlockPos, blockState: BlockState): BlockEntity {
return BlockEntityDriveViewer(blockPos, blockState) return DriveViewerBlockEntity(blockPos, blockState)
} }
override fun <T : BlockEntity> getTicker( override fun <T : BlockEntity> getTicker(
@ -28,7 +28,7 @@ class BlockDriveViewer : BlockMatteryRotatable(), EntityBlock {
if (p_153212_.isClientSide || p_153214_ !== MBlockEntities.DRIVE_VIEWER) if (p_153212_.isClientSide || p_153214_ !== MBlockEntities.DRIVE_VIEWER)
return null return null
return BlockEntityTicker { _, _, _, tile -> if (tile is BlockEntityDriveViewer) tile.tick() } return BlockEntityTicker { _, _, _, tile -> if (tile is DriveViewerBlockEntity) tile.tick() }
} }
override fun createBlockStateDefinition(builder: StateDefinition.Builder<Block, BlockState>) { override fun createBlockStateDefinition(builder: StateDefinition.Builder<Block, BlockState>) {

View File

@ -19,7 +19,7 @@ import ru.dbotthepony.mc.otm.block.entity.BlockEntityEnergyCounter
import ru.dbotthepony.mc.otm.registry.MBlockEntities import ru.dbotthepony.mc.otm.registry.MBlockEntities
import ru.dbotthepony.mc.otm.shapes.BlockShapes import ru.dbotthepony.mc.otm.shapes.BlockShapes
class BlockEnergyCounter : BlockMattery(), EntityBlock { class EnergyCounterBlock : BlockMattery(), EntityBlock {
override fun newBlockEntity(blockPos: BlockPos, blockState: BlockState): BlockEntity { override fun newBlockEntity(blockPos: BlockPos, blockState: BlockState): BlockEntity {
return BlockEntityEnergyCounter(blockPos, blockState) return BlockEntityEnergyCounter(blockPos, blockState)
} }

View File

@ -22,9 +22,8 @@ import net.minecraft.world.level.material.MaterialColor
import net.minecraft.world.level.material.PushReaction import net.minecraft.world.level.material.PushReaction
import net.minecraft.world.phys.shapes.CollisionContext import net.minecraft.world.phys.shapes.CollisionContext
import net.minecraft.world.phys.shapes.VoxelShape import net.minecraft.world.phys.shapes.VoxelShape
import ru.dbotthepony.mc.otm.OverdriveThatMatters import ru.dbotthepony.mc.otm.block.entity.GravitationStabilizerBlockEntity
import ru.dbotthepony.mc.otm.block.entity.BlockEntityGravitationStabilizer import ru.dbotthepony.mc.otm.block.entity.blackhole.BlackHoleBlockEntity
import ru.dbotthepony.mc.otm.block.entity.blackhole.BlockEntityBlackHole
import ru.dbotthepony.mc.otm.block.entity.worker.WorkerState import ru.dbotthepony.mc.otm.block.entity.worker.WorkerState
import ru.dbotthepony.mc.otm.core.plus import ru.dbotthepony.mc.otm.core.plus
import ru.dbotthepony.mc.otm.core.times import ru.dbotthepony.mc.otm.core.times
@ -38,7 +37,7 @@ private val props = BlockBehaviour.Properties.of(Material.STONE, MaterialColor.C
class BlockGravitationStabilizer : BlockMatteryRotatable(props), EntityBlock { class BlockGravitationStabilizer : BlockMatteryRotatable(props), EntityBlock {
override fun newBlockEntity(p_153215_: BlockPos, p_153216_: BlockState): BlockEntity { override fun newBlockEntity(p_153215_: BlockPos, p_153216_: BlockState): BlockEntity {
return BlockEntityGravitationStabilizer(p_153215_, p_153216_) return GravitationStabilizerBlockEntity(p_153215_, p_153216_)
} }
override fun <T : BlockEntity?> getTicker( override fun <T : BlockEntity?> getTicker(
@ -49,7 +48,7 @@ class BlockGravitationStabilizer : BlockMatteryRotatable(props), EntityBlock {
if (p_153212_.isClientSide || p_153214_ !== MBlockEntities.GRAVITATION_STABILIZER) if (p_153212_.isClientSide || p_153214_ !== MBlockEntities.GRAVITATION_STABILIZER)
return null return null
return BlockEntityTicker { level, _, _, tile -> if (tile is BlockEntityGravitationStabilizer) tile.tick(level) } return BlockEntityTicker { level, _, _, tile -> if (tile is GravitationStabilizerBlockEntity) tile.tick(level) }
} }
override val hasFreeRotation: Boolean get() = true override val hasFreeRotation: Boolean get() = true
@ -67,13 +66,13 @@ class BlockGravitationStabilizer : BlockMatteryRotatable(props), EntityBlock {
for (face in FACING_FULL.possibleValues) { for (face in FACING_FULL.possibleValues) {
val dir = face.normal val dir = face.normal
for (i in 1 ..BlockEntityGravitationStabilizer.RANGE) { for (i in 1 ..GravitationStabilizerBlockEntity.RANGE) {
val pos = blockPos + dir * i val pos = blockPos + dir * i
val chunk = level.chunkSource.getChunkNow(SectionPos.blockToSectionCoord(pos.x), SectionPos.blockToSectionCoord(pos.z)) ?: continue val chunk = level.chunkSource.getChunkNow(SectionPos.blockToSectionCoord(pos.x), SectionPos.blockToSectionCoord(pos.z)) ?: continue
val getState = chunk.getBlockState(pos) val getState = chunk.getBlockState(pos)
if (!getState.isAir) { if (!getState.isAir) {
if (chunk.getBlockEntity(pos) is BlockEntityBlackHole) { if (chunk.getBlockEntity(pos) is BlackHoleBlockEntity) {
state = state.setValue(FACING_FULL, face) state = state.setValue(FACING_FULL, face)
break break
} }

View File

@ -11,13 +11,13 @@ import net.minecraft.world.level.block.entity.BlockEntityType
import net.minecraft.world.level.block.state.BlockState import net.minecraft.world.level.block.state.BlockState
import net.minecraft.world.phys.shapes.CollisionContext import net.minecraft.world.phys.shapes.CollisionContext
import net.minecraft.world.phys.shapes.VoxelShape import net.minecraft.world.phys.shapes.VoxelShape
import ru.dbotthepony.mc.otm.block.entity.BlockEntityItemMonitor import ru.dbotthepony.mc.otm.block.entity.ItemMonitorBlockEntity
import ru.dbotthepony.mc.otm.registry.MBlockEntities import ru.dbotthepony.mc.otm.registry.MBlockEntities
import ru.dbotthepony.mc.otm.shapes.BlockShapes import ru.dbotthepony.mc.otm.shapes.BlockShapes
class BlockItemMonitor : BlockMatteryRotatable(), EntityBlock { class ItemMonitorBlock : BlockMatteryRotatable(), EntityBlock {
override fun newBlockEntity(blockPos: BlockPos, blockState: BlockState): BlockEntity { override fun newBlockEntity(blockPos: BlockPos, blockState: BlockState): BlockEntity {
return BlockEntityItemMonitor(blockPos, blockState) return ItemMonitorBlockEntity(blockPos, blockState)
} }
override fun <T : BlockEntity?> getTicker( override fun <T : BlockEntity?> getTicker(
@ -28,7 +28,7 @@ class BlockItemMonitor : BlockMatteryRotatable(), EntityBlock {
if (p_153214_ != MBlockEntities.ITEM_MONITOR || p_153212_.isClientSide) if (p_153214_ != MBlockEntities.ITEM_MONITOR || p_153212_.isClientSide)
return null return null
return BlockEntityTicker { _, _, _, tile -> if (tile is BlockEntityItemMonitor) tile.tick() } return BlockEntityTicker { _, _, _, tile -> if (tile is ItemMonitorBlockEntity) tile.tick() }
} }
override fun getShape( override fun getShape(

View File

@ -11,7 +11,7 @@ import net.minecraft.world.level.Level
import net.minecraft.world.level.block.Block import net.minecraft.world.level.block.Block
import net.minecraft.world.level.block.state.BlockState import net.minecraft.world.level.block.state.BlockState
import net.minecraft.world.level.block.entity.BlockEntity import net.minecraft.world.level.block.entity.BlockEntity
import ru.dbotthepony.mc.otm.block.entity.BlockEntityMatterBottler import ru.dbotthepony.mc.otm.block.entity.MatterBottlerBlockEntity
import net.minecraft.world.level.block.entity.BlockEntityType import net.minecraft.world.level.block.entity.BlockEntityType
import net.minecraft.world.level.block.entity.BlockEntityTicker import net.minecraft.world.level.block.entity.BlockEntityTicker
import net.minecraft.world.level.block.state.StateDefinition import net.minecraft.world.level.block.state.StateDefinition
@ -24,9 +24,9 @@ import ru.dbotthepony.mc.otm.shapes.BlockShapes
@MethodsReturnNonnullByDefault @MethodsReturnNonnullByDefault
@ParametersAreNonnullByDefault @ParametersAreNonnullByDefault
class BlockMatterBottler : BlockMatteryRotatable(), EntityBlock { class MatterBottlerBlock : BlockMatteryRotatable(), EntityBlock {
override fun newBlockEntity(blockPos: BlockPos, blockState: BlockState): BlockEntity? { override fun newBlockEntity(blockPos: BlockPos, blockState: BlockState): BlockEntity? {
return BlockEntityMatterBottler(blockPos, blockState) return MatterBottlerBlockEntity(blockPos, blockState)
} }
override fun <T : BlockEntity?> getTicker( override fun <T : BlockEntity?> getTicker(
@ -37,7 +37,7 @@ class BlockMatterBottler : BlockMatteryRotatable(), EntityBlock {
if (p_153212_.isClientSide || p_153214_ !== MBlockEntities.MATTER_BOTTLER) if (p_153212_.isClientSide || p_153214_ !== MBlockEntities.MATTER_BOTTLER)
return null return null
return BlockEntityTicker {_, _, _, tile -> if (tile is BlockEntityMatterBottler) tile.tick()} return BlockEntityTicker {_, _, _, tile -> if (tile is MatterBottlerBlockEntity) tile.tick()}
} }
override fun createBlockStateDefinition(builder: StateDefinition.Builder<Block, BlockState>) { override fun createBlockStateDefinition(builder: StateDefinition.Builder<Block, BlockState>) {

View File

@ -11,25 +11,25 @@ import net.minecraft.world.level.block.state.BlockState
import net.minecraft.world.level.block.state.StateDefinition import net.minecraft.world.level.block.state.StateDefinition
import net.minecraft.world.phys.shapes.CollisionContext import net.minecraft.world.phys.shapes.CollisionContext
import net.minecraft.world.phys.shapes.VoxelShape import net.minecraft.world.phys.shapes.VoxelShape
import ru.dbotthepony.mc.otm.block.entity.BlockEntityMatterCapacitorBank import ru.dbotthepony.mc.otm.block.entity.MatterCapacitorBankBlockEntity
import ru.dbotthepony.mc.otm.shapes.BlockShapes import ru.dbotthepony.mc.otm.shapes.BlockShapes
class BlockMatterCapacitorBank : BlockMatteryRotatable(), EntityBlock { class MatterCapacitorBankBlock : BlockMatteryRotatable(), EntityBlock {
override fun newBlockEntity(blockPos: BlockPos, blockState: BlockState): BlockEntity { override fun newBlockEntity(blockPos: BlockPos, blockState: BlockState): BlockEntity {
return BlockEntityMatterCapacitorBank(blockPos, blockState) return MatterCapacitorBankBlockEntity(blockPos, blockState)
} }
override fun getStateForPlacement(context: BlockPlaceContext): BlockState? { override fun getStateForPlacement(context: BlockPlaceContext): BlockState? {
var state = super.getStateForPlacement(context) ?: return null var state = super.getStateForPlacement(context) ?: return null
for (prop in BlockBatteryBank.BATTERY_SLOTS_PROPS) for (prop in BatteryBankBlock.BATTERY_SLOTS_PROPS)
state = state.setValue(prop, false) state = state.setValue(prop, false)
return state return state
} }
override fun createBlockStateDefinition(builder: StateDefinition.Builder<Block, BlockState>) { override fun createBlockStateDefinition(builder: StateDefinition.Builder<Block, BlockState>) {
builder.add(*BlockBatteryBank.BATTERY_SLOTS_PROPS) builder.add(*BatteryBankBlock.BATTERY_SLOTS_PROPS)
super.createBlockStateDefinition(builder) super.createBlockStateDefinition(builder)
} }

View File

@ -7,7 +7,7 @@ import net.minecraft.core.BlockPos
import net.minecraft.core.Direction import net.minecraft.core.Direction
import net.minecraft.world.level.block.state.BlockState import net.minecraft.world.level.block.state.BlockState
import net.minecraft.world.level.block.entity.BlockEntity import net.minecraft.world.level.block.entity.BlockEntity
import ru.dbotthepony.mc.otm.block.entity.BlockEntityMatterDecomposer import ru.dbotthepony.mc.otm.block.entity.MatterDecomposerBlockEntity
import net.minecraft.world.level.block.entity.BlockEntityType import net.minecraft.world.level.block.entity.BlockEntityType
import net.minecraft.world.level.block.entity.BlockEntityTicker import net.minecraft.world.level.block.entity.BlockEntityTicker
import net.minecraft.world.level.block.state.StateDefinition import net.minecraft.world.level.block.state.StateDefinition
@ -22,9 +22,9 @@ import ru.dbotthepony.mc.otm.shapes.BlockShapes
@MethodsReturnNonnullByDefault @MethodsReturnNonnullByDefault
@ParametersAreNonnullByDefault @ParametersAreNonnullByDefault
class BlockMatterDecomposer : BlockMatteryRotatable(), EntityBlock { class MatterDecomposerBlock : BlockMatteryRotatable(), EntityBlock {
override fun newBlockEntity(blockPos: BlockPos, blockState: BlockState): BlockEntity { override fun newBlockEntity(blockPos: BlockPos, blockState: BlockState): BlockEntity {
return BlockEntityMatterDecomposer(blockPos, blockState) return MatterDecomposerBlockEntity(blockPos, blockState)
} }
override fun <T : BlockEntity?> getTicker( override fun <T : BlockEntity?> getTicker(
@ -35,7 +35,7 @@ class BlockMatterDecomposer : BlockMatteryRotatable(), EntityBlock {
if (p_153212_.isClientSide || p_153214_ !== MBlockEntities.MATTER_DECOMPOSER) if (p_153212_.isClientSide || p_153214_ !== MBlockEntities.MATTER_DECOMPOSER)
return null return null
return BlockEntityTicker {_, _, _, t -> if (t is BlockEntityMatterDecomposer) t.tick()} return BlockEntityTicker {_, _, _, t -> if (t is MatterDecomposerBlockEntity) t.tick()}
} }
override fun createBlockStateDefinition(builder: StateDefinition.Builder<Block, BlockState>) { override fun createBlockStateDefinition(builder: StateDefinition.Builder<Block, BlockState>) {

View File

@ -6,7 +6,7 @@ import net.minecraft.core.BlockPos
import net.minecraft.core.Direction import net.minecraft.core.Direction
import net.minecraft.world.level.block.state.BlockState import net.minecraft.world.level.block.state.BlockState
import net.minecraft.world.level.block.entity.BlockEntity import net.minecraft.world.level.block.entity.BlockEntity
import ru.dbotthepony.mc.otm.block.entity.BlockEntityMatterPanel import ru.dbotthepony.mc.otm.block.entity.MatterPanelBlockEntity
import net.minecraft.world.phys.shapes.VoxelShape import net.minecraft.world.phys.shapes.VoxelShape
import net.minecraft.world.phys.shapes.Shapes import net.minecraft.world.phys.shapes.Shapes
import net.minecraft.world.level.BlockGetter import net.minecraft.world.level.BlockGetter
@ -16,9 +16,9 @@ import net.minecraft.world.item.context.BlockPlaceContext
import net.minecraft.world.level.block.Block import net.minecraft.world.level.block.Block
import net.minecraft.world.level.block.state.properties.EnumProperty import net.minecraft.world.level.block.state.properties.EnumProperty
class BlockMatterPanel : BlockMattery(), EntityBlock { class MatterPanelBlock : BlockMattery(), EntityBlock {
override fun newBlockEntity(blockPos: BlockPos, blockState: BlockState): BlockEntity { override fun newBlockEntity(blockPos: BlockPos, blockState: BlockState): BlockEntity {
return BlockEntityMatterPanel(blockPos, blockState) return MatterPanelBlockEntity(blockPos, blockState)
} }
private val shapes: ImmutableMap<BlockState, VoxelShape> private val shapes: ImmutableMap<BlockState, VoxelShape>

View File

@ -9,13 +9,13 @@ import net.minecraft.world.level.block.entity.BlockEntityTicker
import net.minecraft.world.level.block.entity.BlockEntityType import net.minecraft.world.level.block.entity.BlockEntityType
import net.minecraft.world.level.block.state.BlockState import net.minecraft.world.level.block.state.BlockState
import net.minecraft.world.level.block.state.StateDefinition import net.minecraft.world.level.block.state.StateDefinition
import ru.dbotthepony.mc.otm.block.entity.BlockEntityMatterRecycler import ru.dbotthepony.mc.otm.block.entity.MatterRecyclerBlockEntity
import ru.dbotthepony.mc.otm.block.entity.worker.WorkerState import ru.dbotthepony.mc.otm.block.entity.worker.WorkerState
import ru.dbotthepony.mc.otm.registry.MBlockEntities import ru.dbotthepony.mc.otm.registry.MBlockEntities
class BlockMatterRecycler : BlockMatteryRotatable(), EntityBlock { class MatterRecyclerBlock : BlockMatteryRotatable(), EntityBlock {
override fun newBlockEntity(p_153215_: BlockPos, p_153216_: BlockState): BlockEntity { override fun newBlockEntity(p_153215_: BlockPos, p_153216_: BlockState): BlockEntity {
return BlockEntityMatterRecycler(p_153215_, p_153216_) return MatterRecyclerBlockEntity(p_153215_, p_153216_)
} }
override fun createBlockStateDefinition(builder: StateDefinition.Builder<Block, BlockState>) { override fun createBlockStateDefinition(builder: StateDefinition.Builder<Block, BlockState>) {
@ -31,6 +31,6 @@ class BlockMatterRecycler : BlockMatteryRotatable(), EntityBlock {
if (p_153212_.isClientSide || p_153214_ !== MBlockEntities.MATTER_RECYCLER) if (p_153212_.isClientSide || p_153214_ !== MBlockEntities.MATTER_RECYCLER)
return null return null
return BlockEntityTicker { _, _, _, tile -> if (tile is BlockEntityMatterRecycler) tile.tick() } return BlockEntityTicker { _, _, _, tile -> if (tile is MatterRecyclerBlockEntity) tile.tick() }
} }
} }

View File

@ -13,14 +13,14 @@ import net.minecraft.world.level.block.state.BlockState
import net.minecraft.world.level.block.state.StateDefinition import net.minecraft.world.level.block.state.StateDefinition
import net.minecraft.world.phys.shapes.CollisionContext import net.minecraft.world.phys.shapes.CollisionContext
import net.minecraft.world.phys.shapes.VoxelShape import net.minecraft.world.phys.shapes.VoxelShape
import ru.dbotthepony.mc.otm.block.entity.BlockEntityMatterReplicator import ru.dbotthepony.mc.otm.block.entity.MatterReplicatorBlockEntity
import ru.dbotthepony.mc.otm.block.entity.worker.WorkerState import ru.dbotthepony.mc.otm.block.entity.worker.WorkerState
import ru.dbotthepony.mc.otm.registry.MBlockEntities import ru.dbotthepony.mc.otm.registry.MBlockEntities
import ru.dbotthepony.mc.otm.shapes.BlockShapes import ru.dbotthepony.mc.otm.shapes.BlockShapes
class BlockMatterReplicator : BlockMatteryRotatable(), EntityBlock { class MatterReplicatorBlock : BlockMatteryRotatable(), EntityBlock {
override fun newBlockEntity(blockPos: BlockPos, blockState: BlockState): BlockEntity { override fun newBlockEntity(blockPos: BlockPos, blockState: BlockState): BlockEntity {
return BlockEntityMatterReplicator(blockPos, blockState) return MatterReplicatorBlockEntity(blockPos, blockState)
} }
override fun <T : BlockEntity?> getTicker( override fun <T : BlockEntity?> getTicker(
@ -31,7 +31,7 @@ class BlockMatterReplicator : BlockMatteryRotatable(), EntityBlock {
if (p_153212_.isClientSide || p_153214_ !== MBlockEntities.MATTER_REPLICATOR) if (p_153212_.isClientSide || p_153214_ !== MBlockEntities.MATTER_REPLICATOR)
return null return null
return BlockEntityTicker { _, _, _, tile -> if (tile is BlockEntityMatterReplicator) tile.basicTicker() } return BlockEntityTicker { _, _, _, tile -> if (tile is MatterReplicatorBlockEntity) tile.basicTicker() }
} }
override fun createBlockStateDefinition(builder: StateDefinition.Builder<Block, BlockState>) { override fun createBlockStateDefinition(builder: StateDefinition.Builder<Block, BlockState>) {

View File

@ -13,14 +13,14 @@ import net.minecraft.world.level.block.state.BlockState
import net.minecraft.world.level.block.state.StateDefinition import net.minecraft.world.level.block.state.StateDefinition
import net.minecraft.world.phys.shapes.CollisionContext import net.minecraft.world.phys.shapes.CollisionContext
import net.minecraft.world.phys.shapes.VoxelShape import net.minecraft.world.phys.shapes.VoxelShape
import ru.dbotthepony.mc.otm.block.entity.BlockEntityMatterScanner import ru.dbotthepony.mc.otm.block.entity.MatterScannerBlockEntity
import ru.dbotthepony.mc.otm.block.entity.worker.WorkerState import ru.dbotthepony.mc.otm.block.entity.worker.WorkerState
import ru.dbotthepony.mc.otm.registry.MBlockEntities import ru.dbotthepony.mc.otm.registry.MBlockEntities
import ru.dbotthepony.mc.otm.shapes.BlockShapes import ru.dbotthepony.mc.otm.shapes.BlockShapes
class BlockMatterScanner : BlockMatteryRotatable(), EntityBlock { class MatterScannerBlock : BlockMatteryRotatable(), EntityBlock {
override fun newBlockEntity(blockPos: BlockPos, blockState: BlockState): BlockEntity { override fun newBlockEntity(blockPos: BlockPos, blockState: BlockState): BlockEntity {
return BlockEntityMatterScanner(blockPos, blockState) return MatterScannerBlockEntity(blockPos, blockState)
} }
override fun <T : BlockEntity?> getTicker( override fun <T : BlockEntity?> getTicker(
@ -31,7 +31,7 @@ class BlockMatterScanner : BlockMatteryRotatable(), EntityBlock {
if (p_153212_.isClientSide || p_153214_ !== MBlockEntities.MATTER_SCANNER) if (p_153212_.isClientSide || p_153214_ !== MBlockEntities.MATTER_SCANNER)
return null return null
return BlockEntityTicker { _, _, _, tile -> if (tile is BlockEntityMatterScanner) tile.basicTicker() } return BlockEntityTicker { _, _, _, tile -> if (tile is MatterScannerBlockEntity) tile.basicTicker() }
} }
override fun createBlockStateDefinition(builder: StateDefinition.Builder<Block, BlockState>) { override fun createBlockStateDefinition(builder: StateDefinition.Builder<Block, BlockState>) {

View File

@ -18,7 +18,7 @@ import net.minecraft.world.level.block.state.properties.EnumProperty
import net.minecraft.world.level.material.Material import net.minecraft.world.level.material.Material
import net.minecraft.world.level.material.MaterialColor import net.minecraft.world.level.material.MaterialColor
import net.minecraft.world.phys.BlockHitResult import net.minecraft.world.phys.BlockHitResult
import ru.dbotthepony.mc.otm.block.entity.BlockEntityMattery import ru.dbotthepony.mc.otm.block.entity.MatteryBlockEntity
abstract class BlockMattery @JvmOverloads constructor( abstract class BlockMattery @JvmOverloads constructor(
properties: Properties = DEFAULT_PROPERTIES properties: Properties = DEFAULT_PROPERTIES
@ -33,7 +33,7 @@ abstract class BlockMattery @JvmOverloads constructor(
if (this is EntityBlock && itemStack.hasCustomHoverName() && !level.isClientSide) { if (this is EntityBlock && itemStack.hasCustomHoverName() && !level.isClientSide) {
val tile = level.getBlockEntity(blockPos) val tile = level.getBlockEntity(blockPos)
if (tile is BlockEntityMattery) if (tile is MatteryBlockEntity)
tile.customDisplayName = itemStack.displayName tile.customDisplayName = itemStack.displayName
} }
@ -76,7 +76,7 @@ abstract class BlockMattery @JvmOverloads constructor(
if (this is EntityBlock && !level.isClientSide) { if (this is EntityBlock && !level.isClientSide) {
val tile = level.getBlockEntity(pos) val tile = level.getBlockEntity(pos)
if (tile is BlockEntityMattery) if (tile is MatteryBlockEntity)
tile.redstoneSignal = level.getBestNeighborSignal(pos) tile.redstoneSignal = level.getBestNeighborSignal(pos)
} }
} }

View File

@ -12,12 +12,12 @@ import net.minecraft.world.level.block.state.StateDefinition
import net.minecraft.world.level.block.state.properties.BooleanProperty import net.minecraft.world.level.block.state.properties.BooleanProperty
import net.minecraft.world.phys.shapes.CollisionContext import net.minecraft.world.phys.shapes.CollisionContext
import net.minecraft.world.phys.shapes.VoxelShape import net.minecraft.world.phys.shapes.VoxelShape
import ru.dbotthepony.mc.otm.block.entity.BlockEntityPatternStorage import ru.dbotthepony.mc.otm.block.entity.PatternStorageBlockEntity
import ru.dbotthepony.mc.otm.shapes.BlockShapes import ru.dbotthepony.mc.otm.shapes.BlockShapes
class BlockPatternStorage : BlockMatteryRotatable(), EntityBlock { class PatternStorageBlock : BlockMatteryRotatable(), EntityBlock {
override fun newBlockEntity(blockPos: BlockPos, blockState: BlockState): BlockEntity? { override fun newBlockEntity(blockPos: BlockPos, blockState: BlockState): BlockEntity? {
return BlockEntityPatternStorage(blockPos, blockState) return PatternStorageBlockEntity(blockPos, blockState)
} }
override fun createBlockStateDefinition(builder: StateDefinition.Builder<Block, BlockState>) { override fun createBlockStateDefinition(builder: StateDefinition.Builder<Block, BlockState>) {

View File

@ -13,14 +13,14 @@ import net.minecraft.world.level.block.state.BlockState
import net.minecraft.world.level.block.state.StateDefinition import net.minecraft.world.level.block.state.StateDefinition
import net.minecraft.world.phys.shapes.CollisionContext import net.minecraft.world.phys.shapes.CollisionContext
import net.minecraft.world.phys.shapes.VoxelShape import net.minecraft.world.phys.shapes.VoxelShape
import ru.dbotthepony.mc.otm.block.entity.BlockEntityPlatePress import ru.dbotthepony.mc.otm.block.entity.PlatePressBlockEntity
import ru.dbotthepony.mc.otm.block.entity.worker.WorkerState import ru.dbotthepony.mc.otm.block.entity.worker.WorkerState
import ru.dbotthepony.mc.otm.registry.MBlockEntities import ru.dbotthepony.mc.otm.registry.MBlockEntities
import ru.dbotthepony.mc.otm.shapes.BlockShapes import ru.dbotthepony.mc.otm.shapes.BlockShapes
class BlockPlatePress(properties: Properties = DEFAULT_PROPERTIES) : BlockMatteryRotatable(properties), EntityBlock { class PlatePressBlock(properties: Properties = DEFAULT_PROPERTIES) : BlockMatteryRotatable(properties), EntityBlock {
override fun newBlockEntity(p_153215_: BlockPos, p_153216_: BlockState): BlockEntity { override fun newBlockEntity(p_153215_: BlockPos, p_153216_: BlockState): BlockEntity {
return BlockEntityPlatePress(p_153215_, p_153216_) return PlatePressBlockEntity(p_153215_, p_153216_)
} }
override fun <T : BlockEntity?> getTicker( override fun <T : BlockEntity?> getTicker(
@ -31,7 +31,7 @@ class BlockPlatePress(properties: Properties = DEFAULT_PROPERTIES) : BlockMatter
if (p_153212_.isClientSide || p_153214_ !== MBlockEntities.PLATE_PRESS) if (p_153212_.isClientSide || p_153214_ !== MBlockEntities.PLATE_PRESS)
return null return null
return BlockEntityTicker { _, _, _, tile -> if (tile is BlockEntityPlatePress) tile.basicTicker() } return BlockEntityTicker { _, _, _, tile -> if (tile is PlatePressBlockEntity) tile.basicTicker() }
} }
override fun createBlockStateDefinition(builder: StateDefinition.Builder<Block, BlockState>) { override fun createBlockStateDefinition(builder: StateDefinition.Builder<Block, BlockState>) {

View File

@ -16,8 +16,8 @@ import ru.dbotthepony.mc.otm.core.ImpreciseFraction
import ru.dbotthepony.mc.otm.menu.AndroidStationMenu import ru.dbotthepony.mc.otm.menu.AndroidStationMenu
import ru.dbotthepony.mc.otm.registry.MBlockEntities import ru.dbotthepony.mc.otm.registry.MBlockEntities
class BlockEntityAndroidStation(p_155229_: BlockPos, p_155230_: BlockState) : class AndroidStationBlockEntity(p_155229_: BlockPos, p_155230_: BlockState) :
BlockEntityMatteryPowered(MBlockEntities.ANDROID_STATION, p_155229_, p_155230_), MenuProvider { MatteryPoweredBlockEntity(MBlockEntities.ANDROID_STATION, p_155229_, p_155230_), MenuProvider {
override fun createMenu(containerID: Int, inventory: Inventory, ply: Player): AbstractContainerMenu { override fun createMenu(containerID: Int, inventory: Inventory, ply: Player): AbstractContainerMenu {
return AndroidStationMenu(containerID, inventory, this) return AndroidStationMenu(containerID, inventory, this)

View File

@ -19,7 +19,7 @@ import net.minecraftforge.common.util.LazyOptional
import net.minecraftforge.energy.CapabilityEnergy import net.minecraftforge.energy.CapabilityEnergy
import net.minecraftforge.energy.IEnergyStorage import net.minecraftforge.energy.IEnergyStorage
import net.minecraftforge.items.CapabilityItemHandler import net.minecraftforge.items.CapabilityItemHandler
import ru.dbotthepony.mc.otm.block.BlockBatteryBank import ru.dbotthepony.mc.otm.block.BatteryBankBlock
import ru.dbotthepony.mc.otm.block.BlockMatteryRotatable import ru.dbotthepony.mc.otm.block.BlockMatteryRotatable
import ru.dbotthepony.mc.otm.capability.IMatteryEnergyStorage import ru.dbotthepony.mc.otm.capability.IMatteryEnergyStorage
import ru.dbotthepony.mc.otm.capability.MatteryCapability import ru.dbotthepony.mc.otm.capability.MatteryCapability
@ -27,7 +27,7 @@ import ru.dbotthepony.mc.otm.capability.extractEnergy
import ru.dbotthepony.mc.otm.capability.receiveEnergy import ru.dbotthepony.mc.otm.capability.receiveEnergy
import ru.dbotthepony.mc.otm.container.MatteryContainer import ru.dbotthepony.mc.otm.container.MatteryContainer
import ru.dbotthepony.mc.otm.core.ImpreciseFraction import ru.dbotthepony.mc.otm.core.ImpreciseFraction
import ru.dbotthepony.mc.otm.menu.MenuBatteryBank import ru.dbotthepony.mc.otm.menu.BatteryBankMenu
import ru.dbotthepony.mc.otm.registry.MBlockEntities import ru.dbotthepony.mc.otm.registry.MBlockEntities
import ru.dbotthepony.mc.otm.set import ru.dbotthepony.mc.otm.set
import ru.dbotthepony.mc.otm.unaryMinus import ru.dbotthepony.mc.otm.unaryMinus
@ -35,7 +35,7 @@ import javax.annotation.ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault @MethodsReturnNonnullByDefault
@ParametersAreNonnullByDefault @ParametersAreNonnullByDefault
class BlockEntityBatteryBank(p_155229_: BlockPos, p_155230_: BlockState) : BlockEntityMattery(MBlockEntities.BATTERY_BANK, p_155229_, p_155230_) { class BatteryBankBlockEntity(p_155229_: BlockPos, p_155230_: BlockState) : MatteryBlockEntity(MBlockEntities.BATTERY_BANK, p_155229_, p_155230_) {
// 6 на 2 // 6 на 2
val container: MatteryContainer = object : MatteryContainer(this::setChanged, CAPACITY) { val container: MatteryContainer = object : MatteryContainer(this::setChanged, CAPACITY) {
override fun setChanged(slot: Int, new: ItemStack, old: ItemStack) { override fun setChanged(slot: Int, new: ItemStack, old: ItemStack) {
@ -45,8 +45,8 @@ class BlockEntityBatteryBank(p_155229_: BlockPos, p_155230_: BlockState) : Block
if (level != null) { if (level != null) {
var state = blockState var state = blockState
for (i in BlockBatteryBank.BATTERY_SLOTS_PROPS.indices) { for (i in BatteryBankBlock.BATTERY_SLOTS_PROPS.indices) {
state = state.setValue(BlockBatteryBank.BATTERY_SLOTS_PROPS[i], getItem(i).getCapability(CapabilityEnergy.ENERGY).isPresent) state = state.setValue(BatteryBankBlock.BATTERY_SLOTS_PROPS[i], getItem(i).getCapability(CapabilityEnergy.ENERGY).isPresent)
} }
if (state !== blockState) { if (state !== blockState) {
@ -252,7 +252,7 @@ class BlockEntityBatteryBank(p_155229_: BlockPos, p_155230_: BlockState) : Block
} }
override fun createMenu(containerID: Int, inventory: Inventory, ply: Player): AbstractContainerMenu { override fun createMenu(containerID: Int, inventory: Inventory, ply: Player): AbstractContainerMenu {
return MenuBatteryBank(containerID, inventory, this) return BatteryBankMenu(containerID, inventory, this)
} }
override fun invalidateCaps() { override fun invalidateCaps() {

View File

@ -13,30 +13,30 @@ import net.minecraft.world.level.block.state.BlockState
import net.minecraftforge.common.capabilities.Capability import net.minecraftforge.common.capabilities.Capability
import net.minecraftforge.common.util.LazyOptional import net.minecraftforge.common.util.LazyOptional
import net.minecraftforge.items.CapabilityItemHandler import net.minecraftforge.items.CapabilityItemHandler
import ru.dbotthepony.mc.otm.block.BlockCargoCrate import ru.dbotthepony.mc.otm.block.CargoCrateBlock
import ru.dbotthepony.mc.otm.container.MatteryContainer import ru.dbotthepony.mc.otm.container.MatteryContainer
import ru.dbotthepony.mc.otm.ifHas import ru.dbotthepony.mc.otm.ifHas
import ru.dbotthepony.mc.otm.menu.MenuCargoCrate import ru.dbotthepony.mc.otm.menu.CargoCrateMenu
import ru.dbotthepony.mc.otm.registry.MBlockEntities import ru.dbotthepony.mc.otm.registry.MBlockEntities
import ru.dbotthepony.mc.otm.set import ru.dbotthepony.mc.otm.set
class BlockEntityCargoCrate( class CargoCrateBlockEntity(
p_155229_: BlockPos, p_155229_: BlockPos,
p_155230_: BlockState p_155230_: BlockState
) : BlockEntityMattery(MBlockEntities.CARGO_CRATE, p_155229_, p_155230_) { ) : MatteryBlockEntity(MBlockEntities.CARGO_CRATE, p_155229_, p_155230_) {
val container = MatteryContainer(this::setChanged, CAPACITY) val container = MatteryContainer(this::setChanged, CAPACITY)
private var interactingPlayers = 0 private var interactingPlayers = 0
val handler = container.handler() val handler = container.handler()
fun onPlayerOpen() { fun onPlayerOpen() {
if (interactingPlayers++ == 0) { if (interactingPlayers++ == 0) {
level?.setBlock(blockPos, blockState.setValue(BlockCargoCrate.IS_OPEN, true), Block.UPDATE_CLIENTS) level?.setBlock(blockPos, blockState.setValue(CargoCrateBlock.IS_OPEN, true), Block.UPDATE_CLIENTS)
} }
} }
fun onPlayerClose() { fun onPlayerClose() {
if (--interactingPlayers == 0) { if (--interactingPlayers == 0) {
level?.setBlock(blockPos, blockState.setValue(BlockCargoCrate.IS_OPEN, false), Block.UPDATE_CLIENTS) level?.setBlock(blockPos, blockState.setValue(CargoCrateBlock.IS_OPEN, false), Block.UPDATE_CLIENTS)
} }
} }
@ -72,7 +72,7 @@ class BlockEntityCargoCrate(
} }
override fun createMenu(containerID: Int, inventory: Inventory, ply: Player): AbstractContainerMenu { override fun createMenu(containerID: Int, inventory: Inventory, ply: Player): AbstractContainerMenu {
return MenuCargoCrate(containerID, inventory, this) return CargoCrateMenu(containerID, inventory, this)
} }
companion object { companion object {

View File

@ -6,7 +6,6 @@ import net.minecraft.nbt.CompoundTag
import net.minecraft.nbt.IntTag import net.minecraft.nbt.IntTag
import net.minecraft.network.chat.Component import net.minecraft.network.chat.Component
import net.minecraft.network.chat.TranslatableComponent import net.minecraft.network.chat.TranslatableComponent
import net.minecraft.server.level.ServerLevel
import net.minecraft.world.entity.player.Inventory import net.minecraft.world.entity.player.Inventory
import net.minecraft.world.entity.player.Player import net.minecraft.world.entity.player.Player
import net.minecraft.world.inventory.AbstractContainerMenu import net.minecraft.world.inventory.AbstractContainerMenu
@ -27,17 +26,17 @@ import ru.dbotthepony.mc.otm.capability.*
import ru.dbotthepony.mc.otm.container.MatteryContainer import ru.dbotthepony.mc.otm.container.MatteryContainer
import ru.dbotthepony.mc.otm.core.ImpreciseFraction import ru.dbotthepony.mc.otm.core.ImpreciseFraction
import ru.dbotthepony.mc.otm.core.plus import ru.dbotthepony.mc.otm.core.plus
import ru.dbotthepony.mc.otm.menu.MenuChemicalGenerator import ru.dbotthepony.mc.otm.menu.ChemicalGeneratorMenu
import ru.dbotthepony.mc.otm.registry.MBlockEntities import ru.dbotthepony.mc.otm.registry.MBlockEntities
import java.lang.ref.WeakReference import java.lang.ref.WeakReference
class BlockEntityChemicalGenerator(pos: BlockPos, state: BlockState) : BlockEntityMattery(MBlockEntities.CHEMICAL_GENERATOR, pos, state) { class ChemicalGeneratorBlockEntity(pos: BlockPos, state: BlockState) : MatteryBlockEntity(MBlockEntities.CHEMICAL_GENERATOR, pos, state) {
override fun getDefaultDisplayName(): Component { override fun getDefaultDisplayName(): Component {
return NAME return NAME
} }
override fun createMenu(containerID: Int, inventory: Inventory, ply: Player): AbstractContainerMenu { override fun createMenu(containerID: Int, inventory: Inventory, ply: Player): AbstractContainerMenu {
return MenuChemicalGenerator(containerID, inventory, this) return ChemicalGeneratorMenu(containerID, inventory, this)
} }
private var valid = true private var valid = true

View File

@ -20,14 +20,14 @@ import ru.dbotthepony.mc.otm.capability.WorkerEnergyStorage
import ru.dbotthepony.mc.otm.container.MatteryContainer import ru.dbotthepony.mc.otm.container.MatteryContainer
import ru.dbotthepony.mc.otm.core.ImpreciseFraction import ru.dbotthepony.mc.otm.core.ImpreciseFraction
import ru.dbotthepony.mc.otm.ifHas import ru.dbotthepony.mc.otm.ifHas
import ru.dbotthepony.mc.otm.menu.MenuDriveRack import ru.dbotthepony.mc.otm.menu.DriveRackMenu
import ru.dbotthepony.mc.otm.set import ru.dbotthepony.mc.otm.set
import ru.dbotthepony.mc.otm.graph.storage.StorageNetworkGraph import ru.dbotthepony.mc.otm.graph.storage.StorageNetworkGraph
import ru.dbotthepony.mc.otm.registry.MBlockEntities import ru.dbotthepony.mc.otm.registry.MBlockEntities
import ru.dbotthepony.mc.otm.storage.PoweredVirtualComponent import ru.dbotthepony.mc.otm.storage.PoweredVirtualComponent
class BlockEntityDriveRack(p_155229_: BlockPos, p_155230_: BlockState) : class DriveRackBlockEntity(p_155229_: BlockPos, p_155230_: BlockState) :
BlockEntityMatteryPowered(MBlockEntities.DRIVE_RACK, p_155229_, p_155230_) { MatteryPoweredBlockEntity(MBlockEntities.DRIVE_RACK, p_155229_, p_155230_) {
override val energy = WorkerEnergyStorage(this, STORAGE) override val energy = WorkerEnergyStorage(this, STORAGE)
@JvmField @JvmField
@ -76,7 +76,7 @@ class BlockEntityDriveRack(p_155229_: BlockPos, p_155230_: BlockState) :
} }
override fun createMenu(containerID: Int, inventory: Inventory, ply: Player): AbstractContainerMenu? { override fun createMenu(containerID: Int, inventory: Inventory, ply: Player): AbstractContainerMenu? {
return MenuDriveRack(containerID, inventory, this) return DriveRackMenu(containerID, inventory, this)
} }
override fun <T> getCapability(cap: Capability<T>, side: Direction?): LazyOptional<T> { override fun <T> getCapability(cap: Capability<T>, side: Direction?): LazyOptional<T> {

View File

@ -12,19 +12,19 @@ import net.minecraft.world.item.ItemStack
import net.minecraft.world.level.block.Block import net.minecraft.world.level.block.Block
import net.minecraft.world.level.block.state.BlockState import net.minecraft.world.level.block.state.BlockState
import ru.dbotthepony.mc.otm.OverdriveThatMatters import ru.dbotthepony.mc.otm.OverdriveThatMatters
import ru.dbotthepony.mc.otm.block.BlockDriveViewer import ru.dbotthepony.mc.otm.block.DriveViewerBlock
import ru.dbotthepony.mc.otm.block.entity.worker.WorkerState import ru.dbotthepony.mc.otm.block.entity.worker.WorkerState
import ru.dbotthepony.mc.otm.capability.MatteryCapability import ru.dbotthepony.mc.otm.capability.MatteryCapability
import ru.dbotthepony.mc.otm.capability.WorkerEnergyStorage import ru.dbotthepony.mc.otm.capability.WorkerEnergyStorage
import ru.dbotthepony.mc.otm.container.MatteryContainer import ru.dbotthepony.mc.otm.container.MatteryContainer
import ru.dbotthepony.mc.otm.menu.MenuDriveViewer import ru.dbotthepony.mc.otm.menu.DriveViewerMenu
import ru.dbotthepony.mc.otm.registry.MBlockEntities import ru.dbotthepony.mc.otm.registry.MBlockEntities
import ru.dbotthepony.mc.otm.set import ru.dbotthepony.mc.otm.set
import javax.annotation.ParametersAreNonnullByDefault import javax.annotation.ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault @MethodsReturnNonnullByDefault
@ParametersAreNonnullByDefault @ParametersAreNonnullByDefault
class BlockEntityDriveViewer(p_155229_: BlockPos, p_155230_: BlockState) : BlockEntityMatteryPowered(MBlockEntities.DRIVE_VIEWER, p_155229_, p_155230_) { class DriveViewerBlockEntity(p_155229_: BlockPos, p_155230_: BlockState) : MatteryPoweredBlockEntity(MBlockEntities.DRIVE_VIEWER, p_155229_, p_155230_) {
override fun setChanged() { override fun setChanged() {
super.setChanged() super.setChanged()
@ -55,9 +55,9 @@ class BlockEntityDriveViewer(p_155229_: BlockPos, p_155230_: BlockState) : Block
var state = blockState var state = blockState
if (new.getCapability(MatteryCapability.DRIVE).isPresent) { if (new.getCapability(MatteryCapability.DRIVE).isPresent) {
state = state.setValue(BlockDriveViewer.DRIVE_PRESENT, true) state = state.setValue(DriveViewerBlock.DRIVE_PRESENT, true)
} else { } else {
state = state.setValue(BlockDriveViewer.DRIVE_PRESENT, false) state = state.setValue(DriveViewerBlock.DRIVE_PRESENT, false)
} }
if (state !== blockState) { if (state !== blockState) {
@ -73,7 +73,7 @@ class BlockEntityDriveViewer(p_155229_: BlockPos, p_155230_: BlockState) : Block
} }
override fun createMenu(containerID: Int, inventory: Inventory, ply: Player): AbstractContainerMenu? { override fun createMenu(containerID: Int, inventory: Inventory, ply: Player): AbstractContainerMenu? {
return MenuDriveViewer(containerID, inventory, this) return DriveViewerMenu(containerID, inventory, this)
} }
override fun saveAdditional(nbt: CompoundTag) { override fun saveAdditional(nbt: CompoundTag) {

View File

@ -23,13 +23,13 @@ import net.minecraftforge.energy.IEnergyStorage
import net.minecraftforge.network.NetworkEvent import net.minecraftforge.network.NetworkEvent
import net.minecraftforge.network.PacketDistributor import net.minecraftforge.network.PacketDistributor
import ru.dbotthepony.mc.otm.* import ru.dbotthepony.mc.otm.*
import ru.dbotthepony.mc.otm.block.BlockEnergyCounter import ru.dbotthepony.mc.otm.block.EnergyCounterBlock
import ru.dbotthepony.mc.otm.capability.IMatteryEnergyStorage import ru.dbotthepony.mc.otm.capability.IMatteryEnergyStorage
import ru.dbotthepony.mc.otm.capability.MatteryCapability import ru.dbotthepony.mc.otm.capability.MatteryCapability
import ru.dbotthepony.mc.otm.capability.extractEnergy import ru.dbotthepony.mc.otm.capability.extractEnergy
import ru.dbotthepony.mc.otm.capability.receiveEnergy import ru.dbotthepony.mc.otm.capability.receiveEnergy
import ru.dbotthepony.mc.otm.core.ImpreciseFraction import ru.dbotthepony.mc.otm.core.ImpreciseFraction
import ru.dbotthepony.mc.otm.menu.MenuEnergyCounter import ru.dbotthepony.mc.otm.menu.EnergyCounterMenu
import ru.dbotthepony.mc.otm.network.MatteryNetworking import ru.dbotthepony.mc.otm.network.MatteryNetworking
import ru.dbotthepony.mc.otm.registry.MBlockEntities import ru.dbotthepony.mc.otm.registry.MBlockEntities
import java.lang.ref.WeakReference import java.lang.ref.WeakReference
@ -72,7 +72,7 @@ data class EnergyCounterPacket(val pos: BlockPos, val thisTick: ImpreciseFractio
} }
} }
class BlockEntityEnergyCounter(p_155229_: BlockPos, p_155230_: BlockState) : BlockEntityMattery(MBlockEntities.ENERGY_COUNTER, p_155229_, p_155230_) { class BlockEntityEnergyCounter(p_155229_: BlockPos, p_155230_: BlockState) : MatteryBlockEntity(MBlockEntities.ENERGY_COUNTER, p_155229_, p_155230_) {
var passed = ImpreciseFraction.ZERO var passed = ImpreciseFraction.ZERO
private val history = Array(10 * 20) { ImpreciseFraction.ZERO } private val history = Array(10 * 20) { ImpreciseFraction.ZERO }
@ -164,7 +164,7 @@ class BlockEntityEnergyCounter(p_155229_: BlockPos, p_155230_: BlockState) : Blo
} }
override fun createMenu(containerID: Int, inventory: Inventory, ply: Player): AbstractContainerMenu { override fun createMenu(containerID: Int, inventory: Inventory, ply: Player): AbstractContainerMenu {
return MenuEnergyCounter(containerID, inventory, this) return EnergyCounterMenu(containerID, inventory, this)
} }
private val energyInput = EnergyCounterCap(true) private val energyInput = EnergyCounterCap(true)
@ -367,7 +367,7 @@ class BlockEntityEnergyCounter(p_155229_: BlockPos, p_155230_: BlockState) : Blo
val old = blockState val old = blockState
super.setBlockState(new) super.setBlockState(new)
if (new !== old && new.getValue(BlockEnergyCounter.INPUT_DIRECTION) != old.getValue(BlockEnergyCounter.INPUT_DIRECTION)) { if (new !== old && new.getValue(EnergyCounterBlock.INPUT_DIRECTION) != old.getValue(EnergyCounterBlock.INPUT_DIRECTION)) {
resolverInput.invalidate() resolverInput.invalidate()
resolverOutput.invalidate() resolverOutput.invalidate()
resolverInput = LazyOptional.of { energyInput } resolverInput = LazyOptional.of { energyInput }
@ -409,13 +409,13 @@ class BlockEntityEnergyCounter(p_155229_: BlockPos, p_155230_: BlockState) : Blo
inputCapability = getAndBind( inputCapability = getAndBind(
level, level,
inputCapability, inputCapability,
blockState.getValue(BlockEnergyCounter.INPUT_DIRECTION) blockState.getValue(EnergyCounterBlock.INPUT_DIRECTION)
) )
outputCapability = getAndBind( outputCapability = getAndBind(
level, level,
outputCapability, outputCapability,
-blockState.getValue(BlockEnergyCounter.INPUT_DIRECTION) -blockState.getValue(EnergyCounterBlock.INPUT_DIRECTION)
) )
} }
@ -424,11 +424,11 @@ class BlockEntityEnergyCounter(p_155229_: BlockPos, p_155230_: BlockState) : Blo
return super.getCapability(cap, side) return super.getCapability(cap, side)
if (valid) { if (valid) {
if (side == blockState.getValue(BlockEnergyCounter.INPUT_DIRECTION)) { if (side == blockState.getValue(EnergyCounterBlock.INPUT_DIRECTION)) {
if (cap === MatteryCapability.ENERGY || cap === CapabilityEnergy.ENERGY) { if (cap === MatteryCapability.ENERGY || cap === CapabilityEnergy.ENERGY) {
return resolverInput.cast() return resolverInput.cast()
} }
} else if (side == blockState.getValue(BlockEnergyCounter.INPUT_DIRECTION).opposite) { } else if (side == blockState.getValue(EnergyCounterBlock.INPUT_DIRECTION).opposite) {
if (cap === MatteryCapability.ENERGY || cap === CapabilityEnergy.ENERGY) { if (cap === MatteryCapability.ENERGY || cap === CapabilityEnergy.ENERGY) {
return resolverOutput.cast() return resolverOutput.cast()
} }

View File

@ -12,21 +12,21 @@ import net.minecraft.world.phys.AABB
import ru.dbotthepony.mc.otm.block.BlockGravitationStabilizer import ru.dbotthepony.mc.otm.block.BlockGravitationStabilizer
import ru.dbotthepony.mc.otm.block.BlockGravitationStabilizerLens import ru.dbotthepony.mc.otm.block.BlockGravitationStabilizerLens
import ru.dbotthepony.mc.otm.block.BlockMatteryRotatable import ru.dbotthepony.mc.otm.block.BlockMatteryRotatable
import ru.dbotthepony.mc.otm.block.entity.blackhole.BlockEntityBlackHole import ru.dbotthepony.mc.otm.block.entity.blackhole.BlackHoleBlockEntity
import ru.dbotthepony.mc.otm.block.entity.worker.WorkerState import ru.dbotthepony.mc.otm.block.entity.worker.WorkerState
import ru.dbotthepony.mc.otm.core.plus import ru.dbotthepony.mc.otm.core.plus
import ru.dbotthepony.mc.otm.core.times import ru.dbotthepony.mc.otm.core.times
import ru.dbotthepony.mc.otm.registry.MBlockEntities import ru.dbotthepony.mc.otm.registry.MBlockEntities
class BlockEntityGravitationStabilizer(p_155229_: BlockPos, p_155230_: BlockState) : BlockEntityMattery( class GravitationStabilizerBlockEntity(p_155229_: BlockPos, p_155230_: BlockState) : MatteryBlockEntity(
MBlockEntities.GRAVITATION_STABILIZER, p_155229_, p_155230_) { MBlockEntities.GRAVITATION_STABILIZER, p_155229_, p_155230_) {
override fun getDefaultDisplayName() = NAME override fun getDefaultDisplayName() = NAME
override fun createMenu(containerID: Int, inventory: Inventory, ply: Player) = null override fun createMenu(containerID: Int, inventory: Inventory, ply: Player) = null
private var blackHole: BlockEntityBlackHole? = null private var blackHole: BlackHoleBlockEntity? = null
fun tick(level: Level) { fun tick(level: Level) {
var findBlackHole: BlockEntityBlackHole? = null var findBlackHole: BlackHoleBlockEntity? = null
val dir = blockState.getValue(BlockMatteryRotatable.FACING_FULL).normal val dir = blockState.getValue(BlockMatteryRotatable.FACING_FULL).normal
for (i in 2 .. RANGE) { for (i in 2 .. RANGE) {
@ -38,7 +38,7 @@ class BlockEntityGravitationStabilizer(p_155229_: BlockPos, p_155230_: BlockStat
val tile = chunk.getBlockEntity(pos) val tile = chunk.getBlockEntity(pos)
if (tile != null) { if (tile != null) {
if (tile is BlockEntityBlackHole) { if (tile is BlackHoleBlockEntity) {
findBlackHole = tile findBlackHole = tile
} }

View File

@ -16,11 +16,11 @@ import ru.dbotthepony.mc.otm.capability.MatteryCapability
import ru.dbotthepony.mc.otm.capability.WorkerEnergyStorage import ru.dbotthepony.mc.otm.capability.WorkerEnergyStorage
import ru.dbotthepony.mc.otm.graph.storage.BasicStorageGraphNode import ru.dbotthepony.mc.otm.graph.storage.BasicStorageGraphNode
import ru.dbotthepony.mc.otm.graph.storage.StorageNetworkGraph import ru.dbotthepony.mc.otm.graph.storage.StorageNetworkGraph
import ru.dbotthepony.mc.otm.menu.MenuItemMonitor import ru.dbotthepony.mc.otm.menu.ItemMonitorMenu
import ru.dbotthepony.mc.otm.registry.MBlockEntities import ru.dbotthepony.mc.otm.registry.MBlockEntities
class BlockEntityItemMonitor(p_155229_: BlockPos, p_155230_: BlockState) : class ItemMonitorBlockEntity(p_155229_: BlockPos, p_155230_: BlockState) :
BlockEntityMatteryPowered(MBlockEntities.ITEM_MONITOR, p_155229_, p_155230_) { MatteryPoweredBlockEntity(MBlockEntities.ITEM_MONITOR, p_155229_, p_155230_) {
@JvmField @JvmField
val cell = BasicStorageGraphNode() val cell = BasicStorageGraphNode()
@ -35,7 +35,7 @@ class BlockEntityItemMonitor(p_155229_: BlockPos, p_155230_: BlockState) :
} }
override fun createMenu(containerID: Int, inventory: Inventory, ply: Player): AbstractContainerMenu { override fun createMenu(containerID: Int, inventory: Inventory, ply: Player): AbstractContainerMenu {
return MenuItemMonitor(containerID, inventory, this) return ItemMonitorMenu(containerID, inventory, this)
} }
override fun setLevel(p_155231_: Level) { override fun setLevel(p_155231_: Level) {

View File

@ -16,7 +16,7 @@ import net.minecraft.world.level.block.state.BlockState
import net.minecraftforge.common.capabilities.Capability import net.minecraftforge.common.capabilities.Capability
import net.minecraftforge.common.util.LazyOptional import net.minecraftforge.common.util.LazyOptional
import net.minecraftforge.items.CapabilityItemHandler import net.minecraftforge.items.CapabilityItemHandler
import ru.dbotthepony.mc.otm.block.BlockMatterBottler import ru.dbotthepony.mc.otm.block.MatterBottlerBlock
import ru.dbotthepony.mc.otm.block.entity.worker.WorkerState import ru.dbotthepony.mc.otm.block.entity.worker.WorkerState
import ru.dbotthepony.mc.otm.capability.MatteryCapability import ru.dbotthepony.mc.otm.capability.MatteryCapability
import ru.dbotthepony.mc.otm.capability.WorkerEnergyStorage import ru.dbotthepony.mc.otm.capability.WorkerEnergyStorage
@ -29,13 +29,13 @@ import ru.dbotthepony.mc.otm.graph.Graph6Node
import ru.dbotthepony.mc.otm.graph.matter.IMatterGraphNode import ru.dbotthepony.mc.otm.graph.matter.IMatterGraphNode
import ru.dbotthepony.mc.otm.graph.matter.MatterNetworkGraph import ru.dbotthepony.mc.otm.graph.matter.MatterNetworkGraph
import ru.dbotthepony.mc.otm.ifHas import ru.dbotthepony.mc.otm.ifHas
import ru.dbotthepony.mc.otm.menu.MenuMatterBottler import ru.dbotthepony.mc.otm.menu.MatterBottlerMenu
import ru.dbotthepony.mc.otm.orNull import ru.dbotthepony.mc.otm.orNull
import ru.dbotthepony.mc.otm.registry.MBlockEntities import ru.dbotthepony.mc.otm.registry.MBlockEntities
import ru.dbotthepony.mc.otm.set import ru.dbotthepony.mc.otm.set
class BlockEntityMatterBottler(p_155229_: BlockPos, p_155230_: BlockState) : class MatterBottlerBlockEntity(p_155229_: BlockPos, p_155230_: BlockState) :
BlockEntityMatteryPowered(MBlockEntities.MATTER_BOTTLER, p_155229_, p_155230_), IMatterGraphNode { MatteryPoweredBlockEntity(MBlockEntities.MATTER_BOTTLER, p_155229_, p_155230_), IMatterGraphNode {
private val node = Graph6Node<IMatterGraphNode>(this) private val node = Graph6Node<IMatterGraphNode>(this)
private val resolverNode = LazyOptional.of { this } private val resolverNode = LazyOptional.of { this }
@ -67,8 +67,8 @@ class BlockEntityMatterBottler(p_155229_: BlockPos, p_155230_: BlockState) :
for (i in initial .. initial + 2) { for (i in initial .. initial + 2) {
val desired = !container.getItem(i).isEmpty && container.getItem(i).getCapability(MatteryCapability.MATTER).isPresent val desired = !container.getItem(i).isEmpty && container.getItem(i).getCapability(MatteryCapability.MATTER).isPresent
if (state.getValue(BlockMatterBottler.SLOT_PROPERTIES[i - initial]) != desired) { if (state.getValue(MatterBottlerBlock.SLOT_PROPERTIES[i - initial]) != desired) {
state = state.setValue(BlockMatterBottler.SLOT_PROPERTIES[i - initial], desired) state = state.setValue(MatterBottlerBlock.SLOT_PROPERTIES[i - initial], desired)
} }
} }
@ -110,7 +110,7 @@ class BlockEntityMatterBottler(p_155229_: BlockPos, p_155230_: BlockState) :
val matter: MatterHandlerImpl = val matter: MatterHandlerImpl =
object : MatterHandlerImpl(this::setChangedLight, MatterDirection.BIDIRECTIONAL, CAPACITY) { object : MatterHandlerImpl(this::setChangedLight, MatterDirection.BIDIRECTIONAL, CAPACITY) {
override val direction: MatterDirection get() { override val direction: MatterDirection get() {
return if (this@BlockEntityMatterBottler.workFlow) MatterDirection.RECEIVE else MatterDirection.EXTRACT return if (this@MatterBottlerBlockEntity.workFlow) MatterDirection.RECEIVE else MatterDirection.EXTRACT
} }
} }
@ -167,7 +167,7 @@ class BlockEntityMatterBottler(p_155229_: BlockPos, p_155230_: BlockState) :
} }
override fun createMenu(containerID: Int, inventory: Inventory, ply: Player): AbstractContainerMenu { override fun createMenu(containerID: Int, inventory: Inventory, ply: Player): AbstractContainerMenu {
return MenuMatterBottler(containerID, inventory, this) return MatterBottlerMenu(containerID, inventory, this)
} }
override fun saveAdditional(nbt: CompoundTag) { override fun saveAdditional(nbt: CompoundTag) {

View File

@ -17,7 +17,7 @@ import ru.dbotthepony.mc.otm.graph.matter.IMatterGraphNode
import ru.dbotthepony.mc.otm.graph.matter.MatterNetworkGraph import ru.dbotthepony.mc.otm.graph.matter.MatterNetworkGraph
import ru.dbotthepony.mc.otm.registry.MBlockEntities import ru.dbotthepony.mc.otm.registry.MBlockEntities
class BlockEntityMatterCable(p_155229_: BlockPos, p_155230_: BlockState) : class MatterCableBlockEntity(p_155229_: BlockPos, p_155230_: BlockState) :
BlockEntity(MBlockEntities.MATTER_CABLE, p_155229_, p_155230_), IMatterGraphNode, GraphNodeListener { BlockEntity(MBlockEntities.MATTER_CABLE, p_155229_, p_155230_), IMatterGraphNode, GraphNodeListener {
private var valid = true private var valid = true

View File

@ -16,7 +16,7 @@ import net.minecraft.world.level.block.Block
import net.minecraft.world.level.block.state.BlockState import net.minecraft.world.level.block.state.BlockState
import net.minecraftforge.common.capabilities.Capability import net.minecraftforge.common.capabilities.Capability
import net.minecraftforge.common.util.LazyOptional import net.minecraftforge.common.util.LazyOptional
import ru.dbotthepony.mc.otm.block.BlockBatteryBank import ru.dbotthepony.mc.otm.block.BatteryBankBlock
import ru.dbotthepony.mc.otm.capability.MatteryCapability import ru.dbotthepony.mc.otm.capability.MatteryCapability
import ru.dbotthepony.mc.otm.capability.matter.IMatterHandler import ru.dbotthepony.mc.otm.capability.matter.IMatterHandler
import ru.dbotthepony.mc.otm.capability.matter.MatterDirection import ru.dbotthepony.mc.otm.capability.matter.MatterDirection
@ -25,15 +25,15 @@ import ru.dbotthepony.mc.otm.core.ImpreciseFraction
import ru.dbotthepony.mc.otm.graph.Graph6Node import ru.dbotthepony.mc.otm.graph.Graph6Node
import ru.dbotthepony.mc.otm.graph.matter.IMatterGraphNode import ru.dbotthepony.mc.otm.graph.matter.IMatterGraphNode
import ru.dbotthepony.mc.otm.graph.matter.MatterNetworkGraph import ru.dbotthepony.mc.otm.graph.matter.MatterNetworkGraph
import ru.dbotthepony.mc.otm.menu.MenuMatterCapacitor import ru.dbotthepony.mc.otm.menu.MatterCapacitorMenu
import ru.dbotthepony.mc.otm.registry.MBlockEntities import ru.dbotthepony.mc.otm.registry.MBlockEntities
import ru.dbotthepony.mc.otm.set import ru.dbotthepony.mc.otm.set
import javax.annotation.ParametersAreNonnullByDefault import javax.annotation.ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault @MethodsReturnNonnullByDefault
@ParametersAreNonnullByDefault @ParametersAreNonnullByDefault
class BlockEntityMatterCapacitorBank(p_155229_: BlockPos, p_155230_: BlockState) : class MatterCapacitorBankBlockEntity(p_155229_: BlockPos, p_155230_: BlockState) :
BlockEntityMattery(MBlockEntities.MATTER_CAPACITOR_BANK, p_155229_, p_155230_), IMatterGraphNode, IMatterHandler { MatteryBlockEntity(MBlockEntities.MATTER_CAPACITOR_BANK, p_155229_, p_155230_), IMatterGraphNode, IMatterHandler {
private val node = Graph6Node<IMatterGraphNode>(this) private val node = Graph6Node<IMatterGraphNode>(this)
private val resolverNode = LazyOptional.of { this } private val resolverNode = LazyOptional.of { this }
@ -130,9 +130,9 @@ class BlockEntityMatterCapacitorBank(p_155229_: BlockPos, p_155230_: BlockState)
if (level != null) { if (level != null) {
var state = blockState var state = blockState
for (i in BlockBatteryBank.BATTERY_SLOTS_PROPS.indices) { for (i in BatteryBankBlock.BATTERY_SLOTS_PROPS.indices) {
state = state.setValue( state = state.setValue(
BlockBatteryBank.BATTERY_SLOTS_PROPS[i], BatteryBankBlock.BATTERY_SLOTS_PROPS[i],
getItem(i).getCapability(MatteryCapability.MATTER).isPresent getItem(i).getCapability(MatteryCapability.MATTER).isPresent
) )
} }
@ -163,7 +163,7 @@ class BlockEntityMatterCapacitorBank(p_155229_: BlockPos, p_155230_: BlockState)
} }
override fun createMenu(containerID: Int, inventory: Inventory, ply: Player): AbstractContainerMenu { override fun createMenu(containerID: Int, inventory: Inventory, ply: Player): AbstractContainerMenu {
return MenuMatterCapacitor(containerID, inventory, this) return MatterCapacitorMenu(containerID, inventory, this)
} }
private var valid = true private var valid = true

View File

@ -16,7 +16,7 @@ import net.minecraftforge.common.capabilities.Capability
import net.minecraftforge.common.util.LazyOptional import net.minecraftforge.common.util.LazyOptional
import net.minecraftforge.items.CapabilityItemHandler import net.minecraftforge.items.CapabilityItemHandler
import net.minecraftforge.items.IItemHandler import net.minecraftforge.items.IItemHandler
import ru.dbotthepony.mc.otm.block.entity.worker.BlockEntityMatteryWorker import ru.dbotthepony.mc.otm.block.entity.worker.MatteryWorkerBlockEntity
import ru.dbotthepony.mc.otm.block.entity.worker.WorkerJob import ru.dbotthepony.mc.otm.block.entity.worker.WorkerJob
import ru.dbotthepony.mc.otm.block.entity.worker.WorkerJobStatus import ru.dbotthepony.mc.otm.block.entity.worker.WorkerJobStatus
import ru.dbotthepony.mc.otm.capability.MatteryCapability import ru.dbotthepony.mc.otm.capability.MatteryCapability
@ -33,7 +33,7 @@ import ru.dbotthepony.mc.otm.ifHas
import ru.dbotthepony.mc.otm.matter.baselineComplexityDecomposeTicks import ru.dbotthepony.mc.otm.matter.baselineComplexityDecomposeTicks
import ru.dbotthepony.mc.otm.matter.canDecompose import ru.dbotthepony.mc.otm.matter.canDecompose
import ru.dbotthepony.mc.otm.matter.getMatterValue import ru.dbotthepony.mc.otm.matter.getMatterValue
import ru.dbotthepony.mc.otm.menu.MenuMatterDecomposer import ru.dbotthepony.mc.otm.menu.MatterDecomposerMenu
import ru.dbotthepony.mc.otm.registry.MBlockEntities import ru.dbotthepony.mc.otm.registry.MBlockEntities
import ru.dbotthepony.mc.otm.registry.MItems import ru.dbotthepony.mc.otm.registry.MItems
import ru.dbotthepony.mc.otm.set import ru.dbotthepony.mc.otm.set
@ -91,8 +91,8 @@ fun moveMatterAsDustIntoContainer(_matterValue: ImpreciseFraction, container: Ma
return ImpreciseFraction.ZERO return ImpreciseFraction.ZERO
} }
class BlockEntityMatterDecomposer(pos: BlockPos, state: BlockState) class MatterDecomposerBlockEntity(pos: BlockPos, state: BlockState)
: BlockEntityMatteryWorker(MBlockEntities.MATTER_DECOMPOSER, pos, state), IMatterGraphNode { : MatteryWorkerBlockEntity(MBlockEntities.MATTER_DECOMPOSER, pos, state), IMatterGraphNode {
override val energy = WorkerEnergyStorage(this, ENERGY_STORAGE, MAX_IO) override val energy = WorkerEnergyStorage(this, ENERGY_STORAGE, MAX_IO)
private var valid = true private var valid = true
@ -127,7 +127,7 @@ class BlockEntityMatterDecomposer(pos: BlockPos, state: BlockState)
} }
override fun createMenu(containerID: Int, inventory: Inventory, ply: Player): AbstractContainerMenu { override fun createMenu(containerID: Int, inventory: Inventory, ply: Player): AbstractContainerMenu {
return MenuMatterDecomposer(containerID, inventory, this) return MatterDecomposerMenu(containerID, inventory, this)
} }
override fun saveAdditional(nbt: CompoundTag) { override fun saveAdditional(nbt: CompoundTag) {

View File

@ -4,7 +4,7 @@ import net.minecraft.core.BlockPos
import net.minecraft.core.Direction import net.minecraft.core.Direction
import net.minecraft.world.level.block.state.BlockState import net.minecraft.world.level.block.state.BlockState
import ru.dbotthepony.mc.otm.capability.matter.IMatterTaskProvider import ru.dbotthepony.mc.otm.capability.matter.IMatterTaskProvider
import ru.dbotthepony.mc.otm.menu.MenuMatterPanel import ru.dbotthepony.mc.otm.menu.MatterPanelMenu
import net.minecraft.world.entity.player.Inventory import net.minecraft.world.entity.player.Inventory
import net.minecraft.world.entity.player.Player import net.minecraft.world.entity.player.Player
import net.minecraft.world.inventory.AbstractContainerMenu import net.minecraft.world.inventory.AbstractContainerMenu
@ -31,21 +31,21 @@ import ru.dbotthepony.mc.otm.registry.MBlockEntities
import java.util.ArrayList import java.util.ArrayList
import java.util.List import java.util.List
class BlockEntityMatterPanel(p_155229_: BlockPos, p_155230_: BlockState) : class MatterPanelBlockEntity(p_155229_: BlockPos, p_155230_: BlockState) :
BlockEntityMattery(MBlockEntities.MATTER_PANEL, p_155229_, p_155230_), IMatterGraphNode, IMatterTaskProvider { MatteryBlockEntity(MBlockEntities.MATTER_PANEL, p_155229_, p_155230_), IMatterGraphNode, IMatterTaskProvider {
private val listeners = ArrayList<MenuMatterPanel>() private val listeners = ArrayList<MatterPanelMenu>()
private val node = Graph6Node<IMatterGraphNode>(this) private val node = Graph6Node<IMatterGraphNode>(this)
override fun getAsMatterNode(): Graph6Node<IMatterGraphNode> { override fun getAsMatterNode(): Graph6Node<IMatterGraphNode> {
return node return node
} }
fun attachMenu(menu: MenuMatterPanel) { fun attachMenu(menu: MatterPanelMenu) {
listeners.add(menu) listeners.add(menu)
} }
fun deatachMenu(menu: MenuMatterPanel) { fun deatachMenu(menu: MatterPanelMenu) {
listeners.remove(menu) listeners.remove(menu)
} }
@ -54,7 +54,7 @@ class BlockEntityMatterPanel(p_155229_: BlockPos, p_155230_: BlockState) :
} }
override fun createMenu(containerID: Int, inventory: Inventory, ply: Player): AbstractContainerMenu { override fun createMenu(containerID: Int, inventory: Inventory, ply: Player): AbstractContainerMenu {
return MenuMatterPanel(containerID, inventory, this) return MatterPanelMenu(containerID, inventory, this)
} }
private var valid = true private var valid = true
@ -117,7 +117,7 @@ class BlockEntityMatterPanel(p_155229_: BlockPos, p_155230_: BlockState) :
if (!simulate) { if (!simulate) {
val new = task.shrinkRequired(1) val new = task.shrinkRequired(1)
_tasks[key] = new _tasks[key] = new
listeners.forEach { menu: MenuMatterPanel -> menu.taskUpdated(new) } listeners.forEach { menu: MatterPanelMenu -> menu.taskUpdated(new) }
graph.onMatterTaskUpdated(new, task) graph.onMatterTaskUpdated(new, task)
setChanged() setChanged()
} }
@ -141,12 +141,12 @@ class BlockEntityMatterPanel(p_155229_: BlockPos, p_155230_: BlockState) :
if (localTask.required <= 0 && localTask.in_progress <= 0) { if (localTask.required <= 0 && localTask.in_progress <= 0) {
_tasks.remove(task.id) _tasks.remove(task.id)
graph?.onMatterTaskCreated(task) graph?.onMatterTaskCreated(task)
listeners.forEach { menu: MenuMatterPanel -> menu.taskRemoved(localTask) } listeners.forEach { menu: MatterPanelMenu -> menu.taskRemoved(localTask) }
} else { } else {
// Задача обновлена // Задача обновлена
_tasks[task.id()] = localTask _tasks[task.id()] = localTask
graph?.onMatterTaskUpdated(localTask, oldTask) graph?.onMatterTaskUpdated(localTask, oldTask)
listeners.forEach { menu: MenuMatterPanel -> menu.taskUpdated(localTask) } listeners.forEach { menu: MatterPanelMenu -> menu.taskUpdated(localTask) }
} }
setChanged() setChanged()
@ -189,7 +189,7 @@ class BlockEntityMatterPanel(p_155229_: BlockPos, p_155230_: BlockState) :
(node.graph as MatterNetworkGraph?)?.onMatterTaskRemoved(task) (node.graph as MatterNetworkGraph?)?.onMatterTaskRemoved(task)
listeners.forEach { menu: MenuMatterPanel -> menu.taskRemoved(task) } listeners.forEach { menu: MatterPanelMenu -> menu.taskRemoved(task) }
setChanged() setChanged()
} }
@ -201,7 +201,7 @@ class BlockEntityMatterPanel(p_155229_: BlockPos, p_155230_: BlockState) :
(node.graph as MatterNetworkGraph?)?.onMatterTaskCreated(task) (node.graph as MatterNetworkGraph?)?.onMatterTaskCreated(task)
listeners.forEach { menu: MenuMatterPanel -> menu.taskUpdated(task) } listeners.forEach { menu: MatterPanelMenu -> menu.taskUpdated(task) }
setChanged() setChanged()
return task return task
@ -212,7 +212,7 @@ class BlockEntityMatterPanel(p_155229_: BlockPos, p_155230_: BlockState) :
for (task in _tasks.values) { for (task in _tasks.values) {
graph?.onMatterTaskRemoved(task) graph?.onMatterTaskRemoved(task)
listeners.forEach { menu: MenuMatterPanel -> menu.taskUpdated(task) } listeners.forEach { menu: MatterPanelMenu -> menu.taskUpdated(task) }
} }
_tasks.clear() _tasks.clear()

View File

@ -14,7 +14,7 @@ import net.minecraft.world.level.block.state.BlockState
import net.minecraftforge.common.capabilities.Capability import net.minecraftforge.common.capabilities.Capability
import net.minecraftforge.common.util.LazyOptional import net.minecraftforge.common.util.LazyOptional
import net.minecraftforge.items.CapabilityItemHandler import net.minecraftforge.items.CapabilityItemHandler
import ru.dbotthepony.mc.otm.block.entity.worker.BlockEntityMatteryWorker import ru.dbotthepony.mc.otm.block.entity.worker.MatteryWorkerBlockEntity
import ru.dbotthepony.mc.otm.block.entity.worker.WorkerJob import ru.dbotthepony.mc.otm.block.entity.worker.WorkerJob
import ru.dbotthepony.mc.otm.block.entity.worker.WorkerJobStatus import ru.dbotthepony.mc.otm.block.entity.worker.WorkerJobStatus
import ru.dbotthepony.mc.otm.block.entity.worker.WorkerTickContext import ru.dbotthepony.mc.otm.block.entity.worker.WorkerTickContext
@ -30,13 +30,13 @@ import ru.dbotthepony.mc.otm.graph.Graph6Node
import ru.dbotthepony.mc.otm.graph.matter.IMatterGraphNode import ru.dbotthepony.mc.otm.graph.matter.IMatterGraphNode
import ru.dbotthepony.mc.otm.graph.matter.MatterNetworkGraph import ru.dbotthepony.mc.otm.graph.matter.MatterNetworkGraph
import ru.dbotthepony.mc.otm.ifHas import ru.dbotthepony.mc.otm.ifHas
import ru.dbotthepony.mc.otm.item.ItemMatterDust import ru.dbotthepony.mc.otm.item.MatterDustItem
import ru.dbotthepony.mc.otm.menu.MenuMatterRecycler import ru.dbotthepony.mc.otm.menu.MatterRecyclerMenu
import ru.dbotthepony.mc.otm.registry.MBlockEntities import ru.dbotthepony.mc.otm.registry.MBlockEntities
import ru.dbotthepony.mc.otm.set import ru.dbotthepony.mc.otm.set
class BlockEntityMatterRecycler(blockPos: BlockPos, blockState: BlockState) class MatterRecyclerBlockEntity(blockPos: BlockPos, blockState: BlockState)
: BlockEntityMatteryWorker(MBlockEntities.MATTER_RECYCLER, blockPos, blockState), IMatterGraphNode { : MatteryWorkerBlockEntity(MBlockEntities.MATTER_RECYCLER, blockPos, blockState), IMatterGraphNode {
val matter = MatterHandlerImpl( val matter = MatterHandlerImpl(
this::setChangedLight, this::setChangedLight,
MatterDirection.EXTRACT, MatterDirection.EXTRACT,
@ -58,7 +58,7 @@ class BlockEntityMatterRecycler(blockPos: BlockPos, blockState: BlockState)
private val itemHandler = container.handler(object : MatteryContainerFilter { private val itemHandler = container.handler(object : MatteryContainerFilter {
override fun canInsert(slot: Int, stack: ItemStack): Boolean { override fun canInsert(slot: Int, stack: ItemStack): Boolean {
return stack.item is ItemMatterDust return stack.item is MatterDustItem
} }
override fun canExtract(slot: Int, amount: Int, stack: ItemStack): Boolean { override fun canExtract(slot: Int, amount: Int, stack: ItemStack): Boolean {
@ -122,7 +122,7 @@ class BlockEntityMatterRecycler(blockPos: BlockPos, blockState: BlockState)
override fun getDefaultDisplayName() = NAME override fun getDefaultDisplayName() = NAME
override fun createMenu(containerID: Int, inventory: Inventory, ply: Player): AbstractContainerMenu { override fun createMenu(containerID: Int, inventory: Inventory, ply: Player): AbstractContainerMenu {
return MenuMatterRecycler(containerID, inventory, this) return MatterRecyclerMenu(containerID, inventory, this)
} }
override fun onJobFinish(job: WorkerJob): WorkerJobStatus { override fun onJobFinish(job: WorkerJob): WorkerJobStatus {
@ -136,14 +136,14 @@ class BlockEntityMatterRecycler(blockPos: BlockPos, blockState: BlockState)
val stack = container[0] val stack = container[0]
if (stack.isEmpty || stack.item !is ItemMatterDust) { if (stack.isEmpty || stack.item !is MatterDustItem) {
return null return null
} }
val copy = stack.copy() val copy = stack.copy()
copy.count = 1 copy.count = 1
val dustMatter = (stack.item as ItemMatterDust).getMatterValue(copy) ?: return null val dustMatter = (stack.item as MatterDustItem).getMatterValue(copy) ?: return null
stack.shrink(1) stack.shrink(1)
return WorkerJob(copy, dustMatter.value.toDouble() * MATTER_TICKS, POWER_CONSUMPTION) return WorkerJob(copy, dustMatter.value.toDouble() * MATTER_TICKS, POWER_CONSUMPTION)
} }

View File

@ -14,7 +14,7 @@ import net.minecraft.world.level.block.state.BlockState
import net.minecraftforge.common.capabilities.Capability import net.minecraftforge.common.capabilities.Capability
import net.minecraftforge.common.util.LazyOptional import net.minecraftforge.common.util.LazyOptional
import net.minecraftforge.items.CapabilityItemHandler import net.minecraftforge.items.CapabilityItemHandler
import ru.dbotthepony.mc.otm.block.entity.worker.BlockEntityMatteryWorker import ru.dbotthepony.mc.otm.block.entity.worker.MatteryWorkerBlockEntity
import ru.dbotthepony.mc.otm.block.entity.worker.WorkerJob import ru.dbotthepony.mc.otm.block.entity.worker.WorkerJob
import ru.dbotthepony.mc.otm.block.entity.worker.WorkerJobStatus import ru.dbotthepony.mc.otm.block.entity.worker.WorkerJobStatus
import ru.dbotthepony.mc.otm.block.entity.worker.WorkerTickContext import ru.dbotthepony.mc.otm.block.entity.worker.WorkerTickContext
@ -30,12 +30,12 @@ import ru.dbotthepony.mc.otm.graph.matter.MatterNetworkGraph
import ru.dbotthepony.mc.otm.ifHas import ru.dbotthepony.mc.otm.ifHas
import ru.dbotthepony.mc.otm.matter.baselineComplexityReplicateTicks import ru.dbotthepony.mc.otm.matter.baselineComplexityReplicateTicks
import ru.dbotthepony.mc.otm.matter.getMatterValue import ru.dbotthepony.mc.otm.matter.getMatterValue
import ru.dbotthepony.mc.otm.menu.MenuMatterReplicator import ru.dbotthepony.mc.otm.menu.MatterReplicatorMenu
import ru.dbotthepony.mc.otm.registry.MBlockEntities import ru.dbotthepony.mc.otm.registry.MBlockEntities
import ru.dbotthepony.mc.otm.set import ru.dbotthepony.mc.otm.set
class BlockEntityMatterReplicator(p_155229_: BlockPos, p_155230_: BlockState) : class MatterReplicatorBlockEntity(p_155229_: BlockPos, p_155230_: BlockState) :
BlockEntityMatteryWorker(MBlockEntities.MATTER_REPLICATOR, p_155229_, p_155230_), IMatterGraphNode { MatteryWorkerBlockEntity(MBlockEntities.MATTER_REPLICATOR, p_155229_, p_155230_), IMatterGraphNode {
override val energy = WorkerEnergyStorage(this, STORAGE, MAX_IO) override val energy = WorkerEnergyStorage(this, STORAGE, MAX_IO)
private val node = Graph6Node<IMatterGraphNode>(this) private val node = Graph6Node<IMatterGraphNode>(this)
@ -62,7 +62,7 @@ class BlockEntityMatterReplicator(p_155229_: BlockPos, p_155230_: BlockState) :
} }
override fun createMenu(containerID: Int, inventory: Inventory, ply: Player): AbstractContainerMenu { override fun createMenu(containerID: Int, inventory: Inventory, ply: Player): AbstractContainerMenu {
return MenuMatterReplicator(containerID, inventory, this) return MatterReplicatorMenu(containerID, inventory, this)
} }
override fun onJobFinish(job: WorkerJob): WorkerJobStatus { override fun onJobFinish(job: WorkerJob): WorkerJobStatus {

View File

@ -15,7 +15,7 @@ import net.minecraft.world.level.block.state.BlockState
import net.minecraftforge.common.capabilities.Capability import net.minecraftforge.common.capabilities.Capability
import net.minecraftforge.common.util.LazyOptional import net.minecraftforge.common.util.LazyOptional
import net.minecraftforge.items.CapabilityItemHandler import net.minecraftforge.items.CapabilityItemHandler
import ru.dbotthepony.mc.otm.block.entity.worker.BlockEntityMatteryWorker import ru.dbotthepony.mc.otm.block.entity.worker.MatteryWorkerBlockEntity
import ru.dbotthepony.mc.otm.block.entity.worker.WorkerJob import ru.dbotthepony.mc.otm.block.entity.worker.WorkerJob
import ru.dbotthepony.mc.otm.block.entity.worker.WorkerJobStatus import ru.dbotthepony.mc.otm.block.entity.worker.WorkerJobStatus
import ru.dbotthepony.mc.otm.capability.MatteryCapability import ru.dbotthepony.mc.otm.capability.MatteryCapability
@ -27,12 +27,12 @@ import ru.dbotthepony.mc.otm.graph.Graph6Node
import ru.dbotthepony.mc.otm.graph.matter.IMatterGraphNode import ru.dbotthepony.mc.otm.graph.matter.IMatterGraphNode
import ru.dbotthepony.mc.otm.graph.matter.MatterNetworkGraph import ru.dbotthepony.mc.otm.graph.matter.MatterNetworkGraph
import ru.dbotthepony.mc.otm.matter.* import ru.dbotthepony.mc.otm.matter.*
import ru.dbotthepony.mc.otm.menu.MenuMatterScanner import ru.dbotthepony.mc.otm.menu.MatterScannerMenu
import ru.dbotthepony.mc.otm.registry.MBlockEntities import ru.dbotthepony.mc.otm.registry.MBlockEntities
import java.util.* import java.util.*
class BlockEntityMatterScanner(p_155229_: BlockPos, p_155230_: BlockState) : class MatterScannerBlockEntity(p_155229_: BlockPos, p_155230_: BlockState) :
BlockEntityMatteryWorker(MBlockEntities.MATTER_SCANNER, p_155229_, p_155230_), IMatterGraphNode { MatteryWorkerBlockEntity(MBlockEntities.MATTER_SCANNER, p_155229_, p_155230_), IMatterGraphNode {
val container = MatteryContainer(this::setChanged, 1) val container = MatteryContainer(this::setChanged, 1)
override val energy = WorkerEnergyStorage(this, STORAGE, MAX_IO) override val energy = WorkerEnergyStorage(this, STORAGE, MAX_IO)
@ -97,7 +97,7 @@ class BlockEntityMatterScanner(p_155229_: BlockPos, p_155230_: BlockState) :
} }
override fun createMenu(containerID: Int, inventory: Inventory, ply: Player): AbstractContainerMenu { override fun createMenu(containerID: Int, inventory: Inventory, ply: Player): AbstractContainerMenu {
return MenuMatterScanner(containerID, inventory, this) return MatterScannerMenu(containerID, inventory, this)
} }
override fun saveAdditional(nbt: CompoundTag) { override fun saveAdditional(nbt: CompoundTag) {

View File

@ -6,7 +6,6 @@ import net.minecraft.world.level.block.state.BlockState
import net.minecraft.world.level.block.entity.BlockEntity import net.minecraft.world.level.block.entity.BlockEntity
import net.minecraft.world.MenuProvider import net.minecraft.world.MenuProvider
import java.lang.Runnable import java.lang.Runnable
import ru.dbotthepony.mc.otm.OverdriveThatMatters
import net.minecraft.server.level.ServerLevel import net.minecraft.server.level.ServerLevel
import net.minecraft.client.multiplayer.ClientLevel import net.minecraft.client.multiplayer.ClientLevel
import net.minecraft.core.Direction import net.minecraft.core.Direction
@ -22,13 +21,11 @@ import net.minecraft.nbt.StringTag
import net.minecraft.nbt.ByteTag import net.minecraft.nbt.ByteTag
import net.minecraft.network.chat.Component import net.minecraft.network.chat.Component
import net.minecraft.world.level.Level import net.minecraft.world.level.Level
import net.minecraft.world.level.chunk.ChunkStatus
import net.minecraftforge.common.capabilities.Capability import net.minecraftforge.common.capabilities.Capability
import ru.dbotthepony.mc.otm.ifHas import ru.dbotthepony.mc.otm.ifHas
import ru.dbotthepony.mc.otm.set import ru.dbotthepony.mc.otm.set
import java.util.function.Consumer
abstract class BlockEntityMattery(p_155228_: BlockEntityType<*>, p_155229_: BlockPos, p_155230_: BlockState) : BlockEntity(p_155228_, p_155229_, p_155230_), MenuProvider { abstract class MatteryBlockEntity(p_155228_: BlockEntityType<*>, p_155229_: BlockPos, p_155230_: BlockState) : BlockEntity(p_155228_, p_155229_, p_155230_), MenuProvider {
var customDisplayName: Component? = null var customDisplayName: Component? = null
var redstoneSignal = 0 var redstoneSignal = 0
set(level) { set(level) {

View File

@ -10,12 +10,11 @@ import net.minecraftforge.common.util.LazyOptional
import net.minecraftforge.energy.CapabilityEnergy import net.minecraftforge.energy.CapabilityEnergy
import ru.dbotthepony.mc.otm.capability.* import ru.dbotthepony.mc.otm.capability.*
import ru.dbotthepony.mc.otm.container.MatteryContainer import ru.dbotthepony.mc.otm.container.MatteryContainer
import ru.dbotthepony.mc.otm.core.Fraction
import ru.dbotthepony.mc.otm.core.ImpreciseFraction import ru.dbotthepony.mc.otm.core.ImpreciseFraction
import ru.dbotthepony.mc.otm.ifHas import ru.dbotthepony.mc.otm.ifHas
import ru.dbotthepony.mc.otm.set import ru.dbotthepony.mc.otm.set
abstract class BlockEntityMatteryPowered(p_155228_: BlockEntityType<*>, p_155229_: BlockPos, p_155230_: BlockState) : BlockEntityMattery(p_155228_, p_155229_, p_155230_) { abstract class MatteryPoweredBlockEntity(p_155228_: BlockEntityType<*>, p_155229_: BlockPos, p_155230_: BlockState) : MatteryBlockEntity(p_155228_, p_155229_, p_155230_) {
abstract val energy: EnergyStorageImpl abstract val energy: EnergyStorageImpl
private var valid = true private var valid = true
val batteryContainer = MatteryContainer(this::setChangedLight, 1) val batteryContainer = MatteryContainer(this::setChangedLight, 1)

View File

@ -6,14 +6,14 @@ import net.minecraft.world.level.block.state.BlockState
import ru.dbotthepony.mc.otm.container.MatteryContainer import ru.dbotthepony.mc.otm.container.MatteryContainer
import net.minecraft.world.item.ItemStack import net.minecraft.world.item.ItemStack
import ru.dbotthepony.mc.otm.capability.MatteryCapability import ru.dbotthepony.mc.otm.capability.MatteryCapability
import ru.dbotthepony.mc.otm.block.BlockPatternStorage import ru.dbotthepony.mc.otm.block.PatternStorageBlock
import net.minecraft.nbt.CompoundTag import net.minecraft.nbt.CompoundTag
import net.minecraftforge.common.util.LazyOptional import net.minecraftforge.common.util.LazyOptional
import net.minecraftforge.items.CapabilityItemHandler import net.minecraftforge.items.CapabilityItemHandler
import net.minecraft.world.entity.player.Inventory import net.minecraft.world.entity.player.Inventory
import net.minecraft.world.entity.player.Player import net.minecraft.world.entity.player.Player
import net.minecraft.world.inventory.AbstractContainerMenu import net.minecraft.world.inventory.AbstractContainerMenu
import ru.dbotthepony.mc.otm.menu.MenuPatternStorage import ru.dbotthepony.mc.otm.menu.PatternStorageMenu
import net.minecraft.MethodsReturnNonnullByDefault import net.minecraft.MethodsReturnNonnullByDefault
import net.minecraft.core.Direction import net.minecraft.core.Direction
import net.minecraft.network.chat.Component import net.minecraft.network.chat.Component
@ -33,8 +33,8 @@ import java.util.ArrayList
@MethodsReturnNonnullByDefault @MethodsReturnNonnullByDefault
@ParametersAreNonnullByDefault @ParametersAreNonnullByDefault
class BlockEntityPatternStorage(p_155229_: BlockPos, p_155230_: BlockState) : class PatternStorageBlockEntity(p_155229_: BlockPos, p_155230_: BlockState) :
BlockEntityMattery(MBlockEntities.PATTERN_STORAGE, p_155229_, p_155230_), IMatterGraphNode, IPatternStorage { MatteryBlockEntity(MBlockEntities.PATTERN_STORAGE, p_155229_, p_155230_), IMatterGraphNode, IPatternStorage {
private val node = Graph6Node<IMatterGraphNode>(this) private val node = Graph6Node<IMatterGraphNode>(this)
private val resolverPatterns = LazyOptional.of { this } private val resolverPatterns = LazyOptional.of { this }
@ -76,7 +76,7 @@ class BlockEntityPatternStorage(p_155229_: BlockPos, p_155230_: BlockState) :
for (i in 0..7) { for (i in 0..7) {
state = state.setValue( state = state.setValue(
BlockPatternStorage.PATTERN_STORAGE_DISKS_PROPS[i], PatternStorageBlock.PATTERN_STORAGE_DISKS_PROPS[i],
patterns.getItem(i).getCapability(MatteryCapability.PATTERN).isPresent patterns.getItem(i).getCapability(MatteryCapability.PATTERN).isPresent
) )
} }
@ -147,7 +147,7 @@ class BlockEntityPatternStorage(p_155229_: BlockPos, p_155230_: BlockState) :
} }
override fun createMenu(containerID: Int, inventory: Inventory, ply: Player): AbstractContainerMenu { override fun createMenu(containerID: Int, inventory: Inventory, ply: Player): AbstractContainerMenu {
return MenuPatternStorage(containerID, inventory, this) return PatternStorageMenu(containerID, inventory, this)
} }
override val storedPatterns: Collection<PatternState> get() { override val storedPatterns: Collection<PatternState> get() {

View File

@ -12,7 +12,7 @@ import net.minecraft.world.level.block.state.BlockState
import net.minecraftforge.common.capabilities.Capability import net.minecraftforge.common.capabilities.Capability
import net.minecraftforge.common.util.LazyOptional import net.minecraftforge.common.util.LazyOptional
import net.minecraftforge.items.CapabilityItemHandler import net.minecraftforge.items.CapabilityItemHandler
import ru.dbotthepony.mc.otm.block.entity.worker.BlockEntityMatteryWorker import ru.dbotthepony.mc.otm.block.entity.worker.MatteryWorkerBlockEntity
import ru.dbotthepony.mc.otm.block.entity.worker.WorkerJob import ru.dbotthepony.mc.otm.block.entity.worker.WorkerJob
import ru.dbotthepony.mc.otm.block.entity.worker.WorkerJobStatus import ru.dbotthepony.mc.otm.block.entity.worker.WorkerJobStatus
import ru.dbotthepony.mc.otm.capability.WorkerEnergyStorage import ru.dbotthepony.mc.otm.capability.WorkerEnergyStorage
@ -24,7 +24,7 @@ import ru.dbotthepony.mc.otm.registry.MBlockEntities
import ru.dbotthepony.mc.otm.registry.MRecipes import ru.dbotthepony.mc.otm.registry.MRecipes
import ru.dbotthepony.mc.otm.set import ru.dbotthepony.mc.otm.set
class BlockEntityPlatePress(p_155229_: BlockPos, p_155230_: BlockState) : BlockEntityMatteryWorker(MBlockEntities.PLATE_PRESS, p_155229_, p_155230_) { class PlatePressBlockEntity(p_155229_: BlockPos, p_155230_: BlockState) : MatteryWorkerBlockEntity(MBlockEntities.PLATE_PRESS, p_155229_, p_155230_) {
val container = MatteryContainer(this::setChangedLight, 2) val container = MatteryContainer(this::setChangedLight, 2)
override val energy = WorkerEnergyStorage(this::setChangedLight) override val energy = WorkerEnergyStorage(this::setChangedLight)

View File

@ -22,8 +22,8 @@ import net.minecraft.world.level.levelgen.structure.BoundingBox
import net.minecraft.world.phys.AABB import net.minecraft.world.phys.AABB
import net.minecraft.world.phys.Vec3 import net.minecraft.world.phys.Vec3
import ru.dbotthepony.mc.otm.registry.Registry import ru.dbotthepony.mc.otm.registry.Registry
import ru.dbotthepony.mc.otm.block.BlockBlackHole import ru.dbotthepony.mc.otm.block.BlackHoleBlock
import ru.dbotthepony.mc.otm.block.entity.BlockEntityGravitationStabilizer import ru.dbotthepony.mc.otm.block.entity.GravitationStabilizerBlockEntity
import ru.dbotthepony.mc.otm.block.entity.blackhole.ExplosionQueue.Companion.queueForLevel import ru.dbotthepony.mc.otm.block.entity.blackhole.ExplosionQueue.Companion.queueForLevel
import ru.dbotthepony.mc.otm.core.ImpreciseFraction import ru.dbotthepony.mc.otm.core.ImpreciseFraction
import ru.dbotthepony.mc.otm.core.plus import ru.dbotthepony.mc.otm.core.plus
@ -34,7 +34,7 @@ import ru.dbotthepony.mc.otm.set
import kotlin.math.roundToInt import kotlin.math.roundToInt
import kotlin.math.sqrt import kotlin.math.sqrt
class BlockEntityBlackHole(p_155229_: BlockPos, p_155230_: BlockState) : BlockEntity(MBlockEntities.BLACK_HOLE, p_155229_, p_155230_) { class BlackHoleBlockEntity(p_155229_: BlockPos, p_155230_: BlockState) : BlockEntity(MBlockEntities.BLACK_HOLE, p_155229_, p_155230_) {
var mass = BASELINE_MASS var mass = BASELINE_MASS
set(mass) { set(mass) {
if (mass <= ImpreciseFraction.ZERO) { if (mass <= ImpreciseFraction.ZERO) {
@ -79,7 +79,7 @@ class BlockEntityBlackHole(p_155229_: BlockPos, p_155230_: BlockState) : BlockEn
} }
override fun getRenderBoundingBox(): AABB { override fun getRenderBoundingBox(): AABB {
return AABB(blockPos.offset(-BlockEntityGravitationStabilizer.RANGE, -BlockEntityGravitationStabilizer.RANGE, -BlockEntityGravitationStabilizer.RANGE), blockPos.offset(BlockEntityGravitationStabilizer.RANGE, BlockEntityGravitationStabilizer.RANGE, BlockEntityGravitationStabilizer.RANGE)) return AABB(blockPos.offset(-GravitationStabilizerBlockEntity.RANGE, -GravitationStabilizerBlockEntity.RANGE, -GravitationStabilizerBlockEntity.RANGE), blockPos.offset(GravitationStabilizerBlockEntity.RANGE, GravitationStabilizerBlockEntity.RANGE, GravitationStabilizerBlockEntity.RANGE))
} }
var gravitationStrength = 1.0 var gravitationStrength = 1.0
@ -95,10 +95,10 @@ class BlockEntityBlackHole(p_155229_: BlockPos, p_155230_: BlockState) : BlockEn
sleepTicks = 4 sleepTicks = 4
} }
private val stabilizers = ArrayList<BlockEntityGravitationStabilizer>() private val stabilizers = ArrayList<GravitationStabilizerBlockEntity>()
private var stabilizerClientCount = 0 private var stabilizerClientCount = 0
fun stabilizerAttached(stabilizer: BlockEntityGravitationStabilizer) { fun stabilizerAttached(stabilizer: GravitationStabilizerBlockEntity) {
if (stabilizers.contains(stabilizer)) if (stabilizers.contains(stabilizer))
return return
@ -106,7 +106,7 @@ class BlockEntityBlackHole(p_155229_: BlockPos, p_155230_: BlockState) : BlockEn
mass = mass mass = mass
} }
fun stabilizerDetached(stabilizer: BlockEntityGravitationStabilizer) { fun stabilizerDetached(stabilizer: GravitationStabilizerBlockEntity) {
if (stabilizers.remove(stabilizer)) { if (stabilizers.remove(stabilizer)) {
mass = mass mass = mass
} }
@ -315,7 +315,7 @@ class BlockEntityBlackHole(p_155229_: BlockPos, p_155230_: BlockState) : BlockEn
val getBlock = level.getBlockState(pos) val getBlock = level.getBlockState(pos)
if (!getBlock.isAir && getBlock.block !is BlockBlackHole) { if (!getBlock.isAir && getBlock.block !is BlackHoleBlock) {
val speed = getBlock.getDestroySpeed(level, pos) val speed = getBlock.getDestroySpeed(level, pos)
val eResist = try { val eResist = try {

View File

@ -3,7 +3,7 @@ package ru.dbotthepony.mc.otm.block.entity.worker
import net.minecraft.world.level.block.entity.BlockEntityType import net.minecraft.world.level.block.entity.BlockEntityType
import net.minecraft.core.BlockPos import net.minecraft.core.BlockPos
import net.minecraft.world.level.block.state.BlockState import net.minecraft.world.level.block.state.BlockState
import ru.dbotthepony.mc.otm.block.entity.BlockEntityMatteryPowered import ru.dbotthepony.mc.otm.block.entity.MatteryPoweredBlockEntity
import net.minecraft.nbt.CompoundTag import net.minecraft.nbt.CompoundTag
import net.minecraft.nbt.DoubleTag import net.minecraft.nbt.DoubleTag
import net.minecraft.world.level.block.Block import net.minecraft.world.level.block.Block
@ -13,8 +13,8 @@ import ru.dbotthepony.mc.otm.core.weakLessThan
import ru.dbotthepony.mc.otm.ifHas import ru.dbotthepony.mc.otm.ifHas
import ru.dbotthepony.mc.otm.set import ru.dbotthepony.mc.otm.set
abstract class BlockEntityMatteryWorker(p_155228_: BlockEntityType<*>, p_155229_: BlockPos, p_155230_: BlockState) : abstract class MatteryWorkerBlockEntity(p_155228_: BlockEntityType<*>, p_155229_: BlockPos, p_155230_: BlockState) :
BlockEntityMatteryPowered(p_155228_, p_155229_, p_155230_) { MatteryPoweredBlockEntity(p_155228_, p_155229_, p_155230_) {
var workTicks = 0.0 var workTicks = 0.0
protected set protected set

View File

@ -12,8 +12,8 @@ import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider
import net.minecraft.network.chat.TranslatableComponent import net.minecraft.network.chat.TranslatableComponent
import net.minecraft.world.phys.Vec3 import net.minecraft.world.phys.Vec3
import org.lwjgl.opengl.GL30 import org.lwjgl.opengl.GL30
import ru.dbotthepony.mc.otm.block.entity.BlockEntityGravitationStabilizer import ru.dbotthepony.mc.otm.block.entity.GravitationStabilizerBlockEntity
import ru.dbotthepony.mc.otm.block.entity.blackhole.BlockEntityBlackHole import ru.dbotthepony.mc.otm.block.entity.blackhole.BlackHoleBlockEntity
import ru.dbotthepony.mc.otm.capability.MatteryCapability import ru.dbotthepony.mc.otm.capability.MatteryCapability
import ru.dbotthepony.mc.otm.core.* import ru.dbotthepony.mc.otm.core.*
import ru.dbotthepony.mc.otm.menu.FormattingHelper import ru.dbotthepony.mc.otm.menu.FormattingHelper
@ -68,8 +68,8 @@ private fun beam(matrix4f: Matrix4f, builder: BufferBuilder, fwdRotation: Double
private fun quadY(z: Double): Array<Vector> { private fun quadY(z: Double): Array<Vector> {
return arrayOf( return arrayOf(
Vector(0.0, -BEAM_WIDTH, z), Vector(0.0, -BEAM_WIDTH, z),
Vector(BlockEntityGravitationStabilizer.RANGE.toDouble(), -BEAM_WIDTH, z), Vector(GravitationStabilizerBlockEntity.RANGE.toDouble(), -BEAM_WIDTH, z),
Vector(BlockEntityGravitationStabilizer.RANGE.toDouble(), BEAM_WIDTH, z), Vector(GravitationStabilizerBlockEntity.RANGE.toDouble(), BEAM_WIDTH, z),
Vector(0.0, BEAM_WIDTH, z) Vector(0.0, BEAM_WIDTH, z)
) )
} }
@ -77,15 +77,15 @@ private fun quadY(z: Double): Array<Vector> {
private fun quadZ(y: Double): Array<Vector> { private fun quadZ(y: Double): Array<Vector> {
return arrayOf( return arrayOf(
Vector(0.0, y, -BEAM_WIDTH), Vector(0.0, y, -BEAM_WIDTH),
Vector(BlockEntityGravitationStabilizer.RANGE.toDouble(), y, -BEAM_WIDTH), Vector(GravitationStabilizerBlockEntity.RANGE.toDouble(), y, -BEAM_WIDTH),
Vector(BlockEntityGravitationStabilizer.RANGE.toDouble(), y, BEAM_WIDTH), Vector(GravitationStabilizerBlockEntity.RANGE.toDouble(), y, BEAM_WIDTH),
Vector(0.0, y, BEAM_WIDTH) Vector(0.0, y, BEAM_WIDTH)
) )
} }
class BlackHoleRenderer(private val context: BlockEntityRendererProvider.Context) : BlockEntityRenderer<BlockEntityBlackHole> { class BlackHoleRenderer(private val context: BlockEntityRendererProvider.Context) : BlockEntityRenderer<BlackHoleBlockEntity> {
override fun render( override fun render(
tile: BlockEntityBlackHole, tile: BlackHoleBlockEntity,
v: Float, v: Float,
poseStack: PoseStack, poseStack: PoseStack,
multiBufferSource: MultiBufferSource, multiBufferSource: MultiBufferSource,
@ -182,11 +182,11 @@ class BlackHoleRenderer(private val context: BlockEntityRendererProvider.Context
} }
} }
override fun shouldRenderOffScreen(p_112306_: BlockEntityBlackHole): Boolean { override fun shouldRenderOffScreen(p_112306_: BlackHoleBlockEntity): Boolean {
return true return true
} }
override fun shouldRender(p_173568_: BlockEntityBlackHole, p_173569_: Vec3): Boolean { override fun shouldRender(p_173568_: BlackHoleBlockEntity, p_173569_: Vec3): Boolean {
return true return true
} }

View File

@ -7,7 +7,7 @@ import net.minecraft.client.renderer.blockentity.BlockEntityRenderer
import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider
import net.minecraft.core.Direction import net.minecraft.core.Direction
import net.minecraft.network.chat.TranslatableComponent import net.minecraft.network.chat.TranslatableComponent
import ru.dbotthepony.mc.otm.block.BlockEnergyCounter import ru.dbotthepony.mc.otm.block.EnergyCounterBlock
import ru.dbotthepony.mc.otm.block.entity.BlockEntityEnergyCounter import ru.dbotthepony.mc.otm.block.entity.BlockEntityEnergyCounter
import ru.dbotthepony.mc.otm.core.RGBAColor import ru.dbotthepony.mc.otm.core.RGBAColor
import ru.dbotthepony.mc.otm.core.asAngle import ru.dbotthepony.mc.otm.core.asAngle
@ -24,8 +24,8 @@ class EnergyCounterRenderer(private val context: BlockEntityRendererProvider.Con
p_112311_: Int, p_112311_: Int,
p_112312_: Int p_112312_: Int
) { ) {
val screenDir: Direction = tile.blockState.getValue(BlockEnergyCounter.IF_DIRECTION) val screenDir: Direction = tile.blockState.getValue(EnergyCounterBlock.IF_DIRECTION)
val inputDir: Direction = tile.blockState.getValue(BlockEnergyCounter.INPUT_DIRECTION) val inputDir: Direction = tile.blockState.getValue(EnergyCounterBlock.INPUT_DIRECTION)
poseStack.pushPose() poseStack.pushPose()
poseStack.translate(0.5, 0.5, 0.5) poseStack.translate(0.5, 0.5, 0.5)

View File

@ -11,10 +11,10 @@ import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider
import net.minecraft.client.renderer.texture.OverlayTexture import net.minecraft.client.renderer.texture.OverlayTexture
import net.minecraft.core.Direction import net.minecraft.core.Direction
import net.minecraft.network.chat.TranslatableComponent import net.minecraft.network.chat.TranslatableComponent
import ru.dbotthepony.mc.otm.block.BlockBlackHole import ru.dbotthepony.mc.otm.block.BlackHoleBlock
import ru.dbotthepony.mc.otm.block.BlockMatteryRotatable import ru.dbotthepony.mc.otm.block.BlockMatteryRotatable
import ru.dbotthepony.mc.otm.block.entity.BlockEntityGravitationStabilizer import ru.dbotthepony.mc.otm.block.entity.GravitationStabilizerBlockEntity
import ru.dbotthepony.mc.otm.block.entity.blackhole.BlockEntityBlackHole import ru.dbotthepony.mc.otm.block.entity.blackhole.BlackHoleBlockEntity
import ru.dbotthepony.mc.otm.block.entity.worker.WorkerState import ru.dbotthepony.mc.otm.block.entity.worker.WorkerState
import ru.dbotthepony.mc.otm.core.* import ru.dbotthepony.mc.otm.core.*
import ru.dbotthepony.mc.otm.menu.FormattingHelper import ru.dbotthepony.mc.otm.menu.FormattingHelper
@ -23,9 +23,9 @@ import kotlin.math.PI
private val BEAM_RENDER_TYPE_INNER = RenderType.beaconBeam(BeaconRenderer.BEAM_LOCATION, false) private val BEAM_RENDER_TYPE_INNER = RenderType.beaconBeam(BeaconRenderer.BEAM_LOCATION, false)
private val BEAM_RENDER_TYPE_OUTER = RenderType.beaconBeam(BeaconRenderer.BEAM_LOCATION, true) private val BEAM_RENDER_TYPE_OUTER = RenderType.beaconBeam(BeaconRenderer.BEAM_LOCATION, true)
class GravitationStabilizerRenderer(private val context: BlockEntityRendererProvider.Context) : BlockEntityRenderer<BlockEntityGravitationStabilizer> { class GravitationStabilizerRenderer(private val context: BlockEntityRendererProvider.Context) : BlockEntityRenderer<GravitationStabilizerBlockEntity> {
override fun render( override fun render(
tile: BlockEntityGravitationStabilizer, tile: GravitationStabilizerBlockEntity,
p_112308_: Float, p_112308_: Float,
poseStack: PoseStack, poseStack: PoseStack,
p_112310_: MultiBufferSource, p_112310_: MultiBufferSource,
@ -39,14 +39,14 @@ class GravitationStabilizerRenderer(private val context: BlockEntityRendererProv
var lenI = 64 var lenI = 64
val normal = tile.blockState.getValue(BlockMatteryRotatable.FACING_FULL).normal val normal = tile.blockState.getValue(BlockMatteryRotatable.FACING_FULL).normal
val level = tile.level val level = tile.level
var bhTile: BlockEntityBlackHole? = null var bhTile: BlackHoleBlockEntity? = null
if (level != null) { if (level != null) {
for (i in 1 .. BlockEntityGravitationStabilizer.RANGE) { for (i in 1 .. GravitationStabilizerBlockEntity.RANGE) {
val pos = tile.blockPos + normal * i val pos = tile.blockPos + normal * i
val getTile = level.getBlockEntity(pos) as? BlockEntityBlackHole val getTile = level.getBlockEntity(pos) as? BlackHoleBlockEntity
if (getTile != null || level.getBlockState(pos).block is BlockBlackHole) { if (getTile != null || level.getBlockState(pos).block is BlackHoleBlock) {
len = i.toDouble() len = i.toDouble()
lenI = i lenI = i
bhTile = getTile bhTile = getTile
@ -151,7 +151,7 @@ class GravitationStabilizerRenderer(private val context: BlockEntityRendererProv
} }
} }
override fun shouldRenderOffScreen(p_112306_: BlockEntityGravitationStabilizer) = true override fun shouldRenderOffScreen(p_112306_: GravitationStabilizerBlockEntity) = true
override fun getViewDistance() = 96 override fun getViewDistance() = 96
companion object { companion object {

View File

@ -19,12 +19,12 @@ import ru.dbotthepony.mc.otm.client.screen.widget.PowerGaugePanel
import ru.dbotthepony.mc.otm.menu.AndroidStationMenu import ru.dbotthepony.mc.otm.menu.AndroidStationMenu
import java.util.* import java.util.*
class ScreenAndroidStation constructor(p_97741_: AndroidStationMenu, p_97742_: Inventory, p_97743_: Component) : class AndroidStationScreen constructor(p_97741_: AndroidStationMenu, p_97742_: Inventory, p_97743_: Component) :
MatteryScreen<AndroidStationMenu>(p_97741_, p_97742_, p_97743_) { MatteryScreen<AndroidStationMenu>(p_97741_, p_97742_, p_97743_) {
internal inner class AndroidResearchButton(parent: EditablePanel?, private val node: AndroidResearch) : internal inner class AndroidResearchButton(parent: EditablePanel?, private val node: AndroidResearch) :
EditablePanel( EditablePanel(
this@ScreenAndroidStation, this@AndroidStationScreen,
parent, parent,
0f, 0f,
0f, 0f,
@ -103,7 +103,7 @@ class ScreenAndroidStation constructor(p_97741_: AndroidStationMenu, p_97742_: I
seen.add(research) seen.add(research)
if (rows[level] == null) { if (rows[level] == null) {
rows[level] = object : EditablePanel(this@ScreenAndroidStation, canvas, 0f, (level * 22).toFloat(), 10000f, 22f) { rows[level] = object : EditablePanel(this@AndroidStationScreen, canvas, 0f, (level * 22).toFloat(), 10000f, 22f) {
override fun mouseClickedInner(mouse_x: Double, mouse_y: Double, flag: Int) = false override fun mouseClickedInner(mouse_x: Double, mouse_y: Double, flag: Int) = false
override fun mouseReleasedInner(mouse_x: Double, mouse_y: Double, flag: Int) = false override fun mouseReleasedInner(mouse_x: Double, mouse_y: Double, flag: Int) = false
override fun mouseDraggedInner(mouse_x: Double, mouse_y: Double, flag: Int, drag_x: Double, drag_y: Double) = false override fun mouseDraggedInner(mouse_x: Double, mouse_y: Double, flag: Int, drag_x: Double, drag_y: Double) = false
@ -138,7 +138,7 @@ class ScreenAndroidStation constructor(p_97741_: AndroidStationMenu, p_97742_: I
research = FramePanel(this, null, 0f, 0f, window.guiScaledWidth * 0.8f, window.guiScaledHeight * 0.8f, TranslatableComponent("otm.gui.android_research")) research = FramePanel(this, null, 0f, 0f, window.guiScaledWidth * 0.8f, window.guiScaledHeight * 0.8f, TranslatableComponent("otm.gui.android_research"))
canvas = object : DraggableCanvasPanel(this@ScreenAndroidStation, research, width = (GRID_WIDTH * 22).toFloat(), height = 0f) { canvas = object : DraggableCanvasPanel(this@AndroidStationScreen, research, width = (GRID_WIDTH * 22).toFloat(), height = 0f) {
override fun innerRender(stack: PoseStack, mouse_x: Float, mouse_y: Float, flag: Float) { override fun innerRender(stack: PoseStack, mouse_x: Float, mouse_y: Float, flag: Float) {
RenderHelper.setDrawColor(RGBAColor.BLACK) RenderHelper.setDrawColor(RGBAColor.BLACK)
RenderHelper.drawRect(stack, 0f, 0f, width, height) RenderHelper.drawRect(stack, 0f, 0f, width, height)

View File

@ -1,14 +1,14 @@
package ru.dbotthepony.mc.otm.client.screen package ru.dbotthepony.mc.otm.client.screen
import net.minecraft.network.chat.Component import net.minecraft.network.chat.Component
import ru.dbotthepony.mc.otm.menu.MenuBatteryBank import ru.dbotthepony.mc.otm.menu.BatteryBankMenu
import net.minecraft.world.entity.player.Inventory import net.minecraft.world.entity.player.Inventory
import ru.dbotthepony.mc.otm.client.screen.panels.FramePanel import ru.dbotthepony.mc.otm.client.screen.panels.FramePanel
import ru.dbotthepony.mc.otm.client.screen.panels.SlotPanel import ru.dbotthepony.mc.otm.client.screen.panels.SlotPanel
import ru.dbotthepony.mc.otm.client.screen.widget.PowerGaugePanel import ru.dbotthepony.mc.otm.client.screen.widget.PowerGaugePanel
class ScreenBatteryBank(menu: MenuBatteryBank, p_97742_: Inventory, p_97743_: Component) : class BatteryBankScreen(menu: BatteryBankMenu, p_97742_: Inventory, p_97743_: Component) :
MatteryScreen<MenuBatteryBank>(menu, p_97742_, p_97743_) { MatteryScreen<BatteryBankMenu>(menu, p_97742_, p_97743_) {
override fun makeMainFrame(): FramePanel{ override fun makeMainFrame(): FramePanel{
val frame = super.makeMainFrame()!! val frame = super.makeMainFrame()!!

View File

@ -5,9 +5,9 @@ import net.minecraft.world.entity.player.Inventory
import ru.dbotthepony.mc.otm.client.screen.panels.FramePanel import ru.dbotthepony.mc.otm.client.screen.panels.FramePanel
import ru.dbotthepony.mc.otm.client.screen.panels.GridPanel import ru.dbotthepony.mc.otm.client.screen.panels.GridPanel
import ru.dbotthepony.mc.otm.client.screen.panels.SlotPanel import ru.dbotthepony.mc.otm.client.screen.panels.SlotPanel
import ru.dbotthepony.mc.otm.menu.MenuCargoCrate import ru.dbotthepony.mc.otm.menu.CargoCrateMenu
class ScreenCargoCrate(menu: MenuCargoCrate, inventory: Inventory, title: Component) : MatteryScreen<MenuCargoCrate>(menu, inventory, title) { class CargoCrateScreen(menu: CargoCrateMenu, inventory: Inventory, title: Component) : MatteryScreen<CargoCrateMenu>(menu, inventory, title) {
override fun makeMainFrame(): FramePanel { override fun makeMainFrame(): FramePanel {
val frame = FramePanel(this, null, 0f, 0f, INVENTORY_FRAME_WIDTH, 22f + 4f + 6f * 18f, getTitle()) val frame = FramePanel(this, null, 0f, 0f, INVENTORY_FRAME_WIDTH, 22f + 4f + 6f * 18f, getTitle())
val grid = GridPanel(this, frame, 8f, 18f, 9f * 18f, 6f * 18f, 9, 6) val grid = GridPanel(this, frame, 8f, 18f, 9f * 18f, 6f * 18f, 9, 6)

View File

@ -6,9 +6,9 @@ import net.minecraft.world.entity.player.Inventory
import ru.dbotthepony.mc.otm.client.screen.panels.* import ru.dbotthepony.mc.otm.client.screen.panels.*
import ru.dbotthepony.mc.otm.client.screen.widget.PowerGaugePanel import ru.dbotthepony.mc.otm.client.screen.widget.PowerGaugePanel
import ru.dbotthepony.mc.otm.client.screen.widget.ProgressGaugePanel import ru.dbotthepony.mc.otm.client.screen.widget.ProgressGaugePanel
import ru.dbotthepony.mc.otm.menu.MenuChemicalGenerator import ru.dbotthepony.mc.otm.menu.ChemicalGeneratorMenu
class ScreenChemicalGenerator(menu: MenuChemicalGenerator, inventory: Inventory, title: Component) : MatteryScreen<MenuChemicalGenerator>(menu, inventory, title) { class ChemicalGeneratorScreen(menu: ChemicalGeneratorMenu, inventory: Inventory, title: Component) : MatteryScreen<ChemicalGeneratorMenu>(menu, inventory, title) {
override fun makeMainFrame(): FramePanel { override fun makeMainFrame(): FramePanel {
val frame = super.makeMainFrame()!! val frame = super.makeMainFrame()!!

View File

@ -1,14 +1,14 @@
package ru.dbotthepony.mc.otm.client.screen package ru.dbotthepony.mc.otm.client.screen
import net.minecraft.network.chat.Component import net.minecraft.network.chat.Component
import ru.dbotthepony.mc.otm.menu.MenuDriveRack import ru.dbotthepony.mc.otm.menu.DriveRackMenu
import net.minecraft.world.entity.player.Inventory import net.minecraft.world.entity.player.Inventory
import ru.dbotthepony.mc.otm.client.screen.panels.FramePanel import ru.dbotthepony.mc.otm.client.screen.panels.FramePanel
import ru.dbotthepony.mc.otm.client.screen.panels.SlotPanel import ru.dbotthepony.mc.otm.client.screen.panels.SlotPanel
import ru.dbotthepony.mc.otm.client.screen.widget.PowerGaugePanel import ru.dbotthepony.mc.otm.client.screen.widget.PowerGaugePanel
class ScreenDriveRack(menu: MenuDriveRack, inventory: Inventory, title: Component) : class DriveRackScreen(menu: DriveRackMenu, inventory: Inventory, title: Component) :
MatteryScreen<MenuDriveRack>(menu, inventory, title) { MatteryScreen<DriveRackMenu>(menu, inventory, title) {
override fun makeMainFrame(): FramePanel { override fun makeMainFrame(): FramePanel {
val frame = super.makeMainFrame()!! val frame = super.makeMainFrame()!!

View File

@ -6,14 +6,14 @@ import net.minecraft.world.entity.player.Inventory
import net.minecraft.world.item.ItemStack import net.minecraft.world.item.ItemStack
import ru.dbotthepony.mc.otm.client.screen.panels.* import ru.dbotthepony.mc.otm.client.screen.panels.*
import ru.dbotthepony.mc.otm.client.screen.widget.PowerGaugePanel import ru.dbotthepony.mc.otm.client.screen.widget.PowerGaugePanel
import ru.dbotthepony.mc.otm.item.ItemPortableCondensationDrive.FilterSettings import ru.dbotthepony.mc.otm.item.PortableCondensationDriveItem.FilterSettings
import ru.dbotthepony.mc.otm.menu.MenuDriveViewer import ru.dbotthepony.mc.otm.menu.DriveViewerMenu
import ru.dbotthepony.mc.otm.menu.MenuDriveViewer.FilterSetPacket import ru.dbotthepony.mc.otm.menu.DriveViewerMenu.FilterSetPacket
import ru.dbotthepony.mc.otm.menu.MenuDriveViewer.FilterSwitchPacket import ru.dbotthepony.mc.otm.menu.DriveViewerMenu.FilterSwitchPacket
import ru.dbotthepony.mc.otm.network.MatteryNetworking import ru.dbotthepony.mc.otm.network.MatteryNetworking
class ScreenDriveViewer(menu: MenuDriveViewer, inventory: Inventory, title: Component) : class DriveViewerScreen(menu: DriveViewerMenu, inventory: Inventory, title: Component) :
MatteryScreen<MenuDriveViewer>(menu, inventory, title) { MatteryScreen<DriveViewerMenu>(menu, inventory, title) {
override fun makeMainFrame(): FramePanel { override fun makeMainFrame(): FramePanel {
val frame = FramePanel(this, null, 0f, 0f, FRAME_WIDTH, FRAME_HEIGHT, getTitle()) val frame = FramePanel(this, null, 0f, 0f, FRAME_WIDTH, FRAME_HEIGHT, getTitle())
@ -59,7 +59,7 @@ class ScreenDriveViewer(menu: MenuDriveViewer, inventory: Inventory, title: Comp
views.add(scroll_bar) views.add(scroll_bar)
for (i in 0 until GRID_WIDTH * GRID_HEIGHT) { for (i in 0 until GRID_WIDTH * GRID_HEIGHT) {
object : AbstractSlotPanel(this@ScreenDriveViewer, grid, 0f, 0f) { object : AbstractSlotPanel(this@DriveViewerScreen, grid, 0f, 0f) {
override fun getItemStack(): ItemStack { override fun getItemStack(): ItemStack {
val index = i + scroll_bar.getScroll(menu.view.getItems().size / GRID_WIDTH) val index = i + scroll_bar.getScroll(menu.view.getItems().size / GRID_WIDTH)
val list = menu.view.getItems() val list = menu.view.getItems()
@ -91,7 +91,7 @@ class ScreenDriveViewer(menu: MenuDriveViewer, inventory: Inventory, title: Comp
settings.add(grid_filter) settings.add(grid_filter)
for (i in 0 until FilterSettings.MAX_FILTERS) { for (i in 0 until FilterSettings.MAX_FILTERS) {
object : AbstractSlotPanel(this@ScreenDriveViewer, grid_filter, 0f, 0f) { object : AbstractSlotPanel(this@DriveViewerScreen, grid_filter, 0f, 0f) {
override fun getItemStack(): ItemStack { override fun getItemStack(): ItemStack {
val filter = menu.getFilter() ?: return ItemStack.EMPTY val filter = menu.getFilter() ?: return ItemStack.EMPTY
return filter.items[i] return filter.items[i]
@ -118,7 +118,7 @@ class ScreenDriveViewer(menu: MenuDriveViewer, inventory: Inventory, title: Comp
val yes = TranslatableComponent("otm.filter.yes") val yes = TranslatableComponent("otm.filter.yes")
val matchNbt = val matchNbt =
object : ButtonPanel(this@ScreenDriveViewer, dock_left, 0f, 0f, 90f, 20f, TranslatableComponent("otm.filter.match_nbt", no)) { object : ButtonPanel(this@DriveViewerScreen, dock_left, 0f, 0f, 90f, 20f, TranslatableComponent("otm.filter.match_nbt", no)) {
override fun tick() { override fun tick() {
super.tick() super.tick()
@ -140,7 +140,7 @@ class ScreenDriveViewer(menu: MenuDriveViewer, inventory: Inventory, title: Comp
null, null,
FilterSwitchPacket( FilterSwitchPacket(
menu.containerId, menu.containerId,
MenuDriveViewer.FilterSwitch.MATCH_NBT, DriveViewerMenu.FilterSwitch.MATCH_NBT,
!filter.matchNbt !filter.matchNbt
) )
) )
@ -151,7 +151,7 @@ class ScreenDriveViewer(menu: MenuDriveViewer, inventory: Inventory, title: Comp
} }
val matchTag = val matchTag =
object : ButtonPanel(this@ScreenDriveViewer, dock_left, 0f, 0f, 90f, 20f, TranslatableComponent("otm.filter.match_tag", no)) { object : ButtonPanel(this@DriveViewerScreen, dock_left, 0f, 0f, 90f, 20f, TranslatableComponent("otm.filter.match_tag", no)) {
override fun tick() { override fun tick() {
super.tick() super.tick()
@ -173,7 +173,7 @@ class ScreenDriveViewer(menu: MenuDriveViewer, inventory: Inventory, title: Comp
null, null,
FilterSwitchPacket( FilterSwitchPacket(
menu.containerId, menu.containerId,
MenuDriveViewer.FilterSwitch.MATCH_TAG, DriveViewerMenu.FilterSwitch.MATCH_TAG,
!filter.matchTag !filter.matchTag
) )
) )
@ -184,7 +184,7 @@ class ScreenDriveViewer(menu: MenuDriveViewer, inventory: Inventory, title: Comp
} }
val blacklist = val blacklist =
object : ButtonPanel(this@ScreenDriveViewer, dock_left, 0f, 0f, 90f, 20f, TranslatableComponent("otm.filter.blacklist", no)) { object : ButtonPanel(this@DriveViewerScreen, dock_left, 0f, 0f, 90f, 20f, TranslatableComponent("otm.filter.blacklist", no)) {
override fun tick() { override fun tick() {
super.tick() super.tick()
@ -205,7 +205,7 @@ class ScreenDriveViewer(menu: MenuDriveViewer, inventory: Inventory, title: Comp
null, null,
FilterSwitchPacket( FilterSwitchPacket(
menu.containerId, menu.containerId,
MenuDriveViewer.FilterSwitch.BLACKLIST, DriveViewerMenu.FilterSwitch.BLACKLIST,
!filter.isBlacklist !filter.isBlacklist
) )
) )

View File

@ -4,14 +4,14 @@ import net.minecraft.network.chat.Component
import net.minecraft.network.chat.TranslatableComponent import net.minecraft.network.chat.TranslatableComponent
import net.minecraft.world.entity.player.Inventory import net.minecraft.world.entity.player.Inventory
import ru.dbotthepony.mc.otm.client.screen.panels.* import ru.dbotthepony.mc.otm.client.screen.panels.*
import ru.dbotthepony.mc.otm.menu.MenuEnergyCounter import ru.dbotthepony.mc.otm.menu.EnergyCounterMenu
import ru.dbotthepony.mc.otm.menu.FormattingHelper import ru.dbotthepony.mc.otm.menu.FormattingHelper
class ScreenEnergyCounter(menu: MenuEnergyCounter, inventory: Inventory, title: Component) : MatteryScreen<MenuEnergyCounter>(menu, inventory, title) { class EnergyCounterScreen(menu: EnergyCounterMenu, inventory: Inventory, title: Component) : MatteryScreen<EnergyCounterMenu>(menu, inventory, title) {
override fun makeMainFrame(): FramePanel { override fun makeMainFrame(): FramePanel {
val frame = super.makeMainFrame()!! val frame = super.makeMainFrame()!!
var label: Label = object : Label(this@ScreenEnergyCounter, frame) { var label: Label = object : Label(this@EnergyCounterScreen, frame) {
override fun tick() { override fun tick() {
super.tick() super.tick()
text = TranslatableComponent( text = TranslatableComponent(
@ -24,7 +24,7 @@ class ScreenEnergyCounter(menu: MenuEnergyCounter, inventory: Inventory, title:
label.dock = Dock.TOP label.dock = Dock.TOP
label.setDockMargin(4f, 0f, 0f, 0f) label.setDockMargin(4f, 0f, 0f, 0f)
label = object : Label(this@ScreenEnergyCounter, frame) { label = object : Label(this@EnergyCounterScreen, frame) {
override fun tick() { override fun tick() {
super.tick() super.tick()
text = TranslatableComponent( text = TranslatableComponent(
@ -37,7 +37,7 @@ class ScreenEnergyCounter(menu: MenuEnergyCounter, inventory: Inventory, title:
label.dock = Dock.TOP label.dock = Dock.TOP
label.setDockMargin(4f, 0f, 0f, 0f) label.setDockMargin(4f, 0f, 0f, 0f)
label = object : Label(this@ScreenEnergyCounter, frame) { label = object : Label(this@EnergyCounterScreen, frame) {
override fun tick() { override fun tick() {
super.tick() super.tick()
text = TranslatableComponent( text = TranslatableComponent(
@ -50,7 +50,7 @@ class ScreenEnergyCounter(menu: MenuEnergyCounter, inventory: Inventory, title:
label.dock = Dock.TOP label.dock = Dock.TOP
label.setDockMargin(4f, 0f, 0f, 0f) label.setDockMargin(4f, 0f, 0f, 0f)
label = object : Label(this@ScreenEnergyCounter, frame) { label = object : Label(this@EnergyCounterScreen, frame) {
override fun tick() { override fun tick() {
super.tick() super.tick()
text = TranslatableComponent( text = TranslatableComponent(
@ -63,7 +63,7 @@ class ScreenEnergyCounter(menu: MenuEnergyCounter, inventory: Inventory, title:
label.dock = Dock.TOP label.dock = Dock.TOP
label.setDockMargin(4f, 0f, 0f, 0f) label.setDockMargin(4f, 0f, 0f, 0f)
label = object : Label(this@ScreenEnergyCounter, frame) { label = object : Label(this@EnergyCounterScreen, frame) {
override fun tick() { override fun tick() {
super.tick() super.tick()

View File

@ -5,10 +5,10 @@ import net.minecraft.world.entity.player.Inventory
import net.minecraft.world.item.ItemStack import net.minecraft.world.item.ItemStack
import ru.dbotthepony.mc.otm.client.screen.panels.* import ru.dbotthepony.mc.otm.client.screen.panels.*
import ru.dbotthepony.mc.otm.client.screen.widget.PowerGaugePanel import ru.dbotthepony.mc.otm.client.screen.widget.PowerGaugePanel
import ru.dbotthepony.mc.otm.menu.MenuItemMonitor import ru.dbotthepony.mc.otm.menu.ItemMonitorMenu
class ScreenItemMonitor(menu: MenuItemMonitor, inventory: Inventory, title: Component) : class ItemMonitorScreen(menu: ItemMonitorMenu, inventory: Inventory, title: Component) :
MatteryScreen<MenuItemMonitor>(menu, inventory, title) { MatteryScreen<ItemMonitorMenu>(menu, inventory, title) {
override fun makeMainFrame(): FramePanel { override fun makeMainFrame(): FramePanel {
val frame = FramePanel(this, null, 0f, 0f, FRAME_WIDTH, FRAME_HEIGHT, getTitle()) val frame = FramePanel(this, null, 0f, 0f, FRAME_WIDTH, FRAME_HEIGHT, getTitle())
@ -22,7 +22,7 @@ class ScreenItemMonitor(menu: MenuItemMonitor, inventory: Inventory, title: Comp
val gridPanel = GridPanel(this, frame, 28f, 16f, GRID_WIDTH * 18f, GRID_HEIGHT * 18f, GRID_WIDTH, GRID_HEIGHT) val gridPanel = GridPanel(this, frame, 28f, 16f, GRID_WIDTH * 18f, GRID_HEIGHT * 18f, GRID_WIDTH, GRID_HEIGHT)
for (i in 0 until GRID_WIDTH * GRID_HEIGHT) { for (i in 0 until GRID_WIDTH * GRID_HEIGHT) {
object : AbstractSlotPanel(this@ScreenItemMonitor, gridPanel) { object : AbstractSlotPanel(this@ItemMonitorScreen, gridPanel) {
override fun getItemStack(): ItemStack { override fun getItemStack(): ItemStack {
val index = i + scrollBar.getScroll(menu.view.getItemCount() / GRID_WIDTH) val index = i + scrollBar.getScroll(menu.view.getItemCount() / GRID_WIDTH)
val list = menu.view.getItems() val list = menu.view.getItems()

View File

@ -9,10 +9,10 @@ import ru.dbotthepony.mc.otm.client.screen.panels.SlotPanel
import ru.dbotthepony.mc.otm.client.screen.widget.MatterGaugePanel import ru.dbotthepony.mc.otm.client.screen.widget.MatterGaugePanel
import ru.dbotthepony.mc.otm.client.screen.widget.PowerGaugePanel import ru.dbotthepony.mc.otm.client.screen.widget.PowerGaugePanel
import ru.dbotthepony.mc.otm.client.screen.widget.ProgressGaugePanel import ru.dbotthepony.mc.otm.client.screen.widget.ProgressGaugePanel
import ru.dbotthepony.mc.otm.menu.MenuMatterBottler import ru.dbotthepony.mc.otm.menu.MatterBottlerMenu
class ScreenMatterBottler(menu: MenuMatterBottler, inventory: Inventory, title: Component) : class MatterBottlerScreen(menu: MatterBottlerMenu, inventory: Inventory, title: Component) :
MatteryScreen<MenuMatterBottler>(menu, inventory, title) { MatteryScreen<MatterBottlerMenu>(menu, inventory, title) {
private var progress: ProgressGaugePanel? = null private var progress: ProgressGaugePanel? = null

View File

@ -1,14 +1,14 @@
package ru.dbotthepony.mc.otm.client.screen package ru.dbotthepony.mc.otm.client.screen
import net.minecraft.network.chat.Component import net.minecraft.network.chat.Component
import ru.dbotthepony.mc.otm.menu.MenuMatterCapacitor import ru.dbotthepony.mc.otm.menu.MatterCapacitorMenu
import net.minecraft.world.entity.player.Inventory import net.minecraft.world.entity.player.Inventory
import ru.dbotthepony.mc.otm.client.screen.panels.FramePanel import ru.dbotthepony.mc.otm.client.screen.panels.FramePanel
import ru.dbotthepony.mc.otm.client.screen.panels.SlotPanel import ru.dbotthepony.mc.otm.client.screen.panels.SlotPanel
import ru.dbotthepony.mc.otm.client.screen.widget.MatterGaugePanel import ru.dbotthepony.mc.otm.client.screen.widget.MatterGaugePanel
class ScreenMatterCapacitorBank(p_97741_: MenuMatterCapacitor, p_97742_: Inventory, p_97743_: Component) : class MatterCapacitorBankScreen(p_97741_: MatterCapacitorMenu, p_97742_: Inventory, p_97743_: Component) :
MatteryScreen<MenuMatterCapacitor>(p_97741_, p_97742_, p_97743_) { MatteryScreen<MatterCapacitorMenu>(p_97741_, p_97742_, p_97743_) {
override fun makeMainFrame(): FramePanel { override fun makeMainFrame(): FramePanel {
val frame = super.makeMainFrame()!! val frame = super.makeMainFrame()!!

View File

@ -1,7 +1,7 @@
package ru.dbotthepony.mc.otm.client.screen package ru.dbotthepony.mc.otm.client.screen
import net.minecraft.network.chat.Component import net.minecraft.network.chat.Component
import ru.dbotthepony.mc.otm.menu.MenuMatterDecomposer import ru.dbotthepony.mc.otm.menu.MatterDecomposerMenu
import net.minecraft.world.entity.player.Inventory import net.minecraft.world.entity.player.Inventory
import ru.dbotthepony.mc.otm.client.screen.panels.FramePanel import ru.dbotthepony.mc.otm.client.screen.panels.FramePanel
import ru.dbotthepony.mc.otm.client.screen.panels.SlotPanel import ru.dbotthepony.mc.otm.client.screen.panels.SlotPanel
@ -9,8 +9,8 @@ import ru.dbotthepony.mc.otm.client.screen.widget.MatterGaugePanel
import ru.dbotthepony.mc.otm.client.screen.widget.PowerGaugePanel import ru.dbotthepony.mc.otm.client.screen.widget.PowerGaugePanel
import ru.dbotthepony.mc.otm.client.screen.widget.ProgressGaugePanel import ru.dbotthepony.mc.otm.client.screen.widget.ProgressGaugePanel
class ScreenMatterDecomposer(p_97741_: MenuMatterDecomposer, p_97742_: Inventory, p_97743_: Component) : class MatterDecomposerScreen(p_97741_: MatterDecomposerMenu, p_97742_: Inventory, p_97743_: Component) :
MatteryScreen<MenuMatterDecomposer>(p_97741_, p_97742_, p_97743_) { MatteryScreen<MatterDecomposerMenu>(p_97741_, p_97742_, p_97743_) {
override fun makeMainFrame(): FramePanel { override fun makeMainFrame(): FramePanel {
val frame = super.makeMainFrame()!! val frame = super.makeMainFrame()!!

View File

@ -7,9 +7,9 @@ import ru.dbotthepony.mc.otm.client.screen.panels.SlotPanel
import ru.dbotthepony.mc.otm.client.screen.widget.MatterGaugePanel import ru.dbotthepony.mc.otm.client.screen.widget.MatterGaugePanel
import ru.dbotthepony.mc.otm.client.screen.widget.PowerGaugePanel import ru.dbotthepony.mc.otm.client.screen.widget.PowerGaugePanel
import ru.dbotthepony.mc.otm.client.screen.widget.ProgressGaugePanel import ru.dbotthepony.mc.otm.client.screen.widget.ProgressGaugePanel
import ru.dbotthepony.mc.otm.menu.MenuMatterRecycler import ru.dbotthepony.mc.otm.menu.MatterRecyclerMenu
class ScreenMatterRecycler(menu: MenuMatterRecycler, inventory: Inventory, title: Component) : MatteryScreen<MenuMatterRecycler>(menu, inventory, title) { class MatterRecyclerScreen(menu: MatterRecyclerMenu, inventory: Inventory, title: Component) : MatteryScreen<MatterRecyclerMenu>(menu, inventory, title) {
override fun makeMainFrame(): FramePanel { override fun makeMainFrame(): FramePanel {
val frame = super.makeMainFrame()!! val frame = super.makeMainFrame()!!

View File

@ -1,7 +1,7 @@
package ru.dbotthepony.mc.otm.client.screen package ru.dbotthepony.mc.otm.client.screen
import net.minecraft.network.chat.Component import net.minecraft.network.chat.Component
import ru.dbotthepony.mc.otm.menu.MenuMatterReplicator import ru.dbotthepony.mc.otm.menu.MatterReplicatorMenu
import net.minecraft.world.entity.player.Inventory import net.minecraft.world.entity.player.Inventory
import ru.dbotthepony.mc.otm.client.screen.panels.FramePanel import ru.dbotthepony.mc.otm.client.screen.panels.FramePanel
import ru.dbotthepony.mc.otm.client.screen.panels.SlotPanel import ru.dbotthepony.mc.otm.client.screen.panels.SlotPanel
@ -9,8 +9,8 @@ import ru.dbotthepony.mc.otm.client.screen.widget.MatterGaugePanel
import ru.dbotthepony.mc.otm.client.screen.widget.PowerGaugePanel import ru.dbotthepony.mc.otm.client.screen.widget.PowerGaugePanel
import ru.dbotthepony.mc.otm.client.screen.widget.ProgressGaugePanel import ru.dbotthepony.mc.otm.client.screen.widget.ProgressGaugePanel
class ScreenMatterReplicator(p_97741_: MenuMatterReplicator, p_97742_: Inventory, p_97743_: Component) : class MatterReplicatorScreen(p_97741_: MatterReplicatorMenu, p_97742_: Inventory, p_97743_: Component) :
MatteryScreen<MenuMatterReplicator>(p_97741_, p_97742_, p_97743_) { MatteryScreen<MatterReplicatorMenu>(p_97741_, p_97742_, p_97743_) {
override fun makeMainFrame(): FramePanel { override fun makeMainFrame(): FramePanel {
val frame = super.makeMainFrame()!! val frame = super.makeMainFrame()!!

View File

@ -1,7 +1,7 @@
package ru.dbotthepony.mc.otm.client.screen package ru.dbotthepony.mc.otm.client.screen
import net.minecraft.network.chat.Component import net.minecraft.network.chat.Component
import ru.dbotthepony.mc.otm.menu.MenuMatterScanner import ru.dbotthepony.mc.otm.menu.MatterScannerMenu
import net.minecraft.world.entity.player.Inventory import net.minecraft.world.entity.player.Inventory
import ru.dbotthepony.mc.otm.client.screen.panels.FramePanel import ru.dbotthepony.mc.otm.client.screen.panels.FramePanel
import ru.dbotthepony.mc.otm.client.screen.panels.SlotPanel import ru.dbotthepony.mc.otm.client.screen.panels.SlotPanel
@ -9,8 +9,8 @@ import ru.dbotthepony.mc.otm.client.screen.widget.PatternGaugePanel
import ru.dbotthepony.mc.otm.client.screen.widget.PowerGaugePanel import ru.dbotthepony.mc.otm.client.screen.widget.PowerGaugePanel
import ru.dbotthepony.mc.otm.client.screen.widget.ProgressGaugePanel import ru.dbotthepony.mc.otm.client.screen.widget.ProgressGaugePanel
class ScreenMatterScanner(p_97741_: MenuMatterScanner, p_97742_: Inventory, p_97743_: Component) : class MatterScannerScreen(p_97741_: MatterScannerMenu, p_97742_: Inventory, p_97743_: Component) :
MatteryScreen<MenuMatterScanner>(p_97741_, p_97742_, p_97743_) { MatteryScreen<MatterScannerMenu>(p_97741_, p_97742_, p_97743_) {
override fun makeMainFrame(): FramePanel { override fun makeMainFrame(): FramePanel {
val frame = super.makeMainFrame()!! val frame = super.makeMainFrame()!!

View File

@ -1,14 +1,14 @@
package ru.dbotthepony.mc.otm.client.screen package ru.dbotthepony.mc.otm.client.screen
import net.minecraft.network.chat.Component import net.minecraft.network.chat.Component
import ru.dbotthepony.mc.otm.menu.MenuPatternStorage import ru.dbotthepony.mc.otm.menu.PatternStorageMenu
import net.minecraft.world.entity.player.Inventory import net.minecraft.world.entity.player.Inventory
import ru.dbotthepony.mc.otm.client.screen.panels.FramePanel import ru.dbotthepony.mc.otm.client.screen.panels.FramePanel
import ru.dbotthepony.mc.otm.client.screen.panels.SlotPanel import ru.dbotthepony.mc.otm.client.screen.panels.SlotPanel
import ru.dbotthepony.mc.otm.client.screen.widget.PatternGaugePanel import ru.dbotthepony.mc.otm.client.screen.widget.PatternGaugePanel
class ScreenPatternStorage(p_97741_: MenuPatternStorage, p_97742_: Inventory, p_97743_: Component) : class PatternStorageScreen(p_97741_: PatternStorageMenu, p_97742_: Inventory, p_97743_: Component) :
MatteryScreen<MenuPatternStorage>(p_97741_, p_97742_, p_97743_) { MatteryScreen<PatternStorageMenu>(p_97741_, p_97742_, p_97743_) {
override fun makeMainFrame(): FramePanel { override fun makeMainFrame(): FramePanel {
val frame = super.makeMainFrame()!! val frame = super.makeMainFrame()!!

View File

@ -8,7 +8,7 @@ import ru.dbotthepony.mc.otm.client.screen.widget.PowerGaugePanel
import ru.dbotthepony.mc.otm.client.screen.widget.ProgressGaugePanel import ru.dbotthepony.mc.otm.client.screen.widget.ProgressGaugePanel
import ru.dbotthepony.mc.otm.menu.MenuPlatePress import ru.dbotthepony.mc.otm.menu.MenuPlatePress
class ScreenPlatePress(menu: MenuPlatePress, inventory: Inventory, title: Component) : class PlatePressScreen(menu: MenuPlatePress, inventory: Inventory, title: Component) :
MatteryScreen<MenuPlatePress>(menu, inventory, title) { MatteryScreen<MenuPlatePress>(menu, inventory, title) {
override fun makeMainFrame(): FramePanel { override fun makeMainFrame(): FramePanel {
val frame = super.makeMainFrame()!! val frame = super.makeMainFrame()!!

View File

@ -1,6 +1,5 @@
package ru.dbotthepony.mc.otm.item package ru.dbotthepony.mc.otm.item
import ru.dbotthepony.mc.otm.core.Fraction.Companion.deserializeNBT
import ru.dbotthepony.mc.otm.capability.IMatteryEnergyStorage import ru.dbotthepony.mc.otm.capability.IMatteryEnergyStorage
import net.minecraftforge.common.capabilities.ICapabilityProvider import net.minecraftforge.common.capabilities.ICapabilityProvider
import net.minecraft.world.item.ItemStack import net.minecraft.world.item.ItemStack
@ -19,10 +18,9 @@ import net.minecraft.world.item.Rarity
import net.minecraft.world.item.TooltipFlag import net.minecraft.world.item.TooltipFlag
import net.minecraft.world.level.Level import net.minecraft.world.level.Level
import net.minecraftforge.common.capabilities.Capability import net.minecraftforge.common.capabilities.Capability
import ru.dbotthepony.mc.otm.core.Fraction
import ru.dbotthepony.mc.otm.core.ImpreciseFraction import ru.dbotthepony.mc.otm.core.ImpreciseFraction
class ItemBattery : Item { class BatteryItem : Item {
private inner class BatteryMatteryCapability(private val stack: ItemStack) : IMatteryEnergyStorage, ICapabilityProvider { private inner class BatteryMatteryCapability(private val stack: ItemStack) : IMatteryEnergyStorage, ICapabilityProvider {
private fun energy(): ImpreciseFraction { private fun energy(): ImpreciseFraction {
val tag = stack.orCreateTag val tag = stack.orCreateTag

View File

@ -3,7 +3,6 @@ package ru.dbotthepony.mc.otm.item
import ru.dbotthepony.mc.otm.OverdriveThatMatters import ru.dbotthepony.mc.otm.OverdriveThatMatters
import net.minecraft.world.item.ItemStack import net.minecraft.world.item.ItemStack
import net.minecraft.world.item.TooltipFlag import net.minecraft.world.item.TooltipFlag
import ru.dbotthepony.mc.otm.item.ItemGravitationalDisruptor
import net.minecraft.network.chat.TranslatableComponent import net.minecraft.network.chat.TranslatableComponent
import net.minecraft.ChatFormatting import net.minecraft.ChatFormatting
import net.minecraft.network.chat.Component import net.minecraft.network.chat.Component
@ -11,7 +10,7 @@ import net.minecraft.world.item.Item
import net.minecraft.world.item.Rarity import net.minecraft.world.item.Rarity
import net.minecraft.world.level.Level import net.minecraft.world.level.Level
class ItemGravitationalDisruptor : class GravitationalDisruptorItem :
Item(Properties().tab(OverdriveThatMatters.INSTANCE.CREATIVE_TAB).stacksTo(1).rarity(Rarity.EPIC)) { Item(Properties().tab(OverdriveThatMatters.INSTANCE.CREATIVE_TAB).stacksTo(1).rarity(Rarity.EPIC)) {
override fun appendHoverText( override fun appendHoverText(
p_41421_: ItemStack, p_41421_: ItemStack,

View File

@ -24,7 +24,7 @@ import javax.annotation.ParametersAreNonnullByDefault
@ParametersAreNonnullByDefault @ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault @MethodsReturnNonnullByDefault
class ItemMatterCapacitor : Item { class MatterCapacitorItem : Item {
private inner class ItemMatterCapacitorCapability(private val stack: ItemStack) : ICapabilityProvider, IMatterHandler { private inner class ItemMatterCapacitorCapability(private val stack: ItemStack) : ICapabilityProvider, IMatterHandler {
private val resolver = LazyOptional.of<IMatterHandler> { this } private val resolver = LazyOptional.of<IMatterHandler> { this }

View File

@ -13,7 +13,7 @@ import ru.dbotthepony.mc.otm.matter.IMatterItem
import ru.dbotthepony.mc.otm.matter.MatterTuple import ru.dbotthepony.mc.otm.matter.MatterTuple
import ru.dbotthepony.mc.otm.set import ru.dbotthepony.mc.otm.set
class ItemMatterDust : Item(Properties().tab(OverdriveThatMatters.INSTANCE.CREATIVE_TAB).stacksTo(64)), IMatterItem { class MatterDustItem : Item(Properties().tab(OverdriveThatMatters.INSTANCE.CREATIVE_TAB).stacksTo(64)), IMatterItem {
private fun matter(stack: ItemStack): ImpreciseFraction { private fun matter(stack: ItemStack): ImpreciseFraction {
return stack.tag?.get("matter")?.let { return@let ImpreciseFraction.deserializeNBT(it) } ?: return ImpreciseFraction.ZERO return stack.tag?.get("matter")?.let { return@let ImpreciseFraction.deserializeNBT(it) } ?: return ImpreciseFraction.ZERO
} }

View File

@ -19,7 +19,7 @@ import ru.dbotthepony.mc.otm.capability.matter.*
import ru.dbotthepony.mc.otm.ifHas import ru.dbotthepony.mc.otm.ifHas
import java.util.* import java.util.*
class ItemPatternStorage : Item { class PatternStorageItem : Item {
val capacity: Int val capacity: Int
var isCreative: Boolean var isCreative: Boolean
@ -67,7 +67,7 @@ class ItemPatternStorage : Item {
private val resolver = LazyOptional.of<IPatternStorage> { this } private val resolver = LazyOptional.of<IPatternStorage> { this }
override val capacity: Int get() { override val capacity: Int get() {
return this@ItemPatternStorage.capacity return this@PatternStorageItem.capacity
} }
override val stored: Int get() { override val stored: Int get() {

View File

@ -21,7 +21,7 @@ enum class PillType {
BECOME_ANDROID, BECOME_HUMANE, OBLIVION BECOME_ANDROID, BECOME_HUMANE, OBLIVION
} }
class ItemPillHeal : Item(Properties().stacksTo(64).rarity(Rarity.UNCOMMON).tab(OverdriveThatMatters.INSTANCE.CREATIVE_TAB)) { class HealPillItem : Item(Properties().stacksTo(64).rarity(Rarity.UNCOMMON).tab(OverdriveThatMatters.INSTANCE.CREATIVE_TAB)) {
override fun getUseDuration(p_41454_: ItemStack): Int { override fun getUseDuration(p_41454_: ItemStack): Int {
return 24 return 24
} }
@ -65,7 +65,7 @@ class ItemPillHeal : Item(Properties().stacksTo(64).rarity(Rarity.UNCOMMON).tab(
override fun getUseAnimation(p_41452_: ItemStack): UseAnim = UseAnim.EAT override fun getUseAnimation(p_41452_: ItemStack): UseAnim = UseAnim.EAT
} }
class ItemPill(val pillType: PillType) : class PillItem(val pillType: PillType) :
Item(Properties().stacksTo(64).rarity(Rarity.UNCOMMON).tab(OverdriveThatMatters.INSTANCE.CREATIVE_TAB)) { Item(Properties().stacksTo(64).rarity(Rarity.UNCOMMON).tab(OverdriveThatMatters.INSTANCE.CREATIVE_TAB)) {
override fun getUseDuration(p_41454_: ItemStack): Int { override fun getUseDuration(p_41454_: ItemStack): Int {

View File

@ -24,12 +24,11 @@ import net.minecraftforge.event.ForgeEventFactory
import net.minecraftforge.eventbus.api.SubscribeEvent import net.minecraftforge.eventbus.api.SubscribeEvent
import net.minecraftforge.event.entity.player.EntityItemPickupEvent import net.minecraftforge.event.entity.player.EntityItemPickupEvent
import ru.dbotthepony.mc.otm.capability.drive.DrivePool import ru.dbotthepony.mc.otm.capability.drive.DrivePool
import ru.dbotthepony.mc.otm.core.Fraction
import ru.dbotthepony.mc.otm.core.ImpreciseFraction import ru.dbotthepony.mc.otm.core.ImpreciseFraction
import ru.dbotthepony.mc.otm.set import ru.dbotthepony.mc.otm.set
import java.util.* import java.util.*
class ItemPortableCondensationDrive(capacity: Int) : class PortableCondensationDriveItem(capacity: Int) :
Item(Properties().stacksTo(1).tab(OverdriveThatMatters.INSTANCE.CREATIVE_TAB)) { Item(Properties().stacksTo(1).tab(OverdriveThatMatters.INSTANCE.CREATIVE_TAB)) {
val capacity: ImpreciseFraction val capacity: ImpreciseFraction
@ -216,7 +215,7 @@ class ItemPortableCondensationDrive(capacity: Int) :
for (stack in event.player.inventory.items) { for (stack in event.player.inventory.items) {
val drive = stack.item val drive = stack.item
if (drive is ItemPortableCondensationDrive) { if (drive is PortableCondensationDriveItem) {
var doBreak = false var doBreak = false
stack.getCapability(MatteryCapability.DRIVE).ifPresent { stack.getCapability(MatteryCapability.DRIVE).ifPresent {

View File

@ -2,13 +2,11 @@ package ru.dbotthepony.mc.otm.item
import net.minecraft.client.model.HumanoidModel import net.minecraft.client.model.HumanoidModel
import net.minecraft.sounds.SoundEvent import net.minecraft.sounds.SoundEvent
import net.minecraft.world.entity.Entity
import net.minecraft.world.entity.EquipmentSlot import net.minecraft.world.entity.EquipmentSlot
import net.minecraft.world.entity.LivingEntity import net.minecraft.world.entity.LivingEntity
import net.minecraft.world.item.* import net.minecraft.world.item.*
import net.minecraft.world.item.crafting.Ingredient import net.minecraft.world.item.crafting.Ingredient
import net.minecraftforge.client.IItemRenderProperties import net.minecraftforge.client.IItemRenderProperties
import net.minecraftforge.common.ForgeTier
import ru.dbotthepony.mc.otm.OverdriveThatMatters import ru.dbotthepony.mc.otm.OverdriveThatMatters
import ru.dbotthepony.mc.otm.client.model.GravitationStabilizerModel import ru.dbotthepony.mc.otm.client.model.GravitationStabilizerModel
import java.util.function.Consumer import java.util.function.Consumer

View File

@ -4,7 +4,7 @@ import net.minecraft.world.SimpleContainer
import net.minecraft.world.entity.player.Inventory import net.minecraft.world.entity.player.Inventory
import net.minecraft.world.entity.player.Player import net.minecraft.world.entity.player.Player
import net.minecraft.world.item.ItemStack import net.minecraft.world.item.ItemStack
import ru.dbotthepony.mc.otm.block.entity.BlockEntityAndroidStation import ru.dbotthepony.mc.otm.block.entity.AndroidStationBlockEntity
import ru.dbotthepony.mc.otm.capability.MatteryCapability import ru.dbotthepony.mc.otm.capability.MatteryCapability
import ru.dbotthepony.mc.otm.capability.android.IAndroidCapability import ru.dbotthepony.mc.otm.capability.android.IAndroidCapability
import ru.dbotthepony.mc.otm.registry.MMenus import ru.dbotthepony.mc.otm.registry.MMenus
@ -32,8 +32,8 @@ private class AndroidBatterySlot(container: AndroidStationContainer, index: Int)
class AndroidStationMenu @JvmOverloads constructor( class AndroidStationMenu @JvmOverloads constructor(
containerID: Int, containerID: Int,
inventory: Inventory, inventory: Inventory,
tile: BlockEntityAndroidStation? = null tile: AndroidStationBlockEntity? = null
) : MenuMatteryPowered(MMenus.ANDROID_STATION, containerID, inventory, tile) { ) : MatteryPoweredMenu(MMenus.ANDROID_STATION, containerID, inventory, tile) {
val androidBattery: MatterySlot = AndroidBatterySlot(AndroidStationContainer(inventory.player), 0) val androidBattery: MatterySlot = AndroidBatterySlot(AndroidStationContainer(inventory.player), 0)
init { init {

View File

@ -3,25 +3,25 @@ package ru.dbotthepony.mc.otm.menu
import net.minecraft.world.Container import net.minecraft.world.Container
import kotlin.jvm.JvmOverloads import kotlin.jvm.JvmOverloads
import net.minecraft.world.entity.player.Inventory import net.minecraft.world.entity.player.Inventory
import ru.dbotthepony.mc.otm.block.entity.BlockEntityBatteryBank import ru.dbotthepony.mc.otm.block.entity.BatteryBankBlockEntity
import net.minecraft.world.SimpleContainer import net.minecraft.world.SimpleContainer
import ru.dbotthepony.mc.otm.menu.widget.LevelGaugeWidget import ru.dbotthepony.mc.otm.menu.widget.LevelGaugeWidget
import ru.dbotthepony.mc.otm.capability.MatteryCapability import ru.dbotthepony.mc.otm.capability.MatteryCapability
import ru.dbotthepony.mc.otm.orNull import ru.dbotthepony.mc.otm.orNull
import ru.dbotthepony.mc.otm.registry.MMenus import ru.dbotthepony.mc.otm.registry.MMenus
class MenuBatteryBank @JvmOverloads constructor( class BatteryBankMenu @JvmOverloads constructor(
p_38852_: Int, p_38852_: Int,
inventory: Inventory, inventory: Inventory,
tile: BlockEntityBatteryBank? = null, tile: BatteryBankBlockEntity? = null,
) : MatteryMenu(MMenus.BATTERY_BANK, p_38852_, inventory, tile) { ) : MatteryMenu(MMenus.BATTERY_BANK, p_38852_, inventory, tile) {
val powerLevel: LevelGaugeWidget val powerLevel: LevelGaugeWidget
val containerSlots: Array<BatterySlot> val containerSlots: Array<BatterySlot>
init { init {
val container: Container = tile?.container ?: SimpleContainer(BlockEntityBatteryBank.CAPACITY) val container: Container = tile?.container ?: SimpleContainer(BatteryBankBlockEntity.CAPACITY)
powerLevel = LevelGaugeWidget(this, tile?.getCapability(MatteryCapability.ENERGY)?.orNull()) powerLevel = LevelGaugeWidget(this, tile?.getCapability(MatteryCapability.ENERGY)?.orNull())
containerSlots = Array(BlockEntityBatteryBank.CAPACITY) { containerSlots = Array(BatteryBankBlockEntity.CAPACITY) {
val slot = BatterySlot(container, it) val slot = BatterySlot(container, it)
addSlot(slot) addSlot(slot)
return@Array slot return@Array slot
@ -35,6 +35,6 @@ class MenuBatteryBank @JvmOverloads constructor(
} }
override fun getWorkingSlotEnd(): Int { override fun getWorkingSlotEnd(): Int {
return BlockEntityBatteryBank.CAPACITY return BatteryBankBlockEntity.CAPACITY
} }
} }

View File

@ -3,20 +3,20 @@ package ru.dbotthepony.mc.otm.menu
import net.minecraft.world.SimpleContainer import net.minecraft.world.SimpleContainer
import net.minecraft.world.entity.player.Inventory import net.minecraft.world.entity.player.Inventory
import net.minecraft.world.entity.player.Player import net.minecraft.world.entity.player.Player
import ru.dbotthepony.mc.otm.block.entity.BlockEntityCargoCrate import ru.dbotthepony.mc.otm.block.entity.CargoCrateBlockEntity
import ru.dbotthepony.mc.otm.registry.MMenus import ru.dbotthepony.mc.otm.registry.MMenus
class MenuCargoCrate @JvmOverloads constructor( class CargoCrateMenu @JvmOverloads constructor(
p_38852_: Int, p_38852_: Int,
inventory: Inventory, inventory: Inventory,
tile: BlockEntityCargoCrate? = null tile: CargoCrateBlockEntity? = null
) : MatteryMenu(MMenus.CARGO_CRATE, p_38852_, inventory, tile) { ) : MatteryMenu(MMenus.CARGO_CRATE, p_38852_, inventory, tile) {
val crateSlots: Array<MatterySlot> val crateSlots: Array<MatterySlot>
init { init {
val container = tile?.container ?: SimpleContainer(BlockEntityCargoCrate.CAPACITY) val container = tile?.container ?: SimpleContainer(CargoCrateBlockEntity.CAPACITY)
crateSlots = Array(BlockEntityCargoCrate.CAPACITY) { crateSlots = Array(CargoCrateBlockEntity.CAPACITY) {
val slot = MatterySlot(container, it) val slot = MatterySlot(container, it)
addSlot(slot) addSlot(slot)
return@Array slot return@Array slot
@ -28,7 +28,7 @@ class MenuCargoCrate @JvmOverloads constructor(
override fun removed(p_38940_: Player) { override fun removed(p_38940_: Player) {
super.removed(p_38940_) super.removed(p_38940_)
(tile as? BlockEntityCargoCrate)?.onPlayerClose() (tile as? CargoCrateBlockEntity)?.onPlayerClose()
} }
override fun getWorkingSlotStart(): Int { override fun getWorkingSlotStart(): Int {
@ -36,6 +36,6 @@ class MenuCargoCrate @JvmOverloads constructor(
} }
override fun getWorkingSlotEnd(): Int { override fun getWorkingSlotEnd(): Int {
return BlockEntityCargoCrate.CAPACITY return CargoCrateBlockEntity.CAPACITY
} }
} }

View File

@ -5,30 +5,30 @@ import net.minecraft.world.entity.player.Inventory
import net.minecraft.world.item.ItemStack import net.minecraft.world.item.ItemStack
import net.minecraftforge.common.ForgeHooks import net.minecraftforge.common.ForgeHooks
import net.minecraftforge.energy.CapabilityEnergy import net.minecraftforge.energy.CapabilityEnergy
import ru.dbotthepony.mc.otm.block.entity.BlockEntityChemicalGenerator import ru.dbotthepony.mc.otm.block.entity.ChemicalGeneratorBlockEntity
import ru.dbotthepony.mc.otm.menu.data.IntDataContainer import ru.dbotthepony.mc.otm.menu.data.IntDataContainer
import ru.dbotthepony.mc.otm.menu.widget.LevelGaugeWidget import ru.dbotthepony.mc.otm.menu.widget.LevelGaugeWidget
import ru.dbotthepony.mc.otm.menu.widget.ProgressGaugeWidget import ru.dbotthepony.mc.otm.menu.widget.ProgressGaugeWidget
import ru.dbotthepony.mc.otm.registry.MMenus import ru.dbotthepony.mc.otm.registry.MMenus
class MenuChemicalGenerator @JvmOverloads constructor(id: Int, inv: Inventory, tile: BlockEntityChemicalGenerator? = null) class ChemicalGeneratorMenu @JvmOverloads constructor(id: Int, inv: Inventory, tile: ChemicalGeneratorBlockEntity? = null)
: MatteryMenu(MMenus.CHEMICAL_GENERATOR, id, inv, tile) { : MatteryMenu(MMenus.CHEMICAL_GENERATOR, id, inv, tile) {
val container = tile?.container ?: SimpleContainer(3) val container = tile?.container ?: SimpleContainer(3)
val fuelSlot = object : MatterySlot(container, BlockEntityChemicalGenerator.SLOT_INPUT) { val fuelSlot = object : MatterySlot(container, ChemicalGeneratorBlockEntity.SLOT_INPUT) {
override fun mayPlace(p_40231_: ItemStack): Boolean { override fun mayPlace(p_40231_: ItemStack): Boolean {
return ForgeHooks.getBurnTime(p_40231_, null) > 0 return ForgeHooks.getBurnTime(p_40231_, null) > 0
} }
} }
val residueSlot = object : MatterySlot(container, BlockEntityChemicalGenerator.SLOT_RESIDUE) { val residueSlot = object : MatterySlot(container, ChemicalGeneratorBlockEntity.SLOT_RESIDUE) {
override fun mayPlace(p_40231_: ItemStack): Boolean { override fun mayPlace(p_40231_: ItemStack): Boolean {
return false return false
} }
} }
val batterySlot = object : MatterySlot(container, BlockEntityChemicalGenerator.SLOT_BATTERY) { val batterySlot = object : MatterySlot(container, ChemicalGeneratorBlockEntity.SLOT_BATTERY) {
override fun mayPlace(p_40231_: ItemStack): Boolean { override fun mayPlace(p_40231_: ItemStack): Boolean {
return p_40231_.getCapability(CapabilityEnergy.ENERGY).isPresent return p_40231_.getCapability(CapabilityEnergy.ENERGY).isPresent
} }
@ -49,7 +49,7 @@ class MenuChemicalGenerator @JvmOverloads constructor(id: Int, inv: Inventory, t
override fun broadcastChanges() { override fun broadcastChanges() {
super.broadcastChanges() super.broadcastChanges()
progress.updateServer() progress.updateServer()
burnTime.value = (tile as BlockEntityChemicalGenerator).workingTicks burnTime.value = (tile as ChemicalGeneratorBlockEntity).workingTicks
} }
override fun getWorkingSlotStart(): Int { override fun getWorkingSlotStart(): Int {

View File

@ -2,14 +2,14 @@ package ru.dbotthepony.mc.otm.menu
import net.minecraft.world.SimpleContainer import net.minecraft.world.SimpleContainer
import net.minecraft.world.entity.player.Inventory import net.minecraft.world.entity.player.Inventory
import ru.dbotthepony.mc.otm.block.entity.BlockEntityDriveRack import ru.dbotthepony.mc.otm.block.entity.DriveRackBlockEntity
import ru.dbotthepony.mc.otm.registry.MMenus import ru.dbotthepony.mc.otm.registry.MMenus
class MenuDriveRack @JvmOverloads constructor( class DriveRackMenu @JvmOverloads constructor(
p_38852_: Int, p_38852_: Int,
inventory: Inventory, inventory: Inventory,
tile: BlockEntityDriveRack? = null tile: DriveRackBlockEntity? = null
) : MenuMatteryPowered(MMenus.DRIVE_RACK, p_38852_, inventory, tile) { ) : MatteryPoweredMenu(MMenus.DRIVE_RACK, p_38852_, inventory, tile) {
val drives = arrayOfNulls<MatterySlot>(4) val drives = arrayOfNulls<MatterySlot>(4)
init { init {

View File

@ -7,11 +7,11 @@ import net.minecraft.world.entity.player.Player
import net.minecraft.world.item.ItemStack import net.minecraft.world.item.ItemStack
import net.minecraftforge.energy.CapabilityEnergy import net.minecraftforge.energy.CapabilityEnergy
import net.minecraftforge.network.NetworkEvent import net.minecraftforge.network.NetworkEvent
import ru.dbotthepony.mc.otm.block.entity.BlockEntityDriveViewer import ru.dbotthepony.mc.otm.block.entity.DriveViewerBlockEntity
import ru.dbotthepony.mc.otm.capability.MatteryCapability import ru.dbotthepony.mc.otm.capability.MatteryCapability
import ru.dbotthepony.mc.otm.capability.drive.IMatteryDrive import ru.dbotthepony.mc.otm.capability.drive.IMatteryDrive
import ru.dbotthepony.mc.otm.item.ItemPortableCondensationDrive import ru.dbotthepony.mc.otm.item.PortableCondensationDriveItem
import ru.dbotthepony.mc.otm.item.ItemPortableCondensationDrive.FilterSettings import ru.dbotthepony.mc.otm.item.PortableCondensationDriveItem.FilterSettings
import ru.dbotthepony.mc.otm.menu.data.INetworkedItemViewSupplier import ru.dbotthepony.mc.otm.menu.data.INetworkedItemViewSupplier
import ru.dbotthepony.mc.otm.menu.data.NetworkedItemView import ru.dbotthepony.mc.otm.menu.data.NetworkedItemView
import ru.dbotthepony.mc.otm.registry.MMenus import ru.dbotthepony.mc.otm.registry.MMenus
@ -19,11 +19,11 @@ import ru.dbotthepony.mc.otm.storage.ItemStackWrapper
import ru.dbotthepony.mc.otm.storage.PoweredVirtualComponent import ru.dbotthepony.mc.otm.storage.PoweredVirtualComponent
import java.util.function.Supplier import java.util.function.Supplier
class MenuDriveViewer @JvmOverloads constructor( class DriveViewerMenu @JvmOverloads constructor(
containerID: Int, containerID: Int,
inventory: Inventory, inventory: Inventory,
tile: BlockEntityDriveViewer? = null tile: DriveViewerBlockEntity? = null
) : MenuMatteryPowered( ) : MatteryPoweredMenu(
MMenus.DRIVE_VIEWER, containerID, inventory, tile MMenus.DRIVE_VIEWER, containerID, inventory, tile
), INetworkedItemViewSupplier { ), INetworkedItemViewSupplier {
@JvmField val view: NetworkedItemView @JvmField val view: NetworkedItemView
@ -63,7 +63,7 @@ class MenuDriveViewer @JvmOverloads constructor(
super.broadcastChanges() super.broadcastChanges()
if (tile != null) { if (tile != null) {
val itemStack = (tile as BlockEntityDriveViewer).container.getItem(0) val itemStack = (tile as DriveViewerBlockEntity).container.getItem(0)
val prev = lastDrive val prev = lastDrive
lastDrive = null lastDrive = null
@ -144,7 +144,7 @@ class MenuDriveViewer @JvmOverloads constructor(
return null return null
val item = driveSlot.item.item val item = driveSlot.item.item
return if (item is ItemPortableCondensationDrive) item.getFilterSettings(driveSlot.item) else null return if (item is PortableCondensationDriveItem) item.getFilterSettings(driveSlot.item) else null
} }
class FilterSetPacket(val id: Int, val slot: Int, val value: ItemStack) { class FilterSetPacket(val id: Int, val slot: Int, val value: ItemStack) {
@ -167,14 +167,14 @@ class MenuDriveViewer @JvmOverloads constructor(
val ply = context.get().sender!! val ply = context.get().sender!!
val menu = ply.containerMenu val menu = ply.containerMenu
if (menu is MenuDriveViewer && menu.containerId == id) { if (menu is DriveViewerMenu && menu.containerId == id) {
if (menu.driveSlot.item.isEmpty) if (menu.driveSlot.item.isEmpty)
return@enqueueWork return@enqueueWork
val itemStack = menu.driveSlot.item val itemStack = menu.driveSlot.item
val item = itemStack.item val item = itemStack.item
if (item is ItemPortableCondensationDrive) { if (item is PortableCondensationDriveItem) {
val filter = item.getFilterSettings(itemStack) val filter = item.getFilterSettings(itemStack)
filter.items[slot] = value filter.items[slot] = value
filter.serializeNBT(itemStack) filter.serializeNBT(itemStack)
@ -204,7 +204,7 @@ class MenuDriveViewer @JvmOverloads constructor(
val ply = context.get().sender!! val ply = context.get().sender!!
val menu = ply.containerMenu val menu = ply.containerMenu
if (menu is MenuDriveViewer && menu.containerId == id) { if (menu is DriveViewerMenu && menu.containerId == id) {
val settings = menu.getFilter() ?: return@enqueueWork val settings = menu.getFilter() ?: return@enqueueWork
when (type) { when (type) {

View File

@ -4,7 +4,7 @@ import net.minecraft.core.Direction
import kotlin.jvm.JvmOverloads import kotlin.jvm.JvmOverloads
import net.minecraft.world.entity.player.Inventory import net.minecraft.world.entity.player.Inventory
import net.minecraft.world.level.block.Block import net.minecraft.world.level.block.Block
import ru.dbotthepony.mc.otm.block.BlockEnergyCounter import ru.dbotthepony.mc.otm.block.EnergyCounterBlock
import ru.dbotthepony.mc.otm.block.entity.BlockEntityEnergyCounter import ru.dbotthepony.mc.otm.block.entity.BlockEntityEnergyCounter
import ru.dbotthepony.mc.otm.core.ImpreciseFraction import ru.dbotthepony.mc.otm.core.ImpreciseFraction
import ru.dbotthepony.mc.otm.menu.data.EnumDataContainer import ru.dbotthepony.mc.otm.menu.data.EnumDataContainer
@ -14,7 +14,7 @@ import ru.dbotthepony.mc.otm.menu.widget.OneWayPlayerInputWidget
import ru.dbotthepony.mc.otm.registry.MMenus import ru.dbotthepony.mc.otm.registry.MMenus
import java.math.BigDecimal import java.math.BigDecimal
class MenuEnergyCounter @JvmOverloads constructor( class EnergyCounterMenu @JvmOverloads constructor(
p_38852_: Int, p_38852_: Int,
inventory: Inventory, inventory: Inventory,
tile: BlockEntityEnergyCounter? = null tile: BlockEntityEnergyCounter? = null
@ -38,7 +38,7 @@ class MenuEnergyCounter @JvmOverloads constructor(
maxIO.asClient() maxIO.asClient()
} else { } else {
switchDirection = OneWayPlayerInputWidget(this) { switchDirection = OneWayPlayerInputWidget(this) {
tile.level?.setBlock(tile.blockPos, tile.blockState.setValue(BlockEnergyCounter.INPUT_DIRECTION, tile.blockState.getValue(BlockEnergyCounter.INPUT_DIRECTION).opposite), Block.UPDATE_ALL) tile.level?.setBlock(tile.blockPos, tile.blockState.setValue(EnergyCounterBlock.INPUT_DIRECTION, tile.blockState.getValue(EnergyCounterBlock.INPUT_DIRECTION).opposite), Block.UPDATE_ALL)
} }
maxIO.withSupplier { maxIO.withSupplier {
@ -70,7 +70,7 @@ class MenuEnergyCounter @JvmOverloads constructor(
} }
ticksPassed = (ticksPassed + 1) % 20 ticksPassed = (ticksPassed + 1) % 20
inputDirection.value = tile.blockState.getValue(BlockEnergyCounter.INPUT_DIRECTION) inputDirection.value = tile.blockState.getValue(EnergyCounterBlock.INPUT_DIRECTION)
} }
super.broadcastChanges() super.broadcastChanges()

View File

@ -3,7 +3,7 @@ package ru.dbotthepony.mc.otm.menu
import net.minecraft.world.entity.player.Inventory import net.minecraft.world.entity.player.Inventory
import net.minecraft.world.entity.player.Player import net.minecraft.world.entity.player.Player
import net.minecraft.world.item.ItemStack import net.minecraft.world.item.ItemStack
import ru.dbotthepony.mc.otm.block.entity.BlockEntityItemMonitor import ru.dbotthepony.mc.otm.block.entity.ItemMonitorBlockEntity
import ru.dbotthepony.mc.otm.capability.MatteryCapability import ru.dbotthepony.mc.otm.capability.MatteryCapability
import ru.dbotthepony.mc.otm.menu.data.INetworkedItemViewSupplier import ru.dbotthepony.mc.otm.menu.data.INetworkedItemViewSupplier
import ru.dbotthepony.mc.otm.menu.data.NetworkedItemView import ru.dbotthepony.mc.otm.menu.data.NetworkedItemView
@ -12,11 +12,11 @@ import ru.dbotthepony.mc.otm.storage.ItemStackWrapper
import ru.dbotthepony.mc.otm.storage.PoweredVirtualComponent import ru.dbotthepony.mc.otm.storage.PoweredVirtualComponent
import ru.dbotthepony.mc.otm.storage.VirtualComponent import ru.dbotthepony.mc.otm.storage.VirtualComponent
class MenuItemMonitor @JvmOverloads constructor( class ItemMonitorMenu @JvmOverloads constructor(
p_38852_: Int, p_38852_: Int,
inventory: Inventory, inventory: Inventory,
tile: BlockEntityItemMonitor? = null tile: ItemMonitorBlockEntity? = null
) : MenuMatteryPowered(MMenus.ITEM_MONITOR, p_38852_, inventory, tile), INetworkedItemViewSupplier { ) : MatteryPoweredMenu(MMenus.ITEM_MONITOR, p_38852_, inventory, tile), INetworkedItemViewSupplier {
@JvmField @JvmField
val view = NetworkedItemView(inventory.player, this, tile == null) val view = NetworkedItemView(inventory.player, this, tile == null)
private val subscribed: VirtualComponent<ItemStackWrapper>? private val subscribed: VirtualComponent<ItemStackWrapper>?

View File

@ -3,20 +3,19 @@ package ru.dbotthepony.mc.otm.menu
import net.minecraft.world.SimpleContainer import net.minecraft.world.SimpleContainer
import net.minecraft.world.entity.player.Inventory import net.minecraft.world.entity.player.Inventory
import net.minecraft.world.item.ItemStack import net.minecraft.world.item.ItemStack
import ru.dbotthepony.mc.otm.block.entity.BlockEntityMatterBottler import ru.dbotthepony.mc.otm.block.entity.MatterBottlerBlockEntity
import ru.dbotthepony.mc.otm.capability.MatteryCapability import ru.dbotthepony.mc.otm.capability.MatteryCapability
import ru.dbotthepony.mc.otm.capability.matter.MatterDirection
import ru.dbotthepony.mc.otm.menu.widget.BooleanPlayerInputWidget import ru.dbotthepony.mc.otm.menu.widget.BooleanPlayerInputWidget
import ru.dbotthepony.mc.otm.menu.widget.LevelGaugeWidget import ru.dbotthepony.mc.otm.menu.widget.LevelGaugeWidget
import ru.dbotthepony.mc.otm.menu.widget.ProgressGaugeWidget import ru.dbotthepony.mc.otm.menu.widget.ProgressGaugeWidget
import ru.dbotthepony.mc.otm.orNull import ru.dbotthepony.mc.otm.orNull
import ru.dbotthepony.mc.otm.registry.MMenus import ru.dbotthepony.mc.otm.registry.MMenus
class MenuMatterBottler @JvmOverloads constructor( class MatterBottlerMenu @JvmOverloads constructor(
p_38852_: Int, p_38852_: Int,
inventory: Inventory, inventory: Inventory,
tile: BlockEntityMatterBottler? = null tile: MatterBottlerBlockEntity? = null
) : MenuMatteryPowered( ) : MatteryPoweredMenu(
MMenus.MATTER_BOTTLER, p_38852_, inventory, tile MMenus.MATTER_BOTTLER, p_38852_, inventory, tile
) { ) {
val workFlow: BooleanPlayerInputWidget val workFlow: BooleanPlayerInputWidget
@ -58,7 +57,7 @@ class MenuMatterBottler @JvmOverloads constructor(
override fun broadcastChanges() { override fun broadcastChanges() {
super.broadcastChanges() super.broadcastChanges()
workFlow.value = (tile as BlockEntityMatterBottler).workFlow workFlow.value = (tile as MatterBottlerBlockEntity).workFlow
} }
override fun getWorkingSlotStart(): Int { override fun getWorkingSlotStart(): Int {

View File

@ -2,16 +2,16 @@ package ru.dbotthepony.mc.otm.menu
import net.minecraft.world.SimpleContainer import net.minecraft.world.SimpleContainer
import net.minecraft.world.entity.player.Inventory import net.minecraft.world.entity.player.Inventory
import ru.dbotthepony.mc.otm.block.entity.BlockEntityMatterCapacitorBank import ru.dbotthepony.mc.otm.block.entity.MatterCapacitorBankBlockEntity
import ru.dbotthepony.mc.otm.core.ImpreciseFraction import ru.dbotthepony.mc.otm.core.ImpreciseFraction
import ru.dbotthepony.mc.otm.graph.matter.MatterNetworkGraph import ru.dbotthepony.mc.otm.graph.matter.MatterNetworkGraph
import ru.dbotthepony.mc.otm.menu.widget.LevelGaugeWidget import ru.dbotthepony.mc.otm.menu.widget.LevelGaugeWidget
import ru.dbotthepony.mc.otm.registry.MMenus import ru.dbotthepony.mc.otm.registry.MMenus
class MenuMatterCapacitor @JvmOverloads constructor( class MatterCapacitorMenu @JvmOverloads constructor(
p_38852_: Int, p_38852_: Int,
inventory: Inventory, inventory: Inventory,
tile: BlockEntityMatterCapacitorBank? = null tile: MatterCapacitorBankBlockEntity? = null
) : MatteryMenu( ) : MatteryMenu(
MMenus.MATTER_CAPACITOR_BANK, p_38852_, inventory, tile MMenus.MATTER_CAPACITOR_BANK, p_38852_, inventory, tile
) { ) {

View File

@ -2,7 +2,7 @@ package ru.dbotthepony.mc.otm.menu
import kotlin.jvm.JvmOverloads import kotlin.jvm.JvmOverloads
import net.minecraft.world.entity.player.Inventory import net.minecraft.world.entity.player.Inventory
import ru.dbotthepony.mc.otm.block.entity.BlockEntityMatterDecomposer import ru.dbotthepony.mc.otm.block.entity.MatterDecomposerBlockEntity
import ru.dbotthepony.mc.otm.menu.widget.ProgressGaugeWidget import ru.dbotthepony.mc.otm.menu.widget.ProgressGaugeWidget
import ru.dbotthepony.mc.otm.menu.widget.LevelGaugeWidget import ru.dbotthepony.mc.otm.menu.widget.LevelGaugeWidget
import net.minecraft.world.SimpleContainer import net.minecraft.world.SimpleContainer
@ -12,11 +12,11 @@ import ru.dbotthepony.mc.otm.matter.canDecompose
import ru.dbotthepony.mc.otm.orNull import ru.dbotthepony.mc.otm.orNull
import ru.dbotthepony.mc.otm.registry.MMenus import ru.dbotthepony.mc.otm.registry.MMenus
class MenuMatterDecomposer @JvmOverloads constructor( class MatterDecomposerMenu @JvmOverloads constructor(
containerID: Int, containerID: Int,
inventory: Inventory, inventory: Inventory,
tile: BlockEntityMatterDecomposer? = null tile: MatterDecomposerBlockEntity? = null
) : MenuMatteryPowered(MMenus.MATTER_DECOMPOSER, containerID, inventory, tile) { ) : MatteryPoweredMenu(MMenus.MATTER_DECOMPOSER, containerID, inventory, tile) {
val input: MatterySlot val input: MatterySlot
val outputMain: MachineOutputSlot val outputMain: MachineOutputSlot
val outputStacking: MachineOutputSlot val outputStacking: MachineOutputSlot

View File

@ -5,7 +5,7 @@ import net.minecraft.world.entity.player.Inventory
import net.minecraft.world.entity.player.Player import net.minecraft.world.entity.player.Player
import net.minecraftforge.network.PacketDistributor import net.minecraftforge.network.PacketDistributor
import ru.dbotthepony.mc.otm.OverdriveThatMatters import ru.dbotthepony.mc.otm.OverdriveThatMatters
import ru.dbotthepony.mc.otm.block.entity.BlockEntityMatterPanel import ru.dbotthepony.mc.otm.block.entity.MatterPanelBlockEntity
import ru.dbotthepony.mc.otm.capability.matter.MatterTask import ru.dbotthepony.mc.otm.capability.matter.MatterTask
import ru.dbotthepony.mc.otm.capability.matter.PatternState import ru.dbotthepony.mc.otm.capability.matter.PatternState
import ru.dbotthepony.mc.otm.graph.matter.IMatterGraphListener import ru.dbotthepony.mc.otm.graph.matter.IMatterGraphListener
@ -18,10 +18,10 @@ import ru.dbotthepony.mc.otm.registry.MMenus
import java.util.* import java.util.*
import java.util.function.Consumer import java.util.function.Consumer
class MenuMatterPanel @JvmOverloads constructor( class MatterPanelMenu @JvmOverloads constructor(
p_38852_: Int, p_38852_: Int,
inventory: Inventory, inventory: Inventory,
tile: BlockEntityMatterPanel? = null tile: MatterPanelBlockEntity? = null
) : MatteryMenu(MMenus.MATTER_PANEL, p_38852_, inventory, tile), IMatterGraphListener { ) : MatteryMenu(MMenus.MATTER_PANEL, p_38852_, inventory, tile), IMatterGraphListener {
fun taskUpdated(task: MatterTask) { fun taskUpdated(task: MatterTask) {
sendNetwork(MatterTaskPacket(true, listOf(task))) sendNetwork(MatterTaskPacket(true, listOf(task)))
@ -97,7 +97,7 @@ class MenuMatterPanel @JvmOverloads constructor(
// server code // server code
fun requestReplication(ply: ServerPlayer, state: PatternState, how_much: Int) { fun requestReplication(ply: ServerPlayer, state: PatternState, how_much: Int) {
val tile = tile as BlockEntityMatterPanel? ?: return val tile = tile as MatterPanelBlockEntity? ?: return
val graph = tile.getAsMatterNode().graph as MatterNetworkGraph? ?: return val graph = tile.getAsMatterNode().graph as MatterNetworkGraph? ?: return
@ -110,7 +110,7 @@ class MenuMatterPanel @JvmOverloads constructor(
} }
fun receiveTaskCancel(ply: ServerPlayer, id: UUID) { fun receiveTaskCancel(ply: ServerPlayer, id: UUID) {
(tile as BlockEntityMatterPanel?)?.removeTask(id) (tile as MatterPanelBlockEntity?)?.removeTask(id)
} }
fun requestTaskCancel(id: UUID) { fun requestTaskCancel(id: UUID) {
@ -143,7 +143,7 @@ class MenuMatterPanel @JvmOverloads constructor(
override fun removed(p_38940_: Player) { override fun removed(p_38940_: Player) {
super.removed(p_38940_) super.removed(p_38940_)
(tile as BlockEntityMatterPanel?)?.deatachMenu(this) (tile as MatterPanelBlockEntity?)?.deatachMenu(this)
listeningGrid?.removeListener(this) listeningGrid?.removeListener(this)
} }
@ -162,7 +162,7 @@ class MenuMatterPanel @JvmOverloads constructor(
return return
} }
val tile = tile as BlockEntityMatterPanel? val tile = tile as MatterPanelBlockEntity?
if (tile != null) { if (tile != null) {
val grid = tile.getAsMatterNode().graph as MatterNetworkGraph? val grid = tile.getAsMatterNode().graph as MatterNetworkGraph?

View File

@ -3,17 +3,17 @@ package ru.dbotthepony.mc.otm.menu
import net.minecraft.world.SimpleContainer import net.minecraft.world.SimpleContainer
import net.minecraft.world.entity.player.Inventory import net.minecraft.world.entity.player.Inventory
import net.minecraft.world.item.ItemStack import net.minecraft.world.item.ItemStack
import ru.dbotthepony.mc.otm.block.entity.BlockEntityMatterRecycler import ru.dbotthepony.mc.otm.block.entity.MatterRecyclerBlockEntity
import ru.dbotthepony.mc.otm.item.ItemMatterDust import ru.dbotthepony.mc.otm.item.MatterDustItem
import ru.dbotthepony.mc.otm.menu.widget.LevelGaugeWidget import ru.dbotthepony.mc.otm.menu.widget.LevelGaugeWidget
import ru.dbotthepony.mc.otm.menu.widget.ProgressGaugeWidget import ru.dbotthepony.mc.otm.menu.widget.ProgressGaugeWidget
import ru.dbotthepony.mc.otm.registry.MMenus import ru.dbotthepony.mc.otm.registry.MMenus
class MenuMatterRecycler @JvmOverloads constructor( class MatterRecyclerMenu @JvmOverloads constructor(
containerID: Int, containerID: Int,
inventory: Inventory, inventory: Inventory,
tile: BlockEntityMatterRecycler? = null tile: MatterRecyclerBlockEntity? = null
) : MenuMatteryPowered(MMenus.MATTER_RECYCLER, containerID, inventory, tile) { ) : MatteryPoweredMenu(MMenus.MATTER_RECYCLER, containerID, inventory, tile) {
val input: MatterySlot val input: MatterySlot
val progress: ProgressGaugeWidget val progress: ProgressGaugeWidget
val matter = LevelGaugeWidget(this, tile?.matter) val matter = LevelGaugeWidget(this, tile?.matter)
@ -23,7 +23,7 @@ class MenuMatterRecycler @JvmOverloads constructor(
input = object : MatterySlot(container, 0) { input = object : MatterySlot(container, 0) {
override fun mayPlace(p_40231_: ItemStack): Boolean { override fun mayPlace(p_40231_: ItemStack): Boolean {
return p_40231_.item is ItemMatterDust && (p_40231_.item as ItemMatterDust).getMatterValue(p_40231_) != null return p_40231_.item is MatterDustItem && (p_40231_.item as MatterDustItem).getMatterValue(p_40231_) != null
} }
} }

Some files were not shown because too many files have changed in this diff Show More