Merge pull request #2509 from t3435ryt/master

Rail block harvest tools and levels
This commit is contained in:
HbmMods 2025-10-30 10:15:56 +01:00 committed by GitHub
commit 113a800270
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 24 additions and 22 deletions

View File

@ -2173,10 +2173,10 @@ public class ModBlocks {
book_guide = new Guide(Material.iron).setBlockName("book_guide").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.nukeTab);
rail_wood = new RailGeneric().setMaxSpeed(0.2F).setBlockName("rail_wood").setHardness(5.0F).setResistance(10.0F).setCreativeTab(CreativeTabs.tabTransport).setBlockTextureName(RefStrings.MODID + ":rail_wood");
rail_narrow = new RailGeneric().setBlockName("rail_narrow").setHardness(5.0F).setResistance(10.0F).setCreativeTab(CreativeTabs.tabTransport).setBlockTextureName(RefStrings.MODID + ":rail_narrow");
rail_highspeed = new RailGeneric().setMaxSpeed(1F).setFlexible(false).setBlockName("rail_highspeed").setHardness(5.0F).setResistance(10.0F).setCreativeTab(CreativeTabs.tabTransport).setBlockTextureName(RefStrings.MODID + ":rail_highspeed");
rail_booster = new RailBooster().setBlockName("rail_booster").setHardness(5.0F).setResistance(10.0F).setCreativeTab(CreativeTabs.tabTransport).setBlockTextureName(RefStrings.MODID + ":rail_booster");
rail_wood = new RailGeneric("axe", 0).setMaxSpeed(0.2F).setBlockName("rail_wood").setHardness(5.0F).setResistance(10.0F).setCreativeTab(CreativeTabs.tabTransport).setBlockTextureName(RefStrings.MODID + ":rail_wood");
rail_narrow = new RailGeneric("pickaxe", 0).setBlockName("rail_narrow").setHardness(5.0F).setResistance(10.0F).setCreativeTab(CreativeTabs.tabTransport).setBlockTextureName(RefStrings.MODID + ":rail_narrow");
rail_highspeed = new RailGeneric("pickaxe", 0).setMaxSpeed(1F).setFlexible(false).setBlockName("rail_highspeed").setHardness(5.0F).setResistance(10.0F).setCreativeTab(CreativeTabs.tabTransport).setBlockTextureName(RefStrings.MODID + ":rail_highspeed");
rail_booster = new RailBooster("pickaxe", 0).setBlockName("rail_booster").setHardness(5.0F).setResistance(10.0F).setCreativeTab(CreativeTabs.tabTransport).setBlockTextureName(RefStrings.MODID + ":rail_booster");
rail_narrow_straight = new RailNarrowStraight().setBlockName("rail_narrow_straight").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":rail_narrow_neo");
rail_narrow_curve = new RailNarrowCurve().setBlockName("rail_narrow_curve").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":rail_narrow_neo");
rail_large_straight = new RailStandardStraight().setBlockName("rail_large_straight").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":rail_standard_straight");

View File

@ -4,9 +4,9 @@ import net.minecraft.entity.item.EntityMinecart;
import net.minecraft.world.World;
public class RailBooster extends RailGeneric {
public RailBooster() {
super();
public RailBooster(String tool, Integer harvestLevel) {
super(tool, harvestLevel);
this.setMaxSpeed(1.0F);
this.setFlexible(false);
}

View File

@ -17,19 +17,20 @@ import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
public class RailGeneric extends BlockRailBase implements ITooltipProvider {
@SideOnly(Side.CLIENT)
protected IIcon turnedIcon;
protected static final float baseSpeed = 0.4F;
protected float maxSpeed = 0.4F;
protected boolean slopable = true;
protected boolean flexible = true;
public RailGeneric() {
public RailGeneric(String tool, Integer harvestLevel) {
super(false);
setHarvestLevel(tool, harvestLevel);
}
@Override
@SideOnly(Side.CLIENT)
public IIcon getIcon(int side, int meta) {
@ -40,16 +41,16 @@ public class RailGeneric extends BlockRailBase implements ITooltipProvider {
@SideOnly(Side.CLIENT)
public void registerBlockIcons(IIconRegister reg) {
super.registerBlockIcons(reg);
if(flexible)
this.turnedIcon = reg.registerIcon(this.getTextureName() + "_turned");
}
@Override
public float getRailMaxSpeed(World world, EntityMinecart cart, int y, int x, int z) {
return maxSpeed;
}
public RailGeneric setMaxSpeed(float speed) {
this.maxSpeed = speed;
return this;
@ -59,7 +60,7 @@ public class RailGeneric extends BlockRailBase implements ITooltipProvider {
public boolean isFlexibleRail(IBlockAccess world, int y, int x, int z) {
return !isPowered();
}
public RailGeneric setFlexible(boolean flexible) {
this.flexible = flexible;
return this;
@ -69,7 +70,7 @@ public class RailGeneric extends BlockRailBase implements ITooltipProvider {
public boolean canMakeSlopes(IBlockAccess world, int x, int y, int z) {
return true;
}
public RailGeneric setSlopable(boolean slopable) {
this.slopable = slopable;
return this;
@ -78,15 +79,15 @@ public class RailGeneric extends BlockRailBase implements ITooltipProvider {
@Override
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) {
float speed = this.maxSpeed / this.baseSpeed;
if(speed != 1F) {
list.add((speed > 1 ? EnumChatFormatting.BLUE : EnumChatFormatting.RED) + "Speed: " + ((int) (speed * 100)) + "%");
}
if(!flexible) {
list.add(EnumChatFormatting.RED + "Cannot be used for turns!");
}
if(!slopable) {
list.add(EnumChatFormatting.RED + "Cannot be used for slopes!");
}

View File

@ -9,15 +9,16 @@ public class RailHighspeed extends BlockRailBase {
/*@SideOnly(Side.CLIENT)
private IIcon icon;*/
public RailHighspeed() {
public RailHighspeed(String tool, Integer harvestLevel) {
super(true);
setHarvestLevel(tool, harvestLevel);
}
/*@Override
@SideOnly(Side.CLIENT) public IIcon getIcon(int p_149691_1_, int p_149691_2_) {
return p_149691_2_ >= 6 ? this.icon : this.blockIcon;
}
@Override
@SideOnly(Side.CLIENT)