mirror of
https://github.com/Creators-of-Create/Create.git
synced 2024-12-15 17:23:41 +01:00
Hard-working Registrate
- Deprecate CreateRegistrate#lazy, add CreateRegistrate#create, and call registerEventListeners manually - Remove Create#registrate and use Create.REGISTRATE instead - Move tag datagen code and methods to TagGen - Pass event busses directly to Curios#init - Update logging to use SLF4J - Update Flywheel to 0.6.8-95 - Increment version to 0.5.0.g
This commit is contained in:
parent
cf87508276
commit
131c9a5479
42 changed files with 509 additions and 447 deletions
1
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
1
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
|
@ -49,6 +49,7 @@ body:
|
||||||
label: Mod Version
|
label: Mod Version
|
||||||
description: The version of the mod you were using when the bug occured
|
description: The version of the mod you were using when the bug occured
|
||||||
options:
|
options:
|
||||||
|
- "0.5.0g"
|
||||||
- "0.5.0f"
|
- "0.5.0f"
|
||||||
- "0.5.0e"
|
- "0.5.0e"
|
||||||
- "0.5.0d"
|
- "0.5.0d"
|
||||||
|
|
|
@ -144,7 +144,7 @@ dependencies {
|
||||||
jarJar.pin(it, project.registrate_version)
|
jarJar.pin(it, project.registrate_version)
|
||||||
}
|
}
|
||||||
// Uncomment once Forge fixes mixins for included jars
|
// Uncomment once Forge fixes mixins for included jars
|
||||||
//jarJar(group: 'com.jozufozu.flywheel', name: "flywheel-forge-${flywheel_minecraft_version}", version: '[0.6.4,0.6.5)') {
|
//jarJar(group: 'com.jozufozu.flywheel', name: "flywheel-forge-${flywheel_minecraft_version}", version: '[0.6.8,0.6.9)') {
|
||||||
// jarJar.pin(it, project.flywheel_version)
|
// jarJar.pin(it, project.flywheel_version)
|
||||||
//}
|
//}
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@ org.gradle.jvmargs = -Xmx3G
|
||||||
org.gradle.daemon = false
|
org.gradle.daemon = false
|
||||||
|
|
||||||
# mod version info
|
# mod version info
|
||||||
mod_version = 0.5.0.e
|
mod_version = 0.5.0.g
|
||||||
artifact_minecraft_version = 1.18.2
|
artifact_minecraft_version = 1.18.2
|
||||||
|
|
||||||
minecraft_version = 1.18.2
|
minecraft_version = 1.18.2
|
||||||
|
@ -16,12 +16,12 @@ mixingradle_version = 0.7-SNAPSHOT
|
||||||
mixin_version = 0.8.5
|
mixin_version = 0.8.5
|
||||||
librarian_version = 1.+
|
librarian_version = 1.+
|
||||||
cursegradle_version = 1.4.0
|
cursegradle_version = 1.4.0
|
||||||
parchment_version = 2022.07.10
|
parchment_version = 2022.11.06
|
||||||
|
|
||||||
# dependency versions
|
# dependency versions
|
||||||
registrate_version = MC1.18.2-1.1.3
|
registrate_version = MC1.18.2-1.1.3
|
||||||
flywheel_minecraft_version = 1.18.2
|
flywheel_minecraft_version = 1.18.2
|
||||||
flywheel_version = 0.6.5-91
|
flywheel_version = 0.6.8-95
|
||||||
jei_minecraft_version = 1.18.2
|
jei_minecraft_version = 1.18.2
|
||||||
jei_version = 9.7.0.209
|
jei_version = 9.7.0.209
|
||||||
curios_minecraft_version = 1.18.2
|
curios_minecraft_version = 1.18.2
|
||||||
|
|
|
@ -5624,20 +5624,19 @@ d79c82bc6cf59b073b2f51f5fea9c98e81d14b68 data/create/recipes/weathered_copper_ti
|
||||||
452d480dd50b97fce72e0c89429cf68db534c6b2 data/create/recipes/weathered_copper_tile_slab_from_weathered_copper_tiles_stonecutting.json
|
452d480dd50b97fce72e0c89429cf68db534c6b2 data/create/recipes/weathered_copper_tile_slab_from_weathered_copper_tiles_stonecutting.json
|
||||||
ac265a674626e0e832330086fd18fe0be37fc327 data/create/recipes/weathered_copper_tile_stairs.json
|
ac265a674626e0e832330086fd18fe0be37fc327 data/create/recipes/weathered_copper_tile_stairs.json
|
||||||
5942a571f79c40524bbf408775cf91de4715f2b6 data/create/recipes/weathered_copper_tile_stairs_from_weathered_copper_tiles_stonecutting.json
|
5942a571f79c40524bbf408775cf91de4715f2b6 data/create/recipes/weathered_copper_tile_stairs_from_weathered_copper_tiles_stonecutting.json
|
||||||
2d549ea56fb226c0e31e66c0391996093f8bece9 data/create/tags/blocks/brittle.json
|
2a2700b43614f86d3294726595cb28ed7dca4387 data/create/tags/blocks/brittle.json
|
||||||
d99d5c67bdffff60789a19bd51a5c5267c75e0a4 data/create/tags/blocks/casing.json
|
d99d5c67bdffff60789a19bd51a5c5267c75e0a4 data/create/tags/blocks/casing.json
|
||||||
443f75adbf3d2f6fb0aad4b344372669470065b8 data/create/tags/blocks/fan_transparent.json
|
ecdd4e6acda027a01b41d6d2d431f9675cd29b93 data/create/tags/blocks/fan_transparent.json
|
||||||
6e5d3b2123fbb00e7f439c091623619502551bca data/create/tags/blocks/non_movable.json
|
6e5d3b2123fbb00e7f439c091623619502551bca data/create/tags/blocks/non_movable.json
|
||||||
10781e8cfcbb3486327aace3aa00e437fb44b331 data/create/tags/blocks/ore_override_stone.json
|
10781e8cfcbb3486327aace3aa00e437fb44b331 data/create/tags/blocks/ore_override_stone.json
|
||||||
418c6da531d6206e3cbe4049dce3db23c4270bed data/create/tags/blocks/passive_boiler_heaters.json
|
760adb521c2e475a6414f97291f46c02d294fa74 data/create/tags/blocks/passive_boiler_heaters.json
|
||||||
74f4ba5f6f61c30e27947c6fb4557e888d018285 data/create/tags/blocks/safe_nbt.json
|
23eb7cf8abff36f85320c35c69b98fdb775c8ec9 data/create/tags/blocks/safe_nbt.json
|
||||||
6cdeeac1689f7b5bfd9bc40b462143d8eaf3ad0b data/create/tags/blocks/seats.json
|
6cdeeac1689f7b5bfd9bc40b462143d8eaf3ad0b data/create/tags/blocks/seats.json
|
||||||
d063e12c9ef75f39518c6d129ea35d833464d547 data/create/tags/blocks/toolboxes.json
|
d063e12c9ef75f39518c6d129ea35d833464d547 data/create/tags/blocks/toolboxes.json
|
||||||
8861f982c335a1f17796df4af53a7d5dc91fc85a data/create/tags/blocks/tree_attachments.json
|
9460e92c8e483446318b849abe7e6f52dcd4a269 data/create/tags/blocks/tree_attachments.json
|
||||||
50936b211d94167a35ec78c89954082a336b6269 data/create/tags/blocks/valve_handles.json
|
50936b211d94167a35ec78c89954082a336b6269 data/create/tags/blocks/valve_handles.json
|
||||||
eac71740fb12bdb38b5dfaa2268613d7ba82b809 data/create/tags/blocks/windmill_sails.json
|
eac71740fb12bdb38b5dfaa2268613d7ba82b809 data/create/tags/blocks/windmill_sails.json
|
||||||
74700d556ca80c7a1db5fd4efb09c3ddb26cad66 data/create/tags/blocks/windowable.json
|
96671fd75d4209280940ef774c4185f33610a64d data/create/tags/blocks/wrench_pickup.json
|
||||||
c71f8ee0103d0c1b0d1b0727f1ecdc4d1999f1f6 data/create/tags/blocks/wrench_pickup.json
|
|
||||||
a8bdc387cfa6296ebcc4af14323e2ddb632234dc data/create/tags/fluids/bottomless/allow.json
|
a8bdc387cfa6296ebcc4af14323e2ddb632234dc data/create/tags/fluids/bottomless/allow.json
|
||||||
74700d556ca80c7a1db5fd4efb09c3ddb26cad66 data/create/tags/fluids/bottomless/deny.json
|
74700d556ca80c7a1db5fd4efb09c3ddb26cad66 data/create/tags/fluids/bottomless/deny.json
|
||||||
74700d556ca80c7a1db5fd4efb09c3ddb26cad66 data/create/tags/items/blaze_burner_fuel/regular.json
|
74700d556ca80c7a1db5fd4efb09c3ddb26cad66 data/create/tags/items/blaze_burner_fuel/regular.json
|
||||||
|
@ -5684,7 +5683,6 @@ ff1900963bc4cd8ceffa78d58ef1952ceacb2fb7 data/forge/tags/blocks/storage_blocks/b
|
||||||
6b73c57912934d09233ad2966110968a6109f2c9 data/forge/tags/fluids/chocolate.json
|
6b73c57912934d09233ad2966110968a6109f2c9 data/forge/tags/fluids/chocolate.json
|
||||||
391c9b2be5740aea943a8a5fe27eb327e2d973b0 data/forge/tags/fluids/honey.json
|
391c9b2be5740aea943a8a5fe27eb327e2d973b0 data/forge/tags/fluids/honey.json
|
||||||
d6a4e4fe1204b718010543a28a9b9ec4e0977bd7 data/forge/tags/fluids/tea.json
|
d6a4e4fe1204b718010543a28a9b9ec4e0977bd7 data/forge/tags/fluids/tea.json
|
||||||
d9ffc62a496946fc4848934e7c0a6e917337f8be data/forge/tags/items/beacon_payment.json
|
|
||||||
5af3164b14c92d2d6e235b5d4eebd93cbee37c0a data/forge/tags/items/buckets/honey.json
|
5af3164b14c92d2d6e235b5d4eebd93cbee37c0a data/forge/tags/items/buckets/honey.json
|
||||||
2f7cf5a2d485f25d451da9771ed466591cfa5204 data/forge/tags/items/dough.json
|
2f7cf5a2d485f25d451da9771ed466591cfa5204 data/forge/tags/items/dough.json
|
||||||
2f7cf5a2d485f25d451da9771ed466591cfa5204 data/forge/tags/items/dough/wheat.json
|
2f7cf5a2d485f25d451da9771ed466591cfa5204 data/forge/tags/items/dough/wheat.json
|
||||||
|
@ -5737,6 +5735,7 @@ d622e97373b1e96632ffb0a312ef04696da0ed4d data/minecraft/tags/blocks/trapdoors.js
|
||||||
0ec220675cbf8a6eeb47d42b7409395a0cb6ae6e data/minecraft/tags/blocks/walls.json
|
0ec220675cbf8a6eeb47d42b7409395a0cb6ae6e data/minecraft/tags/blocks/walls.json
|
||||||
e16d74571ae10007f06f3b86ddf05d3ca9b73559 data/minecraft/tags/blocks/wooden_doors.json
|
e16d74571ae10007f06f3b86ddf05d3ca9b73559 data/minecraft/tags/blocks/wooden_doors.json
|
||||||
09d26bcd0f94459f945219997277c4fbf14adeb7 data/minecraft/tags/fluids/water.json
|
09d26bcd0f94459f945219997277c4fbf14adeb7 data/minecraft/tags/fluids/water.json
|
||||||
|
d9ffc62a496946fc4848934e7c0a6e917337f8be data/minecraft/tags/items/beacon_payment_items.json
|
||||||
e16d74571ae10007f06f3b86ddf05d3ca9b73559 data/minecraft/tags/items/doors.json
|
e16d74571ae10007f06f3b86ddf05d3ca9b73559 data/minecraft/tags/items/doors.json
|
||||||
49cadea86f6b63d5065b859a0d0e7ad772cf51d6 data/minecraft/tags/items/piglin_loved.json
|
49cadea86f6b63d5065b859a0d0e7ad772cf51d6 data/minecraft/tags/items/piglin_loved.json
|
||||||
49a043b38ca8d4e2fa8cba9ceee3b69715a8476e data/minecraft/tags/items/slabs.json
|
49a043b38ca8d4e2fa8cba9ceee3b69715a8476e data/minecraft/tags/items/slabs.json
|
||||||
|
|
|
@ -25,10 +25,10 @@
|
||||||
"create:redstone_link",
|
"create:redstone_link",
|
||||||
"create:peculiar_bell",
|
"create:peculiar_bell",
|
||||||
"create:haunted_bell",
|
"create:haunted_bell",
|
||||||
"#minecraft:doors",
|
|
||||||
"#minecraft:beds",
|
|
||||||
"minecraft:flower_pot",
|
|
||||||
"minecraft:bell",
|
"minecraft:bell",
|
||||||
"minecraft:cocoa"
|
"minecraft:cocoa",
|
||||||
|
"minecraft:flower_pot",
|
||||||
|
"#minecraft:beds",
|
||||||
|
"#minecraft:doors"
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -4,8 +4,8 @@
|
||||||
"create:blaze_burner",
|
"create:blaze_burner",
|
||||||
"create:lit_blaze_burner",
|
"create:lit_blaze_burner",
|
||||||
"create:sail_frame",
|
"create:sail_frame",
|
||||||
"#minecraft:fences",
|
"minecraft:iron_bars",
|
||||||
"#minecraft:campfires",
|
"#minecraft:campfires",
|
||||||
"minecraft:iron_bars"
|
"#minecraft:fences"
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -3,9 +3,9 @@
|
||||||
"values": [
|
"values": [
|
||||||
"create:blaze_burner",
|
"create:blaze_burner",
|
||||||
"create:lit_blaze_burner",
|
"create:lit_blaze_burner",
|
||||||
"#minecraft:fire",
|
|
||||||
"#minecraft:campfires",
|
|
||||||
"minecraft:magma_block",
|
"minecraft:magma_block",
|
||||||
"minecraft:lava"
|
"minecraft:lava",
|
||||||
|
"#minecraft:campfires",
|
||||||
|
"#minecraft:fire"
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -25,7 +25,7 @@
|
||||||
"create:placard",
|
"create:placard",
|
||||||
"create:pulse_repeater",
|
"create:pulse_repeater",
|
||||||
"create:pulse_extender",
|
"create:pulse_extender",
|
||||||
"#minecraft:signs",
|
"#minecraft:banners",
|
||||||
"#minecraft:banners"
|
"#minecraft:signs"
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -2,9 +2,9 @@
|
||||||
"replace": false,
|
"replace": false,
|
||||||
"values": [
|
"values": [
|
||||||
"minecraft:bee_nest",
|
"minecraft:bee_nest",
|
||||||
"minecraft:vine",
|
"minecraft:cocoa",
|
||||||
"minecraft:moss_carpet",
|
"minecraft:moss_carpet",
|
||||||
"minecraft:shroomlight",
|
"minecraft:shroomlight",
|
||||||
"minecraft:cocoa"
|
"minecraft:vine"
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -1,4 +0,0 @@
|
||||||
{
|
|
||||||
"replace": false,
|
|
||||||
"values": []
|
|
||||||
}
|
|
|
@ -1,9 +1,6 @@
|
||||||
{
|
{
|
||||||
"replace": false,
|
"replace": false,
|
||||||
"values": [
|
"values": [
|
||||||
"#minecraft:rails",
|
|
||||||
"#minecraft:buttons",
|
|
||||||
"#minecraft:pressure_plates",
|
|
||||||
"minecraft:redstone_wire",
|
"minecraft:redstone_wire",
|
||||||
"minecraft:redstone_torch",
|
"minecraft:redstone_torch",
|
||||||
"minecraft:repeater",
|
"minecraft:repeater",
|
||||||
|
@ -17,6 +14,9 @@
|
||||||
"minecraft:tripwire_hook",
|
"minecraft:tripwire_hook",
|
||||||
"minecraft:daylight_detector",
|
"minecraft:daylight_detector",
|
||||||
"minecraft:target",
|
"minecraft:target",
|
||||||
"minecraft:hopper"
|
"minecraft:hopper",
|
||||||
|
"#minecraft:buttons",
|
||||||
|
"#minecraft:pressure_plates",
|
||||||
|
"#minecraft:rails"
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -2,16 +2,17 @@ package com.simibubi.create;
|
||||||
|
|
||||||
import static com.simibubi.create.AllInteractionBehaviours.interactionBehaviour;
|
import static com.simibubi.create.AllInteractionBehaviours.interactionBehaviour;
|
||||||
import static com.simibubi.create.AllMovementBehaviours.movementBehaviour;
|
import static com.simibubi.create.AllMovementBehaviours.movementBehaviour;
|
||||||
import static com.simibubi.create.AllTags.axeOnly;
|
import static com.simibubi.create.Create.REGISTRATE;
|
||||||
import static com.simibubi.create.AllTags.axeOrPickaxe;
|
|
||||||
import static com.simibubi.create.AllTags.pickaxeOnly;
|
|
||||||
import static com.simibubi.create.AllTags.tagBlockAndItem;
|
|
||||||
import static com.simibubi.create.content.AllSections.SCHEMATICS;
|
import static com.simibubi.create.content.AllSections.SCHEMATICS;
|
||||||
import static com.simibubi.create.content.logistics.block.display.AllDisplayBehaviours.assignDataBehaviour;
|
import static com.simibubi.create.content.logistics.block.display.AllDisplayBehaviours.assignDataBehaviour;
|
||||||
import static com.simibubi.create.foundation.data.BlockStateGen.axisBlock;
|
import static com.simibubi.create.foundation.data.BlockStateGen.axisBlock;
|
||||||
import static com.simibubi.create.foundation.data.BlockStateGen.simpleCubeAll;
|
import static com.simibubi.create.foundation.data.BlockStateGen.simpleCubeAll;
|
||||||
import static com.simibubi.create.foundation.data.CreateRegistrate.connectedTextures;
|
import static com.simibubi.create.foundation.data.CreateRegistrate.connectedTextures;
|
||||||
import static com.simibubi.create.foundation.data.ModelGen.customItemModel;
|
import static com.simibubi.create.foundation.data.ModelGen.customItemModel;
|
||||||
|
import static com.simibubi.create.foundation.data.TagGen.axeOnly;
|
||||||
|
import static com.simibubi.create.foundation.data.TagGen.axeOrPickaxe;
|
||||||
|
import static com.simibubi.create.foundation.data.TagGen.pickaxeOnly;
|
||||||
|
import static com.simibubi.create.foundation.data.TagGen.tagBlockAndItem;
|
||||||
|
|
||||||
import com.simibubi.create.AllTags.AllBlockTags;
|
import com.simibubi.create.AllTags.AllBlockTags;
|
||||||
import com.simibubi.create.AllTags.AllItemTags;
|
import com.simibubi.create.AllTags.AllItemTags;
|
||||||
|
@ -275,8 +276,9 @@ import net.minecraftforge.common.Tags;
|
||||||
|
|
||||||
public class AllBlocks {
|
public class AllBlocks {
|
||||||
|
|
||||||
private static final CreateRegistrate REGISTRATE = Create.registrate()
|
static {
|
||||||
.creativeModeTab(() -> Create.BASE_CREATIVE_TAB);
|
REGISTRATE.creativeModeTab(() -> Create.BASE_CREATIVE_TAB);
|
||||||
|
}
|
||||||
|
|
||||||
// Schematics
|
// Schematics
|
||||||
|
|
||||||
|
|
|
@ -53,7 +53,7 @@ public class AllContainerTypes {
|
||||||
|
|
||||||
private static <C extends AbstractContainerMenu, S extends Screen & MenuAccess<C>> MenuEntry<C> register(
|
private static <C extends AbstractContainerMenu, S extends Screen & MenuAccess<C>> MenuEntry<C> register(
|
||||||
String name, ForgeMenuFactory<C> factory, NonNullSupplier<ScreenFactory<C, S>> screenFactory) {
|
String name, ForgeMenuFactory<C> factory, NonNullSupplier<ScreenFactory<C, S>> screenFactory) {
|
||||||
return Create.registrate()
|
return Create.REGISTRATE
|
||||||
.menu(name, factory, screenFactory)
|
.menu(name, factory, screenFactory)
|
||||||
.register();
|
.register();
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
package com.simibubi.create;
|
package com.simibubi.create;
|
||||||
|
|
||||||
|
import static com.simibubi.create.Create.REGISTRATE;
|
||||||
|
|
||||||
import com.simibubi.create.content.curiosities.armor.CapacityEnchantment;
|
import com.simibubi.create.content.curiosities.armor.CapacityEnchantment;
|
||||||
import com.simibubi.create.content.curiosities.weapons.PotatoRecoveryEnchantment;
|
import com.simibubi.create.content.curiosities.weapons.PotatoRecoveryEnchantment;
|
||||||
import com.simibubi.create.foundation.data.CreateRegistrate;
|
|
||||||
import com.tterrag.registrate.util.entry.RegistryEntry;
|
import com.tterrag.registrate.util.entry.RegistryEntry;
|
||||||
|
|
||||||
import net.minecraft.world.entity.EquipmentSlot;
|
import net.minecraft.world.entity.EquipmentSlot;
|
||||||
|
@ -11,8 +12,6 @@ import net.minecraft.world.item.enchantment.EnchantmentCategory;
|
||||||
|
|
||||||
public class AllEnchantments {
|
public class AllEnchantments {
|
||||||
|
|
||||||
private static final CreateRegistrate REGISTRATE = Create.registrate();
|
|
||||||
|
|
||||||
public static final RegistryEntry<PotatoRecoveryEnchantment> POTATO_RECOVERY = REGISTRATE.object("potato_recovery")
|
public static final RegistryEntry<PotatoRecoveryEnchantment> POTATO_RECOVERY = REGISTRATE.object("potato_recovery")
|
||||||
.enchantment(EnchantmentCategory.BOW, PotatoRecoveryEnchantment::new)
|
.enchantment(EnchantmentCategory.BOW, PotatoRecoveryEnchantment::new)
|
||||||
.addSlots(EquipmentSlot.MAINHAND, EquipmentSlot.OFFHAND)
|
.addSlots(EquipmentSlot.MAINHAND, EquipmentSlot.OFFHAND)
|
||||||
|
|
|
@ -73,7 +73,7 @@ public class AllEntityTypes {
|
||||||
MobCategory group, int range, int updateFrequency, boolean sendVelocity, boolean immuneToFire,
|
MobCategory group, int range, int updateFrequency, boolean sendVelocity, boolean immuneToFire,
|
||||||
NonNullConsumer<EntityType.Builder<T>> propertyBuilder) {
|
NonNullConsumer<EntityType.Builder<T>> propertyBuilder) {
|
||||||
String id = Lang.asId(name);
|
String id = Lang.asId(name);
|
||||||
return (CreateEntityBuilder<T, ?>) Create.registrate()
|
return (CreateEntityBuilder<T, ?>) Create.REGISTRATE
|
||||||
.entity(id, factory, group)
|
.entity(id, factory, group)
|
||||||
.properties(b -> b.setTrackingRange(range)
|
.properties(b -> b.setTrackingRange(range)
|
||||||
.setUpdateInterval(updateFrequency)
|
.setUpdateInterval(updateFrequency)
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
package com.simibubi.create;
|
package com.simibubi.create;
|
||||||
|
|
||||||
|
import static com.simibubi.create.Create.REGISTRATE;
|
||||||
|
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
|
|
||||||
import com.simibubi.create.AllTags.AllFluidTags;
|
import com.simibubi.create.AllTags.AllFluidTags;
|
||||||
|
@ -7,7 +9,6 @@ import com.simibubi.create.content.contraptions.fluids.VirtualFluid;
|
||||||
import com.simibubi.create.content.contraptions.fluids.potion.PotionFluid;
|
import com.simibubi.create.content.contraptions.fluids.potion.PotionFluid;
|
||||||
import com.simibubi.create.content.contraptions.fluids.potion.PotionFluid.PotionFluidAttributes;
|
import com.simibubi.create.content.contraptions.fluids.potion.PotionFluid.PotionFluidAttributes;
|
||||||
import com.simibubi.create.content.palettes.AllPaletteStoneTypes;
|
import com.simibubi.create.content.palettes.AllPaletteStoneTypes;
|
||||||
import com.simibubi.create.foundation.data.CreateRegistrate;
|
|
||||||
import com.tterrag.registrate.util.entry.FluidEntry;
|
import com.tterrag.registrate.util.entry.FluidEntry;
|
||||||
|
|
||||||
import net.minecraft.core.BlockPos;
|
import net.minecraft.core.BlockPos;
|
||||||
|
@ -20,8 +21,6 @@ import net.minecraftforge.fluids.ForgeFlowingFluid;
|
||||||
|
|
||||||
public class AllFluids {
|
public class AllFluids {
|
||||||
|
|
||||||
private static final CreateRegistrate REGISTRATE = Create.registrate();
|
|
||||||
|
|
||||||
public static final FluidEntry<PotionFluid> POTION =
|
public static final FluidEntry<PotionFluid> POTION =
|
||||||
REGISTRATE.virtualFluid("potion", PotionFluidAttributes::new, PotionFluid::new)
|
REGISTRATE.virtualFluid("potion", PotionFluidAttributes::new, PotionFluid::new)
|
||||||
.lang("Potion")
|
.lang("Potion")
|
||||||
|
|
|
@ -4,6 +4,7 @@ import static com.simibubi.create.AllTags.forgeItemTag;
|
||||||
import static com.simibubi.create.AllTags.AllItemTags.CREATE_INGOTS;
|
import static com.simibubi.create.AllTags.AllItemTags.CREATE_INGOTS;
|
||||||
import static com.simibubi.create.AllTags.AllItemTags.CRUSHED_ORES;
|
import static com.simibubi.create.AllTags.AllItemTags.CRUSHED_ORES;
|
||||||
import static com.simibubi.create.AllTags.AllItemTags.PLATES;
|
import static com.simibubi.create.AllTags.AllItemTags.PLATES;
|
||||||
|
import static com.simibubi.create.Create.REGISTRATE;
|
||||||
import static com.simibubi.create.content.AllSections.CURIOSITIES;
|
import static com.simibubi.create.content.AllSections.CURIOSITIES;
|
||||||
import static com.simibubi.create.content.AllSections.KINETICS;
|
import static com.simibubi.create.content.AllSections.KINETICS;
|
||||||
import static com.simibubi.create.content.AllSections.LOGISTICS;
|
import static com.simibubi.create.content.AllSections.LOGISTICS;
|
||||||
|
@ -71,8 +72,9 @@ import net.minecraftforge.common.Tags;
|
||||||
|
|
||||||
public class AllItems {
|
public class AllItems {
|
||||||
|
|
||||||
private static final CreateRegistrate REGISTRATE = Create.registrate()
|
static {
|
||||||
.creativeModeTab(() -> Create.BASE_CREATIVE_TAB);
|
REGISTRATE.creativeModeTab(() -> Create.BASE_CREATIVE_TAB);
|
||||||
|
}
|
||||||
|
|
||||||
// Schematics
|
// Schematics
|
||||||
|
|
||||||
|
|
|
@ -2,19 +2,17 @@ package com.simibubi.create;
|
||||||
|
|
||||||
import static com.simibubi.create.AllTags.NameSpace.FORGE;
|
import static com.simibubi.create.AllTags.NameSpace.FORGE;
|
||||||
import static com.simibubi.create.AllTags.NameSpace.MOD;
|
import static com.simibubi.create.AllTags.NameSpace.MOD;
|
||||||
|
import static com.simibubi.create.AllTags.NameSpace.QUARK;
|
||||||
import static com.simibubi.create.AllTags.NameSpace.TIC;
|
import static com.simibubi.create.AllTags.NameSpace.TIC;
|
||||||
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
|
||||||
import com.simibubi.create.foundation.data.CreateRegistrate;
|
import com.simibubi.create.foundation.data.TagGen;
|
||||||
import com.simibubi.create.foundation.data.recipe.Mods;
|
|
||||||
import com.simibubi.create.foundation.utility.Lang;
|
import com.simibubi.create.foundation.utility.Lang;
|
||||||
import com.tterrag.registrate.builders.BlockBuilder;
|
import com.tterrag.registrate.builders.BlockBuilder;
|
||||||
import com.tterrag.registrate.builders.ItemBuilder;
|
import com.tterrag.registrate.builders.ItemBuilder;
|
||||||
import com.tterrag.registrate.providers.ProviderType;
|
|
||||||
import com.tterrag.registrate.util.nullness.NonNullFunction;
|
import com.tterrag.registrate.util.nullness.NonNullFunction;
|
||||||
|
|
||||||
import net.minecraft.data.tags.TagsProvider.TagAppender;
|
|
||||||
import net.minecraft.resources.ResourceLocation;
|
import net.minecraft.resources.ResourceLocation;
|
||||||
import net.minecraft.tags.BlockTags;
|
import net.minecraft.tags.BlockTags;
|
||||||
import net.minecraft.tags.FluidTags;
|
import net.minecraft.tags.FluidTags;
|
||||||
|
@ -23,23 +21,15 @@ import net.minecraft.tags.TagKey;
|
||||||
import net.minecraft.world.item.BlockItem;
|
import net.minecraft.world.item.BlockItem;
|
||||||
import net.minecraft.world.item.Item;
|
import net.minecraft.world.item.Item;
|
||||||
import net.minecraft.world.item.ItemStack;
|
import net.minecraft.world.item.ItemStack;
|
||||||
import net.minecraft.world.item.Items;
|
|
||||||
import net.minecraft.world.level.block.Block;
|
import net.minecraft.world.level.block.Block;
|
||||||
import net.minecraft.world.level.block.Blocks;
|
|
||||||
import net.minecraft.world.level.block.state.BlockState;
|
import net.minecraft.world.level.block.state.BlockState;
|
||||||
import net.minecraft.world.level.material.Fluid;
|
import net.minecraft.world.level.material.Fluid;
|
||||||
import net.minecraft.world.level.material.FluidState;
|
import net.minecraft.world.level.material.FluidState;
|
||||||
import net.minecraft.world.level.material.Fluids;
|
|
||||||
import net.minecraftforge.common.Tags;
|
|
||||||
import net.minecraftforge.registries.ForgeRegistries;
|
import net.minecraftforge.registries.ForgeRegistries;
|
||||||
import net.minecraftforge.registries.IForgeRegistry;
|
import net.minecraftforge.registries.IForgeRegistry;
|
||||||
import net.minecraftforge.registries.IForgeRegistryEntry;
|
import net.minecraftforge.registries.IForgeRegistryEntry;
|
||||||
|
|
||||||
public class AllTags {
|
public class AllTags {
|
||||||
|
|
||||||
private static final CreateRegistrate REGISTRATE = Create.registrate()
|
|
||||||
.creativeModeTab(() -> Create.BASE_CREATIVE_TAB);
|
|
||||||
|
|
||||||
public static <T extends IForgeRegistryEntry<T>> TagKey<T> optionalTag(IForgeRegistry<T> registry,
|
public static <T extends IForgeRegistryEntry<T>> TagKey<T> optionalTag(IForgeRegistry<T> registry,
|
||||||
ResourceLocation id) {
|
ResourceLocation id) {
|
||||||
return registry.tags()
|
return registry.tags()
|
||||||
|
@ -62,34 +52,32 @@ public class AllTags {
|
||||||
return forgeTag(ForgeRegistries.FLUIDS, path);
|
return forgeTag(ForgeRegistries.FLUIDS, path);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Deprecated(forRemoval = true)
|
||||||
public static <T extends Block, P> NonNullFunction<BlockBuilder<T, P>, BlockBuilder<T, P>> axeOrPickaxe() {
|
public static <T extends Block, P> NonNullFunction<BlockBuilder<T, P>, BlockBuilder<T, P>> axeOrPickaxe() {
|
||||||
return b -> b.tag(BlockTags.MINEABLE_WITH_AXE)
|
return TagGen.axeOrPickaxe();
|
||||||
.tag(BlockTags.MINEABLE_WITH_PICKAXE);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Deprecated(forRemoval = true)
|
||||||
public static <T extends Block, P> NonNullFunction<BlockBuilder<T, P>, BlockBuilder<T, P>> axeOnly() {
|
public static <T extends Block, P> NonNullFunction<BlockBuilder<T, P>, BlockBuilder<T, P>> axeOnly() {
|
||||||
return b -> b.tag(BlockTags.MINEABLE_WITH_AXE);
|
return TagGen.axeOnly();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Deprecated(forRemoval = true)
|
||||||
public static <T extends Block, P> NonNullFunction<BlockBuilder<T, P>, BlockBuilder<T, P>> pickaxeOnly() {
|
public static <T extends Block, P> NonNullFunction<BlockBuilder<T, P>, BlockBuilder<T, P>> pickaxeOnly() {
|
||||||
return b -> b.tag(BlockTags.MINEABLE_WITH_PICKAXE);
|
return TagGen.pickaxeOnly();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Deprecated(forRemoval = true)
|
||||||
public static <T extends Block, P> NonNullFunction<BlockBuilder<T, P>, ItemBuilder<BlockItem, BlockBuilder<T, P>>> tagBlockAndItem(
|
public static <T extends Block, P> NonNullFunction<BlockBuilder<T, P>, ItemBuilder<BlockItem, BlockBuilder<T, P>>> tagBlockAndItem(
|
||||||
String... path) {
|
String... path) {
|
||||||
return b -> {
|
return TagGen.tagBlockAndItem(path);
|
||||||
for (String p : path)
|
|
||||||
b.tag(forgeBlockTag(p));
|
|
||||||
ItemBuilder<BlockItem, BlockBuilder<T, P>> item = b.item();
|
|
||||||
for (String p : path)
|
|
||||||
item.tag(forgeItemTag(p));
|
|
||||||
return item;
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum NameSpace {
|
public enum NameSpace {
|
||||||
|
MOD(Create.ID, false, true),
|
||||||
MOD(Create.ID, false, true), FORGE("forge"), TIC("tconstruct"), QUARK("quark")
|
FORGE("forge"),
|
||||||
|
TIC("tconstruct"),
|
||||||
|
QUARK("quark")
|
||||||
|
|
||||||
;
|
;
|
||||||
|
|
||||||
|
@ -106,11 +94,9 @@ public class AllTags {
|
||||||
this.optionalDefault = optionalDefault;
|
this.optionalDefault = optionalDefault;
|
||||||
this.alwaysDatagenDefault = alwaysDatagenDefault;
|
this.alwaysDatagenDefault = alwaysDatagenDefault;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum AllBlockTags {
|
public enum AllBlockTags {
|
||||||
|
|
||||||
BRITTLE,
|
BRITTLE,
|
||||||
CASING,
|
CASING,
|
||||||
FAN_TRANSPARENT,
|
FAN_TRANSPARENT,
|
||||||
|
@ -120,21 +106,21 @@ public class AllTags {
|
||||||
SAFE_NBT,
|
SAFE_NBT,
|
||||||
SEATS,
|
SEATS,
|
||||||
TOOLBOXES,
|
TOOLBOXES,
|
||||||
|
TREE_ATTACHMENTS,
|
||||||
VALVE_HANDLES,
|
VALVE_HANDLES,
|
||||||
WINDMILL_SAILS,
|
WINDMILL_SAILS,
|
||||||
WINDOWABLE,
|
|
||||||
WRENCH_PICKUP,
|
WRENCH_PICKUP,
|
||||||
TREE_ATTACHMENTS,
|
|
||||||
|
|
||||||
RELOCATION_NOT_SUPPORTED(FORGE),
|
RELOCATION_NOT_SUPPORTED(FORGE),
|
||||||
WG_STONE(FORGE),
|
WG_STONE(FORGE),
|
||||||
|
|
||||||
SLIMY_LOGS(TIC),
|
SLIMY_LOGS(TIC),
|
||||||
NON_DOUBLE_DOOR(NameSpace.QUARK),
|
NON_DOUBLE_DOOR(QUARK),
|
||||||
|
|
||||||
;
|
;
|
||||||
|
|
||||||
public final TagKey<Block> tag;
|
public final TagKey<Block> tag;
|
||||||
|
public final boolean alwaysDatagen;
|
||||||
|
|
||||||
AllBlockTags() {
|
AllBlockTags() {
|
||||||
this(MOD);
|
this(MOD);
|
||||||
|
@ -159,9 +145,7 @@ public class AllTags {
|
||||||
} else {
|
} else {
|
||||||
tag = BlockTags.create(id);
|
tag = BlockTags.create(id);
|
||||||
}
|
}
|
||||||
if (alwaysDatagen) {
|
this.alwaysDatagen = alwaysDatagen;
|
||||||
REGISTRATE.addDataGenerator(ProviderType.BLOCK_TAGS, prov -> prov.tag(tag));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings("deprecation")
|
@SuppressWarnings("deprecation")
|
||||||
|
@ -174,42 +158,18 @@ public class AllTags {
|
||||||
return state.is(tag);
|
return state.is(tag);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void add(Block... values) {
|
private static void init() {
|
||||||
REGISTRATE.addDataGenerator(ProviderType.BLOCK_TAGS, prov -> prov.tag(tag)
|
|
||||||
.add(values));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addOptional(Mods mod, String... ids) {
|
|
||||||
REGISTRATE.addDataGenerator(ProviderType.BLOCK_TAGS, prov -> {
|
|
||||||
TagAppender<Block> builder = prov.tag(tag);
|
|
||||||
for (String id : ids)
|
|
||||||
builder.addOptional(mod.asResource(id));
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
public void includeIn(TagKey<Block> parent) {
|
|
||||||
REGISTRATE.addDataGenerator(ProviderType.BLOCK_TAGS, prov -> prov.tag(parent)
|
|
||||||
.addTag(tag));
|
|
||||||
}
|
|
||||||
|
|
||||||
public void includeIn(AllBlockTags parent) {
|
|
||||||
includeIn(parent.tag);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void includeAll(TagKey<Block> child) {
|
|
||||||
REGISTRATE.addDataGenerator(ProviderType.BLOCK_TAGS, prov -> prov.tag(tag)
|
|
||||||
.addTag(child));
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum AllItemTags {
|
public enum AllItemTags {
|
||||||
|
|
||||||
BLAZE_BURNER_FUEL_REGULAR(MOD, "blaze_burner_fuel/regular"),
|
BLAZE_BURNER_FUEL_REGULAR(MOD, "blaze_burner_fuel/regular"),
|
||||||
BLAZE_BURNER_FUEL_SPECIAL(MOD, "blaze_burner_fuel/special"),
|
BLAZE_BURNER_FUEL_SPECIAL(MOD, "blaze_burner_fuel/special"),
|
||||||
CASING,
|
CASING,
|
||||||
CREATE_INGOTS,
|
CREATE_INGOTS,
|
||||||
CRUSHED_ORES,
|
CRUSHED_ORES,
|
||||||
|
MODDED_STRIPPED_LOGS,
|
||||||
|
MODDED_STRIPPED_WOOD,
|
||||||
PRESSURIZED_AIR_SOURCES,
|
PRESSURIZED_AIR_SOURCES,
|
||||||
SANDPAPER,
|
SANDPAPER,
|
||||||
SEATS,
|
SEATS,
|
||||||
|
@ -219,18 +179,16 @@ public class AllTags {
|
||||||
VALVE_HANDLES,
|
VALVE_HANDLES,
|
||||||
VANILLA_STRIPPED_LOGS,
|
VANILLA_STRIPPED_LOGS,
|
||||||
VANILLA_STRIPPED_WOOD,
|
VANILLA_STRIPPED_WOOD,
|
||||||
MODDED_STRIPPED_LOGS,
|
|
||||||
MODDED_STRIPPED_WOOD,
|
|
||||||
|
|
||||||
STRIPPED_LOGS(FORGE),
|
STRIPPED_LOGS(FORGE),
|
||||||
STRIPPED_WOOD(FORGE),
|
STRIPPED_WOOD(FORGE),
|
||||||
BEACON_PAYMENT(FORGE),
|
|
||||||
PLATES(FORGE),
|
PLATES(FORGE),
|
||||||
WRENCH(FORGE, "tools/wrench")
|
WRENCH(FORGE, "tools/wrench")
|
||||||
|
|
||||||
;
|
;
|
||||||
|
|
||||||
public final TagKey<Item> tag;
|
public final TagKey<Item> tag;
|
||||||
|
public final boolean alwaysDatagen;
|
||||||
|
|
||||||
AllItemTags() {
|
AllItemTags() {
|
||||||
this(MOD);
|
this(MOD);
|
||||||
|
@ -255,9 +213,7 @@ public class AllTags {
|
||||||
} else {
|
} else {
|
||||||
tag = ItemTags.create(id);
|
tag = ItemTags.create(id);
|
||||||
}
|
}
|
||||||
if (alwaysDatagen) {
|
this.alwaysDatagen = alwaysDatagen;
|
||||||
REGISTRATE.addDataGenerator(ProviderType.ITEM_TAGS, prov -> prov.tag(tag));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings("deprecation")
|
@SuppressWarnings("deprecation")
|
||||||
|
@ -270,37 +226,11 @@ public class AllTags {
|
||||||
return stack.is(tag);
|
return stack.is(tag);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void add(Item... values) {
|
private static void init() {
|
||||||
REGISTRATE.addDataGenerator(ProviderType.ITEM_TAGS, prov -> prov.tag(tag)
|
|
||||||
.add(values));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addOptional(Mods mod, String... ids) {
|
|
||||||
REGISTRATE.addDataGenerator(ProviderType.ITEM_TAGS, prov -> {
|
|
||||||
TagAppender<Item> builder = prov.tag(tag);
|
|
||||||
for (String id : ids)
|
|
||||||
builder.addOptional(mod.asResource(id));
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
public void includeIn(TagKey<Item> parent) {
|
|
||||||
REGISTRATE.addDataGenerator(ProviderType.ITEM_TAGS, prov -> prov.tag(parent)
|
|
||||||
.addTag(tag));
|
|
||||||
}
|
|
||||||
|
|
||||||
public void includeIn(AllItemTags parent) {
|
|
||||||
includeIn(parent.tag);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void includeAll(TagKey<Item> child) {
|
|
||||||
REGISTRATE.addDataGenerator(ProviderType.ITEM_TAGS, prov -> prov.tag(tag)
|
|
||||||
.addTag(child));
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum AllFluidTags {
|
public enum AllFluidTags {
|
||||||
|
|
||||||
BOTTOMLESS_ALLOW(MOD, "bottomless/allow"),
|
BOTTOMLESS_ALLOW(MOD, "bottomless/allow"),
|
||||||
BOTTOMLESS_DENY(MOD, "bottomless/deny"),
|
BOTTOMLESS_DENY(MOD, "bottomless/deny"),
|
||||||
|
|
||||||
|
@ -309,6 +239,7 @@ public class AllTags {
|
||||||
;
|
;
|
||||||
|
|
||||||
public final TagKey<Fluid> tag;
|
public final TagKey<Fluid> tag;
|
||||||
|
public final boolean alwaysDatagen;
|
||||||
|
|
||||||
AllFluidTags() {
|
AllFluidTags() {
|
||||||
this(MOD);
|
this(MOD);
|
||||||
|
@ -333,9 +264,7 @@ public class AllTags {
|
||||||
} else {
|
} else {
|
||||||
tag = FluidTags.create(id);
|
tag = FluidTags.create(id);
|
||||||
}
|
}
|
||||||
if (alwaysDatagen) {
|
this.alwaysDatagen = alwaysDatagen;
|
||||||
REGISTRATE.addDataGenerator(ProviderType.FLUID_TAGS, prov -> prov.tag(tag));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings("deprecation")
|
@SuppressWarnings("deprecation")
|
||||||
|
@ -347,123 +276,13 @@ public class AllTags {
|
||||||
return state.is(tag);
|
return state.is(tag);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void add(Fluid... values) {
|
private static void init() {
|
||||||
REGISTRATE.addDataGenerator(ProviderType.FLUID_TAGS, prov -> prov.tag(tag)
|
|
||||||
.add(values));
|
|
||||||
}
|
|
||||||
|
|
||||||
public void includeIn(TagKey<Fluid> parent) {
|
|
||||||
REGISTRATE.addDataGenerator(ProviderType.FLUID_TAGS, prov -> prov.tag(parent)
|
|
||||||
.addTag(tag));
|
|
||||||
}
|
|
||||||
|
|
||||||
public void includeIn(AllFluidTags parent) {
|
|
||||||
includeIn(parent.tag);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void includeAll(TagKey<Fluid> child) {
|
|
||||||
REGISTRATE.addDataGenerator(ProviderType.FLUID_TAGS, prov -> prov.tag(tag)
|
|
||||||
.addTag(child));
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void register() {
|
|
||||||
AllFluidTags.BOTTOMLESS_ALLOW.add(Fluids.WATER, Fluids.LAVA);
|
|
||||||
|
|
||||||
AllItemTags.VANILLA_STRIPPED_LOGS.add(Items.STRIPPED_ACACIA_LOG, Items.STRIPPED_BIRCH_LOG,
|
|
||||||
Items.STRIPPED_CRIMSON_STEM, Items.STRIPPED_DARK_OAK_LOG, Items.STRIPPED_JUNGLE_LOG, Items.STRIPPED_OAK_LOG,
|
|
||||||
Items.STRIPPED_SPRUCE_LOG, Items.STRIPPED_WARPED_STEM);
|
|
||||||
|
|
||||||
AllItemTags.VANILLA_STRIPPED_LOGS.includeIn(AllItemTags.STRIPPED_LOGS);
|
|
||||||
|
|
||||||
AllItemTags.VANILLA_STRIPPED_WOOD.add(Items.STRIPPED_ACACIA_WOOD, Items.STRIPPED_BIRCH_WOOD,
|
|
||||||
Items.STRIPPED_CRIMSON_HYPHAE, Items.STRIPPED_DARK_OAK_WOOD, Items.STRIPPED_JUNGLE_WOOD,
|
|
||||||
Items.STRIPPED_OAK_WOOD, Items.STRIPPED_SPRUCE_WOOD, Items.STRIPPED_WARPED_HYPHAE);
|
|
||||||
|
|
||||||
AllItemTags.VANILLA_STRIPPED_WOOD.includeIn(AllItemTags.STRIPPED_WOOD);
|
|
||||||
|
|
||||||
AllItemTags.CREATE_INGOTS.includeIn(AllItemTags.BEACON_PAYMENT);
|
|
||||||
AllItemTags.CREATE_INGOTS.includeIn(Tags.Items.INGOTS);
|
|
||||||
|
|
||||||
AllItemTags.UPRIGHT_ON_BELT.add(Items.GLASS_BOTTLE, Items.POTION, Items.SPLASH_POTION, Items.LINGERING_POTION,
|
|
||||||
Items.HONEY_BOTTLE, Items.CAKE);
|
|
||||||
|
|
||||||
AllItemTags.SLEEPERS.add(Items.STONE_SLAB, Items.SMOOTH_STONE_SLAB, Items.ANDESITE_SLAB);
|
|
||||||
|
|
||||||
AllBlockTags.WINDMILL_SAILS.includeAll(BlockTags.WOOL);
|
|
||||||
|
|
||||||
AllBlockTags.BRITTLE.includeAll(BlockTags.DOORS);
|
|
||||||
AllBlockTags.BRITTLE.includeAll(BlockTags.BEDS);
|
|
||||||
AllBlockTags.BRITTLE.add(Blocks.FLOWER_POT, Blocks.BELL, Blocks.COCOA);
|
|
||||||
|
|
||||||
AllBlockTags.FAN_TRANSPARENT.includeAll(BlockTags.FENCES);
|
|
||||||
AllBlockTags.FAN_TRANSPARENT.includeAll(BlockTags.CAMPFIRES);
|
|
||||||
AllBlockTags.FAN_TRANSPARENT.add(Blocks.IRON_BARS);
|
|
||||||
|
|
||||||
AllBlockTags.PASSIVE_BOILER_HEATERS.includeAll(BlockTags.FIRE);
|
|
||||||
AllBlockTags.PASSIVE_BOILER_HEATERS.includeAll(BlockTags.CAMPFIRES);
|
|
||||||
AllBlockTags.PASSIVE_BOILER_HEATERS.add(Blocks.MAGMA_BLOCK, Blocks.LAVA);
|
|
||||||
|
|
||||||
AllBlockTags.SAFE_NBT.includeAll(BlockTags.SIGNS);
|
|
||||||
AllBlockTags.SAFE_NBT.includeAll(BlockTags.BANNERS);
|
|
||||||
|
|
||||||
AllBlockTags.WRENCH_PICKUP.includeAll(BlockTags.RAILS);
|
|
||||||
AllBlockTags.WRENCH_PICKUP.includeAll(BlockTags.BUTTONS);
|
|
||||||
AllBlockTags.WRENCH_PICKUP.includeAll(BlockTags.PRESSURE_PLATES);
|
|
||||||
AllBlockTags.WRENCH_PICKUP.add(Blocks.REDSTONE_WIRE, Blocks.REDSTONE_TORCH, Blocks.REPEATER, Blocks.LEVER,
|
|
||||||
Blocks.COMPARATOR, Blocks.OBSERVER, Blocks.REDSTONE_WALL_TORCH, Blocks.PISTON, Blocks.STICKY_PISTON,
|
|
||||||
Blocks.TRIPWIRE, Blocks.TRIPWIRE_HOOK, Blocks.DAYLIGHT_DETECTOR, Blocks.TARGET, Blocks.HOPPER);
|
|
||||||
|
|
||||||
AllBlockTags.TREE_ATTACHMENTS.add(Blocks.BEE_NEST, Blocks.VINE, Blocks.MOSS_CARPET, Blocks.SHROOMLIGHT,
|
|
||||||
Blocks.COCOA);
|
|
||||||
|
|
||||||
AllBlockTags.ORE_OVERRIDE_STONE.includeAll(BlockTags.STONE_ORE_REPLACEABLES);
|
|
||||||
|
|
||||||
registerCompat();
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void registerCompat() {
|
|
||||||
AllBlockTags.NON_MOVABLE.addOptional(Mods.IE, "connector_lv", "connector_lv_relay", "connector_mv",
|
|
||||||
"connector_mv_relay", "connector_hv", "connector_hv_relay", "connector_bundled", "connector_structural",
|
|
||||||
"connector_redstone", "connector_probe", "breaker_switch");
|
|
||||||
|
|
||||||
strippedWoodCompat(Mods.ARS_N, "blue_archwood", "purple_archwood", "green_archwood", "red_archwood");
|
|
||||||
strippedWoodCompat(Mods.BTN, "livingwood", "dreamwood");
|
|
||||||
strippedWoodCompat(Mods.FA, "cherrywood", "mysterywood");
|
|
||||||
strippedWoodCompat(Mods.HEX, "akashic");
|
|
||||||
strippedWoodCompat(Mods.ID, "menril");
|
|
||||||
strippedWoodCompat(Mods.BYG, "aspen", "baobab", "enchanted", "cherry", "cika", "cypress", "ebony", "ether",
|
|
||||||
"fir", "green_enchanted", "holly", "jacaranda", "lament", "mahogany", "mangrove", "maple", "nightshade",
|
|
||||||
"palm", "palo_verde", "pine", "rainbow_eucalyptus", "redwood", "skyris", "willow", "witch_hazel",
|
|
||||||
"zelkova");
|
|
||||||
strippedWoodCompat(Mods.SG, "netherwood");
|
|
||||||
strippedWoodCompat(Mods.TF, "twilight_oak", "canopy", "mangrove", "dark", "time", "transformation", "mining",
|
|
||||||
"sorting");
|
|
||||||
strippedWoodCompat(Mods.TIC, "greenheart", "skyroot", "bloodshroom");
|
|
||||||
strippedWoodCompat(Mods.AP, "twisted");
|
|
||||||
strippedWoodCompat(Mods.Q, "azalea", "blossom");
|
|
||||||
strippedWoodCompat(Mods.ECO, "coconut", "walnut", "azalea");
|
|
||||||
strippedWoodCompat(Mods.BOP, "fir", "redwood", "cherry", "mahogany", "jacaranda", "palm", "willow", "dead",
|
|
||||||
"magic", "umbran", "hellbark");
|
|
||||||
strippedWoodCompat(Mods.BSK, "bluebright", "starlit", "frostbright", "lunar", "dusk", "maple", "cherry");
|
|
||||||
|
|
||||||
AllItemTags.MODDED_STRIPPED_LOGS.addOptional(Mods.BYG, "stripped_bulbis_stem");
|
|
||||||
AllItemTags.MODDED_STRIPPED_WOOD.addOptional(Mods.BYG, "stripped_bulbis_wood");
|
|
||||||
|
|
||||||
AllItemTags.MODDED_STRIPPED_LOGS.includeIn(AllItemTags.STRIPPED_LOGS);
|
|
||||||
AllItemTags.MODDED_STRIPPED_WOOD.includeIn(AllItemTags.STRIPPED_WOOD);
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void strippedWoodCompat(Mods mod, String... woodtypes) {
|
|
||||||
for (int i = 0; i < woodtypes.length; i++) {
|
|
||||||
String type = woodtypes[i];
|
|
||||||
String strippedPre = mod.strippedIsSuffix ? "" : "stripped_";
|
|
||||||
String strippedPost = mod.strippedIsSuffix ? "_stripped" : "";
|
|
||||||
AllItemTags.MODDED_STRIPPED_LOGS.addOptional(mod, strippedPre + type + "_log" + strippedPost);
|
|
||||||
AllItemTags.MODDED_STRIPPED_WOOD.addOptional(mod,
|
|
||||||
strippedPre + type + (mod.omitWoodSuffix ? "" : "_wood") + strippedPost);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void init() {
|
||||||
|
AllBlockTags.init();
|
||||||
|
AllItemTags.init();
|
||||||
|
AllFluidTags.init();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package com.simibubi.create;
|
package com.simibubi.create;
|
||||||
|
|
||||||
|
import static com.simibubi.create.Create.REGISTRATE;
|
||||||
import static com.simibubi.create.content.logistics.block.display.AllDisplayBehaviours.assignDataBehaviourTE;
|
import static com.simibubi.create.content.logistics.block.display.AllDisplayBehaviours.assignDataBehaviourTE;
|
||||||
|
|
||||||
import com.simibubi.create.content.contraptions.base.CutoutRotatingInstance;
|
import com.simibubi.create.content.contraptions.base.CutoutRotatingInstance;
|
||||||
|
@ -203,41 +204,41 @@ import com.tterrag.registrate.util.entry.BlockEntityEntry;
|
||||||
public class AllTileEntities {
|
public class AllTileEntities {
|
||||||
|
|
||||||
// Schematics
|
// Schematics
|
||||||
public static final BlockEntityEntry<SchematicannonTileEntity> SCHEMATICANNON = Create.registrate()
|
public static final BlockEntityEntry<SchematicannonTileEntity> SCHEMATICANNON = REGISTRATE
|
||||||
.tileEntity("schematicannon", SchematicannonTileEntity::new)
|
.tileEntity("schematicannon", SchematicannonTileEntity::new)
|
||||||
.instance(() -> SchematicannonInstance::new)
|
.instance(() -> SchematicannonInstance::new)
|
||||||
.validBlocks(AllBlocks.SCHEMATICANNON)
|
.validBlocks(AllBlocks.SCHEMATICANNON)
|
||||||
.renderer(() -> SchematicannonRenderer::new)
|
.renderer(() -> SchematicannonRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<SchematicTableTileEntity> SCHEMATIC_TABLE = Create.registrate()
|
public static final BlockEntityEntry<SchematicTableTileEntity> SCHEMATIC_TABLE = REGISTRATE
|
||||||
.tileEntity("schematic_table", SchematicTableTileEntity::new)
|
.tileEntity("schematic_table", SchematicTableTileEntity::new)
|
||||||
.validBlocks(AllBlocks.SCHEMATIC_TABLE)
|
.validBlocks(AllBlocks.SCHEMATIC_TABLE)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
// Kinetics
|
// Kinetics
|
||||||
public static final BlockEntityEntry<BracketedKineticTileEntity> BRACKETED_KINETIC = Create.registrate()
|
public static final BlockEntityEntry<BracketedKineticTileEntity> BRACKETED_KINETIC = REGISTRATE
|
||||||
.tileEntity("simple_kinetic", BracketedKineticTileEntity::new)
|
.tileEntity("simple_kinetic", BracketedKineticTileEntity::new)
|
||||||
.instance(() -> BracketedKineticTileInstance::new, false)
|
.instance(() -> BracketedKineticTileInstance::new, false)
|
||||||
.validBlocks(AllBlocks.SHAFT, AllBlocks.COGWHEEL, AllBlocks.LARGE_COGWHEEL)
|
.validBlocks(AllBlocks.SHAFT, AllBlocks.COGWHEEL, AllBlocks.LARGE_COGWHEEL)
|
||||||
.renderer(() -> BracketedKineticTileRenderer::new)
|
.renderer(() -> BracketedKineticTileRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<CreativeMotorTileEntity> MOTOR = Create.registrate()
|
public static final BlockEntityEntry<CreativeMotorTileEntity> MOTOR = REGISTRATE
|
||||||
.tileEntity("motor", CreativeMotorTileEntity::new)
|
.tileEntity("motor", CreativeMotorTileEntity::new)
|
||||||
.instance(() -> HalfShaftInstance::new, false)
|
.instance(() -> HalfShaftInstance::new, false)
|
||||||
.validBlocks(AllBlocks.CREATIVE_MOTOR)
|
.validBlocks(AllBlocks.CREATIVE_MOTOR)
|
||||||
.renderer(() -> CreativeMotorRenderer::new)
|
.renderer(() -> CreativeMotorRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<GearboxTileEntity> GEARBOX = Create.registrate()
|
public static final BlockEntityEntry<GearboxTileEntity> GEARBOX = REGISTRATE
|
||||||
.tileEntity("gearbox", GearboxTileEntity::new)
|
.tileEntity("gearbox", GearboxTileEntity::new)
|
||||||
.instance(() -> GearboxInstance::new, false)
|
.instance(() -> GearboxInstance::new, false)
|
||||||
.validBlocks(AllBlocks.GEARBOX)
|
.validBlocks(AllBlocks.GEARBOX)
|
||||||
.renderer(() -> GearboxRenderer::new)
|
.renderer(() -> GearboxRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<KineticTileEntity> ENCASED_SHAFT = Create.registrate()
|
public static final BlockEntityEntry<KineticTileEntity> ENCASED_SHAFT = REGISTRATE
|
||||||
.tileEntity("encased_shaft", KineticTileEntity::new)
|
.tileEntity("encased_shaft", KineticTileEntity::new)
|
||||||
.instance(() -> ShaftInstance::new, false)
|
.instance(() -> ShaftInstance::new, false)
|
||||||
.validBlocks(AllBlocks.ANDESITE_ENCASED_SHAFT, AllBlocks.BRASS_ENCASED_SHAFT, AllBlocks.ENCASED_CHAIN_DRIVE,
|
.validBlocks(AllBlocks.ANDESITE_ENCASED_SHAFT, AllBlocks.BRASS_ENCASED_SHAFT, AllBlocks.ENCASED_CHAIN_DRIVE,
|
||||||
|
@ -245,62 +246,62 @@ public class AllTileEntities {
|
||||||
.renderer(() -> ShaftRenderer::new)
|
.renderer(() -> ShaftRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<SimpleKineticTileEntity> ENCASED_COGWHEEL = Create.registrate()
|
public static final BlockEntityEntry<SimpleKineticTileEntity> ENCASED_COGWHEEL = REGISTRATE
|
||||||
.tileEntity("encased_cogwheel", SimpleKineticTileEntity::new)
|
.tileEntity("encased_cogwheel", SimpleKineticTileEntity::new)
|
||||||
.instance(() -> EncasedCogInstance::small, false)
|
.instance(() -> EncasedCogInstance::small, false)
|
||||||
.validBlocks(AllBlocks.ANDESITE_ENCASED_COGWHEEL, AllBlocks.BRASS_ENCASED_COGWHEEL)
|
.validBlocks(AllBlocks.ANDESITE_ENCASED_COGWHEEL, AllBlocks.BRASS_ENCASED_COGWHEEL)
|
||||||
.renderer(() -> EncasedCogRenderer::small)
|
.renderer(() -> EncasedCogRenderer::small)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<SimpleKineticTileEntity> ENCASED_LARGE_COGWHEEL = Create.registrate()
|
public static final BlockEntityEntry<SimpleKineticTileEntity> ENCASED_LARGE_COGWHEEL = REGISTRATE
|
||||||
.tileEntity("encased_large_cogwheel", SimpleKineticTileEntity::new)
|
.tileEntity("encased_large_cogwheel", SimpleKineticTileEntity::new)
|
||||||
.instance(() -> EncasedCogInstance::large, false)
|
.instance(() -> EncasedCogInstance::large, false)
|
||||||
.validBlocks(AllBlocks.ANDESITE_ENCASED_LARGE_COGWHEEL, AllBlocks.BRASS_ENCASED_LARGE_COGWHEEL)
|
.validBlocks(AllBlocks.ANDESITE_ENCASED_LARGE_COGWHEEL, AllBlocks.BRASS_ENCASED_LARGE_COGWHEEL)
|
||||||
.renderer(() -> EncasedCogRenderer::large)
|
.renderer(() -> EncasedCogRenderer::large)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<AdjustablePulleyTileEntity> ADJUSTABLE_PULLEY = Create.registrate()
|
public static final BlockEntityEntry<AdjustablePulleyTileEntity> ADJUSTABLE_PULLEY = REGISTRATE
|
||||||
.tileEntity("adjustable_pulley", AdjustablePulleyTileEntity::new)
|
.tileEntity("adjustable_pulley", AdjustablePulleyTileEntity::new)
|
||||||
.instance(() -> ShaftInstance::new, false)
|
.instance(() -> ShaftInstance::new, false)
|
||||||
.validBlocks(AllBlocks.ADJUSTABLE_CHAIN_GEARSHIFT)
|
.validBlocks(AllBlocks.ADJUSTABLE_CHAIN_GEARSHIFT)
|
||||||
.renderer(() -> ShaftRenderer::new)
|
.renderer(() -> ShaftRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<EncasedFanTileEntity> ENCASED_FAN = Create.registrate()
|
public static final BlockEntityEntry<EncasedFanTileEntity> ENCASED_FAN = REGISTRATE
|
||||||
.tileEntity("encased_fan", EncasedFanTileEntity::new)
|
.tileEntity("encased_fan", EncasedFanTileEntity::new)
|
||||||
.instance(() -> FanInstance::new, false)
|
.instance(() -> FanInstance::new, false)
|
||||||
.validBlocks(AllBlocks.ENCASED_FAN)
|
.validBlocks(AllBlocks.ENCASED_FAN)
|
||||||
.renderer(() -> EncasedFanRenderer::new)
|
.renderer(() -> EncasedFanRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<NozzleTileEntity> NOZZLE = Create.registrate()
|
public static final BlockEntityEntry<NozzleTileEntity> NOZZLE = REGISTRATE
|
||||||
.tileEntity("nozzle", NozzleTileEntity::new)
|
.tileEntity("nozzle", NozzleTileEntity::new)
|
||||||
.validBlocks(AllBlocks.NOZZLE)
|
.validBlocks(AllBlocks.NOZZLE)
|
||||||
// .renderer(() -> renderer)
|
// .renderer(() -> renderer)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<ClutchTileEntity> CLUTCH = Create.registrate()
|
public static final BlockEntityEntry<ClutchTileEntity> CLUTCH = REGISTRATE
|
||||||
.tileEntity("clutch", ClutchTileEntity::new)
|
.tileEntity("clutch", ClutchTileEntity::new)
|
||||||
.instance(() -> SplitShaftInstance::new, false)
|
.instance(() -> SplitShaftInstance::new, false)
|
||||||
.validBlocks(AllBlocks.CLUTCH)
|
.validBlocks(AllBlocks.CLUTCH)
|
||||||
.renderer(() -> SplitShaftRenderer::new)
|
.renderer(() -> SplitShaftRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<GearshiftTileEntity> GEARSHIFT = Create.registrate()
|
public static final BlockEntityEntry<GearshiftTileEntity> GEARSHIFT = REGISTRATE
|
||||||
.tileEntity("gearshift", GearshiftTileEntity::new)
|
.tileEntity("gearshift", GearshiftTileEntity::new)
|
||||||
.instance(() -> SplitShaftInstance::new, false)
|
.instance(() -> SplitShaftInstance::new, false)
|
||||||
.validBlocks(AllBlocks.GEARSHIFT)
|
.validBlocks(AllBlocks.GEARSHIFT)
|
||||||
.renderer(() -> SplitShaftRenderer::new)
|
.renderer(() -> SplitShaftRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<TurntableTileEntity> TURNTABLE = Create.registrate()
|
public static final BlockEntityEntry<TurntableTileEntity> TURNTABLE = REGISTRATE
|
||||||
.tileEntity("turntable", TurntableTileEntity::new)
|
.tileEntity("turntable", TurntableTileEntity::new)
|
||||||
.instance(() -> SingleRotatingInstance::new, false)
|
.instance(() -> SingleRotatingInstance::new, false)
|
||||||
.validBlocks(AllBlocks.TURNTABLE)
|
.validBlocks(AllBlocks.TURNTABLE)
|
||||||
.renderer(() -> KineticTileEntityRenderer::new)
|
.renderer(() -> KineticTileEntityRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<HandCrankTileEntity> HAND_CRANK = Create.registrate()
|
public static final BlockEntityEntry<HandCrankTileEntity> HAND_CRANK = REGISTRATE
|
||||||
.tileEntity("hand_crank", HandCrankTileEntity::new)
|
.tileEntity("hand_crank", HandCrankTileEntity::new)
|
||||||
.instance(() -> HandCrankInstance::new)
|
.instance(() -> HandCrankInstance::new)
|
||||||
.validBlocks(AllBlocks.HAND_CRANK, AllBlocks.COPPER_VALVE_HANDLE)
|
.validBlocks(AllBlocks.HAND_CRANK, AllBlocks.COPPER_VALVE_HANDLE)
|
||||||
|
@ -308,209 +309,209 @@ public class AllTileEntities {
|
||||||
.renderer(() -> HandCrankRenderer::new)
|
.renderer(() -> HandCrankRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<CuckooClockTileEntity> CUCKOO_CLOCK = Create.registrate()
|
public static final BlockEntityEntry<CuckooClockTileEntity> CUCKOO_CLOCK = REGISTRATE
|
||||||
.tileEntity("cuckoo_clock", CuckooClockTileEntity::new)
|
.tileEntity("cuckoo_clock", CuckooClockTileEntity::new)
|
||||||
.instance(() -> HorizontalHalfShaftInstance::new)
|
.instance(() -> HorizontalHalfShaftInstance::new)
|
||||||
.validBlocks(AllBlocks.CUCKOO_CLOCK, AllBlocks.MYSTERIOUS_CUCKOO_CLOCK)
|
.validBlocks(AllBlocks.CUCKOO_CLOCK, AllBlocks.MYSTERIOUS_CUCKOO_CLOCK)
|
||||||
.renderer(() -> CuckooClockRenderer::new)
|
.renderer(() -> CuckooClockRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<GantryShaftTileEntity> GANTRY_SHAFT = Create.registrate()
|
public static final BlockEntityEntry<GantryShaftTileEntity> GANTRY_SHAFT = REGISTRATE
|
||||||
.tileEntity("gantry_shaft", GantryShaftTileEntity::new)
|
.tileEntity("gantry_shaft", GantryShaftTileEntity::new)
|
||||||
.instance(() -> SingleRotatingInstance::new, false)
|
.instance(() -> SingleRotatingInstance::new, false)
|
||||||
.validBlocks(AllBlocks.GANTRY_SHAFT)
|
.validBlocks(AllBlocks.GANTRY_SHAFT)
|
||||||
.renderer(() -> KineticTileEntityRenderer::new)
|
.renderer(() -> KineticTileEntityRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<GantryCarriageTileEntity> GANTRY_PINION = Create.registrate()
|
public static final BlockEntityEntry<GantryCarriageTileEntity> GANTRY_PINION = REGISTRATE
|
||||||
.tileEntity("gantry_pinion", GantryCarriageTileEntity::new)
|
.tileEntity("gantry_pinion", GantryCarriageTileEntity::new)
|
||||||
.instance(() -> GantryCarriageInstance::new)
|
.instance(() -> GantryCarriageInstance::new)
|
||||||
.validBlocks(AllBlocks.GANTRY_CARRIAGE)
|
.validBlocks(AllBlocks.GANTRY_CARRIAGE)
|
||||||
.renderer(() -> GantryCarriageRenderer::new)
|
.renderer(() -> GantryCarriageRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<PumpTileEntity> MECHANICAL_PUMP = Create.registrate()
|
public static final BlockEntityEntry<PumpTileEntity> MECHANICAL_PUMP = REGISTRATE
|
||||||
.tileEntity("mechanical_pump", PumpTileEntity::new)
|
.tileEntity("mechanical_pump", PumpTileEntity::new)
|
||||||
.instance(() -> PumpCogInstance::new)
|
.instance(() -> PumpCogInstance::new)
|
||||||
.validBlocks(AllBlocks.MECHANICAL_PUMP)
|
.validBlocks(AllBlocks.MECHANICAL_PUMP)
|
||||||
.renderer(() -> PumpRenderer::new)
|
.renderer(() -> PumpRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<SmartFluidPipeTileEntity> SMART_FLUID_PIPE = Create.registrate()
|
public static final BlockEntityEntry<SmartFluidPipeTileEntity> SMART_FLUID_PIPE = REGISTRATE
|
||||||
.tileEntity("smart_fluid_pipe", SmartFluidPipeTileEntity::new)
|
.tileEntity("smart_fluid_pipe", SmartFluidPipeTileEntity::new)
|
||||||
.validBlocks(AllBlocks.SMART_FLUID_PIPE)
|
.validBlocks(AllBlocks.SMART_FLUID_PIPE)
|
||||||
.renderer(() -> SmartTileEntityRenderer::new)
|
.renderer(() -> SmartTileEntityRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<FluidPipeTileEntity> FLUID_PIPE = Create.registrate()
|
public static final BlockEntityEntry<FluidPipeTileEntity> FLUID_PIPE = REGISTRATE
|
||||||
.tileEntity("fluid_pipe", FluidPipeTileEntity::new)
|
.tileEntity("fluid_pipe", FluidPipeTileEntity::new)
|
||||||
.validBlocks(AllBlocks.FLUID_PIPE)
|
.validBlocks(AllBlocks.FLUID_PIPE)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<FluidPipeTileEntity> ENCASED_FLUID_PIPE = Create.registrate()
|
public static final BlockEntityEntry<FluidPipeTileEntity> ENCASED_FLUID_PIPE = REGISTRATE
|
||||||
.tileEntity("encased_fluid_pipe", FluidPipeTileEntity::new)
|
.tileEntity("encased_fluid_pipe", FluidPipeTileEntity::new)
|
||||||
.validBlocks(AllBlocks.ENCASED_FLUID_PIPE)
|
.validBlocks(AllBlocks.ENCASED_FLUID_PIPE)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<StraightPipeTileEntity> GLASS_FLUID_PIPE = Create.registrate()
|
public static final BlockEntityEntry<StraightPipeTileEntity> GLASS_FLUID_PIPE = REGISTRATE
|
||||||
.tileEntity("glass_fluid_pipe", StraightPipeTileEntity::new)
|
.tileEntity("glass_fluid_pipe", StraightPipeTileEntity::new)
|
||||||
.validBlocks(AllBlocks.GLASS_FLUID_PIPE)
|
.validBlocks(AllBlocks.GLASS_FLUID_PIPE)
|
||||||
.renderer(() -> TransparentStraightPipeRenderer::new)
|
.renderer(() -> TransparentStraightPipeRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<FluidValveTileEntity> FLUID_VALVE = Create.registrate()
|
public static final BlockEntityEntry<FluidValveTileEntity> FLUID_VALVE = REGISTRATE
|
||||||
.tileEntity("fluid_valve", FluidValveTileEntity::new)
|
.tileEntity("fluid_valve", FluidValveTileEntity::new)
|
||||||
.instance(() -> FluidValveInstance::new)
|
.instance(() -> FluidValveInstance::new)
|
||||||
.validBlocks(AllBlocks.FLUID_VALVE)
|
.validBlocks(AllBlocks.FLUID_VALVE)
|
||||||
.renderer(() -> FluidValveRenderer::new)
|
.renderer(() -> FluidValveRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<FluidTankTileEntity> FLUID_TANK = Create.registrate()
|
public static final BlockEntityEntry<FluidTankTileEntity> FLUID_TANK = REGISTRATE
|
||||||
.tileEntity("fluid_tank", FluidTankTileEntity::new)
|
.tileEntity("fluid_tank", FluidTankTileEntity::new)
|
||||||
.validBlocks(AllBlocks.FLUID_TANK)
|
.validBlocks(AllBlocks.FLUID_TANK)
|
||||||
.renderer(() -> FluidTankRenderer::new)
|
.renderer(() -> FluidTankRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<CreativeFluidTankTileEntity> CREATIVE_FLUID_TANK = Create.registrate()
|
public static final BlockEntityEntry<CreativeFluidTankTileEntity> CREATIVE_FLUID_TANK = REGISTRATE
|
||||||
.tileEntity("creative_fluid_tank", CreativeFluidTankTileEntity::new)
|
.tileEntity("creative_fluid_tank", CreativeFluidTankTileEntity::new)
|
||||||
.validBlocks(AllBlocks.CREATIVE_FLUID_TANK)
|
.validBlocks(AllBlocks.CREATIVE_FLUID_TANK)
|
||||||
.renderer(() -> FluidTankRenderer::new)
|
.renderer(() -> FluidTankRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<HosePulleyTileEntity> HOSE_PULLEY = Create.registrate()
|
public static final BlockEntityEntry<HosePulleyTileEntity> HOSE_PULLEY = REGISTRATE
|
||||||
.tileEntity("hose_pulley", HosePulleyTileEntity::new)
|
.tileEntity("hose_pulley", HosePulleyTileEntity::new)
|
||||||
.instance(() -> HosePulleyInstance::new)
|
.instance(() -> HosePulleyInstance::new)
|
||||||
.validBlocks(AllBlocks.HOSE_PULLEY)
|
.validBlocks(AllBlocks.HOSE_PULLEY)
|
||||||
.renderer(() -> HosePulleyRenderer::new)
|
.renderer(() -> HosePulleyRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<SpoutTileEntity> SPOUT = Create.registrate()
|
public static final BlockEntityEntry<SpoutTileEntity> SPOUT = REGISTRATE
|
||||||
.tileEntity("spout", SpoutTileEntity::new)
|
.tileEntity("spout", SpoutTileEntity::new)
|
||||||
.validBlocks(AllBlocks.SPOUT)
|
.validBlocks(AllBlocks.SPOUT)
|
||||||
.renderer(() -> SpoutRenderer::new)
|
.renderer(() -> SpoutRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<ItemDrainTileEntity> ITEM_DRAIN = Create.registrate()
|
public static final BlockEntityEntry<ItemDrainTileEntity> ITEM_DRAIN = REGISTRATE
|
||||||
.tileEntity("item_drain", ItemDrainTileEntity::new)
|
.tileEntity("item_drain", ItemDrainTileEntity::new)
|
||||||
.validBlocks(AllBlocks.ITEM_DRAIN)
|
.validBlocks(AllBlocks.ITEM_DRAIN)
|
||||||
.renderer(() -> ItemDrainRenderer::new)
|
.renderer(() -> ItemDrainRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<BeltTileEntity> BELT = Create.registrate()
|
public static final BlockEntityEntry<BeltTileEntity> BELT = REGISTRATE
|
||||||
.tileEntity("belt", BeltTileEntity::new)
|
.tileEntity("belt", BeltTileEntity::new)
|
||||||
.instance(() -> BeltInstance::new, BeltTileEntity::shouldRenderNormally)
|
.instance(() -> BeltInstance::new, BeltTileEntity::shouldRenderNormally)
|
||||||
.validBlocks(AllBlocks.BELT)
|
.validBlocks(AllBlocks.BELT)
|
||||||
.renderer(() -> BeltRenderer::new)
|
.renderer(() -> BeltRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<ChuteTileEntity> CHUTE = Create.registrate()
|
public static final BlockEntityEntry<ChuteTileEntity> CHUTE = REGISTRATE
|
||||||
.tileEntity("chute", ChuteTileEntity::new)
|
.tileEntity("chute", ChuteTileEntity::new)
|
||||||
.validBlocks(AllBlocks.CHUTE)
|
.validBlocks(AllBlocks.CHUTE)
|
||||||
.renderer(() -> ChuteRenderer::new)
|
.renderer(() -> ChuteRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<SmartChuteTileEntity> SMART_CHUTE = Create.registrate()
|
public static final BlockEntityEntry<SmartChuteTileEntity> SMART_CHUTE = REGISTRATE
|
||||||
.tileEntity("smart_chute", SmartChuteTileEntity::new)
|
.tileEntity("smart_chute", SmartChuteTileEntity::new)
|
||||||
.validBlocks(AllBlocks.SMART_CHUTE)
|
.validBlocks(AllBlocks.SMART_CHUTE)
|
||||||
.renderer(() -> SmartChuteRenderer::new)
|
.renderer(() -> SmartChuteRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<BeltTunnelTileEntity> ANDESITE_TUNNEL = Create.registrate()
|
public static final BlockEntityEntry<BeltTunnelTileEntity> ANDESITE_TUNNEL = REGISTRATE
|
||||||
.tileEntity("andesite_tunnel", BeltTunnelTileEntity::new)
|
.tileEntity("andesite_tunnel", BeltTunnelTileEntity::new)
|
||||||
.instance(() -> BeltTunnelInstance::new)
|
.instance(() -> BeltTunnelInstance::new)
|
||||||
.validBlocks(AllBlocks.ANDESITE_TUNNEL)
|
.validBlocks(AllBlocks.ANDESITE_TUNNEL)
|
||||||
.renderer(() -> BeltTunnelRenderer::new)
|
.renderer(() -> BeltTunnelRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<BrassTunnelTileEntity> BRASS_TUNNEL = Create.registrate()
|
public static final BlockEntityEntry<BrassTunnelTileEntity> BRASS_TUNNEL = REGISTRATE
|
||||||
.tileEntity("brass_tunnel", BrassTunnelTileEntity::new)
|
.tileEntity("brass_tunnel", BrassTunnelTileEntity::new)
|
||||||
.instance(() -> BeltTunnelInstance::new)
|
.instance(() -> BeltTunnelInstance::new)
|
||||||
.validBlocks(AllBlocks.BRASS_TUNNEL)
|
.validBlocks(AllBlocks.BRASS_TUNNEL)
|
||||||
.renderer(() -> BeltTunnelRenderer::new)
|
.renderer(() -> BeltTunnelRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<ArmTileEntity> MECHANICAL_ARM = Create.registrate()
|
public static final BlockEntityEntry<ArmTileEntity> MECHANICAL_ARM = REGISTRATE
|
||||||
.tileEntity("mechanical_arm", ArmTileEntity::new)
|
.tileEntity("mechanical_arm", ArmTileEntity::new)
|
||||||
.instance(() -> ArmInstance::new)
|
.instance(() -> ArmInstance::new)
|
||||||
.validBlocks(AllBlocks.MECHANICAL_ARM)
|
.validBlocks(AllBlocks.MECHANICAL_ARM)
|
||||||
.renderer(() -> ArmRenderer::new)
|
.renderer(() -> ArmRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<ItemVaultTileEntity> ITEM_VAULT = Create.registrate()
|
public static final BlockEntityEntry<ItemVaultTileEntity> ITEM_VAULT = REGISTRATE
|
||||||
.tileEntity("item_vault", ItemVaultTileEntity::new)
|
.tileEntity("item_vault", ItemVaultTileEntity::new)
|
||||||
.validBlocks(AllBlocks.ITEM_VAULT)
|
.validBlocks(AllBlocks.ITEM_VAULT)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<MechanicalPistonTileEntity> MECHANICAL_PISTON = Create.registrate()
|
public static final BlockEntityEntry<MechanicalPistonTileEntity> MECHANICAL_PISTON = REGISTRATE
|
||||||
.tileEntity("mechanical_piston", MechanicalPistonTileEntity::new)
|
.tileEntity("mechanical_piston", MechanicalPistonTileEntity::new)
|
||||||
.instance(() -> ShaftInstance::new, false)
|
.instance(() -> ShaftInstance::new, false)
|
||||||
.validBlocks(AllBlocks.MECHANICAL_PISTON, AllBlocks.STICKY_MECHANICAL_PISTON)
|
.validBlocks(AllBlocks.MECHANICAL_PISTON, AllBlocks.STICKY_MECHANICAL_PISTON)
|
||||||
.renderer(() -> MechanicalPistonRenderer::new)
|
.renderer(() -> MechanicalPistonRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<WindmillBearingTileEntity> WINDMILL_BEARING = Create.registrate()
|
public static final BlockEntityEntry<WindmillBearingTileEntity> WINDMILL_BEARING = REGISTRATE
|
||||||
.tileEntity("windmill_bearing", WindmillBearingTileEntity::new)
|
.tileEntity("windmill_bearing", WindmillBearingTileEntity::new)
|
||||||
.instance(() -> BearingInstance::new)
|
.instance(() -> BearingInstance::new)
|
||||||
.validBlocks(AllBlocks.WINDMILL_BEARING)
|
.validBlocks(AllBlocks.WINDMILL_BEARING)
|
||||||
.renderer(() -> BearingRenderer::new)
|
.renderer(() -> BearingRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<MechanicalBearingTileEntity> MECHANICAL_BEARING = Create.registrate()
|
public static final BlockEntityEntry<MechanicalBearingTileEntity> MECHANICAL_BEARING = REGISTRATE
|
||||||
.tileEntity("mechanical_bearing", MechanicalBearingTileEntity::new)
|
.tileEntity("mechanical_bearing", MechanicalBearingTileEntity::new)
|
||||||
.instance(() -> BearingInstance::new)
|
.instance(() -> BearingInstance::new)
|
||||||
.validBlocks(AllBlocks.MECHANICAL_BEARING)
|
.validBlocks(AllBlocks.MECHANICAL_BEARING)
|
||||||
.renderer(() -> BearingRenderer::new)
|
.renderer(() -> BearingRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<ClockworkBearingTileEntity> CLOCKWORK_BEARING = Create.registrate()
|
public static final BlockEntityEntry<ClockworkBearingTileEntity> CLOCKWORK_BEARING = REGISTRATE
|
||||||
.tileEntity("clockwork_bearing", ClockworkBearingTileEntity::new)
|
.tileEntity("clockwork_bearing", ClockworkBearingTileEntity::new)
|
||||||
.instance(() -> BearingInstance::new)
|
.instance(() -> BearingInstance::new)
|
||||||
.validBlocks(AllBlocks.CLOCKWORK_BEARING)
|
.validBlocks(AllBlocks.CLOCKWORK_BEARING)
|
||||||
.renderer(() -> BearingRenderer::new)
|
.renderer(() -> BearingRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<PulleyTileEntity> ROPE_PULLEY = Create.registrate()
|
public static final BlockEntityEntry<PulleyTileEntity> ROPE_PULLEY = REGISTRATE
|
||||||
.tileEntity("rope_pulley", PulleyTileEntity::new)
|
.tileEntity("rope_pulley", PulleyTileEntity::new)
|
||||||
.instance(() -> RopePulleyInstance::new, false)
|
.instance(() -> RopePulleyInstance::new, false)
|
||||||
.validBlocks(AllBlocks.ROPE_PULLEY)
|
.validBlocks(AllBlocks.ROPE_PULLEY)
|
||||||
.renderer(() -> PulleyRenderer::new)
|
.renderer(() -> PulleyRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<ChassisTileEntity> CHASSIS = Create.registrate()
|
public static final BlockEntityEntry<ChassisTileEntity> CHASSIS = REGISTRATE
|
||||||
.tileEntity("chassis", ChassisTileEntity::new)
|
.tileEntity("chassis", ChassisTileEntity::new)
|
||||||
.validBlocks(AllBlocks.RADIAL_CHASSIS, AllBlocks.LINEAR_CHASSIS, AllBlocks.SECONDARY_LINEAR_CHASSIS)
|
.validBlocks(AllBlocks.RADIAL_CHASSIS, AllBlocks.LINEAR_CHASSIS, AllBlocks.SECONDARY_LINEAR_CHASSIS)
|
||||||
// .renderer(() -> renderer)
|
// .renderer(() -> renderer)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<StickerTileEntity> STICKER = Create.registrate()
|
public static final BlockEntityEntry<StickerTileEntity> STICKER = REGISTRATE
|
||||||
.tileEntity("sticker", StickerTileEntity::new)
|
.tileEntity("sticker", StickerTileEntity::new)
|
||||||
.instance(() -> StickerInstance::new, false)
|
.instance(() -> StickerInstance::new, false)
|
||||||
.validBlocks(AllBlocks.STICKER)
|
.validBlocks(AllBlocks.STICKER)
|
||||||
.renderer(() -> StickerRenderer::new)
|
.renderer(() -> StickerRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<DrillTileEntity> DRILL = Create.registrate()
|
public static final BlockEntityEntry<DrillTileEntity> DRILL = REGISTRATE
|
||||||
.tileEntity("drill", DrillTileEntity::new)
|
.tileEntity("drill", DrillTileEntity::new)
|
||||||
.instance(() -> DrillInstance::new, false)
|
.instance(() -> DrillInstance::new, false)
|
||||||
.validBlocks(AllBlocks.MECHANICAL_DRILL)
|
.validBlocks(AllBlocks.MECHANICAL_DRILL)
|
||||||
.renderer(() -> DrillRenderer::new)
|
.renderer(() -> DrillRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<SawTileEntity> SAW = Create.registrate()
|
public static final BlockEntityEntry<SawTileEntity> SAW = REGISTRATE
|
||||||
.tileEntity("saw", SawTileEntity::new)
|
.tileEntity("saw", SawTileEntity::new)
|
||||||
.instance(() -> SawInstance::new)
|
.instance(() -> SawInstance::new)
|
||||||
.validBlocks(AllBlocks.MECHANICAL_SAW)
|
.validBlocks(AllBlocks.MECHANICAL_SAW)
|
||||||
.renderer(() -> SawRenderer::new)
|
.renderer(() -> SawRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<HarvesterTileEntity> HARVESTER = Create.registrate()
|
public static final BlockEntityEntry<HarvesterTileEntity> HARVESTER = REGISTRATE
|
||||||
.tileEntity("harvester", HarvesterTileEntity::new)
|
.tileEntity("harvester", HarvesterTileEntity::new)
|
||||||
.validBlocks(AllBlocks.MECHANICAL_HARVESTER)
|
.validBlocks(AllBlocks.MECHANICAL_HARVESTER)
|
||||||
.renderer(() -> HarvesterRenderer::new)
|
.renderer(() -> HarvesterRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<PortableItemInterfaceTileEntity> PORTABLE_STORAGE_INTERFACE =
|
public static final BlockEntityEntry<PortableItemInterfaceTileEntity> PORTABLE_STORAGE_INTERFACE =
|
||||||
Create.registrate()
|
REGISTRATE
|
||||||
.tileEntity("portable_storage_interface", PortableItemInterfaceTileEntity::new)
|
.tileEntity("portable_storage_interface", PortableItemInterfaceTileEntity::new)
|
||||||
.instance(() -> PSIInstance::new)
|
.instance(() -> PSIInstance::new)
|
||||||
.validBlocks(AllBlocks.PORTABLE_STORAGE_INTERFACE)
|
.validBlocks(AllBlocks.PORTABLE_STORAGE_INTERFACE)
|
||||||
|
@ -518,47 +519,47 @@ public class AllTileEntities {
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<PortableFluidInterfaceTileEntity> PORTABLE_FLUID_INTERFACE =
|
public static final BlockEntityEntry<PortableFluidInterfaceTileEntity> PORTABLE_FLUID_INTERFACE =
|
||||||
Create.registrate()
|
REGISTRATE
|
||||||
.tileEntity("portable_fluid_interface", PortableFluidInterfaceTileEntity::new)
|
.tileEntity("portable_fluid_interface", PortableFluidInterfaceTileEntity::new)
|
||||||
.instance(() -> PSIInstance::new)
|
.instance(() -> PSIInstance::new)
|
||||||
.validBlocks(AllBlocks.PORTABLE_FLUID_INTERFACE)
|
.validBlocks(AllBlocks.PORTABLE_FLUID_INTERFACE)
|
||||||
.renderer(() -> PortableStorageInterfaceRenderer::new)
|
.renderer(() -> PortableStorageInterfaceRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<SteamEngineTileEntity> STEAM_ENGINE = Create.registrate()
|
public static final BlockEntityEntry<SteamEngineTileEntity> STEAM_ENGINE = REGISTRATE
|
||||||
.tileEntity("steam_engine", SteamEngineTileEntity::new)
|
.tileEntity("steam_engine", SteamEngineTileEntity::new)
|
||||||
.validBlocks(AllBlocks.STEAM_ENGINE)
|
.validBlocks(AllBlocks.STEAM_ENGINE)
|
||||||
.renderer(() -> SteamEngineRenderer::new)
|
.renderer(() -> SteamEngineRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<WhistleTileEntity> STEAM_WHISTLE = Create.registrate()
|
public static final BlockEntityEntry<WhistleTileEntity> STEAM_WHISTLE = REGISTRATE
|
||||||
.tileEntity("steam_whistle", WhistleTileEntity::new)
|
.tileEntity("steam_whistle", WhistleTileEntity::new)
|
||||||
.validBlocks(AllBlocks.STEAM_WHISTLE)
|
.validBlocks(AllBlocks.STEAM_WHISTLE)
|
||||||
.renderer(() -> WhistleRenderer::new)
|
.renderer(() -> WhistleRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<PoweredShaftTileEntity> POWERED_SHAFT = Create.registrate()
|
public static final BlockEntityEntry<PoweredShaftTileEntity> POWERED_SHAFT = REGISTRATE
|
||||||
.tileEntity("powered_shaft", PoweredShaftTileEntity::new)
|
.tileEntity("powered_shaft", PoweredShaftTileEntity::new)
|
||||||
.instance(() -> SingleRotatingInstance::new, false)
|
.instance(() -> SingleRotatingInstance::new, false)
|
||||||
.validBlocks(AllBlocks.POWERED_SHAFT)
|
.validBlocks(AllBlocks.POWERED_SHAFT)
|
||||||
.renderer(() -> KineticTileEntityRenderer::new)
|
.renderer(() -> KineticTileEntityRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<FlywheelTileEntity> FLYWHEEL = Create.registrate()
|
public static final BlockEntityEntry<FlywheelTileEntity> FLYWHEEL = REGISTRATE
|
||||||
.tileEntity("flywheel", FlywheelTileEntity::new)
|
.tileEntity("flywheel", FlywheelTileEntity::new)
|
||||||
.instance(() -> FlyWheelInstance::new, false)
|
.instance(() -> FlyWheelInstance::new, false)
|
||||||
.validBlocks(AllBlocks.FLYWHEEL)
|
.validBlocks(AllBlocks.FLYWHEEL)
|
||||||
.renderer(() -> FlywheelRenderer::new)
|
.renderer(() -> FlywheelRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<MillstoneTileEntity> MILLSTONE = Create.registrate()
|
public static final BlockEntityEntry<MillstoneTileEntity> MILLSTONE = REGISTRATE
|
||||||
.tileEntity("millstone", MillstoneTileEntity::new)
|
.tileEntity("millstone", MillstoneTileEntity::new)
|
||||||
.instance(() -> MillStoneCogInstance::new, false)
|
.instance(() -> MillStoneCogInstance::new, false)
|
||||||
.validBlocks(AllBlocks.MILLSTONE)
|
.validBlocks(AllBlocks.MILLSTONE)
|
||||||
.renderer(() -> MillstoneRenderer::new)
|
.renderer(() -> MillstoneRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<CrushingWheelTileEntity> CRUSHING_WHEEL = Create.registrate()
|
public static final BlockEntityEntry<CrushingWheelTileEntity> CRUSHING_WHEEL = REGISTRATE
|
||||||
.tileEntity("crushing_wheel", CrushingWheelTileEntity::new)
|
.tileEntity("crushing_wheel", CrushingWheelTileEntity::new)
|
||||||
.instance(() -> CutoutRotatingInstance::new, false)
|
.instance(() -> CutoutRotatingInstance::new, false)
|
||||||
.validBlocks(AllBlocks.CRUSHING_WHEEL)
|
.validBlocks(AllBlocks.CRUSHING_WHEEL)
|
||||||
|
@ -566,114 +567,114 @@ public class AllTileEntities {
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<CrushingWheelControllerTileEntity> CRUSHING_WHEEL_CONTROLLER =
|
public static final BlockEntityEntry<CrushingWheelControllerTileEntity> CRUSHING_WHEEL_CONTROLLER =
|
||||||
Create.registrate()
|
REGISTRATE
|
||||||
.tileEntity("crushing_wheel_controller", CrushingWheelControllerTileEntity::new)
|
.tileEntity("crushing_wheel_controller", CrushingWheelControllerTileEntity::new)
|
||||||
.validBlocks(AllBlocks.CRUSHING_WHEEL_CONTROLLER)
|
.validBlocks(AllBlocks.CRUSHING_WHEEL_CONTROLLER)
|
||||||
// .renderer(() -> renderer)
|
// .renderer(() -> renderer)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<WaterWheelTileEntity> WATER_WHEEL = Create.registrate()
|
public static final BlockEntityEntry<WaterWheelTileEntity> WATER_WHEEL = REGISTRATE
|
||||||
.tileEntity("water_wheel", WaterWheelTileEntity::new)
|
.tileEntity("water_wheel", WaterWheelTileEntity::new)
|
||||||
.instance(() -> CutoutRotatingInstance::new, false)
|
.instance(() -> CutoutRotatingInstance::new, false)
|
||||||
.validBlocks(AllBlocks.WATER_WHEEL)
|
.validBlocks(AllBlocks.WATER_WHEEL)
|
||||||
.renderer(() -> KineticTileEntityRenderer::new)
|
.renderer(() -> KineticTileEntityRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<MechanicalPressTileEntity> MECHANICAL_PRESS = Create.registrate()
|
public static final BlockEntityEntry<MechanicalPressTileEntity> MECHANICAL_PRESS = REGISTRATE
|
||||||
.tileEntity("mechanical_press", MechanicalPressTileEntity::new)
|
.tileEntity("mechanical_press", MechanicalPressTileEntity::new)
|
||||||
.instance(() -> PressInstance::new)
|
.instance(() -> PressInstance::new)
|
||||||
.validBlocks(AllBlocks.MECHANICAL_PRESS)
|
.validBlocks(AllBlocks.MECHANICAL_PRESS)
|
||||||
.renderer(() -> MechanicalPressRenderer::new)
|
.renderer(() -> MechanicalPressRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<MechanicalMixerTileEntity> MECHANICAL_MIXER = Create.registrate()
|
public static final BlockEntityEntry<MechanicalMixerTileEntity> MECHANICAL_MIXER = REGISTRATE
|
||||||
.tileEntity("mechanical_mixer", MechanicalMixerTileEntity::new)
|
.tileEntity("mechanical_mixer", MechanicalMixerTileEntity::new)
|
||||||
.instance(() -> MixerInstance::new)
|
.instance(() -> MixerInstance::new)
|
||||||
.validBlocks(AllBlocks.MECHANICAL_MIXER)
|
.validBlocks(AllBlocks.MECHANICAL_MIXER)
|
||||||
.renderer(() -> MechanicalMixerRenderer::new)
|
.renderer(() -> MechanicalMixerRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<DeployerTileEntity> DEPLOYER = Create.registrate()
|
public static final BlockEntityEntry<DeployerTileEntity> DEPLOYER = REGISTRATE
|
||||||
.tileEntity("deployer", DeployerTileEntity::new)
|
.tileEntity("deployer", DeployerTileEntity::new)
|
||||||
.instance(() -> DeployerInstance::new)
|
.instance(() -> DeployerInstance::new)
|
||||||
.validBlocks(AllBlocks.DEPLOYER)
|
.validBlocks(AllBlocks.DEPLOYER)
|
||||||
.renderer(() -> DeployerRenderer::new)
|
.renderer(() -> DeployerRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<BasinTileEntity> BASIN = Create.registrate()
|
public static final BlockEntityEntry<BasinTileEntity> BASIN = REGISTRATE
|
||||||
.tileEntity("basin", BasinTileEntity::new)
|
.tileEntity("basin", BasinTileEntity::new)
|
||||||
.validBlocks(AllBlocks.BASIN)
|
.validBlocks(AllBlocks.BASIN)
|
||||||
.renderer(() -> BasinRenderer::new)
|
.renderer(() -> BasinRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<BlazeBurnerTileEntity> HEATER = Create.registrate()
|
public static final BlockEntityEntry<BlazeBurnerTileEntity> HEATER = REGISTRATE
|
||||||
.tileEntity("blaze_heater", BlazeBurnerTileEntity::new)
|
.tileEntity("blaze_heater", BlazeBurnerTileEntity::new)
|
||||||
.validBlocks(AllBlocks.BLAZE_BURNER)
|
.validBlocks(AllBlocks.BLAZE_BURNER)
|
||||||
.renderer(() -> BlazeBurnerRenderer::new)
|
.renderer(() -> BlazeBurnerRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<MechanicalCrafterTileEntity> MECHANICAL_CRAFTER = Create.registrate()
|
public static final BlockEntityEntry<MechanicalCrafterTileEntity> MECHANICAL_CRAFTER = REGISTRATE
|
||||||
.tileEntity("mechanical_crafter", MechanicalCrafterTileEntity::new)
|
.tileEntity("mechanical_crafter", MechanicalCrafterTileEntity::new)
|
||||||
.instance(() -> MechanicalCrafterInstance::new)
|
.instance(() -> MechanicalCrafterInstance::new)
|
||||||
.validBlocks(AllBlocks.MECHANICAL_CRAFTER)
|
.validBlocks(AllBlocks.MECHANICAL_CRAFTER)
|
||||||
.renderer(() -> MechanicalCrafterRenderer::new)
|
.renderer(() -> MechanicalCrafterRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<SequencedGearshiftTileEntity> SEQUENCED_GEARSHIFT = Create.registrate()
|
public static final BlockEntityEntry<SequencedGearshiftTileEntity> SEQUENCED_GEARSHIFT = REGISTRATE
|
||||||
.tileEntity("sequenced_gearshift", SequencedGearshiftTileEntity::new)
|
.tileEntity("sequenced_gearshift", SequencedGearshiftTileEntity::new)
|
||||||
.instance(() -> SplitShaftInstance::new, false)
|
.instance(() -> SplitShaftInstance::new, false)
|
||||||
.validBlocks(AllBlocks.SEQUENCED_GEARSHIFT)
|
.validBlocks(AllBlocks.SEQUENCED_GEARSHIFT)
|
||||||
.renderer(() -> SplitShaftRenderer::new)
|
.renderer(() -> SplitShaftRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<SpeedControllerTileEntity> ROTATION_SPEED_CONTROLLER = Create.registrate()
|
public static final BlockEntityEntry<SpeedControllerTileEntity> ROTATION_SPEED_CONTROLLER = REGISTRATE
|
||||||
.tileEntity("rotation_speed_controller", SpeedControllerTileEntity::new)
|
.tileEntity("rotation_speed_controller", SpeedControllerTileEntity::new)
|
||||||
.instance(() -> ShaftInstance::new)
|
.instance(() -> ShaftInstance::new)
|
||||||
.validBlocks(AllBlocks.ROTATION_SPEED_CONTROLLER)
|
.validBlocks(AllBlocks.ROTATION_SPEED_CONTROLLER)
|
||||||
.renderer(() -> SpeedControllerRenderer::new)
|
.renderer(() -> SpeedControllerRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<SpeedGaugeTileEntity> SPEEDOMETER = Create.registrate()
|
public static final BlockEntityEntry<SpeedGaugeTileEntity> SPEEDOMETER = REGISTRATE
|
||||||
.tileEntity("speedometer", SpeedGaugeTileEntity::new)
|
.tileEntity("speedometer", SpeedGaugeTileEntity::new)
|
||||||
.instance(() -> GaugeInstance.Speed::new)
|
.instance(() -> GaugeInstance.Speed::new)
|
||||||
.validBlocks(AllBlocks.SPEEDOMETER)
|
.validBlocks(AllBlocks.SPEEDOMETER)
|
||||||
.renderer(() -> GaugeRenderer::speed)
|
.renderer(() -> GaugeRenderer::speed)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<StressGaugeTileEntity> STRESSOMETER = Create.registrate()
|
public static final BlockEntityEntry<StressGaugeTileEntity> STRESSOMETER = REGISTRATE
|
||||||
.tileEntity("stressometer", StressGaugeTileEntity::new)
|
.tileEntity("stressometer", StressGaugeTileEntity::new)
|
||||||
.instance(() -> GaugeInstance.Stress::new)
|
.instance(() -> GaugeInstance.Stress::new)
|
||||||
.validBlocks(AllBlocks.STRESSOMETER)
|
.validBlocks(AllBlocks.STRESSOMETER)
|
||||||
.renderer(() -> GaugeRenderer::stress)
|
.renderer(() -> GaugeRenderer::stress)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<AnalogLeverTileEntity> ANALOG_LEVER = Create.registrate()
|
public static final BlockEntityEntry<AnalogLeverTileEntity> ANALOG_LEVER = REGISTRATE
|
||||||
.tileEntity("analog_lever", AnalogLeverTileEntity::new)
|
.tileEntity("analog_lever", AnalogLeverTileEntity::new)
|
||||||
.instance(() -> AnalogLeverInstance::new, false)
|
.instance(() -> AnalogLeverInstance::new, false)
|
||||||
.validBlocks(AllBlocks.ANALOG_LEVER)
|
.validBlocks(AllBlocks.ANALOG_LEVER)
|
||||||
.renderer(() -> AnalogLeverRenderer::new)
|
.renderer(() -> AnalogLeverRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<PlacardTileEntity> PLACARD = Create.registrate()
|
public static final BlockEntityEntry<PlacardTileEntity> PLACARD = REGISTRATE
|
||||||
.tileEntity("placard", PlacardTileEntity::new)
|
.tileEntity("placard", PlacardTileEntity::new)
|
||||||
.validBlocks(AllBlocks.PLACARD)
|
.validBlocks(AllBlocks.PLACARD)
|
||||||
.renderer(() -> PlacardRenderer::new)
|
.renderer(() -> PlacardRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<CartAssemblerTileEntity> CART_ASSEMBLER = Create.registrate()
|
public static final BlockEntityEntry<CartAssemblerTileEntity> CART_ASSEMBLER = REGISTRATE
|
||||||
.tileEntity("cart_assembler", CartAssemblerTileEntity::new)
|
.tileEntity("cart_assembler", CartAssemblerTileEntity::new)
|
||||||
.validBlocks(AllBlocks.CART_ASSEMBLER)
|
.validBlocks(AllBlocks.CART_ASSEMBLER)
|
||||||
// .renderer(() -> renderer)
|
// .renderer(() -> renderer)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
// Logistics
|
// Logistics
|
||||||
public static final BlockEntityEntry<RedstoneLinkTileEntity> REDSTONE_LINK = Create.registrate()
|
public static final BlockEntityEntry<RedstoneLinkTileEntity> REDSTONE_LINK = REGISTRATE
|
||||||
.tileEntity("redstone_link", RedstoneLinkTileEntity::new)
|
.tileEntity("redstone_link", RedstoneLinkTileEntity::new)
|
||||||
.validBlocks(AllBlocks.REDSTONE_LINK)
|
.validBlocks(AllBlocks.REDSTONE_LINK)
|
||||||
.renderer(() -> SmartTileEntityRenderer::new)
|
.renderer(() -> SmartTileEntityRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<NixieTubeTileEntity> NIXIE_TUBE = Create.registrate()
|
public static final BlockEntityEntry<NixieTubeTileEntity> NIXIE_TUBE = REGISTRATE
|
||||||
.tileEntity("nixie_tube", NixieTubeTileEntity::new)
|
.tileEntity("nixie_tube", NixieTubeTileEntity::new)
|
||||||
.validBlocks(AllBlocks.ORANGE_NIXIE_TUBE)
|
.validBlocks(AllBlocks.ORANGE_NIXIE_TUBE)
|
||||||
.validBlocks(AllBlocks.NIXIE_TUBES.toArray())
|
.validBlocks(AllBlocks.NIXIE_TUBES.toArray())
|
||||||
|
@ -682,38 +683,38 @@ public class AllTileEntities {
|
||||||
.onRegister(assignDataBehaviourTE(new NixieTubeDisplaySource()))
|
.onRegister(assignDataBehaviourTE(new NixieTubeDisplaySource()))
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<DisplayLinkTileEntity> DISPLAY_LINK = Create.registrate()
|
public static final BlockEntityEntry<DisplayLinkTileEntity> DISPLAY_LINK = REGISTRATE
|
||||||
.tileEntity("display_link", DisplayLinkTileEntity::new)
|
.tileEntity("display_link", DisplayLinkTileEntity::new)
|
||||||
.validBlocks(AllBlocks.DISPLAY_LINK)
|
.validBlocks(AllBlocks.DISPLAY_LINK)
|
||||||
.renderer(() -> DisplayLinkRenderer::new)
|
.renderer(() -> DisplayLinkRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<StockpileSwitchTileEntity> STOCKPILE_SWITCH = Create.registrate()
|
public static final BlockEntityEntry<StockpileSwitchTileEntity> STOCKPILE_SWITCH = REGISTRATE
|
||||||
.tileEntity("stockpile_switch", StockpileSwitchTileEntity::new)
|
.tileEntity("stockpile_switch", StockpileSwitchTileEntity::new)
|
||||||
.validBlocks(AllBlocks.STOCKPILE_SWITCH)
|
.validBlocks(AllBlocks.STOCKPILE_SWITCH)
|
||||||
.renderer(() -> SmartTileEntityRenderer::new)
|
.renderer(() -> SmartTileEntityRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<CreativeCrateTileEntity> CREATIVE_CRATE = Create.registrate()
|
public static final BlockEntityEntry<CreativeCrateTileEntity> CREATIVE_CRATE = REGISTRATE
|
||||||
.tileEntity("creative_crate", CreativeCrateTileEntity::new)
|
.tileEntity("creative_crate", CreativeCrateTileEntity::new)
|
||||||
.validBlocks(AllBlocks.CREATIVE_CRATE)
|
.validBlocks(AllBlocks.CREATIVE_CRATE)
|
||||||
.renderer(() -> SmartTileEntityRenderer::new)
|
.renderer(() -> SmartTileEntityRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<DepotTileEntity> DEPOT = Create.registrate()
|
public static final BlockEntityEntry<DepotTileEntity> DEPOT = REGISTRATE
|
||||||
.tileEntity("depot", DepotTileEntity::new)
|
.tileEntity("depot", DepotTileEntity::new)
|
||||||
.validBlocks(AllBlocks.DEPOT)
|
.validBlocks(AllBlocks.DEPOT)
|
||||||
.renderer(() -> DepotRenderer::new)
|
.renderer(() -> DepotRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<EjectorTileEntity> WEIGHTED_EJECTOR = Create.registrate()
|
public static final BlockEntityEntry<EjectorTileEntity> WEIGHTED_EJECTOR = REGISTRATE
|
||||||
.tileEntity("weighted_ejector", EjectorTileEntity::new)
|
.tileEntity("weighted_ejector", EjectorTileEntity::new)
|
||||||
.instance(() -> EjectorInstance::new)
|
.instance(() -> EjectorInstance::new)
|
||||||
.validBlocks(AllBlocks.WEIGHTED_EJECTOR)
|
.validBlocks(AllBlocks.WEIGHTED_EJECTOR)
|
||||||
.renderer(() -> EjectorRenderer::new)
|
.renderer(() -> EjectorRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<FunnelTileEntity> FUNNEL = Create.registrate()
|
public static final BlockEntityEntry<FunnelTileEntity> FUNNEL = REGISTRATE
|
||||||
.tileEntity("funnel", FunnelTileEntity::new)
|
.tileEntity("funnel", FunnelTileEntity::new)
|
||||||
.instance(() -> FunnelInstance::new)
|
.instance(() -> FunnelInstance::new)
|
||||||
.validBlocks(AllBlocks.BRASS_FUNNEL, AllBlocks.BRASS_BELT_FUNNEL, AllBlocks.ANDESITE_FUNNEL,
|
.validBlocks(AllBlocks.BRASS_FUNNEL, AllBlocks.BRASS_BELT_FUNNEL, AllBlocks.ANDESITE_FUNNEL,
|
||||||
|
@ -721,103 +722,103 @@ public class AllTileEntities {
|
||||||
.renderer(() -> FunnelRenderer::new)
|
.renderer(() -> FunnelRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<ContentObserverTileEntity> CONTENT_OBSERVER = Create.registrate()
|
public static final BlockEntityEntry<ContentObserverTileEntity> CONTENT_OBSERVER = REGISTRATE
|
||||||
.tileEntity("content_observer", ContentObserverTileEntity::new)
|
.tileEntity("content_observer", ContentObserverTileEntity::new)
|
||||||
.validBlocks(AllBlocks.CONTENT_OBSERVER)
|
.validBlocks(AllBlocks.CONTENT_OBSERVER)
|
||||||
.renderer(() -> SmartTileEntityRenderer::new)
|
.renderer(() -> SmartTileEntityRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<PulseExtenderTileEntity> PULSE_EXTENDER = Create.registrate()
|
public static final BlockEntityEntry<PulseExtenderTileEntity> PULSE_EXTENDER = REGISTRATE
|
||||||
.tileEntity("pulse_extender", PulseExtenderTileEntity::new)
|
.tileEntity("pulse_extender", PulseExtenderTileEntity::new)
|
||||||
.instance(() -> BrassDiodeInstance::new, false)
|
.instance(() -> BrassDiodeInstance::new, false)
|
||||||
.validBlocks(AllBlocks.PULSE_EXTENDER)
|
.validBlocks(AllBlocks.PULSE_EXTENDER)
|
||||||
.renderer(() -> BrassDiodeRenderer::new)
|
.renderer(() -> BrassDiodeRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<PulseRepeaterTileEntity> PULSE_REPEATER = Create.registrate()
|
public static final BlockEntityEntry<PulseRepeaterTileEntity> PULSE_REPEATER = REGISTRATE
|
||||||
.tileEntity("pulse_repeater", PulseRepeaterTileEntity::new)
|
.tileEntity("pulse_repeater", PulseRepeaterTileEntity::new)
|
||||||
.instance(() -> BrassDiodeInstance::new, false)
|
.instance(() -> BrassDiodeInstance::new, false)
|
||||||
.validBlocks(AllBlocks.PULSE_REPEATER)
|
.validBlocks(AllBlocks.PULSE_REPEATER)
|
||||||
.renderer(() -> BrassDiodeRenderer::new)
|
.renderer(() -> BrassDiodeRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<LecternControllerTileEntity> LECTERN_CONTROLLER = Create.registrate()
|
public static final BlockEntityEntry<LecternControllerTileEntity> LECTERN_CONTROLLER = REGISTRATE
|
||||||
.tileEntity("lectern_controller", LecternControllerTileEntity::new)
|
.tileEntity("lectern_controller", LecternControllerTileEntity::new)
|
||||||
.validBlocks(AllBlocks.LECTERN_CONTROLLER)
|
.validBlocks(AllBlocks.LECTERN_CONTROLLER)
|
||||||
.renderer(() -> LecternControllerRenderer::new)
|
.renderer(() -> LecternControllerRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
// Curiosities
|
// Curiosities
|
||||||
public static final BlockEntityEntry<CopperBacktankTileEntity> COPPER_BACKTANK = Create.registrate()
|
public static final BlockEntityEntry<CopperBacktankTileEntity> COPPER_BACKTANK = REGISTRATE
|
||||||
.tileEntity("copper_backtank", CopperBacktankTileEntity::new)
|
.tileEntity("copper_backtank", CopperBacktankTileEntity::new)
|
||||||
.instance(() -> CopperBacktankInstance::new)
|
.instance(() -> CopperBacktankInstance::new)
|
||||||
.validBlocks(AllBlocks.COPPER_BACKTANK)
|
.validBlocks(AllBlocks.COPPER_BACKTANK)
|
||||||
.renderer(() -> CopperBacktankRenderer::new)
|
.renderer(() -> CopperBacktankRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<PeculiarBellTileEntity> PECULIAR_BELL = Create.registrate()
|
public static final BlockEntityEntry<PeculiarBellTileEntity> PECULIAR_BELL = REGISTRATE
|
||||||
.tileEntity("peculiar_bell", PeculiarBellTileEntity::new)
|
.tileEntity("peculiar_bell", PeculiarBellTileEntity::new)
|
||||||
.validBlocks(AllBlocks.PECULIAR_BELL)
|
.validBlocks(AllBlocks.PECULIAR_BELL)
|
||||||
.renderer(() -> BellRenderer::new)
|
.renderer(() -> BellRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<HauntedBellTileEntity> HAUNTED_BELL = Create.registrate()
|
public static final BlockEntityEntry<HauntedBellTileEntity> HAUNTED_BELL = REGISTRATE
|
||||||
.tileEntity("cursed_bell", HauntedBellTileEntity::new)
|
.tileEntity("cursed_bell", HauntedBellTileEntity::new)
|
||||||
.validBlocks(AllBlocks.HAUNTED_BELL)
|
.validBlocks(AllBlocks.HAUNTED_BELL)
|
||||||
.renderer(() -> BellRenderer::new)
|
.renderer(() -> BellRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<ToolboxTileEntity> TOOLBOX = Create.registrate()
|
public static final BlockEntityEntry<ToolboxTileEntity> TOOLBOX = REGISTRATE
|
||||||
.tileEntity("toolbox", ToolboxTileEntity::new)
|
.tileEntity("toolbox", ToolboxTileEntity::new)
|
||||||
.instance(() -> ToolBoxInstance::new, false)
|
.instance(() -> ToolBoxInstance::new, false)
|
||||||
.validBlocks(AllBlocks.TOOLBOXES.toArray())
|
.validBlocks(AllBlocks.TOOLBOXES.toArray())
|
||||||
.renderer(() -> ToolboxRenderer::new)
|
.renderer(() -> ToolboxRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<TrackTileEntity> TRACK = Create.registrate()
|
public static final BlockEntityEntry<TrackTileEntity> TRACK = REGISTRATE
|
||||||
.tileEntity("track", TrackTileEntity::new)
|
.tileEntity("track", TrackTileEntity::new)
|
||||||
.instance(() -> TrackInstance::new)
|
.instance(() -> TrackInstance::new)
|
||||||
.renderer(() -> TrackRenderer::new)
|
.renderer(() -> TrackRenderer::new)
|
||||||
.validBlocks(AllBlocks.TRACK)
|
.validBlocks(AllBlocks.TRACK)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<FakeTrackTileEntity> FAKE_TRACK = Create.registrate()
|
public static final BlockEntityEntry<FakeTrackTileEntity> FAKE_TRACK = REGISTRATE
|
||||||
.tileEntity("fake_track", FakeTrackTileEntity::new)
|
.tileEntity("fake_track", FakeTrackTileEntity::new)
|
||||||
.validBlocks(AllBlocks.FAKE_TRACK)
|
.validBlocks(AllBlocks.FAKE_TRACK)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<StandardBogeyTileEntity> BOGEY = Create.registrate()
|
public static final BlockEntityEntry<StandardBogeyTileEntity> BOGEY = REGISTRATE
|
||||||
.tileEntity("bogey", StandardBogeyTileEntity::new)
|
.tileEntity("bogey", StandardBogeyTileEntity::new)
|
||||||
.renderer(() -> BogeyTileEntityRenderer::new)
|
.renderer(() -> BogeyTileEntityRenderer::new)
|
||||||
.validBlocks(AllBlocks.SMALL_BOGEY, AllBlocks.LARGE_BOGEY)
|
.validBlocks(AllBlocks.SMALL_BOGEY, AllBlocks.LARGE_BOGEY)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<StationTileEntity> TRACK_STATION = Create.registrate()
|
public static final BlockEntityEntry<StationTileEntity> TRACK_STATION = REGISTRATE
|
||||||
.tileEntity("track_station", StationTileEntity::new)
|
.tileEntity("track_station", StationTileEntity::new)
|
||||||
.renderer(() -> StationRenderer::new)
|
.renderer(() -> StationRenderer::new)
|
||||||
.validBlocks(AllBlocks.TRACK_STATION)
|
.validBlocks(AllBlocks.TRACK_STATION)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<SlidingDoorTileEntity> SLIDING_DOOR = Create.registrate()
|
public static final BlockEntityEntry<SlidingDoorTileEntity> SLIDING_DOOR = REGISTRATE
|
||||||
.tileEntity("sliding_door", SlidingDoorTileEntity::new)
|
.tileEntity("sliding_door", SlidingDoorTileEntity::new)
|
||||||
.renderer(() -> SlidingDoorRenderer::new)
|
.renderer(() -> SlidingDoorRenderer::new)
|
||||||
.validBlocks(AllBlocks.TRAIN_DOOR, AllBlocks.FRAMED_GLASS_DOOR)
|
.validBlocks(AllBlocks.TRAIN_DOOR, AllBlocks.FRAMED_GLASS_DOOR)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<FlapDisplayTileEntity> FLAP_DISPLAY = Create.registrate()
|
public static final BlockEntityEntry<FlapDisplayTileEntity> FLAP_DISPLAY = REGISTRATE
|
||||||
.tileEntity("flap_display", FlapDisplayTileEntity::new)
|
.tileEntity("flap_display", FlapDisplayTileEntity::new)
|
||||||
.instance(() -> MechanicalCrafterInstance::new)
|
.instance(() -> MechanicalCrafterInstance::new)
|
||||||
.renderer(() -> FlapDisplayRenderer::new)
|
.renderer(() -> FlapDisplayRenderer::new)
|
||||||
.validBlocks(AllBlocks.DISPLAY_BOARD)
|
.validBlocks(AllBlocks.DISPLAY_BOARD)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<SignalTileEntity> TRACK_SIGNAL = Create.registrate()
|
public static final BlockEntityEntry<SignalTileEntity> TRACK_SIGNAL = REGISTRATE
|
||||||
.tileEntity("track_signal", SignalTileEntity::new)
|
.tileEntity("track_signal", SignalTileEntity::new)
|
||||||
.renderer(() -> SignalRenderer::new)
|
.renderer(() -> SignalRenderer::new)
|
||||||
.validBlocks(AllBlocks.TRACK_SIGNAL)
|
.validBlocks(AllBlocks.TRACK_SIGNAL)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<TrackObserverTileEntity> TRACK_OBSERVER = Create.registrate()
|
public static final BlockEntityEntry<TrackObserverTileEntity> TRACK_OBSERVER = REGISTRATE
|
||||||
.tileEntity("track_observer", TrackObserverTileEntity::new)
|
.tileEntity("track_observer", TrackObserverTileEntity::new)
|
||||||
.renderer(() -> TrackObserverRenderer::new)
|
.renderer(() -> TrackObserverRenderer::new)
|
||||||
.validBlocks(AllBlocks.TRACK_OBSERVER)
|
.validBlocks(AllBlocks.TRACK_OBSERVER)
|
||||||
|
|
|
@ -2,11 +2,11 @@ package com.simibubi.create;
|
||||||
|
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.slf4j.Logger;
|
||||||
import org.apache.logging.log4j.Logger;
|
|
||||||
|
|
||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
import com.google.gson.GsonBuilder;
|
import com.google.gson.GsonBuilder;
|
||||||
|
import com.mojang.logging.LogUtils;
|
||||||
import com.simibubi.create.api.behaviour.BlockSpoutingBehaviour;
|
import com.simibubi.create.api.behaviour.BlockSpoutingBehaviour;
|
||||||
import com.simibubi.create.compat.Mods;
|
import com.simibubi.create.compat.Mods;
|
||||||
import com.simibubi.create.compat.curios.Curios;
|
import com.simibubi.create.compat.curios.Curios;
|
||||||
|
@ -31,6 +31,7 @@ import com.simibubi.create.foundation.config.AllConfigs;
|
||||||
import com.simibubi.create.foundation.config.ContraptionMovementSetting;
|
import com.simibubi.create.foundation.config.ContraptionMovementSetting;
|
||||||
import com.simibubi.create.foundation.data.CreateRegistrate;
|
import com.simibubi.create.foundation.data.CreateRegistrate;
|
||||||
import com.simibubi.create.foundation.data.LangMerger;
|
import com.simibubi.create.foundation.data.LangMerger;
|
||||||
|
import com.simibubi.create.foundation.data.TagGen;
|
||||||
import com.simibubi.create.foundation.data.recipe.MechanicalCraftingRecipeGen;
|
import com.simibubi.create.foundation.data.recipe.MechanicalCraftingRecipeGen;
|
||||||
import com.simibubi.create.foundation.data.recipe.ProcessingRecipeGen;
|
import com.simibubi.create.foundation.data.recipe.ProcessingRecipeGen;
|
||||||
import com.simibubi.create.foundation.data.recipe.SequencedAssemblyRecipeGen;
|
import com.simibubi.create.foundation.data.recipe.SequencedAssemblyRecipeGen;
|
||||||
|
@ -41,7 +42,6 @@ import com.simibubi.create.foundation.worldgen.AllFeatures;
|
||||||
import com.simibubi.create.foundation.worldgen.AllOreFeatureConfigEntries;
|
import com.simibubi.create.foundation.worldgen.AllOreFeatureConfigEntries;
|
||||||
import com.simibubi.create.foundation.worldgen.AllPlacementModifiers;
|
import com.simibubi.create.foundation.worldgen.AllPlacementModifiers;
|
||||||
import com.simibubi.create.foundation.worldgen.BuiltinRegistration;
|
import com.simibubi.create.foundation.worldgen.BuiltinRegistration;
|
||||||
import com.tterrag.registrate.util.nullness.NonNullSupplier;
|
|
||||||
|
|
||||||
import net.minecraft.data.DataGenerator;
|
import net.minecraft.data.DataGenerator;
|
||||||
import net.minecraft.resources.ResourceLocation;
|
import net.minecraft.resources.ResourceLocation;
|
||||||
|
@ -66,14 +66,20 @@ public class Create {
|
||||||
|
|
||||||
public static final String ID = "create";
|
public static final String ID = "create";
|
||||||
public static final String NAME = "Create";
|
public static final String NAME = "Create";
|
||||||
public static final String VERSION = "0.5e";
|
public static final String VERSION = "0.5g";
|
||||||
|
|
||||||
public static final Logger LOGGER = LogManager.getLogger();
|
public static final Logger LOGGER = LogUtils.getLogger();
|
||||||
|
|
||||||
public static final Gson GSON = new GsonBuilder().setPrettyPrinting()
|
public static final Gson GSON = new GsonBuilder().setPrettyPrinting()
|
||||||
.disableHtmlEscaping()
|
.disableHtmlEscaping()
|
||||||
.create();
|
.create();
|
||||||
|
|
||||||
|
/** Use the {@link Random} of a local {@link Level} or {@link Entity} or create one */
|
||||||
|
@Deprecated
|
||||||
|
public static final Random RANDOM = new Random();
|
||||||
|
|
||||||
|
public static final CreateRegistrate REGISTRATE = CreateRegistrate.create(ID);
|
||||||
|
|
||||||
public static final CreativeModeTab BASE_CREATIVE_TAB = new CreateItemGroup();
|
public static final CreativeModeTab BASE_CREATIVE_TAB = new CreateItemGroup();
|
||||||
public static final CreativeModeTab PALETTES_CREATIVE_TAB = new PalettesItemGroup();
|
public static final CreativeModeTab PALETTES_CREATIVE_TAB = new PalettesItemGroup();
|
||||||
|
|
||||||
|
@ -82,11 +88,6 @@ public class Create {
|
||||||
public static final TorquePropagator TORQUE_PROPAGATOR = new TorquePropagator();
|
public static final TorquePropagator TORQUE_PROPAGATOR = new TorquePropagator();
|
||||||
public static final GlobalRailwayManager RAILWAYS = new GlobalRailwayManager();
|
public static final GlobalRailwayManager RAILWAYS = new GlobalRailwayManager();
|
||||||
public static final ServerLagger LAGGER = new ServerLagger();
|
public static final ServerLagger LAGGER = new ServerLagger();
|
||||||
/** Use the {@link Random} of a local {@link Level} or {@link Entity} or create one */
|
|
||||||
@Deprecated
|
|
||||||
public static final Random RANDOM = new Random();
|
|
||||||
|
|
||||||
private static final NonNullSupplier<CreateRegistrate> REGISTRATE = CreateRegistrate.lazy(ID);
|
|
||||||
|
|
||||||
public Create() {
|
public Create() {
|
||||||
onCtor();
|
onCtor();
|
||||||
|
@ -99,11 +100,13 @@ public class Create {
|
||||||
.getModEventBus();
|
.getModEventBus();
|
||||||
IEventBus forgeEventBus = MinecraftForge.EVENT_BUS;
|
IEventBus forgeEventBus = MinecraftForge.EVENT_BUS;
|
||||||
|
|
||||||
|
REGISTRATE.registerEventListeners(modEventBus);
|
||||||
|
|
||||||
AllSoundEvents.prepare();
|
AllSoundEvents.prepare();
|
||||||
|
AllTags.init();
|
||||||
AllBlocks.register();
|
AllBlocks.register();
|
||||||
AllItems.register();
|
AllItems.register();
|
||||||
AllFluids.register();
|
AllFluids.register();
|
||||||
AllTags.register();
|
|
||||||
AllPaletteBlocks.register();
|
AllPaletteBlocks.register();
|
||||||
AllContainerTypes.register();
|
AllContainerTypes.register();
|
||||||
AllEntityTypes.register();
|
AllEntityTypes.register();
|
||||||
|
@ -138,7 +141,7 @@ public class Create {
|
||||||
|
|
||||||
DistExecutor.unsafeRunWhenOn(Dist.CLIENT, () -> () -> CreateClient.onCtorClient(modEventBus, forgeEventBus));
|
DistExecutor.unsafeRunWhenOn(Dist.CLIENT, () -> () -> CreateClient.onCtorClient(modEventBus, forgeEventBus));
|
||||||
|
|
||||||
Mods.CURIOS.executeIfInstalled(() -> Curios::init);
|
Mods.CURIOS.executeIfInstalled(() -> () -> Curios.init(modEventBus, forgeEventBus));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void init(final FMLCommonSetupEvent event) {
|
public static void init(final FMLCommonSetupEvent event) {
|
||||||
|
@ -155,6 +158,7 @@ public class Create {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void gatherData(GatherDataEvent event) {
|
public static void gatherData(GatherDataEvent event) {
|
||||||
|
TagGen.datagen();
|
||||||
DataGenerator gen = event.getGenerator();
|
DataGenerator gen = event.getGenerator();
|
||||||
if (event.includeClient()) {
|
if (event.includeClient()) {
|
||||||
gen.addProvider(new LangMerger(gen));
|
gen.addProvider(new LangMerger(gen));
|
||||||
|
@ -170,10 +174,6 @@ public class Create {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static CreateRegistrate registrate() {
|
|
||||||
return REGISTRATE.get();
|
|
||||||
}
|
|
||||||
|
|
||||||
public static ResourceLocation asResource(String path) {
|
public static ResourceLocation asResource(String path) {
|
||||||
return new ResourceLocation(ID, path);
|
return new ResourceLocation(ID, path);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,36 +1,33 @@
|
||||||
package com.simibubi.create.compat.curios;
|
package com.simibubi.create.compat.curios;
|
||||||
|
|
||||||
import java.util.concurrent.atomic.AtomicBoolean;
|
|
||||||
|
|
||||||
import com.simibubi.create.AllItems;
|
import com.simibubi.create.AllItems;
|
||||||
import com.simibubi.create.content.contraptions.goggles.GogglesItem;
|
import com.simibubi.create.content.contraptions.goggles.GogglesItem;
|
||||||
|
|
||||||
import net.minecraftforge.api.distmarker.Dist;
|
import net.minecraftforge.api.distmarker.Dist;
|
||||||
|
import net.minecraftforge.eventbus.api.IEventBus;
|
||||||
import net.minecraftforge.fml.DistExecutor;
|
import net.minecraftforge.fml.DistExecutor;
|
||||||
import net.minecraftforge.fml.InterModComms;
|
import net.minecraftforge.fml.InterModComms;
|
||||||
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
|
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
|
||||||
import net.minecraftforge.fml.event.lifecycle.InterModEnqueueEvent;
|
import net.minecraftforge.fml.event.lifecycle.InterModEnqueueEvent;
|
||||||
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
|
|
||||||
import top.theillusivec4.curios.api.CuriosCapability;
|
import top.theillusivec4.curios.api.CuriosCapability;
|
||||||
import top.theillusivec4.curios.api.SlotTypeMessage;
|
import top.theillusivec4.curios.api.SlotTypeMessage;
|
||||||
import top.theillusivec4.curios.api.SlotTypePreset;
|
import top.theillusivec4.curios.api.SlotTypePreset;
|
||||||
import top.theillusivec4.curios.api.type.inventory.ICurioStacksHandler;
|
import top.theillusivec4.curios.api.type.inventory.ICurioStacksHandler;
|
||||||
|
|
||||||
public class Curios {
|
public class Curios {
|
||||||
public static void init() {
|
public static void init(IEventBus modEventBus, IEventBus forgeEventBus) {
|
||||||
FMLJavaModLoadingContext.get().getModEventBus().addListener(Curios::onInterModEnqueue);
|
modEventBus.addListener(Curios::onInterModEnqueue);
|
||||||
FMLJavaModLoadingContext.get().getModEventBus().addListener(Curios::onClientSetup);
|
modEventBus.addListener(Curios::onClientSetup);
|
||||||
|
|
||||||
GogglesItem.addIsWearingPredicate(player -> {
|
GogglesItem.addIsWearingPredicate(player -> player.getCapability(CuriosCapability.INVENTORY).map(handler -> {
|
||||||
AtomicBoolean hasGoggles = new AtomicBoolean(false);
|
ICurioStacksHandler stacksHandler = handler.getCurios().get("head");
|
||||||
player.getCapability(CuriosCapability.INVENTORY).ifPresent(handler -> {
|
if (stacksHandler != null) {
|
||||||
ICurioStacksHandler stacksHandler = handler.getCurios().get("head");
|
return AllItems.GOGGLES.isIn(stacksHandler.getStacks().getStackInSlot(0));
|
||||||
if(stacksHandler != null) hasGoggles.set(stacksHandler.getStacks().getStackInSlot(0).getItem() == AllItems.GOGGLES.get());
|
}
|
||||||
});
|
return false;
|
||||||
return hasGoggles.get();
|
}).orElse(false));
|
||||||
});
|
|
||||||
|
|
||||||
DistExecutor.unsafeRunWhenOn(Dist.CLIENT, () -> () -> FMLJavaModLoadingContext.get().getModEventBus().addListener(CuriosRenderers::onLayerRegister));
|
DistExecutor.unsafeRunWhenOn(Dist.CLIENT, () -> () -> modEventBus.addListener(CuriosRenderers::onLayerRegister));
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void onInterModEnqueue(final InterModEnqueueEvent event) {
|
private static void onInterModEnqueue(final InterModEnqueueEvent event) {
|
||||||
|
|
|
@ -16,7 +16,7 @@ public enum AllSections {
|
||||||
/** Item transport and other Utility */
|
/** Item transport and other Utility */
|
||||||
LOGISTICS(Palette.Yellow),
|
LOGISTICS(Palette.Yellow),
|
||||||
|
|
||||||
/** Tools for strucuture movement and replication */
|
/** Tools for structure movement and replication */
|
||||||
SCHEMATICS(Palette.Blue),
|
SCHEMATICS(Palette.Blue),
|
||||||
|
|
||||||
/** Decorative blocks */
|
/** Decorative blocks */
|
||||||
|
@ -33,7 +33,7 @@ public enum AllSections {
|
||||||
|
|
||||||
;
|
;
|
||||||
|
|
||||||
private Palette tooltipPalette;
|
private final Palette tooltipPalette;
|
||||||
|
|
||||||
private AllSections(Palette tooltipPalette) {
|
private AllSections(Palette tooltipPalette) {
|
||||||
this.tooltipPalette = tooltipPalette;
|
this.tooltipPalette = tooltipPalette;
|
||||||
|
@ -51,12 +51,12 @@ public enum AllSections {
|
||||||
}
|
}
|
||||||
|
|
||||||
static AllSections ofItem(Item item) {
|
static AllSections ofItem(Item item) {
|
||||||
return Create.registrate()
|
return Create.REGISTRATE
|
||||||
.getSection(item);
|
.getSection(item);
|
||||||
}
|
}
|
||||||
|
|
||||||
static AllSections ofBlock(Block block) {
|
static AllSections ofBlock(Block block) {
|
||||||
return Create.registrate()
|
return Create.REGISTRATE
|
||||||
.getSection(block);
|
.getSection(block);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -15,7 +15,6 @@ import com.google.common.base.Suppliers;
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
import com.simibubi.create.AllRecipeTypes;
|
import com.simibubi.create.AllRecipeTypes;
|
||||||
import com.simibubi.create.AllSoundEvents;
|
import com.simibubi.create.AllSoundEvents;
|
||||||
import com.simibubi.create.AllTags;
|
|
||||||
import com.simibubi.create.content.contraptions.components.actors.BlockBreakingKineticTileEntity;
|
import com.simibubi.create.content.contraptions.components.actors.BlockBreakingKineticTileEntity;
|
||||||
import com.simibubi.create.content.contraptions.itemAssembly.SequencedAssemblyRecipe;
|
import com.simibubi.create.content.contraptions.itemAssembly.SequencedAssemblyRecipe;
|
||||||
import com.simibubi.create.content.contraptions.processing.ProcessingInventory;
|
import com.simibubi.create.content.contraptions.processing.ProcessingInventory;
|
||||||
|
|
|
@ -21,8 +21,6 @@ import java.util.function.BiConsumer;
|
||||||
|
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
|
|
||||||
import net.minecraft.world.level.block.DoorBlock;
|
|
||||||
|
|
||||||
import org.apache.commons.lang3.tuple.MutablePair;
|
import org.apache.commons.lang3.tuple.MutablePair;
|
||||||
import org.apache.commons.lang3.tuple.Pair;
|
import org.apache.commons.lang3.tuple.Pair;
|
||||||
|
|
||||||
|
@ -95,6 +93,7 @@ import net.minecraft.world.level.block.Block;
|
||||||
import net.minecraft.world.level.block.Blocks;
|
import net.minecraft.world.level.block.Blocks;
|
||||||
import net.minecraft.world.level.block.ButtonBlock;
|
import net.minecraft.world.level.block.ButtonBlock;
|
||||||
import net.minecraft.world.level.block.ChestBlock;
|
import net.minecraft.world.level.block.ChestBlock;
|
||||||
|
import net.minecraft.world.level.block.DoorBlock;
|
||||||
import net.minecraft.world.level.block.PressurePlateBlock;
|
import net.minecraft.world.level.block.PressurePlateBlock;
|
||||||
import net.minecraft.world.level.block.Rotation;
|
import net.minecraft.world.level.block.Rotation;
|
||||||
import net.minecraft.world.level.block.SimpleWaterloggedBlock;
|
import net.minecraft.world.level.block.SimpleWaterloggedBlock;
|
||||||
|
|
|
@ -7,7 +7,7 @@ import java.util.stream.Collectors;
|
||||||
|
|
||||||
import javax.annotation.ParametersAreNonnullByDefault;
|
import javax.annotation.ParametersAreNonnullByDefault;
|
||||||
|
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.slf4j.Logger;
|
||||||
|
|
||||||
import com.google.gson.JsonObject;
|
import com.google.gson.JsonObject;
|
||||||
import com.simibubi.create.Create;
|
import com.simibubi.create.Create;
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package com.simibubi.create.content.palettes;
|
package com.simibubi.create.content.palettes;
|
||||||
|
|
||||||
|
import static com.simibubi.create.Create.REGISTRATE;
|
||||||
import static com.simibubi.create.foundation.data.WindowGen.customWindowBlock;
|
import static com.simibubi.create.foundation.data.WindowGen.customWindowBlock;
|
||||||
import static com.simibubi.create.foundation.data.WindowGen.customWindowPane;
|
import static com.simibubi.create.foundation.data.WindowGen.customWindowPane;
|
||||||
import static com.simibubi.create.foundation.data.WindowGen.framedGlass;
|
import static com.simibubi.create.foundation.data.WindowGen.framedGlass;
|
||||||
|
@ -13,7 +14,6 @@ import com.simibubi.create.content.AllSections;
|
||||||
import com.simibubi.create.foundation.block.connected.HorizontalCTBehaviour;
|
import com.simibubi.create.foundation.block.connected.HorizontalCTBehaviour;
|
||||||
import com.simibubi.create.foundation.block.connected.SimpleCTBehaviour;
|
import com.simibubi.create.foundation.block.connected.SimpleCTBehaviour;
|
||||||
import com.simibubi.create.foundation.data.BlockStateGen;
|
import com.simibubi.create.foundation.data.BlockStateGen;
|
||||||
import com.simibubi.create.foundation.data.CreateRegistrate;
|
|
||||||
import com.simibubi.create.foundation.data.WindowGen;
|
import com.simibubi.create.foundation.data.WindowGen;
|
||||||
import com.tterrag.registrate.util.DataIngredient;
|
import com.tterrag.registrate.util.DataIngredient;
|
||||||
import com.tterrag.registrate.util.entry.BlockEntry;
|
import com.tterrag.registrate.util.entry.BlockEntry;
|
||||||
|
@ -30,9 +30,11 @@ import net.minecraftforge.common.Tags;
|
||||||
|
|
||||||
public class AllPaletteBlocks {
|
public class AllPaletteBlocks {
|
||||||
|
|
||||||
private static final CreateRegistrate REGISTRATE = Create.registrate()
|
static {
|
||||||
.creativeModeTab(() -> Create.PALETTES_CREATIVE_TAB)
|
REGISTRATE
|
||||||
.startSection(AllSections.PALETTES);
|
.creativeModeTab(() -> Create.PALETTES_CREATIVE_TAB)
|
||||||
|
.startSection(AllSections.PALETTES);
|
||||||
|
}
|
||||||
|
|
||||||
// Windows and Glass
|
// Windows and Glass
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
package com.simibubi.create.content.palettes;
|
package com.simibubi.create.content.palettes;
|
||||||
|
|
||||||
import static com.simibubi.create.AllTags.pickaxeOnly;
|
import static com.simibubi.create.foundation.data.TagGen.pickaxeOnly;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.function.Supplier;
|
import java.util.function.Supplier;
|
||||||
|
@ -54,7 +54,7 @@ public abstract class PaletteBlockPartial<B extends Block> {
|
||||||
String patternName = Lang.nonPluralId(pattern.createName(variantName));
|
String patternName = Lang.nonPluralId(pattern.createName(variantName));
|
||||||
String blockName = patternName + "_" + this.name;
|
String blockName = patternName + "_" + this.name;
|
||||||
|
|
||||||
BlockBuilder<B, CreateRegistrate> blockBuilder = Create.registrate()
|
BlockBuilder<B, CreateRegistrate> blockBuilder = Create.REGISTRATE
|
||||||
.block(blockName, p -> createBlock(block))
|
.block(blockName, p -> createBlock(block))
|
||||||
.blockstate((c, p) -> generateBlockState(c, p, variantName, pattern, block))
|
.blockstate((c, p) -> generateBlockState(c, p, variantName, pattern, block))
|
||||||
.recipe((c, p) -> createRecipes(variant, block, c, p))
|
.recipe((c, p) -> createRecipes(variant, block, c, p))
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
package com.simibubi.create.content.palettes;
|
package com.simibubi.create.content.palettes;
|
||||||
|
|
||||||
import static com.simibubi.create.AllTags.pickaxeOnly;
|
import static com.simibubi.create.Create.REGISTRATE;
|
||||||
import static com.simibubi.create.foundation.data.CreateRegistrate.connectedTextures;
|
import static com.simibubi.create.foundation.data.CreateRegistrate.connectedTextures;
|
||||||
|
import static com.simibubi.create.foundation.data.TagGen.pickaxeOnly;
|
||||||
|
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
import com.simibubi.create.Create;
|
|
||||||
import com.simibubi.create.foundation.data.CreateRegistrate;
|
import com.simibubi.create.foundation.data.CreateRegistrate;
|
||||||
import com.tterrag.registrate.builders.BlockBuilder;
|
import com.tterrag.registrate.builders.BlockBuilder;
|
||||||
import com.tterrag.registrate.builders.ItemBuilder;
|
import com.tterrag.registrate.builders.ItemBuilder;
|
||||||
|
@ -26,12 +26,11 @@ public class PalettesVariantEntry {
|
||||||
public PalettesVariantEntry(String name, AllPaletteStoneTypes paletteStoneVariants) {
|
public PalettesVariantEntry(String name, AllPaletteStoneTypes paletteStoneVariants) {
|
||||||
ImmutableList.Builder<BlockEntry<? extends Block>> registeredBlocks = ImmutableList.builder();
|
ImmutableList.Builder<BlockEntry<? extends Block>> registeredBlocks = ImmutableList.builder();
|
||||||
ImmutableList.Builder<BlockEntry<? extends Block>> registeredPartials = ImmutableList.builder();
|
ImmutableList.Builder<BlockEntry<? extends Block>> registeredPartials = ImmutableList.builder();
|
||||||
CreateRegistrate registrate = Create.registrate();
|
|
||||||
NonNullSupplier<Block> baseBlock = paletteStoneVariants.baseBlock;
|
NonNullSupplier<Block> baseBlock = paletteStoneVariants.baseBlock;
|
||||||
|
|
||||||
for (PaletteBlockPattern pattern : paletteStoneVariants.variantTypes) {
|
for (PaletteBlockPattern pattern : paletteStoneVariants.variantTypes) {
|
||||||
BlockBuilder<? extends Block, CreateRegistrate> builder =
|
BlockBuilder<? extends Block, CreateRegistrate> builder =
|
||||||
registrate.block(pattern.createName(name), pattern.getBlockFactory())
|
REGISTRATE.block(pattern.createName(name), pattern.getBlockFactory())
|
||||||
.initialProperties(baseBlock)
|
.initialProperties(baseBlock)
|
||||||
.transform(pickaxeOnly())
|
.transform(pickaxeOnly())
|
||||||
.blockstate(pattern.getBlockStateGenerator()
|
.blockstate(pattern.getBlockStateGenerator()
|
||||||
|
|
|
@ -59,7 +59,7 @@ public class ClientSchematicLoader {
|
||||||
Path path = Paths.get("schematics", schematic);
|
Path path = Paths.get("schematics", schematic);
|
||||||
|
|
||||||
if (!Files.exists(path)) {
|
if (!Files.exists(path)) {
|
||||||
Create.LOGGER.fatal("Missing Schematic file: " + path.toString());
|
Create.LOGGER.error("Missing Schematic file: " + path.toString());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -252,7 +252,7 @@ public class SchematicAndQuillHandler {
|
||||||
if (!convertImmediately)
|
if (!convertImmediately)
|
||||||
return;
|
return;
|
||||||
if (!Files.exists(path)) {
|
if (!Files.exists(path)) {
|
||||||
Create.LOGGER.fatal("Missing Schematic file: " + path.toString());
|
Create.LOGGER.error("Missing Schematic file: " + path.toString());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
|
@ -261,7 +261,7 @@ public class SchematicAndQuillHandler {
|
||||||
AllPackets.channel.sendToServer(new InstantSchematicPacket(filename, origin, bounds));
|
AllPackets.channel.sendToServer(new InstantSchematicPacket(filename, origin, bounds));
|
||||||
|
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
Create.LOGGER.fatal("Error finding Schematic file: " + path.toString());
|
Create.LOGGER.error("Error finding Schematic file: " + path.toString());
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,9 +12,9 @@ import java.util.zip.GZIPInputStream;
|
||||||
|
|
||||||
import javax.annotation.Nonnull;
|
import javax.annotation.Nonnull;
|
||||||
|
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.slf4j.Logger;
|
||||||
import org.apache.logging.log4j.Logger;
|
|
||||||
|
|
||||||
|
import com.mojang.logging.LogUtils;
|
||||||
import com.simibubi.create.AllItems;
|
import com.simibubi.create.AllItems;
|
||||||
import com.simibubi.create.content.schematics.SchematicProcessor;
|
import com.simibubi.create.content.schematics.SchematicProcessor;
|
||||||
import com.simibubi.create.content.schematics.client.SchematicEditScreen;
|
import com.simibubi.create.content.schematics.client.SchematicEditScreen;
|
||||||
|
@ -53,7 +53,7 @@ import net.minecraftforge.fml.util.thread.SidedThreadGroups;
|
||||||
|
|
||||||
public class SchematicItem extends Item {
|
public class SchematicItem extends Item {
|
||||||
|
|
||||||
private static final Logger LOGGER = LogManager.getLogger();
|
private static final Logger LOGGER = LogUtils.getLogger();
|
||||||
|
|
||||||
public SchematicItem(Properties properties) {
|
public SchematicItem(Properties properties) {
|
||||||
super(properties);
|
super(properties);
|
||||||
|
|
|
@ -13,13 +13,13 @@ import java.util.Set;
|
||||||
import java.util.function.Consumer;
|
import java.util.function.Consumer;
|
||||||
import java.util.function.UnaryOperator;
|
import java.util.function.UnaryOperator;
|
||||||
|
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.slf4j.Logger;
|
||||||
import org.apache.logging.log4j.Logger;
|
|
||||||
|
|
||||||
import com.google.common.collect.Sets;
|
import com.google.common.collect.Sets;
|
||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
import com.google.gson.GsonBuilder;
|
import com.google.gson.GsonBuilder;
|
||||||
import com.google.gson.JsonObject;
|
import com.google.gson.JsonObject;
|
||||||
|
import com.mojang.logging.LogUtils;
|
||||||
import com.simibubi.create.AllBlocks;
|
import com.simibubi.create.AllBlocks;
|
||||||
import com.simibubi.create.AllFluids;
|
import com.simibubi.create.AllFluids;
|
||||||
import com.simibubi.create.AllItems;
|
import com.simibubi.create.AllItems;
|
||||||
|
@ -618,8 +618,8 @@ public class AllAdvancements implements DataProvider {
|
||||||
|
|
||||||
// Datagen
|
// Datagen
|
||||||
|
|
||||||
private static final Logger LOGGER = LogManager.getLogger();
|
private static final Logger LOGGER = LogUtils.getLogger();
|
||||||
private static final Gson GSON = (new GsonBuilder()).setPrettyPrinting()
|
private static final Gson GSON = new GsonBuilder().setPrettyPrinting()
|
||||||
.create();
|
.create();
|
||||||
private final DataGenerator generator;
|
private final DataGenerator generator;
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,7 @@ import java.util.function.Supplier;
|
||||||
|
|
||||||
import org.apache.commons.lang3.ArrayUtils;
|
import org.apache.commons.lang3.ArrayUtils;
|
||||||
|
|
||||||
import com.simibubi.create.AllTags;
|
import com.simibubi.create.foundation.data.TagGen;
|
||||||
import com.simibubi.create.foundation.utility.Iterate;
|
import com.simibubi.create.foundation.utility.Iterate;
|
||||||
import com.simibubi.create.foundation.utility.Lang;
|
import com.simibubi.create.foundation.utility.Lang;
|
||||||
import com.simibubi.create.foundation.utility.RegisteredObjects;
|
import com.simibubi.create.foundation.utility.RegisteredObjects;
|
||||||
|
@ -126,7 +126,7 @@ public class CopperBlockSet {
|
||||||
.loot((lt, block) -> variant.generateLootTable(lt, block, this, state, waxed))
|
.loot((lt, block) -> variant.generateLootTable(lt, block, this, state, waxed))
|
||||||
.blockstate((ctx, prov) -> variant.generateBlockState(ctx, prov, this, state, waxed))
|
.blockstate((ctx, prov) -> variant.generateBlockState(ctx, prov, this, state, waxed))
|
||||||
.recipe((c, p) -> variant.generateRecipes(entries.get(BlockVariant.INSTANCE)[state.ordinal()], c, p))
|
.recipe((c, p) -> variant.generateRecipes(entries.get(BlockVariant.INSTANCE)[state.ordinal()], c, p))
|
||||||
.transform(AllTags.pickaxeOnly())
|
.transform(TagGen.pickaxeOnly())
|
||||||
.tag(BlockTags.NEEDS_STONE_TOOL)
|
.tag(BlockTags.NEEDS_STONE_TOOL)
|
||||||
.simpleItem();
|
.simpleItem();
|
||||||
|
|
||||||
|
|
|
@ -3,8 +3,9 @@ package com.simibubi.create.foundation.command;
|
||||||
import java.util.function.Consumer;
|
import java.util.function.Consumer;
|
||||||
import java.util.function.Supplier;
|
import java.util.function.Supplier;
|
||||||
|
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.slf4j.Logger;
|
||||||
|
|
||||||
|
import com.mojang.logging.LogUtils;
|
||||||
import com.simibubi.create.Create;
|
import com.simibubi.create.Create;
|
||||||
import com.simibubi.create.content.contraptions.goggles.GoggleConfigScreen;
|
import com.simibubi.create.content.contraptions.goggles.GoggleConfigScreen;
|
||||||
import com.simibubi.create.content.logistics.trains.CameraDistanceModifier;
|
import com.simibubi.create.content.logistics.trains.CameraDistanceModifier;
|
||||||
|
@ -36,6 +37,8 @@ import net.minecraftforge.network.NetworkEvent;
|
||||||
|
|
||||||
public class SConfigureConfigPacket extends SimplePacketBase {
|
public class SConfigureConfigPacket extends SimplePacketBase {
|
||||||
|
|
||||||
|
private static final Logger LOGGER = LogUtils.getLogger();
|
||||||
|
|
||||||
private final String option;
|
private final String option;
|
||||||
private final String value;
|
private final String value;
|
||||||
|
|
||||||
|
@ -68,8 +71,7 @@ public class SConfigureConfigPacket extends SimplePacketBase {
|
||||||
Actions.valueOf(option)
|
Actions.valueOf(option)
|
||||||
.performAction(value);
|
.performAction(value);
|
||||||
} catch (IllegalArgumentException e) {
|
} catch (IllegalArgumentException e) {
|
||||||
LogManager.getLogger()
|
LOGGER.warn("Received ConfigureConfigPacket with invalid Option: " + option);
|
||||||
.warn("Received ConfigureConfigPacket with invalid Option: " + option);
|
|
||||||
}
|
}
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
|
|
@ -2,11 +2,11 @@ package com.simibubi.create.foundation.data;
|
||||||
|
|
||||||
import static com.simibubi.create.AllInteractionBehaviours.interactionBehaviour;
|
import static com.simibubi.create.AllInteractionBehaviours.interactionBehaviour;
|
||||||
import static com.simibubi.create.AllMovementBehaviours.movementBehaviour;
|
import static com.simibubi.create.AllMovementBehaviours.movementBehaviour;
|
||||||
import static com.simibubi.create.AllTags.axeOrPickaxe;
|
|
||||||
import static com.simibubi.create.AllTags.pickaxeOnly;
|
|
||||||
import static com.simibubi.create.foundation.data.BlockStateGen.axisBlock;
|
import static com.simibubi.create.foundation.data.BlockStateGen.axisBlock;
|
||||||
import static com.simibubi.create.foundation.data.CreateRegistrate.casingConnectivity;
|
import static com.simibubi.create.foundation.data.CreateRegistrate.casingConnectivity;
|
||||||
import static com.simibubi.create.foundation.data.CreateRegistrate.connectedTextures;
|
import static com.simibubi.create.foundation.data.CreateRegistrate.connectedTextures;
|
||||||
|
import static com.simibubi.create.foundation.data.TagGen.axeOrPickaxe;
|
||||||
|
import static com.simibubi.create.foundation.data.TagGen.pickaxeOnly;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
package com.simibubi.create.foundation.data;
|
package com.simibubi.create.foundation.data;
|
||||||
|
|
||||||
import static com.simibubi.create.AllTags.pickaxeOnly;
|
import static com.simibubi.create.foundation.data.TagGen.pickaxeOnly;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.IdentityHashMap;
|
import java.util.IdentityHashMap;
|
||||||
|
@ -45,6 +45,7 @@ import net.minecraft.world.level.block.state.BlockBehaviour.Properties;
|
||||||
import net.minecraft.world.level.material.Fluid;
|
import net.minecraft.world.level.material.Fluid;
|
||||||
import net.minecraftforge.api.distmarker.Dist;
|
import net.minecraftforge.api.distmarker.Dist;
|
||||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||||
|
import net.minecraftforge.eventbus.api.IEventBus;
|
||||||
import net.minecraftforge.fluids.FluidAttributes;
|
import net.minecraftforge.fluids.FluidAttributes;
|
||||||
import net.minecraftforge.fluids.ForgeFlowingFluid;
|
import net.minecraftforge.fluids.ForgeFlowingFluid;
|
||||||
import net.minecraftforge.fml.DistExecutor;
|
import net.minecraftforge.fml.DistExecutor;
|
||||||
|
@ -53,29 +54,38 @@ import net.minecraftforge.registries.IForgeRegistryEntry;
|
||||||
import net.minecraftforge.registries.RegistryObject;
|
import net.minecraftforge.registries.RegistryObject;
|
||||||
|
|
||||||
public class CreateRegistrate extends AbstractRegistrate<CreateRegistrate> {
|
public class CreateRegistrate extends AbstractRegistrate<CreateRegistrate> {
|
||||||
|
|
||||||
protected CreateRegistrate(String modid) {
|
protected CreateRegistrate(String modid) {
|
||||||
super(modid);
|
super(modid);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static CreateRegistrate create(String modid) {
|
||||||
|
return new CreateRegistrate(modid);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Deprecated(forRemoval = true)
|
||||||
public static NonNullSupplier<CreateRegistrate> lazy(String modid) {
|
public static NonNullSupplier<CreateRegistrate> lazy(String modid) {
|
||||||
return NonNullSupplier
|
return NonNullSupplier
|
||||||
.lazy(() -> new CreateRegistrate(modid).registerEventListeners(FMLJavaModLoadingContext.get()
|
.lazy(() -> new CreateRegistrate(modid).registerEventListeners(FMLJavaModLoadingContext.get()
|
||||||
.getModEventBus()));
|
.getModEventBus()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CreateRegistrate registerEventListeners(IEventBus bus) {
|
||||||
|
return super.registerEventListeners(bus);
|
||||||
|
}
|
||||||
|
|
||||||
/* Section Tracking */
|
/* Section Tracking */
|
||||||
|
|
||||||
private static Map<RegistryEntry<?>, AllSections> sectionLookup = new IdentityHashMap<>();
|
protected static final Map<RegistryEntry<?>, AllSections> SECTION_LOOKUP = new IdentityHashMap<>();
|
||||||
private AllSections section;
|
protected AllSections currentSection;
|
||||||
|
|
||||||
public CreateRegistrate startSection(AllSections section) {
|
public CreateRegistrate startSection(AllSections section) {
|
||||||
this.section = section;
|
this.currentSection = section;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public AllSections currentSection() {
|
public AllSections currentSection() {
|
||||||
return section;
|
return currentSection;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -83,26 +93,25 @@ public class CreateRegistrate extends AbstractRegistrate<CreateRegistrate> {
|
||||||
ResourceKey<? extends Registry<R>> type, Builder<R, T, ?, ?> builder, NonNullSupplier<? extends T> creator,
|
ResourceKey<? extends Registry<R>> type, Builder<R, T, ?, ?> builder, NonNullSupplier<? extends T> creator,
|
||||||
NonNullFunction<RegistryObject<T>, ? extends RegistryEntry<T>> entryFactory) {
|
NonNullFunction<RegistryObject<T>, ? extends RegistryEntry<T>> entryFactory) {
|
||||||
RegistryEntry<T> ret = super.accept(name, type, builder, creator, entryFactory);
|
RegistryEntry<T> ret = super.accept(name, type, builder, creator, entryFactory);
|
||||||
sectionLookup.put(ret, currentSection());
|
SECTION_LOOKUP.put(ret, currentSection());
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addToSection(RegistryEntry<?> entry, AllSections section) {
|
public void addToSection(RegistryEntry<?> entry, AllSections section) {
|
||||||
sectionLookup.put(entry, section);
|
SECTION_LOOKUP.put(entry, section);
|
||||||
}
|
}
|
||||||
|
|
||||||
public AllSections getSection(RegistryEntry<?> entry) {
|
public AllSections getSection(RegistryEntry<?> entry) {
|
||||||
return sectionLookup.getOrDefault(entry, AllSections.UNASSIGNED);
|
return SECTION_LOOKUP.getOrDefault(entry, AllSections.UNASSIGNED);
|
||||||
}
|
}
|
||||||
|
|
||||||
public AllSections getSection(IForgeRegistryEntry<?> entry) {
|
public AllSections getSection(IForgeRegistryEntry<?> entry) {
|
||||||
return sectionLookup.entrySet()
|
for (Entry<RegistryEntry<?>, AllSections> mapEntry : SECTION_LOOKUP.entrySet()) {
|
||||||
.stream()
|
if (mapEntry.getKey().get() == entry) {
|
||||||
.filter(e -> e.getKey()
|
return mapEntry.getValue();
|
||||||
.get() == entry)
|
}
|
||||||
.map(Entry::getValue)
|
}
|
||||||
.findFirst()
|
return AllSections.UNASSIGNED;
|
||||||
.orElse(AllSections.UNASSIGNED);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public <R extends IForgeRegistryEntry<R>> Collection<RegistryEntry<R>> getAll(AllSections section,
|
public <R extends IForgeRegistryEntry<R>> Collection<RegistryEntry<R>> getAll(AllSections section,
|
||||||
|
@ -255,5 +264,4 @@ public class CreateRegistrate extends AbstractRegistrate<CreateRegistrate> {
|
||||||
CreateClient.MODEL_SWAPPER.getCustomBlockModels()
|
CreateClient.MODEL_SWAPPER.getCustomBlockModels()
|
||||||
.register(RegisteredObjects.getKeyOrThrow(entry), model -> new CTModel(model, behavior));
|
.register(RegisteredObjects.getKeyOrThrow(entry), model -> new CTModel(model, behavior));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
229
src/main/java/com/simibubi/create/foundation/data/TagGen.java
Normal file
229
src/main/java/com/simibubi/create/foundation/data/TagGen.java
Normal file
|
@ -0,0 +1,229 @@
|
||||||
|
package com.simibubi.create.foundation.data;
|
||||||
|
|
||||||
|
import com.simibubi.create.AllTags;
|
||||||
|
import com.simibubi.create.AllTags.AllBlockTags;
|
||||||
|
import com.simibubi.create.AllTags.AllFluidTags;
|
||||||
|
import com.simibubi.create.AllTags.AllItemTags;
|
||||||
|
import com.simibubi.create.Create;
|
||||||
|
import com.simibubi.create.foundation.data.recipe.Mods;
|
||||||
|
import com.tterrag.registrate.builders.BlockBuilder;
|
||||||
|
import com.tterrag.registrate.builders.ItemBuilder;
|
||||||
|
import com.tterrag.registrate.providers.ProviderType;
|
||||||
|
import com.tterrag.registrate.providers.RegistrateTagsProvider;
|
||||||
|
import com.tterrag.registrate.util.nullness.NonNullFunction;
|
||||||
|
|
||||||
|
import net.minecraft.data.tags.TagsProvider.TagAppender;
|
||||||
|
import net.minecraft.tags.BlockTags;
|
||||||
|
import net.minecraft.tags.ItemTags;
|
||||||
|
import net.minecraft.world.item.BlockItem;
|
||||||
|
import net.minecraft.world.item.Item;
|
||||||
|
import net.minecraft.world.item.Items;
|
||||||
|
import net.minecraft.world.level.block.Block;
|
||||||
|
import net.minecraft.world.level.block.Blocks;
|
||||||
|
import net.minecraft.world.level.material.Fluid;
|
||||||
|
import net.minecraft.world.level.material.Fluids;
|
||||||
|
import net.minecraftforge.common.Tags;
|
||||||
|
|
||||||
|
public class TagGen {
|
||||||
|
public static <T extends Block, P> NonNullFunction<BlockBuilder<T, P>, BlockBuilder<T, P>> axeOrPickaxe() {
|
||||||
|
return b -> b.tag(BlockTags.MINEABLE_WITH_AXE)
|
||||||
|
.tag(BlockTags.MINEABLE_WITH_PICKAXE);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static <T extends Block, P> NonNullFunction<BlockBuilder<T, P>, BlockBuilder<T, P>> axeOnly() {
|
||||||
|
return b -> b.tag(BlockTags.MINEABLE_WITH_AXE);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static <T extends Block, P> NonNullFunction<BlockBuilder<T, P>, BlockBuilder<T, P>> pickaxeOnly() {
|
||||||
|
return b -> b.tag(BlockTags.MINEABLE_WITH_PICKAXE);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static <T extends Block, P> NonNullFunction<BlockBuilder<T, P>, ItemBuilder<BlockItem, BlockBuilder<T, P>>> tagBlockAndItem(
|
||||||
|
String... path) {
|
||||||
|
return b -> {
|
||||||
|
for (String p : path)
|
||||||
|
b.tag(AllTags.forgeBlockTag(p));
|
||||||
|
ItemBuilder<BlockItem, BlockBuilder<T, P>> item = b.item();
|
||||||
|
for (String p : path)
|
||||||
|
item.tag(AllTags.forgeItemTag(p));
|
||||||
|
return item;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
public static <T extends TagAppender<?>> T addOptional(T appender, Mods mod, String id) {
|
||||||
|
appender.addOptional(mod.asResource(id));
|
||||||
|
return appender;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static <T extends TagAppender<?>> T addOptional(T appender, Mods mod, String... ids) {
|
||||||
|
for (String id : ids) {
|
||||||
|
appender.addOptional(mod.asResource(id));
|
||||||
|
}
|
||||||
|
return appender;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void datagen() {
|
||||||
|
Create.REGISTRATE.addDataGenerator(ProviderType.BLOCK_TAGS, TagGen::genBlockTags);
|
||||||
|
Create.REGISTRATE.addDataGenerator(ProviderType.ITEM_TAGS, TagGen::genItemTags);
|
||||||
|
Create.REGISTRATE.addDataGenerator(ProviderType.FLUID_TAGS, TagGen::genFluidTags);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void genBlockTags(RegistrateTagsProvider<Block> prov) {
|
||||||
|
prov.tag(AllBlockTags.BRITTLE.tag)
|
||||||
|
.add(Blocks.BELL, Blocks.COCOA, Blocks.FLOWER_POT)
|
||||||
|
.addTag(BlockTags.BEDS)
|
||||||
|
.addTag(BlockTags.DOORS);
|
||||||
|
|
||||||
|
prov.tag(AllBlockTags.FAN_TRANSPARENT.tag)
|
||||||
|
.add(Blocks.IRON_BARS)
|
||||||
|
.addTag(BlockTags.CAMPFIRES)
|
||||||
|
.addTag(BlockTags.FENCES);
|
||||||
|
|
||||||
|
prov.tag(AllBlockTags.ORE_OVERRIDE_STONE.tag)
|
||||||
|
.addTag(BlockTags.STONE_ORE_REPLACEABLES);
|
||||||
|
|
||||||
|
prov.tag(AllBlockTags.PASSIVE_BOILER_HEATERS.tag)
|
||||||
|
.add(Blocks.MAGMA_BLOCK, Blocks.LAVA)
|
||||||
|
.addTag(BlockTags.CAMPFIRES)
|
||||||
|
.addTag(BlockTags.FIRE);
|
||||||
|
|
||||||
|
prov.tag(AllBlockTags.SAFE_NBT.tag)
|
||||||
|
.addTag(BlockTags.BANNERS)
|
||||||
|
.addTag(BlockTags.SIGNS);
|
||||||
|
|
||||||
|
prov.tag(AllBlockTags.TREE_ATTACHMENTS.tag)
|
||||||
|
.add(Blocks.BEE_NEST, Blocks.COCOA, Blocks.MOSS_CARPET, Blocks.SHROOMLIGHT, Blocks.VINE);
|
||||||
|
|
||||||
|
prov.tag(AllBlockTags.WINDMILL_SAILS.tag)
|
||||||
|
.addTag(BlockTags.WOOL);
|
||||||
|
|
||||||
|
prov.tag(AllBlockTags.WRENCH_PICKUP.tag)
|
||||||
|
.add(Blocks.REDSTONE_WIRE, Blocks.REDSTONE_TORCH, Blocks.REPEATER, Blocks.LEVER,
|
||||||
|
Blocks.COMPARATOR, Blocks.OBSERVER, Blocks.REDSTONE_WALL_TORCH, Blocks.PISTON, Blocks.STICKY_PISTON,
|
||||||
|
Blocks.TRIPWIRE, Blocks.TRIPWIRE_HOOK, Blocks.DAYLIGHT_DETECTOR, Blocks.TARGET, Blocks.HOPPER)
|
||||||
|
.addTag(BlockTags.BUTTONS)
|
||||||
|
.addTag(BlockTags.PRESSURE_PLATES)
|
||||||
|
.addTag(BlockTags.RAILS);
|
||||||
|
|
||||||
|
// COMPAT
|
||||||
|
|
||||||
|
addOptional(prov.tag(AllBlockTags.NON_MOVABLE.tag), Mods.IE,
|
||||||
|
"connector_lv", "connector_lv_relay", "connector_mv", "connector_mv_relay",
|
||||||
|
"connector_hv", "connector_hv_relay", "connector_bundled", "connector_structural",
|
||||||
|
"connector_redstone", "connector_probe", "breaker_switch");
|
||||||
|
|
||||||
|
// VALIDATE
|
||||||
|
|
||||||
|
for (AllBlockTags tag : AllBlockTags.values()) {
|
||||||
|
if (tag.alwaysDatagen) {
|
||||||
|
prov.getOrCreateRawBuilder(tag.tag);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void genItemTags(RegistrateTagsProvider<Item> prov) {
|
||||||
|
prov.tag(AllItemTags.SLEEPERS.tag)
|
||||||
|
.add(Items.STONE_SLAB, Items.SMOOTH_STONE_SLAB, Items.ANDESITE_SLAB);
|
||||||
|
|
||||||
|
prov.tag(AllItemTags.STRIPPED_LOGS.tag)
|
||||||
|
.addTag(AllItemTags.VANILLA_STRIPPED_LOGS.tag)
|
||||||
|
.addTag(AllItemTags.MODDED_STRIPPED_LOGS.tag);
|
||||||
|
|
||||||
|
prov.tag(AllItemTags.STRIPPED_WOOD.tag)
|
||||||
|
.addTag(AllItemTags.VANILLA_STRIPPED_WOOD.tag)
|
||||||
|
.addTag(AllItemTags.MODDED_STRIPPED_WOOD.tag);
|
||||||
|
|
||||||
|
prov.tag(AllItemTags.UPRIGHT_ON_BELT.tag)
|
||||||
|
.add(Items.GLASS_BOTTLE, Items.POTION, Items.SPLASH_POTION, Items.LINGERING_POTION,
|
||||||
|
Items.HONEY_BOTTLE, Items.CAKE);
|
||||||
|
|
||||||
|
prov.tag(AllItemTags.VANILLA_STRIPPED_LOGS.tag)
|
||||||
|
.add(Items.STRIPPED_ACACIA_LOG, Items.STRIPPED_BIRCH_LOG, Items.STRIPPED_CRIMSON_STEM,
|
||||||
|
Items.STRIPPED_DARK_OAK_LOG, Items.STRIPPED_JUNGLE_LOG, Items.STRIPPED_OAK_LOG,
|
||||||
|
Items.STRIPPED_SPRUCE_LOG, Items.STRIPPED_WARPED_STEM);
|
||||||
|
|
||||||
|
prov.tag(AllItemTags.VANILLA_STRIPPED_WOOD.tag)
|
||||||
|
.add(Items.STRIPPED_ACACIA_WOOD, Items.STRIPPED_BIRCH_WOOD,
|
||||||
|
Items.STRIPPED_CRIMSON_HYPHAE, Items.STRIPPED_DARK_OAK_WOOD, Items.STRIPPED_JUNGLE_WOOD,
|
||||||
|
Items.STRIPPED_OAK_WOOD, Items.STRIPPED_SPRUCE_WOOD, Items.STRIPPED_WARPED_HYPHAE);
|
||||||
|
|
||||||
|
prov.tag(ItemTags.BEACON_PAYMENT_ITEMS)
|
||||||
|
.addTag(AllItemTags.CREATE_INGOTS.tag);
|
||||||
|
|
||||||
|
prov.tag(Tags.Items.INGOTS)
|
||||||
|
.addTag(AllItemTags.CREATE_INGOTS.tag);
|
||||||
|
|
||||||
|
// COMPAT
|
||||||
|
|
||||||
|
genStrippedWood(prov);
|
||||||
|
|
||||||
|
// VALIDATE
|
||||||
|
|
||||||
|
for (AllItemTags tag : AllItemTags.values()) {
|
||||||
|
if (tag.alwaysDatagen) {
|
||||||
|
prov.getOrCreateRawBuilder(tag.tag);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void genStrippedWood(RegistrateTagsProvider<Item> prov) {
|
||||||
|
TagAppender<Item> logAppender = prov.tag(AllItemTags.MODDED_STRIPPED_LOGS.tag);
|
||||||
|
TagAppender<Item> woodAppender = prov.tag(AllItemTags.MODDED_STRIPPED_WOOD.tag);
|
||||||
|
StrippedWoodHelper helper = new StrippedWoodHelper(logAppender, woodAppender);
|
||||||
|
|
||||||
|
helper.add(Mods.ARS_N, "blue_archwood", "purple_archwood", "green_archwood", "red_archwood");
|
||||||
|
helper.add(Mods.BTN, "livingwood", "dreamwood");
|
||||||
|
helper.add(Mods.FA, "cherrywood", "mysterywood");
|
||||||
|
helper.add(Mods.HEX, "akashic");
|
||||||
|
helper.add(Mods.ID, "menril");
|
||||||
|
helper.add(Mods.BYG, "aspen", "baobab", "enchanted", "cherry", "cika", "cypress", "ebony", "ether",
|
||||||
|
"fir", "green_enchanted", "holly", "jacaranda", "lament", "mahogany", "mangrove", "maple", "nightshade",
|
||||||
|
"palm", "palo_verde", "pine", "rainbow_eucalyptus", "redwood", "skyris", "willow", "witch_hazel",
|
||||||
|
"zelkova");
|
||||||
|
helper.add(Mods.SG, "netherwood");
|
||||||
|
helper.add(Mods.TF, "twilight_oak", "canopy", "mangrove", "dark", "time", "transformation", "mining",
|
||||||
|
"sorting");
|
||||||
|
helper.add(Mods.TIC, "greenheart", "skyroot", "bloodshroom");
|
||||||
|
helper.add(Mods.AP, "twisted");
|
||||||
|
helper.add(Mods.Q, "azalea", "blossom");
|
||||||
|
helper.add(Mods.ECO, "coconut", "walnut", "azalea");
|
||||||
|
helper.add(Mods.BOP, "fir", "redwood", "cherry", "mahogany", "jacaranda", "palm", "willow", "dead",
|
||||||
|
"magic", "umbran", "hellbark");
|
||||||
|
helper.add(Mods.BSK, "bluebright", "starlit", "frostbright", "lunar", "dusk", "maple", "cherry");
|
||||||
|
|
||||||
|
addOptional(logAppender, Mods.BYG, "stripped_bulbis_stem");
|
||||||
|
addOptional(woodAppender, Mods.BYG, "stripped_bulbis_wood");
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void genFluidTags(RegistrateTagsProvider<Fluid> prov) {
|
||||||
|
prov.tag(AllFluidTags.BOTTOMLESS_ALLOW.tag)
|
||||||
|
.add(Fluids.WATER, Fluids.LAVA);
|
||||||
|
|
||||||
|
// VALIDATE
|
||||||
|
|
||||||
|
for (AllFluidTags tag : AllFluidTags.values()) {
|
||||||
|
if (tag.alwaysDatagen) {
|
||||||
|
prov.getOrCreateRawBuilder(tag.tag);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static class StrippedWoodHelper {
|
||||||
|
protected final TagAppender<Item> logAppender;
|
||||||
|
protected final TagAppender<Item> woodAppender;
|
||||||
|
|
||||||
|
public StrippedWoodHelper(TagAppender<Item> logAppender, TagAppender<Item> woodAppender) {
|
||||||
|
this.logAppender = logAppender;
|
||||||
|
this.woodAppender = woodAppender;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void add(Mods mod, String... woodTypes) {
|
||||||
|
for (String type : woodTypes) {
|
||||||
|
String strippedPre = mod.strippedIsSuffix ? "" : "stripped_";
|
||||||
|
String strippedPost = mod.strippedIsSuffix ? "_stripped" : "";
|
||||||
|
addOptional(logAppender, mod, strippedPre + type + "_log" + strippedPost);
|
||||||
|
addOptional(woodAppender, mod, strippedPre + type + (mod.omitWoodSuffix ? "" : "_wood") + strippedPost);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,5 +1,6 @@
|
||||||
package com.simibubi.create.foundation.data;
|
package com.simibubi.create.foundation.data;
|
||||||
|
|
||||||
|
import static com.simibubi.create.Create.REGISTRATE;
|
||||||
import static com.simibubi.create.foundation.data.CreateRegistrate.connectedTextures;
|
import static com.simibubi.create.foundation.data.CreateRegistrate.connectedTextures;
|
||||||
|
|
||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
|
@ -43,8 +44,6 @@ import net.minecraftforge.common.Tags;
|
||||||
|
|
||||||
public class WindowGen {
|
public class WindowGen {
|
||||||
|
|
||||||
private static final CreateRegistrate REGISTRATE = Create.registrate();
|
|
||||||
|
|
||||||
private static Properties glassProperties(Properties p) {
|
private static Properties glassProperties(Properties p) {
|
||||||
return p.isValidSpawn(WindowGen::never)
|
return p.isValidSpawn(WindowGen::never)
|
||||||
.isRedstoneConductor(WindowGen::never)
|
.isRedstoneConductor(WindowGen::never)
|
||||||
|
|
|
@ -64,7 +64,7 @@ public abstract class CreateItemGroupBase extends CreativeModeTab {
|
||||||
|
|
||||||
protected Collection<RegistryEntry<Block>> getBlocks() {
|
protected Collection<RegistryEntry<Block>> getBlocks() {
|
||||||
return getSections().stream()
|
return getSections().stream()
|
||||||
.flatMap(s -> Create.registrate()
|
.flatMap(s -> Create.REGISTRATE
|
||||||
.getAll(s, Registry.BLOCK_REGISTRY)
|
.getAll(s, Registry.BLOCK_REGISTRY)
|
||||||
.stream())
|
.stream())
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
|
@ -72,7 +72,7 @@ public abstract class CreateItemGroupBase extends CreativeModeTab {
|
||||||
|
|
||||||
protected Collection<RegistryEntry<Item>> getItems() {
|
protected Collection<RegistryEntry<Item>> getItems() {
|
||||||
return getSections().stream()
|
return getSections().stream()
|
||||||
.flatMap(s -> Create.registrate()
|
.flatMap(s -> Create.REGISTRATE
|
||||||
.getAll(s, Registry.ITEM_REGISTRY)
|
.getAll(s, Registry.ITEM_REGISTRY)
|
||||||
.stream())
|
.stream())
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package com.simibubi.create.foundation.render;
|
package com.simibubi.create.foundation.render;
|
||||||
|
|
||||||
|
import java.nio.ByteBuffer;
|
||||||
import java.util.function.IntPredicate;
|
import java.util.function.IntPredicate;
|
||||||
|
|
||||||
import com.jozufozu.flywheel.api.vertex.ShadedVertexList;
|
import com.jozufozu.flywheel.api.vertex.ShadedVertexList;
|
||||||
|
@ -11,8 +12,10 @@ import com.jozufozu.flywheel.util.DiffuseLightCalculator;
|
||||||
import com.jozufozu.flywheel.util.transform.TStack;
|
import com.jozufozu.flywheel.util.transform.TStack;
|
||||||
import com.jozufozu.flywheel.util.transform.Transform;
|
import com.jozufozu.flywheel.util.transform.Transform;
|
||||||
import com.mojang.blaze3d.vertex.BufferBuilder;
|
import com.mojang.blaze3d.vertex.BufferBuilder;
|
||||||
|
import com.mojang.blaze3d.vertex.BufferBuilder.DrawState;
|
||||||
import com.mojang.blaze3d.vertex.PoseStack;
|
import com.mojang.blaze3d.vertex.PoseStack;
|
||||||
import com.mojang.blaze3d.vertex.VertexConsumer;
|
import com.mojang.blaze3d.vertex.VertexConsumer;
|
||||||
|
import com.mojang.datafixers.util.Pair;
|
||||||
import com.mojang.math.Matrix3f;
|
import com.mojang.math.Matrix3f;
|
||||||
import com.mojang.math.Matrix4f;
|
import com.mojang.math.Matrix4f;
|
||||||
import com.mojang.math.Quaternion;
|
import com.mojang.math.Quaternion;
|
||||||
|
@ -67,14 +70,21 @@ public class SuperByteBuffer implements Transform<SuperByteBuffer>, TStack<Super
|
||||||
private static final Long2IntMap WORLD_LIGHT_CACHE = new Long2IntOpenHashMap();
|
private static final Long2IntMap WORLD_LIGHT_CACHE = new Long2IntOpenHashMap();
|
||||||
|
|
||||||
public SuperByteBuffer(BufferBuilder buf) {
|
public SuperByteBuffer(BufferBuilder buf) {
|
||||||
|
Pair<DrawState, ByteBuffer> pair = buf.popNextBuffer();
|
||||||
|
DrawState drawState = pair.getFirst();
|
||||||
|
ByteBuffer buffer = pair.getSecond();
|
||||||
|
int vertexCount = drawState.vertexCount();
|
||||||
|
int stride = drawState.format().getVertexSize();
|
||||||
|
|
||||||
if (buf instanceof ShadeSeparatedBufferBuilder separated) {
|
if (buf instanceof ShadeSeparatedBufferBuilder separated) {
|
||||||
ShadedVertexList template = new BlockVertexList.Shaded(separated);
|
ShadedVertexList template = new BlockVertexList.Shaded(buffer, vertexCount, stride, separated.getUnshadedStartVertex());
|
||||||
shadedPredicate = template::isShaded;
|
shadedPredicate = template::isShaded;
|
||||||
this.template = template;
|
this.template = template;
|
||||||
} else {
|
} else {
|
||||||
template = new BlockVertexList(buf);
|
template = new BlockVertexList(buffer, vertexCount, stride);
|
||||||
shadedPredicate = index -> true;
|
shadedPredicate = index -> true;
|
||||||
}
|
}
|
||||||
|
|
||||||
transforms = new PoseStack();
|
transforms = new PoseStack();
|
||||||
transforms.pushPose();
|
transforms.pushPose();
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,6 +33,6 @@ Technology that empowers the player.'''
|
||||||
[[dependencies.create]]
|
[[dependencies.create]]
|
||||||
modId="flywheel"
|
modId="flywheel"
|
||||||
mandatory=true
|
mandatory=true
|
||||||
versionRange="[0.6.5,0.6.7)"
|
versionRange="[0.6.8,0.6.9)"
|
||||||
ordering="AFTER"
|
ordering="AFTER"
|
||||||
side="CLIENT"
|
side="CLIENT"
|
||||||
|
|
Loading…
Reference in a new issue