Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Opening up hardcoded block/item lists #4

Closed
2 tasks
asiekierka opened this issue Nov 29, 2018 · 5 comments
Closed
2 tasks

Opening up hardcoded block/item lists #4

asiekierka opened this issue Nov 29, 2018 · 5 comments
Labels
enhancement New feature or request

Comments

@asiekierka
Copy link
Contributor

  • Block.isNaturalDirt/isNaturalStone -> turn them into tags (fabric:natural_dirt, fabric:natural_stone)
  • ToolItem effective block lists/mining levels -> ???
@Prospector Prospector added the enhancement New feature or request label Jun 3, 2019
Prospector pushed a commit to Prospector/fabric that referenced this issue Jun 29, 2019
shedaniel pushed a commit to shedaniel/fabric that referenced this issue Jul 14, 2020
* Created event lifecycle project

 Changes to be committed:
	modified:   build.gradle
	new file:   fabric-events-lifecycle-v0/build.gradle
	new file:   fabric-events-lifecycle-v0/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/MixinMinecraftClient.java
	new file:   fabric-events-lifecycle-v0/src/main/resources/assets/fabric-events-lifecycle-v0/icon.png
	new file:   fabric-events-lifecycle-v0/src/main/resources/fabric-events-lifecycle-v0.mixins.json
	new file:   fabric-events-lifecycle-v0/src/main/resources/fabric.mod.json
	modified:   settings.gradle

* Created ClientTickCallback

 Changes to be committed:
	new file:   fabric-events-lifecycle-v0/src/main/java/net/fabricmc/fabric/api/event/client/ClientTickCallback.java
	modified:   fabric-events-lifecycle-v0/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/MixinMinecraftClient.java

* Added ItemTooltipCallback

 Changes to be committed:
	new file:   fabric-events-lifecycle-v0/src/main/java/net/fabricmc/fabric/api/event/client/ItemTooltipCallback.java
	new file:   fabric-events-lifecycle-v0/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/MixinItem.java
	modified:   fabric-events-lifecycle-v0/src/main/resources/fabric-events-lifecycle-v0.mixins.json

* Added notice

 Changes to be committed:
	modified:   fabric-events-lifecycle-v0/src/main/java/net/fabricmc/fabric/api/event/client/ClientTickCallback.java
	modified:   fabric-events-lifecycle-v0/src/main/java/net/fabricmc/fabric/api/event/client/ItemTooltipCallback.java
	modified:   fabric-events-lifecycle-v0/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/MixinItem.java
	modified:   fabric-events-lifecycle-v0/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/MixinMinecraftClient.java

* Added ServerStartCallback

 Changes to be committed:
	new file:   fabric-events-lifecycle-v0/src/main/java/net/fabricmc/fabric/api/event/server/ServerStartCallback.java
	new file:   fabric-events-lifecycle-v0/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/MixinMinecraftServer.java
	modified:   fabric-events-lifecycle-v0/src/main/resources/fabric-events-lifecycle-v0.mixins.json

* Added ServerStopCallback

 Changes to be committed:
	new file:   fabric-events-lifecycle-v0/src/main/java/net/fabricmc/fabric/api/event/server/ServerStopCallback.java
	modified:   fabric-events-lifecycle-v0/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/MixinMinecraftServer.java

* Added ServerTickCallback

 Changes to be committed:
	modified:   fabric-events-lifecycle-v0/src/main/java/net/fabricmc/fabric/api/event/server/ServerStopCallback.java
	new file:   fabric-events-lifecycle-v0/src/main/java/net/fabricmc/fabric/api/event/server/ServerTickCallback.java
	modified:   fabric-events-lifecycle-v0/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/MixinMinecraftServer.java

* Added WorldTickCallback

Time to make more events now!

 Changes to be committed:
	new file:   fabric-events-lifecycle-v0/src/main/java/net/fabricmc/fabric/api/event/world/WorldTickCallback.java
	new file:   fabric-events-lifecycle-v0/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/MixinWorld.java
	modified:   fabric-events-lifecycle-v0/src/main/resources/fabric-events-lifecycle-v0.mixins.json

* Added ClientStopCallback

 Changes to be committed:
	new file:   fabric-events-lifecycle-v0/src/main/java/net/fabricmc/fabric/api/event/client/ClientStopCallback.java
	modified:   fabric-events-lifecycle-v0/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/MixinMinecraftClient.java

