Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
What's new
4
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Switch to GitLab Next
Sign in / Register
Toggle navigation
Menu
Open sidebar
EMC-Framework
EMC
Commits
72a20c17
Verified
Commit
72a20c17
authored
Mar 03, 2021
by
deftware
💤
Browse files
Fix custom block registration
parent
d3420642
Pipeline
#264849136
passed with stages
in 6 minutes and 15 seconds
Changes
4
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
src/main/java/me/deftware/mixin/mixins/game/MixinForgeRegistry.java
0 → 100644
View file @
72a20c17
package
me.deftware.mixin.mixins.game
;
import
me.deftware.mixin.shared.RegistryManagement
;
import
net.minecraftforge.registries.ForgeRegistry
;
import
net.minecraftforge.registries.IForgeRegistryEntry
;
import
org.spongepowered.asm.mixin.Mixin
;
import
org.spongepowered.asm.mixin.injection.At
;
import
org.spongepowered.asm.mixin.injection.Inject
;
import
org.spongepowered.asm.mixin.injection.callback.CallbackInfo
;
@Mixin
(
value
=
ForgeRegistry
.
class
,
remap
=
false
)
public
class
MixinForgeRegistry
<
V
extends
IForgeRegistryEntry
<
V
>>
{
@Inject
(
method
=
"register"
,
at
=
@At
(
"HEAD"
),
remap
=
false
)
private
void
register
(
V
value
,
CallbackInfo
ci
)
{
RegistryManagement
.
register
(
value
,
value
.
getRegistryName
());
}
}
src/main/java/me/deftware/mixin/mixins/game/MixinRegistry.java
View file @
72a20c17
package
me.deftware.mixin.mixins.game
;
import
me.deftware.client.framework.registry.BlockRegistry
;
import
me.deftware.client.framework.registry.ItemRegistry
;
import
net.minecraft.block.Block
;
import
net.minecraft.item.Item
;
import
me.deftware.mixin.shared.RegistryManagement
;
import
net.minecraft.util.ResourceLocation
;
import
net.minecraft.util.registry.Registry
;
import
org.spongepowered.asm.mixin.Mixin
;
...
...
@@ -16,11 +13,7 @@ public class MixinRegistry {
@Inject
(
method
=
"register(Lnet/minecraft/util/registry/Registry;Lnet/minecraft/util/ResourceLocation;Ljava/lang/Object;)Ljava/lang/Object;"
,
at
=
@At
(
"HEAD"
))
private
static
<
V
,
T
extends
V
>
void
register
(
Registry
<
V
>
registry
,
ResourceLocation
id
,
T
entry
,
CallbackInfoReturnable
<
T
>
cir
)
{
if
(
entry
instanceof
Block
)
{
BlockRegistry
.
INSTANCE
.
register
(
id
.
toString
(),
(
Block
)
entry
);
}
else
if
(
entry
instanceof
Item
)
{
ItemRegistry
.
INSTANCE
.
register
(
id
.
toString
(),
(
Item
)
entry
);
}
RegistryManagement
.
register
(
entry
,
id
);
}
}
src/main/java/me/deftware/mixin/shared/RegistryManagement.java
0 → 100644
View file @
72a20c17
package
me.deftware.mixin.shared
;
import
me.deftware.client.framework.registry.BlockRegistry
;
import
me.deftware.client.framework.registry.ItemRegistry
;
import
net.minecraft.block.Block
;
import
net.minecraft.item.Item
;
import
net.minecraft.util.ResourceLocation
;
public
class
RegistryManagement
{
public
static
<
T
>
void
register
(
T
entry
,
ResourceLocation
id
)
{
if
(
entry
instanceof
Block
)
{
BlockRegistry
.
INSTANCE
.
register
(
id
.
toString
(),
(
Block
)
entry
);
}
else
if
(
entry
instanceof
Item
)
{
ItemRegistry
.
INSTANCE
.
register
(
id
.
toString
(),
(
Item
)
entry
);
}
}
}
src/main/resources/mixins.emc.json
View file @
72a20c17
...
...
@@ -28,6 +28,7 @@
"game.MixinMinecraft"
,
"game.MixinSoundSystem"
,
"game.MixinTimer"
,
"game.MixinForgeRegistry"
,
"gui.MixinChatSuggestion"
,
"gui.MixinCreativeInventoryScreen"
,
"gui.MixinDebugHud"
,
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment