Initial Commit with Torches. Missing LangKeys and Recipes

This commit is contained in:
2022-07-31 21:54:28 +02:00
commit ff4df5d59f
173 changed files with 2353 additions and 0 deletions

15
.gitattributes vendored Normal file
View File

@@ -0,0 +1,15 @@
* text eol=lf
*.bat text eol=crlf
*.patch text eol=lf
*.java text eol=lf
*.gradle text eol=crlf
*.png binary
*.gif binary
*.exe binary
*.dll binary
*.jar binary
*.lzma binary
*.zip binary
*.pyd binary
*.cfg text eol=lf
*.jks binary

25
.gitignore vendored Normal file
View File

@@ -0,0 +1,25 @@
# eclipse
bin
*.launch
.settings
.metadata
.classpath
.project
# idea
out
*.ipr
*.iws
*.iml
.idea
# gradle
build
.gradle
# other
eclipse
run
artifacts
ColorGen.java

5
ASSETS_LICENSE.txt Normal file
View File

@@ -0,0 +1,5 @@
All Rights Reserved
Copyright (c) [2022] [HypherionMC and Contributors]
All assets used in this mod that is not from the Default Minecraft assets, may not be used EVER without written permission from HypherionMC

54
Common/build.gradle Normal file
View File

@@ -0,0 +1,54 @@
plugins {
id 'java'
id 'org.spongepowered.gradle.vanilla' version '0.2.1-SNAPSHOT'
id 'maven-publish'
}
archivesBaseName = "${mod_name}-common-${minecraft_version}"
minecraft {
accessWideners(project.file("src/main/resources/hyperlighting.aw"))
version(minecraft_version)
runs {
if (project.hasProperty('common_runs_enabled') ? project.findProperty('common_runs_enabled').toBoolean() : true) {
server(project.hasProperty('common_server_run_name') ? project.findProperty('common_server_run_name') : 'vanilla_server') {
workingDirectory(this.file("run"))
}
client(project.hasProperty('common_client_run_name') ? project.findProperty('common_client_run_name') : 'vanilla_client') {
workingDirectory(this.file("run"))
}
}
}
}
dependencies {
compileOnly group:'org.spongepowered', name:'mixin', version:'0.8.5'
compileOnly("me.hypherionmc.craterlib:CraterLib-common-1.19.1:${craterlib_version}")
}
processResources {
def buildProps = project.properties.clone()
filesMatching(['pack.mcmeta']) {
expand buildProps
}
}
publishing {
publications {
mavenJava(MavenPublication) {
groupId project.group
artifactId project.archivesBaseName
version project.version
from components.java
}
}
repositories {
maven {
url "file://" + System.getenv("local_maven")
}
}
}

View File

@@ -0,0 +1,20 @@
package me.hypherionmc.hyperlighting;
import me.hypherionmc.craterlib.client.gui.tabs.CreativeTabBuilder;
import me.hypherionmc.hyperlighting.common.init.HLBlocks;
import me.hypherionmc.hyperlighting.common.init.HLItems;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.CreativeModeTab;
import net.minecraft.world.item.ItemStack;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
public class Constants {
public static final String MOD_ID = "hyperlighting";
public static final String MOD_NAME = "Hyper Lighting 2";
public static final Logger LOG = LogManager.getLogger(MOD_NAME);
public static ResourceLocation rl(String name) {
return new ResourceLocation(MOD_ID, name);
}
}

View File

@@ -0,0 +1,17 @@
package me.hypherionmc.hyperlighting.api;
import net.minecraft.core.BlockPos;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.state.BlockState;
public interface LightableBlock {
/**
* Allows Torch Lighter tool to cycle the state of a clicked block
* @param worldIn
* @param state
* @param pos
*/
void toggleLight(Level worldIn, BlockState state, BlockPos pos);
}

View File

@@ -0,0 +1,28 @@
package me.hypherionmc.hyperlighting.client.init;
import me.hypherionmc.craterlib.client.events.ColorRegistrationEvent;
import me.hypherionmc.craterlib.client.registry.ClientRegistry;
import me.hypherionmc.craterlib.events.CraterEventBus;
import me.hypherionmc.hyperlighting.common.init.HLBlocks;
import me.hypherionmc.hyperlighting.common.init.HLItems;
/**
* @author HypherionSA
* @date 17/06/2022
*/
public class ClientRegistration {
public void registerAll() {
CraterEventBus.register(ColorRegistrationEvent.BLOCKS.class, this::registerBlockColors);
CraterEventBus.register(ColorRegistrationEvent.ITEMS.class, this::registerItemColors);
}
public void registerBlockColors(ColorRegistrationEvent.BLOCKS event) {
ClientRegistry.registerBlockColors(event.getColors(), HLBlocks.BLOCKS);
}
public void registerItemColors(ColorRegistrationEvent.ITEMS event) {
ClientRegistry.registerItemColors(event.getColors(), HLItems.ITEMS);
}
}

View File

@@ -0,0 +1,75 @@
package me.hypherionmc.hyperlighting.client.particles;
import net.minecraft.client.multiplayer.ClientLevel;
import net.minecraft.client.particle.*;
import net.minecraft.core.particles.SimpleParticleType;
import net.minecraft.util.Mth;
public class ColoredFlameParticle extends RisingParticle {
public ColoredFlameParticle(ClientLevel level, double x, double y, double z, double r, double g, double b) {
super(level, x, y, z, 0, 0, 0);
this.setColor((float) r, (float) g, (float) b);
}
@Override
public ParticleRenderType getRenderType() {
return ParticleRenderType.PARTICLE_SHEET_LIT;
}
@Override
public void move(double dx, double dy, double dz) {
this.setBoundingBox(this.getBoundingBox().inflate(dx, dy, dz));
this.setLocationFromBoundingbox();
}
@Override
public float getQuadSize(float tickDelta) {
float f = ((float) this.age + tickDelta) / (float) this.lifetime;
return this.quadSize * (1.0f - f * f * 0.5f);
}
@Override
protected int getLightColor(float tint) {
float f = ((float) this.age + tint) / (float) this.lifetime;
f = Mth.clamp(f, 0.0f, 1.0f);
int i = super.getLightColor(tint);
int j = i & 0xFF;
int k = i >> 16 & 0xFF;
if ((j += (int) (f * 15.0f * 16.0f)) > 240) {
j = 240;
}
return j | k << 16;
}
public static class SmallFactory implements ParticleProvider<SimpleParticleType> {
private final SpriteSet spriteSet;
public SmallFactory(SpriteSet spriteSet) {
this.spriteSet = spriteSet;
}
@Override
public Particle createParticle(SimpleParticleType type, ClientLevel clientLevel, double x, double y, double z, double r, double g, double b) {
ColoredFlameParticle coloredFlameParticle = new ColoredFlameParticle(clientLevel, x, y, z, r, g, b);
coloredFlameParticle.setSpriteFromAge(this.spriteSet);
coloredFlameParticle.scale(0.5f);
return coloredFlameParticle;
}
}
public static class Factory implements ParticleProvider<SimpleParticleType> {
private final SpriteSet spriteSet;
public Factory(SpriteSet spriteSet) {
this.spriteSet = spriteSet;
}
@Override
public Particle createParticle(SimpleParticleType type, ClientLevel clientLevel, double x, double y, double z, double r, double g, double b) {
ColoredFlameParticle coloredFlameParticle = new ColoredFlameParticle(clientLevel, x, y, z, r, g, b);
coloredFlameParticle.setSpriteFromAge(this.spriteSet);
return coloredFlameParticle;
}
}
}

View File

@@ -0,0 +1,18 @@
package me.hypherionmc.hyperlighting.client.particles;
import me.hypherionmc.hyperlighting.common.init.HLParticles;
import net.minecraft.client.particle.ParticleEngine;
import net.minecraft.core.particles.ParticleOptions;
import net.minecraft.core.particles.ParticleType;
public class ParticleRegistryHandler {
public static void registerParticles(ParticleStrategy strategy) {
strategy.register(HLParticles.COLORED_FLAME.get(), ColoredFlameParticle.Factory::new);
}
public interface ParticleStrategy {
<T extends ParticleOptions> void register(ParticleType<T> particle, ParticleEngine.SpriteParticleRegistration<T> provider);
}
}

View File

@@ -0,0 +1,217 @@
package me.hypherionmc.hyperlighting.common.blocks;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Maps;
import me.hypherionmc.craterlib.api.rendering.DyableBlock;
import me.hypherionmc.craterlib.common.item.BlockItemDyable;
import me.hypherionmc.craterlib.util.BlockStateUtils;
import me.hypherionmc.craterlib.util.RenderUtils;
import me.hypherionmc.hyperlighting.api.LightableBlock;
import me.hypherionmc.hyperlighting.common.init.CommonRegistration;
import me.hypherionmc.hyperlighting.common.init.HLItems;
import me.hypherionmc.hyperlighting.common.init.HLSounds;
import me.hypherionmc.hyperlighting.util.StackUtil;
import net.minecraft.ChatFormatting;
import net.minecraft.client.color.block.BlockColor;
import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;
import net.minecraft.core.particles.ParticleTypes;
import net.minecraft.core.particles.SimpleParticleType;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.nbt.NbtUtils;
import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.MutableComponent;
import net.minecraft.sounds.SoundEvents;
import net.minecraft.sounds.SoundSource;
import net.minecraft.util.RandomSource;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.InteractionResult;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.*;
import net.minecraft.world.item.context.BlockPlaceContext;
import net.minecraft.world.level.BlockGetter;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.LevelAccessor;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.Blocks;
import net.minecraft.world.level.block.HorizontalDirectionalBlock;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.StateDefinition;
import net.minecraft.world.level.block.state.properties.AttachFace;
import net.minecraft.world.level.block.state.properties.BlockStateProperties;
import net.minecraft.world.level.block.state.properties.BooleanProperty;
import net.minecraft.world.level.block.state.properties.EnumProperty;
import net.minecraft.world.level.material.Material;
import net.minecraft.world.level.storage.loot.LootContext;
import net.minecraft.world.phys.BlockHitResult;
import net.minecraft.world.phys.shapes.CollisionContext;
import net.minecraft.world.phys.shapes.VoxelShape;
import org.jetbrains.annotations.NotNull;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Random;
import java.util.function.Supplier;
public class AdvancedTorchBlock extends HorizontalDirectionalBlock implements DyableBlock, LightableBlock {
public static final BooleanProperty LIT = BlockStateProperties.LIT;
public static final EnumProperty<DyeColor> COLOR = EnumProperty.create("color", DyeColor.class);
public static final EnumProperty<AttachFace> ATTACH_FACE = EnumProperty.create("face", AttachFace.class, AttachFace.FLOOR, AttachFace.WALL);
private static final Map<Direction, VoxelShape> SHAPES = Maps.newEnumMap(ImmutableMap.of(Direction.NORTH, Block.box(5.5D, 2.0D, 11.0D, 10.5D, 12.0D, 16.0D), Direction.SOUTH, Block.box(5.5D, 2.0D, 0.0D, 10.5D, 12.0D, 5.0D), Direction.WEST, Block.box(11.0D, 2.0D, 5.5D, 16.0D, 12.0D, 10.5D), Direction.EAST, Block.box(0.0D, 2.0D, 5.5D, 5.0D, 12.0D, 10.5D), Direction.UP, Block.box(6.0D, 0.0D, 6.0D, 10.0D, 10.0D, 10.0D)));
private final Supplier<SimpleParticleType> particleType;
private DyeColor color;
public AdvancedTorchBlock(String name, DyeColor color, CreativeModeTab tab, Supplier<SimpleParticleType> type) {
super(Properties.of(Material.WOOD).noCollission().instabreak().lightLevel(BlockStateUtils.createLightLevelFromLitBlockState(15)));
this.registerDefaultState(this.defaultBlockState().setValue(FACING, Direction.NORTH).setValue(LIT, CommonRegistration.config.torchConfig.litByDefault).setValue(COLOR, color));
this.particleType = type;
this.color = color;
HLItems.register(name, () -> new BlockItemDyable(this, new Item.Properties().tab(tab)));
}
@Override
public VoxelShape getShape(BlockState blockState, BlockGetter level, BlockPos pos, CollisionContext context) {
return switch (blockState.getValue(ATTACH_FACE)) {
case FLOOR -> SHAPES.get(Direction.UP);
case WALL -> SHAPES.get(blockState.getValue(FACING));
case CEILING -> null;
};
}
@Override
protected void createBlockStateDefinition(StateDefinition.Builder<Block, BlockState> builder) {
builder.add(LIT, ATTACH_FACE, FACING, COLOR);
super.createBlockStateDefinition(builder);
}
@Override
public BlockState getStateForPlacement(BlockPlaceContext context) {
Direction direction = context.getClickedFace();
BlockState state = this.defaultBlockState();
if (direction == Direction.UP) {
state = state.setValue(ATTACH_FACE, AttachFace.FLOOR);
} else {
state = state.setValue(ATTACH_FACE, AttachFace.WALL).setValue(FACING, direction);
}
return state.setValue(LIT, CommonRegistration.config.torchConfig.litByDefault);
}
@Override
public BlockState updateShape(BlockState stateIn, Direction facing, BlockState neighbourState, LevelAccessor levelIn, BlockPos currentPos, BlockPos newPos) {
if (facing == Direction.DOWN && !this.isValidPosition(stateIn, levelIn, currentPos, facing)) {
return Blocks.AIR.defaultBlockState();
}
return super.updateShape(stateIn, facing, neighbourState, levelIn, currentPos, newPos);
}
public boolean isValidPosition(BlockState state, LevelAccessor levelAccessor, BlockPos pos, Direction direction) {
return canSupportCenter(levelAccessor, pos, direction);
}
@Override
public void toggleLight(Level worldIn, BlockState state, BlockPos pos) {
state = state.setValue(LIT, !state.getValue(LIT));
worldIn.setBlock(pos, state, 2);
if (!state.getValue(LIT)) {
worldIn.playSound(null, pos, SoundEvents.FIRE_EXTINGUISH, SoundSource.BLOCKS, 0.3f, 1.0f);
} else {
worldIn.playSound(null, pos, HLSounds.TORCH_IGNITE.get(), SoundSource.BLOCKS, 0.3f, 1.0f);
}
worldIn.blockUpdated(pos, this);
}
@Override
public BlockColor dyeHandler() {
return ((blockState, blockAndTintGetter, blockPos, i) -> {
if (blockState.getValue(LIT)) {
return RenderUtils.renderColorFromDye(blockState.getValue(COLOR));
} else {
return RenderUtils.renderColorFromDye(DyeColor.BLACK);
}
});
}
@Override
public DyeColor defaultDyeColor() {
return this.defaultBlockState().getValue(COLOR);
}
/** Check if player clicked the block with DYE and apply Color Tint **/
@Override
public InteractionResult use(BlockState state, Level level, BlockPos pos, Player player, InteractionHand handIn, BlockHitResult hit) {
if (!level.isClientSide()) {
if (!player.getItemInHand(handIn).isEmpty() && player.getItemInHand(handIn).getItem() instanceof DyeItem dyeItem) {
state = state.setValue(COLOR, dyeItem.getDyeColor());
this.color = dyeItem.getDyeColor();
level.setBlock(pos, state, 3);
level.sendBlockUpdated(pos, state, state, 3);
if (!player.isCreative()) {
ItemStack stack = player.getItemInHand(handIn);
stack.shrink(1);
player.setItemInHand(handIn, stack);
}
return InteractionResult.CONSUME;
} else if (!CommonRegistration.config.torchConfig.requiresTool) {
state = state.cycle(LIT);
level.setBlock(pos, state, 3);
level.sendBlockUpdated(pos, state, state, 3);
if (!state.getValue(LIT)) {
level.playSound(null, pos, SoundEvents.FIRE_EXTINGUISH, SoundSource.BLOCKS, 0.3f, 1.0f);
} else {
level.playSound(null, pos, HLSounds.TORCH_IGNITE.get(), SoundSource.BLOCKS, 0.3f, 1.0f);
}
return InteractionResult.CONSUME;
}
}
return InteractionResult.PASS;
}
@Override
public void appendHoverText(ItemStack stack, BlockGetter level, List<Component> tooltip, TooltipFlag options) {
tooltip.add(Component.literal(ChatFormatting.YELLOW + "Dyable"));
tooltip.add(Component.literal(ChatFormatting.GREEN + "Color: " + color.getName()));
super.appendHoverText(stack, level, tooltip, options);
}
@Override
public void animateTick(BlockState stateIn, Level levelIn, BlockPos pos, RandomSource random) {
if (stateIn.getValue(LIT)) {
DyeColor color = stateIn.getValue(COLOR);
if (stateIn.getValue(ATTACH_FACE) == AttachFace.FLOOR) {
double d0 = (double) pos.getX() + 0.5D;
double d1 = (double) pos.getY() + 0.7D;
double d2 = (double) pos.getZ() + 0.5D;
levelIn.addParticle(ParticleTypes.SMOKE, d0, d1, d2, 0.0D, 0.0D, 0.0D);
// xSpeed, ySpeed and zSpeed here is used to pass color data. This isn't the proper way, but I don't wanna add a bunch of extra code for something so simple
levelIn.addParticle(particleType.get(), d0, d1, d2, color.getTextureDiffuseColors()[0], color.getTextureDiffuseColors()[1], color.getTextureDiffuseColors()[2]);
} else {
Direction direction = stateIn.getValue(FACING);
double d0 = (double) pos.getX() + 0.5D;
double d1 = (double) pos.getY() + 0.7D;
double d2 = (double) pos.getZ() + 0.5D;
Direction direction1 = direction.getOpposite();
levelIn.addParticle(ParticleTypes.SMOKE, d0 + 0.37D * (double) direction1.getStepX(), d1 + 0.15D, d2 + 0.37D * (double) direction1.getStepZ(), 0.0D, 0.0D, 0.0D);
// xSpeed, ySpeed and zSpeed here is used to pass color data. This isn't the proper way, but I don't wanna add a bunch of extra code for something so simple
levelIn.addParticle(particleType.get(), d0 + 0.37D * (double) direction1.getStepX(), d1 + 0.15D, d2 + 0.37D * (double) direction1.getStepZ(), color.getTextureDiffuseColors()[0], color.getTextureDiffuseColors()[1], color.getTextureDiffuseColors()[2]);
}
}
}
@Override
public @NotNull ItemStack getCloneItemStack(@NotNull BlockGetter level, @NotNull BlockPos pos, @NotNull BlockState state) {
return StackUtil.getColorStack(this, state.getValue(COLOR));
}
@Override
public List<ItemStack> getDrops(BlockState blockState, LootContext.Builder lootBuilder) {
return List.of(StackUtil.getColorStack(this, blockState.getValue(COLOR)));
}
}

