Skip to content
This repository has been archived by the owner on Jan 21, 2023. It is now read-only.

Commit

Permalink
Multi-Dev
Browse files Browse the repository at this point in the history
  • Loading branch information
TexBlock committed Jul 26, 2022
1 parent 12ea688 commit 961eedc
Show file tree
Hide file tree
Showing 15 changed files with 5,854 additions and 60 deletions.
16 changes: 16 additions & 0 deletions README-EN.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<p align="center">
<img width="100px" src="icon/Mg-Extra.png" align="center" alt="Magnesium-Extras Logo" />
<img width="100px" src="icon/Rb-Extra.png" align="center" alt="Rubidium-Extras Logo" />
<h2 align="center">Magnesium / Rubidium-Extras i18n</h2>
<p align="center"></p>

English / [简体中文](README.md)

### WHAT IS THIS?
Magnesium/Rubidium-Extras do NOT SUPPORT localization (hardcoded), this Fork modifies the code to support localization.
This branch supports Magnesium and Rubidium, the 1.16-i18n branch and the 1.16-Rubidium branch will be dropped.

### Link
Original Repo:[TeamDeusVult/DynamicLightsReforged](https://github.com/TeamDeusVult/DynamicLightsReforged)

Magnesium/Rubidium Extras i18n:[ForgeModi18n/MgRb-Extras-i18n](https://github.com/ForgeModi18n/MgRb-Extras-i18n)
7 changes: 3 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
<p align="center">
<img width="100px" src="icon/Mg-Extra.png" align="center" alt="Magnesium-Extras Logo" />
<img width="100px" src="icon/Rb-Extra.png" align="center" alt="Rubidium-Extras Logo" />
<h2 align="center">Magnesium / Rubidium-Extras i18n</h2>
<img width="100px" src="icon/MgRb-Extra.png" align="center" alt="Magnesium/Rubidium-Extras Logo" />
<h2 align="center">Magnesium/Rubidium-Extras i18n</h2>
<p align="center"></p>

[English](README-EN.md) / 简体中文

### 这是干什么的?
Magnesium / Rubidium Extras 不支持本地化(硬编码),本Fork修改代码让其支持本地化。翻译问题请到issues反馈。
Magnesium/Rubidium-Extras 不支持本地化(硬编码),本Fork修改代码让其支持本地化。翻译问题请到issues反馈。
此分支支持 Magnesium 和 Rubidium ,1.16-i18n分支和1.16-Rubidium分支将被放弃。

### 链接
Expand Down
Binary file not shown.
1,950 changes: 1,950 additions & 0 deletions icon/Mg-Extra.ai

Large diffs are not rendered by default.

Binary file added icon/Mg-Extra.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1,899 changes: 1,899 additions & 0 deletions icon/MgRb-Extra.ai

Large diffs are not rendered by default.

Binary file added icon/MgRb-Extra.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1,897 changes: 1,897 additions & 0 deletions icon/Rb-Extra.ai

Large diffs are not rendered by default.

Binary file added icon/Rb-Extra.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions src/main/java/vice/magnesium_extras/MagnesiumExtras.java
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ public MagnesiumExtras() {
FMLJavaModLoadingContext.get().getModEventBus().addListener(this::setup);
MinecraftForge.EVENT_BUS.register(this);

MagnesiumExtrasConfig.loadConfig(FMLPaths.CONFIGDIR.get().resolve("magnesium_extras.toml"));
MagnesiumExtrasConfig.loadConfig(FMLPaths.CONFIGDIR.get().resolve("mgrb_extras.toml"));

//MinecraftForge.EVENT_BUS.register(this);

Expand Down Expand Up @@ -71,7 +71,7 @@ private void setup(final FMLCommonSetupEvent event)
try
{
chunkClaimProvider = Class.forName("vice.magnesium_extras.util.chunks.ActiveChunkClaimProvider").asSubclass(IChunkClaimProvider.class).newInstance();
LOGGER.info("Found FTB Chunks, enabling MagnesiumExtras integration.");
LOGGER.info("Found FTB Chunks, enabling Magnesium/Rubidium Extras integration.");
}
catch (Exception e)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,15 @@ private static void Inject(CallbackInfoReturnable<OptionPage> cir, List<OptionGr
Option<MagnesiumExtrasConfig.DarknessOption> totalDarknessSetting = OptionImpl.createBuilder(MagnesiumExtrasConfig.DarknessOption.class, sodiumOpts)
.setName(I18n.get("extras.ture_darkness.mode.title"))
.setTooltip(I18n.get("extras.ture_darkness.mode.desc"))
.setControl((option) -> new CyclingControl<>(option, MagnesiumExtrasConfig.DarknessOption.class, new String[] { "Pitch Black", "Really Dark", "Dark", "Dim"}))
.setControl(
(option) -> new CyclingControl<>(option, MagnesiumExtrasConfig.DarknessOption.class, new String[] {
I18n.get("extras.option.pitch_black"),
I18n.get("extras.option.really_dark"),
I18n.get("extras.option.dark"),
I18n.get("extras.option.dim")
}
)
)
.setBinding(
(opts, value) -> MagnesiumExtrasConfig.darknessOption.set(value),
(opts) -> MagnesiumExtrasConfig.darknessOption.get())
Expand All @@ -123,18 +131,25 @@ private static void Inject(CallbackInfoReturnable<OptionPage> cir, List<OptionGr


Option<MagnesiumExtrasConfig.Quality> fadeInQuality = OptionImpl.createBuilder(MagnesiumExtrasConfig.Quality.class, sodiumOpts)
.setName("Chunk Fade In Quality")
.setTooltip("Controls how fast chunks fade in. No performance hit, Fancy simply takes longer, but looks a bit cooler.")
.setControl((option) -> new CyclingControl<>(option, MagnesiumExtrasConfig.Quality.class, new String[] { "Off", "Fast", "Fancy"}))
.setName(I18n.get("extras.misc.chunk_fade_quality.title"))
.setTooltip(I18n.get("extras.misc.chunk_fade_quality.desc"))
.setControl(
(option) -> new CyclingControl<>(option, MagnesiumExtrasConfig.Quality.class, new String[] {
I18n.get("extras.option.off"),
I18n.get("extras.option.fast"),
I18n.get("extras.option.fancy")
}
)
)
.setBinding(
(opts, value) -> MagnesiumExtrasConfig.fadeInQuality.set(value.toString()),
(opts) -> MagnesiumExtrasConfig.Quality.valueOf(MagnesiumExtrasConfig.fadeInQuality.get()))
.setImpact(OptionImpact.LOW)
.build();

OptionImpl<SodiumGameOptions, Boolean> fog = OptionImpl.createBuilder(Boolean.class, sodiumOpts)
.setName("Enable fog")
.setTooltip("Toggles off all fog in the overworld.")
.setName(I18n.get("extras.fog.title"))
.setTooltip(I18n.get("extras.fog.desc"))
.setControl(TickBoxControl::new)
.setBinding(
(options, value) -> MagnesiumExtrasConfig.fog.set(value),
Expand All @@ -143,9 +158,9 @@ private static void Inject(CallbackInfoReturnable<OptionPage> cir, List<OptionGr
.build();

OptionImpl<SodiumGameOptions, Integer> cloudHeight = OptionImpl.createBuilder(Integer.TYPE, sodiumOpts)
.setName("Cloud Height")
.setTooltip("Raises cloud height.")
.setControl((option) -> new SliderControl(option, 64, 256, 4, ControlValueFormatter.quantity("Blocks")))
.setName(I18n.get("extras.cloud_height.title"))
.setTooltip(I18n.get("extras.cloud_height.desc"))
.setControl((option) -> new SliderControl(option, 64, 256, 4, ControlValueFormatter.quantity(I18n.get("extras.option.unit.blocks"))))
.setBinding(
(options, value) -> {
MagnesiumExtrasConfig.cloudHeight.set(value);
Expand All @@ -166,8 +181,8 @@ private static void Inject(CallbackInfoReturnable<OptionPage> cir, List<OptionGr


OptionImpl<SodiumGameOptions, Boolean> enableDistanceChecks = OptionImpl.createBuilder(Boolean.class, sodiumOpts)
.setName("Enable Max Entity Distance")
.setTooltip("Toggles off entity culling.")
.setName(I18n.get("extras.enable_max_entity_distance.title"))
.setTooltip(I18n.get("extras.enable_max_entity_distance.desc"))
.setControl(TickBoxControl::new)
.setBinding(
(options, value) -> MagnesiumExtrasConfig.enableDistanceChecks.set(value),
Expand All @@ -187,19 +202,19 @@ private static void Inject(CallbackInfoReturnable<OptionPage> cir, List<OptionGr


OptionImpl<SodiumGameOptions, Integer> maxEntityDistance = OptionImpl.createBuilder(Integer.TYPE, sodiumOpts)
.setName("Max Entity Distance")
.setTooltip("Hides and does not tick entities beyond this many blocks. Huge performance increase, especially around modded farms.")
.setControl((option) -> new SliderControl(option, 16, 192, 8, ControlValueFormatter.quantity("Blocks")))
.setName(I18n.get("extras.max_entity_distance.title"))
.setTooltip(I18n.get("extras.max_entity_distance.desc"))
.setControl((option) -> new SliderControl(option, 16, 192, 8, ControlValueFormatter.quantity(I18n.get("extras.option.unit.blocks"))))
.setBinding(
(options, value) -> MagnesiumExtrasConfig.maxEntityRenderDistanceSquare.set(value * value),
(options) -> Math.toIntExact(Math.round(Math.sqrt(MagnesiumExtrasConfig.maxEntityRenderDistanceSquare.get()))))
.setImpact(OptionImpact.EXTREME)
.build();

OptionImpl<SodiumGameOptions, Integer> maxEntityDistanceVertical = OptionImpl.createBuilder(Integer.TYPE, sodiumOpts)
.setName("Vertical Entity Distance")
.setTooltip("Hides and does not tick entities underneath this many blocks, improving performance above caves. This should ideally be set lower than the horizontal distance.")
.setControl((option) -> new SliderControl(option, 16, 64, 4, ControlValueFormatter.quantity("Blocks")))
.setName(I18n.get("extras.vertical_entity_distance.title"))
.setTooltip(I18n.get("extras.vertical_entity_distance.desc"))
.setControl((option) -> new SliderControl(option, 16, 64, 4, ControlValueFormatter.quantity(I18n.get("extras.option.unit.blocks"))))
.setBinding(
(options, value) -> MagnesiumExtrasConfig.maxEntityRenderDistanceY.set(value ),
(options) -> MagnesiumExtrasConfig.maxEntityRenderDistanceY.get())
Expand All @@ -219,19 +234,19 @@ private static void Inject(CallbackInfoReturnable<OptionPage> cir, List<OptionGr


OptionImpl<SodiumGameOptions, Integer> maxTileEntityDistance = OptionImpl.createBuilder(Integer.TYPE, sodiumOpts)
.setName("Max Tile Distance")
.setTooltip("Hides block entities beyond this many blocks. Huge performance increase, especially around lots of modded machines.")
.setControl((option) -> new SliderControl(option, 16, 256, 8, ControlValueFormatter.quantity("Blocks")))
.setName(I18n.get("extras.max_tile_distance.title"))
.setTooltip(I18n.get("extras.max_tile_distance.desc"))
.setControl((option) -> new SliderControl(option, 16, 256, 8, ControlValueFormatter.quantity(I18n.get("extras.option.unit.blocks"))))
.setBinding(
(options, value) -> MagnesiumExtrasConfig.maxTileEntityRenderDistanceSquare.set(value * value),
(options) -> Math.toIntExact(Math.round(Math.sqrt(MagnesiumExtrasConfig.maxTileEntityRenderDistanceSquare.get()))))
.setImpact(OptionImpact.HIGH)
.build();

OptionImpl<SodiumGameOptions, Integer> maxTileEntityDistanceVertical = OptionImpl.createBuilder(Integer.TYPE, sodiumOpts)
.setName("Vertical Tile Distance")
.setTooltip("Hides block entities underneath this many blocks, improving performance above caves (if you have your machines in caves, for some reason). This should ideally be set lower than the horizontal distance.")
.setControl((option) -> new SliderControl(option, 16, 64, 4, ControlValueFormatter.quantity("Blocks")))
.setName(I18n.get("extras.vertical_tile_distance.title"))
.setTooltip(I18n.get("extras.vertical_tile_distance.desc"))
.setControl((option) -> new SliderControl(option, 16, 64, 4, ControlValueFormatter.quantity(I18n.get("extras.option.unit.blocks"))))
.setBinding(
(options, value) -> MagnesiumExtrasConfig.maxTileEntityRenderDistanceY.set(value ),
(options) -> MagnesiumExtrasConfig.maxTileEntityRenderDistanceY.get())
Expand All @@ -257,9 +272,16 @@ private static void Inject(CallbackInfoReturnable<OptionPage> cir, List<OptionGr
private static void InjectGeneral(CallbackInfoReturnable<OptionPage> cir, List<OptionGroup> groups)
{
OptionImpl<GameSettings, MagnesiumExtrasConfig.FullscreenMode> fullscreenMode = OptionImpl.createBuilder( MagnesiumExtrasConfig.FullscreenMode.class, vanillaOpts)
.setName("Fullscreen Mode")
.setTooltip("Windowed - the game will display in a small window.\nBorderless - the game will be fullscreened, and locked to your monitor's refresh rate, but allow you to tab out easily.\nFullscreen - the game will display in native fullscreen mode.")
.setControl((opt) -> new CyclingControl<>(opt, MagnesiumExtrasConfig.FullscreenMode.class, new String[] { "Windowed", "Borderless", "Fullscreen"}))
.setName(I18n.get("extras.full_screen_mode.title"))
.setTooltip(I18n.get("extras.full_screen_mode.desc"))
.setControl(
(opt) -> new CyclingControl<>(opt, MagnesiumExtrasConfig.FullscreenMode.class, new String[] {
I18n.get("extras.option.windowed"),
I18n.get("extras.option.borderless"),
I18n.get("extras.option.fullscreen")
}
)
)
.setBinding(
(opts, value) -> {
MagnesiumExtrasConfig.fullScreenMode.set(value);
Expand All @@ -282,7 +304,7 @@ private static void InjectGeneral(CallbackInfoReturnable<OptionPage> cir, List<O
(opts) -> MagnesiumExtrasConfig.fullScreenMode.get())
.build();

ReplaceOption(groups, "Fullscreen", fullscreenMode);
ReplaceOption(groups, I18n.get("extras.option.fullscreen"), fullscreenMode);
}


Expand All @@ -306,8 +328,8 @@ private static void ReplaceOption(List<OptionGroup> groups, String name, Option<
groups.addAll(newList);
}

@ModifyConstant(method = "experimental", remap = false, constant = @Constant(stringValue = "Experimental"))
@ModifyConstant(method = "advanced", remap = false, constant = @Constant(stringValue = "Advanced"))
private static String ChangeCategoryName(String old) {
return "Extras";
return I18n.get("extras.extras.options.name");
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import vice.magnesium_extras.config.MagnesiumExtrasConfig;
import net.minecraft.client.resources.I18n;

import java.util.ArrayList;
import java.util.List;
Expand Down Expand Up @@ -48,8 +49,8 @@ private void DynamicLights(Screen prevScreen, CallbackInfo ci)
// .build();

OptionImpl<SodiumGameOptions, Boolean> zoomScrolling = OptionImpl.createBuilder(Boolean.class, sodiumOpts)
.setName("Zoom Scrolling")
.setTooltip("Allows using scroll wheel to adjust zoom amount.")
.setName(I18n.get("extras.zoom.scrolling.title"))
.setTooltip(I18n.get("extras.zoom.scrolling.desc"))
.setControl(TickBoxControl::new)
.setBinding(
(options, value) -> MagnesiumExtrasConfig.zoomScrolling.set(value),
Expand All @@ -58,8 +59,8 @@ private void DynamicLights(Screen prevScreen, CallbackInfo ci)
.build();

OptionImpl<SodiumGameOptions, Boolean> zoomOverlay = OptionImpl.createBuilder(Boolean.class, sodiumOpts)
.setName("Zoom Overlay")
.setTooltip("Renders a vignette overlay when zooming.")
.setName(I18n.get("extras.zoom.overlay.title"))
.setTooltip(I18n.get("extras.zoom.overlay.desc"))
.setControl(TickBoxControl::new)
.setBinding(
(options, value) -> MagnesiumExtrasConfig.zoomOverlay.set(value),
Expand All @@ -78,19 +79,32 @@ private void DynamicLights(Screen prevScreen, CallbackInfo ci)


Option<MagnesiumExtrasConfig.ZoomTransitionOptions> zoomTransition = OptionImpl.createBuilder(MagnesiumExtrasConfig.ZoomTransitionOptions.class, sodiumOpts)
.setName("Zoom Transition Mode")
.setTooltip("Controls how the game changes from normal to zoomed. Off will be an instant transition.")
.setControl((option) -> new CyclingControl<>(option, MagnesiumExtrasConfig.ZoomTransitionOptions.class, new String[] { "Off", "Smooth" }))
.setName(I18n.get("extras.zoom.transition.title"))
.setTooltip(I18n.get("extras.zoom.transition.desc"))
.setControl(
(option) -> new CyclingControl<>(option, MagnesiumExtrasConfig.ZoomTransitionOptions.class, new String[] {
I18n.get("extras.option.off"),
I18n.get("extras.option.smooth")
}
)
)
.setBinding(
(opts, value) -> MagnesiumExtrasConfig.zoomTransition.set(value.toString()),
(opts) -> MagnesiumExtrasConfig.ZoomTransitionOptions.valueOf(MagnesiumExtrasConfig.zoomTransition.get()))
.setImpact(OptionImpact.LOW)
.build();

Option<MagnesiumExtrasConfig.ZoomModes> zoomMode = OptionImpl.createBuilder(MagnesiumExtrasConfig.ZoomModes.class, sodiumOpts)
.setName("Zoom Keybind Mode")
.setTooltip("Hold - Zoom only while the key is down.\nToggle - Lock zoom until you press the key again\nPersistent - Always zoom, if you want that, for some reason.")
.setControl((option) -> new CyclingControl<>(option, MagnesiumExtrasConfig.ZoomModes.class, new String[] { "Hold", "Toggle", "Persistent"}))
.setName(I18n.get("extras.zoom.keybind.title"))
.setTooltip(I18n.get("extras.zoom.keybind.desc"))
.setControl(
(option) -> new CyclingControl<>(option, MagnesiumExtrasConfig.ZoomModes.class, new String[] {
I18n.get("extras.option.hold"),
I18n.get("extras.option.toggle"),
I18n.get("extras.option.persistent")
}
)
)
.setBinding(
(opts, value) -> MagnesiumExtrasConfig.zoomMode.set(value.toString()),
(opts) -> MagnesiumExtrasConfig.ZoomModes.valueOf(MagnesiumExtrasConfig.zoomMode.get()))
Expand All @@ -116,6 +130,6 @@ private void DynamicLights(Screen prevScreen, CallbackInfo ci)
);


pages.add(new OptionPage("Zoom", ImmutableList.copyOf(groups)));
pages.add(new OptionPage(I18n.get("extras.zoom.option.name"), ImmutableList.copyOf(groups)));
}
}
Loading

0 comments on commit 961eedc

Please sign in to comment.