diff --git a/build.gradle b/build.gradle index e447942..a732373 100644 --- a/build.gradle +++ b/build.gradle @@ -1,10 +1,12 @@ buildscript { repositories { - jcenter() + mavenCentral() + maven { url 'https://www.jitpack.io' } + maven { url 'https://files.minecraftforge.net/maven' } maven { url 'https://www.dimdev.org/maven/' } } dependencies { - classpath 'org.dimdev:ForgeGradle:2.3-SNAPSHOT' + classpath 'com.github.Chocohead:ForgeGradle:moderniser-SNAPSHOT' } } @@ -20,16 +22,18 @@ targetCompatibility = 1.8 repositories { mavenCentral() + maven { url 'https://www.jitpack.io' } + maven { url 'http://repo.strezz.org/artifactory/list/Strezz-Central' } maven { url 'https://www.dimdev.org/maven/' } } dependencies { - implementation 'org.dimdev:rift:1.0.4-65:dev' + implementation 'com.github.Chocohead:Rift:jitpack-SNAPSHOT:dev' } minecraft { - version = '1.13' - mappings = 'snapshot_20180826' + version = '1.13.2' + mappings = 'snapshot_20181130' runDir = 'run' tweakClass = 'org.dimdev.riftloader.launch.RiftLoaderClientTweaker' } diff --git a/src/main/java/org/dimdev/halflogs/HalfLogs.java b/src/main/java/org/dimdev/halflogs/HalfLogs.java index 0108abc..0d4d420 100644 --- a/src/main/java/org/dimdev/halflogs/HalfLogs.java +++ b/src/main/java/org/dimdev/halflogs/HalfLogs.java @@ -1,18 +1,23 @@ package org.dimdev.halflogs; +import org.dimdev.rift.listener.BlockAdder; +import org.dimdev.rift.listener.ItemAdder; + import net.minecraft.block.Block; import net.minecraft.block.BlockSlab; import net.minecraft.block.BlockStairs; -import net.minecraft.block.SoundType; -import net.minecraft.block.material.MapColor; -import net.minecraft.block.material.Material; import net.minecraft.block.state.IBlockState; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.init.SoundEvents; -import net.minecraft.item.*; +import net.minecraft.item.BlockItemUseContext; +import net.minecraft.item.Item; +import net.minecraft.item.ItemAxe; +import net.minecraft.item.ItemGroup; +import net.minecraft.item.ItemStack; import net.minecraft.state.EnumProperty; import net.minecraft.state.StateContainer; +import net.minecraft.state.properties.BlockStateProperties; import net.minecraft.state.properties.SlabType; import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumHand; @@ -20,35 +25,29 @@ import net.minecraft.util.SoundCategory; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; -import org.dimdev.rift.listener.BlockAdder; -import org.dimdev.rift.listener.ItemAdder; - -import java.util.function.Supplier; public class HalfLogs implements BlockAdder, ItemAdder { - public static final EnumProperty AXIS = EnumProperty.create("axis", EnumFacing.Axis.class); + public static final EnumProperty AXIS = BlockStateProperties.AXIS; - private static Supplier LOG_STAIRS = () -> { - Block block = Blocks.OAK_LOG; - - return new BlockStairs(block.getDefaultState(), Block.Builder.create(Material.WOOD, MapColor.WOOD).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)) { + private static BlockStairs createLogStairs(Block log) { + return new BlockStairs(log.getDefaultState(), Block.Properties.from(log)) { @Override - protected void fillStateContainer(StateContainer.Builder p_Builder) { - super.fillStateContainer(p_Builder); - p_Builder.add(AXIS); + protected void fillStateContainer(StateContainer.Builder builder) { + super.fillStateContainer(builder); + builder.add(AXIS); } @Override - public IBlockState getStateForPlacement(BlockItemUseContext p_getBlockToPlaceOnUse_1_) - { - IBlockState iblockstate = super.getStateForPlacement(p_getBlockToPlaceOnUse_1_); - iblockstate = iblockstate.withProperty(AXIS, p_getBlockToPlaceOnUse_1_.getFace().getAxis()); - return iblockstate; + public IBlockState getStateForPlacement(BlockItemUseContext context) { + IBlockState state = super.getStateForPlacement(context); + state = state.with(AXIS, context.getFace().getAxis()); + return state; } @Override - public boolean onBlockActivated(IBlockState p_blockState, World p_world, BlockPos p_blockPos, EntityPlayer p_player, EnumHand p_hand, EnumFacing p_facing, float hitX, float hitY, float hitZ) { - ItemStack stack = p_hand == EnumHand.MAIN_HAND ? p_player.getHeldItemMainhand() : p_player.getHeldItemOffhand(); + public boolean onBlockActivated(IBlockState state, World world, BlockPos pos, EntityPlayer player, + EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ) { + ItemStack stack = player.getHeldItem(hand); Item item = stack.getItem(); if (item instanceof ItemAxe) { Block strippedBlock; @@ -68,40 +67,39 @@ public boolean onBlockActivated(IBlockState p_blockState, World p_world, BlockPo return false; } - p_world.setBlockState(p_blockPos, strippedBlock.getDefaultState() - .withProperty(AXIS, p_blockState.getValue(AXIS)) - .withProperty(BlockStairs.FACING, p_blockState.getValue(BlockStairs.FACING)) - .withProperty(BlockStairs.HALF, p_blockState.getValue(BlockStairs.HALF)) - .withProperty(BlockStairs.SHAPE, p_blockState.getValue(BlockStairs.SHAPE))); - p_world.playSound(p_player, p_blockPos, SoundEvents.ITEM_AXE_STRIP, SoundCategory.BLOCKS, 1.0F, 1.0F); - stack.damageItem(1, p_player); + world.setBlockState(pos, + strippedBlock.getDefaultState().with(AXIS, state.get(AXIS)) + .with(BlockStairs.FACING, state.get(BlockStairs.FACING)) + .with(BlockStairs.HALF, state.get(BlockStairs.HALF)) + .with(BlockStairs.SHAPE, state.get(BlockStairs.SHAPE))); + world.playSound(player, pos, SoundEvents.ITEM_AXE_STRIP, SoundCategory.BLOCKS, 1.0F, 1.0F); + stack.damageItem(1, player); return true; } return false; } }; - }; - - private static Supplier LOG_SLABS = () -> { + } - return new BlockSlab(Block.Builder.create(Material.WOOD, MapColor.WOOD).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)) { + private static BlockSlab createLogSlab(Block block) { + return new BlockSlab(Block.Properties.from(block)) { @Override - protected void fillStateContainer(StateContainer.Builder p_Builder) { - super.fillStateContainer(p_Builder); - p_Builder.add(AXIS); + protected void fillStateContainer(StateContainer.Builder builder) { + super.fillStateContainer(builder); + builder.add(AXIS); } @Override - public IBlockState getStateForPlacement(BlockItemUseContext p_getBlockToPlaceOnUse_1_) - { - IBlockState iblockstate = super.getStateForPlacement(p_getBlockToPlaceOnUse_1_); - iblockstate = iblockstate.withProperty(AXIS, p_getBlockToPlaceOnUse_1_.getFace().getAxis()); - return iblockstate; + public IBlockState getStateForPlacement(BlockItemUseContext context) { + IBlockState state = super.getStateForPlacement(context); + state = state.with(AXIS, context.getFace().getAxis()); + return state; } @Override - public boolean onBlockActivated(IBlockState p_blockState, World p_world, BlockPos p_blockPos, EntityPlayer p_player, EnumHand p_hand, EnumFacing p_facing, float hitX, float hitY, float hitZ) { - ItemStack stack = p_hand == EnumHand.MAIN_HAND ? p_player.getHeldItemMainhand() : p_player.getHeldItemOffhand(); + public boolean onBlockActivated(IBlockState state, World world, BlockPos pos, + EntityPlayer player, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ) { + ItemStack stack = player.getHeldItem(hand); Item item = stack.getItem(); if (item instanceof ItemAxe) { Block strippedBlock; @@ -121,59 +119,57 @@ public boolean onBlockActivated(IBlockState p_blockState, World p_world, BlockPo return false; } - SlabType slabType = p_blockState.getValue(BlockSlab.TYPE); - p_world.setBlockState(p_blockPos, strippedBlock.getDefaultState() - .withProperty(AXIS, p_blockState.getValue(AXIS)) - .withProperty(BlockSlab.TYPE, slabType)); - p_world.playSound(p_player, p_blockPos, SoundEvents.ITEM_AXE_STRIP, SoundCategory.BLOCKS, 1.0F, 1.0F); - stack.damageItem(slabType == SlabType.DOUBLE ? (p_world.rand.nextBoolean() ? 2 : 1) : 1, p_player); //just because + SlabType slabType = state.get(BlockSlab.TYPE); + world.setBlockState(pos, strippedBlock.getDefaultState().with(AXIS, state.get(AXIS)) + .with(BlockSlab.TYPE, slabType)); + world.playSound(player, pos, SoundEvents.ITEM_AXE_STRIP, SoundCategory.BLOCKS, 1.0F, + 1.0F); + stack.damageItem(slabType == SlabType.DOUBLE ? (world.rand.nextBoolean() ? 2 : 1) : 1, player); // just + // because return true; } return false; } }; - }; - - //Slabs - public final static Block OAK_LOG_SLAB = LOG_SLABS.get(); - public final static Block SPRUCE_LOG_SLAB = LOG_SLABS.get(); - public final static Block BIRCH_LOG_SLAB = LOG_SLABS.get(); - public final static Block JUNGLE_LOG_SLAB = LOG_SLABS.get(); - public final static Block ACACIA_LOG_SLAB = LOG_SLABS.get(); - public final static Block DARK_OAK_LOG_SLAB = LOG_SLABS.get(); - //Stripped - public final static Block STRIPPED_OAK_LOG_SLAB = LOG_SLABS.get(); - public final static Block STRIPPED_SPRUCE_LOG_SLAB = LOG_SLABS.get(); - public final static Block STRIPPED_BIRCH_LOG_SLAB = LOG_SLABS.get(); - public final static Block STRIPPED_JUNGLE_LOG_SLAB = LOG_SLABS.get(); - public final static Block STRIPPED_ACACIA_LOG_SLAB = LOG_SLABS.get(); - public final static Block STRIPPED_DARK_OAK_LOG_SLAB = LOG_SLABS.get(); - - //Stairs - public final static Block OAK_LOG_STAIRS = LOG_STAIRS.get(); - public final static Block SPRUCE_LOG_STAIRS = LOG_STAIRS.get(); - public final static Block BIRCH_LOG_STAIRS = LOG_STAIRS.get(); - public final static Block JUNGLE_LOG_STAIRS = LOG_STAIRS.get(); - public final static Block ACACIA_LOG_STAIRS = LOG_STAIRS.get(); - public final static Block DARK_OAK_LOG_STAIRS = LOG_STAIRS.get(); - //Stripped - public final static Block STRIPPED_OAK_LOG_STAIRS = LOG_STAIRS.get(); - public final static Block STRIPPED_SPRUCE_LOG_STAIRS = LOG_STAIRS.get(); - public final static Block STRIPPED_BIRCH_LOG_STAIRS = LOG_STAIRS.get(); - public final static Block STRIPPED_JUNGLE_LOG_STAIRS = LOG_STAIRS.get(); - public final static Block STRIPPED_ACACIA_LOG_STAIRS = LOG_STAIRS.get(); - public final static Block STRIPPED_DARK_OAK_LOG_STAIRS = LOG_STAIRS.get(); + } + + public final static Block OAK_LOG_SLAB = createLogSlab(Blocks.OAK_LOG); + public final static Block SPRUCE_LOG_SLAB = createLogSlab(Blocks.SPRUCE_LOG); + public final static Block BIRCH_LOG_SLAB = createLogSlab(Blocks.BIRCH_LOG); + public final static Block JUNGLE_LOG_SLAB = createLogSlab(Blocks.JUNGLE_LOG); + public final static Block ACACIA_LOG_SLAB = createLogSlab(Blocks.ACACIA_LOG); + public final static Block DARK_OAK_LOG_SLAB = createLogSlab(Blocks.DARK_OAK_LOG); + + public final static Block STRIPPED_OAK_LOG_SLAB = createLogSlab(Blocks.STRIPPED_OAK_LOG); + public final static Block STRIPPED_SPRUCE_LOG_SLAB = createLogSlab(Blocks.STRIPPED_SPRUCE_LOG); + public final static Block STRIPPED_BIRCH_LOG_SLAB = createLogSlab(Blocks.STRIPPED_BIRCH_LOG); + public final static Block STRIPPED_JUNGLE_LOG_SLAB = createLogSlab(Blocks.STRIPPED_JUNGLE_LOG); + public final static Block STRIPPED_ACACIA_LOG_SLAB = createLogSlab(Blocks.STRIPPED_ACACIA_LOG); + public final static Block STRIPPED_DARK_OAK_LOG_SLAB = createLogSlab(Blocks.STRIPPED_DARK_OAK_LOG); + + public final static Block OAK_LOG_STAIRS = createLogStairs(Blocks.OAK_LOG); + public final static Block SPRUCE_LOG_STAIRS = createLogStairs(Blocks.SPRUCE_LOG); + public final static Block BIRCH_LOG_STAIRS = createLogStairs(Blocks.BIRCH_LOG); + public final static Block JUNGLE_LOG_STAIRS = createLogStairs(Blocks.JUNGLE_LOG); + public final static Block ACACIA_LOG_STAIRS = createLogStairs(Blocks.ACACIA_LOG); + public final static Block DARK_OAK_LOG_STAIRS = createLogStairs(Blocks.DARK_OAK_LOG); + + public final static Block STRIPPED_OAK_LOG_STAIRS = createLogStairs(Blocks.STRIPPED_OAK_LOG); + public final static Block STRIPPED_SPRUCE_LOG_STAIRS = createLogStairs(Blocks.STRIPPED_SPRUCE_LOG); + public final static Block STRIPPED_BIRCH_LOG_STAIRS = createLogStairs(Blocks.STRIPPED_BIRCH_LOG); + public final static Block STRIPPED_JUNGLE_LOG_STAIRS = createLogStairs(Blocks.STRIPPED_JUNGLE_LOG); + public final static Block STRIPPED_ACACIA_LOG_STAIRS = createLogStairs(Blocks.STRIPPED_ACACIA_LOG); + public final static Block STRIPPED_DARK_OAK_LOG_STAIRS = createLogStairs(Blocks.STRIPPED_DARK_OAK_LOG); @Override public void registerBlocks() { - //Slabs Block.register(new ResourceLocation("halflogs:oak_log_slab"), OAK_LOG_SLAB); Block.register(new ResourceLocation("halflogs:spruce_log_slab"), SPRUCE_LOG_SLAB); Block.register(new ResourceLocation("halflogs:birch_log_slab"), BIRCH_LOG_SLAB); Block.register(new ResourceLocation("halflogs:jungle_log_slab"), JUNGLE_LOG_SLAB); Block.register(new ResourceLocation("halflogs:acacia_log_slab"), ACACIA_LOG_SLAB); Block.register(new ResourceLocation("halflogs:dark_oak_log_slab"), DARK_OAK_LOG_SLAB); - //Stripped + Block.register(new ResourceLocation("halflogs:stripped_oak_log_slab"), STRIPPED_OAK_LOG_SLAB); Block.register(new ResourceLocation("halflogs:stripped_spruce_log_slab"), STRIPPED_SPRUCE_LOG_SLAB); Block.register(new ResourceLocation("halflogs:stripped_birch_log_slab"), STRIPPED_BIRCH_LOG_SLAB); @@ -181,14 +177,13 @@ public void registerBlocks() { Block.register(new ResourceLocation("halflogs:stripped_acacia_log_slab"), STRIPPED_ACACIA_LOG_SLAB); Block.register(new ResourceLocation("halflogs:stripped_dark_oak_log_slab"), STRIPPED_DARK_OAK_LOG_SLAB); - //Stairs Block.register(new ResourceLocation("halflogs:oak_log_stairs"), OAK_LOG_STAIRS); Block.register(new ResourceLocation("halflogs:spruce_log_stairs"), SPRUCE_LOG_STAIRS); Block.register(new ResourceLocation("halflogs:birch_log_stairs"), BIRCH_LOG_STAIRS); Block.register(new ResourceLocation("halflogs:jungle_log_stairs"), JUNGLE_LOG_STAIRS); Block.register(new ResourceLocation("halflogs:acacia_log_stairs"), ACACIA_LOG_STAIRS); Block.register(new ResourceLocation("halflogs:dark_oak_log_stairs"), DARK_OAK_LOG_STAIRS); - //Stripped + Block.register(new ResourceLocation("halflogs:stripped_oak_log_stairs"), STRIPPED_OAK_LOG_STAIRS); Block.register(new ResourceLocation("halflogs:stripped_spruce_log_stairs"), STRIPPED_SPRUCE_LOG_STAIRS); Block.register(new ResourceLocation("halflogs:stripped_birch_log_stairs"), STRIPPED_BIRCH_LOG_STAIRS); @@ -199,14 +194,13 @@ public void registerBlocks() { @Override public void registerItems() { - //Slabs Item.register(OAK_LOG_SLAB, ItemGroup.BUILDING_BLOCKS); Item.register(SPRUCE_LOG_SLAB, ItemGroup.BUILDING_BLOCKS); Item.register(BIRCH_LOG_SLAB, ItemGroup.BUILDING_BLOCKS); Item.register(JUNGLE_LOG_SLAB, ItemGroup.BUILDING_BLOCKS); Item.register(ACACIA_LOG_SLAB, ItemGroup.BUILDING_BLOCKS); Item.register(DARK_OAK_LOG_SLAB, ItemGroup.BUILDING_BLOCKS); - //Stripped + Item.register(STRIPPED_OAK_LOG_SLAB, ItemGroup.BUILDING_BLOCKS); Item.register(STRIPPED_SPRUCE_LOG_SLAB, ItemGroup.BUILDING_BLOCKS); Item.register(STRIPPED_BIRCH_LOG_SLAB, ItemGroup.BUILDING_BLOCKS); @@ -214,14 +208,13 @@ public void registerItems() { Item.register(STRIPPED_ACACIA_LOG_SLAB, ItemGroup.BUILDING_BLOCKS); Item.register(STRIPPED_DARK_OAK_LOG_SLAB, ItemGroup.BUILDING_BLOCKS); - //Stairs Item.register(OAK_LOG_STAIRS, ItemGroup.BUILDING_BLOCKS); Item.register(SPRUCE_LOG_STAIRS, ItemGroup.BUILDING_BLOCKS); Item.register(BIRCH_LOG_STAIRS, ItemGroup.BUILDING_BLOCKS); Item.register(JUNGLE_LOG_STAIRS, ItemGroup.BUILDING_BLOCKS); Item.register(ACACIA_LOG_STAIRS, ItemGroup.BUILDING_BLOCKS); Item.register(DARK_OAK_LOG_STAIRS, ItemGroup.BUILDING_BLOCKS); - //Stripped + Item.register(STRIPPED_OAK_LOG_STAIRS, ItemGroup.BUILDING_BLOCKS); Item.register(STRIPPED_SPRUCE_LOG_STAIRS, ItemGroup.BUILDING_BLOCKS); Item.register(STRIPPED_BIRCH_LOG_STAIRS, ItemGroup.BUILDING_BLOCKS); diff --git a/src/main/resources/assets/halflogs/lang/ru_ru.json b/src/main/resources/assets/halflogs/lang/ru_ru.json new file mode 100644 index 0000000..6189091 --- /dev/null +++ b/src/main/resources/assets/halflogs/lang/ru_ru.json @@ -0,0 +1,29 @@ +{ + "block.halflogs.oak_log_slab": "Цельная дубовая плита", + "block.halflogs.spruce_log_slab": "Цельная еловая плита", + "block.halflogs.birch_log_slab": "Цельная берёзовая плита", + "block.halflogs.jungle_log_slab": "Цельная джунглевая плита", + "block.halflogs.acacia_log_slab": "Цельная акациевая плита", + "block.halflogs.dark_oak_log_slab": "Цельная плита из тёмного дуба", + + "block.halflogs.stripped_oak_log_slab": "Обтёсанная дубовая плита", + "block.halflogs.stripped_spruce_log_slab": "Обтёсанная еловая плита", + "block.halflogs.stripped_birch_log_slab": "Обтёсанная берёзовая плита", + "block.halflogs.stripped_jungle_log_slab": "Обтёсанная джунглевая плита", + "block.halflogs.stripped_acacia_log_slab": "Обтёсанная акациевая плита", + "block.halflogs.stripped_dark_oak_log_slab": "Обтёсанная плита из тёмного дуба", + + "block.halflogs.oak_log_stairs": "Цельные дубовые ступеньки", + "block.halflogs.spruce_log_stairs": "Цельные еловые ступеньки", + "block.halflogs.birch_log_stairs": "Цельные берёзовые ступеньки", + "block.halflogs.jungle_log_stairs": "Цельные джунглевые ступеньки", + "block.halflogs.acacia_log_stairs": "Цельные акациевые ступеньки", + "block.halflogs.dark_oak_log_stairs": "Цельные ступеньки из тёмного дуба", + + "block.halflogs.stripped_oak_log_stairs": "Обтёсанные дубовые ступеньки", + "block.halflogs.stripped_spruce_log_stairs": "Обтёсанные еловые ступеньки", + "block.halflogs.stripped_birch_log_stairs": "Обтёсанные берёзовые ступеньки", + "block.halflogs.stripped_jungle_log_stairs": "Обтёсанные джунглевые ступеньки", + "block.halflogs.stripped_acacia_log_stairs": "Обтёсанные акациевые ступеньки", + "block.halflogs.stripped_dark_oak_log_stairs": "Обтёсанные ступеньки из тёмного дуба" +} \ No newline at end of file