Skip to content

Commit 1ea3359

Browse files
committed
move ProgrammerArt, work on #5484, #5492, #5483
1 parent 0780f9e commit 1ea3359

File tree

294 files changed

+239
-55
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

294 files changed

+239
-55
lines changed

changelog.txt

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,15 @@
11
# Quark 4.1-476 For Neoforge 1.21.1
22

3-
This is mostly an internal update addressing some niche issues (so far).
3+
More bugfixes! Yippee!
44

5-
## Internal changes
5+
## Fixes
6+
- Added a potential fix for #5492: Latest versions of Quark+Create (ClassCastException) issue Neoforge 1.21.1
7+
- Fixed #5483: Singleplayer performance issue with expensive worldgen and EnhancedLaddersModule
8+
- Fixed #5484: [1.21.1] Other mods' built in override recipe for stone tools doesn't work and only Quark's version load even if you set the mod to load after Quark
9+
10+
## Changes
611
- Quark VDO has been split into different datapacks for each relevant module. Each datapack now uses datapack filters to disable relevant vanilla recipes instead of overriding the entire file. This should fix problems with Quark always overriding certain data files no matter what.
12+
- The Quark Programmer Art is no longer deployed to the instance's resourcepacks folder if the option is enabled. Instead, it is directly added to the resource pack selection screen under "Available", similar to other mods' optional resource packs. You can safely delete Quark Programmer Art.zip from your resourcepacks folder if it was previously deployed.
713

814
## Additions
915

src/main/java/org/violetmoon/quark/base/Quark.java

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import net.minecraft.world.item.alchemy.Potions;
1717
import net.minecraft.world.level.block.Block;
1818
import net.minecraft.world.level.block.ChestBlock;
19+
import net.minecraft.world.level.block.entity.AbstractFurnaceBlockEntity;
1920
import net.minecraft.world.level.block.entity.FurnaceBlockEntity;
2021
import net.neoforged.bus.api.IEventBus;
2122
import net.neoforged.bus.api.SubscribeEvent;
@@ -123,6 +124,24 @@ private static void addPackFinders(AddPackFindersEvent event){
123124
}
124125
}
125126
}
127+
128+
if(QuarkGeneralConfig.generateProgrammerArt){
129+
if (event.getPackType() == PackType.CLIENT_RESOURCES) {
130+
IModFile quarkJar = ModList.get().getModFileById(MOD_ID).getFile();
131+
Path path = quarkJar.findResource("resourcepacks", "quark_programmer_art");
132+
133+
PackSelectionConfig packSelectionConfig = new PackSelectionConfig(false, Pack.Position.TOP, false);
134+
PackLocationInfo packLocationInfo = new PackLocationInfo("quark_programmer_art", Component.literal("Quark Programmer Art"), PackSource.BUILT_IN,
135+
Optional.empty()
136+
);
137+
138+
PathPackResources.PathResourcesSupplier pathResourcesSupplier = new PathPackResources.PathResourcesSupplier(path);
139+
Pack pack = Pack.readMetaAndCreate(packLocationInfo, pathResourcesSupplier, PackType.SERVER_DATA, packSelectionConfig);
140+
event.addRepositorySource(packConsumer -> {
141+
packConsumer.accept(pack);
142+
});
143+
}
144+
}
126145
}
127146

128147
private static void addSubDataPack(String subPackName, AddPackFindersEvent event){
@@ -173,7 +192,7 @@ public static void registerCapabilities(RegisterCapabilitiesEvent event) {
173192

174193
event.registerBlock(Capabilities.ItemHandler.BLOCK, (level, pos, state, blockEntity, side) -> new SidedInvWrapper((PipeBlockEntity)blockEntity, side), PipesModule.pipe, PipesModule.encasedPipe);
175194
event.registerBlock(Capabilities.ItemHandler.BLOCK, (level, pos, state, blockEntity, side) -> new InvWrapper((CrateBlockEntity)blockEntity), CrateModule.crate);
176-
event.registerBlock(Capabilities.ItemHandler.BLOCK, (level, pos, state, blockEntity, side) -> new SidedInvWrapper((FurnaceBlockEntity)blockEntity, side), VariantFurnacesModule.blackstoneFurnace, VariantFurnacesModule.deepslateFurnace);
195+
event.registerBlock(Capabilities.ItemHandler.BLOCK, (level, pos, state, blockEntity, side) -> new SidedInvWrapper((AbstractFurnaceBlockEntity)blockEntity, side), VariantFurnacesModule.blackstoneFurnace, VariantFurnacesModule.deepslateFurnace);
177196

178197
}
179198

src/main/java/org/violetmoon/quark/base/client/handler/QuarkProgrammerArtHandler.java

Lines changed: 0 additions & 43 deletions
This file was deleted.

src/main/java/org/violetmoon/quark/base/config/QuarkGeneralConfig.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,8 +81,8 @@ public class QuarkGeneralConfig {
8181
@Config(description = "The amount of slots the chest button system should seek when trying to figure out if a container should be eligible for them.")
8282
public static int chestButtonSlotTarget = 27;
8383

84-
@Config(description = "Set this to false to not generate the Quark Programmer Art resource pack")
85-
public static boolean generateProgrammerArt = true; //TODO rework this, we don't need to deploy the file with AddPackFinderEvent
84+
@Config(description = "Set this to false to not show the Quark Programmer Art resource pack in the resource pack selection screen")
85+
public static boolean generateProgrammerArt = true;
8686

8787
@Config(description = "Set this to false to prevent Quark from ever disabling any vanilla data files. This will break certain modules, so only do this if you know what you're doing!")
8888
public static boolean quarkVDO = true;

src/main/java/org/violetmoon/quark/base/proxy/ClientProxy.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
import org.violetmoon.quark.base.client.handler.ClientUtil;
1919
import org.violetmoon.quark.base.client.handler.InventoryButtonHandler;
2020
import org.violetmoon.quark.base.client.handler.ModelHandler;
21-
import org.violetmoon.quark.base.client.handler.QuarkProgrammerArtHandler;
2221
import org.violetmoon.quark.base.handler.ContributorRewardHandler;
2322
import org.violetmoon.quark.base.handler.WoodSetHandler;
2423
import org.violetmoon.quark.catnip.animation.AnimationTickHolder;
@@ -43,7 +42,6 @@ public void start() {
4342
.subscribe(ModelHandler.class) //TODO: Make this especially not a singleton, move it into respective modules
4443
.subscribe(ContributorRewardHandler.Client.class)
4544
.subscribe(WoodSetHandler.Client.class)
46-
.subscribe(QuarkProgrammerArtHandler.class)
4745
.subscribe(ClientUtil.class);
4846

4947
Quark.ZETA.playBus

src/main/java/org/violetmoon/quark/content/tools/module/AncientTomesModule.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@
5252
import org.violetmoon.zeta.event.bus.PlayEvent;
5353
import org.violetmoon.zeta.event.load.ZAddReloadListener;
5454
import org.violetmoon.zeta.event.load.ZConfigChanged;
55+
import org.violetmoon.zeta.event.load.ZGatherHints;
5556
import org.violetmoon.zeta.event.load.ZRegister;
5657
import org.violetmoon.zeta.event.play.ZAnvilRepair;
5758
import org.violetmoon.zeta.event.play.ZAnvilUpdate;

src/main/java/org/violetmoon/quark/content/tweaks/module/EnhancedLaddersModule.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,7 @@ public void onPlayerTick(ZPlayerTick.Start event) {
193193
return;
194194

195195
Player player = event.getPlayer();
196-
if(player.onClimbable() && player.level().isClientSide) {
196+
if(player.level().isClientSide() && player.onClimbable()) {
197197
BlockPos playerPos = player.blockPosition();
198198
BlockPos downPos = playerPos.below();
199199

src/main/java/org/violetmoon/quark/integration/jei/QuarkJeiPlugin.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -150,24 +150,26 @@ private void registerAncientTomeAnvilRecipes(@NotNull IRecipeRegistration regist
150150
EnchantmentInstance data = new EnchantmentInstance(enchant, enchant.value().getMaxLevel());
151151
recipes.add(factory.createAnvilRecipe(EnchantedBookItem.createForEnchantment(data),
152152
Collections.singletonList(AncientTomeItem.getEnchantedItemStack(enchant)),
153-
Collections.singletonList(EnchantedBookItem.createForEnchantment(new EnchantmentInstance(data.enchantment, data.level + 1)))));
153+
Collections.singletonList(EnchantedBookItem.createForEnchantment(new EnchantmentInstance(data.enchantment, data.level + 1))),
154+
Quark.asResource("ancient_tome_book_overleveling")
155+
));
154156
}
155157
registration.addRecipes(RecipeTypes.ANVIL, recipes);
156158
}
157159

158160
private void registerPickarangAnvilRepairs(Item pickarang, Item repairMaterial, @NotNull IRecipeRegistration registration, @NotNull IVanillaRecipeFactory factory) {
159161
//Repair ratios taken from JEI anvil maker
160162
ItemStack nearlyBroken = new ItemStack(pickarang);
161-
nearlyBroken.setDamageValue(nearlyBroken.getMaxDamage());
163+
nearlyBroken.setDamageValue(nearlyBroken.getMaxDamage() - 1);
162164
ItemStack veryDamaged = nearlyBroken.copy();
163165
veryDamaged.setDamageValue(veryDamaged.getMaxDamage() * 3 / 4);
164166
ItemStack damaged = nearlyBroken.copy();
165167
damaged.setDamageValue(damaged.getMaxDamage() * 2 / 4);
166168

167169
IJeiAnvilRecipe materialRepair = factory.createAnvilRecipe(nearlyBroken,
168-
Collections.singletonList(new ItemStack(repairMaterial)), Collections.singletonList(veryDamaged));
170+
Collections.singletonList(new ItemStack(repairMaterial)), Collections.singletonList(veryDamaged), Quark.asResource("nearly_broken_pickarang_repair"));
169171
IJeiAnvilRecipe toolRepair = factory.createAnvilRecipe(veryDamaged,
170-
Collections.singletonList(veryDamaged), Collections.singletonList(damaged));
172+
Collections.singletonList(veryDamaged), Collections.singletonList(damaged), Quark.asResource("very_damaged_pickarang_repair"));
171173

172174
registration.addRecipes(RecipeTypes.ANVIL, Arrays.asList(materialRepair, toolRepair));
173175
}
-260 KB
Binary file not shown.
429 Bytes

0 commit comments

Comments
 (0)