* Fixed mixin target

 Changes to be committed:
	modified:   fabric-events-lifecycle-v0/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/MixinMinecraftClient.java

* Added ClientStartCallback

 Changes to be committed:
	new file:   fabric-events-lifecycle-v0/src/main/java/net/fabricmc/fabric/api/event/client/ClientStartCallback.java
	modified:   fabric-events-lifecycle-v0/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/MixinMinecraftClient.java

* Removed lifecycle events from unfinished

 Changes to be committed:
	deleted:    unfinished/fabric-events-lifecycle-v0/build.gradle
	deleted:    unfinished/fabric-events-lifecycle-v0/src/main/java/net/fabricmc/fabric/api/event/client/ClientTickCallback.java
	deleted:    unfinished/fabric-events-lifecycle-v0/src/main/java/net/fabricmc/fabric/api/event/client/ItemTooltipCallback.java
	deleted:    unfinished/fabric-events-lifecycle-v0/src/main/java/net/fabricmc/fabric/api/event/server/ServerStartCallback.java
	deleted:    unfinished/fabric-events-lifecycle-v0/src/main/java/net/fabricmc/fabric/api/event/server/ServerStopCallback.java
	deleted:    unfinished/fabric-events-lifecycle-v0/src/main/java/net/fabricmc/fabric/api/event/server/ServerTickCallback.java
	deleted:    unfinished/fabric-events-lifecycle-v0/src/main/java/net/fabricmc/fabric/api/event/world/WorldTickCallback.java
	deleted:    unfinished/fabric-events-lifecycle-v0/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/MixinItemStack.java
	deleted:    unfinished/fabric-events-lifecycle-v0/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/MixinMinecraftClient.java
	deleted:    unfinished/fabric-events-lifecycle-v0/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/MixinMinecraftServer.java
	deleted:    unfinished/fabric-events-lifecycle-v0/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/MixinWorld.java
	deleted:    unfinished/fabric-events-lifecycle-v0/src/main/resources/assets/fabric-events-lifecycle-v0/icon.png
	deleted:    unfinished/fabric-events-lifecycle-v0/src/main/resources/fabric-events-lifecycle-v0.mixins.json
	deleted:    unfinished/fabric-events-lifecycle-v0/src/main/resources/fabric.mod.json

* Added PlayerJoinCallback

 Changes to be committed:
	new file:   fabric-events-lifecycle-v0/src/main/java/net/fabricmc/fabric/api/event/server/PlayerJoinCallback.java
	new file:   fabric-events-lifecycle-v0/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/MixinPlayerManager.java
	modified:   fabric-events-lifecycle-v0/src/main/resources/fabric-events-lifecycle-v0.mixins.json

* Added EntityKilledCallback

 Changes to be committed:
	new file:   fabric-events-lifecycle-v0/src/main/java/net/fabricmc/fabric/api/event/world/EntityKilledCallback.java
	new file:   fabric-events-lifecycle-v0/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/MixinEntity.java
	modified:   fabric-events-lifecycle-v0/src/main/resources/fabric-events-lifecycle-v0.mixins.json

* Added LanServerPublishedCallback

 Changes to be committed:
	new file:   fabric-events-lifecycle-v0/src/main/java/net/fabricmc/fabric/api/event/client/LanServerPublishedCallback.java
	new file:   fabric-events-lifecycle-v0/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/MixinIntegratedServer.java
	modified:   fabric-events-lifecycle-v0/src/main/resources/fabric-events-lifecycle-v0.mixins.json

* Added chunks saved callback

 Changes to be committed:
	new file:   fabric-events-lifecycle-v0/src/main/java/net/fabricmc/fabric/api/event/world/ChunksSavedCallback.java
	new file:   fabric-events-lifecycle-v0/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/MixinThreadedAnvilChunkStorage.java
	modified:   fabric-events-lifecycle-v0/src/main/resources/fabric-events-lifecycle-v0.mixins.json

* Added EntityHurtCallback

 Changes to be committed:
	new file:   fabric-events-lifecycle-v0/src/main/java/net/fabricmc/fabric/api/event/world/EntityHurtCallback.java
	new file:   fabric-events-lifecycle-v0/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/MixinDamageTracker.java
	modified:   fabric-events-lifecycle-v0/src/main/resources/fabric-events-lifecycle-v0.mixins.json