View File

@@ -0,0 +1,36 @@
package me.hypherionmc.hyperlighting.common.config;
import me.hypherionmc.craterlib.common.config.ModuleConfig;
import me.hypherionmc.craterlib.common.config.annotations.SubConfig;
import me.hypherionmc.hyperlighting.Constants;
import me.hypherionmc.hyperlighting.common.init.CommonRegistration;
import me.hypherionmc.nightconfig.core.conversion.Path;
import me.hypherionmc.nightconfig.core.conversion.SpecComment;
public class HyperLightingConfig extends ModuleConfig {
@Path("torchConfig")
@SpecComment("Torch Configuration")
@SubConfig
public TorchConfig torchConfig = new TorchConfig();
public HyperLightingConfig() {
super(Constants.MOD_ID, "hyperlighting-common");
registerAndSetup(this);
}
@Override
public void configReloaded() {
CommonRegistration.config = loadConfig(this);
}
public static class TorchConfig {
@Path("litByDefault")
@SpecComment("Should torches be lit by default when placed")
public boolean litByDefault = false;
@Path("requiresTool")
@SpecComment("Is the Torch Lighter tool needed to light torches")
public boolean requiresTool = true;
}
}

View File

@@ -0,0 +1,22 @@
package me.hypherionmc.hyperlighting.common.init;
import me.hypherionmc.craterlib.client.gui.tabs.CreativeTabBuilder;
import me.hypherionmc.hyperlighting.common.config.HyperLightingConfig;
import net.minecraft.world.item.CreativeModeTab;
import net.minecraft.world.item.ItemStack;
import static me.hypherionmc.hyperlighting.Constants.MOD_ID;
public class CommonRegistration {
public static HyperLightingConfig config = new HyperLightingConfig();
public static final CreativeModeTab LIGHTS_TAB = CreativeTabBuilder.builder(MOD_ID, "lighting").setIcon(() -> new ItemStack(HLBlocks.ADVANCED_TORCH)).build();
public static void registerAll() {
HLSounds.loadAll();
HLParticles.loadAll();
HLBlocks.loadAll();
HLItems.loadAll();
}
}

View File

@@ -0,0 +1,27 @@
package me.hypherionmc.hyperlighting.common.init;
import me.hypherionmc.craterlib.systems.reg.BlockRegistryObject;
import me.hypherionmc.craterlib.systems.reg.RegistrationProvider;
import me.hypherionmc.hyperlighting.Constants;
import me.hypherionmc.hyperlighting.common.blocks.AdvancedTorchBlock;
import net.minecraft.core.Registry;
import net.minecraft.world.item.CreativeModeTab;
import net.minecraft.world.item.DyeColor;
import net.minecraft.world.level.block.Block;
import java.util.function.Supplier;
public class HLBlocks {
public static RegistrationProvider<Block> BLOCKS = RegistrationProvider.get(Registry.BLOCK_REGISTRY, Constants.MOD_ID);
/* Torches */
public static BlockRegistryObject<Block> ADVANCED_TORCH = register("advanced_torch", () -> new AdvancedTorchBlock("advanced_torch", DyeColor.ORANGE, CommonRegistration.LIGHTS_TAB, HLParticles.COLORED_FLAME));
public static void loadAll() {}
public static <B extends Block> BlockRegistryObject<B> register(String name, Supplier<? extends B> block) {
final var ro = BLOCKS.<B>register(name, block);
return BlockRegistryObject.wrap(ro);
}
}

View File

@@ -0,0 +1,24 @@
package me.hypherionmc.hyperlighting.common.init;
import me.hypherionmc.craterlib.systems.reg.RegistrationProvider;
import me.hypherionmc.craterlib.systems.reg.RegistryObject;
import me.hypherionmc.hyperlighting.Constants;
import me.hypherionmc.hyperlighting.common.items.LighterTool;
import net.minecraft.core.Registry;
import net.minecraft.world.item.Item;
import java.util.function.Supplier;
public class HLItems {
public static final RegistrationProvider<Item> ITEMS = RegistrationProvider.get(Registry.ITEM_REGISTRY, Constants.MOD_ID);
/* Tools */
public static RegistryObject<Item> TORCH_TOOL = register("lighter_tool", LighterTool::new);
public static void loadAll() {}
public static <T extends Item> RegistryObject<T> register(String name, Supplier<? extends T> item) {
return ITEMS.register(name, item);
}
}

View File

@@ -0,0 +1,25 @@
package me.hypherionmc.hyperlighting.common.init;
import me.hypherionmc.craterlib.common.particles.WrappedSimpleParticleType;
import me.hypherionmc.craterlib.systems.reg.RegistrationProvider;
import me.hypherionmc.craterlib.systems.reg.RegistryObject;
import me.hypherionmc.hyperlighting.Constants;
import net.minecraft.core.Registry;
import net.minecraft.core.particles.ParticleType;
import net.minecraft.core.particles.SimpleParticleType;
import java.util.function.Supplier;
public class HLParticles {
public static final RegistrationProvider<ParticleType<?>> PARTICLES = RegistrationProvider.get(Registry.PARTICLE_TYPE_REGISTRY, Constants.MOD_ID);
public static RegistryObject<SimpleParticleType> COLORED_FLAME = register("colored_flame", () -> new WrappedSimpleParticleType(false));
public static <T extends ParticleType<?>> RegistryObject<T> register(String name, Supplier<T> particle) {
return PARTICLES.register(name, particle);
}
public static void loadAll() {}
}

View File

@@ -0,0 +1,25 @@
package me.hypherionmc.hyperlighting.common.init;
import me.hypherionmc.craterlib.systems.reg.RegistrationProvider;
import me.hypherionmc.craterlib.systems.reg.RegistryObject;
import me.hypherionmc.hyperlighting.Constants;
import net.minecraft.core.Registry;
import net.minecraft.sounds.SoundEvent;
/**
* @author HypherionSA
* @date 01/07/2022
*/
public class HLSounds {
public static final RegistrationProvider<SoundEvent> SOUNDS = RegistrationProvider.get(Registry.SOUND_EVENT, Constants.MOD_ID);
public static RegistryObject<SoundEvent> TORCH_IGNITE = createSound("block.torch_ignite");
public static RegistryObject<SoundEvent> createSound(String location) {
final var soundLocation = Constants.rl(location);
return SOUNDS.register(location, () -> new SoundEvent(soundLocation));
}
public static void loadAll() {}
}

View File

@@ -0,0 +1,26 @@
package me.hypherionmc.hyperlighting.common.items;
import me.hypherionmc.hyperlighting.api.LightableBlock;
import me.hypherionmc.hyperlighting.common.init.CommonRegistration;
import net.minecraft.world.InteractionResult;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.context.UseOnContext;
import net.minecraft.world.level.block.state.BlockState;
public class LighterTool extends Item {
public LighterTool() {
super(new Properties().stacksTo(1).tab(CommonRegistration.LIGHTS_TAB).durability(20));
}
@Override
public InteractionResult useOn(UseOnContext context) {
if (!context.getLevel().isClientSide()) {
BlockState block = context.getLevel().getBlockState(context.getClickedPos());
if (block.getBlock() instanceof LightableBlock lightableBlock) {
lightableBlock.toggleLight(context.getLevel(), block, context.getClickedPos());
}
}
return InteractionResult.CONSUME;
}
}

View File

@@ -0,0 +1,24 @@
package me.hypherionmc.hyperlighting.util;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.world.item.DyeColor;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.block.Block;
/**
* @author HypherionSA
* @date 01/07/2022
*/
// TODO: Move this into CraterLib. This should not be here
public class StackUtil {
public static ItemStack getColorStack(Block block, DyeColor color) {
ItemStack stack = new ItemStack(block);
CompoundTag tag = stack.getOrCreateTag();
tag.putString("color", color.getName());
stack.setTag(tag);
return stack;
}
}

View File

