Skip to content

Commit be23f75

Browse files
committed
Finished updating robotics to 1.20.1 and Create 6.0.0 and removed GeckoLib references as it doesn't support our gradle build
1 parent 5a1102c commit be23f75

26 files changed

+137
-198
lines changed

build.gradle

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,7 @@ legacyForge {
106106
repositories {
107107
maven { url = "https://maven.createmod.net" } // Create, Ponder, Flywheel
108108
maven { url = "https://maven.tterrag.com" } // Registrate
109+
109110
maven { url = "https://maven.blamejared.com" } // JEI, Vazkii's Mods
110111
maven { url = "https://harleyoconnor.com/maven" } // Dynamic Trees
111112
maven { url = "https://maven.theillusivec4.top/" } // Curios API
@@ -141,7 +142,7 @@ dependencies {
141142
modImplementation("net.createmod.ponder:Ponder-Forge-${minecraft_version}:${ponder_version}")
142143

143144
compileOnly(annotationProcessor("io.github.llamalad7:mixinextras-common:${mixin_extras_version}"))
144-
145+
145146
// modCompileOnly("mezz.jei:jei-${jei_minecraft_version}-common-api:${jei_version}")
146147
// modCompileOnly("mezz.jei:jei-${jei_minecraft_version}-forge-api:${jei_version}")
147148
modImplementation("mezz.jei:jei-${jei_minecraft_version}-forge:${jei_version}")

src/main/java/com/workert/robotics/Robotics.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.workert.robotics;
22

33
import com.mojang.logging.LogUtils;
4+
import com.simibubi.create.content.logistics.box.PackageEntity;
45
import com.simibubi.create.foundation.data.CreateRegistrate;
56
import com.workert.robotics.base.client.ClientHandler;
67
import com.workert.robotics.base.client.KeybindList;
@@ -21,7 +22,7 @@
2122

2223
@Mod(Robotics.MOD_ID)
2324
public class Robotics {
24-
25+
PackageEntity
2526
public static final String MOD_ID = "robotics";
2627
public static final Logger LOGGER = LogUtils.getLogger();
2728

Lines changed: 0 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
package com.workert.robotics.base.client;
22

3-
import com.simibubi.create.foundation.item.TooltipHelper;
4-
import com.simibubi.create.infrastructure.config.AllConfigs;
53
import com.workert.robotics.Robotics;
64
import com.workert.robotics.base.registries.ItemRegistry;
75
import com.workert.robotics.content.robotics.clockcopter.ClockcopterModel;
@@ -11,15 +9,8 @@
119
import net.createmod.ponder.foundation.registration.DefaultPonderSceneRegistrationHelper;
1210
import net.createmod.ponder.foundation.registration.PonderLocalization;
1311
import net.createmod.ponder.foundation.registration.PonderSceneRegistry;
14-
import net.minecraft.network.chat.Component;
15-
import net.minecraft.world.item.ItemStack;
1612
import net.minecraftforge.client.event.EntityRenderersEvent;
1713
import net.minecraftforge.common.MinecraftForge;
18-
import net.minecraftforge.event.entity.player.ItemTooltipEvent;
19-
import net.minecraftforge.eventbus.api.SubscribeEvent;
20-
21-
import java.util.ArrayList;
22-
import java.util.List;
2314

2415
public class ClientHandler {
2516
private static final PonderLocalization LOCALIZATION = new PonderLocalization();
@@ -40,22 +31,4 @@ public static void registerLayerDefinition(EntityRenderersEvent.RegisterLayerDef
4031
event.registerLayerDefinition(ExtendOBootsModel.LAYER_LOCATION, ExtendOBootsModel::createBodyLayer);
4132
event.registerLayerDefinition(FlyingToolboxModel.LAYER_LOCATION, FlyingToolboxModel::createBodyLayer);
4233
}
43-
44-
@SubscribeEvent
45-
public static void addToItemTooltip(ItemTooltipEvent event) {
46-
if (!AllConfigs.client().tooltips.get()) return;
47-
if (event.getEntity() == null) return;
48-
49-
ItemStack stack = event.getItemStack();
50-
String translationKey = stack.getItem().getDescriptionId(stack);
51-
52-
if (translationKey.startsWith("item." + Robotics.MOD_ID) || translationKey.startsWith(
53-
"block." + Robotics.MOD_ID)) {
54-
List<Component> itemTooltip = event.getToolTip();
55-
List<Component> toolTip = new ArrayList<>();
56-
toolTip.add(itemTooltip.remove(0));
57-
TooltipHelper.getTooltip(stack).addInformation(toolTip);
58-
itemTooltip.addAll(0, toolTip);
59-
}
60-
}
6134
}

src/main/java/com/workert/robotics/base/client/LangPartials.java

Lines changed: 0 additions & 46 deletions
This file was deleted.
Lines changed: 44 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,58 @@
11
package com.workert.robotics.base.datagen;
2+
import com.google.gson.JsonElement;
3+
import com.google.gson.JsonObject;
4+
import com.simibubi.create.Create;
5+
import com.simibubi.create.foundation.data.recipe.ProcessingRecipeGen;
6+
import com.simibubi.create.foundation.utility.FilesHelper;
7+
import com.simibubi.create.infrastructure.data.CreateRegistrateTags;
8+
import com.tterrag.registrate.providers.ProviderType;
29
import com.workert.robotics.Robotics;
3-
import com.workert.robotics.base.client.LangPartials;
410
import com.workert.robotics.base.datagen.recipe.SequencedAssemblyRecipeGen;
5-
import net.createmod.ponder.foundation.registration.PonderLocalization;
11+
import net.createmod.ponder.foundation.PonderIndex;
612
import net.minecraft.data.DataGenerator;
13+
import net.minecraft.data.PackOutput;
714
import net.minecraftforge.data.event.GatherDataEvent;
815

16+
import java.util.Map;
17+
import java.util.function.BiConsumer;
18+
919
public class RoboticsDatagen {
10-
// TODO Update Translations to 1.20.1 registrate
1120
public static void gatherData(GatherDataEvent event) {
12-
DataGenerator dataGenerator = event.getGenerator();
21+
addExtraRegistrateData();
1322

14-
if (event.includeClient()) {
15-
PonderLocalization.provideRegistrateLang(Robotics.REGISTRATE);
16-
dataGenerator.addProvider(true,
17-
new LangMerger(dataGenerator, Robotics.MOD_ID, "Create Robotics", LangPartials.values()));
18-
}
23+
DataGenerator generator = event.getGenerator();
24+
PackOutput output = generator.getPackOutput();
25+
26+
generator.addProvider(event.includeServer(), new SequencedAssemblyRecipeGen(output));
1927

2028
if (event.includeServer()) {
21-
dataGenerator.addProvider(true, new SequencedAssemblyRecipeGen(dataGenerator));
29+
ProcessingRecipeGen.registerAll(generator, output);
30+
}
31+
}
32+
33+
private static void addExtraRegistrateData() {
34+
CreateRegistrateTags.addGenerators();
35+
36+
Create.REGISTRATE.addDataGenerator(ProviderType.LANG, provider -> {
37+
BiConsumer<String, String> langConsumer = provider::add;
38+
39+
provideDefaultLang("interface", langConsumer);
40+
provideDefaultLang("tooltips", langConsumer);
41+
PonderIndex.getLangAccess().provideLang(Robotics.MOD_ID, langConsumer);
42+
});
43+
}
44+
45+
private static void provideDefaultLang(String fileName, BiConsumer<String, String> consumer) {
46+
String path = "assets/robotics/lang/default/" + fileName + ".json";
47+
JsonElement jsonElement = FilesHelper.loadJsonResource(path);
48+
if (jsonElement == null) {
49+
throw new IllegalStateException(String.format("Could not find default lang file: %s", path));
50+
}
51+
JsonObject jsonObject = jsonElement.getAsJsonObject();
52+
for (Map.Entry<String, JsonElement> entry : jsonObject.entrySet()) {
53+
String key = entry.getKey();
54+
String value = entry.getValue().getAsString();
55+
consumer.accept(key, value);
2256
}
2357
}
2458
}

src/main/java/com/workert/robotics/base/datagen/recipe/SequencedAssemblyRecipeGen.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,14 @@
88
import com.workert.robotics.Robotics;
99
import com.workert.robotics.base.registries.BlockRegistry;
1010
import com.workert.robotics.base.registries.ItemRegistry;
11-
import net.minecraft.data.DataGenerator;
11+
import net.minecraft.data.PackOutput;
1212
import net.minecraft.resources.ResourceLocation;
1313

1414
import java.util.function.UnaryOperator;
1515

1616
public class SequencedAssemblyRecipeGen extends CreateRecipeProvider {
17-
public SequencedAssemblyRecipeGen(DataGenerator dataGenerator) {
18-
super(dataGenerator.getPackOutput());
17+
public SequencedAssemblyRecipeGen(PackOutput packOutput) {
18+
super(packOutput);
1919
}
2020

2121
GeneratedRecipe CLOCKCOPTER = this.create("clockcopter",

src/main/java/com/workert/robotics/base/registries/BlockRegistry.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import com.simibubi.create.api.behaviour.display.DisplaySource;
44
import com.simibubi.create.content.redstone.displayLink.source.ComputerDisplaySource;
55
import com.simibubi.create.foundation.data.TagGen;
6+
import com.simibubi.create.foundation.item.ItemDescription;
67
import com.simibubi.create.infrastructure.config.CStress;
78
import com.tterrag.registrate.providers.loot.RegistrateBlockLootTables;
89
import com.tterrag.registrate.util.entry.BlockEntry;
@@ -16,6 +17,7 @@
1617
import com.workert.robotics.content.computers.ioblocks.scanner.ScannerBlock;
1718
import com.workert.robotics.content.robotics.codeeditor.CodeEditorBlock;
1819
import com.workert.robotics.unused.smasher.SmasherBlock;
20+
import net.minecraft.core.registries.Registries;
1921
import net.minecraft.tags.BlockTags;
2022
import net.minecraft.world.item.enchantment.Enchantments;
2123
import net.minecraft.world.level.block.Block;
@@ -122,7 +124,9 @@ public static void register() {
122124
.properties(properties -> properties.of()
123125
.sound(SoundType.WOOD)
124126
.noOcclusion())
125-
.simpleItem()
127+
.item()
128+
.onRegisterAfter(Registries.ITEM, v -> ItemDescription.useKey(v, "block.robotics.code_editor"))
129+
.build()
126130
.register();
127131

128132
public static final BlockEntry<ComputerBlock> COMPUTER = Robotics.REGISTRATE

src/main/java/com/workert/robotics/base/registries/ItemRegistry.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,13 @@
22

33
import com.simibubi.create.AllTags;
44
import com.simibubi.create.content.processing.sequenced.SequencedAssemblyItem;
5+
import com.simibubi.create.foundation.item.ItemDescription;
56
import com.tterrag.registrate.util.entry.ItemEntry;
67
import com.workert.robotics.Robotics;
78
import com.workert.robotics.content.computers.punchcard.PunchCardItem;
89
import com.workert.robotics.content.robotics.BaseRobotItem;
910
import com.workert.robotics.content.utility.extendoboots.ExtendOBootsItem;
11+
import net.minecraft.core.registries.Registries;
1012
import net.minecraft.world.item.CreativeModeTab;
1113
import net.minecraft.world.item.Item;
1214
import net.minecraft.world.item.Rarity;
@@ -56,6 +58,7 @@ public static void register() {
5658
.properties(properties -> properties
5759
.stacksTo(1)
5860
.rarity(Rarity.UNCOMMON))
61+
.onRegisterAfter(Registries.ITEM, v -> ItemDescription.useKey(v, "item.robotics.program"))
5962
.register();
6063

6164
public static final ItemEntry<BaseRobotItem> CLOCKCOPTER = Robotics.REGISTRATE
@@ -80,6 +83,7 @@ public static void register() {
8083
.item("extend_o_boots",
8184
ExtendOBootsItem::new)
8285
.lang("Extend-O-Boots")
86+
.onRegisterAfter(Registries.ITEM, v -> ItemDescription.useKey(v, "item.robotics.extend_o_boots"))
8387
.register();
8488

8589
public static final ItemEntry<SequencedAssemblyItem> INCOMPLETE_CLOCKCOPTER = Robotics.REGISTRATE.item(

src/main/java/com/workert/robotics/base/roboscript/RoboScriptHelper.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
package com.workert.robotics.base.roboscript;
22
import com.workert.robotics.base.registries.ItemRegistry;
33
import net.minecraft.core.BlockPos;
4-
import net.minecraft.core.Registry;
4+
import net.minecraft.core.registries.Registries;
55
import net.minecraft.resources.ResourceLocation;
66
import net.minecraft.world.item.Item;
77
import net.minecraft.world.item.ItemStack;
8+
import net.minecraft.world.level.Level;
89
import net.minecraftforge.registries.ForgeRegistries;
910

1011
import javax.annotation.Nonnull;
@@ -144,13 +145,14 @@ public static BlockPos asBlockPos(Object a, Object b, Object c) {
144145
return asBlockPos(a, b, c, "Argument must be a whole number.");
145146
}
146147

147-
public static Item asItem(Object object) {
148+
public static Item asItem(Object object, Level level) {
148149
String itemId = asNonEmptyString(object);
149-
return getItemById(itemId);
150+
return getItemById(itemId, level);
150151
}
151152

152-
public static Item getItemById(@Nonnull String id) {
153-
return Registry.ITEM.get(new ResourceLocation(id.trim().split(":")[0], id.trim().split(":")[1]));
153+
public static Item getItemById(@Nonnull String id, @Nonnull Level level) {
154+
return level.registryAccess().registry(Registries.ITEM).get()
155+
.get(new ResourceLocation(id.trim().split(":")[0], id.trim().split(":")[1]));
154156
}
155157

156158
public static <ReturnType> ReturnType optional(Object object, @Nonnull Function<Object, ReturnType> predicateFunction) {

src/main/java/com/workert/robotics/content/computers/ioblocks/IOBlockItem.java

Lines changed: 2 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
package com.workert.robotics.content.computers.ioblocks;
2-
import com.simibubi.create.CreateClient;
2+
import com.simibubi.create.content.logistics.depot.EjectorTargetHandler;
33
import com.workert.robotics.base.config.RoboticsConfigs;
44
import com.workert.robotics.content.computers.computer.ComputerBlockEntity;
55
import net.minecraft.ChatFormatting;
6-
import net.minecraft.client.Minecraft;
76
import net.minecraft.core.BlockPos;
87
import net.minecraft.core.Vec3i;
98
import net.minecraft.nbt.CompoundTag;
@@ -18,8 +17,6 @@
1817
import net.minecraft.world.level.Level;
1918
import net.minecraft.world.level.block.Block;
2019
import net.minecraft.world.level.block.state.BlockState;
21-
import net.minecraft.world.phys.AABB;
22-
import net.minecraft.world.phys.shapes.VoxelShape;
2320

2421
public class IOBlockItem extends BlockItem {
2522
public IOBlockItem(Block pBlock, Properties pProperties) {
@@ -86,22 +83,9 @@ public boolean canAttackBlock(BlockState pState, Level pLevel, BlockPos pPos, Pl
8683
@Override
8784
public void inventoryTick(ItemStack pStack, Level pLevel, Entity pEntity, int pSlotId, boolean pIsSelected) {
8885
if (pEntity instanceof Player && pLevel.isClientSide && pIsSelected)
89-
drawOutline(NbtUtils.readBlockPos(
86+
EjectorTargetHandler.drawOutline(NbtUtils.readBlockPos(
9087
pEntity.getSlot(pSlotId).get().getOrCreateTag().getCompound("BlockEntityTag")
9188
.getCompound("TargetPosition")));
9289
super.inventoryTick(pStack, pLevel, pEntity, pSlotId, pIsSelected);
9390
}
94-
95-
public static void drawOutline(BlockPos selection) {
96-
Level world = Minecraft.getInstance().level;
97-
if (selection == null)
98-
return;
99-
100-
BlockState state = world.getBlockState(selection);
101-
VoxelShape shape = state.getShape(world, selection);
102-
AABB boundingBox = shape.isEmpty() ? new AABB(BlockPos.ZERO) : shape.bounds();
103-
CreateClient.OUTLINER.showAABB("target", boundingBox.move(selection))
104-
.colored(0xffcb74)
105-
.lineWidth(1 / 16f);
106-
}
10791
}

0 commit comments

Comments
 (0)