* Added DedicatedServerSetupCallback and ServerPlayerTickCallback

 Changes to be committed:
	new file:   fabric-events-lifecycle-v0/src/main/java/net/fabricmc/fabric/api/event/server/DedicatedServerSetupCallback.java
	new file:   fabric-events-lifecycle-v0/src/main/java/net/fabricmc/fabric/api/event/world/ServerPlayerTickCallback.java
	new file:   fabric-events-lifecycle-v0/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/MixinMinecraftDedicatedServer.java
	new file:   fabric-events-lifecycle-v0/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/MixinServerPlayerEntity.java
	modified:   fabric-events-lifecycle-v0/src/main/resources/fabric-events-lifecycle-v0.mixins.json

* Updated yarn and applied license header

and temperorily disabled checkstyle

 Changes to be committed:
	modified:   build.gradle
	modified:   fabric-api-base/src/main/java/net/fabricmc/fabric/api/util/NbtType.java
	modified:   fabric-api-base/src/main/java/net/fabricmc/fabric/impl/base/util/ActionResult.java
	modified:   fabric-api-base/src/main/java/net/fabricmc/fabric/impl/base/util/TypedActionResult.java
	modified:   fabric-content-registries-v1/src/main/java/net/fabricmc/fabric/api/content/registries/v1/BlockRegistry.java
	modified:   fabric-content-registries-v1/src/main/java/net/fabricmc/fabric/api/content/registries/v1/ItemRegistry.java
	modified:   fabric-content-registries-v1/src/main/java/net/fabricmc/fabric/impl/content/registries/ContentRegistryImpl.java
	modified:   fabric-content-registries-v1/src/main/java/net/fabricmc/fabric/impl/content/registries/TestMod.java
	modified:   fabric-content-registries-v1/src/main/java/net/fabricmc/fabric/mixin/content/registries/BlockAccessor.java
	modified:   fabric-content-registries-v1/src/main/java/net/fabricmc/fabric/mixin/content/registries/ItemAccessor.java
	modified:   fabric-content-registries-v1/src/main/java/net/fabricmc/fabric/mixin/content/registries/MutableRegistryAccessor.java
	modified:   fabric-content-registries-v1/src/main/java/net/fabricmc/fabric/mixin/content/registries/SimpleRegistryAccessor.java
	modified:   fabric-content-registries-v1/src/main/java/net/fabricmc/fabric/mixin/content/registries/WorldMixin.java
	modified:   fabric-crash-report-info-v1/src/main/java/net/fabricmc/fabric/mixin/crash/report/info/MixinCrashReport.java
	modified:   fabric-events-interaction-v0/src/main/java/net/fabricmc/fabric/impl/util/BlockHitResult.java
	modified:   fabric-events-interaction-v0/src/main/java/net/fabricmc/fabric/impl/util/EntityHitResult.java
	modified:   fabric-events-interaction-v0/src/main/java/net/fabricmc/fabric/mixin/event/interaction/MixinServerPlayerEntity.java
	modified:   fabric-events-lifecycle-v0/src/main/java/net/fabricmc/fabric/api/event/client/ClientStartCallback.java
	modified:   fabric-events-lifecycle-v0/src/main/java/net/fabricmc/fabric/api/event/client/ClientStopCallback.java
	modified:   fabric-events-lifecycle-v0/src/main/java/net/fabricmc/fabric/api/event/client/LanServerPublishedCallback.java
	modified:   fabric-events-lifecycle-v0/src/main/java/net/fabricmc/fabric/api/event/server/DedicatedServerSetupCallback.java
	modified:   fabric-events-lifecycle-v0/src/main/java/net/fabricmc/fabric/api/event/world/ChunksSavedCallback.java
	modified:   fabric-events-lifecycle-v0/src/main/java/net/fabricmc/fabric/api/event/world/EntityHurtCallback.java
	modified:   fabric-events-lifecycle-v0/src/main/java/net/fabricmc/fabric/api/event/world/EntityKilledCallback.java
	modified:   fabric-events-lifecycle-v0/src/main/java/net/fabricmc/fabric/api/event/world/ServerPlayerTickCallback.java
	modified:   fabric-events-lifecycle-v0/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/MixinDamageTracker.java
	new file:   fabric-events-lifecycle-v0/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/MixinDedicatedServer.java
	modified:   fabric-events-lifecycle-v0/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/MixinEntity.java
	modified:   fabric-events-lifecycle-v0/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/MixinIntegratedServer.java
	deleted:    fabric-events-lifecycle-v0/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/MixinMinecraftDedicatedServer.java
	modified:   fabric-events-lifecycle-v0/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/MixinServerPlayerEntity.java
	modified:   fabric-events-lifecycle-v0/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/MixinThreadedAnvilChunkStorage.java
	modified:   fabric-events-lifecycle-v0/src/main/resources/fabric-events-lifecycle-v0.mixins.json
	modified:   fabric-resource-loader-v0/src/main/java/net/fabricmc/fabric/mixin/resource/loader/MixinKeyedResourceReloadListener.java

