Merge remote-tracking branch 'origin/mc1.16/dev' into flw/next

This commit is contained in:
Jozufozu 2021-09-14 13:18:05 -07:00
commit 092b16f80b
13 changed files with 347 additions and 514 deletions

View file

@ -2,6 +2,7 @@ package com.simibubi.create.content.contraptions.components.structureMovement.be
import java.util.List;
import com.simibubi.create.foundation.config.AllConfigs;
import com.simibubi.create.foundation.gui.AllIcons;
import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour;
import com.simibubi.create.foundation.tileEntity.behaviour.scrollvalue.INamedIconOptions;
@ -41,7 +42,8 @@ public class WindmillBearingTileEntity extends MechanicalBearingTileEntity {
return 0;
if (movedContraption == null)
return lastGeneratedSpeed;
int sails = ((BearingContraption) movedContraption.getContraption()).getSailBlocks() / 8;
int sails = ((BearingContraption) movedContraption.getContraption()).getSailBlocks()
/ AllConfigs.SERVER.kinetics.windmillSailsPerRPM.get();
return MathHelper.clamp(sails, 1, 16) * getAngleSpeedDirection();
}

View file

@ -127,7 +127,7 @@ public class FluidFillingBehaviour extends FluidManipulationBehaviour {
boolean evaporate = world.dimensionType()
.ultraWarm() && fluid.is(FluidTags.WATER);
if (infinite || evaporate) {
if ((!fillInfinite() && infinite) || evaporate) {
FluidState fluidState = world.getFluidState(rootPos);
boolean equivalentTo = fluidState.getType()
.isSame(fluid);

View file

@ -90,7 +90,11 @@ public abstract class FluidManipulationBehaviour extends TileEntityBehaviour {
protected int maxBlocks() {
return AllConfigs.SERVER.fluids.hosePulleyBlockThreshold.get();
}
protected boolean fillInfinite() {
return AllConfigs.SERVER.fluids.fillInfinite.get();
}
public void reset() {
if (affectedArea != null)
scheduleUpdatesInAffectedArea();

View file

@ -14,7 +14,7 @@ import net.minecraft.entity.player.PlayerEntity;
public class AllCommands {
public static Predicate<CommandSource> sourceIsPlayer = (cs) -> cs.getEntity() instanceof PlayerEntity;
public static final Predicate<CommandSource> SOURCE_IS_PLAYER = cs -> cs.getEntity() instanceof PlayerEntity;
public static void register(CommandDispatcher<CommandSource> dispatcher) {
@ -88,4 +88,5 @@ public class AllCommands {
}
return builder.build();
}
}

View file

@ -13,7 +13,7 @@ public class FabulousWarningCommand {
public static ArgumentBuilder<CommandSource, ?> register() {
return Commands.literal("dismissFabulousWarning")
.requires(AllCommands.sourceIsPlayer)
.requires(AllCommands.SOURCE_IS_PLAYER)
.executes(ctx -> {
ServerPlayerEntity player = ctx.getSource()
.getPlayerOrException();

View file

@ -13,7 +13,7 @@ import net.minecraft.world.server.ServerWorld;
public class GlueCommand {
public static ArgumentBuilder<CommandSource, ?> register() {
return Commands.literal("glue")
.requires(cs -> cs.hasPermission(0))
.requires(cs -> cs.hasPermission(2))
.then(Commands.argument("pos", BlockPosArgument.blockPos())
//.then(Commands.argument("direction", EnumArgument.enumArgument(Direction.class))
.executes(ctx -> {

View file

@ -28,7 +28,7 @@ public class HighlightCommand {
public static ArgumentBuilder<CommandSource, ?> register() {
return Commands.literal("highlight")
.requires(cs -> cs.hasPermission(0))
.requires(cs -> cs.hasPermission(2))
.then(Commands.argument("pos", BlockPosArgument.blockPos())
.then(Commands.argument("players", EntityArgument.players())
.executes(ctx -> {

View file

@ -24,12 +24,12 @@ public class HighlightPacket extends SimplePacketBase {
}
public HighlightPacket(PacketBuffer buffer) {
this.pos = BlockPos.of(buffer.readLong());
this.pos = buffer.readBlockPos();
}
@Override
public void write(PacketBuffer buffer) {
buffer.writeLong(pos.asLong());
buffer.writeBlockPos(pos);
}
@Override
@ -55,6 +55,6 @@ public class HighlightPacket extends SimplePacketBase {
.colored(0xEeEeEe)
// .colored(0x243B50)
.withFaceTexture(AllSpecialTextures.SELECTION);
}
}

View file

@ -21,7 +21,7 @@ public class ReplaceInCommandBlocksCommand {
public static ArgumentBuilder<CommandSource, ?> register() {
return Commands.literal("replaceInCommandBlocks")
.requires(cs -> cs.hasPermission(0))
.requires(cs -> cs.hasPermission(2))
.then(Commands.argument("begin", BlockPosArgument.blockPos())
.then(Commands.argument("end", BlockPosArgument.blockPos())
.then(Commands.argument("toReplace", StringArgumentType.string())

View file

@ -5,70 +5,73 @@ import com.simibubi.create.foundation.config.ui.ConfigAnnotations;
public class CClient extends ConfigBase {
public ConfigGroup client = group(0, "client",
"Client-only settings - If you're looking for general settings, look inside your worlds serverconfig folder!");
Comments.client);
//no group
public ConfigBool tooltips = b(true, "enableTooltips", "Show item descriptions on Shift and controls on Ctrl.");
public ConfigBool enableOverstressedTooltip =
b(true, "enableOverstressedTooltip", "Display a tooltip when looking at overstressed components.");
public ConfigBool explainRenderErrors =
b(false, "explainRenderErrors", "Log a stack-trace when rendering issues happen within a moving contraption.");
public ConfigFloat fanParticleDensity = f(.5f, 0, 1, "fanParticleDensity");
public ConfigFloat filterItemRenderDistance = f(10f, 1, "filterItemRenderDistance", "[in Blocks]", "Maximum Distance to the player at which items in Blocks' filter slots will be displayed");
public ConfigBool rainbowDebug =
b(true, "enableRainbowDebug", "Show colourful debug information while the F3-Menu is open.");
public ConfigBool experimentalRendering =
b(true, "experimentalRendering", "Use modern OpenGL features to drastically increase performance.");
public ConfigBool tooltips = b(true, "enableTooltips",
Comments.tooltips);
public ConfigBool enableOverstressedTooltip = b(true, "enableOverstressedTooltip",
Comments.enableOverstressedTooltip);
public ConfigBool explainRenderErrors = b(false, "explainRenderErrors",
Comments.explainRenderErrors);
public ConfigFloat fanParticleDensity = f(.5f, 0, 1, "fanParticleDensity",
Comments.fanParticleDensity);
public ConfigFloat filterItemRenderDistance = f(10f, 1, "filterItemRenderDistance", Comments.filterItemRenderDistance);
public ConfigBool rainbowDebug = b(true, "enableRainbowDebug",
Comments.rainbowDebug);
public ConfigBool experimentalRendering = b(true, "experimentalRendering",
Comments.experimentalRendering);
public ConfigInt maxContraptionLightVolume = i(16384, 0, Integer.MAX_VALUE, "maximumContraptionLightVolume",
"The maximum amount of blocks for which to try and calculate dynamic contraption lighting. Decrease if large contraption cause too much lag");//no group
Comments.maxContraptionLightVolume);
// no group
public ConfigInt mainMenuConfigButtonRow = i(2, 0, 4, "mainMenuConfigButtonRow",
"Choose the menu row that the Create config button appears on in the main menu",
"Set to 0 to disable the button altogether");
Comments.mainMenuConfigButtonRow);
public ConfigInt mainMenuConfigButtonOffsetX = i(-4, Integer.MIN_VALUE, Integer.MAX_VALUE, "mainMenuConfigButtonOffsetX",
"Offset the Create config button in the main menu by this many pixels on the X axis",
"The sign (+/-) of this value determines what side of the row the button appears on (right/left)");
Comments.mainMenuConfigButtonOffsetX);
public ConfigInt ingameMenuConfigButtonRow = i(3, 0, 5, "ingameMenuConfigButtonRow",
"Choose the menu row that the Create config button appears on in the in-game menu",
"Set to 0 to disable the button altogether");
Comments.ingameMenuConfigButtonRow);
public ConfigInt ingameMenuConfigButtonOffsetX = i(-4, Integer.MIN_VALUE, Integer.MAX_VALUE, "ingameMenuConfigButtonOffsetX",
"Offset the Create config button in the in-game menu by this many pixels on the X axis",
"The sign (+/-) of this value determines what side of the row the button appears on (right/left)");
Comments.ingameMenuConfigButtonOffsetX);
public ConfigBool ignoreFabulousWarning = b(false, "ignoreFabulousWarning",
"Setting this to true will prevent Create from sending you a warning when playing with Fabulous graphics enabled");
Comments.ignoreFabulousWarning);
//overlay group
public ConfigGroup overlay = group(1, "goggleOverlay", "Settings for the Goggle Overlay");
public ConfigGroup overlay = group(1, "goggleOverlay",
Comments.overlay);
public ConfigInt overlayOffsetX = i(20, Integer.MIN_VALUE, Integer.MAX_VALUE, "overlayOffsetX",
"Offset the overlay from goggle- and hover- information by this many pixels on the X axis; Use /create overlay");
Comments.overlayOffset);
public ConfigInt overlayOffsetY = i(0, Integer.MIN_VALUE, Integer.MAX_VALUE, "overlayOffsetY",
"Offset the overlay from goggle- and hover- information by this many pixels on the Y axis; Use /create overlay");
public ConfigBool overlayCustomColor = b(false, "customColorsOverlay", "Enable this to use your custom colors for the Goggle- and Hover- Overlay");
Comments.overlayOffset);
public ConfigBool overlayCustomColor = b(false, "customColorsOverlay",
Comments.overlayCustomColor);
public ConfigInt overlayBackgroundColor = i(0xf0_100010, Integer.MIN_VALUE, Integer.MAX_VALUE, "customBackgroundOverlay",
"The custom background color to use for the Goggle- and Hover- Overlays, if enabled", "[in Hex: #AaRrGgBb]", ConfigAnnotations.IntDisplay.HEX.asComment());
Comments.overlayBackgroundColor);
public ConfigInt overlayBorderColorTop = i(0x50_5000ff, Integer.MIN_VALUE, Integer.MAX_VALUE, "customBorderTopOverlay",
"The custom top color of the border gradient to use for the Goggle- and Hover- Overlays, if enabled", "[in Hex: #AaRrGgBb]", ConfigAnnotations.IntDisplay.HEX.asComment());
Comments.overlayBorderColorTop);
public ConfigInt overlayBorderColorBot = i(0x50_28007f, Integer.MIN_VALUE, Integer.MAX_VALUE, "customBorderBotOverlay",
"The custom bot color of the border gradient to use for the Goggle- and Hover- Overlays, if enabled", "[in Hex: #AaRrGgBb]", ConfigAnnotations.IntDisplay.HEX.asComment());
Comments.overlayBorderColorBot);
//placement assist group
public ConfigGroup placementAssist = group(1, "placementAssist", "Settings for the Placement Assist");
public ConfigEnum<PlacementIndicatorSetting> placementIndicator = e(PlacementIndicatorSetting.TEXTURE,
"indicatorType",
"What indicator should be used when showing where the assisted placement ends up relative to your crosshair",
"Choose 'NONE' to disable the Indicator altogether");
public ConfigFloat indicatorScale =
f(1.0f, 0f, "indicatorScale", "Change the size of the Indicator by this multiplier");
public ConfigGroup placementAssist = group(1, "placementAssist",
Comments.placementAssist);
public ConfigEnum<PlacementIndicatorSetting> placementIndicator = e(PlacementIndicatorSetting.TEXTURE, "indicatorType",
Comments.placementIndicator);
public ConfigFloat indicatorScale = f(1.0f, 0f, "indicatorScale",
Comments.indicatorScale);
//ponder group
public ConfigGroup ponder = group(1, "ponder", "Ponder settings");
public ConfigBool comfyReading =
b(false, "comfyReading", "Slow down a ponder scene whenever there is text on screen.");
public ConfigGroup ponder = group(1, "ponder",
Comments.ponder);
public ConfigBool comfyReading = b(false, "comfyReading",
Comments.comfyReading);
//sound group
public ConfigGroup sound = group(1, "sound", "Sound settings");
public ConfigBool enableAmbientSounds = b(true, "enableAmbientSounds", "Make cogs rumble and machines clatter.");
public ConfigFloat ambientVolumeCap = f(.1f, 0, 1, "ambientVolumeCap", "Maximum volume modifier of Ambient noise");
public ConfigGroup sound = group(1, "sound",
Comments.sound);
public ConfigBool enableAmbientSounds = b(true, "enableAmbientSounds",
Comments.enableAmbientSounds);
public ConfigFloat ambientVolumeCap = f(.1f, 0, 1, "ambientVolumeCap",
Comments.ambientVolumeCap);
@Override
public String getName() {
@ -78,4 +81,62 @@ public class CClient extends ConfigBase {
public enum PlacementIndicatorSetting {
TEXTURE, TRIANGLE, NONE
}
private static class Comments {
static String client = "Client-only settings - If you're looking for general settings, look inside your worlds serverconfig folder!";
static String tooltips = "Show item descriptions on Shift and controls on Ctrl.";
static String enableOverstressedTooltip = "Display a tooltip when looking at overstressed components.";
static String explainRenderErrors = "Log a stack-trace when rendering issues happen within a moving contraption.";
static String fanParticleDensity = "Higher density means more spawned particles.";
static String[] filterItemRenderDistance = new String[]{
"[in Blocks]",
"Maximum Distance to the player at which items in Blocks' filter slots will be displayed"
};
static String rainbowDebug = "Show colourful debug information while the F3-Menu is open.";
static String experimentalRendering = "Use modern OpenGL features to drastically increase performance.";
static String maxContraptionLightVolume = "The maximum amount of blocks for which to try and calculate dynamic contraption lighting. Decrease if large contraption cause too much lag";
static String[] mainMenuConfigButtonRow = new String[]{
"Choose the menu row that the Create config button appears on in the main menu",
"Set to 0 to disable the button altogether"
};
static String[] mainMenuConfigButtonOffsetX = new String[]{
"Offset the Create config button in the main menu by this many pixels on the X axis",
"The sign (-/+) of this value determines what side of the row the button appears on (left/right)"
};
static String[] ingameMenuConfigButtonRow = new String[]{
"Choose the menu row that the Create config button appears on in the in-game menu",
"Set to 0 to disable the button altogether"
};
static String[] ingameMenuConfigButtonOffsetX = new String[]{
"Offset the Create config button in the in-game menu by this many pixels on the X axis",
"The sign (-/+) of this value determines what side of the row the button appears on (left/right)"
};
static String ignoreFabulousWarning = "Setting this to true will prevent Create from sending you a warning when playing with Fabulous graphics enabled";
static String overlay = "Settings for the Goggle Overlay";
static String overlayOffset = "Offset the overlay from goggle- and hover- information by this many pixels on the respective axis; Use /create overlay";
static String overlayCustomColor = "Enable this to use your custom colors for the Goggle- and Hover- Overlay";
static String[] overlayBackgroundColor = new String[]{
"The custom background color to use for the Goggle- and Hover- Overlays, if enabled",
"[in Hex: #AaRrGgBb]", ConfigAnnotations.IntDisplay.HEX.asComment()
};
static String[] overlayBorderColorTop = new String[]{
"The custom top color of the border gradient to use for the Goggle- and Hover- Overlays, if enabled",
"[in Hex: #AaRrGgBb]", ConfigAnnotations.IntDisplay.HEX.asComment()
};
static String[] overlayBorderColorBot = new String[]{
"The custom bot color of the border gradient to use for the Goggle- and Hover- Overlays, if enabled",
"[in Hex: #AaRrGgBb]", ConfigAnnotations.IntDisplay.HEX.asComment()
};
static String placementAssist = "Settings for the Placement Assist";
static String[] placementIndicator = new String[]{
"What indicator should be used when showing where the assisted placement ends up relative to your crosshair",
"Choose 'NONE' to disable the Indicator altogether"
};
static String indicatorScale = "Change the size of the Indicator by this multiplier";
static String ponder = "Ponder settings";
static String comfyReading = "Slow down a ponder scene whenever there is text on screen.";
static String sound = "Sound settings";
static String enableAmbientSounds = "Make cogs rumble and machines clatter.";
static String ambientVolumeCap = "Maximum volume modifier of Ambient noise";
}
}

View file

@ -9,6 +9,7 @@ public class CFluids extends ConfigBase {
public ConfigInt hosePulleyBlockThreshold = i(10000, -1, "hosePulleyBlockThreshold", Comments.blocks,
Comments.toDisable, Comments.hosePulleyBlockThreshold);
public ConfigBool fillInfinite = b(false, "fillInfinite",Comments.fillInfinite);
public ConfigInt hosePulleyRange = i(128, 1, "hosePulleyRange", Comments.blocks, Comments.hosePulleyRange);
@Override
@ -28,6 +29,7 @@ public class CFluids extends ConfigBase {
static String toDisable = "[-1 to disable this behaviour]";
static String hosePulleyBlockThreshold =
"The minimum amount of fluid blocks the hose pulley needs to find before deeming it an infinite source.";
static String fillInfinite="Does hose pulley poor fluids to the world even if it is an infinite source?";
}
}

View file

@ -18,6 +18,7 @@ public class CKinetics extends ConfigBase {
i(60, 5, "kineticValidationFrequency", Comments.kineticValidationFrequency);
public ConfigFloat crankHungerMultiplier = f(.01f, 0, 1, "crankHungerMultiplier", Comments.crankHungerMultiplier);
public ConfigInt minimumWindmillSails = i(8, 0, "minimumWindmillSails", Comments.minimumWindmillSails);
public ConfigInt windmillSailsPerRPM = i(8, 1, "windmillSailsPerRPM", Comments.windmillSailsPerRPM);
public ConfigInt maxEjectorDistance = i(32, 0, "maxEjectorDistance", Comments.maxEjectorDistance);
public ConfigInt ejectorScanInterval = i(120, 10, "ejectorScanInterval", Comments.ejectorScanInterval);
@ -93,6 +94,7 @@ public class CKinetics extends ConfigBase {
"Game ticks between Kinetic Blocks checking whether their source is still valid.";
static String minimumWindmillSails =
"Amount of sail-type blocks required for a windmill to assemble successfully.";
static String windmillSailsPerRPM = "Number of sail-type blocks required to increase windmill speed by 1RPM.";
static String maxEjectorDistance = "Max Distance in blocks a Weighted Ejector can throw";
static String ejectorScanInterval =
"Time in ticks until the next item launched by an ejector scans blocks for potential collisions";

File diff suppressed because it is too large Load diff