Translation, hitboxes, fixes

This commit is contained in:
paulevsGitch 2020-11-29 23:55:14 +03:00
parent a869cc3f9b
commit 05639b7e33
8 changed files with 72 additions and 11 deletions

View file

@ -1,9 +1,11 @@
package ru.betterend.blocks; package ru.betterend.blocks;
import java.util.Collections; import java.util.Collections;
import java.util.EnumMap;
import java.util.List; import java.util.List;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
import net.fabricmc.fabric.api.tool.attribute.v1.FabricToolTags; import net.fabricmc.fabric.api.tool.attribute.v1.FabricToolTags;
@ -12,6 +14,7 @@ import net.minecraft.block.BlockState;
import net.minecraft.block.FluidFillable; import net.minecraft.block.FluidFillable;
import net.minecraft.block.Material; import net.minecraft.block.Material;
import net.minecraft.block.MaterialColor; import net.minecraft.block.MaterialColor;
import net.minecraft.block.ShapeContext;
import net.minecraft.block.Waterloggable; import net.minecraft.block.Waterloggable;
import net.minecraft.fluid.Fluid; import net.minecraft.fluid.Fluid;
import net.minecraft.fluid.FluidState; import net.minecraft.fluid.FluidState;
@ -25,14 +28,20 @@ import net.minecraft.state.property.BooleanProperty;
import net.minecraft.state.property.IntProperty; import net.minecraft.state.property.IntProperty;
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.shape.VoxelShape;
import net.minecraft.util.shape.VoxelShapes;
import net.minecraft.world.BlockView; import net.minecraft.world.BlockView;
import net.minecraft.world.WorldAccess; import net.minecraft.world.WorldAccess;
import net.minecraft.world.WorldView; import net.minecraft.world.WorldView;
import ru.betterend.blocks.basis.BlockAttached; import ru.betterend.blocks.basis.BlockAttached;
import ru.betterend.client.render.ERenderLayer; import ru.betterend.client.render.ERenderLayer;
import ru.betterend.interfaces.IRenderTypeable; import ru.betterend.interfaces.IRenderTypeable;
import ru.betterend.registry.EndItems;
import ru.betterend.util.MHelper;
public class BlockSulphurCrystal extends BlockAttached implements IRenderTypeable, Waterloggable, FluidFillable { public class BlockSulphurCrystal extends BlockAttached implements IRenderTypeable, Waterloggable, FluidFillable {
private static final EnumMap<Direction, VoxelShape> BOUNDING_SHAPES = Maps.newEnumMap(Direction.class);
public static final IntProperty AGE = IntProperty.of("age", 0, 2); public static final IntProperty AGE = IntProperty.of("age", 0, 2);
public static final BooleanProperty WATERLOGGED = Properties.WATERLOGGED; public static final BooleanProperty WATERLOGGED = Properties.WATERLOGGED;
@ -58,7 +67,7 @@ public class BlockSulphurCrystal extends BlockAttached implements IRenderTypeabl
@Override @Override
public List<ItemStack> getDroppedStacks(BlockState state, LootContext.Builder builder) { public List<ItemStack> getDroppedStacks(BlockState state, LootContext.Builder builder) {
return state.get(AGE) < 2 ? Collections.emptyList() : Lists.newArrayList(new ItemStack(this)); return state.get(AGE) < 2 ? Collections.emptyList() : Lists.newArrayList(new ItemStack(EndItems.CRYSTALLINE_SULPHUR, MHelper.randRange(1, 3, MHelper.RANDOM)));
} }
@Override @Override
@ -83,4 +92,18 @@ public class BlockSulphurCrystal extends BlockAttached implements IRenderTypeabl
public FluidState getFluidState(BlockState state) { public FluidState getFluidState(BlockState state) {
return state.get(WATERLOGGED) ? Fluids.WATER.getStill(false) : Fluids.EMPTY.getDefaultState(); return state.get(WATERLOGGED) ? Fluids.WATER.getStill(false) : Fluids.EMPTY.getDefaultState();
} }
@Override
public VoxelShape getOutlineShape(BlockState state, BlockView view, BlockPos pos, ShapeContext ePos) {
return BOUNDING_SHAPES.get(state.get(FACING));
}
static {
BOUNDING_SHAPES.put(Direction.UP, VoxelShapes.cuboid(0.125, 0.0, 0.125, 0.875F, 0.5, 0.875F));
BOUNDING_SHAPES.put(Direction.DOWN, VoxelShapes.cuboid(0.125, 0.5, 0.125, 0.875F, 1.0, 0.875F));
BOUNDING_SHAPES.put(Direction.NORTH, VoxelShapes.cuboid(0.125, 0.125, 0.5, 0.875F, 0.875F, 1.0));
BOUNDING_SHAPES.put(Direction.SOUTH, VoxelShapes.cuboid(0.125, 0.125, 0.0, 0.875F, 0.875F, 0.5));
BOUNDING_SHAPES.put(Direction.WEST, VoxelShapes.cuboid(0.5, 0.125, 0.125, 1.0, 0.875F, 0.875F));
BOUNDING_SHAPES.put(Direction.EAST, VoxelShapes.cuboid(0.0, 0.125, 0.125, 0.5, 0.875F, 0.875F));
}
} }

View file

@ -59,7 +59,7 @@ public class EndItems {
public final static Item RAW_AMBER = registerItem("raw_amber"); public final static Item RAW_AMBER = registerItem("raw_amber");
public final static Item AMBER_GEM = registerItem("amber_gem"); public final static Item AMBER_GEM = registerItem("amber_gem");
public final static Item GLOWING_BULB = registerItem("glowing_bulb"); public final static Item GLOWING_BULB = registerItem("glowing_bulb");
public final static Item CRYSTALLINE_SULFUR = registerItem("crystalline_sulfur"); public final static Item CRYSTALLINE_SULPHUR = registerItem("crystalline_sulphur");
// Armor // // Armor //
public static final Item TERMINITE_HELMET = registerItem("terminite_helmet", new ArmorItem(EndArmorMaterial.TERMINITE, EquipmentSlot.HEAD, makeSettings())); public static final Item TERMINITE_HELMET = registerItem("terminite_helmet", new ArmorItem(EndArmorMaterial.TERMINITE, EquipmentSlot.HEAD, makeSettings()));

View file

@ -362,5 +362,24 @@
"block.betterend.bulb_lantern_white": "White Bulb Lantern", "block.betterend.bulb_lantern_white": "White Bulb Lantern",
"block.betterend.bulb_lantern_yellow": "Yellow Bulb Lantern", "block.betterend.bulb_lantern_yellow": "Yellow Bulb Lantern",
"block.betterend.bushy_grass": "Bushy Grass" "block.betterend.bushy_grass": "Bushy Grass",
"block.betterend.brimstone": "Brimstone",
"block.betterend.sulfuric_rock": "Sulfuric Rock",
"block.betterend.sulfuric_rock_bricks": "Sulfuric Rock Bricks",
"block.betterend.sulfuric_rock_bricks_slab": "Sulfuric Rock Bricks Slab",
"block.betterend.sulfuric_rock_bricks_stairs": "Sulfuric Rock Bricks Stairs",
"block.betterend.sulfuric_rock_bricks_wall": "Sulfuric Rock Bricks Wall",
"block.betterend.sulfuric_rock_button": "Sulfuric Rock Button",
"block.betterend.sulfuric_rock_lantern": "Sulfuric Rock Lantern",
"block.betterend.sulfuric_rock_pedestal": "Sulfuric Rock Pedestal",
"block.betterend.sulfuric_rock_pillar": "Sulfuric Rock Pillar",
"block.betterend.sulfuric_rock_plate": "Sulfuric Rock Plate",
"block.betterend.sulfuric_rock_polished": "Sulfuric Rock Polished",
"block.betterend.sulfuric_rock_slab": "Sulfuric Rock Slab",
"block.betterend.sulfuric_rock_stairs": "Sulfuric Rock Stairs",
"block.betterend.sulfuric_rock_tiles": "Sulfuric Rock Tiles",
"block.betterend.sulfuric_rock_wall": "Sulfuric Rock Wall",
"block.betterend.sulphur_crystal": "Sulphur Crystal",
"item.betterend.crystalline_sulphur": "Crystalline Sulphur"
} }

View file

@ -364,5 +364,24 @@
"block.betterend.bulb_lantern_white": "Белый луковичный фонарь", "block.betterend.bulb_lantern_white": "Белый луковичный фонарь",
"block.betterend.bulb_lantern_yellow": "Жёлтый луковичный фонарь", "block.betterend.bulb_lantern_yellow": "Жёлтый луковичный фонарь",
"block.betterend.bushy_grass": "Густая трава" "block.betterend.bushy_grass": "Густая трава",
"block.betterend.brimstone": "Сера",
"block.betterend.sulfuric_rock": "Серный камень",
"block.betterend.sulfuric_rock_bricks": "Кирпичи из серного камня",
"block.betterend.sulfuric_rock_bricks_slab": "Кирпичная плита из серного камня",
"block.betterend.sulfuric_rock_bricks_stairs": "Кирпичные ступени из серного камня",
"block.betterend.sulfuric_rock_bricks_wall": "Стена из серного камня",
"block.betterend.sulfuric_rock_button": "Кнопка из серного камня",
"block.betterend.sulfuric_rock_lantern": "Фонарь из серного камня",
"block.betterend.sulfuric_rock_pedestal": "Пьедестал из серного камня",
"block.betterend.sulfuric_rock_pillar": "Колонна из серного камня",
"block.betterend.sulfuric_rock_plate": "Нажимная плита из серного камня",
"block.betterend.sulfuric_rock_polished": "Полированный серный камень",
"block.betterend.sulfuric_rock_slab": "Плита из серного камня",
"block.betterend.sulfuric_rock_stairs": "Ступени из серного камня",
"block.betterend.sulfuric_rock_tiles": "Плитка из серного камня",
"block.betterend.sulfuric_rock_wall": "Стена из серного камня",
"block.betterend.sulphur_crystal": "Кристалл серы",
"item.betterend.crystalline_sulphur": "Кристаллическая сера"
} }

View file

@ -1,6 +0,0 @@
{
"parent": "item/generated",
"textures": {
"layer0": "betterend:block/crystalline_sulfur"
}
}

View file

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

View file

@ -1,6 +1,6 @@
{ {
"parent": "item/generated", "parent": "item/generated",
"textures": { "textures": {
"layer0": "betterend:block/crystalline_sulfur_3" "layer0": "betterend:block/sulphur_crystal_2"
} }
} }