8000 Roundels! by Loqor · Pull Request #1460 · amblelabs/ait · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Roundels! #1460

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 57 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
65bddfe
fmt
Loqor Apr 12, 2025
09181c7
feat: it works!! kinda
Loqor Apr 12, 2025
56beba3
feat: RAHH THEY WORK NOW
Loqor Apr 13, 2025
c04ad7c
fix: half holes
Loqor Apr 13, 2025
a0afb2a
feat: dynamic textures (cant test bcs black screen)
Loqor Apr 13, 2025
bea5ccd
feat: rotational roundel block
Loqor Apr 13, 2025
55e0aa3
feat: more patterns!!!
Loqor Apr 13, 2025
e332132
fix: hopefully dynamic NOWWW
Loqor Apr 13, 2025
2ecbe11
fix: dynamic tex
Loqor Apr 13, 2025
f355275
no more println
Loqor Apr 13, 2025
7ec3018
feat: you can now set the roundel block to be any block!
Loqor Apr 13, 2025
713770c
feat: you can now set the roundel block to be any block for real now!
Loqor Apr 14, 2025
ec146a8
fix: roundel culling
Loqor Apr 14, 2025
738d5b9
fix: stuff
Saturnorsomthing Apr 14, 2025
0acc9cc
fix: roundel block translation
Addi3 Apr 14, 2025
ae88440
feat: more roundel stuff (turning them into blocks)
Loqor Apr 14, 2025
f055a13
Merge branch 'main' into feat/roundels
Loqor Apr 15, 2025
bb34c74
Fixed Block Model texture not working
RedaKarimi Apr 16, 2025
215f6bc
Merge remote-tracking branch 'origin/feat/roundels' into feat/roundels
Loqor Apr 16, 2025
5f6debf
feat: NO MORE LAG WITH ROUNDELS!!!
Loqor Apr 16, 2025
8734fa3
fix: they save their data properly now
Loqor Apr 16, 2025
917296c
remove RoundelBlockEntityRenderer.java
Loqor Apr 16, 2025
fb3e521
Merge branch 'main' into feat/roundels
Loqor Apr 16, 2025
6ecb587
fix: going brrrr and wotn buoild
Loqor Apr 16, 2025
289f5a5
feat: roundelType record as opposed to Pair<RoundelPattern, DyeColor>…
Loqor Apr 16, 2025
9dd0b23
fix: forgor to remove bool
Loqor Apr 16, 2025
e91e77e
fix: emissive boolean stuff
Loqor Apr 16, 2025
c45aab4
fix: roundel item rendering
Loqor Apr 17, 2025
b1b74ea
Merge branch 'main' into feat/roundels
Loqor Apr 17, 2025
d1b02bf
item is borked
Loqor Apr 18, 2025
2a3cd7f
Merge branch 'main' into feat/roundels
Loqor Apr 20, 2025
db2cc48
Merge branch 'main' into feat/roundels
Loqor Apr 20, 2025
e24f52a
feat: lord have mercy upon us, so many roundels, bassicly all of them…
Saturnorsomthing Apr 21, 2025
1541c1b
feat: secondary interior roundel patterns (like 2-4 textures per roun…
Addi3 Apr 21, 2025
0258ee7
feat: chorus roundel texture
Addi3 Apr 21, 2025
3fd085b
beginning on color wheel
Loqor Apr 21, 2025
78ec2c3
feat: COLOR PICKER FOR THE ROUNDELS!
Loqor Apr 23, 2025
043d205
Merge branch 'main' into feat/roundels
Loqor Apr 23, 2025
784ed6c
feat: more dyability + cursor + hex input
Loqor Apr 23, 2025
942621c
Merge branch 'main' into feat/roundels
Loqor Apr 23, 2025
3c21eea
fixing item rendering
Loqor Apr 23, 2025
4504248
Merge branch 'main' into feat/roundels
Loqor Apr 23, 2025
2627a0a
feat: roundel fabricator texture update
Loqor Apr 23, 2025
d2d462f
Merge branch 'main' into feat/roundels
Loqor Apr 23, 2025
6f7b594
Merge branch 'main' into feat/roundels
Loqor Apr 23, 2025
4f2e5fe
fix: all of theo's nitpicks
Loqor Apr 23, 2025
453d4fd
Merge branch 'main' into feat/roundels
Loqor Apr 24, 2025
5742578
fix: roundel blocks render layer's weren't having a great time
Loqor Apr 24, 2025
164e654
Merge branch 'main' into feat/roundels
Loqor Apr 28, 2025
8adbbef
Merge branch 'main' into feat/roundels
Loqor May 1, 2025
2e93d3d
replace getInteriorWorld() with worldRef().get()
Loqor May 1, 2025
9d4640a
Merge branch 'main' into feat/roundels
Loqor May 2, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 11 additions & 1 deletion
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@
import net.minecraft.registry.Registry;
import net.minecraft.registry.RegistryKey;
import net.minecraft.registry.RegistryKeys;
import net.minecraft.resource.featuretoggle.FeatureSet;
import net.minecraft.screen.ScreenHandlerType;
import net.minecraft.server.network.ServerPlayerEntity;
import net.minecraft.server.world.ServerWorld;
import net.minecraft.util.Identifier;
Expand All @@ -63,6 +65,8 @@
import dev.amble.ait.core.likes.ItemOpinionRegistry;
import dev.amble.ait.core.lock.LockedDimensionRegistry;
import dev.amble.ait.core.loot.SetBlueprintLootFunction;
import dev.amble.ait.core.roundels.RoundelPatterns;
import dev.amble.ait.core.screens.RoundelFabricatorScreenHandler;
import dev.amble.ait.core.sounds.flight.FlightSoundRegistry;
import dev.amble.ait.core.sounds.travel.TravelSoundRegistry;
import dev.amble.ait.core.tardis.animation.v2.blockbench.BlockbenchParser;
Expand Down Expand Up @@ -91,7 +95,6 @@
import dev.amble.ait.registry.impl.exterior.ExteriorVariantRegistry;

public class AITMod implements ModInitializer {

public static final String MOD_ID = "ait";
public static final Logger LOGGER = LoggerFactory.getLogger("ait");
public static final Random RANDOM = new Random();
Expand All @@ -103,6 +106,11 @@ public class AITMod implements ModInitializer {
public static final GameRules.Key<GameRules.BooleanRule> TARDIS_FIRE_GRIEFING = GameRuleRegistry.register("tardisFireGriefing",
GameRules.Category.MISC, GameRuleFactory.createBooleanRule(false));

// Screens
public static final ScreenHandlerType<RoundelFabricatorScreenHandler> ROUNDEL_FABRICATOR_HANDLER = Registry.register(Registries.SCREEN_HANDLER,
AITMod.id("roundel_fabricator"),
new ScreenHandlerType<>(RoundelFabricatorScreenHandler::new, FeatureSet.empty()));


public static final RegistryKey<PlacedFeature> CUSTOM_GEODE_PLACED_KEY = RegistryKey.of(RegistryKeys.PLACED_FEATURE,
new Identifier(MOD_ID, "zeiton_geode"));
Expand Down Expand Up @@ -165,6 +173,8 @@ public void onInitialize() {
SubSystemRegistry.getInstance(),
ItemOpinionRegistry.getInstance(),
DrinkRegistry.getInstance(),
RoundelPatterns.getInstance(),
DrinkRegistry.getInstance(),
TardisAnimationRegistry.getInstance()
);
ControlSoundRegistry.init();
Expand Down
21 changes: 19 additions & 2 deletions src/main/java/dev/amble/ait/client/AITModClient.java
10000
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
import net.fabricmc.api.Environment;
import net.fabricmc.fabric.api.blockrenderlayer.v1.BlockRenderLayerMap;
import net.fabricmc.fabric.api.client.command.v2.ClientCommandRegistrationCallback;
import net.fabricmc.fabric.api.client.model.loading.v1.ModelLoadingPlugin;
import net.fabricmc.fabric.api.client.networking.v1.ClientPlayConnectionEvents;
import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking;
import net.fabricmc.fabric.api.client.particle.v1.ParticleFactoryRegistry;
Expand All @@ -24,6 +25,7 @@
import net.minecraft.block.DoorBlock;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.gui.screen.ingame.HandledScreens;
import net.minecraft.client.item.ModelPredicateProviderRegistry;
import net.minecraft.client.particle.EndRodParticle;
import net.minecraft.client.render.LightmapTextureManager;
Expand All @@ -33,7 +35,10 @@
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.client.world.ClientWorld;
import net.minecraft.util.Identifier;
import net.minecraft.util.math.*;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.RotationAxis;
import net.minecraft.util.math.RotationPropertyHelper;
import net.minecraft.util.math.Vec3d;
import net.minecraft.world.LightType;

import dev.amble.ait.AITMod;
Expand Down Expand Up @@ -86,6 +91,8 @@
import dev.amble.ait.core.entities.RiftEntity;
import dev.amble.ait.core.entities.TrenzalorePaintingEntity;
import dev.amble.ait.core.item.*;
import dev.amble.ait.core.roundels.RoundelPatterns;
import dev.amble.ait.core.screens.RoundelFabricatorScreen;
import dev.amble.ait.core.tardis.Tardis;
import dev.amble.ait.core.world.TardisServerWorld;
import dev.amble.ait.data.schema.console.ConsoleTypeSchema;
Expand All @@ -108,15 +115,19 @@ public void onInitializeClient() {
AmbleRegistries.getInstance().registerAll(
SonicRegistry.getInstance(),
DrinkRegistry.getInstance(),
RoundelPatterns.getInstance(),
ClientExteriorVariantRegistry.getInstance(),
ClientConsoleVariantRegistry.getInstance()
);

ModelLoadingPlugin.register(new AITModelPlugin());

ClientDoorRegistry.init();
ClientTardisManager.init();

ModuleRegistry.instance().onClientInit();

registerScreens();
setupBlockRendering();
blockEntityRendererRegister();
entityRenderRegister();
Expand Down Expand Up @@ -155,7 +166,6 @@ public void onInitializeClient() {
WorldRenderEvents.AFTER_ENTITIES.register(this::riftBOTI);
}

// @TODO idk why but this gets rid of other important stuff, not sure
DimensionRenderingRegistry.registerDimensionEffects(AITDimensions.MARS.getValue(), new MarsSkyProperties());

WorldRenderEvents.BEFORE_ENTITIES.register(context -> {
Expand Down Expand Up @@ -392,6 +402,8 @@ public static void blockEntityRendererRegister() {
BlockEntityRendererFactories.register(AITBlockEntityTypes.ENGINE_BLOCK_ENTITY_TYPE, EngineRenderer::new);
BlockEntityRendererFactories.register(AITBlockEntityTypes.FABRICATOR_BLOCK_ENTITY_TYPE,
FabricatorRenderer::new);
BlockEntityRendererFactories.register(AITBlockEntityTypes.ROUNDEL_FABRICATOR_BLOCK_ENTITY_TYPE,
RoundelFabricatorRenderer::new);
BlockEntityRendererFactories.register(AITBlockEntityTypes.WAYPOINT_BANK_BLOCK_ENTITY_TYPE,
WaypointBankBlockEntityRenderer::new);
BlockEntityRendererFactories.register(AITBlockEntityTypes.FLAG_BLOCK_ENTITY_TYPE, FlagBlockEntityRenderer::new);
Expand Down Expand Up @@ -431,6 +443,7 @@ public static void setupBlockRendering() {
map.putBlock(AITBlocks.FABRICATOR, RenderLayer.getTranslucent());
map.putBlock(AITBlocks.ENVIRONMENT_PROJECTOR, RenderLayer.getTranslucent());
map.putBlock(AITBlocks.WAYPOINT_BANK, RenderLayer.getCutout());
map.putBlock(AITBlocks.ROUNDEL, RenderLayer.getCutout());
if (isUnlockedOnThisDay(Calendar.DECEMBER, 30)) {
map.putBlock(AITBlocks.SNOW_GLOBE, RenderLayer.getCutout());
}
Expand All @@ -440,6 +453,10 @@ public static void setupBlockRendering() {
map.putBlock(AITBlocks.MATRIX_ENERGIZER, RenderLayer.getCutout());
}

public void registerScreens() {
HandledScreens.register(ROUNDEL_FABRICATOR_HANDLER, RoundelFabricatorScreen::new);
}

public void registerItemColors() {
ColorProviderRegistry.ITEM.register((stack, tintIndex) ->tintIndex > 0 ? -1 :
DrinkUtil.getColor(stack), AITItems.MUG);
Expand Down
33 changes: 33 additions & 0 deletions src/main/java/dev/amble/ait/client/AITModelPlugin.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
package dev.amble.ait.client;

import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.fabricmc.fabric.api.client.model.loading.v1.ModelLoadingPlugin;
import net.fabricmc.fabric.api.client.model.loading.v1.ModelModifier;

import net.minecraft.client.render.model.UnbakedModel;
import net.minecraft.util.Identifier;

import dev.amble.ait.AITMod;
import dev.amble.ait.client.models.RoundelModel;

@Environment(EnvType.CLIENT)
public class AITModelPlugin implements ModelLoadingPlugin, ModelModifier.OnLoad {
public static final Identifier ROUNDEL_MODEL = AITMod.id("roundel");

@Override
public void onInitializeModelLoader(ModelLoadingPlugin.Context pluginContext) {
pluginContext.modifyModelOnLoad().register(this);
}

@Override
public UnbakedModel modifyModelOnLoad(UnbakedModel model, ModelModifier.OnLoad.Context context) {
Identifier id = context.id();
// This is EXCEPTIONALLY stupid. But so is Mojang. So, in conclusion, fuck you. - Loqor
if (id != null && (
id.toString().contains("ait:roundel#") && !id.toString().contains("ait:roundel_fabricator"))) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i mean
if it contains "ait:roundel#" it cant contain "ait:roundel_fabricator".

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i assume the # checks for everything after that so

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

????

return new RoundelModel();
}
return model;
}
}
Loading
Loading
0