lots of leti, lamps and lang files
This commit is contained in:
parent
223f55d184
commit
78570dcc55
|
@ -17,7 +17,7 @@ public class Techia implements ModInitializer {
|
||||||
public void onInitialize(){
|
public void onInitialize(){
|
||||||
TechiaRegistry.register();
|
TechiaRegistry.register();
|
||||||
|
|
||||||
FabricItemGroupBuilder.create(new Identifier(MOD_ID, "items")).icon(() -> TechiaRegistry.LETIUM.getDefaultStack()).appendItems(stacks -> Registry.ITEM.forEach(item -> {
|
FabricItemGroupBuilder.create(new Identifier(MOD_ID, "main")).icon(() -> TechiaRegistry.LETIUM.getDefaultStack()).appendItems(stacks -> Registry.ITEM.forEach(item -> {
|
||||||
if(Registry.ITEM.getId(item).getNamespace().equals(MOD_ID)){
|
if(Registry.ITEM.getId(item).getNamespace().equals(MOD_ID)){
|
||||||
item.appendStacks(item.getGroup(), (DefaultedList<ItemStack>) stacks);
|
item.appendStacks(item.getGroup(), (DefaultedList<ItemStack>) stacks);
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,7 +23,7 @@ import net.minecraft.world.World;
|
||||||
import net.minecraft.world.WorldAccess;
|
import net.minecraft.world.WorldAccess;
|
||||||
import net.minecraft.world.WorldView;
|
import net.minecraft.world.WorldView;
|
||||||
|
|
||||||
public class Connector extends LetiConnectable /*implements LetiBlock, Waterloggable*/ {
|
public class Connector extends LetiConnectable {
|
||||||
|
|
||||||
final VoxelShape BASE_SHAPE = createCuboidShape( 5d, 5d, 5d, 11d, 11d, 11d);
|
final VoxelShape BASE_SHAPE = createCuboidShape( 5d, 5d, 5d, 11d, 11d, 11d);
|
||||||
final VoxelShape NORTH_SHAPE = createCuboidShape( 6d, 6d, 0d, 10d, 10d, 5d);
|
final VoxelShape NORTH_SHAPE = createCuboidShape( 6d, 6d, 0d, 10d, 10d, 5d);
|
||||||
|
@ -38,14 +38,16 @@ public class Connector extends LetiConnectable /*implements LetiBlock, Waterlogg
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onPlaced(World world, BlockPos pos, BlockState state, LivingEntity unrelatedEntity, ItemStack stack){
|
public void onBlockAdded(World world, BlockPos pos, BlockState state, boolean notify){
|
||||||
super.onPlaced(world, pos, state, unrelatedEntity, stack);
|
super.onBlockAdded(world, pos, state, notify);
|
||||||
LetiNetwork.new(world, pos);
|
if(!world.isClient) LetiNetwork.new(world, pos);
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
public void onBroken(World world, BlockPos pos, BlockState state){
|
public void onStateReplaced(BlockState state, World world, BlockPos pos, BlockState newState, boolean moved){
|
||||||
super.onBroken(world, pos, state);
|
super.onStateReplaced(state, world, pos, newState, moved);
|
||||||
LetiNetwork.remove(world, pos);
|
if(!world.isClient && !state.getBlock().equals(this)){
|
||||||
|
LetiNetwork.remove(world, pos);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
public boolean output(/*ServerWorld world, BlockPos pos,*/ BlockState state, Direction direction){
|
public boolean output(/*ServerWorld world, BlockPos pos,*/ BlockState state, Direction direction){
|
||||||
|
|
|
@ -10,7 +10,7 @@ import net.minecraft.util.Hand;
|
||||||
import net.minecraft.util.hit.BlockHitResult;
|
import net.minecraft.util.hit.BlockHitResult;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
|
|
||||||
public class Delayer extends FacingLeti /*implements LetiBlock, Waterloggable*/ {
|
public class Delayer extends FacingLeti {
|
||||||
public static final IntProperty DELAY = IntProperty.of("delay", 1, 6);
|
public static final IntProperty DELAY = IntProperty.of("delay", 1, 6);
|
||||||
|
|
||||||
public Delayer(net.minecraft.block.AbstractBlock.Settings settings){
|
public Delayer(net.minecraft.block.AbstractBlock.Settings settings){
|
||||||
|
|
|
@ -79,6 +79,26 @@ public class FacingLeti extends Block implements LetiBlock, Waterloggable {
|
||||||
else return super.getFluidState(state);
|
else return super.getFluidState(state);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onBlockAdded(World world, BlockPos pos, BlockState state, boolean notify){
|
||||||
|
super.onBlockAdded(world, pos, state, notify);
|
||||||
|
if(!world.isClient){
|
||||||
|
Direction facing = state.get(Properties.FACING);
|
||||||
|
LetiNetwork.at(pos.offset(facing)).addInput(pos, facing);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public void onStateReplaced(BlockState state, World world, BlockPos pos, BlockState newState, boolean moved){
|
||||||
|
super.onStateReplaced(state, world, pos, newState, moved);
|
||||||
|
if(!world.isClient && !state.getBlock().equals(this)){
|
||||||
|
Direction facing = state.get(Properties.FACING);
|
||||||
|
LetiNetwork network = LetiNetwork.at(pos.offset(facing));
|
||||||
|
network.removeInput(pos, facing);
|
||||||
|
if(state.get(Properties.POWERED))
|
||||||
|
network.updateInputs();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean connects(BlockState state, Direction direction){
|
public boolean connects(BlockState state, Direction direction){
|
||||||
return direction.equals(state.get(Properties.FACING)) || direction.equals(state.get(Properties.FACING).opposite());
|
return direction.equals(state.get(Properties.FACING)) || direction.equals(state.get(Properties.FACING).opposite());
|
||||||
|
@ -87,10 +107,4 @@ public class FacingLeti extends Block implements LetiBlock, Waterloggable {
|
||||||
public boolean output(/*ServerWorld world, BlockPos pos,*/ BlockState state, Direction direction){
|
public boolean output(/*ServerWorld world, BlockPos pos,*/ BlockState state, Direction direction){
|
||||||
return state.get(Properties.POWERED) && direction.equals(state.get(Properties.FACING));
|
return state.get(Properties.POWERED) && direction.equals(state.get(Properties.FACING));
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO update output of network in front after placing
|
|
||||||
/*@Override
|
|
||||||
BlockState rotate(BlockState state, BlockRotation rotation){
|
|
||||||
return state;
|
|
||||||
}*/
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,12 +14,15 @@ public class Inverter extends FacingLeti /*implements LetiBlock, Waterloggable*/
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public BlockState getPlacementState(ItemPlacementContext context){
|
public BlockState getStateForNeighborUpdate(
|
||||||
return super.getPlacementState(context).with(DELAY, 1);
|
BlockState state,
|
||||||
}
|
Direction side,
|
||||||
|
BlockState neighborState,
|
||||||
@Override
|
WorldAccess world,
|
||||||
public void tick(){
|
BlockPos pos,
|
||||||
// TODO update to what the output behind wasn't
|
BlockPos neighborPos
|
||||||
|
){
|
||||||
|
Direction facing = state.get(Properties.FACING);
|
||||||
|
return state.with(Properties.POWERED, !LetiNetwork.output(world.getBlockState(pos.offset(facing.getOpposite())), facing));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,47 @@
|
||||||
|
package ella.techia.block;
|
||||||
|
|
||||||
|
import ella.techia.leti.*;
|
||||||
|
import java.util.List;
|
||||||
|
import net.minecraft.block.*;
|
||||||
|
import net.minecraft.item.*;
|
||||||
|
import net.minecraft.state.property.Properties;
|
||||||
|
import net.minecraft.state.StateManager;
|
||||||
|
import net.minecraft.text.Text;
|
||||||
|
import net.minecraft.util.math.*;
|
||||||
|
import net.minecraft.world.*;
|
||||||
|
|
||||||
|
public class LampBlock extends Block {
|
||||||
|
private int light;
|
||||||
|
public LampBlock(int level){
|
||||||
|
light = level;
|
||||||
|
super(FabricBlockSettings.copyOf(Blocks.IRON_BLOCK)
|
||||||
|
.luminance(state -> state.get(Properties.LIT)? light: 0));
|
||||||
|
this.setDefaultState(
|
||||||
|
this.stateManager.getDefaultState()
|
||||||
|
.with(Properties.LIT, false));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void appendProperties(StateManager.Builder<Block, BlockState> builder){
|
||||||
|
super.appendProperties(builder);
|
||||||
|
builder.add(Properties.LIT);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public BlockState getStateForNeighborUpdate(
|
||||||
|
BlockState state,
|
||||||
|
Direction side,
|
||||||
|
BlockState neighborState,
|
||||||
|
WorldAccess world,
|
||||||
|
BlockPos pos,
|
||||||
|
BlockPos neighborPos
|
||||||
|
){
|
||||||
|
return state.with(Properties.LIT, LetiNetwork.getsInput(pos));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void appendTooltip(ItemStack stack, BlockView world, List<Text> tooltip, TooltipContext context){
|
||||||
|
tooltip.add(new TranslatableText("item." + Techia.MOD_ID + ".lamp_tooltip", light));
|
||||||
|
super.appendTooltip(stack, world, tooltip, context);
|
||||||
|
}
|
||||||
|
}
|
|
@ -123,8 +123,4 @@ public abstract class LetiConnectable extends Block implements LetiBlock, Waterl
|
||||||
public boolean connects(BlockState state, Direction direction){
|
public boolean connects(BlockState state, Direction direction){
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
/*@Override
|
|
||||||
BlockState rotate(BlockState state, BlockRotation rotation){
|
|
||||||
return state;
|
|
||||||
}*/
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,15 +23,15 @@ import net.minecraft.world.World;
|
||||||
import net.minecraft.world.WorldAccess;
|
import net.minecraft.world.WorldAccess;
|
||||||
import net.minecraft.world.WorldView;
|
import net.minecraft.world.WorldView;
|
||||||
|
|
||||||
public class LetiToggle extends LetiConnectable /*implements LetiBlock, Waterloggable*/ {
|
public class LetiToggle extends LetiConnectable {
|
||||||
|
|
||||||
static final VoxelShape BASE_SHAPE = createCuboidShape( 3d, 3d, 3d, 13d, 13d, 13d);
|
final VoxelShape BASE_SHAPE = createCuboidShape( 3d, 3d, 3d, 13d, 13d, 13d);
|
||||||
static final VoxelShape NORTH_SHAPE = createCuboidShape( 6d, 6d, 0d, 10d, 10d, 3d);
|
final VoxelShape NORTH_SHAPE = createCuboidShape( 6d, 6d, 0d, 10d, 10d, 3d);
|
||||||
static final VoxelShape SOUTH_SHAPE = createCuboidShape( 6d, 6d, 13d, 10d, 10d, 16d);
|
final VoxelShape SOUTH_SHAPE = createCuboidShape( 6d, 6d, 13d, 10d, 10d, 16d);
|
||||||
static final VoxelShape EAST_SHAPE = createCuboidShape(13d, 6d, 6d, 16d, 10d, 10d);
|
final VoxelShape EAST_SHAPE = createCuboidShape(13d, 6d, 6d, 16d, 10d, 10d);
|
||||||
static final VoxelShape WEST_SHAPE = createCuboidShape( 0d, 6d, 6d, 3d, 10d, 10d);
|
final VoxelShape WEST_SHAPE = createCuboidShape( 0d, 6d, 6d, 3d, 10d, 10d);
|
||||||
static final VoxelShape UP_SHAPE = createCuboidShape( 6d, 13d, 6d, 10d, 16d, 10d);
|
final VoxelShape UP_SHAPE = createCuboidShape( 6d, 13d, 6d, 10d, 16d, 10d);
|
||||||
static final VoxelShape DOWN_SHAPE = createCuboidShape( 6d, 0d, 6d, 10d, 3d, 10d);
|
final VoxelShape DOWN_SHAPE = createCuboidShape( 6d, 0d, 6d, 10d, 3d, 10d);
|
||||||
|
|
||||||
public LetiToggle(net.minecraft.block.AbstractBlock.Settings settings){
|
public LetiToggle(net.minecraft.block.AbstractBlock.Settings settings){
|
||||||
super(settings);
|
super(settings);
|
||||||
|
@ -39,11 +39,62 @@ public class LetiToggle extends LetiConnectable /*implements LetiBlock, Waterlog
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ActionResult onUse(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockHitResult hit){
|
public ActionResult onUse(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockHitResult hit){
|
||||||
|
super.onUse(state, world, pos, player, hand, hit);
|
||||||
boolean pow = state.get(Properties.POWERED);
|
boolean pow = state.get(Properties.POWERED);
|
||||||
world.setBlockState(pos, state.with(Properties.POWERED, !pow));
|
world.setBlockState(pos, state.with(Properties.POWERED, !pow));
|
||||||
// Will this play the sound for only the player? probably not what we want
|
// Will this play the sound for only the player? probably not what we want
|
||||||
world.playSound(player, pos, SoundEvents.BLOCK_LEVER_CLICK, SoundCategory.BLOCKS, 0.3f, pow? 0.5f: 0.6f);
|
world.playSound(player, pos, SoundEvents.BLOCK_LEVER_CLICK, SoundCategory.BLOCKS, 0.3f, pow? 0.5f: 0.6f);
|
||||||
//world.playSound(pos.x, pos.y, pos.z, SoundEvents.BLOCK_LEVER_CLICK, SoundCategory.BLOCKS, 0.3f, pow? 0.5f: 0.6f, true);
|
//world.playSound(pos.x, pos.y, pos.z, SoundEvents.BLOCK_LEVER_CLICK, SoundCategory.BLOCKS, 0.3f, pow? 0.5f: 0.6f, true);
|
||||||
|
for(LetiNetwork network : LetiNetwork.findAdjacentNetworks()){
|
||||||
|
network.updateInputs(pow);
|
||||||
|
}
|
||||||
return ActionResult.SUCCESS;
|
return ActionResult.SUCCESS;
|
||||||
}
|
}
|
||||||
|
@Override
|
||||||
|
public void onBlockAdded(World world, BlockPos pos, BlockState state, boolean notify){
|
||||||
|
super.onBlockAdded(world, pos, state, notify);
|
||||||
|
if(!world.isClient){
|
||||||
|
BlockPos adj = pos.north();
|
||||||
|
LetiNetwork network = LetiNetwork.at(adj);
|
||||||
|
if(network != null){
|
||||||
|
network.addInput(pos, Direction.NORTH);
|
||||||
|
}
|
||||||
|
adj = pos.south();
|
||||||
|
network = LetiNetwork.at(adj);
|
||||||
|
if(network != null){
|
||||||
|
network.addInput(pos, Direction.SOUTH);
|
||||||
|
}
|
||||||
|
adj = pos.east();
|
||||||
|
network = LetiNetwork.at(adj);
|
||||||
|
if(network != null){
|
||||||
|
network.addInput(pos, Direction.EAST);
|
||||||
|
}
|
||||||
|
adj = pos.west();
|
||||||
|
network = LetiNetwork.at(adj);
|
||||||
|
if(network != null){
|
||||||
|
network.addInput(pos, Direction.WEST);
|
||||||
|
}
|
||||||
|
adj = pos.up();
|
||||||
|
network = LetiNetwork.at(adj);
|
||||||
|
if(network != null){
|
||||||
|
network.addInput(pos, Direction.UP);
|
||||||
|
}
|
||||||
|
adj = pos.down();
|
||||||
|
network = LetiNetwork.at(adj);
|
||||||
|
if(network != null){
|
||||||
|
network.addInput(pos, Direction.DOWN);
|
||||||
|
}
|
||||||
|
for(network : findAdjacentNetworks()){
|
||||||
|
network.updateInputs();
|
||||||
|
// this avoids updating networks more than once a tick
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public void onStateReplaced(BlockState state, World world, BlockPos pos, BlockState newState, boolean moved){
|
||||||
|
super.onStateReplaced(state, world, pos, newState, moved);
|
||||||
|
if(!world.isClient && !state.getBlock().equals(this)){
|
||||||
|
LetiNetwork.removeInput(world, pos);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,7 +5,9 @@ import java.util.Map.Entry;
|
||||||
import net.minecraft.state.property.Properties;
|
import net.minecraft.state.property.Properties;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.util.math.Direction;
|
import net.minecraft.util.math.Direction;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World; // maybe only ServerWorlds should be acceptable, the client doesn't need this (hopefully)
|
||||||
|
|
||||||
|
// known issue: unloaded chunks don't get their blocks updated
|
||||||
|
|
||||||
public class LetiNetwork {
|
public class LetiNetwork {
|
||||||
private static final Map<Entry<World, BlockPos>, LetiNetwork> networks = Maps.newHashMap();
|
private static final Map<Entry<World, BlockPos>, LetiNetwork> networks = Maps.newHashMap();
|
||||||
|
@ -30,11 +32,24 @@ public class LetiNetwork {
|
||||||
// this is of course not ideal, but as long as it's not messed up in this mod it should be fine...
|
// this is of course not ideal, but as long as it's not messed up in this mod it should be fine...
|
||||||
|
|
||||||
public void set(boolean powered){
|
public void set(boolean powered){
|
||||||
|
if(this.powered == powered) return; // it would be useless to do anything if the state didn't change
|
||||||
for(BlockPos pos : nodes){
|
for(BlockPos pos : nodes){
|
||||||
world.setBlockState(pos, world.getBlockState(pos).with(Properties.POWERED, powered));
|
if(world.isPosLoaded(pos.x, pos.z))
|
||||||
|
world.setBlockState(pos, world.getBlockState(pos).with(Properties.POWERED, powered));
|
||||||
|
// else node.setDirty(true) or something
|
||||||
}
|
}
|
||||||
this.powered = powered;
|
this.powered = powered;
|
||||||
}
|
}
|
||||||
|
public boolean updateInputs(){
|
||||||
|
for(Entry<BlockPos, Direction> e : inputs){
|
||||||
|
if(output(world.getBlockState(e.getKey()), e.getValue()){
|
||||||
|
set(true);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
set(false);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
// assumes that there is no node here already
|
// assumes that there is no node here already
|
||||||
// this name is probably a misnomer, what this code really does is finds a network for a position that isn't already in a network
|
// this name is probably a misnomer, what this code really does is finds a network for a position that isn't already in a network
|
||||||
|
@ -103,18 +118,31 @@ public class LetiNetwork {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private void addInput(World world, BlockPos pos, Direction direction){
|
// doesn't update!
|
||||||
|
public void addInput(BlockPos pos, Direction direction){
|
||||||
inputs.add(new Entry<BlockPos, Direction>(pos, direction));
|
inputs.add(new Entry<BlockPos, Direction>(pos, direction));
|
||||||
}
|
}
|
||||||
private void removeInput(World world, BlockPos pos, Direction direction){
|
// static because it removes all affected
|
||||||
|
public static void removeInput(World world, BlockPos pos){
|
||||||
|
at(pos.north()).removeInput(pos.north(), Direction.NORTH);
|
||||||
|
at(pos.south()).removeInput(pos.south(), Direction.SOUTH);
|
||||||
|
at(pos.east() ).removeInput(pos.east() , Direction.EAST );
|
||||||
|
at(pos.west() ).removeInput(pos.west() , Direction.WEST );
|
||||||
|
at(pos.up() ).removeInput(pos.up() , Direction.UP );
|
||||||
|
at(pos.down() ).removeInput(pos.down() , Direction.DOWN );
|
||||||
|
for(LetiNetwork network : findAdjacentNetworks()){
|
||||||
|
network.updateInputs();
|
||||||
|
// this avoids updating networks more than once a tick
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public void removeInput(BlockPos pos, Direction direction){
|
||||||
inputs.remove(new Entry<BlockPos, Direction>(pos, direction));
|
inputs.remove(new Entry<BlockPos, Direction>(pos, direction));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void mergeWith(LetiNetwork network){
|
private void mergeWith(LetiNetwork network){
|
||||||
for(BlockPos pos : nodes){
|
for(BlockPos pos : nodes){
|
||||||
Entry<World, BlockPos> entry = new Entry<>(world, pos)
|
|
||||||
network.add(pos);
|
network.add(pos);
|
||||||
networks.set(entry, network);
|
networks.set(new Entry<World, BlockPos>(world, pos), network);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -132,7 +160,23 @@ public class LetiNetwork {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean getsInput(World world, BlockPos pos){
|
||||||
|
BlockPos adj = pos;
|
||||||
|
if(
|
||||||
|
LetiNetwork.output(world.getBlockState(pos.south()), Direction.NORTH) ||
|
||||||
|
LetiNetwork.output(world.getBlockState(pos.north()), Direction.SOUTH) ||
|
||||||
|
LetiNetwork.output(world.getBlockState(pos.west() ), Direction.EAST ) ||
|
||||||
|
LetiNetwork.output(world.getBlockState(pos.east() ), Direction.WEST ) ||
|
||||||
|
LetiNetwork.output(world.getBlockState(pos.down() ), Direction.UP ) ||
|
||||||
|
LetiNetwork.output(world.getBlockState(pos.up() ), Direction.DOWN )
|
||||||
|
){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
// borrowed from yttr
|
// borrowed from yttr
|
||||||
|
private static final ImmutableList<Direction> DIRECTIONS = ImmutableList.copyOf(Direction.values());
|
||||||
public static Entry<BlockPos> neighbors(BlockPos pos){
|
public static Entry<BlockPos> neighbors(BlockPos pos){
|
||||||
BlockPos fpos = pos.toImmutable();
|
BlockPos fpos = pos.toImmutable();
|
||||||
return new AbstractEntry<BlockPos>(){
|
return new AbstractEntry<BlockPos>(){
|
||||||
|
@ -162,7 +206,7 @@ public class LetiNetwork {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ArrayList<LetiNetwork> findAdjacentNetworks(){
|
public static ArrayList<LetiNetwork> findAdjacentNetworks(World world, BlockPos pos){
|
||||||
ArrayList<LetiNetwork> ret;
|
ArrayList<LetiNetwork> ret;
|
||||||
for(BlockPos np : neighbors(pos)){
|
for(BlockPos np : neighbors(pos)){
|
||||||
Entry<World, BlockPos> key = new Entry<>(world, np);
|
Entry<World, BlockPos> key = new Entry<>(world, np);
|
||||||
|
|
|
@ -50,6 +50,25 @@ public class TechiaRegistry {
|
||||||
public static final Block PISTON = add("piston",
|
public static final Block PISTON = add("piston",
|
||||||
new Piston(FabricBlockSettings.copyOf(Blocks.IRON_BLOCK)), Techia.LETI);
|
new Piston(FabricBlockSettings.copyOf(Blocks.IRON_BLOCK)), Techia.LETI);
|
||||||
|
|
||||||
|
public static final Block WHITE_LAMP = add("white_lamp" , new LampBlock(15), Techia.LETI);
|
||||||
|
public static final Block MAGENTA_LAMP = add("magenta_lamp" , new LampBlock(15), Techia.LETI);
|
||||||
|
public static final Block TEAL_LAMP = add("teal_lamp" , new LampBlock(15), Techia.LETI);
|
||||||
|
public static final Block CYAN_LAMP = add("cyan_lamp" , new LampBlock(14), Techia.LETI);
|
||||||
|
public static final Block GREEN_LAMP = add("green_lamp" , new LampBlock(14), Techia.LETI);
|
||||||
|
public static final Block PINK_LAMP = add("pink_lamp" , new LampBlock(14), Techia.LETI);
|
||||||
|
public static final Block LIGHT_BLUE_LAMP = add("light_blue_lamp" , new LampBlock(13), Techia.LETI);
|
||||||
|
public static final Block YELLOW_LAMP = add("yellow_lamp" , new LampBlock(13), Techia.LETI);
|
||||||
|
public static final Block MEDIUM_BLUE_LAMP = add("medium_blue_lamp", new LampBlock(12), Techia.LETI);
|
||||||
|
public static final Block ORANGE_LAMP = add("orange_lamp" , new LampBlock(12), Techia.LETI);
|
||||||
|
public static final Block LIGHT_GRAY_LAMP = add("light_gray_lamp" , new LampBlock(11), Techia.LETI);
|
||||||
|
public static final Block PURPLE_LAMP = add("purple_lamp" , new LampBlock(11), Techia.LETI);
|
||||||
|
public static final Block RED_LAMP = add("red_lamp" , new LampBlock(11), Techia.LETI);
|
||||||
|
public static final Block BLUE_LAMP = add("blue_lamp" , new LampBlock(10), Techia.LETI);
|
||||||
|
public static final Block DARK_GREEN_LAMP = add("dark_green_lamp" , new LampBlock( 9), Techia.LETI);
|
||||||
|
public static final Block BROWN_LAMP = add("brown_lamp" , new LampBlock( 7), Techia.LETI);
|
||||||
|
public static final Block DARK_GRAY_LAMP = add("dark_gray_lamp" , new LampBlock( 5), Techia.LETI);
|
||||||
|
//public static final Block BLACK_LAMP = add("black_lamp" , new LampBlock( 1), Techia.LETI);
|
||||||
|
|
||||||
public static final RecipeType<SmelterRecipe> WORKBENCH_RECIPE = RecipeType.register(new Identifier(Techia.MOD_ID, "smelting"));
|
public static final RecipeType<SmelterRecipe> WORKBENCH_RECIPE = RecipeType.register(new Identifier(Techia.MOD_ID, "smelting"));
|
||||||
public static final RecipeType<WorkbenchRecipe> WORKBENCH_RECIPE = RecipeType.register(new Identifier(Techia.MOD_ID, "workbench"));
|
public static final RecipeType<WorkbenchRecipe> WORKBENCH_RECIPE = RecipeType.register(new Identifier(Techia.MOD_ID, "workbench"));
|
||||||
|
|
||||||
|
@ -125,20 +144,40 @@ public class TechiaRegistry {
|
||||||
WORKBENCH_BLOCK_ENTITY = register("workbench", FabricBlockEntityTypeBuilder.create(BoxBlockEntity::new, WORKBENCH_BLOCK).build(null));
|
WORKBENCH_BLOCK_ENTITY = register("workbench", FabricBlockEntityTypeBuilder.create(BoxBlockEntity::new, WORKBENCH_BLOCK).build(null));
|
||||||
register("piston", PISTON);
|
register("piston", PISTON);
|
||||||
|
|
||||||
Registry.register(Registry.CUSTOM_STAT, "interact_with_smelter", INTERACT_WITH_SMELTER);
|
register("white_lamp", WHITE_LAMP );
|
||||||
Stats.CUSTOM.getOrCreateStat(INTERACT_WITH_SMELTER, StatFormatter.DEFAULT);
|
register("magenta_lamp", MAGENTA_LAMP );
|
||||||
Registry.register(Registry.CUSTOM_STAT, "interact_with_box", INTERACT_WITH_BOX);
|
register("teal_lamp", TEAL_LAMP );
|
||||||
Stats.CUSTOM.getOrCreateStat(INTERACT_WITH_BOX, StatFormatter.DEFAULT);
|
register("cyan_lamp", CYAN_LAMP );
|
||||||
Registry.register(Registry.CUSTOM_STAT, "interact_with_workbench", INTERACT_WITH_WORKBENCH);
|
register("green_lamp", GREEN_LAMP );
|
||||||
Stats.CUSTOM.getOrCreateStat(INTERACT_WITH_WORKBENCH, StatFormatter.DEFAULT);
|
register("pink_lamp", PINK_LAMP );
|
||||||
|
register("light_blue_lamp", LIGHT_BLUE_LAMP );
|
||||||
|
register("yellow_lamp", YELLOW_LAMP );
|
||||||
|
register("medium_blue_lamp", MEDIUM_BLUE_LAMP);
|
||||||
|
register("orange_lamp", ORANGE_LAMP );
|
||||||
|
register("light_gray_lamp", LIGHT_GRAY_LAMP );
|
||||||
|
register("purple_lamp", PURPLE_LAMP );
|
||||||
|
register("red_lamp", RED_LAMP );
|
||||||
|
register("blue_lamp", BLUE_LAMP );
|
||||||
|
register("dark_green_lamp", DARK_GREEN_LAMP );
|
||||||
|
register("brown_lamp", BROWN_LAMP );
|
||||||
|
register("dark_gray_lamp", DARK_GRAY_LAMP );
|
||||||
|
//register("black_lamp", BLACK_LAMP );
|
||||||
|
|
||||||
|
register(INTERACT_WITH_SMELTER);
|
||||||
|
register(INTERACT_WITH_BOX);
|
||||||
|
register(INTERACT_WITH_WORKBENCH);
|
||||||
}
|
}
|
||||||
public void register(String id, Block block){
|
public void register(String id, Block block){
|
||||||
register(id), block);
|
Registry.register(Registry.BLOCK, new Identifier(Techia.MOD_ID, id), block);
|
||||||
}
|
}
|
||||||
public void register(String id, Item item){
|
public void register(String id, Item item){
|
||||||
register(id), item);
|
Registry.register(Registry.ITEM, new Identifier(Techia.MOD_ID, id), item);
|
||||||
}
|
}
|
||||||
public BlockEntityType register(String id, BlockEntityType entity){
|
public BlockEntityType register(String id, BlockEntityType entity){
|
||||||
Registry.register(Registry.BLOCK_ENTITY_TYPE, new Identifier(Techia.MOD_ID, id), entity);
|
Registry.register(Registry.BLOCK_ENTITY_TYPE, new Identifier(Techia.MOD_ID, id), entity);
|
||||||
}
|
}
|
||||||
|
public void register(Identifier id){
|
||||||
|
Registry.register(Registry.CUSTOM_STAT, id, id);
|
||||||
|
Stats.CUSTOM.getOrCreateStat(id, StatFormatter.DEFAULT);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,42 @@
|
||||||
|
{
|
||||||
|
"block.techia.asmite_block":"Asmite Block",
|
||||||
|
"block.techia.asmite_button":"Asmite Button",
|
||||||
|
"block.techia.asmite_toggle":"Asmite Toggle",
|
||||||
|
"block.techia.asmite_wall_button":"Asmite Wall Button",
|
||||||
|
"block.techia.asmite_wall_toggle":"Asmite Wall Toggle",
|
||||||
|
"block.techia.black_lamp":"Black Lamp",
|
||||||
|
"block.techia.blue_lamp":"Blue Lamp",
|
||||||
|
"block.techia.box":"Box",
|
||||||
|
"block.techia.brown_lamp":"Brown Lamp",
|
||||||
|
"block.techia.connector":"Connector",
|
||||||
|
"block.techia.cyan_lamp":"Cyan Lamp",
|
||||||
|
"block.techia.dark_gray_lamp":"Dark Grey Lamp",
|
||||||
|
"block.techia.dark_green_lamp":"Dark Green Lamp",
|
||||||
|
"block.techia.delayer":"Delayer",
|
||||||
|
"block.techia.green_lamp":"Green Lamp",
|
||||||
|
"block.techia.inverter":"Inverter",
|
||||||
|
"block.techia.lamp_tooltip":"Brightness: %d",
|
||||||
|
"block.techia.light_blue_lamp":"Light Blue Lamp",
|
||||||
|
"block.techia.light_gray_lamp":"Light Grey Lamp",
|
||||||
|
"block.techia.magenta_lamp":"Magenta Lamp",
|
||||||
|
"block.techia.medium_blue_lamp":"Medium Blue Lamp",
|
||||||
|
"block.techia.orange_lamp":"Orange Lamp",
|
||||||
|
"block.techia.pink_lamp":"Pink Lamp",
|
||||||
|
"block.techia.piston":"Piston",
|
||||||
|
"block.techia.purple_lamp":"Purple Lamp",
|
||||||
|
"block.techia.red_lamp":"Red Lamp",
|
||||||
|
"block.techia.smelter":"Smelter",
|
||||||
|
"block.techia.teal_lamp":"Teal Lamp",
|
||||||
|
"block.techia.workbench":"Workbench",
|
||||||
|
"block.techia.yellow_lamp":"Yellow Lamp",
|
||||||
|
"item.techia.asmite_ingot":"Asmite Ingot",
|
||||||
|
"item.techia.block_shape":"Block Shape",
|
||||||
|
"item.techia.letium":"Letium",
|
||||||
|
"item.techia.ingot_shape":"Ingot Shape",
|
||||||
|
"itemGroup.techia.main":"Techia",
|
||||||
|
"itemGroup.techia.leti":"Leti",
|
||||||
|
"stat.techia.interact_with_box":"Boxes opened",
|
||||||
|
"stat.techia.interact_with_smelter":"Interactions with Smelter",
|
||||||
|
"stat.techia.interact_with_workbench":"Interactions with Workbench",
|
||||||
|
"stat.techia.items_smelted":"Items smelted",
|
||||||
|
"stat.techia.items_workbench":"Items crafted in Workbench"}
|
|
@ -0,0 +1,42 @@
|
||||||
|
{
|
||||||
|
"block.techia.asmite_block":"Asmite Block",
|
||||||
|
"block.techia.asmite_button":"Asmite Button",
|
||||||
|
"block.techia.asmite_toggle":"Asmite Toggle",
|
||||||
|
"block.techia.asmite_wall_button":"Asmite Wall Button",
|
||||||
|
"block.techia.asmite_wall_toggle":"Asmite Wall Toggle",
|
||||||
|
"block.techia.black_lamp":"Black Lamp",
|
||||||
|
"block.techia.blue_lamp":"Blue Lamp",
|
||||||
|
"block.techia.box":"Box",
|
||||||
|
"block.techia.brown_lamp":"Brown Lamp",
|
||||||
|
"block.techia.connector":"Connector",
|
||||||
|
"block.techia.cyan_lamp":"Cyan Lamp",
|
||||||
|
"block.techia.dark_gray_lamp":"Dark Grey Lamp",
|
||||||
|
"block.techia.dark_green_lamp":"Dark Green Lamp",
|
||||||
|
"block.techia.delayer":"Delayer",
|
||||||
|
"block.techia.green_lamp":"Green Lamp",
|
||||||
|
"block.techia.inverter":"Inverter",
|
||||||
|
"block.techia.lamp_tooltip":"Brightness: %d",
|
||||||
|
"block.techia.light_blue_lamp":"Light Blue Lamp",
|
||||||
|
"block.techia.light_gray_lamp":"Light Grey Lamp",
|
||||||
|
"block.techia.magenta_lamp":"Magenta Lamp",
|
||||||
|
"block.techia.medium_blue_lamp":"Medium Blue Lamp",
|
||||||
|
"block.techia.orange_lamp":"Orange Lamp",
|
||||||
|
"block.techia.pink_lamp":"Pink Lamp",
|
||||||
|
"block.techia.piston":"Piston",
|
||||||
|
"block.techia.purple_lamp":"Purple Lamp",
|
||||||
|
"block.techia.red_lamp":"Red Lamp",
|
||||||
|
"block.techia.smelter":"Smelter",
|
||||||
|
"block.techia.teal_lamp":"Teal Lamp",
|
||||||
|
"block.techia.workbench":"Workbench",
|
||||||
|
"block.techia.yellow_lamp":"Yellow Lamp",
|
||||||
|
"item.techia.asmite_ingot":"Asmite Ingot",
|
||||||
|
"item.techia.block_shape":"Block Shape",
|
||||||
|
"item.techia.letium":"Letium",
|
||||||
|
"item.techia.ingot_shape":"Ingot Shape",
|
||||||
|
"itemGroup.techia.main":"Techia",
|
||||||
|
"itemGroup.techia.leti":"Leti",
|
||||||
|
"stat.techia.interact_with_box":"Boxes opened",
|
||||||
|
"stat.techia.interact_with_smelter":"Interactions with Smelter",
|
||||||
|
"stat.techia.interact_with_workbench":"Interactions with Workbench",
|
||||||
|
"stat.techia.items_smelted":"Items smelted",
|
||||||
|
"stat.techia.items_workbench":"Items crafted in Workbench"}
|
|
@ -0,0 +1,42 @@
|
||||||
|
{
|
||||||
|
"block.techia.asmite_block":"Asmite Block",
|
||||||
|
"block.techia.asmite_button":"Asmite Button",
|
||||||
|
"block.techia.asmite_toggle":"Asmite Toggle",
|
||||||
|
"block.techia.asmite_wall_button":"Asmite Wall Button",
|
||||||
|
"block.techia.asmite_wall_toggle":"Asmite Wall Toggle",
|
||||||
|
"block.techia.black_lamp":"Black Lamp",
|
||||||
|
"block.techia.blue_lamp":"Blue Lamp",
|
||||||
|
"block.techia.box":"Box",
|
||||||
|
"block.techia.brown_lamp":"Brown Lamp",
|
||||||
|
"block.techia.connector":"Connector",
|
||||||
|
"block.techia.cyan_lamp":"Cyan Lamp",
|
||||||
|
"block.techia.dark_gray_lamp":"Dark Grey Lamp",
|
||||||
|
"block.techia.dark_green_lamp":"Dark Green Lamp",
|
||||||
|
"block.techia.delayer":"Delayer",
|
||||||
|
"block.techia.green_lamp":"Green Lamp",
|
||||||
|
"block.techia.inverter":"Inverter",
|
||||||
|
"block.techia.lamp_tooltip":"Brightness: %d",
|
||||||
|
"block.techia.light_blue_lamp":"Light Blue Lamp",
|
||||||
|
"block.techia.light_gray_lamp":"Light Grey Lamp",
|
||||||
|
"block.techia.magenta_lamp":"Magenta Lamp",
|
||||||
|
"block.techia.medium_blue_lamp":"Medium Blue Lamp",
|
||||||
|
"block.techia.orange_lamp":"Orange Lamp",
|
||||||
|
"block.techia.pink_lamp":"Pink Lamp",
|
||||||
|
"block.techia.piston":"Piston",
|
||||||
|
"block.techia.purple_lamp":"Purple Lamp",
|
||||||
|
"block.techia.red_lamp":"Red Lamp",
|
||||||
|
"block.techia.smelter":"Smelter",
|
||||||
|
"block.techia.teal_lamp":"Teal Lamp",
|
||||||
|
"block.techia.workbench":"Workbench",
|
||||||
|
"block.techia.yellow_lamp":"Yellow Lamp",
|
||||||
|
"item.techia.asmite_ingot":"Asmite Ingot",
|
||||||
|
"item.techia.block_shape":"Block Shape",
|
||||||
|
"item.techia.letium":"Letium",
|
||||||
|
"item.techia.ingot_shape":"Ingot Shape",
|
||||||
|
"itemGroup.techia.main":"Techia",
|
||||||
|
"itemGroup.techia.leti":"Leti",
|
||||||
|
"stat.techia.interact_with_box":"Boxes opened",
|
||||||
|
"stat.techia.interact_with_smelter":"Interactions with Smelter",
|
||||||
|
"stat.techia.interact_with_workbench":"Interactions with Workbench",
|
||||||
|
"stat.techia.items_smelted":"Items smelted",
|
||||||
|
"stat.techia.items_workbench":"Items crafted in Workbench"}
|
|
@ -0,0 +1,42 @@
|
||||||
|
{
|
||||||
|
"block.techia.asmite_block":"Asmite Block",
|
||||||
|
"block.techia.asmite_button":"Asmite Button",
|
||||||
|
"block.techia.asmite_toggle":"Asmite Toggle",
|
||||||
|
"block.techia.asmite_wall_button":"Asmite Wall Button",
|
||||||
|
"block.techia.asmite_wall_toggle":"Asmite Wall Toggle",
|
||||||
|
"block.techia.black_lamp":"Black Lamp",
|
||||||
|
"block.techia.blue_lamp":"Blue Lamp",
|
||||||
|
"block.techia.box":"Box",
|
||||||
|
"block.techia.brown_lamp":"Brown Lamp",
|
||||||
|
"block.techia.connector":"Connector",
|
||||||
|
"block.techia.cyan_lamp":"Cyan Lamp",
|
||||||
|
"block.techia.dark_gray_lamp":"Dark Grey Lamp",
|
||||||
|
"block.techia.dark_green_lamp":"Dark Green Lamp",
|
||||||
|
"block.techia.delayer":"Delayer",
|
||||||
|
"block.techia.green_lamp":"Green Lamp",
|
||||||
|
"block.techia.inverter":"Inverter",
|
||||||
|
"block.techia.lamp_tooltip":"Brightness: %d",
|
||||||
|
"block.techia.light_blue_lamp":"Light Blue Lamp",
|
||||||
|
"block.techia.light_gray_lamp":"Light Grey Lamp",
|
||||||
|
"block.techia.magenta_lamp":"Magenta Lamp",
|
||||||
|
"block.techia.medium_blue_lamp":"Medium Blue Lamp",
|
||||||
|
"block.techia.orange_lamp":"Orange Lamp",
|
||||||
|
"block.techia.pink_lamp":"Pink Lamp",
|
||||||
|
"block.techia.piston":"Piston",
|
||||||
|
"block.techia.purple_lamp":"Purple Lamp",
|
||||||
|
"block.techia.red_lamp":"Red Lamp",
|
||||||
|
"block.techia.smelter":"Smelter",
|
||||||
|
"block.techia.teal_lamp":"Teal Lamp",
|
||||||
|
"block.techia.workbench":"Workbench",
|
||||||
|
"block.techia.yellow_lamp":"Yellow Lamp",
|
||||||
|
"item.techia.asmite_ingot":"Asmite Ingot",
|
||||||
|
"item.techia.block_shape":"Block Shape",
|
||||||
|
"item.techia.letium":"Letium",
|
||||||
|
"item.techia.ingot_shape":"Ingot Shape",
|
||||||
|
"itemGroup.techia.main":"Techia",
|
||||||
|
"itemGroup.techia.leti":"Leti",
|
||||||
|
"stat.techia.interact_with_box":"Boxes opened",
|
||||||
|
"stat.techia.interact_with_smelter":"Interactions with Smelter",
|
||||||
|
"stat.techia.interact_with_workbench":"Interactions with Workbench",
|
||||||
|
"stat.techia.items_smelted":"Items smelted",
|
||||||
|
"stat.techia.items_workbench":"Items crafted in Workbench"}
|
|
@ -0,0 +1,42 @@
|
||||||
|
{
|
||||||
|
"block.techia.asmite_block":"\u029e\u0254o\ua781\u15fa \u01dd\u0287\u1d09\u026fs\u2c6f",
|
||||||
|
"block.techia.asmite_button":"uo\u0287\u0287n\u15fa \u01dd\u0287\u1d09\u026fs\u2c6f",
|
||||||
|
"block.techia.asmite_toggle":"\u01dd\ua781\u1d77\u1d77o\u27d8 \u01dd\u0287\u1d09\u026fs\u2c6f",
|
||||||
|
"block.techia.asmite_wall_button":"uo\u0287\u0287n\u15fa \ua781\ua781\u0250M \u01dd\u0287\u1d09\u026fs\u2c6f",
|
||||||
|
"block.techia.asmite_wall_toggle":"\u01dd\ua781\u1d77\u1d77o\u27d8 \ua781\ua781\u0250M \u01dd\u0287\u1d09\u026fs\u2c6f",
|
||||||
|
"block.techia.black_lamp":"d\u026f\u0250\ua780 \u029e\u0254\u0250\ua781\u15fa",
|
||||||
|
"block.techia.blue_lamp":"d\u026f\u0250\ua780 \u01ddn\ua781\u15fa",
|
||||||
|
"block.techia.box":"xo\u15fa",
|
||||||
|
"block.techia.brown_lamp":"d\u026f\u0250\ua780 u\u028do\u0279\u15fa",
|
||||||
|
"block.techia.connector":"\u0279o\u0287\u0254\u01dduuo\u0186",
|
||||||
|
"block.techia.cyan_lamp":"d\u026f\u0250\ua780 u\u0250\u028e\u0186",
|
||||||
|
"block.techia.dark_gray_lamp":"d\u026f\u0250\ua780 \u028e\u01dd\u0279\u2141 \u029e\u0279\u0250\u15e1",
|
||||||
|
"block.techia.dark_green_lamp":"d\u026f\u0250\ua780 u\u01dd\u01dd\u0279\u2141 \u029e\u0279\u0250\u15e1",
|
||||||
|
"block.techia.delayer":"\u0279\u01dd\u028e\u0250\ua781\u01dd\u15e1",
|
||||||
|
"block.techia.green_lamp":"d\u026f\u0250\ua780 u\u01dd\u01dd\u0279\u2141",
|
||||||
|
"block.techia.inverter":"Inv \u0279\u01dd\u0287\u0279\u01dd\u028cuI",
|
||||||
|
"block.techia.lamp_tooltip":"%d :ss\u01ddu\u0287\u0265\u1d77\u1d09\u0279\u15fa",
|
||||||
|
"block.techia.light_blue_lamp":"d\u026f\u0250\ua780 \u01ddn\ua781\u15fa \u0287\u0265\u1d77\u1d09\ua780",
|
||||||
|
"block.techia.light_gray_lamp":"d\u026f\u0250\ua780 \u028e\u01dd\u0279\u2141 \u0287\u0265\u1d77\u1d09\ua780",
|
||||||
|
"block.techia.magenta_lamp":"d\u026f\u0250\ua780 \u0250\u0287u\u01dd\u1d77\u0250W",
|
||||||
|
"block.techia.medium_blue_lamp":"d\u026f\u0250\ua780 \u01ddn\ua781\u15fa \u026fn\u1d09p\u01ddW",
|
||||||
|
"block.techia.orange_lamp":"d\u026f\u0250\ua780 \u01dd\u1d77u\u0250\u0279O",
|
||||||
|
"block.techia.pink_lamp":"d\u026f\u0250\ua780 \u029eu\u1d09\u0500",
|
||||||
|
"block.techia.piston":"uo\u0287s\u1d09\u0500",
|
||||||
|
"block.techia.purple_lamp":"d\u026f\u0250\ua780 \u01dd\ua781d\u0279n\u0500",
|
||||||
|
"block.techia.red_lamp":"d\u026f\u0250\ua780 p\u01dd\u1d1a",
|
||||||
|
"block.techia.smelter":"\u0279\u01dd\u0287\ua781\u01dd\u026fS",
|
||||||
|
"block.techia.teal_lamp":"d\u026f\u0250\ua780 \ua781\u0250\u01dd\u27d8",
|
||||||
|
"block.techia.workbench":"\u0265\u0254u\u01ddq\u0279\u0279oM",
|
||||||
|
"block.techia.yellow_lamp":"d\u026f\u0250\ua780 \u028do\ua781\ua781\u01dd\u2144",
|
||||||
|
"item.techia.asmite_ingot":"\u0287o\u1d77uI \u01dd\u0287\u1d09\u026fs\u2c6f",
|
||||||
|
"item.techia.block_shape":"\u01ddd\u0250\u0265S \u029e\u0254o\ua781\u15fa",
|
||||||
|
"item.techia.letium":"\u026fn\u1d09\u0287\u01dd\ua781",
|
||||||
|
"item.techia.ingot_shape":"\u01ddd\u0250\u0265S \u0287o\u1d77uI",
|
||||||
|
"itemGroup.techia.main":"\u0250\u1d09\u0265\u0254\u01dd\u27d8",
|
||||||
|
"itemGroup.techia.leti":"\u1d09\u0287\u01dd\ua781",
|
||||||
|
"stat.techia.interact_with_box":"p\u01ddu\u01dddo s\u01ddxo\u15fa",
|
||||||
|
"stat.techia.interact_with_smelter":"\u0279\u01dd\u0287\ua781\u01dd\u026fS \u0265\u0287\u1d09\u028d suo\u1d09\u0287\u0254\u0250\u0279\u01dd\u0287uI",
|
||||||
|
"stat.techia.interact_with_workbench":"\u0265\u0254u\u01ddq\u0279\u0279oM \u0265\u0287\u1d09\u028d suo\u1d09\u0287\u0254\u0250\u0279\u01dd\u0287uI",
|
||||||
|
"stat.techia.items_smelted":"p\u01dd\u0287\ua781\u01dd\u026fs s\u026f\u01dd\u0287I",
|
||||||
|
"stat.techia.items_workbench":"\u0265\u0254u\u01ddq\u0279\u0279oM u\u1d09 p\u01dd\u0287\u025f\u0250\u0279\u0186 s\u026f\u01dd\u0287I"}
|
|
@ -4,23 +4,39 @@
|
||||||
"block.techia.asmite_toggle":"Asmite Toggle",
|
"block.techia.asmite_toggle":"Asmite Toggle",
|
||||||
"block.techia.asmite_wall_button":"Asmite Wall Button",
|
"block.techia.asmite_wall_button":"Asmite Wall Button",
|
||||||
"block.techia.asmite_wall_toggle":"Asmite Wall Toggle",
|
"block.techia.asmite_wall_toggle":"Asmite Wall Toggle",
|
||||||
|
"block.techia.black_lamp":"Black Lamp",
|
||||||
|
"block.techia.blue_lamp":"Blue Lamp",
|
||||||
"block.techia.box":"Box",
|
"block.techia.box":"Box",
|
||||||
|
"block.techia.brown_lamp":"Brown Lamp",
|
||||||
"block.techia.connector":"Connector",
|
"block.techia.connector":"Connector",
|
||||||
|
"block.techia.cyan_lamp":"Cyan Lamp",
|
||||||
|
"block.techia.dark_gray_lamp":"Dark Gray Lamp",
|
||||||
|
"block.techia.dark_green_lamp":"Dark Green Lamp",
|
||||||
"block.techia.delayer":"Delayer",
|
"block.techia.delayer":"Delayer",
|
||||||
"block.techia.leti_source":"Leti Source",
|
"block.techia.green_lamp":"Green Lamp",
|
||||||
"block.techia.intersector":"Intersector",
|
|
||||||
"block.techia.inverter":"Inverter",
|
"block.techia.inverter":"Inverter",
|
||||||
|
"block.techia.lamp_tooltip":"Brightness: %d",
|
||||||
|
"block.techia.light_blue_lamp":"Light Blue Lamp",
|
||||||
|
"block.techia.light_gray_lamp":"Light Gray Lamp",
|
||||||
|
"block.techia.magenta_lamp":"Magenta Lamp",
|
||||||
|
"block.techia.medium_blue_lamp":"Medium Blue Lamp",
|
||||||
|
"block.techia.orange_lamp":"Orange Lamp",
|
||||||
|
"block.techia.pink_lamp":"Pink Lamp",
|
||||||
"block.techia.piston":"Piston",
|
"block.techia.piston":"Piston",
|
||||||
|
"block.techia.purple_lamp":"Purple Lamp",
|
||||||
|
"block.techia.red_lamp":"Red Lamp",
|
||||||
"block.techia.smelter":"Smelter",
|
"block.techia.smelter":"Smelter",
|
||||||
|
"block.techia.teal_lamp":"Teal Lamp",
|
||||||
"block.techia.workbench":"Workbench",
|
"block.techia.workbench":"Workbench",
|
||||||
|
"block.techia.yellow_lamp":"Yellow Lamp",
|
||||||
"item.techia.asmite_ingot":"Asmite Ingot",
|
"item.techia.asmite_ingot":"Asmite Ingot",
|
||||||
"item.techia.block_shape":"Block Shape",
|
"item.techia.block_shape":"Block Shape",
|
||||||
"item.techia.letium":"Letium",
|
"item.techia.letium":"Letium",
|
||||||
"item.techia.ingot_shape":"Ingot Shape",
|
"item.techia.ingot_shape":"Ingot Shape",
|
||||||
"itemGroup.ellas_mod.items":"Techia",
|
"itemGroup.techia.main":"Techia",
|
||||||
"itemGroup.ellas_mod.leti":"Leti",
|
"itemGroup.techia.leti":"Leti",
|
||||||
"stat.techia.interact_with_box":"Boxes opened",
|
"stat.techia.interact_with_box":"Boxes opened",
|
||||||
"stat.techia.interact_with_smelter":"Interactions with Smelter",
|
"stat.techia.interact_with_smelter":"Interactions with Smelter",
|
||||||
"stat.techia.interact_with_workbench":"Interactions with Workbench",
|
"stat.techia.interact_with_workbench":"Interactions with Workbench",
|
||||||
"stat.techia.items_smelted":"Items smelted",
|
"stat.techia.items_smelted":"Items smelted",
|
||||||
"stat.techia.items_workbench":"Items crafted in Workbench"}
|
"stat.techia.items_workbench":"Items crafted in Workbench"}
|
|
@ -0,0 +1,42 @@
|
||||||
|
{
|
||||||
|
"block.techia.asmite_block":"Asmite Block",
|
||||||
|
"block.techia.asmite_button":"Asmite Knob",
|
||||||
|
"block.techia.asmite_toggle":"Asmite Toggle",
|
||||||
|
"block.techia.asmite_wall_button":"Asmite Wall Knob",
|
||||||
|
"block.techia.asmite_wall_toggle":"Asmite Wall Toggle",
|
||||||
|
"block.techia.black_lamp":"Black Lightvat",
|
||||||
|
"block.techia.blue_lamp":"Hewen Lightvat",
|
||||||
|
"block.techia.box":"Box",
|
||||||
|
"block.techia.brown_lamp":"Brown Lightvat",
|
||||||
|
"block.techia.connector":"Connector",
|
||||||
|
"block.techia.cyan_lamp":"Hewengreen Lightvat",
|
||||||
|
"block.techia.dark_gray_lamp":"Dark Gray Lightvat",
|
||||||
|
"block.techia.dark_green_lamp":"Dark Green Lightvat",
|
||||||
|
"block.techia.delayer":"Delayer",
|
||||||
|
"block.techia.green_lamp":"Green Lightvat",
|
||||||
|
"block.techia.inverter":"Inverter",
|
||||||
|
"block.techia.lamp_tooltip":"Brightness: %d",
|
||||||
|
"block.techia.light_blue_lamp":"Light Hewen Lightvat",
|
||||||
|
"block.techia.light_gray_lamp":"Light Gray Lightvat",
|
||||||
|
"block.techia.magenta_lamp":"Bawsered Lightvat",
|
||||||
|
"block.techia.medium_blue_lamp":"Medium Hewen Lightvat",
|
||||||
|
"block.techia.orange_lamp":"Yellowred Lightvat",
|
||||||
|
"block.techia.pink_lamp":"Pink Lightvat",
|
||||||
|
"block.techia.piston":"Piston",
|
||||||
|
"block.techia.purple_lamp":"Bawse Lightvat",
|
||||||
|
"block.techia.red_lamp":"Red Lightvat",
|
||||||
|
"block.techia.smelter":"Smelter",
|
||||||
|
"block.techia.teal_lamp":"Greenhewen Lightvat",
|
||||||
|
"block.techia.workbench":"Workbench",
|
||||||
|
"block.techia.yellow_lamp":"Yellow Lightvat",
|
||||||
|
"item.techia.asmite_ingot":"Asmite Ingot",
|
||||||
|
"item.techia.block_shape":"Block Shape",
|
||||||
|
"item.techia.letium":"Letium",
|
||||||
|
"item.techia.ingot_shape":"Ingot Shape",
|
||||||
|
"itemGroup.techia.main":"Techia",
|
||||||
|
"itemGroup.techia.leti":"Leti",
|
||||||
|
"stat.techia.interact_with_box":"Boxes opened",
|
||||||
|
"stat.techia.interact_with_smelter":"Interactions with Smelter",
|
||||||
|
"stat.techia.interact_with_workbench":"Interactions with Workbench",
|
||||||
|
"stat.techia.items_smelted":"Items smelted",
|
||||||
|
"stat.techia.items_workbench":"Items crafted in Workbench"}
|
|
@ -0,0 +1,42 @@
|
||||||
|
{
|
||||||
|
"block.techia.asmite_block":"Asmite Block",
|
||||||
|
"block.techia.asmite_button":"Asmite Button",
|
||||||
|
"block.techia.asmite_toggle":"Asmite Toggle",
|
||||||
|
"block.techia.asmite_wall_button":"Asmite Wall Button",
|
||||||
|
"block.techia.asmite_wall_toggle":"Asmite Wall Toggle",
|
||||||
|
"block.techia.black_lamp":"Black Lamp",
|
||||||
|
"block.techia.blue_lamp":"Blue Lamp",
|
||||||
|
"block.techia.box":"Box",
|
||||||
|
"block.techia.brown_lamp":"Brown Lamp",
|
||||||
|
"block.techia.connector":"Connector",
|
||||||
|
"block.techia.cyan_lamp":"Turquoise Lamp",
|
||||||
|
"block.techia.dark_gray_lamp":"Dark Grey Lamp",
|
||||||
|
"block.techia.dark_green_lamp":"Dark Green Lamp",
|
||||||
|
"block.techia.delayer":"Delayer",
|
||||||
|
"block.techia.green_lamp":"Green Lamp",
|
||||||
|
"block.techia.inverter":"Inverter",
|
||||||
|
"block.techia.lamp_tooltip":"Brightness: %d",
|
||||||
|
"block.techia.light_blue_lamp":"Whey Lamp",
|
||||||
|
"block.techia.light_gray_lamp":"Pale Grey Lamp",
|
||||||
|
"block.techia.magenta_lamp":"Mulberry Lamp",
|
||||||
|
"block.techia.medium_blue_lamp":"Medium Blue Lamp",
|
||||||
|
"block.techia.orange_lamp":"Tawny Lamp",
|
||||||
|
"block.techia.pink_lamp":"Carnation Lamp",
|
||||||
|
"block.techia.piston":"Extender",
|
||||||
|
"block.techia.purple_lamp":"Purple Lamp",
|
||||||
|
"block.techia.red_lamp":"Red Lamp",
|
||||||
|
"block.techia.smelter":"Smelter",
|
||||||
|
"block.techia.teal_lamp":"Teal Lamp",
|
||||||
|
"block.techia.workbench":"Workbench",
|
||||||
|
"block.techia.yellow_lamp":"Yellow Lamp",
|
||||||
|
"item.techia.asmite_ingot":"Asmite Ingot",
|
||||||
|
"item.techia.block_shape":"Block Shape",
|
||||||
|
"item.techia.letium":"Letium",
|
||||||
|
"item.techia.ingot_shape":"Ingot Shape",
|
||||||
|
"itemGroup.techia.main":"Techia",
|
||||||
|
"itemGroup.techia.leti":"Leti",
|
||||||
|
"stat.techia.interact_with_box":"Boxes opened",
|
||||||
|
"stat.techia.interact_with_smelter":"Interactions with Smelter",
|
||||||
|
"stat.techia.interact_with_workbench":"Interactions with Workbench",
|
||||||
|
"stat.techia.items_smelted":"Items smelted",
|
||||||
|
"stat.techia.items_workbench":"Items crafted in Workbench"}
|
|
@ -4,18 +4,39 @@
|
||||||
"block.techia.asmite_toggle":"Asmitflipp",
|
"block.techia.asmite_toggle":"Asmitflipp",
|
||||||
"block.techia.asmite_wall_button":"Asmitv\u00e4ggknapp",
|
"block.techia.asmite_wall_button":"Asmitv\u00e4ggknapp",
|
||||||
"block.techia.asmite_wall_toggle":"Asmitv\u00e4ggflipp",
|
"block.techia.asmite_wall_toggle":"Asmitv\u00e4ggflipp",
|
||||||
|
"block.techia.black_lamp":"Svart lampa",
|
||||||
|
"block.techia.blue_lamp":"Bl lampa",
|
||||||
"block.techia.box":"L\u00e5da",
|
"block.techia.box":"L\u00e5da",
|
||||||
|
"block.techia.brown_lamp":"Brun lampa",
|
||||||
"block.techia.connector":"Kopplare",
|
"block.techia.connector":"Kopplare",
|
||||||
|
"block.techia.cyan_lamp":"Cyan lampa",
|
||||||
|
"block.techia.dark_gray_lamp":"M\u00f6rkgr\u00e5 lampa",
|
||||||
|
"block.techia.dark_green_lamp":"M\u00f6rkgr\u00f6n lampa",
|
||||||
"block.techia.delayer":"F\u00f6rdr\u00f6jare",
|
"block.techia.delayer":"F\u00f6rdr\u00f6jare",
|
||||||
"block.techia.leti_source":"Letik\u00e4lla",
|
"block.techia.green_lamp":"Gr\u00f6n lampa",
|
||||||
"block.techia.intersector":"Korsare",
|
|
||||||
"block.techia.inverter":"Inverterare",
|
"block.techia.inverter":"Inverterare",
|
||||||
|
"block.techia.lamp_tooltip":"Ljusstyrka: %d",
|
||||||
|
"block.techia.light_blue_lamp":"Ljusbl\u00e5 lampa",
|
||||||
|
"block.techia.light_gray_lamp":"Ljusgr\u00e5 lampa",
|
||||||
|
"block.techia.magenta_lamp":"Magenta lampa",
|
||||||
|
"block.techia.medium_blue_lamp":"Mellanbl\u00e5 lampa",
|
||||||
|
"block.techia.orange_lamp":"Orange lampa",
|
||||||
|
"block.techia.pink_lamp":"Rosa lampa",
|
||||||
"block.techia.piston":"Kolv",
|
"block.techia.piston":"Kolv",
|
||||||
|
"block.techia.purple_lamp":"Lila lampa",
|
||||||
|
"block.techia.red_lamp":"R\u00f6d lampa",
|
||||||
"block.techia.smelter":"Sm\u00e4ltare",
|
"block.techia.smelter":"Sm\u00e4ltare",
|
||||||
"block.techia.workbench":"Arbetsb\u00e4nk",
|
"block.techia.teal_lamp":"Bl\u00e5gr\u00f6n lampa",
|
||||||
|
"block.techia.workbench":"Arbetsbord",
|
||||||
|
"block.techia.yellow_lamp":"Gul lampa",
|
||||||
"item.techia.asmite_ingot":"Asmittacka",
|
"item.techia.asmite_ingot":"Asmittacka",
|
||||||
"item.techia.block_shape":"Blockform",
|
"item.techia.block_shape":"Blockform",
|
||||||
"item.techia.letium":"Letium",
|
"item.techia.letium":"Letium",
|
||||||
"item.techia.ingot_shape":"Tackform",
|
"item.techia.ingot_shape":"Tackform",
|
||||||
"itemGroup.ellas_mod.items":"Techia",
|
"itemGroup.techia.main":"Techia",
|
||||||
"itemGroup.ellas_mod.leti":"Leti"}
|
"itemGroup.techia.leti":"Leti",
|
||||||
|
"stat.techia.interact_with_box":"L\u00e5dor \u00f6ppnade",
|
||||||
|
"stat.techia.interact_with_smelter":"Interaktioner med sm\u00e4ltare",
|
||||||
|
"stat.techia.interact_with_workbench":"Interaktioner med arbetsbord",
|
||||||
|
"stat.techia.items_smelted":"F\u00f6rem\u00e5l sm\u00e4lta",
|
||||||
|
"stat.techia.items_workbench":"F\u00f6rem\u00e5l skapade i arbetsbord"}
|
||||||
|
|
Loading…
Reference in New Issue