|
|
|
@ -33,6 +33,7 @@ import com.thebrokenrail.energonrelics.block.EnergonLightBlock;
|
|
|
|
|
import com.thebrokenrail.energonrelics.block.SolarPanelBlock;
|
|
|
|
|
import com.thebrokenrail.energonrelics.block.SwitchBlock;
|
|
|
|
|
import com.thebrokenrail.energonrelics.api.block.SimpleBlock;
|
|
|
|
|
import com.thebrokenrail.energonrelics.feature.CustomFeatures;
|
|
|
|
|
import com.thebrokenrail.energonrelics.item.MultimeterItem;
|
|
|
|
|
import com.thebrokenrail.energonrelics.item.NetworkChipItem;
|
|
|
|
|
import com.thebrokenrail.energonrelics.potion.CustomPotions;
|
|
|
|
@ -51,155 +52,162 @@ import net.minecraft.sound.SoundEvent;
|
|
|
|
|
import net.minecraft.util.Identifier;
|
|
|
|
|
import net.minecraft.util.Rarity;
|
|
|
|
|
import net.minecraft.util.math.BlockPos;
|
|
|
|
|
import net.minecraft.util.registry.BuiltinRegistries;
|
|
|
|
|
import net.minecraft.util.registry.Registry;
|
|
|
|
|
import net.minecraft.world.World;
|
|
|
|
|
import net.minecraft.world.gen.feature.ConfiguredFeature;
|
|
|
|
|
import net.minecraft.world.gen.feature.Feature;
|
|
|
|
|
import net.minecraft.world.gen.feature.OreFeatureConfig;
|
|
|
|
|
|
|
|
|
|
public final class EnergonRelics implements ModInitializer {
|
|
|
|
|
public static final String NAMESPACE = "energonrelics";
|
|
|
|
|
|
|
|
|
|
public static NetworkChipItem NETWORK_CHIP_ITEM;
|
|
|
|
|
|
|
|
|
|
public static final ItemGroup ITEM_GROUP = FabricItemGroupBuilder.build(new Identifier(NAMESPACE, "item_group"), () -> new ItemStack(NETWORK_CHIP_ITEM));
|
|
|
|
|
public static final class Items {
|
|
|
|
|
static {
|
|
|
|
|
if (ItemGroup.BUILDING_BLOCKS == null) {
|
|
|
|
|
throw new RuntimeException("Items Loaded Too Early");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static final EnergonLightBlock ENERGON_LIGHT_BLOCK = new EnergonLightBlock();
|
|
|
|
|
public static final SolarPanelBlock SOLAR_PANEL_BLOCK = new SolarPanelBlock();
|
|
|
|
|
public static final SwitchBlock SWITCH_BLOCk = new SwitchBlock();
|
|
|
|
|
public static final MultimeterItem MULTIMETER_ITEM = new MultimeterItem();
|
|
|
|
|
public static final NetworkChipItem NETWORK_CHIP_ITEM;
|
|
|
|
|
|
|
|
|
|
public static final ThermalCasingBlock THERMAL_CASING_BLOCK = new ThermalCasingBlock();
|
|
|
|
|
public static final ThermalGlassBlock THERMAL_GLASS_BLOCK = new ThermalGlassBlock();
|
|
|
|
|
public static final ItemGroup ITEM_GROUP = FabricItemGroupBuilder.build(new Identifier(NAMESPACE, "item_group"), () -> new ItemStack(Items.NETWORK_CHIP_ITEM));
|
|
|
|
|
|
|
|
|
|
public static final BatteryCoreBlock BATTERY_CORE_BLOCk = new BatteryCoreBlock();
|
|
|
|
|
public static final PassiveBatteryControllerBlock PASSIVE_BATTERY_CONTROLLER_BLOCk = new PassiveBatteryControllerBlock();
|
|
|
|
|
public static final ActiveBatteryControllerBlock ACTIVE_BATTERY_CONTROLLER_BLOCK = new ActiveBatteryControllerBlock();
|
|
|
|
|
static {
|
|
|
|
|
NETWORK_CHIP_ITEM = new NetworkChipItem();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static final ReactorCoreBlock REACTOR_CORE_BLOCK = new ReactorCoreBlock();
|
|
|
|
|
public static final ReactorInputBlock REACTOR_INPUT_BLOCK = new ReactorInputBlock();
|
|
|
|
|
public static final ReactorControllerBlock REACTOR_CONTROLLER_BLOCK = new ReactorControllerBlock();
|
|
|
|
|
public static final MultimeterItem MULTIMETER = new MultimeterItem();
|
|
|
|
|
public static final Item VERIDIUM_ORB = new Item(new Item.Settings().group(ITEM_GROUP).rarity(Rarity.UNCOMMON));
|
|
|
|
|
public static final Item VERIDIUM_POWDER = new Item(new Item.Settings().group(ITEM_GROUP));
|
|
|
|
|
public static final Item DEFENSIVE_LASER_CORE = new Item(new Item.Settings().group(ITEM_GROUP));
|
|
|
|
|
public static final Item CIRCUIT_BOARD = new Item(new Item.Settings().group(ITEM_GROUP));
|
|
|
|
|
public static final Item VERIDIUM_INGOT = new Item(new Item.Settings().group(ITEM_GROUP));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static final Item VERIDIUM_INGOT_ITEM = new Item(new Item.Settings().group(ITEM_GROUP));
|
|
|
|
|
public static final SimpleBlock VERIDIUM_ORE_BLOCK = new SimpleBlock(FabricBlockSettings.of(Material.STONE).requiresTool().strength(3f, 3f));
|
|
|
|
|
public static final SimpleBlock VERIDIUM_BLOCK_BLOCK = new VeridiumBlockBlock();
|
|
|
|
|
public static final ConfiguredFeature<?, ?> VERIDIUM_ORE_FEATURE = Feature.ORE.configure(new OreFeatureConfig(OreFeatureConfig.Rules.BASE_STONE_OVERWORLD, EnergonRelics.VERIDIUM_ORE_BLOCK.getDefaultState(), 9)).method_30377(32).spreadHorizontally().repeat(2);
|
|
|
|
|
public static final class Blocks {
|
|
|
|
|
public static final EnergonLightBlock ENERGON_LIGHT = new EnergonLightBlock();
|
|
|
|
|
public static final SolarPanelBlock SOLAR_PANEL = new SolarPanelBlock();
|
|
|
|
|
public static final SwitchBlock SWITCH = new SwitchBlock();
|
|
|
|
|
|
|
|
|
|
public static final Item CIRCUIT_BOARD_ITEM = new Item(new Item.Settings().group(ITEM_GROUP));
|
|
|
|
|
public static final ThermalCasingBlock THERMAL_CASING = new ThermalCasingBlock();
|
|
|
|
|
public static final ThermalGlassBlock THERMAL_GLASS = new ThermalGlassBlock();
|
|
|
|
|
|
|
|
|
|
public static final Item DEFENSIVE_LASER_CORE_ITEM = new Item(new Item.Settings().group(ITEM_GROUP));
|
|
|
|
|
public static final DefensiveLaserBlock DEFENSIVE_LASER_BLOCK = new DefensiveLaserBlock();
|
|
|
|
|
public static final BatteryCoreBlock BATTERY_CORE = new BatteryCoreBlock();
|
|
|
|
|
public static final PassiveBatteryControllerBlock PASSIVE_BATTERY_CONTROLLER = new PassiveBatteryControllerBlock();
|
|
|
|
|
public static final ActiveBatteryControllerBlock ACTIVE_BATTERY_CONTROLLER = new ActiveBatteryControllerBlock();
|
|
|
|
|
|
|
|
|
|
public static final BlockBreakerBlock BLOCK_BREAKER_BLOCK = new BlockBreakerBlock();
|
|
|
|
|
public static final ReactorCoreBlock REACTOR_CORE = new ReactorCoreBlock();
|
|
|
|
|
public static final ReactorInputBlock REACTOR_INPUT = new ReactorInputBlock();
|
|
|
|
|
public static final ReactorControllerBlock REACTOR_CONTROLLER = new ReactorControllerBlock();
|
|
|
|
|
|
|
|
|
|
public static final Item VERIDIUM_POWDER_ITEM = new Item(new Item.Settings().group(ITEM_GROUP));
|
|
|
|
|
public static final SimpleBlock VERIDIUM_ORE = new SimpleBlock(FabricBlockSettings.of(Material.STONE).requiresTool().strength(3f, 3f));
|
|
|
|
|
public static final SimpleBlock VERIDIUM_BLOCK = new VeridiumBlockBlock();
|
|
|
|
|
|
|
|
|
|
public static final LightningRodBaseBlock LIGHTNING_ROD_BASE_BLOCK = new LightningRodBaseBlock();
|
|
|
|
|
public static final LightningRodBlock LIGHTNING_ROD_BLOCK = new LightningRodBlock();
|
|
|
|
|
public static final DefensiveLaserBlock DEFENSIVE_LASER = new DefensiveLaserBlock();
|
|
|
|
|
public static final BlockBreakerBlock BLOCK_BREAKER = new BlockBreakerBlock();
|
|
|
|
|
|
|
|
|
|
public static final SpecialRecipeSerializer<DuplicateNetworkChipRecipe> DUPLICATE_NETWORK_CHIP_RECIPE = new SpecialRecipeSerializer<>(DuplicateNetworkChipRecipe::new);
|
|
|
|
|
public static final LightningRodBaseBlock LIGHTNING_ROD_BASE = new LightningRodBaseBlock();
|
|
|
|
|
public static final LightningRodBlock LIGHTNING_ROD = new LightningRodBlock();
|
|
|
|
|
|
|
|
|
|
public static final Material FIELD_MATERIAL = new Material.Builder(MaterialColor.CLEAR).replaceable().build();
|
|
|
|
|
public static final ForcefieldBlock FORCEFIELD = new ForcefieldBlock();
|
|
|
|
|
public static final ForcefieldProjectorBlock FORCEFIELD_PROJECTOR = new ForcefieldProjectorBlock();
|
|
|
|
|
|
|
|
|
|
public static final ForcefieldBlock FORCEFIELD_BLOCK = new ForcefieldBlock();
|
|
|
|
|
public static final ForcefieldProjectorBlock FORCEFIELD_PROJECTOR_BLOCK = new ForcefieldProjectorBlock();
|
|
|
|
|
public static final TractorBeamBlock TRACTOR_BEAM = new TractorBeamBlock();
|
|
|
|
|
public static final RepulsorBeamBlock REPULSOR_BEAM = new RepulsorBeamBlock();
|
|
|
|
|
public static final TractorBeamProjectorBlock TRACTOR_BEAM_PROJECTOR = new TractorBeamProjectorBlock();
|
|
|
|
|
|
|
|
|
|
public static final TractorBeamBlock TRACTOR_BEAM_BLOCK = new TractorBeamBlock();
|
|
|
|
|
public static final RepulsorBeamBlock REPULSOR_BEAM_BLOCK = new RepulsorBeamBlock();
|
|
|
|
|
public static final TractorBeamProjectorBlock TRACTOR_BEAM_PROJECTOR_BLOCK = new TractorBeamProjectorBlock();
|
|
|
|
|
public static final IndustrialLaserBlock INDUSTRIAL_LASER = new IndustrialLaserBlock();
|
|
|
|
|
public static final IndustrialLaserProjectorBlock INDUSTRIAL_LASER_PROJECTOR = new IndustrialLaserProjectorBlock();
|
|
|
|
|
|
|
|
|
|
public static final IndustrialLaserBlock INDUSTRIAL_LASER_BLOCK = new IndustrialLaserBlock();
|
|
|
|
|
public static final IndustrialLaserProjectorBlock INDUSTRIAL_LASER_PROJECTOR_BLOCK = new IndustrialLaserProjectorBlock();
|
|
|
|
|
public static final CreativeEnergySourceBlock CREATIVE_ENERGY_SOURCE = new CreativeEnergySourceBlock();
|
|
|
|
|
public static final HolographicSkyBlock HOLOGRAPHIC_SKY = new HolographicSkyBlock();
|
|
|
|
|
public static final InfuserBlock INFUSER = new InfuserBlock();
|
|
|
|
|
|
|
|
|
|
private static final Identifier BEEP_SOUND_ID = new Identifier(NAMESPACE, "beep");
|
|
|
|
|
private static final SoundEvent BEEP_SOUND_EVENT = new SoundEvent(BEEP_SOUND_ID);
|
|
|
|
|
public static final EnergizedObsidianBlock ENERGIZED_OBSIDIAN = new EnergizedObsidianBlock();
|
|
|
|
|
public static final EnergyBeamBlock ENERGY_BEAM = new EnergyBeamBlock();
|
|
|
|
|
public static final EnergyPortalBlock ENERGY_PORTAL = new EnergyPortalBlock();
|
|
|
|
|
public static final EnergyProjectorBlock ENERGY_PROJECTOR = new EnergyProjectorBlock();
|
|
|
|
|
|
|
|
|
|
public static final CreativeEnergySourceBlock CREATIVE_ENERGY_SOURCE_BLOCK = new CreativeEnergySourceBlock();
|
|
|
|
|
public static final PhaseShifterBlock PHASE_SHIFTER = new PhaseShifterBlock();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static final HolographicSkyBlock HOLOGRAPHIC_SKY_BLOCK = new HolographicSkyBlock();
|
|
|
|
|
public static final class Extras {
|
|
|
|
|
public static final SpecialRecipeSerializer<DuplicateNetworkChipRecipe> DUPLICATE_NETWORK_CHIP_RECIPE = new SpecialRecipeSerializer<>(DuplicateNetworkChipRecipe::new);
|
|
|
|
|
|
|
|
|
|
public static final InfuserBlock INFUSER_BLOCK = new InfuserBlock();
|
|
|
|
|
public static final Material FIELD_MATERIAL = new Material.Builder(MaterialColor.CLEAR).replaceable().build();
|
|
|
|
|
|
|
|
|
|
public static final EnergizedObsidianBlock ENERGIZED_OBSIDIAN_BLOCK = new EnergizedObsidianBlock();
|
|
|
|
|
public static final EnergyBeamBlock ENERGY_BEAM_BLOCK = new EnergyBeamBlock();
|
|
|
|
|
public static final EnergyPortalBlock ENERGY_PORTAL_BLOCK = new EnergyPortalBlock();
|
|
|
|
|
public static final EnergyProjectorBlock ENERGY_PROJECTOR_BLOCK = new EnergyProjectorBlock();
|
|
|
|
|
public static final Item VERIDIUM_ORB_ITEM = new Item(new Item.Settings().group(ITEM_GROUP).rarity(Rarity.UNCOMMON));
|
|
|
|
|
private static final Identifier BEEP_SOUND_ID = new Identifier(NAMESPACE, "beep");
|
|
|
|
|
private static final SoundEvent BEEP_SOUND_EVENT = new SoundEvent(BEEP_SOUND_ID);
|
|
|
|
|
|
|
|
|
|
public static final PhaseShifterBlock PHASE_SHIFTER_BLOCK = new PhaseShifterBlock();
|
|
|
|
|
public static void playBeep(World world, BlockPos pos) {
|
|
|
|
|
if (!world.isClient()) {
|
|
|
|
|
world.playSound(null, pos, BEEP_SOUND_EVENT, SoundCategory.BLOCKS, 0.3f, 1f);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void onInitialize() {
|
|
|
|
|
Registry.register(Registry.ITEM, new Identifier(NAMESPACE, "veridium_ingot"), VERIDIUM_INGOT_ITEM);
|
|
|
|
|
VERIDIUM_ORE_BLOCK.register("veridium_ore");
|
|
|
|
|
VERIDIUM_BLOCK_BLOCK.register("veridium_block");
|
|
|
|
|
Registry.register(BuiltinRegistries.CONFIGURED_FEATURE, new Identifier(NAMESPACE, "veridium_ore"), VERIDIUM_ORE_FEATURE);
|
|
|
|
|
Registry.register(Registry.ITEM, new Identifier(NAMESPACE, "veridium_powder"), VERIDIUM_POWDER_ITEM);
|
|
|
|
|
Registry.register(Registry.ITEM, new Identifier(NAMESPACE, "veridium_orb"), VERIDIUM_ORB_ITEM);
|
|
|
|
|
Registry.register(Registry.ITEM, new Identifier(NAMESPACE, "veridium_ingot"), Items.VERIDIUM_INGOT);
|
|
|
|
|
Blocks.VERIDIUM_ORE.register("veridium_ore");
|
|
|
|
|
Blocks.VERIDIUM_BLOCK.register("veridium_block");
|
|
|
|
|
CustomFeatures.register();
|
|
|
|
|
Registry.register(Registry.ITEM, new Identifier(NAMESPACE, "veridium_powder"), Items.VERIDIUM_POWDER);
|
|
|
|
|
Registry.register(Registry.ITEM, new Identifier(NAMESPACE, "veridium_orb"), Items.VERIDIUM_ORB);
|
|
|
|
|
|
|
|
|
|
NETWORK_CHIP_ITEM = Registry.register(Registry.ITEM, new Identifier(NAMESPACE, "network_chip"), new NetworkChipItem());
|
|
|
|
|
Registry.register(Registry.ITEM, new Identifier(NAMESPACE, "multimeter"), MULTIMETER_ITEM);
|
|
|
|
|
Registry.register(Registry.ITEM, new Identifier(NAMESPACE, "circuit_board"), CIRCUIT_BOARD_ITEM);
|
|
|
|
|
Registry.register(Registry.ITEM, new Identifier(NAMESPACE, "network_chip"), Items.NETWORK_CHIP_ITEM);
|
|
|
|
|
Registry.register(Registry.ITEM, new Identifier(NAMESPACE, "multimeter"), Items.MULTIMETER);
|
|
|
|
|
Registry.register(Registry.ITEM, new Identifier(NAMESPACE, "circuit_board"), Items.CIRCUIT_BOARD);
|
|
|
|
|
|
|
|
|
|
ENERGON_LIGHT_BLOCK.register("energon_light");
|
|
|
|
|
SOLAR_PANEL_BLOCK.register("solar_panel");
|
|
|
|
|
SWITCH_BLOCk.register("switch");
|
|
|
|
|
Blocks.ENERGON_LIGHT.register("energon_light");
|
|
|
|
|
Blocks.SOLAR_PANEL.register("solar_panel");
|
|
|
|
|
Blocks.SWITCH.register("switch");
|
|
|
|
|
|
|
|
|
|
THERMAL_CASING_BLOCK.register("thermal_casing");
|
|
|
|
|
THERMAL_GLASS_BLOCK.register("thermal_glass");
|
|
|
|
|
Blocks.THERMAL_CASING.register("thermal_casing");
|
|
|
|
|
Blocks.THERMAL_GLASS.register("thermal_glass");
|
|
|
|
|
|
|
|
|
|
BATTERY_CORE_BLOCk.register("battery_core");
|
|
|
|
|
PASSIVE_BATTERY_CONTROLLER_BLOCk.register("passive_battery_controller");
|
|
|
|
|
ACTIVE_BATTERY_CONTROLLER_BLOCK.register("active_battery_controller");
|
|
|
|
|
Blocks.BATTERY_CORE.register("battery_core");
|
|
|
|
|
Blocks.PASSIVE_BATTERY_CONTROLLER.register("passive_battery_controller");
|
|
|
|
|
Blocks.ACTIVE_BATTERY_CONTROLLER.register("active_battery_controller");
|
|
|
|
|
|
|
|
|
|
REACTOR_CORE_BLOCK.register("reactor_core");
|
|
|
|
|
REACTOR_INPUT_BLOCK.register("reactor_input");
|
|
|
|
|
REACTOR_CONTROLLER_BLOCK.register("reactor_controller");
|
|
|
|
|
Blocks.REACTOR_CORE.register("reactor_core");
|
|
|
|
|
Blocks.REACTOR_INPUT.register("reactor_input");
|
|
|
|
|
Blocks.REACTOR_CONTROLLER.register("reactor_controller");
|
|
|
|
|
|
|
|
|
|
Registry.register(Registry.ITEM, new Identifier(NAMESPACE, "defensive_laser_core"), DEFENSIVE_LASER_CORE_ITEM);
|
|
|
|
|
DEFENSIVE_LASER_BLOCK.register("defensive_laser");
|
|
|
|
|
Registry.register(Registry.ITEM, new Identifier(NAMESPACE, "defensive_laser_core"), Items.DEFENSIVE_LASER_CORE);
|
|
|
|
|
Blocks.DEFENSIVE_LASER.register("defensive_laser");
|
|
|
|
|
|
|
|
|
|
StructureGeneratorBlock.registerBlocks();
|
|
|
|
|
|
|
|
|
|
BLOCK_BREAKER_BLOCK.register("block_breaker");
|
|
|
|
|
Blocks.BLOCK_BREAKER.register("block_breaker");
|
|
|
|
|
|
|
|
|
|
CustomPotions.register();
|
|
|
|
|
|
|
|
|
|
LIGHTNING_ROD_BASE_BLOCK.register("lightning_rod_base");
|
|
|
|
|
LIGHTNING_ROD_BLOCK.register("lightning_rod");
|
|
|
|
|
Blocks.LIGHTNING_ROD_BASE.register("lightning_rod_base");
|
|
|
|
|
Blocks.LIGHTNING_ROD.register("lightning_rod");
|
|
|
|
|
|
|
|
|
|
Registry.register(Registry.RECIPE_SERIALIZER, new Identifier(NAMESPACE, "duplicate_network_chip"), DUPLICATE_NETWORK_CHIP_RECIPE);
|
|
|
|
|
Registry.register(Registry.RECIPE_SERIALIZER, new Identifier(NAMESPACE, "duplicate_network_chip"), Extras.DUPLICATE_NETWORK_CHIP_RECIPE);
|
|
|
|
|
|
|
|
|
|
FORCEFIELD_BLOCK.register("forcefield");
|
|
|
|
|
FORCEFIELD_PROJECTOR_BLOCK.register("forcefield_projector");
|
|
|
|
|
Blocks.FORCEFIELD.register("forcefield");
|
|
|
|
|
Blocks.FORCEFIELD_PROJECTOR.register("forcefield_projector");
|
|
|
|
|
|
|
|
|
|
TRACTOR_BEAM_BLOCK.register("tractor_beam");
|
|
|
|
|
REPULSOR_BEAM_BLOCK.register("repulsor_beam");
|
|
|
|
|
TRACTOR_BEAM_PROJECTOR_BLOCK.register("tractor_beam_projector");
|
|
|
|
|
Blocks.TRACTOR_BEAM.register("tractor_beam");
|
|
|
|
|
Blocks.REPULSOR_BEAM.register("repulsor_beam");
|
|
|
|
|
Blocks.TRACTOR_BEAM_PROJECTOR.register("tractor_beam_projector");
|
|
|
|
|
|
|
|
|
|
INDUSTRIAL_LASER_BLOCK.register("industrial_laser");
|
|
|
|
|
INDUSTRIAL_LASER_PROJECTOR_BLOCK.register("industrial_laser_projector");
|
|
|
|
|
Blocks.INDUSTRIAL_LASER.register("industrial_laser");
|
|
|
|
|
Blocks.INDUSTRIAL_LASER_PROJECTOR.register("industrial_laser_projector");
|
|
|
|
|
|
|
|
|
|
Registry.register(Registry.SOUND_EVENT, BEEP_SOUND_ID, BEEP_SOUND_EVENT);
|
|
|
|
|
Registry.register(Registry.SOUND_EVENT, Extras.BEEP_SOUND_ID, Extras.BEEP_SOUND_EVENT);
|
|
|
|
|
|
|
|
|
|
CREATIVE_ENERGY_SOURCE_BLOCK.register("creative_energy_source");
|
|
|
|
|
Blocks.CREATIVE_ENERGY_SOURCE.register("creative_energy_source");
|
|
|
|
|
|
|
|
|
|
HOLOGRAPHIC_SKY_BLOCK.register("holographic_sky");
|
|
|
|
|
Blocks.HOLOGRAPHIC_SKY.register("holographic_sky");
|
|
|
|
|
|
|
|
|
|
INFUSER_BLOCK.register("infuser");
|
|
|
|
|
Blocks.INFUSER.register("infuser");
|
|
|
|
|
|
|
|
|
|
ENERGIZED_OBSIDIAN_BLOCK.register("energized_obsidian");
|
|
|
|
|
ENERGY_BEAM_BLOCK.register("energy_beam");
|
|
|
|
|
ENERGY_PORTAL_BLOCK.register("energy_portal");
|
|
|
|
|
ENERGY_PROJECTOR_BLOCK.register("energy_projector");
|
|
|
|
|
Blocks.ENERGIZED_OBSIDIAN.register("energized_obsidian");
|
|
|
|
|
Blocks.ENERGY_BEAM.register("energy_beam");
|
|
|
|
|
Blocks.ENERGY_PORTAL.register("energy_portal");
|
|
|
|
|
Blocks.ENERGY_PROJECTOR.register("energy_projector");
|
|
|
|
|
|
|
|
|
|
PHASE_SHIFTER_BLOCK.register("phase_shifter");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static void playBeep(World world, BlockPos pos) {
|
|
|
|
|
if (!world.isClient()) {
|
|
|
|
|
world.playSound(null, pos, BEEP_SOUND_EVENT, SoundCategory.BLOCKS, 0.3f, 1f);
|
|
|
|
|
}
|
|
|
|
|
Blocks.PHASE_SHIFTER.register("phase_shifter");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|