* Bumped version

 Changes to be committed:
	modified:   build.gradle

* Re-applyed the checkstyle plugin

 Changes to be committed:
	modified:   build.gradle

* Annotated method, fixed mixin and renamed parameter

 Changes to be committed:
	modified:   fabric-content-registries-v1/src/main/java/net/fabricmc/fabric/mixin/content/registries/WorldMixin.java
	modified:   fabric-events-lifecycle-v0/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/MixinMinecraftClient.java

* PlayerJoinCallback -> PlayerConnectCallback

 Changes to be committed:
	renamed:    fabric-events-lifecycle-v0/src/main/java/net/fabricmc/fabric/api/event/server/PlayerJoinCallback.java -> fabric-events-lifecycle-v0/src/main/java/net/fabricmc/fabric/api/event/server/PlayerConnectCallback.java
	modified:   fabric-events-lifecycle-v0/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/MixinPlayerManager.java

* Added RegistryBlockAddedEvent and RegistryItemAddedEvent to content registries

 Changes to be committed:
	modified:   fabric-content-registries-v1/build.gradle
	modified:   fabric-content-registries-v1/src/main/java/net/fabricmc/fabric/api/content/registries/v1/BlockRegistry.java
	modified:   fabric-content-registries-v1/src/main/java/net/fabricmc/fabric/api/content/registries/v1/ItemRegistry.java
	new file:   fabric-content-registries-v1/src/main/java/net/fabricmc/fabric/api/event/registries/v1/RegistryBlockAddedCallback.java
	new file:   fabric-content-registries-v1/src/main/java/net/fabricmc/fabric/api/event/registries/v1/RegistryItemAddedCallback.java
@ghost
Copy link

ghost commented Oct 21, 2020

The latter part of this has definitely been addressed by the merge of #460 and FabricToolTags. The former I am uncertain about, but from poking around in the code I can no longer find any reference to natural dirt or natural stone or actually any reference of the words dirt or stone (except for redstone) inside of the Block and AbstractBlock making me believe that this is no longer a concern.

@FabricMC/fabric-triage in agreement?

@TelepathicGrunt
Copy link
Contributor

Feature's isSoil check is still hardcoded for vanilla dirt and is used for all trees, bamboo, forest rock feature, huge mushroom, ice spikes, and lakes.
Carvers do a chunk.getBlockState(mutable3).isOf(Blocks.DIRT) as well as a this.alwaysCarvableBlocks = which has dirt and stone.
The isStone is also used for the Forest Rock feature to know when to place the rocks.
And lastly, Buried Treasure structure will keep moving downward forever for modded blocks. It has a hardcoded check for a few vanilla stone blocks and sandstone.

These stuff still would benefit from a dirt and stone tag so people have less places to mixin into for worldgen. And doing a dirt/stone tag would also help intermod compat if they need to get a list of dirt-like or stone-like blocks

@i509VCB
Copy link
Contributor

i509VCB commented Dec 3, 2020

It would be nice if we could get a number on the amount of references to dirt and stone.

@Micalobia
Copy link

Obsidian, Respawn Anchors, and Lodestones are hardcoded as immovable too, despite there being a feature in the Block class that lets you do that. Making it a tag is fairly trivial

@Technici4n
Copy link
Member

Please open specific issues (or even better: PRs), one per issue, if they still exist.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

6 participants