Initial Shimmer Colored Lighting Integration
This commit is contained in:
@@ -25,6 +25,7 @@ minecraft {
|
||||
dependencies {
|
||||
compileOnly group:'org.spongepowered', name:'mixin', version:'0.8.5'
|
||||
compileOnly("me.hypherionmc.craterlib:CraterLib-common-1.19.1:${craterlib_version}")
|
||||
compileOnly("com.lowdragmc.shimmer:Shimmer-common-1.19.1:${shimmer_version}")
|
||||
}
|
||||
|
||||
processResources {
|
||||
|
@@ -7,6 +7,7 @@ import me.hypherionmc.craterlib.events.CraterEventBus;
|
||||
import me.hypherionmc.craterlib.platform.Services;
|
||||
import me.hypherionmc.hyperlighting.common.init.HLBlocks;
|
||||
import me.hypherionmc.hyperlighting.common.init.HLItems;
|
||||
import me.hypherionmc.hyperlighting.integration.HyperLightingIntegrations;
|
||||
import net.minecraft.client.renderer.ItemBlockRenderTypes;
|
||||
|
||||
/**
|
||||
@@ -17,6 +18,7 @@ public class ClientRegistration {
|
||||
|
||||
public void registerAll() {
|
||||
Services.CLIENT_HELPER.registerCustomRenderTypes(HLBlocks.BLOCKS.getEntries(), HLItems.ITEMS.getEntries());
|
||||
HyperLightingIntegrations.registerClient();
|
||||
}
|
||||
|
||||
public void registerEvents() {
|
||||
|
@@ -2,6 +2,7 @@ package me.hypherionmc.hyperlighting.common.init;
|
||||
|
||||
import me.hypherionmc.craterlib.client.gui.tabs.CreativeTabBuilder;
|
||||
import me.hypherionmc.hyperlighting.common.config.HyperLightingConfig;
|
||||
import me.hypherionmc.hyperlighting.integration.HyperLightingIntegrations;
|
||||
import net.minecraft.world.item.CreativeModeTab;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
|
||||
@@ -18,6 +19,7 @@ public class CommonRegistration {
|
||||
HLBlocks.loadAll();
|
||||
HLItems.loadAll();
|
||||
HLEntities.loadAll();
|
||||
HyperLightingIntegrations.registerCommon();
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -0,0 +1,22 @@
|
||||
package me.hypherionmc.hyperlighting.integration;
|
||||
|
||||
import me.hypherionmc.craterlib.platform.Services;
|
||||
import me.hypherionmc.hyperlighting.integration.shimmer.HyperLightingShimmer;
|
||||
|
||||
/**
|
||||
* @author HypherionSA
|
||||
* @date 07/08/2022
|
||||
*/
|
||||
public class HyperLightingIntegrations {
|
||||
|
||||
public static void registerCommon() {
|
||||
|
||||
}
|
||||
|
||||
public static void registerClient() {
|
||||
if (Services.PLATFORM.isModLoaded("shimmer")) {
|
||||
HyperLightingShimmer.registerAll();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@@ -0,0 +1,46 @@
|
||||
package me.hypherionmc.hyperlighting.integration.shimmer;
|
||||
|
||||
import com.lowdragmc.shimmer.client.light.ColorPointLight;
|
||||
import com.lowdragmc.shimmer.client.light.LightManager;
|
||||
import me.hypherionmc.craterlib.common.item.BlockItemDyable;
|
||||
import me.hypherionmc.craterlib.util.RenderUtils;
|
||||
import me.hypherionmc.hyperlighting.common.blocks.AdvancedLanternBlock;
|
||||
import me.hypherionmc.hyperlighting.common.blocks.AdvancedTorchBlock;
|
||||
import me.hypherionmc.hyperlighting.common.init.HLBlocks;
|
||||
import net.minecraft.world.item.DyeColor;
|
||||
|
||||
/**
|
||||
* @author HypherionSA
|
||||
* @date 07/08/2022
|
||||
*/
|
||||
public class HyperLightingShimmer {
|
||||
|
||||
public static void registerAll() {
|
||||
registerBlocks();
|
||||
registerItems();
|
||||
}
|
||||
|
||||
private static void registerItems() {
|
||||
LightManager.INSTANCE.registerItemLight(HLBlocks.ADVANCED_TORCH.asItem(), stack -> new ColorPointLight.Template(stack.getCount() / 10 + 6, RenderUtils.alphaColorFromDye(((BlockItemDyable)stack.getItem()).getColor(stack), 1f)));
|
||||
LightManager.INSTANCE.registerItemLight(HLBlocks.ADVANCED_LANTERN.asItem(), stack -> new ColorPointLight.Template(stack.getCount() / 10 + 6, RenderUtils.alphaColorFromDye(((BlockItemDyable)stack.getItem()).getColor(stack), 1f)));
|
||||
}
|
||||
|
||||
private static void registerBlocks() {
|
||||
LightManager.INSTANCE.registerBlockLight(HLBlocks.ADVANCED_TORCH.get(), (state, blockPos) -> {
|
||||
if (state.getValue(AdvancedTorchBlock.LIT)) {
|
||||
DyeColor color = state.getValue(AdvancedTorchBlock.COLOR);
|
||||
return new ColorPointLight.Template(10, RenderUtils.alphaColorFromDye(color, 1f));
|
||||
}
|
||||
return null;
|
||||
});
|
||||
|
||||
LightManager.INSTANCE.registerBlockLight(HLBlocks.ADVANCED_LANTERN.get(), (state, blockPos) -> {
|
||||
if (state.getValue(AdvancedLanternBlock.LIT)) {
|
||||
DyeColor color = state.getValue(AdvancedLanternBlock.COLOR);
|
||||
return new ColorPointLight.Template(10, RenderUtils.alphaColorFromDye(color, 1f));
|
||||
}
|
||||
return null;
|
||||
});
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user