Created
February 29, 2020 21:32
-
-
Save aidancbrady/2cb046ba2b38b4d610374cdc7427e147 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package mekanism.common.content.machines; | |
import java.util.EnumSet; | |
import java.util.Set; | |
import javax.annotation.Nonnull; | |
import mekanism.api.Upgrade; | |
import mekanism.api.block.FactoryType; | |
import mekanism.client.HolidayManager; | |
import mekanism.common.MekanismLang; | |
import mekanism.common.base.ILangEntry; | |
import mekanism.common.config.value.CachedDoubleValue; | |
import mekanism.common.inventory.container.tile.MekanismTileContainer; | |
import mekanism.common.registration.impl.ContainerTypeRegistryObject; | |
import mekanism.common.registration.impl.SoundEventRegistryObject; | |
import mekanism.common.registration.impl.TileEntityTypeRegistryObject; | |
import mekanism.common.tile.base.TileEntityMekanism; | |
import net.minecraft.tileentity.TileEntityType; | |
import net.minecraft.util.SoundEvent; | |
public abstract class Machine<TILE extends TileEntityMekanism> { | |
private TileEntityTypeRegistryObject<TILE> tileEntityRegistrar; | |
private ContainerTypeRegistryObject<MekanismTileContainer<TILE>> containerRegistrar; | |
private CachedDoubleValue energyUsage; | |
private CachedDoubleValue energyStorage; | |
private SoundEventRegistryObject<SoundEvent> soundRegistrar; | |
private MekanismLang description; | |
private FactoryType factoryType; | |
public Machine() { | |
} | |
public TileEntityType<TILE> getTileType() { | |
return tileEntityRegistrar.getTileEntityType(); | |
} | |
public ContainerTypeRegistryObject<MekanismTileContainer<TILE>> getContainerType() { | |
return containerRegistrar; | |
} | |
public FactoryType getFactoryType() { | |
return factoryType; | |
} | |
@Nonnull | |
public Set<Upgrade> getSupportedUpgrades() { | |
return EnumSet.of(Upgrade.SPEED, Upgrade.ENERGY, Upgrade.MUFFLING); | |
} | |
@Nonnull | |
public SoundEvent getSoundEvent() { | |
return HolidayManager.filterSound(soundRegistrar).getSoundEvent(); | |
} | |
@Nonnull | |
public ILangEntry getDescription() { | |
return description; | |
} | |
public double getUsage() { | |
return energyUsage.get(); | |
} | |
public double getConfigStorage() { | |
return energyStorage.get(); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment