Bunch of item work, 96
This commit is contained in:
parent
91994e5a01
commit
fd0fa8c66e
27 changed files with 123 additions and 191 deletions
|
@ -24,15 +24,14 @@
|
|||
|
||||
package techreborn.blocks;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockSapling;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.creativetab.CreativeTabs;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.NonNullList;
|
||||
import net.minecraft.block.trees.SpruceTree;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.IWorld;
|
||||
import net.minecraft.world.World;
|
||||
import techreborn.world.RubberTreeGenerator;
|
||||
|
||||
import java.util.Random;
|
||||
|
@ -43,8 +42,8 @@ import java.util.Random;
|
|||
public class BlockRubberSapling extends BlockSapling {
|
||||
|
||||
public BlockRubberSapling() {
|
||||
super(new SpruceTree(), Block.Properties.create(Material.PLANTS).sound(SoundType.PLANT));
|
||||
this.setDefaultState(this.getDefaultState().with(STAGE, 0));
|
||||
setSoundType(SoundType.PLANT);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -52,15 +51,11 @@ public class BlockRubberSapling extends BlockSapling {
|
|||
if (!net.minecraftforge.event.ForgeEventFactory.saplingGrowTree(worldIn, rand, pos)) {
|
||||
return;
|
||||
}
|
||||
worldIn.setBlockToAir(pos);
|
||||
worldIn.removeBlock(pos);
|
||||
if (!new RubberTreeGenerator(false).growTree(worldIn, rand, pos.getX(), pos.getY(), pos.getZ())) {
|
||||
worldIn.setBlockState(pos, state); // Re-add the sapling if the tree
|
||||
worldIn.setBlockState(pos, state, 3); // Re-add the sapling if the tree
|
||||
// failed to grow
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getSubBlocks(CreativeTabs tab, NonNullList<ItemStack> list) {
|
||||
list.add(new ItemStack(this, 1, 0));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,69 +0,0 @@
|
|||
/*
|
||||
* This file is part of TechReborn, licensed under the MIT License (MIT).
|
||||
*
|
||||
* Copyright (c) 2018 TechReborn
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in all
|
||||
* copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
* SOFTWARE.
|
||||
*/
|
||||
|
||||
package techreborn.blocks;
|
||||
|
||||
import reborncore.common.registration.RebornRegister;
|
||||
import reborncore.common.registration.config.ConfigRegistry;
|
||||
import techreborn.TechReborn;
|
||||
|
||||
//This is in its own class as not to load the block class before
|
||||
@RebornRegister(modID = TechReborn.MOD_ID, priority = 1, earlyReg = true)
|
||||
public class OreBlockStateManager {
|
||||
//This is a one off config, dont worry about it
|
||||
@ConfigRegistry(config = "misc", category = "misc", key = "endOreStone", comment = "Set to true to render the end ores with a stone background")
|
||||
public static boolean endOreStone = false;
|
||||
|
||||
public static String convert(String name){
|
||||
if (OreBlockStateManager.endOreStone && name.equals("tungsten")) {
|
||||
name = "tungsten_stone";
|
||||
}
|
||||
if (OreBlockStateManager.endOreStone && name.equals("peridot")) {
|
||||
name = "peridot_stone";
|
||||
}
|
||||
if (OreBlockStateManager.endOreStone && name.equals("sheldonite")) {
|
||||
name = "sheldonite_stone";
|
||||
}
|
||||
if (OreBlockStateManager.endOreStone && name.equals("sodalite")) {
|
||||
name = "sodalite_stone";
|
||||
}
|
||||
return name;
|
||||
}
|
||||
|
||||
public static String invert(String name){
|
||||
if (name.equals("tungsten_stone")) {
|
||||
name = "tungsten";
|
||||
}
|
||||
if (name.equals("peridot_stone")) {
|
||||
name = "peridot";
|
||||
}
|
||||
if (name.equals("sheldonite_stone")) {
|
||||
name = "sheldonite";
|
||||
}
|
||||
if (name.equals("sodalite_stone")) {
|
||||
name = "sodalite";
|
||||
}
|
||||
return name;
|
||||
}
|
||||
}
|
|
@ -90,11 +90,11 @@ public class BlockCable extends BlockContainer {
|
|||
|
||||
//see for more info https://www.reddit.com/r/feedthebeast/comments/5mxwq9/psa_mod_devs_do_you_call_worldgettileentity_from/
|
||||
public TileEntity getTileEntitySafely(IWorld blockAccess, BlockPos pos) {
|
||||
if (blockAccess instanceof ChunkCache) {
|
||||
return ((ChunkCache) blockAccess).getTileEntity(pos, Chunk.EnumCreateEntityType.CHECK);
|
||||
} else {
|
||||
// if (blockAccess instanceof ChunkCache) {
|
||||
// return ((ChunkCache) blockAccess).getTileEntity(pos, Chunk.EnumCreateEntityType.CHECK);
|
||||
// } else {
|
||||
return blockAccess.getTileEntity(pos);
|
||||
}
|
||||
// }
|
||||
}
|
||||
|
||||
public AbstractProperty<Boolean> getProperty(EnumFacing facing) {
|
||||
|
@ -147,6 +147,7 @@ public class BlockCable extends BlockContainer {
|
|||
return super.onBlockActivated(state, worldIn, pos, playerIn, hand, side, hitX, hitY, hitZ);
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
|
@ -206,20 +207,20 @@ public class BlockCable extends BlockContainer {
|
|||
}
|
||||
|
||||
@Override
|
||||
public IBlockState getActualState(IBlockState state, IBlockAccess worldIn, BlockPos pos) {
|
||||
public IBlockState getActualState(IBlockState state, IWorld worldIn, BlockPos pos) {
|
||||
IBlockState actualState = state;
|
||||
for (EnumFacing facing : EnumFacing.values()) {
|
||||
TileEntity tileEntity = getTileEntitySafely(worldIn, pos.offset(facing));
|
||||
if (tileEntity != null) {
|
||||
actualState = actualState.with(getProperty(facing), tileEntity.hasCapability(CapabilityEnergy.ENERGY, facing.getOpposite()));
|
||||
actualState = actualState.with(getProperty(facing), tileEntity.getCapability(CapabilityEnergy.ENERGY, facing.getOpposite()).isPresent());
|
||||
}
|
||||
}
|
||||
return actualState;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onEntityCollision(World worldIn, BlockPos pos, IBlockState state, Entity entity) {
|
||||
super.onEntityCollision(worldIn, pos, state, entity);
|
||||
public void onEntityCollision(IBlockState state, World worldIn, BlockPos pos, Entity entity) {
|
||||
super.onEntityCollision(state, worldIn, pos, entity);
|
||||
if (type.canKill && entity instanceof EntityLivingBase) {
|
||||
TileEntity tileEntity = worldIn.getTileEntity(pos);
|
||||
if (tileEntity != null && tileEntity instanceof TileCable) {
|
||||
|
@ -244,4 +245,6 @@ public class BlockCable extends BlockContainer {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
*/
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue