mirror of
https://github.com/Creators-of-Create/Create.git
synced 2024-12-24 22:16:38 +01:00
Bug Fixes
- Fix typos - Swapped terminology in stress information shown by goggles - Added an overall block movement limit to contraptions - Wrench no longer shows bulk range of chassis above a certain amount - Chassis no longer use up slime when all sides are made sticky with the convenience shortcut - fan now requires less su
This commit is contained in:
parent
078033059a
commit
a12aed71d2
8 changed files with 25 additions and 18 deletions
|
@ -21,8 +21,7 @@ public class CKinetics extends ConfigBase {
|
||||||
public ConfigInt inWorldProcessingTime = i(150, 0, "inWorldProcessingTime", Comments.inWorldProcessingTime);
|
public ConfigInt inWorldProcessingTime = i(150, 0, "inWorldProcessingTime", Comments.inWorldProcessingTime);
|
||||||
|
|
||||||
public ConfigGroup contraptions = group(0, "contraptions", "Moving Contraptions");
|
public ConfigGroup contraptions = group(0, "contraptions", "Moving Contraptions");
|
||||||
public ConfigInt maxChassisForTranslation = i(16, 1, "maxChassisForTranslation", Comments.maxChassisForTranslation);
|
public ConfigInt maxBlocksMoved = i(2048, 1, "maxBlocksMoved", Comments.maxBlocksMoved);
|
||||||
public ConfigInt maxChassisForRotation = i(16, 1, "maxChassisForRotation", Comments.maxChassisForRotation);
|
|
||||||
public ConfigInt maxChassisRange = i(16, 1, "maxChassisRange", Comments.maxChassisRange);
|
public ConfigInt maxChassisRange = i(16, 1, "maxChassisRange", Comments.maxChassisRange);
|
||||||
public ConfigInt maxPistonPoles = i(64, 1, "maxPistonPoles", Comments.maxPistonPoles);
|
public ConfigInt maxPistonPoles = i(64, 1, "maxPistonPoles", Comments.maxPistonPoles);
|
||||||
public ConfigInt maxRopeLength = i(128, 1, "maxRopeLength", Comments.maxRopeLength);
|
public ConfigInt maxRopeLength = i(128, 1, "maxRopeLength", Comments.maxRopeLength);
|
||||||
|
@ -54,8 +53,7 @@ public class CKinetics extends ConfigBase {
|
||||||
static String fanRotationArgmax = "Rotation speed at which the maximum stats of fans are reached.";
|
static String fanRotationArgmax = "Rotation speed at which the maximum stats of fans are reached.";
|
||||||
static String generatingFanSpeed = "Rotation speed generated by a vertical fan above fire.";
|
static String generatingFanSpeed = "Rotation speed generated by a vertical fan above fire.";
|
||||||
static String inWorldProcessingTime = "Game ticks required for a Fan-based processing recipe to take effect.";
|
static String inWorldProcessingTime = "Game ticks required for a Fan-based processing recipe to take effect.";
|
||||||
static String maxChassisForTranslation = "Maximum amount of chassis blocks movable by a Mechanical Piston.";
|
static String maxBlocksMoved = "Maximum amount of blocks in a structure movable by Pistons, Bearings or other means.";
|
||||||
static String maxChassisForRotation = "Maximum amount of chassis blocks movable by a Mechanical Bearing.";
|
|
||||||
static String maxChassisRange = "Maximum value of a chassis attachment range.";
|
static String maxChassisRange = "Maximum value of a chassis attachment range.";
|
||||||
static String maxPistonPoles = "Maximum amount of extension poles behind a Mechanical Piston.";
|
static String maxPistonPoles = "Maximum amount of extension poles behind a Mechanical Piston.";
|
||||||
static String maxRopeLength = "Max length of rope available off a Rope Pulley.";
|
static String maxRopeLength = "Max length of rope available off a Rope Pulley.";
|
||||||
|
|
|
@ -33,7 +33,6 @@ public class StressConfigDefaults {
|
||||||
case DRILL:
|
case DRILL:
|
||||||
case SAW:
|
case SAW:
|
||||||
case DEPLOYER:
|
case DEPLOYER:
|
||||||
case ENCASED_FAN:
|
|
||||||
case MECHANICAL_MIXER:
|
case MECHANICAL_MIXER:
|
||||||
return 4;
|
return 4;
|
||||||
|
|
||||||
|
@ -47,6 +46,7 @@ public class StressConfigDefaults {
|
||||||
return 2;
|
return 2;
|
||||||
|
|
||||||
case BELT:
|
case BELT:
|
||||||
|
case ENCASED_FAN:
|
||||||
case CUCKOO_CLOCK:
|
case CUCKOO_CLOCK:
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
|
|
|
@ -1,16 +1,19 @@
|
||||||
package com.simibubi.create.modules.contraptions.components.contraptions;
|
package com.simibubi.create.modules.contraptions.components.contraptions;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import com.mojang.blaze3d.platform.GlStateManager;
|
import com.mojang.blaze3d.platform.GlStateManager;
|
||||||
|
import com.simibubi.create.AllBlocks;
|
||||||
import com.simibubi.create.AllItems;
|
import com.simibubi.create.AllItems;
|
||||||
import com.simibubi.create.AllKeys;
|
import com.simibubi.create.AllKeys;
|
||||||
import com.simibubi.create.foundation.utility.TessellatorHelper;
|
import com.simibubi.create.foundation.utility.TessellatorHelper;
|
||||||
import com.simibubi.create.modules.contraptions.components.contraptions.chassis.ChassisTileEntity;
|
import com.simibubi.create.modules.contraptions.components.contraptions.chassis.ChassisTileEntity;
|
||||||
|
import com.simibubi.create.modules.contraptions.components.contraptions.chassis.LinearChassisBlock;
|
||||||
|
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
|
@ -47,8 +50,8 @@ public class ChassisRangeDisplay {
|
||||||
if (positions == null)
|
if (positions == null)
|
||||||
return shape;
|
return shape;
|
||||||
for (BlockPos blockPos : positions)
|
for (BlockPos blockPos : positions)
|
||||||
shape = VoxelShapes.or(shape,
|
shape =
|
||||||
BLOCK_OUTLINE.withOffset(blockPos.getX(), blockPos.getY(), blockPos.getZ()));
|
VoxelShapes.or(shape, BLOCK_OUTLINE.withOffset(blockPos.getX(), blockPos.getY(), blockPos.getZ()));
|
||||||
return shape;
|
return shape;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -68,6 +71,13 @@ public class ChassisRangeDisplay {
|
||||||
includedTEs = te.collectChassisGroup();
|
includedTEs = te.collectChassisGroup();
|
||||||
if (includedTEs == null)
|
if (includedTEs == null)
|
||||||
return shape;
|
return shape;
|
||||||
|
|
||||||
|
// outlining algo is not very scalable -> display only single chassis if group gets too large
|
||||||
|
if (LinearChassisBlock.isChassis(chassis.getBlockState()) && includedTEs.size() > 32)
|
||||||
|
includedTEs = Arrays.asList(chassis);
|
||||||
|
if (AllBlocks.ROTATION_CHASSIS.typeOf(chassis.getBlockState()) && includedTEs.size() > 8)
|
||||||
|
includedTEs = Arrays.asList(chassis);
|
||||||
|
|
||||||
for (ChassisTileEntity chassisTileEntity : includedTEs)
|
for (ChassisTileEntity chassisTileEntity : includedTEs)
|
||||||
shape = VoxelShapes.or(shape, super.createSelection(chassisTileEntity));
|
shape = VoxelShapes.or(shape, super.createSelection(chassisTileEntity));
|
||||||
return shape;
|
return shape;
|
||||||
|
|
|
@ -115,7 +115,8 @@ public abstract class Contraption {
|
||||||
if (!addToInitialFrontier(world, pos, forcedDirection, frontier))
|
if (!addToInitialFrontier(world, pos, forcedDirection, frontier))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
for (int limit = 1000; limit > 0; limit--) {
|
Integer blockLimit = AllConfigs.SERVER.kinetics.maxBlocksMoved.get();
|
||||||
|
for (int limit = blockLimit; limit > 0; limit--) {
|
||||||
if (frontier.isEmpty())
|
if (frontier.isEmpty())
|
||||||
return true;
|
return true;
|
||||||
if (!moveBlock(world, frontier.remove(0), forcedDirection, frontier, visited))
|
if (!moveBlock(world, frontier.remove(0), forcedDirection, frontier, visited))
|
||||||
|
|
|
@ -60,8 +60,6 @@ public abstract class AbstractChassisBlock extends RotatedPillarBlock {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
worldIn.playSound(null, pos, AllSoundEvents.SLIME_ADDED.get(), SoundCategory.BLOCKS, .5f, 1);
|
worldIn.playSound(null, pos, AllSoundEvents.SLIME_ADDED.get(), SoundCategory.BLOCKS, .5f, 1);
|
||||||
if (!player.isCreative())
|
|
||||||
heldItem.shrink(1);
|
|
||||||
state = state.with(glueableSide, true);
|
state = state.with(glueableSide, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -131,9 +131,9 @@ public class GaugeInformationRenderer {
|
||||||
tooltip.add(spacing + _kineticStatsTitle);
|
tooltip.add(spacing + _kineticStatsTitle);
|
||||||
tooltip.add(spacing + GRAY + _stressImpact);
|
tooltip.add(spacing + GRAY + _stressImpact);
|
||||||
|
|
||||||
String addedStress = AQUA + "" + format(stressApplied) + _stressUnit + " " + DARK_GRAY + _atCurrentSpeed;
|
String addedStress = AQUA + "" + format(stressApplied) + _stressUnit + " " + DARK_GRAY + _baseValue;
|
||||||
String addedStressAtBase =
|
String addedStressAtBase =
|
||||||
GRAY + "" + format(stressApplied * Math.abs(te.getSpeed())) + _stressUnit + " " + DARK_GRAY + _baseValue;
|
GRAY + "" + format(stressApplied * Math.abs(te.getSpeed())) + _stressUnit + " " + DARK_GRAY + _atCurrentSpeed;
|
||||||
tooltip.add(spacing + " " + addedStress);
|
tooltip.add(spacing + " " + addedStress);
|
||||||
tooltip.add(spacing + " " + addedStressAtBase);
|
tooltip.add(spacing + " " + addedStressAtBase);
|
||||||
}
|
}
|
||||||
|
@ -163,8 +163,8 @@ public class GaugeInformationRenderer {
|
||||||
relativeCap = addedStressCapacity * actualSpeed;
|
relativeCap = addedStressCapacity * actualSpeed;
|
||||||
|
|
||||||
String addedCapacity =
|
String addedCapacity =
|
||||||
AQUA + "" + format(addedStressCapacity) + _stressUnit + " " + DARK_GRAY + _atCurrentSpeed;
|
AQUA + "" + format(addedStressCapacity) + _stressUnit + " " + DARK_GRAY + _baseValue;
|
||||||
String addedCapacityAtBase = GRAY + "" + format(relativeCap) + _stressUnit + " " + DARK_GRAY + _baseValue;
|
String addedCapacityAtBase = GRAY + "" + format(relativeCap) + _stressUnit + " " + DARK_GRAY + _atCurrentSpeed;
|
||||||
tooltip.add(spacing + " " + addedCapacity);
|
tooltip.add(spacing + " " + addedCapacity);
|
||||||
tooltip.add(spacing + " " + addedCapacityAtBase);
|
tooltip.add(spacing + " " + addedCapacityAtBase);
|
||||||
}
|
}
|
||||||
|
@ -228,8 +228,8 @@ public class GaugeInformationRenderer {
|
||||||
tooltip.add(spacing + GRAY + _capacity);
|
tooltip.add(spacing + GRAY + _capacity);
|
||||||
|
|
||||||
String capacity = color + "" + format((cap - stress) / Math.abs(theoreticalSpeed)) + _stressUnit + " "
|
String capacity = color + "" + format((cap - stress) / Math.abs(theoreticalSpeed)) + _stressUnit + " "
|
||||||
+ DARK_GRAY + _atCurrentSpeed;
|
+ DARK_GRAY + _baseValue;
|
||||||
String capacityAtBase = GRAY + "" + format(cap - stress) + _stressUnit + " " + DARK_GRAY + _baseValue;
|
String capacityAtBase = GRAY + "" + format(cap - stress) + _stressUnit + " " + DARK_GRAY + _atCurrentSpeed;
|
||||||
tooltip.add(spacing + " " + capacity);
|
tooltip.add(spacing + " " + capacity);
|
||||||
tooltip.add(spacing + " " + capacityAtBase);
|
tooltip.add(spacing + " " + capacityAtBase);
|
||||||
}
|
}
|
||||||
|
|
|
@ -212,7 +212,7 @@
|
||||||
"block.create.weathered_limestone_bricks_wall": "Weathered Limestone Brick Wall",
|
"block.create.weathered_limestone_bricks_wall": "Weathered Limestone Brick Wall",
|
||||||
"block.create.weathered_limestone_bricks_slab": "Weathered Limestone Brick Slab",
|
"block.create.weathered_limestone_bricks_slab": "Weathered Limestone Brick Slab",
|
||||||
"block.create.weathered_limestone_pillar": "Weathered Limestone Pillar",
|
"block.create.weathered_limestone_pillar": "Weathered Limestone Pillar",
|
||||||
"block.create.weathered_limestone_layers": "Weathered Layered Limestone",
|
"block.create.weathered_limestone_layers": "Layered Weathered Limestone",
|
||||||
|
|
||||||
"block.create.dolomite_pillar": "Dolomite Pillar",
|
"block.create.dolomite_pillar": "Dolomite Pillar",
|
||||||
"block.create.dolomite": "Dolomite",
|
"block.create.dolomite": "Dolomite",
|
||||||
|
@ -1144,7 +1144,7 @@
|
||||||
"item.create.shadow_steel.tooltip.summary": "A Chromatic material forged _in_ _the_ _void_.",
|
"item.create.shadow_steel.tooltip.summary": "A Chromatic material forged _in_ _the_ _void_.",
|
||||||
|
|
||||||
"item.create.slot_cover.tooltip": "SLOT COVER",
|
"item.create.slot_cover.tooltip": "SLOT COVER",
|
||||||
"item.create.slot_cover.tooltip.summary": "Used to mark a _Mechanical_ _Crafter_ as an empty slot in a recipe. Crafters do not necessarily have to form a full square gri. This is useful when there are recipes where _ingredients_ _are_ _diagonal_ to each other.",
|
"item.create.slot_cover.tooltip.summary": "Used to mark a _Mechanical_ _Crafter_ as an empty slot in a recipe. Crafters do not necessarily have to form a full square grid. This is useful when there are recipes where _ingredients_ _are_ _diagonal_ to each other.",
|
||||||
|
|
||||||
"tool.create.shadow_steel.tooltip": "SHADOW STEEL TOOLS",
|
"tool.create.shadow_steel.tooltip": "SHADOW STEEL TOOLS",
|
||||||
"tool.create.shadow_steel.tooltip.summary": "A fast and powerful tool that _destroys_ _drops_ from any block or entity. Killed mobs can drop _more_ _experience_ based on the _Looting_ modifier of this tool.",
|
"tool.create.shadow_steel.tooltip.summary": "A fast and powerful tool that _destroys_ _drops_ from any block or entity. Killed mobs can drop _more_ _experience_ based on the _Looting_ modifier of this tool.",
|
||||||
|
|
Loading…
Reference in a new issue