@@ -0,0 +1,164 @@
{
"variants": {
"face=floor,lit=true,color=white": {"model": "hyperlighting:block/torch/white_torch"},
"face=floor,lit=false,color=white": {"model": "hyperlighting:block/torch_base"},
"face=wall,facing=north,lit=true,color=white": {"model": "hyperlighting:block/torch/white_wall_torch", "y": 270},
"face=wall,facing=south,lit=true,color=white": {"model": "hyperlighting:block/torch/white_wall_torch", "y": 90},
"face=wall,facing=west,lit=true,color=white": {"model": "hyperlighting:block/torch/white_wall_torch", "y": 180},
"face=wall,facing=east,lit=true,color=white": {"model": "hyperlighting:block/torch/white_wall_torch"},
"face=wall,facing=north,lit=false,color=white": {"model": "hyperlighting:block/torch_wall_base", "y": 270},
"face=wall,facing=south,lit=false,color=white": {"model": "hyperlighting:block/torch_wall_base", "y": 90},
"face=wall,facing=west,lit=false,color=white": {"model": "hyperlighting:block/torch_wall_base", "y": 180},
"face=wall,facing=east,lit=false,color=white": {"model": "hyperlighting:block/torch_wall_base"},
"face=floor,lit=true,color=orange": {"model": "hyperlighting:block/torch/orange_torch"},
"face=floor,lit=false,color=orange": {"model": "hyperlighting:block/torch_base"},
"face=wall,facing=north,lit=true,color=orange": {"model": "hyperlighting:block/torch/orange_wall_torch", "y": 270},
"face=wall,facing=south,lit=true,color=orange": {"model": "hyperlighting:block/torch/orange_wall_torch", "y": 90},
"face=wall,facing=west,lit=true,color=orange": {"model": "hyperlighting:block/torch/orange_wall_torch", "y": 180},
"face=wall,facing=east,lit=true,color=orange": {"model": "hyperlighting:block/torch/orange_wall_torch"},
"face=wall,facing=north,lit=false,color=orange": {"model": "hyperlighting:block/torch_wall_base", "y": 270},
"face=wall,facing=south,lit=false,color=orange": {"model": "hyperlighting:block/torch_wall_base", "y": 90},
"face=wall,facing=west,lit=false,color=orange": {"model": "hyperlighting:block/torch_wall_base", "y": 180},
"face=wall,facing=east,lit=false,color=orange": {"model": "hyperlighting:block/torch_wall_base"},
"face=floor,lit=true,color=magenta": {"model": "hyperlighting:block/torch/magenta_torch"},
"face=floor,lit=false,color=magenta": {"model": "hyperlighting:block/torch_base"},
"face=wall,facing=north,lit=true,color=magenta": {"model": "hyperlighting:block/torch/magenta_wall_torch", "y": 270},
"face=wall,facing=south,lit=true,color=magenta": {"model": "hyperlighting:block/torch/magenta_wall_torch", "y": 90},
"face=wall,facing=west,lit=true,color=magenta": {"model": "hyperlighting:block/torch/magenta_wall_torch", "y": 180},
"face=wall,facing=east,lit=true,color=magenta": {"model": "hyperlighting:block/torch/magenta_wall_torch"},
"face=wall,facing=north,lit=false,color=magenta": {"model": "hyperlighting:block/torch_wall_base", "y": 270},
"face=wall,facing=south,lit=false,color=magenta": {"model": "hyperlighting:block/torch_wall_base", "y": 90},
"face=wall,facing=west,lit=false,color=magenta": {"model": "hyperlighting:block/torch_wall_base", "y": 180},
"face=wall,facing=east,lit=false,color=magenta": {"model": "hyperlighting:block/torch_wall_base"},
"face=floor,lit=true,color=light_blue": {"model": "hyperlighting:block/torch/light_blue_torch"},
"face=floor,lit=false,color=light_blue": {"model": "hyperlighting:block/torch_base"},
"face=wall,facing=north,lit=true,color=light_blue": {"model": "hyperlighting:block/torch/light_blue_wall_torch", "y": 270},
"face=wall,facing=south,lit=true,color=light_blue": {"model": "hyperlighting:block/torch/light_blue_wall_torch", "y": 90},
"face=wall,facing=west,lit=true,color=light_blue": {"model": "hyperlighting:block/torch/light_blue_wall_torch", "y": 180},
"face=wall,facing=east,lit=true,color=light_blue": {"model": "hyperlighting:block/torch/light_blue_wall_torch"},
"face=wall,facing=north,lit=false,color=light_blue": {"model": "hyperlighting:block/torch_wall_base", "y": 270},
"face=wall,facing=south,lit=false,color=light_blue": {"model": "hyperlighting:block/torch_wall_base", "y": 90},
"face=wall,facing=west,lit=false,color=light_blue": {"model": "hyperlighting:block/torch_wall_base", "y": 180},
"face=wall,facing=east,lit=false,color=light_blue": {"model": "hyperlighting:block/torch_wall_base"},
"face=floor,lit=true,color=yellow": {"model": "hyperlighting:block/torch/yellow_torch"},
"face=floor,lit=false,color=yellow": {"model": "hyperlighting:block/torch_base"},
"face=wall,facing=north,lit=true,color=yellow": {"model": "hyperlighting:block/torch/yellow_wall_torch", "y": 270},
"face=wall,facing=south,lit=true,color=yellow": {"model": "hyperlighting:block/torch/yellow_wall_torch", "y": 90},
"face=wall,facing=west,lit=true,color=yellow": {"model": "hyperlighting:block/torch/yellow_wall_torch", "y": 180},
"face=wall,facing=east,lit=true,color=yellow": {"model": "hyperlighting:block/torch/yellow_wall_torch"},
"face=wall,facing=north,lit=false,color=yellow": {"model": "hyperlighting:block/torch_wall_base", "y": 270},
"face=wall,facing=south,lit=false,color=yellow": {"model": "hyperlighting:block/torch_wall_base", "y": 90},
"face=wall,facing=west,lit=false,color=yellow": {"model": "hyperlighting:block/torch_wall_base", "y": 180},
"face=wall,facing=east,lit=false,color=yellow": {"model": "hyperlighting:block/torch_wall_base"},
"face=floor,lit=true,color=lime": {"model": "hyperlighting:block/torch/lime_torch"},
"face=floor,lit=false,color=lime": {"model": "hyperlighting:block/torch_base"},
"face=wall,facing=north,lit=true,color=lime": {"model": "hyperlighting:block/torch/lime_wall_torch", "y": 270},
"face=wall,facing=south,lit=true,color=lime": {"model": "hyperlighting:block/torch/lime_wall_torch", "y": 90},
"face=wall,facing=west,lit=true,color=lime": {"model": "hyperlighting:block/torch/lime_wall_torch", "y": 180},
"face=wall,facing=east,lit=true,color=lime": {"model": "hyperlighting:block/torch/lime_wall_torch"},
"face=wall,facing=north,lit=false,color=lime": {"model": "hyperlighting:block/torch_wall_base", "y": 270},
"face=wall,facing=south,lit=false,color=lime": {"model": "hyperlighting:block/torch_wall_base", "y": 90},
"face=wall,facing=west,lit=false,color=lime": {"model": "hyperlighting:block/torch_wall_base", "y": 180},
"face=wall,facing=east,lit=false,color=lime": {"model": "hyperlighting:block/torch_wall_base"},
"face=floor,lit=true,color=pink": {"model": "hyperlighting:block/torch/pink_torch"},
"face=floor,lit=false,color=pink": {"model": "hyperlighting:block/torch_base"},
"face=wall,facing=north,lit=true,color=pink": {"model": "hyperlighting:block/torch/pink_wall_torch", "y": 270},
"face=wall,facing=south,lit=true,color=pink": {"model": "hyperlighting:block/torch/pink_wall_torch", "y": 90},
"face=wall,facing=west,lit=true,color=pink": {"model": "hyperlighting:block/torch/pink_wall_torch", "y": 180},
"face=wall,facing=east,lit=true,color=pink": {"model": "hyperlighting:block/torch/pink_wall_torch"},
"face=wall,facing=north,lit=false,color=pink": {"model": "hyperlighting:block/torch_wall_base", "y": 270},
"face=wall,facing=south,lit=false,color=pink": {"model": "hyperlighting:block/torch_wall_base", "y": 90},
"face=wall,facing=west,lit=false,color=pink": {"model": "hyperlighting:block/torch_wall_base", "y": 180},
"face=wall,facing=east,lit=false,color=pink": {"model": "hyperlighting:block/torch_wall_base"},
"face=floor,lit=true,color=gray": {"model": "hyperlighting:block/torch/gray_torch"},
"face=floor,lit=false,color=gray": {"model": "hyperlighting:block/torch_base"},
"face=wall,facing=north,lit=true,color=gray": {"model": "hyperlighting:block/torch/gray_wall_torch", "y": 270},
"face=wall,facing=south,lit=true,color=gray": {"model": "hyperlighting:block/torch/gray_wall_torch", "y": 90},
"face=wall,facing=west,lit=true,color=gray": {"model": "hyperlighting:block/torch/gray_wall_torch", "y": 180},
"face=wall,facing=east,lit=true,color=gray": {"model": "hyperlighting:block/torch/gray_wall_torch"},
"face=wall,facing=north,lit=false,color=gray": {"model": "hyperlighting:block/torch_wall_base", "y": 270},
"face=wall,facing=south,lit=false,color=gray": {"model": "hyperlighting:block/torch_wall_base", "y": 90},
"face=wall,facing=west,lit=false,color=gray": {"model": "hyperlighting:block/torch_wall_base", "y": 180},
"face=wall,facing=east,lit=false,color=gray": {"model": "hyperlighting:block/torch_wall_base"},
"face=floor,lit=true,color=light_gray": {"model": "hyperlighting:block/torch/light_gray_torch"},
"face=floor,lit=false,color=light_gray": {"model": "hyperlighting:block/torch_base"},
"face=wall,facing=north,lit=true,color=light_gray": {"model": "hyperlighting:block/torch/light_gray_wall_torch", "y": 270},
"face=wall,facing=south,lit=true,color=light_gray": {"model": "hyperlighting:block/torch/light_gray_wall_torch", "y": 90},
"face=wall,facing=west,lit=true,color=light_gray": {"model": "hyperlighting:block/torch/light_gray_wall_torch", "y": 180},
"face=wall,facing=east,lit=true,color=light_gray": {"model": "hyperlighting:block/torch/light_gray_wall_torch"},
"face=wall,facing=north,lit=false,color=light_gray": {"model": "hyperlighting:block/torch_wall_base", "y": 270},
"face=wall,facing=south,lit=false,color=light_gray": {"model": "hyperlighting:block/torch_wall_base", "y": 90},
"face=wall,facing=west,lit=false,color=light_gray": {"model": "hyperlighting:block/torch_wall_base", "y": 180},
"face=wall,facing=east,lit=false,color=light_gray": {"model": "hyperlighting:block/torch_wall_base"},
"face=floor,lit=true,color=cyan": {"model": "hyperlighting:block/torch/cyan_torch"},
"face=floor,lit=false,color=cyan": {"model": "hyperlighting:block/torch_base"},
"face=wall,facing=north,lit=true,color=cyan": {"model": "hyperlighting:block/torch/cyan_wall_torch", "y": 270},
"face=wall,facing=south,lit=true,color=cyan": {"model": "hyperlighting:block/torch/cyan_wall_torch", "y": 90},
"face=wall,facing=west,lit=true,color=cyan": {"model": "hyperlighting:block/torch/cyan_wall_torch", "y": 180},
"face=wall,facing=east,lit=true,color=cyan": {"model": "hyperlighting:block/torch/cyan_wall_torch"},
"face=wall,facing=north,lit=false,color=cyan": {"model": "hyperlighting:block/torch_wall_base", "y": 270},
"face=wall,facing=south,lit=false,color=cyan": {"model": "hyperlighting:block/torch_wall_base", "y": 90},
"face=wall,facing=west,lit=false,color=cyan": {"model": "hyperlighting:block/torch_wall_base", "y": 180},
"face=wall,facing=east,lit=false,color=cyan": {"model": "hyperlighting:block/torch_wall_base"},
"face=floor,lit=true,color=purple": {"model": "hyperlighting:block/torch/purple_torch"},
"face=floor,lit=false,color=purple": {"model": "hyperlighting:block/torch_base"},
"face=wall,facing=north,lit=true,color=purple": {"model": "hyperlighting:block/torch/purple_wall_torch", "y": 270},
"face=wall,facing=south,lit=true,color=purple": {"model": "hyperlighting:block/torch/purple_wall_torch", "y": 90},
"face=wall,facing=west,lit=true,color=purple": {"model": "hyperlighting:block/torch/purple_wall_torch", "y": 180},
"face=wall,facing=east,lit=true,color=purple": {"model": "hyperlighting:block/torch/purple_wall_torch"},
"face=wall,facing=north,lit=false,color=purple": {"model": "hyperlighting:block/torch_wall_base", "y": 270},
"face=wall,facing=south,lit=false,color=purple": {"model": "hyperlighting:block/torch_wall_base", "y": 90},
"face=wall,facing=west,lit=false,color=purple": {"model": "hyperlighting:block/torch_wall_base", "y": 180},
"face=wall,facing=east,lit=false,color=purple": {"model": "hyperlighting:block/torch_wall_base"},
"face=floor,lit=true,color=blue": {"model": "hyperlighting:block/torch/blue_torch"},
"face=floor,lit=false,color=blue": {"model": "hyperlighting:block/torch_base"},
"face=wall,facing=north,lit=true,color=blue": {"model": "hyperlighting:block/torch/blue_wall_torch", "y": 270},
"face=wall,facing=south,lit=true,color=blue": {"model": "hyperlighting:block/torch/blue_wall_torch", "y": 90},
"face=wall,facing=west,lit=true,color=blue": {"model": "hyperlighting:block/torch/blue_wall_torch", "y": 180},
"face=wall,facing=east,lit=true,color=blue": {"model": "hyperlighting:block/torch/blue_wall_torch"},
"face=wall,facing=north,lit=false,color=blue": {"model": "hyperlighting:block/torch_wall_base", "y": 270},
"face=wall,facing=south,lit=false,color=blue": {"model": "hyperlighting:block/torch_wall_base", "y": 90},
"face=wall,facing=west,lit=false,color=blue": {"model": "hyperlighting:block/torch_wall_base", "y": 180},
"face=wall,facing=east,lit=false,color=blue": {"model": "hyperlighting:block/torch_wall_base"},
"face=floor,lit=true,color=brown": {"model": "hyperlighting:block/torch/brown_torch"},
"face=floor,lit=false,color=brown": {"model": "hyperlighting:block/torch_base"},
"face=wall,facing=north,lit=true,color=brown": {"model": "hyperlighting:block/torch/brown_wall_torch", "y": 270},
"face=wall,facing=south,lit=true,color=brown": {"model": "hyperlighting:block/torch/brown_wall_torch", "y": 90},
"face=wall,facing=west,lit=true,color=brown": {"model": "hyperlighting:block/torch/brown_wall_torch", "y": 180},
"face=wall,facing=east,lit=true,color=brown": {"model": "hyperlighting:block/torch/brown_wall_torch"},
"face=wall,facing=north,lit=false,color=brown": {"model": "hyperlighting:block/torch_wall_base", "y": 270},
"face=wall,facing=south,lit=false,color=brown": {"model": "hyperlighting:block/torch_wall_base", "y": 90},
"face=wall,facing=west,lit=false,color=brown": {"model": "hyperlighting:block/torch_wall_base", "y": 180},
"face=wall,facing=east,lit=false,color=brown": {"model": "hyperlighting:block/torch_wall_base"},
"face=floor,lit=true,color=green": {"model": "hyperlighting:block/torch/green_torch"},
"face=floor,lit=false,color=green": {"model": "hyperlighting:block/torch_base"},
"face=wall,facing=north,lit=true,color=green": {"model": "hyperlighting:block/torch/green_wall_torch", "y": 270},
"face=wall,facing=south,lit=true,color=green": {"model": "hyperlighting:block/torch/green_wall_torch", "y": 90},
"face=wall,facing=west,lit=true,color=green": {"model": "hyperlighting:block/torch/green_wall_torch", "y": 180},
"face=wall,facing=east,lit=true,color=green": {"model": "hyperlighting:block/torch/green_wall_torch"},
"face=wall,facing=north,lit=false,color=green": {"model": "hyperlighting:block/torch_wall_base", "y": 270},
"face=wall,facing=south,lit=false,color=green": {"model": "hyperlighting:block/torch_wall_base", "y": 90},
"face=wall,facing=west,lit=false,color=green": {"model": "hyperlighting:block/torch_wall_base", "y": 180},
"face=wall,facing=east,lit=false,color=green": {"model": "hyperlighting:block/torch_wall_base"},
"face=floor,lit=true,color=red": {"model": "hyperlighting:block/torch/red_torch"},
"face=floor,lit=false,color=red": {"model": "hyperlighting:block/torch_base"},
"face=wall,facing=north,lit=true,color=red": {"model": "hyperlighting:block/torch/red_wall_torch", "y": 270},
"face=wall,facing=south,lit=true,color=red": {"model": "hyperlighting:block/torch/red_wall_torch", "y": 90},
"face=wall,facing=west,lit=true,color=red": {"model": "hyperlighting:block/torch/red_wall_torch", "y": 180},
"face=wall,facing=east,lit=true,color=red": {"model": "hyperlighting:block/torch/red_wall_torch"},
"face=wall,facing=north,lit=false,color=red": {"model": "hyperlighting:block/torch_wall_base", "y": 270},
"face=wall,facing=south,lit=false,color=red": {"model": "hyperlighting:block/torch_wall_base", "y": 90},
"face=wall,facing=west,lit=false,color=red": {"model": "hyperlighting:block/torch_wall_base", "y": 180},
"face=wall,facing=east,lit=false,color=red": {"model": "hyperlighting:block/torch_wall_base"},
"face=floor,lit=true,color=black": {"model": "hyperlighting:block/torch/black_torch"},
"face=floor,lit=false,color=black": {"model": "hyperlighting:block/torch_base"},
"face=wall,facing=north,lit=true,color=black": {"model": "hyperlighting:block/torch/black_wall_torch", "y": 270},
"face=wall,facing=south,lit=true,color=black": {"model": "hyperlighting:block/torch/black_wall_torch", "y": 90},
"face=wall,facing=west,lit=true,color=black": {"model": "hyperlighting:block/torch/black_wall_torch", "y": 180},
"face=wall,facing=east,lit=true,color=black": {"model": "hyperlighting:block/torch/black_wall_torch"},
"face=wall,facing=north,lit=false,color=black": {"model": "hyperlighting:block/torch_wall_base", "y": 270},
"face=wall,facing=south,lit=false,color=black": {"model": "hyperlighting:block/torch_wall_base", "y": 90},
"face=wall,facing=west,lit=false,color=black": {"model": "hyperlighting:block/torch_wall_base", "y": 180},
"face=wall,facing=east,lit=false,color=black": {"model": "hyperlighting:block/torch_wall_base"}
}
}

View File

@@ -0,0 +1,5 @@
{
"block.hyperlighting.advanced_torch": "Advanced Torch (%s)",
"subtitles.torch_ignite": "Torch Ignite Sound"
}

View File

@@ -0,0 +1,6 @@
{
"parent": "hyperlighting:block/torch_base",
"textures": {
"1": "hyperlighting:block/torch/color/black"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "hyperlighting:block/torch_wall_base",
"textures": {
"2": "hyperlighting:block/torch/color/black"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "hyperlighting:block/torch_base",
"textures": {
"1": "hyperlighting:block/torch/color/blue"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "hyperlighting:block/torch_wall_base",
"textures": {
"2": "hyperlighting:block/torch/color/blue"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "hyperlighting:block/torch_base",
"textures": {
"1": "hyperlighting:block/torch/color/brown"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "hyperlighting:block/torch_wall_base",
"textures": {
"2": "hyperlighting:block/torch/color/brown"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "hyperlighting:block/torch_base",
"textures": {
"1": "hyperlighting:block/torch/color/cyan"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "hyperlighting:block/torch_wall_base",
"textures": {
"2": "hyperlighting:block/torch/color/cyan"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "hyperlighting:block/torch_base",
"textures": {
"1": "hyperlighting:block/torch/color/gray"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "hyperlighting:block/torch_wall_base",
"textures": {
"2": "hyperlighting:block/torch/color/gray"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "hyperlighting:block/torch_base",
"textures": {
"1": "hyperlighting:block/torch/color/green"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "hyperlighting:block/torch_wall_base",
"textures": {
"2": "hyperlighting:block/torch/color/green"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "hyperlighting:block/torch_base",
"textures": {
"1": "hyperlighting:block/torch/color/light_blue"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "hyperlighting:block/torch_wall_base",
"textures": {
"2": "hyperlighting:block/torch/color/light_blue"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "hyperlighting:block/torch_base",
"textures": {
"1": "hyperlighting:block/torch/color/light_gray"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "hyperlighting:block/torch_wall_base",
"textures": {
"2": "hyperlighting:block/torch/color/light_gray"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "hyperlighting:block/torch_base",
"textures": {
"1": "hyperlighting:block/torch/color/lime"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "hyperlighting:block/torch_wall_base",
"textures": {
"2": "hyperlighting:block/torch/color/lime"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "hyperlighting:block/torch_base",
"textures": {
"1": "hyperlighting:block/torch/color/magenta"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "hyperlighting:block/torch_wall_base",
"textures": {
"2": "hyperlighting:block/torch/color/magenta"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "hyperlighting:block/torch_base",
"textures": {
"1": "hyperlighting:block/torch/color/orange"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "hyperlighting:block/torch_wall_base",
"textures": {
"2": "hyperlighting:block/torch/color/orange"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "hyperlighting:block/torch_base",
"textures": {
"1": "hyperlighting:block/torch/color/pink"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "hyperlighting:block/torch_wall_base",
"textures": {
"2": "hyperlighting:block/torch/color/pink"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "hyperlighting:block/torch_base",
"textures": {
"1": "hyperlighting:block/torch/color/purple"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "hyperlighting:block/torch_wall_base",
"textures": {
"2": "hyperlighting:block/torch/color/purple"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "hyperlighting:block/torch_base",
"textures": {
"1": "hyperlighting:block/torch/color/red"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "hyperlighting:block/torch_wall_base",
"textures": {
"2": "hyperlighting:block/torch/color/red"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "hyperlighting:block/torch_base",
"textures": {
"1": "hyperlighting:block/torch/color/white"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "hyperlighting:block/torch_wall_base",
"textures": {
"2": "hyperlighting:block/torch/color/white"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "hyperlighting:block/torch_base",
"textures": {
"1": "hyperlighting:block/torch/color/yellow"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "hyperlighting:block/torch_wall_base",
"textures": {
"2": "hyperlighting:block/torch/color/yellow"
}
}

View File

@@ -0,0 +1,35 @@
{
"credit": "Made with Blockbench",
"textures": {
"0": "hyperlighting:block/torch_base_on",
"1": "hyperlighting:block/torch/color/black",
"particle": "hyperlighting:block/torch_base_on"
},
"elements": [
{
"name": "torch",
"from": [7, 0, 7],
"to": [9, 8, 9],
"faces": {
"north": {"uv": [4, 8, 6, 16], "texture": "#0"},
"east": {"uv": [6, 8, 8, 16], "texture": "#0"},
"south": {"uv": [8, 8, 10, 16], "texture": "#0"},
"west": {"uv": [10, 8, 12, 16], "texture": "#0"},
"up": {"uv": [4, 8, 6, 10], "texture": "#0"},
"down": {"uv": [4, 14, 6, 16], "texture": "#0"}
}
},
{
"from": [7, 8, 7],
"to": [9, 10, 9],
"faces": {
"north": {"uv": [7, 14, 9, 16], "texture": "#1"},
"east": {"uv": [7, 14, 9, 16], "texture": "#1"},
"south": {"uv": [7, 14, 9, 16], "texture": "#1"},
"west": {"uv": [7, 14, 9, 16], "texture": "#1"},
"up": {"uv": [7, 14, 9, 16], "texture": "#1"},
"down": {"uv": [7, 14, 9, 16], "texture": "#1"}
}
}
]
}

View File

@@ -0,0 +1,83 @@
{
"credit": "Made with Blockbench",
"textures": {
"0": "hyperlighting:block/torch_base_on",
"1": "block/stone",
"2": "hyperlighting:block/torch/color/black",
"particle": "hyperlighting:block/torch_base_on"
},
"elements": [
{
"name": "torch",
"from": [1, 2, 7],
"to": [3, 10, 9],
"faces": {
"north": {"uv": [4, 8, 6, 16], "texture": "#0"},
"east": {"uv": [6, 8, 8, 16], "texture": "#0"},
"south": {"uv": [8, 8, 10, 16], "texture": "#0"},
"west": {"uv": [10, 8, 12, 16], "texture": "#0"},
"up": {"uv": [4, 8, 6, 10], "texture": "#0"},
"down": {"uv": [4, 14, 6, 16], "texture": "#0"}
}
},
{
"from": [1, 10, 7],
"to": [3, 12, 9],
"faces": {
"north": {"uv": [7, 14, 9, 16], "texture": "#2"},
"east": {"uv": [7, 14, 9, 16], "texture": "#2"},
"south": {"uv": [7, 14, 9, 16], "texture": "#2"},
"west": {"uv": [7, 14, 9, 16], "texture": "#2"},
"up": {"uv": [7, 14, 9, 16], "texture": "#2"},
"down": {"uv": [7, 14, 9, 16], "texture": "#2"}
}
},
{
"from": [0, 6, 6],
"to": [1, 8, 10],
"faces": {
"north": {"uv": [9, 13, 10, 15], "texture": "#1"},
"east": {"uv": [5, 13, 9, 15], "texture": "#1"},
"south": {"uv": [0, 13, 1, 15], "texture": "#1"},
"west": {"uv": [1, 13, 5, 15], "texture": "#1"},
"up": {"uv": [11, 11, 12, 15], "texture": "#1"},
"down": {"uv": [10, 11, 11, 15], "texture": "#1"}
}
},
{
"from": [1, 6, 9],
"to": [3, 8, 10],
"faces": {
"north": {"uv": [3, 13, 5, 15], "texture": "#1"},
"east": {"uv": [5, 13, 6, 15], "texture": "#1"},
"south": {"uv": [1, 13, 3, 15], "texture": "#1"},
"west": {"uv": [6, 13, 7, 15], "texture": "#1"},
"up": {"uv": [1, 12, 3, 13], "texture": "#1"},
"down": {"uv": [1, 15, 3, 16], "texture": "#1"}
}
},
{
"from": [1, 6, 6],
"to": [3, 8, 7],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 5, 6.5]},
"faces": {
"north": {"uv": [1, 13, 3, 15], "texture": "#1"},
"east": {"uv": [6, 13, 7, 15], "texture": "#1"},
"south": {"uv": [3, 13, 5, 15], "texture": "#1"},
"west": {"uv": [5, 13, 6, 15], "texture": "#1"},
"up": {"uv": [1, 12, 3, 13], "rotation": 180, "texture": "#1"},
"down": {"uv": [1, 15, 3, 16], "rotation": 180, "texture": "#1"}
}
}
],
"groups": [
0,
1,
{
"name": "group",
"origin": [0, 0, 0],
"color": 0,
"children": [2, 3, 4]
}
]
}

View File

@@ -0,0 +1,21 @@
{
"parent": "hyperlighting:block/torch_base",
"overrides": [
{ "predicate": { "color": 0 }, "model": "hyperlighting:block/torch/white_torch" },
{ "predicate": { "color": 1 }, "model": "hyperlighting:block/torch/orange_torch" },
{ "predicate": { "color": 2 }, "model": "hyperlighting:block/torch/magenta_torch" },
{ "predicate": { "color": 3 }, "model": "hyperlighting:block/torch/light_blue_torch" },
{ "predicate": { "color": 4 }, "model": "hyperlighting:block/torch/yellow_torch" },
{ "predicate": { "color": 5 }, "model": "hyperlighting:block/torch/lime_torch" },
{ "predicate": { "color": 6 }, "model": "hyperlighting:block/torch/pink_torch" },
{ "predicate": { "color": 7 }, "model": "hyperlighting:block/torch/gray_torch" },
{ "predicate": { "color": 8 }, "model": "hyperlighting:block/torch/light_gray_torch" },
{ "predicate": { "color": 9 }, "model": "hyperlighting:block/torch/cyan_torch" },
{ "predicate": { "color": 10 }, "model": "hyperlighting:block/torch/purple_torch" },
{ "predicate": { "color": 11 }, "model": "hyperlighting:block/torch/blue_torch" },
{ "predicate": { "color": 12 }, "model": "hyperlighting:block/torch/brown_torch" },
{ "predicate": { "color": 13 }, "model": "hyperlighting:block/torch/green_torch" },
{ "predicate": { "color": 14 }, "model": "hyperlighting:block/torch/red_torch" },
{ "predicate": { "color": 15 }, "model": "hyperlighting:block/torch/black_torch" }
]
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "hyperlighting:item/torch_tool"
}
}

View File

@@ -0,0 +1,5 @@
{
"textures": [
"hyperlighting:colored_flame"
]
}

View File

@@ -0,0 +1,9 @@
{
"block.torch_ignite": {
"category": "block",
"subtitle": "subtitles.torch_ignite",
"sounds": [
"hyperlighting:torch_ignite"
]
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 495 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 494 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 495 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 494 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 495 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 495 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 494 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 495 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 495 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 495 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 495 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 495 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 494 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 495 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 495 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 109 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 495 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 254 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 267 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 261 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 261 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 261 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 261 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 261 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 261 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 261 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 261 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 261 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 261 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 261 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 261 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 261 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 267 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 261 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 154 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 142 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 169 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

View File

@@ -0,0 +1,5 @@
{
"texture": {
"blur": true
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 109 B

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