Skip to content

Commit 0ade459

Browse files
committed
Just cant get enuf.
We now have a config api, even if its dubious in its quality. Current Compile Error count: 2769 Signed-off-by: Siuol <[email protected]>
1 parent 9e7c589 commit 0ade459

26 files changed

+104
-43
lines changed

build.gradle

+3
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ repositories {
1515
maven { url = "https://maven.terraformersmc.com/" } // EMI
1616
maven { url = 'https://maven.minecraftforge.net/' } // TerraBlender
1717
maven { url = "https://cursemaven.com" } // Lootr Fabric
18+
maven { url = "https://api.modrinth.com/maven" } // Lootr Fabric
1819
}
1920

2021
dependencies {
@@ -38,6 +39,8 @@ dependencies {
3839
modImplementation "curse.maven:lootr-fabric-615106:${lootr_version}"
3940

4041
modImplementation include("com.github.LlamaLad7:MixinExtras:0.1.1")
42+
modImplementation(include("maven.modrinth:forge-config-api-port:4.2.11"))
43+
4144
annotationProcessor "com.github.LlamaLad7:MixinExtras:0.1.1"
4245

4346
modImplementation "dev.emi:emi-fabric:${emi_version}" // EMI

src/main/java/vazkii/quark/base/client/config/screen/QuarkConfigHomeScreen.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
import net.minecraft.network.chat.MutableComponent;
1818
import net.minecraft.resources.ResourceLocation;
1919
import net.minecraft.world.item.ItemStack;
20-
import net.minecraftforge.fml.ModList;
20+
import org.quiltmc.loader.api.QuiltLoader;
2121
import vazkii.quark.api.config.IConfigCategory;
2222
import vazkii.quark.base.Quark;
2323
import vazkii.quark.base.client.config.IngameConfigHandler;
@@ -78,7 +78,7 @@ protected void init() {
7878
addRenderableWidget(icon);
7979
addRenderableWidget(checkbox);
8080

81-
if(category.requiredMod != null && !ModList.get().isLoaded(category.requiredMod)) {
81+
if(category.requiredMod != null && !QuiltLoader.isModLoaded(category.requiredMod)) {
8282
icon.active = false;
8383
checkbox.active = false;
8484
}

src/main/java/vazkii/quark/base/client/config/screen/widgets/IconButton.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ public void render(@NotNull PoseStack mstack, int mouseX, int mouseY, float part
3535
mc.getItemRenderer().renderGuiItem(icon, x + 5, y + 2);
3636

3737
int iconPad = (16 + 5) / 2;
38-
drawCenteredString(mstack, mc.font, text, x + width / 2 + iconPad, y + (height - 8) / 2, getFGColor());
38+
drawCenteredString(mstack, mc.font, text, x + width / 2 + iconPad, y + (height - 8) / 2, active ? 0xffffff : 0xa0a0a0);
3939
}
4040

4141
}

src/main/java/vazkii/quark/base/client/config/screen/widgets/QButton.java

+19-3
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import java.util.Calendar;
99
import java.util.List;
1010

11+
import net.minecraft.util.Mth;
1112
import org.jetbrains.annotations.NotNull;
1213

1314
import com.mojang.blaze3d.systems.RenderSystem;
@@ -110,14 +111,30 @@ public QButton(int x, int y) {
110111
showBubble = !getQuarkMarkerFile().exists();
111112
}
112113

113-
@Override
114114
public int getFGColor() {
115115
return gay ? Color.HSBtoRGB((ClientTicker.total / 200F), 1F, 1F) : 0x48DDBC;
116116
}
117117

118118
@Override
119119
public void renderButton(@NotNull PoseStack mstack, int mouseX, int mouseY, float partialTicks) {
120-
super.renderButton(mstack, mouseX, mouseY, partialTicks);
120+
// "Oh Siuol you silly child, super.renderButton() exists!" I know, but a certain Forge Loader adds a method that doesnt exist on Quilt.
121+
Minecraft minecraft = Minecraft.getInstance();
122+
Font font = minecraft.font;
123+
RenderSystem.setShader(GameRenderer::getPositionTexShader);
124+
RenderSystem.setShaderTexture(0, WIDGETS_LOCATION);
125+
RenderSystem.setShaderColor(1.0F, 1.0F, 1.0F, this.alpha);
126+
int k = this.getYImage(this.isHoveredOrFocused());
127+
RenderSystem.enableBlend();
128+
RenderSystem.defaultBlendFunc();
129+
RenderSystem.enableDepthTest();
130+
this.blit(mstack, this.x, this.y, 0, 46 + k * 20, this.width / 2, this.height);
131+
this.blit(mstack, this.x + this.width / 2, this.y, 200 - this.width / 2, 46 + k * 20, this.width / 2, this.height);
132+
this.renderBg(mstack, minecraft, mouseX, mouseY);
133+
int l = getFGColor();
134+
drawCenteredString(mstack, font, this.getMessage(), this.x + this.width / 2, this.y + (this.height - 8) / 2, l | Mth.ceil(this.alpha * 255.0F) << 24);
135+
if (this.isHoveredOrFocused()) {
136+
this.renderToolTip(mstack, mouseX, mouseY);
137+
}
121138

122139
int iconIndex = Math.min(4, ContributorRewardHandler.localPatronTier);
123140
if(celebrating != null) {
@@ -155,7 +172,6 @@ public void renderButton(@NotNull PoseStack mstack, int mouseX, int mouseY, floa
155172
}
156173

157174
if(showBubble && GeneralConfig.enableOnboarding) {
158-
Font font = Minecraft.getInstance().font;
159175
int cy = y - 2;
160176
if(ClientTicker.total % 20 > 10)
161177
cy++;

src/main/java/vazkii/quark/base/client/config/screen/widgets/SocialButton.java

+21-2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22

33
import java.util.List;
44

5+
import net.minecraft.client.Minecraft;
6+
import net.minecraft.client.gui.Font;
7+
import net.minecraft.util.Mth;
58
import org.jetbrains.annotations.NotNull;
69

710
import com.mojang.blaze3d.systems.RenderSystem;
@@ -31,7 +34,24 @@ public SocialButton(int x, int y, Component text, int textColor, int socialId, O
3134

3235
@Override
3336
public void renderButton(@NotNull PoseStack mstack, int mouseX, int mouseY, float partialTicks) {
34-
super.renderButton(mstack, mouseX, mouseY, partialTicks);
37+
// For more information, please refer to QButton.renderButton();
38+
Minecraft minecraft = Minecraft.getInstance();
39+
Font font = minecraft.font;
40+
RenderSystem.setShader(GameRenderer::getPositionTexShader);
41+
RenderSystem.setShaderTexture(0, WIDGETS_LOCATION);
42+
RenderSystem.setShaderColor(1.0F, 1.0F, 1.0F, this.alpha);
43+
int k = this.getYImage(this.isHoveredOrFocused());
44+
RenderSystem.enableBlend();
45+
RenderSystem.defaultBlendFunc();
46+
RenderSystem.enableDepthTest();
47+
this.blit(mstack, this.x, this.y, 0, 46 + k * 20, this.width / 2, this.height);
48+
this.blit(mstack, this.x + this.width / 2, this.y, 200 - this.width / 2, 46 + k * 20, this.width / 2, this.height);
49+
this.renderBg(mstack, minecraft, mouseX, mouseY);
50+
int l = getFGColor();
51+
drawCenteredString(mstack, font, this.getMessage(), this.x + this.width / 2, this.y + (this.height - 8) / 2, l | Mth.ceil(this.alpha * 255.0F) << 24);
52+
if (this.isHoveredOrFocused()) {
53+
this.renderToolTip(mstack, mouseX, mouseY);
54+
}
3555

3656
RenderSystem.setShader(GameRenderer::getPositionTexShader);
3757
RenderSystem.enableBlend();
@@ -48,7 +68,6 @@ public void renderButton(@NotNull PoseStack mstack, int mouseX, int mouseY, floa
4868
TopLayerTooltipHandler.setTooltip(List.of(text.getString()), mouseX, mouseY);
4969
}
5070

51-
@Override
5271
public int getFGColor() {
5372
return textColor;
5473
}

src/main/java/vazkii/quark/base/client/handler/RequiredModTooltipHandler.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@
1010
import net.minecraft.world.item.Item;
1111
import net.minecraft.world.item.ItemStack;
1212
import net.minecraft.world.level.block.Block;
13+
import org.quiltmc.loader.api.QuiltLoader;
1314
import org.quiltmc.loader.api.minecraft.ClientOnly;
1415
import net.minecraftforge.event.entity.player.ItemTooltipEvent;
1516
import net.minecraftforge.eventbus.api.SubscribeEvent;
16-
import net.minecraftforge.fml.ModList;
1717
import net.minecraftforge.fml.common.Mod.EventBusSubscriber;
1818
import vazkii.quark.base.Quark;
1919
import vazkii.quark.base.handler.GeneralConfig;
@@ -37,7 +37,7 @@ public static List<ItemStack> disabledItems() {
3737
return new ArrayList<>();
3838

3939
return ITEMS.entrySet().stream()
40-
.filter((entry) -> !ModList.get().isLoaded(entry.getValue()))
40+
.filter((entry) -> !QuiltLoader.isModLoaded(entry.getValue()))
4141
.map((entry) -> new ItemStack(entry.getKey()))
4242
.toList();
4343
}
@@ -54,7 +54,7 @@ public static void onTooltip(ItemTooltipEvent event) {
5454
Item item = event.getItemStack().getItem();
5555
if(ITEMS.containsKey(item)) {
5656
String mod = ITEMS.get(item);
57-
if (!ModList.get().isLoaded(mod)) {
57+
if (!QuiltLoader.isModLoaded(mod)) {
5858
event.getToolTip().add(Component.translatable("quark.misc.mod_disabled", mod).withStyle(ChatFormatting.GRAY));
5959
}
6060
}

src/main/java/vazkii/quark/base/module/config/ConfigFlagManager.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33
import java.util.HashMap;
44
import java.util.Map;
55

6+
import io.github.fabricators_of_create.porting_lib.crafting.CraftingHelper;
67
import net.minecraft.core.Registry;
78
import net.minecraft.resources.ResourceLocation;
89
import net.minecraft.world.level.storage.loot.predicates.LootItemConditionType;
9-
import net.minecraftforge.common.crafting.CraftingHelper;
1010
import vazkii.quark.base.Quark;
1111
import vazkii.quark.base.module.QuarkModule;
1212
import vazkii.quark.base.recipe.ingredient.FlagIngredient;

src/main/java/vazkii/quark/content/automation/entity/Gravisand.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import net.minecraft.core.Direction;
55
import net.minecraft.nbt.CompoundTag;
66
import net.minecraft.network.protocol.Packet;
7+
import net.minecraft.network.protocol.game.ClientboundAddEntityPacket;
78
import net.minecraft.network.protocol.game.ClientboundBlockUpdatePacket;
89
import net.minecraft.network.syncher.EntityDataAccessor;
910
import net.minecraft.network.syncher.EntityDataSerializers;
@@ -126,7 +127,7 @@ protected void readAdditionalSaveData(@NotNull CompoundTag compound) {
126127
@NotNull
127128
@Override
128129
public Packet<?> getAddEntityPacket() {
129-
return NetworkHooks.getEntitySpawningPacket(this);
130+
return new ClientboundAddEntityPacket(this);
130131
}
131132

132133
}

src/main/java/vazkii/quark/content/building/block/VariantChestBlock.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import net.minecraft.world.level.block.entity.BlockEntityType;
1919
import net.minecraft.world.level.block.entity.ChestBlockEntity;
2020
import net.minecraft.world.level.block.state.BlockState;
21+
import org.quiltmc.loader.api.QuiltLoader;
2122
import org.quiltmc.loader.api.minecraft.ClientOnly;
2223
import vazkii.arl.interf.IBlockItemProvider;
2324
import vazkii.arl.util.RegistryHelper;
@@ -147,7 +148,7 @@ public static class Compat extends VariantChestBlock {
147148

148149
public Compat(String type, String mod, QuarkModule module, Supplier<BlockEntityType<? extends ChestBlockEntity>> supplier, Properties props) {
149150
super(type, module, supplier, props);
150-
setCondition(() -> ModList.get().isLoaded(mod));
151+
setCondition(() -> QuiltLoader.isModLoaded(mod));
151152
}
152153

153154
@Override

src/main/java/vazkii/quark/content/building/block/VariantTrappedChestBlock.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import net.minecraft.world.level.block.entity.BlockEntityType;
1919
import net.minecraft.world.level.block.entity.ChestBlockEntity;
2020
import net.minecraft.world.level.block.state.BlockState;
21+
import org.quiltmc.loader.api.QuiltLoader;
2122
import org.quiltmc.loader.api.minecraft.ClientOnly;
2223
import vazkii.arl.interf.IBlockItemProvider;
2324
import vazkii.arl.util.RegistryHelper;
@@ -109,7 +110,7 @@ public static class Compat extends VariantTrappedChestBlock {
109110

110111
public Compat(String type, String mod, QuarkModule module, Supplier<BlockEntityType<? extends ChestBlockEntity>> supplier, Properties props) {
111112
super(type, module, supplier, props);
112-
setCondition(() -> ModList.get().isLoaded(mod));
113+
setCondition(() -> QuiltLoader.isModLoaded(mod));
113114
}
114115

115116
@Override

src/main/java/vazkii/quark/content/client/module/ChestSearchingModule.java

+5-4
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import com.mojang.blaze3d.systems.RenderSystem;
44
import com.mojang.blaze3d.vertex.PoseStack;
5+
import net.fabricmc.api.EnvType;
56
import net.minecraft.ChatFormatting;
67
import net.minecraft.client.Minecraft;
78
import net.minecraft.client.gui.components.EditBox;
@@ -24,6 +25,8 @@
2425
import net.minecraft.world.item.enchantment.Enchantment;
2526
import net.minecraft.world.item.enchantment.EnchantmentHelper;
2627
import net.minecraft.world.level.block.entity.BlockEntity;
28+
import org.quiltmc.loader.api.ModContainer;
29+
import org.quiltmc.loader.api.QuiltLoader;
2730
import org.quiltmc.loader.api.minecraft.ClientOnly;
2831
import net.minecraftforge.client.event.ContainerScreenEvent;
2932
import net.minecraftforge.client.event.ScreenEvent;
@@ -33,8 +36,6 @@
3336
import net.minecraftforge.common.capabilities.ForgeCapabilities;
3437
import net.minecraftforge.common.util.LazyOptional;
3538
import net.minecraftforge.eventbus.api.SubscribeEvent;
36-
import net.minecraftforge.fml.ModContainer;
37-
import net.minecraftforge.fml.ModList;
3839
import net.minecraftforge.items.IItemHandler;
3940
import net.minecraftforge.items.wrapper.EmptyHandler;
4041
import vazkii.arl.util.ItemNBTHelper;
@@ -279,8 +280,8 @@ public static boolean namesMatch(ItemStack stack, String search) {
279280
// return true;
280281

281282
ResourceLocation itemName = Registry.ITEM.getKey(item);
282-
Optional<? extends ModContainer> mod = ModList.get().getModContainerById(itemName.getPath());
283-
if(mod.isPresent() && matcher.test(mod.orElse(null).getModInfo().getDisplayName().toLowerCase(Locale.ROOT), search))
283+
Optional<? extends ModContainer> mod = QuiltLoader.getModContainer(itemName.getPath());
284+
if(mod.isPresent() && matcher.test(mod.orElse(null).metadata().name().toLowerCase(Locale.ROOT), search))
284285
return true;
285286

286287
return matcher.test(name, search);

src/main/java/vazkii/quark/content/management/module/AutomaticToolRestockModule.java

-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525
import net.minecraft.world.item.enchantment.EnchantmentHelper;
2626
import net.minecraft.world.item.enchantment.Enchantments;
2727
import net.minecraftforge.common.MinecraftForge;
28-
import net.minecraftforge.common.ToolAction;
2928
import io.github.fabricators_of_create.porting_lib.util.ToolActions;
3029
import net.minecraftforge.event.TickEvent.Phase;
3130
import net.minecraftforge.event.entity.player.PlayerDestroyItemEvent;

src/main/java/vazkii/quark/content/mobs/entity/Forgotten.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import java.util.List;
44
import java.util.stream.Stream;
55

6+
import net.minecraft.network.protocol.game.ClientboundAddEntityPacket;
67
import org.jetbrains.annotations.NotNull;
78
import org.jetbrains.annotations.Nullable;
89

@@ -211,7 +212,7 @@ protected AbstractArrow getArrow(@NotNull ItemStack arrowStack, float distanceFa
211212
@NotNull
212213
@Override
213214
public Packet<?> getAddEntityPacket() {
214-
return NetworkHooks.getEntitySpawningPacket(this);
215+
return new ClientboundAddEntityPacket(this);
215216
}
216217

217218
}

src/main/java/vazkii/quark/content/mobs/entity/Foxhound.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import java.util.Optional;
1919
import java.util.UUID;
2020

21+
import net.minecraft.network.protocol.game.ClientboundAddEntityPacket;
2122
import org.jetbrains.annotations.NotNull;
2223

2324
import net.minecraft.core.BlockPos;
@@ -459,6 +460,6 @@ private void setWoke() {
459460
@NotNull
460461
@Override
461462
public Packet<?> getAddEntityPacket() {
462-
return NetworkHooks.getEntitySpawningPacket(this);
463+
return new ClientboundAddEntityPacket(this);
463464
}
464465
}

src/main/java/vazkii/quark/content/mobs/entity/Shiba.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import java.util.List;
44
import java.util.UUID;
55

6+
import net.minecraft.network.protocol.game.ClientboundAddEntityPacket;
67
import org.jetbrains.annotations.NotNull;
78

89
import net.minecraft.core.BlockPos;
@@ -192,7 +193,7 @@ public boolean isFood(ItemStack stack) {
192193
@NotNull
193194
@Override
194195
public Packet<?> getAddEntityPacket() {
195-
return NetworkHooks.getEntitySpawningPacket(this);
196+
return new ClientboundAddEntityPacket(this);
196197
}
197198

198199
@Override

src/main/java/vazkii/quark/content/mobs/entity/SoulBead.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package vazkii.quark.content.mobs.entity;
22

3+
import net.minecraft.network.protocol.game.ClientboundAddEntityPacket;
34
import org.jetbrains.annotations.NotNull;
45

56
import com.mojang.math.Vector3f;
@@ -101,7 +102,7 @@ protected void readAdditionalSaveData(@NotNull CompoundTag compound) {
101102
@NotNull
102103
@Override
103104
public Packet<?> getAddEntityPacket() {
104-
return NetworkHooks.getEntitySpawningPacket(this);
105+
return new ClientboundAddEntityPacket(this);
105106
}
106107

107108
}

src/main/java/vazkii/quark/content/mobs/entity/Stoneling.java

+9-5
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88
import java.util.List;
99
import java.util.Set;
1010

11+
import io.github.fabricators_of_create.porting_lib.extensions.EntityExtensions;
12+
import net.minecraft.network.protocol.game.ClientboundAddEntityPacket;
1113
import org.jetbrains.annotations.NotNull;
1214
import org.jetbrains.annotations.Nullable;
1315

@@ -148,12 +150,12 @@ public void tick() {
148150
this.yBodyRot = this.getYRot();
149151
}
150152

151-
@Override
152-
public MobCategory getClassification(boolean forSpawnCount) {
153+
// Im pretty sure this isnt needed rn
154+
/*public MobCategory getClassification(boolean forSpawnCount) {
153155
if (isTame)
154156
return MobCategory.CREATURE;
155157
return MobCategory.MONSTER;
156-
}
158+
}*/
157159

158160
@Override
159161
public boolean removeWhenFarAway(double distanceToClosestPlayer) {
@@ -431,7 +433,9 @@ public boolean hasLineOfSight(Entity entityIn) {
431433
public void addAdditionalSaveData(@NotNull CompoundTag compound) {
432434
super.addAdditionalSaveData(compound);
433435

434-
compound.put(TAG_CARRYING_ITEM, getCarryingItem().serializeNBT());
436+
CompoundTag stackTag = new CompoundTag();
437+
getCarryingItem().save(stackTag);
438+
compound.put(TAG_CARRYING_ITEM, stackTag);
435439

436440
compound.putByte(TAG_VARIANT, getVariant().getIndex());
437441
compound.putFloat(TAG_HOLD_ANGLE, getItemAngle());
@@ -493,7 +497,7 @@ protected SoundEvent getAmbientSound() {
493497
@NotNull
494498
@Override
495499
public Packet<?> getAddEntityPacket() {
496-
return NetworkHooks.getEntitySpawningPacket(this);
500+
return new ClientboundAddEntityPacket(this);
497501
}
498502

499503
@Override

0 commit comments

Comments
 (0)